Jump to content

PermskyKit

Members
  • Posts

    12
  • Joined

  • Last visited

Everything posted by PermskyKit

  1. Ahem, I'm sorry, I did a bit reworking of the mod structure, here's how the block is registered: package com.PermskyKit.TrueRopesMod.block; import com.PermskyKit.TrueRopesMod.TrueRopesMod; import com.PermskyKit.TrueRopesMod.item.ModItemGroup; import com.PermskyKit.TrueRopesMod.item.ModItems; import com.google.common.base.Supplier; import net.minecraft.block.AbstractBlock; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraftforge.common.ToolType; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; public class ModBlocks { public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, TrueRopesMod.MOD_ID); public static final RegistryObject<Block> ROPE_BLOCK = registerBlock("rope_block", () -> new Block(AbstractBlock.Properties.of(Material.GRASS).harvestLevel(2).harvestTool(ToolType.PICKAXE))); private static <T extends Block>RegistryObject<T> registerBlock(String name, Supplier<T> block) { RegistryObject<T> toReturn = BLOCKS.register(name, block); registerBlockItem(name, toReturn); return toReturn; } private static <T extends Block> void registerBlockItem(String name, RegistryObject<T> block) { ModItems.ITEMS.register(name, () -> new BlockItem(block.get(), new Item.Properties().tab(ModItemGroup.TRUEROPESMOD))); } public static void register(IEventBus eventBus) { BLOCKS.register(eventBus); } }
  2. Should it be a piece of code or a separate class? I don't know, since I'm just starting to learn Java and was writing this code from a tutorial.
  3. I'm sorry, for some reason I overlooked this question.. Class path: TrueRopesMod/src/main/java/core.init/BlockInit Code: package core.init; import com.PermskyKit.TrueRopesMod.TrueRopesMod; import net.minecraft.block.Block; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; import net.minecraft.block.material.MaterialColor; import net.minecraft.block.AbstractBlock; import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; public class BlockInit { public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, TrueRopesMod.MOD_ID); public static final RegistryObject<Block> ROPE_BLOCK = BLOCKS.register("rope_block", () -> new Block(AbstractBlock.Properties.of(Material.GRASS, MaterialColor.TERRACOTTA_BROWN) .strength((float) 0.4) .sound(SoundType.CROP))); }
  4. Yes, because with func_220053_a Eclipse gives an error and suggests removing @Override.
  5. Yes, I did it and was able to change the code, now it looks like this: package com.PermskyKit.TrueRopesMod.blocks; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.shapes.ISelectionContext; import net.minecraft.util.math.shapes.VoxelShape; import net.minecraft.world.IBlockReader; public class RopeBlock extends Block{ public RopeBlock(Properties properties) { super(properties); } private static final VoxelShape PART_1 = Block.box(6.0, 0.0, 6.0, 10.0, 16.0, 10.0); @Override public VoxelShape getShape(BlockState state, IBlockReader block, BlockPos pos, ISelectionContext context) { return PART_1; } } But alas, the usual full block hitbox remains in the game...
  6. BlockGetter and CollisionContext do not work in version 1.16.5. Do you know how they were designated in this version?
  7. Thanks a lot, I was not aware of this Eclipse feature. But even this method did not help, I am tormented by the question, maybe there should be some additional files besides "BlockInit", or the path to this "RopeBlock" file should be different. I've already tried many variations of the code and .. Maybe I just don't know something else about Eclipse or the file structure.
  8. package com.PermskyKit.TrueRopesMod.block; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.shapes.ISelectionContext; import net.minecraft.util.math.shapes.VoxelShape; import net.minecraft.world.IBlockReader; public class RopeBlock extends Block{ public RopeBlock(Properties p_i48440_1_) { super(p_i48440_1_); } @Override public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) { VoxelShape shape = Block.box(6, 0, 6, 10, 16, 10); return shape; } } Unfortunately it didn't help. Now my code looks like this, but the problem persists.
  9. Where exactly should I write this?
  10. Hi. I have a big question. I created a small block in the game, but I can't adjust the size of its hitbox in any way, and no errors are generated. I am attaching a screenshot and block code, I really hope for help. package com.PermskyKit.TrueRopesMod.block; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.shapes.ISelectionContext; import net.minecraft.util.math.shapes.VoxelShape; import net.minecraft.world.IBlockReader; public class RopeBlock extends Block{ public RopeBlock(Properties p_i48440_1_) { super(p_i48440_1_); } public VoxelShape func_220053_a(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) { VoxelShape shape = Block.box(6, 0, 6, 10, 16, 10); return shape; } } Screenshot
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.