package now.nonsense; import net.fabricmc.fabric.api.creativetab.v1.CreativeModeTabEvents; import net.minecraft.core.Registry; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.resources.Identifier; import net.minecraft.resources.ResourceKey; import net.minecraft.world.item.CreativeModeTabs; import net.minecraft.world.item.Item; import java.util.function.Function; public class ModItems { public static final Item TEST_ITEM = register(create("test_item"), Item::new, new Item.Properties()); public static ResourceKey create(String name) { // Create the item key. return ResourceKey.create(Registries.ITEM, Identifier.fromNamespaceAndPath(TestMod.MOD_ID, name)); } public static Item register(ResourceKey itemKey, Function itemFactory, Item.Properties settings) { // Create the item instance. Item item = itemFactory.apply(settings.setId(itemKey)); // Register the item. Registry.register(BuiltInRegistries.ITEM, itemKey, item); return item; } public static void initialize(){ CreativeModeTabEvents.modifyOutputEvent(CreativeModeTabs.INGREDIENTS) .register((creativeTab) -> creativeTab.accept(ModItems.TEST_ITEM)); } }