Advertisement
Guest User

Untitled

a guest
Jan 1st, 2024
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.73 KB | None | 0 0
  1. package fr.irisya.irisyamod.block;
  2.  
  3. import fr.irisya.irisyamod.container.FoundryContainer;
  4. import fr.irisya.irisyamod.tiles.FoundryTileEntity;
  5. import net.minecraft.block.Block;
  6. import net.minecraft.block.BlockState;
  7. import net.minecraft.entity.player.PlayerEntity;
  8. import net.minecraft.entity.player.ServerPlayerEntity;
  9. import net.minecraft.item.BlockItemUseContext;
  10. import net.minecraft.state.StateContainer;
  11. import net.minecraft.state.DirectionProperty;
  12. import net.minecraft.util.ActionResultType;
  13. import net.minecraft.util.Direction;
  14. import net.minecraft.util.Hand;
  15. import net.minecraft.world.World;
  16. import net.minecraftforge.fml.network.NetworkHooks;
  17. import net.minecraft.tileentity.TileEntity;
  18. import net.minecraft.util.math.BlockPos;
  19. import net.minecraft.util.text.TranslationTextComponent;
  20. import net.minecraft.util.text.ITextComponent;
  21. import net.minecraft.inventory.container.SimpleNamedContainerProvider;
  22.  
  23. public class FoundryBlock extends Block {
  24. public static final DirectionProperty FACING = DirectionProperty.create("facing", Direction.Plane.HORIZONTAL);
  25.  
  26. public FoundryBlock(Properties properties) {
  27. super(properties);
  28. this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH));
  29. }
  30.  
  31. @Override
  32. public BlockState getStateForPlacement(BlockItemUseContext context) {
  33. return this.defaultBlockState().setValue(FACING, context.getHorizontalDirection());
  34. }
  35.  
  36. @Override
  37. protected void createBlockStateDefinition(StateContainer.Builder<Block, BlockState> builder) {
  38. builder.add(FACING);
  39. }
  40.  
  41. @Override
  42. public ActionResultType use(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, net.minecraft.util.math.BlockRayTraceResult result) {
  43. System.out.println("1");
  44. if (!world.isClientSide) {
  45. System.out.println("2");
  46. if (player.distanceToSqr(pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5) <= 5.0) {
  47. System.out.println("3");
  48. TileEntity tileEntity = world.getBlockEntity(pos);
  49. System.out.println("4: " + tileEntity);
  50. if (tileEntity instanceof FoundryTileEntity) {
  51. System.out.println("5");
  52. NetworkHooks.openGui((ServerPlayerEntity) player, new SimpleNamedContainerProvider(
  53. (windowId, playerInventory, playerEntity) -> new FoundryContainer(windowId, playerInventory, tileEntity),
  54. getTitle()), pos);
  55. }
  56. }
  57. }
  58.  
  59. return ActionResultType.SUCCESS;
  60. }
  61.  
  62. private ITextComponent getTitle() {
  63. return new TranslationTextComponent("container.foundry");
  64. }
  65. }
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement