From 2b2fbf0568c26514bfd328f3e7b7ac71c7a40937 Mon Sep 17 00:00:00 2001 From: angel Date: Fri, 23 Jan 2026 19:55:35 -0600 Subject: [PATCH] finished convertion to mojangmappings --- .../dev/sillyangel/nuggetmod/NuggetMod.java | 2 + .../nuggetmod/item/ModItemGroups.java | 62 ++++++++ .../nuggetmod/fabric/NuggetMod.java | 6 +- .../fabric/datagen/ModBlockTagProvider.java | 10 +- .../fabric/datagen/ModItemTagProvider.java | 8 +- .../fabric/datagen/ModLootTableProvider.java | 42 ++--- .../fabric/datagen/ModModelProvider.java | 47 +++--- .../fabric/datagen/ModRecipeProvider.java | 147 +++++++++--------- .../datagen/ModRegistryDataGenerator.java | 16 +- .../nuggetmod/fabric/item/ModItemGroups.java | 120 +++++++------- .../nuggetmod/neoforge/NuggetMod.java | 4 +- 11 files changed, 264 insertions(+), 200 deletions(-) create mode 100644 common/src/main/java/dev/sillyangel/nuggetmod/item/ModItemGroups.java diff --git a/common/src/main/java/dev/sillyangel/nuggetmod/NuggetMod.java b/common/src/main/java/dev/sillyangel/nuggetmod/NuggetMod.java index 74b3198..cca1a4c 100644 --- a/common/src/main/java/dev/sillyangel/nuggetmod/NuggetMod.java +++ b/common/src/main/java/dev/sillyangel/nuggetmod/NuggetMod.java @@ -1,6 +1,7 @@ package dev.sillyangel.nuggetmod; import dev.sillyangel.nuggetmod.block.ModBlocks; +import dev.sillyangel.nuggetmod.item.ModItemGroups; import dev.sillyangel.nuggetmod.item.ModItems; import dev.sillyangel.nuggetmod.sound.ModSounds; import org.slf4j.Logger; @@ -17,6 +18,7 @@ public final class NuggetMod { ModSounds.init(); ModItems.init(); ModBlocks.init(); + ModItemGroups.init(); LOGGER.info("Nugget Mod initialized"); } diff --git a/common/src/main/java/dev/sillyangel/nuggetmod/item/ModItemGroups.java b/common/src/main/java/dev/sillyangel/nuggetmod/item/ModItemGroups.java new file mode 100644 index 0000000..fab8063 --- /dev/null +++ b/common/src/main/java/dev/sillyangel/nuggetmod/item/ModItemGroups.java @@ -0,0 +1,62 @@ +package dev.sillyangel.nuggetmod.item; + +import dev.architectury.registry.registries.RegistrySupplier; +import dev.sillyangel.nuggetmod.NuggetMod; +import dev.sillyangel.nuggetmod.block.ModBlocks; +import dev.sillyangel.nuggetmod.item.ModItems; +import net.minecraft.world.item.ItemStack; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.Identifier; +import net.minecraft.world.item.CreativeModeTab; +//import net.neoforged.bus.api.IEventBus; +import dev.architectury.registry.registries.DeferredRegister; + + +import java.util.function.Supplier; + +public class ModItemGroups { + public static final DeferredRegister CREATIVE_MODE_TABS = + DeferredRegister.create(NuggetMod.MOD_ID, Registries.CREATIVE_MODE_TAB); + + public static final RegistrySupplier NUGGET_BLOCKS_GROUP = CREATIVE_MODE_TABS.register("nugget_blocks", + () -> new CreativeModeTab.Builder(CreativeModeTab.Row.TOP, -1) + .icon(() -> new ItemStack(ModBlocks.NUGGET_BLOCK.get())) + .title(Component.translatable("creativetab.nuggetmod.nugget_blocks")) + .displayItems((displayContext, entries) -> { + entries.accept(ModBlocks.NUGGET_BLOCK.get()); + entries.accept(ModBlocks.RAW_NUGGET_BLOCK.get()); + entries.accept(ModBlocks.NUGGET_ORE.get()); + entries.accept(ModBlocks.NUGGET_DEEPSLATE_ORE.get()); + }).build()); + + public static final RegistrySupplier NUGGET_ITEMS_GROUP = CREATIVE_MODE_TABS.register("nugget_items", + () -> new CreativeModeTab.Builder(CreativeModeTab.Row.TOP, -1) + .icon(() -> new ItemStack(ModItems.NUGGET.get())) + .title(Component.translatable("creativetab.nuggetmod.nugget_items")) + .displayItems((displayContext, entries) -> { + entries.accept(ModItems.NUGGET.get()); + entries.accept(ModItems.RAW_NUGGET.get()); + + entries.accept(ModItems.NUGGET_SWORD.get()); + entries.accept(ModItems.NUGGET_PICKAXE.get()); + entries.accept(ModItems.NUGGET_AXE.get()); + entries.accept(ModItems.NUGGET_SHOVEL.get()); + entries.accept(ModItems.NUGGET_HOE.get()); + entries.accept(ModItems.NUGGET_SPEAR.get()); + + entries.accept(ModItems.NUGGET_HELMET.get()); + entries.accept(ModItems.NUGGET_CHESTPLATE.get()); + entries.accept(ModItems.NUGGET_LEGGINGS.get()); + entries.accept(ModItems.NUGGET_BOOTS.get()); + + entries.accept(ModItems.NUGGET_HORSE_ARMOR.get()); + entries.accept(ModItems.NUGGET_SMITHING_TEMPLATE.get()); + entries.accept(ModItems.NUGGET_MUSIC_DISC.get()); + }).build()); + + public static void init() { + CREATIVE_MODE_TABS.register(); + } +} + diff --git a/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/NuggetMod.java b/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/NuggetMod.java index f183670..e889671 100644 --- a/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/NuggetMod.java +++ b/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/NuggetMod.java @@ -1,6 +1,6 @@ package dev.sillyangel.nuggetmod.fabric; -import dev.sillyangel.nuggetmod.fabric.item.ModItemGroups; +//import dev.sillyangel.nuggetmod.fabric.item.ModItemGroups; import dev.sillyangel.nuggetmod.fabric.particle.ModParticles; import dev.sillyangel.nuggetmod.fabric.villager.ModVillagers; import net.fabricmc.api.ModInitializer; @@ -33,7 +33,7 @@ public class NuggetMod implements ModInitializer { dev.sillyangel.nuggetmod.NuggetMod.init(); // Fabric-specific registrations - ModItemGroups.registerItemGroups(); +// ModItemGroups.registerItemGroups(); ModWorldGeneration.generateModWorldGen(); // IMPORTANT: Register villagers before trades @@ -68,7 +68,7 @@ public class NuggetMod implements ModInitializer { // Villager trades - Vanilla Farmer TradeOfferHelper.registerVillagerOffers(VillagerProfession.FARMER, 1, factories -> { - factories.add((world,entity, random) -> new TradeOffer( + factories.add((world,entity, random) -> new MerchantOffer( new ItemCost(Items.EMERALD, 3), new ItemStack(ModItems.NUGGET.get(), 8), 7, 2, 0.04f)); }); diff --git a/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModBlockTagProvider.java b/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModBlockTagProvider.java index 6c712aa..46a4d23 100644 --- a/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModBlockTagProvider.java +++ b/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModBlockTagProvider.java @@ -4,19 +4,19 @@ import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import dev.sillyangel.nuggetmod.block.ModBlocks; import dev.sillyangel.nuggetmod.util.ModTags; -import net.minecraft.registry.RegistryWrapper; -import net.minecraft.registry.tag.BlockTags; +import net.minecraft.core.HolderLookup; +import net.minecraft.tags.BlockTags; import java.util.concurrent.CompletableFuture; public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider { - public ModBlockTagProvider(FabricDataOutput output, CompletableFuture registriesFuture) { + public ModBlockTagProvider(FabricDataOutput output, CompletableFuture registriesFuture) { super(output, registriesFuture); } @Override - protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { - valueLookupBuilder(BlockTags.PICKAXE_MINEABLE) + protected void addTags(HolderLookup.Provider wrapperLookup) { + valueLookupBuilder(BlockTags.MINEABLE_WITH_PICKAXE) .add(ModBlocks.NUGGET_BLOCK.get()) .add(ModBlocks.RAW_NUGGET_BLOCK.get()) .add(ModBlocks.NUGGET_ORE.get()) diff --git a/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModItemTagProvider.java b/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModItemTagProvider.java index d3faf95..5b8c5b0 100644 --- a/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModItemTagProvider.java +++ b/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModItemTagProvider.java @@ -3,18 +3,18 @@ package dev.sillyangel.nuggetmod.fabric.datagen; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import dev.sillyangel.nuggetmod.item.ModItems; -import net.minecraft.registry.RegistryWrapper; -import net.minecraft.registry.tag.ItemTags; +import net.minecraft.core.HolderLookup; +import net.minecraft.tags.ItemTags; import java.util.concurrent.CompletableFuture; public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider { - public ModItemTagProvider(FabricDataOutput output, CompletableFuture completableFuture) { + public ModItemTagProvider(FabricDataOutput output, CompletableFuture completableFuture) { super(output, completableFuture); } @Override - protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { + protected void addTags(HolderLookup.Provider wrapperLookup) { valueLookupBuilder(ItemTags.SWORDS) .add(ModItems.NUGGET_SWORD.get()); valueLookupBuilder(ItemTags.PICKAXES) diff --git a/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModLootTableProvider.java b/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModLootTableProvider.java index 7e1de90..286b143 100644 --- a/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModLootTableProvider.java +++ b/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModLootTableProvider.java @@ -4,40 +4,40 @@ import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider; import dev.sillyangel.nuggetmod.block.ModBlocks; import dev.sillyangel.nuggetmod.item.ModItems; -import net.minecraft.block.Block; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.Enchantments; -import net.minecraft.item.Item; -import net.minecraft.loot.LootTable; -import net.minecraft.loot.entry.ItemEntry; -import net.minecraft.loot.entry.LeafEntry; -import net.minecraft.loot.function.ApplyBonusLootFunction; -import net.minecraft.loot.function.SetCountLootFunction; -import net.minecraft.loot.provider.number.UniformLootNumberProvider; -import net.minecraft.registry.RegistryKeys; -import net.minecraft.registry.RegistryWrapper; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.registries.Registries; +import net.minecraft.world.item.enchantment.Enchantments; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.item.enchantment.Enchantment; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.storage.loot.LootTable; +import net.minecraft.world.level.storage.loot.entries.LootItem; +import net.minecraft.world.level.storage.loot.entries.LootPoolSingletonContainer; +import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount; +import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator; +import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction; import java.util.concurrent.CompletableFuture; public class ModLootTableProvider extends FabricBlockLootTableProvider { - public ModLootTableProvider(FabricDataOutput dataOutput, CompletableFuture registryLookup) { + public ModLootTableProvider(FabricDataOutput dataOutput, CompletableFuture registryLookup) { super(dataOutput, registryLookup); } @Override public void generate() { - addDrop(ModBlocks.NUGGET_BLOCK.get()); - addDrop(ModBlocks.RAW_NUGGET_BLOCK.get()); + dropSelf(ModBlocks.NUGGET_BLOCK.get()); + dropSelf(ModBlocks.RAW_NUGGET_BLOCK.get()); - addDrop(ModBlocks.NUGGET_ORE.get(), oreDrops(ModBlocks.NUGGET_ORE.get(), ModItems.RAW_NUGGET.get())); - addDrop(ModBlocks.NUGGET_DEEPSLATE_ORE.get(), multipleOreDrops(ModBlocks.NUGGET_DEEPSLATE_ORE.get(), ModItems.RAW_NUGGET.get(), 2, 6)); + add(ModBlocks.NUGGET_ORE.get(), createOreDrop(ModBlocks.NUGGET_ORE.get(), ModItems.RAW_NUGGET.get())); + add(ModBlocks.NUGGET_DEEPSLATE_ORE.get(), multipleOreDrops(ModBlocks.NUGGET_DEEPSLATE_ORE.get(), ModItems.RAW_NUGGET.get(), 2, 6)); } public LootTable.Builder multipleOreDrops(Block drop, Item item, float minDrops, float maxDrops) { - RegistryWrapper.Impl impl = this.registries.getOrThrow(RegistryKeys.ENCHANTMENT); - return this.dropsWithSilkTouch(drop, this.applyExplosionDecay(drop, ((LeafEntry.Builder) - ItemEntry.builder(item).apply(SetCountLootFunction.builder(UniformLootNumberProvider.create(minDrops, maxDrops)))) - .apply(ApplyBonusLootFunction.oreDrops(impl.getOrThrow(Enchantments.FORTUNE))))); + HolderLookup.RegistryLookup impl = this.registries.lookupOrThrow(Registries.ENCHANTMENT); + return this.createSilkTouchDispatchTable(drop, this.applyExplosionDecay(drop, ((LootPoolSingletonContainer.Builder) + LootItem.lootTableItem(item).apply(SetItemCountFunction.setCount(UniformGenerator.between(minDrops, maxDrops)))) + .apply(ApplyBonusCount.addOreBonusCount(impl.getOrThrow(Enchantments.FORTUNE))))); } } diff --git a/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModModelProvider.java b/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModModelProvider.java index d345537..56f584d 100644 --- a/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModModelProvider.java +++ b/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModModelProvider.java @@ -5,7 +5,10 @@ import net.fabricmc.fabric.api.client.datagen.v1.provider.FabricModelProvider; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import dev.sillyangel.nuggetmod.block.ModBlocks; import dev.sillyangel.nuggetmod.item.ModItems; -import net.minecraft.client.data.*; +import net.minecraft.client.data.models.BlockModelGenerators; +import net.minecraft.client.data.models.ItemModelGenerators; +import net.minecraft.client.data.models.ModelProvider; +import net.minecraft.client.data.models.model.ModelTemplates; public class ModModelProvider extends FabricModelProvider { public ModModelProvider(FabricDataOutput output) { @@ -13,36 +16,36 @@ public class ModModelProvider extends FabricModelProvider { } // Blocks are generated here @Override - public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) { - blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.NUGGET_BLOCK.get()); - blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.RAW_NUGGET_BLOCK.get()); - blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.NUGGET_ORE.get()); - blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.NUGGET_DEEPSLATE_ORE.get()); + public void generateBlockStateModels(BlockModelGenerators blockStateModelGenerator) { + blockStateModelGenerator.createTrivialCube(ModBlocks.NUGGET_BLOCK.get()); + blockStateModelGenerator.createTrivialCube(ModBlocks.RAW_NUGGET_BLOCK.get()); + blockStateModelGenerator.createTrivialCube(ModBlocks.NUGGET_ORE.get()); + blockStateModelGenerator.createTrivialCube(ModBlocks.NUGGET_DEEPSLATE_ORE.get()); } // Items are generated here @Override - public void generateItemModels(ItemModelGenerator itemModelGenerator) { - itemModelGenerator.register(ModItems.NUGGET.get(), Models.GENERATED); - itemModelGenerator.register(ModItems.RAW_NUGGET.get(), Models.GENERATED); + public void generateItemModels(ItemModelGenerators itemModelGenerator) { + itemModelGenerator.generateFlatItem(ModItems.NUGGET.get(), ModelTemplates.FLAT_ITEM); + itemModelGenerator.generateFlatItem(ModItems.RAW_NUGGET.get(), ModelTemplates.FLAT_ITEM); - itemModelGenerator.register(ModItems.NUGGET_SWORD.get(), Models.HANDHELD); - itemModelGenerator.register(ModItems.NUGGET_PICKAXE.get(), Models.HANDHELD); - itemModelGenerator.register(ModItems.NUGGET_SHOVEL.get(), Models.HANDHELD); - itemModelGenerator.register(ModItems.NUGGET_AXE.get(), Models.HANDHELD); - itemModelGenerator.register(ModItems.NUGGET_HOE.get(), Models.HANDHELD); + itemModelGenerator.generateFlatItem(ModItems.NUGGET_SWORD.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + itemModelGenerator.generateFlatItem(ModItems.NUGGET_PICKAXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + itemModelGenerator.generateFlatItem(ModItems.NUGGET_SHOVEL.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + itemModelGenerator.generateFlatItem(ModItems.NUGGET_AXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); + itemModelGenerator.generateFlatItem(ModItems.NUGGET_HOE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); - itemModelGenerator.register(ModItems.NUGGET_SPEAR.get(), Models.SPEAR_IN_HAND); + itemModelGenerator.generateSpear(ModItems.NUGGET_SPEAR.get()); - itemModelGenerator.registerArmor(ModItems.NUGGET_HELMET.get(), ModArmorMaterials.NUGGET_KEY, ItemModelGenerator.HELMET_TRIM_ID_PREFIX, false); - itemModelGenerator.registerArmor(ModItems.NUGGET_CHESTPLATE.get(), ModArmorMaterials.NUGGET_KEY, ItemModelGenerator.CHESTPLATE_TRIM_ID_PREFIX, false); - itemModelGenerator.registerArmor(ModItems.NUGGET_LEGGINGS.get(), ModArmorMaterials.NUGGET_KEY, ItemModelGenerator.LEGGINGS_TRIM_ID_PREFIX, false); - itemModelGenerator.registerArmor(ModItems.NUGGET_BOOTS.get(), ModArmorMaterials.NUGGET_KEY, ItemModelGenerator.BOOTS_TRIM_ID_PREFIX, false); + itemModelGenerator.generateTrimmableItem(ModItems.NUGGET_HELMET.get(), ModArmorMaterials.NUGGET_EQUIPMENT_ASSET, ItemModelGenerators.TRIM_PREFIX_HELMET, false); + itemModelGenerator.generateTrimmableItem(ModItems.NUGGET_CHESTPLATE.get(), ModArmorMaterials.NUGGET_EQUIPMENT_ASSET, ItemModelGenerators.TRIM_PREFIX_CHESTPLATE, false); + itemModelGenerator.generateTrimmableItem(ModItems.NUGGET_LEGGINGS.get(), ModArmorMaterials.NUGGET_EQUIPMENT_ASSET, ItemModelGenerators.TRIM_PREFIX_LEGGINGS, false); + itemModelGenerator.generateTrimmableItem(ModItems.NUGGET_BOOTS.get(), ModArmorMaterials.NUGGET_EQUIPMENT_ASSET, ItemModelGenerators.TRIM_PREFIX_BOOTS, false); - itemModelGenerator.register(ModItems.NUGGET_HORSE_ARMOR.get(), Models.GENERATED); + itemModelGenerator.generateFlatItem(ModItems.NUGGET_HORSE_ARMOR.get(), ModelTemplates.FLAT_ITEM); - itemModelGenerator.register(ModItems.NUGGET_SMITHING_TEMPLATE.get(), Models.GENERATED); + itemModelGenerator.generateFlatItem(ModItems.NUGGET_SMITHING_TEMPLATE.get(), ModelTemplates.FLAT_ITEM); - itemModelGenerator.register(ModItems.NUGGET_MUSIC_DISC.get(), Models.GENERATED); + itemModelGenerator.generateFlatItem(ModItems.NUGGET_MUSIC_DISC.get(), ModelTemplates.MUSIC_DISC); } } diff --git a/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModRecipeProvider.java b/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModRecipeProvider.java index 7edfb83..029830f 100644 --- a/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModRecipeProvider.java +++ b/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModRecipeProvider.java @@ -2,143 +2,142 @@ package dev.sillyangel.nuggetmod.fabric.datagen; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; -import net.minecraft.item.Items; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceKey; +import net.minecraft.world.item.Items; import dev.sillyangel.nuggetmod.fabric.NuggetMod; import dev.sillyangel.nuggetmod.block.ModBlocks; import dev.sillyangel.nuggetmod.item.ModItems; import dev.sillyangel.nuggetmod.trim.ModTrimPatterns; -import net.minecraft.data.recipe.RecipeExporter; -import net.minecraft.data.recipe.RecipeGenerator; -import net.minecraft.item.ItemConvertible; -import net.minecraft.recipe.book.RecipeCategory; -import net.minecraft.registry.RegistryKey; -import net.minecraft.registry.RegistryKeys; -import net.minecraft.registry.RegistryWrapper; -import net.minecraft.util.Identifier; - +import net.minecraft.data.recipes.RecipeOutput; +import net.minecraft.data.recipes.RecipeProvider; +import net.minecraft.world.level.ItemLike; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.resources.Identifier; import java.util.List; import java.util.concurrent.CompletableFuture; public class ModRecipeProvider extends FabricRecipeProvider { - public ModRecipeProvider(FabricDataOutput output, CompletableFuture registriesFuture) { + public ModRecipeProvider(FabricDataOutput output, CompletableFuture registriesFuture) { super(output, registriesFuture); } @Override - protected RecipeGenerator getRecipeGenerator(RegistryWrapper.WrapperLookup wrapperLookup, RecipeExporter recipeExporter) { - return new RecipeGenerator(wrapperLookup, recipeExporter) { + protected RecipeProvider createRecipeProvider(HolderLookup.Provider wrapperLookup, RecipeOutput recipeExporter) { + return new RecipeProvider(wrapperLookup, recipeExporter) { @Override - public void generate() { - List NUGGET_SMELTABLES = List.of(ModItems.RAW_NUGGET.get(), ModBlocks.NUGGET_ORE.get(), + public void buildRecipes() { + List NUGGET_SMELTABLES = List.of(ModItems.RAW_NUGGET.get(), ModBlocks.NUGGET_ORE.get(), ModBlocks.NUGGET_DEEPSLATE_ORE.get()); - offerSmelting(NUGGET_SMELTABLES, RecipeCategory.MISC, ModItems.NUGGET.get(), 0.25f, 200, "nugget"); - offerBlasting(NUGGET_SMELTABLES, RecipeCategory.MISC, ModItems.NUGGET.get(), 0.25f, 100, "nugget"); + oreSmelting(NUGGET_SMELTABLES, RecipeCategory.MISC, ModItems.NUGGET.get(), 0.25f, 200, "nugget"); + oreBlasting(NUGGET_SMELTABLES, RecipeCategory.MISC, ModItems.NUGGET.get(), 0.25f, 100, "nugget"); - offerReversibleCompactingRecipes(RecipeCategory.BUILDING_BLOCKS, ModItems.NUGGET.get(), RecipeCategory.DECORATIONS, ModBlocks.NUGGET_BLOCK.get()); + nineBlockStorageRecipes(RecipeCategory.BUILDING_BLOCKS, ModItems.NUGGET.get(), RecipeCategory.DECORATIONS, ModBlocks.NUGGET_BLOCK.get()); // RAW_NUGGET_BLOCK - createShaped(RecipeCategory.MISC, ModBlocks.RAW_NUGGET_BLOCK.get()) + shaped(RecipeCategory.MISC, ModBlocks.RAW_NUGGET_BLOCK.get()) .pattern("RRR") .pattern("RRR") .pattern("RRR") - .input('R', ModItems.RAW_NUGGET.get()) - .criterion(hasItem(ModItems.RAW_NUGGET.get()), conditionsFromItem(ModItems.RAW_NUGGET.get())) - .offerTo(exporter); + .define('R', ModItems.RAW_NUGGET.get()) + .unlockedBy(getHasName(ModItems.RAW_NUGGET.get()), has(ModItems.RAW_NUGGET.get())) + .save(recipeExporter); - createShapeless(RecipeCategory.MISC, ModItems.RAW_NUGGET.get(), 9) - .input(ModBlocks.RAW_NUGGET_BLOCK.get()) - .criterion(hasItem(ModBlocks.RAW_NUGGET_BLOCK.get()), conditionsFromItem(ModBlocks.RAW_NUGGET_BLOCK.get())) - .offerTo(exporter); + shapeless(RecipeCategory.MISC, ModItems.RAW_NUGGET.get(), 9) + .requires(ModBlocks.RAW_NUGGET_BLOCK.get()) + .unlockedBy(getHasName(ModBlocks.RAW_NUGGET_BLOCK.get()), has(ModBlocks.RAW_NUGGET_BLOCK.get())) + .save(recipeExporter); // TOOLS - createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_SWORD.get()) + shaped(RecipeCategory.COMBAT, ModItems.NUGGET_SWORD.get()) .pattern(" N ") .pattern(" N ") .pattern(" S ") - .input('N', ModItems.NUGGET.get()) - .input('S', Items.STICK) - .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) - .offerTo(exporter); + .define('N', ModItems.NUGGET.get()) + .define('S', Items.STICK) + .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) + .save(recipeExporter); - createShaped(RecipeCategory.TOOLS, ModItems.NUGGET_PICKAXE.get()) + shaped(RecipeCategory.TOOLS, ModItems.NUGGET_PICKAXE.get()) .pattern("NNN") .pattern(" S ") .pattern(" S ") - .input('N', ModItems.NUGGET.get()) - .input('S', Items.STICK) - .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) - .offerTo(exporter); + .define('N', ModItems.NUGGET.get()) + .define('S', Items.STICK) + .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) + .save(recipeExporter); - createShaped(RecipeCategory.TOOLS, ModItems.NUGGET_AXE.get()) + shaped(RecipeCategory.TOOLS, ModItems.NUGGET_AXE.get()) .pattern(" NN") .pattern(" SN") .pattern(" S ") - .input('N', ModItems.NUGGET.get()) - .input('S', Items.STICK) - .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) - .offerTo(exporter); + .define('N', ModItems.NUGGET.get()) + .define('S', Items.STICK) + .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) + .save(recipeExporter); - createShaped(RecipeCategory.TOOLS, ModItems.NUGGET_SHOVEL.get()) + shaped(RecipeCategory.TOOLS, ModItems.NUGGET_SHOVEL.get()) .pattern(" N ") .pattern(" S ") .pattern(" S ") - .input('N', ModItems.NUGGET.get()) - .input('S', Items.STICK) - .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) - .offerTo(exporter); + .define('N', ModItems.NUGGET.get()) + .define('S', Items.STICK) + .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) + .save(recipeExporter); - createShaped(RecipeCategory.TOOLS, ModItems.NUGGET_HOE.get()) + shaped(RecipeCategory.TOOLS, ModItems.NUGGET_HOE.get()) .pattern(" NN") .pattern(" S ") .pattern(" S ") - .input('N', ModItems.NUGGET.get()) - .input('S', Items.STICK) - .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) - .offerTo(exporter); + .define('N', ModItems.NUGGET.get()) + .define('S', Items.STICK) + .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) + .save(recipeExporter); - createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_SPEAR.get()) + shaped(RecipeCategory.COMBAT, ModItems.NUGGET_SPEAR.get()) .pattern(" N") .pattern(" S ") .pattern("S ") - .input('N', ModItems.NUGGET.get()) - .input('S', Items.STICK) - .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) - .offerTo(exporter); + .define('N', ModItems.NUGGET.get()) + .define('S', Items.STICK) + .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) + .save(recipeExporter); // ARMOR - createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_HELMET.get()) + shaped(RecipeCategory.COMBAT, ModItems.NUGGET_HELMET.get()) .pattern("NNN") .pattern("N N") - .input('N', ModItems.NUGGET.get()) - .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) - .offerTo(exporter); + .define('N', ModItems.NUGGET.get()) + .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) + .save(recipeExporter); - createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_CHESTPLATE.get()) + shaped(RecipeCategory.COMBAT, ModItems.NUGGET_CHESTPLATE.get()) .pattern("N N") .pattern("NNN") .pattern("NNN") - .input('N', ModItems.NUGGET.get()) - .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) - .offerTo(exporter); + .define('N', ModItems.NUGGET.get()) + .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) + .save(recipeExporter); - createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_LEGGINGS.get()) + shaped(RecipeCategory.COMBAT, ModItems.NUGGET_LEGGINGS.get()) .pattern("NNN") .pattern("N N") .pattern("N N") - .input('N', ModItems.NUGGET.get()) - .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) - .offerTo(exporter); + .define('N', ModItems.NUGGET.get()) + .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) + .save(recipeExporter); - createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_BOOTS.get()) + shaped(RecipeCategory.COMBAT, ModItems.NUGGET_BOOTS.get()) .pattern("N N") .pattern("N N") - .input('N', ModItems.NUGGET.get()) - .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) - .offerTo(exporter); + .define('N', ModItems.NUGGET.get()) + .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) + .save(recipeExporter); - offerSmithingTrimRecipe(ModItems.NUGGET_SMITHING_TEMPLATE.get(), ModTrimPatterns.NUGGET, - RegistryKey.of(RegistryKeys.RECIPE, Identifier.of(NuggetMod.MOD_ID, "nugget_smithing_template"))); + trimSmithing(ModItems.NUGGET_SMITHING_TEMPLATE.get(), ModTrimPatterns.NUGGET, + ResourceKey.create(Registries.RECIPE, Identifier.fromNamespaceAndPath(NuggetMod.MOD_ID, "nugget_smithing_template"))); } }; } diff --git a/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModRegistryDataGenerator.java b/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModRegistryDataGenerator.java index e0a7e49..f752d96 100644 --- a/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModRegistryDataGenerator.java +++ b/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/datagen/ModRegistryDataGenerator.java @@ -2,22 +2,22 @@ package dev.sillyangel.nuggetmod.fabric.datagen; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricDynamicRegistryProvider; -import net.minecraft.registry.RegistryKeys; -import net.minecraft.registry.RegistryWrapper; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.registries.Registries; import java.util.concurrent.CompletableFuture; public class ModRegistryDataGenerator extends FabricDynamicRegistryProvider { - public ModRegistryDataGenerator(FabricDataOutput output, CompletableFuture registriesFuture) { + public ModRegistryDataGenerator(FabricDataOutput output, CompletableFuture registriesFuture) { super(output, registriesFuture); } @Override - protected void configure(RegistryWrapper.WrapperLookup registries, Entries entries) { - entries.addAll(registries.getOrThrow(RegistryKeys.TRIM_MATERIAL)); - entries.addAll(registries.getOrThrow(RegistryKeys.TRIM_PATTERN)); - entries.addAll(registries.getOrThrow(RegistryKeys.CONFIGURED_FEATURE)); - entries.addAll(registries.getOrThrow(RegistryKeys.PLACED_FEATURE)); + protected void configure(HolderLookup.Provider registries, Entries entries) { + entries.addAll(registries.lookupOrThrow(Registries.TRIM_MATERIAL)); + entries.addAll(registries.lookupOrThrow(Registries.TRIM_PATTERN)); + entries.addAll(registries.lookupOrThrow(Registries.CONFIGURED_FEATURE)); + entries.addAll(registries.lookupOrThrow(Registries.PLACED_FEATURE)); } @Override diff --git a/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/item/ModItemGroups.java b/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/item/ModItemGroups.java index ba9cb72..8d4d26f 100644 --- a/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/item/ModItemGroups.java +++ b/fabric/src/main/java/dev/sillyangel/nuggetmod/fabric/item/ModItemGroups.java @@ -1,61 +1,59 @@ -package dev.sillyangel.nuggetmod.fabric.item; - -import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; -import dev.sillyangel.nuggetmod.block.ModBlocks; -import dev.sillyangel.nuggetmod.item.ModItems; -import dev.sillyangel.nuggetmod.fabric.NuggetMod; -import net.minecraft.core.Registry; -import net.minecraft.core.registries.Registries; -import net.minecraft.item.ItemGroup; -import net.minecraft.world.item.CreativeModeTabs; -import net.minecraft.world.item.ItemStack; -import net.minecraft.network.chat.Component; -import net.minecraft.resources.Identifier; -import net.minecraft.world.item.CreativeModeTab; - -public class ModItemGroups { - - public static final CreativeModeTabs NUGGET_BLOCKS_GROUP = Registry.register(Registries.CREATIVE_MODE_TAB, - Identifier.fromNamespaceAndPath(NuggetMod.MOD_ID, "nugget_blocks"), - FabricItemGroup.builder().icon(() -> new ItemStack(ModBlocks.NUGGET_BLOCK.get())) - .title(Component.translatable("creativetab.nuggetmod.nugget_blocks")) - .displayItems((displayContext, entries) -> { - entries.accept(ModBlocks.NUGGET_BLOCK.get()); - entries.accept(ModBlocks.RAW_NUGGET_BLOCK.get()); - entries.accept(ModBlocks.NUGGET_ORE.get()); - entries.accept(ModBlocks.NUGGET_DEEPSLATE_ORE.get()); - }).build()); - - public static final CreativeModeTab NUGGET_ITEMS_GROUP = Registry.register(Registries.CREATIVE_MODE_TAB, - Identifier.fromNamespaceAndPath(NuggetMod.MOD_ID, "nugget_items"), - FabricItemGroup.builder().icon(() -> new ItemStack(ModItems.NUGGET.get())) - .title(Component.translatable("creativetab.nuggetmod.nugget_items")) - .displayItems((displayContext, entries) -> { - entries.accept(ModItems.NUGGET.get()); - entries.accept(ModItems.RAW_NUGGET.get()); - - // Tool Set - entries.accept(ModItems.NUGGET_SWORD.get()); - entries.accept(ModItems.NUGGET_PICKAXE.get()); - entries.accept(ModItems.NUGGET_AXE.get()); - entries.accept(ModItems.NUGGET_SHOVEL.get()); - entries.accept(ModItems.NUGGET_HOE.get()); - entries.accept(ModItems.NUGGET_SPEAR.get()); - - // Armor - entries.accept(ModItems.NUGGET_HELMET.get()); - entries.accept(ModItems.NUGGET_CHESTPLATE.get()); - entries.accept(ModItems.NUGGET_LEGGINGS.get()); - entries.accept(ModItems.NUGGET_BOOTS.get()); - - entries.accept(ModItems.NUGGET_HORSE_ARMOR.get()); - - entries.accept(ModItems.NUGGET_SMITHING_TEMPLATE.get()); - - entries.accept(ModItems.NUGGET_MUSIC_DISC.get()); - }).build()); - - public static void registerItemGroups() { - NuggetMod.LOGGER.info("Registering Item Groups for " + NuggetMod.MOD_ID); - } -} +//package dev.sillyangel.nuggetmod.fabric.item; +// +//import dev.sillyangel.nuggetmod.block.ModBlocks; +//import dev.sillyangel.nuggetmod.item.ModItems; +//import dev.sillyangel.nuggetmod.fabric.NuggetMod; +//import net.minecraft.core.Registry; +//import net.minecraft.core.registries.BuiltInRegistries; +//import net.minecraft.world.item.ItemStack; +//import net.minecraft.network.chat.Component; +//import net.minecraft.resources.Identifier; +//import net.minecraft.world.item.CreativeModeTab; +////import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; +// +//public class ModItemGroups { +// +// public static final CreativeModeTab NUGGET_BLOCKS_GROUP = Registry.register(BuiltInRegistries.CREATIVE_MODE_TAB, +// Identifier.fromNamespaceAndPath(NuggetMod.MOD_ID, "nugget_blocks"), +// FabricItemGroup.builder().icon(() -> new ItemStack(ModBlocks.NUGGET_BLOCK.get())) +// .title(Component.translatable("creativetab.nuggetmod.nugget_blocks")) +// .displayItems((displayContext, entries) -> { +// entries.accept(ModBlocks.NUGGET_BLOCK.get()); +// entries.accept(ModBlocks.RAW_NUGGET_BLOCK.get()); +// entries.accept(ModBlocks.NUGGET_ORE.get()); +// entries.accept(ModBlocks.NUGGET_DEEPSLATE_ORE.get()); +// }).build()); +// +// public static final CreativeModeTab NUGGET_ITEMS_GROUP = Registry.register(BuiltInRegistries.CREATIVE_MODE_TAB, +// Identifier.fromNamespaceAndPath(NuggetMod.MOD_ID, "nugget_items"), +// FabricItemGroup.builder().icon(() -> new ItemStack(ModItems.NUGGET.get())) +// .title(Component.translatable("creativetab.nuggetmod.nugget_items")) +// .displayItems((displayContext, entries) -> { +// entries.accept(ModItems.NUGGET.get()); +// entries.accept(ModItems.RAW_NUGGET.get()); +// +// // Tool Set +// entries.accept(ModItems.NUGGET_SWORD.get()); +// entries.accept(ModItems.NUGGET_PICKAXE.get()); +// entries.accept(ModItems.NUGGET_AXE.get()); +// entries.accept(ModItems.NUGGET_SHOVEL.get()); +// entries.accept(ModItems.NUGGET_HOE.get()); +// entries.accept(ModItems.NUGGET_SPEAR.get()); +// +// // Armor +// entries.accept(ModItems.NUGGET_HELMET.get()); +// entries.accept(ModItems.NUGGET_CHESTPLATE.get()); +// entries.accept(ModItems.NUGGET_LEGGINGS.get()); +// entries.accept(ModItems.NUGGET_BOOTS.get()); +// +// entries.accept(ModItems.NUGGET_HORSE_ARMOR.get()); +// +// entries.accept(ModItems.NUGGET_SMITHING_TEMPLATE.get()); +// +// entries.accept(ModItems.NUGGET_MUSIC_DISC.get()); +// }).build()); +// +// public static void registerItemGroups() { +// NuggetMod.LOGGER.info("Registering Item Groups for " + NuggetMod.MOD_ID); +// } +//} diff --git a/neoforge/src/main/java/dev/sillyangel/nuggetmod/neoforge/NuggetMod.java b/neoforge/src/main/java/dev/sillyangel/nuggetmod/neoforge/NuggetMod.java index 1a42c44..adc9744 100644 --- a/neoforge/src/main/java/dev/sillyangel/nuggetmod/neoforge/NuggetMod.java +++ b/neoforge/src/main/java/dev/sillyangel/nuggetmod/neoforge/NuggetMod.java @@ -1,6 +1,6 @@ package dev.sillyangel.nuggetmod.neoforge; -import dev.sillyangel.nuggetmod.neoforge.item.ModItemGroups; +//import dev.sillyangel.nuggetmod.neoforge.item.ModItemGroups; import dev.sillyangel.nuggetmod.neoforge.particle.ModParticles; import dev.sillyangel.nuggetmod.neoforge.villager.ModVillagers; import net.neoforged.bus.api.IEventBus; @@ -15,6 +15,6 @@ public final class NuggetMod { // Register NeoForge-specific features ModParticles.registerParticles(modEventBus); ModVillagers.registerVillagers(modEventBus); - ModItemGroups.registerItemGroups(modEventBus); +// ModItemGroups.registerItemGroups(modEventBus); } }