Posted August 23, 20214 yr Hi there, I've just recently started getting into modding and thought I'd try to add a custom block to the game. When I was trying to set the properties for said block, I am unable to specify the .harvestTool() or the .harvestLevel() properties, they seem to simply not exist for me as they do not appear in the Tab list when entering a full-stop. Could anyone have a look at my code and see where I'm going wrong? I'm using the official 1.17.1 mappings: package com.thebeefbai.testmod.block; import com.thebeefbai.testmod.TestMod; import com.thebeefbai.testmod.item.ModItemGroup; import com.thebeefbai.testmod.item.ModItems; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; import net.minecraft.world.item.PickaxeItem; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.material.Material; import net.minecraft.world.level.material.MaterialColor; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fmllegacy.RegistryObject; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import java.util.function.Supplier; public class ModBlocks { public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, TestMod.MOD_ID); public static final RegistryObject<Block> SUPERSTARBLOCK = registerBlock("superstarblock", () -> new Block(BlockBehaviour.Properties.of(Material.STONE, MaterialColor.COLOR_YELLOW).strength(1.0f, 1.0f))); 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.TEST_GROUP))); } public static void register(IEventBus eventBus) { BLOCKS.register(eventBus); } }
August 23, 20214 yr Author There's a screenshot of my Intellisense window for reference. The options are sorted in alphabetical order and there's no reference to .harvestTool or .harvestLevel()
August 23, 20214 yr Have a look at vanilla usage: requiresCorrectToolForDrops() Also check this out https://forums.minecraftforge.net/search/?&q=require tool&type=forums_topic&search_and_or=or&sortby=relevancy you need to add them to the block tags. @Luis_ST explained a lot in these posts...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.