finished convertion to mojangmappings
All checks were successful
Build and Artifact / build (pull_request) Successful in 3m45s

This commit is contained in:
2026-01-23 19:55:35 -06:00
parent fc81b81683
commit 2b2fbf0568
11 changed files with 264 additions and 200 deletions

View File

@@ -1,6 +1,7 @@
package dev.sillyangel.nuggetmod; package dev.sillyangel.nuggetmod;
import dev.sillyangel.nuggetmod.block.ModBlocks; import dev.sillyangel.nuggetmod.block.ModBlocks;
import dev.sillyangel.nuggetmod.item.ModItemGroups;
import dev.sillyangel.nuggetmod.item.ModItems; import dev.sillyangel.nuggetmod.item.ModItems;
import dev.sillyangel.nuggetmod.sound.ModSounds; import dev.sillyangel.nuggetmod.sound.ModSounds;
import org.slf4j.Logger; import org.slf4j.Logger;
@@ -17,6 +18,7 @@ public final class NuggetMod {
ModSounds.init(); ModSounds.init();
ModItems.init(); ModItems.init();
ModBlocks.init(); ModBlocks.init();
ModItemGroups.init();
LOGGER.info("Nugget Mod initialized"); LOGGER.info("Nugget Mod initialized");
} }

View File

@@ -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<CreativeModeTab> CREATIVE_MODE_TABS =
DeferredRegister.create(NuggetMod.MOD_ID, Registries.CREATIVE_MODE_TAB);
public static final RegistrySupplier<CreativeModeTab> 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<CreativeModeTab> 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();
}
}

View File

@@ -1,6 +1,6 @@
package dev.sillyangel.nuggetmod.fabric; 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.particle.ModParticles;
import dev.sillyangel.nuggetmod.fabric.villager.ModVillagers; import dev.sillyangel.nuggetmod.fabric.villager.ModVillagers;
import net.fabricmc.api.ModInitializer; import net.fabricmc.api.ModInitializer;
@@ -33,7 +33,7 @@ public class NuggetMod implements ModInitializer {
dev.sillyangel.nuggetmod.NuggetMod.init(); dev.sillyangel.nuggetmod.NuggetMod.init();
// Fabric-specific registrations // Fabric-specific registrations
ModItemGroups.registerItemGroups(); // ModItemGroups.registerItemGroups();
ModWorldGeneration.generateModWorldGen(); ModWorldGeneration.generateModWorldGen();
// IMPORTANT: Register villagers before trades // IMPORTANT: Register villagers before trades
@@ -68,7 +68,7 @@ public class NuggetMod implements ModInitializer {
// Villager trades - Vanilla Farmer // Villager trades - Vanilla Farmer
TradeOfferHelper.registerVillagerOffers(VillagerProfession.FARMER, 1, factories -> { 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 ItemCost(Items.EMERALD, 3),
new ItemStack(ModItems.NUGGET.get(), 8), 7, 2, 0.04f)); new ItemStack(ModItems.NUGGET.get(), 8), 7, 2, 0.04f));
}); });

View File

@@ -4,19 +4,19 @@ import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
import dev.sillyangel.nuggetmod.block.ModBlocks; import dev.sillyangel.nuggetmod.block.ModBlocks;
import dev.sillyangel.nuggetmod.util.ModTags; import dev.sillyangel.nuggetmod.util.ModTags;
import net.minecraft.registry.RegistryWrapper; import net.minecraft.core.HolderLookup;
import net.minecraft.registry.tag.BlockTags; import net.minecraft.tags.BlockTags;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider { public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider {
public ModBlockTagProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) { public ModBlockTagProvider(FabricDataOutput output, CompletableFuture<HolderLookup.Provider> registriesFuture) {
super(output, registriesFuture); super(output, registriesFuture);
} }
@Override @Override
protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { protected void addTags(HolderLookup.Provider wrapperLookup) {
valueLookupBuilder(BlockTags.PICKAXE_MINEABLE) valueLookupBuilder(BlockTags.MINEABLE_WITH_PICKAXE)
.add(ModBlocks.NUGGET_BLOCK.get()) .add(ModBlocks.NUGGET_BLOCK.get())
.add(ModBlocks.RAW_NUGGET_BLOCK.get()) .add(ModBlocks.RAW_NUGGET_BLOCK.get())
.add(ModBlocks.NUGGET_ORE.get()) .add(ModBlocks.NUGGET_ORE.get())

View File

@@ -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.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
import dev.sillyangel.nuggetmod.item.ModItems; import dev.sillyangel.nuggetmod.item.ModItems;
import net.minecraft.registry.RegistryWrapper; import net.minecraft.core.HolderLookup;
import net.minecraft.registry.tag.ItemTags; import net.minecraft.tags.ItemTags;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider { public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider {
public ModItemTagProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> completableFuture) { public ModItemTagProvider(FabricDataOutput output, CompletableFuture<HolderLookup.Provider> completableFuture) {
super(output, completableFuture); super(output, completableFuture);
} }
@Override @Override
protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { protected void addTags(HolderLookup.Provider wrapperLookup) {
valueLookupBuilder(ItemTags.SWORDS) valueLookupBuilder(ItemTags.SWORDS)
.add(ModItems.NUGGET_SWORD.get()); .add(ModItems.NUGGET_SWORD.get());
valueLookupBuilder(ItemTags.PICKAXES) valueLookupBuilder(ItemTags.PICKAXES)

View File

@@ -4,40 +4,40 @@ import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider;
import dev.sillyangel.nuggetmod.block.ModBlocks; import dev.sillyangel.nuggetmod.block.ModBlocks;
import dev.sillyangel.nuggetmod.item.ModItems; import dev.sillyangel.nuggetmod.item.ModItems;
import net.minecraft.block.Block; import net.minecraft.core.HolderLookup;
import net.minecraft.enchantment.Enchantment; import net.minecraft.core.registries.Registries;
import net.minecraft.enchantment.Enchantments; import net.minecraft.world.item.enchantment.Enchantments;
import net.minecraft.item.Item; import net.minecraft.world.level.block.Block;
import net.minecraft.loot.LootTable; import net.minecraft.world.item.enchantment.Enchantment;
import net.minecraft.loot.entry.ItemEntry; import net.minecraft.world.item.Item;
import net.minecraft.loot.entry.LeafEntry; import net.minecraft.world.level.storage.loot.LootTable;
import net.minecraft.loot.function.ApplyBonusLootFunction; import net.minecraft.world.level.storage.loot.entries.LootItem;
import net.minecraft.loot.function.SetCountLootFunction; import net.minecraft.world.level.storage.loot.entries.LootPoolSingletonContainer;
import net.minecraft.loot.provider.number.UniformLootNumberProvider; import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount;
import net.minecraft.registry.RegistryKeys; import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator;
import net.minecraft.registry.RegistryWrapper; import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
public class ModLootTableProvider extends FabricBlockLootTableProvider { public class ModLootTableProvider extends FabricBlockLootTableProvider {
public ModLootTableProvider(FabricDataOutput dataOutput, CompletableFuture<RegistryWrapper.WrapperLookup> registryLookup) { public ModLootTableProvider(FabricDataOutput dataOutput, CompletableFuture<HolderLookup.Provider> registryLookup) {
super(dataOutput, registryLookup); super(dataOutput, registryLookup);
} }
@Override @Override
public void generate() { public void generate() {
addDrop(ModBlocks.NUGGET_BLOCK.get()); dropSelf(ModBlocks.NUGGET_BLOCK.get());
addDrop(ModBlocks.RAW_NUGGET_BLOCK.get()); dropSelf(ModBlocks.RAW_NUGGET_BLOCK.get());
addDrop(ModBlocks.NUGGET_ORE.get(), oreDrops(ModBlocks.NUGGET_ORE.get(), ModItems.RAW_NUGGET.get())); add(ModBlocks.NUGGET_ORE.get(), createOreDrop(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_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) { public LootTable.Builder multipleOreDrops(Block drop, Item item, float minDrops, float maxDrops) {
RegistryWrapper.Impl<Enchantment> impl = this.registries.getOrThrow(RegistryKeys.ENCHANTMENT); HolderLookup.RegistryLookup<Enchantment> impl = this.registries.lookupOrThrow(Registries.ENCHANTMENT);
return this.dropsWithSilkTouch(drop, this.applyExplosionDecay(drop, ((LeafEntry.Builder<?>) return this.createSilkTouchDispatchTable(drop, this.applyExplosionDecay(drop, ((LootPoolSingletonContainer.Builder<?>)
ItemEntry.builder(item).apply(SetCountLootFunction.builder(UniformLootNumberProvider.create(minDrops, maxDrops)))) LootItem.lootTableItem(item).apply(SetItemCountFunction.setCount(UniformGenerator.between(minDrops, maxDrops))))
.apply(ApplyBonusLootFunction.oreDrops(impl.getOrThrow(Enchantments.FORTUNE))))); .apply(ApplyBonusCount.addOreBonusCount(impl.getOrThrow(Enchantments.FORTUNE)))));
} }
} }

View File

@@ -5,7 +5,10 @@ import net.fabricmc.fabric.api.client.datagen.v1.provider.FabricModelProvider;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import dev.sillyangel.nuggetmod.block.ModBlocks; import dev.sillyangel.nuggetmod.block.ModBlocks;
import dev.sillyangel.nuggetmod.item.ModItems; 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 class ModModelProvider extends FabricModelProvider {
public ModModelProvider(FabricDataOutput output) { public ModModelProvider(FabricDataOutput output) {
@@ -13,36 +16,36 @@ public class ModModelProvider extends FabricModelProvider {
} }
// Blocks are generated here // Blocks are generated here
@Override @Override
public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) { public void generateBlockStateModels(BlockModelGenerators blockStateModelGenerator) {
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.NUGGET_BLOCK.get()); blockStateModelGenerator.createTrivialCube(ModBlocks.NUGGET_BLOCK.get());
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.RAW_NUGGET_BLOCK.get()); blockStateModelGenerator.createTrivialCube(ModBlocks.RAW_NUGGET_BLOCK.get());
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.NUGGET_ORE.get()); blockStateModelGenerator.createTrivialCube(ModBlocks.NUGGET_ORE.get());
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.NUGGET_DEEPSLATE_ORE.get()); blockStateModelGenerator.createTrivialCube(ModBlocks.NUGGET_DEEPSLATE_ORE.get());
} }
// Items are generated here // Items are generated here
@Override @Override
public void generateItemModels(ItemModelGenerator itemModelGenerator) { public void generateItemModels(ItemModelGenerators itemModelGenerator) {
itemModelGenerator.register(ModItems.NUGGET.get(), Models.GENERATED); itemModelGenerator.generateFlatItem(ModItems.NUGGET.get(), ModelTemplates.FLAT_ITEM);
itemModelGenerator.register(ModItems.RAW_NUGGET.get(), Models.GENERATED); itemModelGenerator.generateFlatItem(ModItems.RAW_NUGGET.get(), ModelTemplates.FLAT_ITEM);
itemModelGenerator.register(ModItems.NUGGET_SWORD.get(), Models.HANDHELD); itemModelGenerator.generateFlatItem(ModItems.NUGGET_SWORD.get(), ModelTemplates.FLAT_HANDHELD_ITEM);
itemModelGenerator.register(ModItems.NUGGET_PICKAXE.get(), Models.HANDHELD); itemModelGenerator.generateFlatItem(ModItems.NUGGET_PICKAXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM);
itemModelGenerator.register(ModItems.NUGGET_SHOVEL.get(), Models.HANDHELD); itemModelGenerator.generateFlatItem(ModItems.NUGGET_SHOVEL.get(), ModelTemplates.FLAT_HANDHELD_ITEM);
itemModelGenerator.register(ModItems.NUGGET_AXE.get(), Models.HANDHELD); itemModelGenerator.generateFlatItem(ModItems.NUGGET_AXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM);
itemModelGenerator.register(ModItems.NUGGET_HOE.get(), Models.HANDHELD); 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.generateTrimmableItem(ModItems.NUGGET_HELMET.get(), ModArmorMaterials.NUGGET_EQUIPMENT_ASSET, ItemModelGenerators.TRIM_PREFIX_HELMET, false);
itemModelGenerator.registerArmor(ModItems.NUGGET_CHESTPLATE.get(), ModArmorMaterials.NUGGET_KEY, ItemModelGenerator.CHESTPLATE_TRIM_ID_PREFIX, false); itemModelGenerator.generateTrimmableItem(ModItems.NUGGET_CHESTPLATE.get(), ModArmorMaterials.NUGGET_EQUIPMENT_ASSET, ItemModelGenerators.TRIM_PREFIX_CHESTPLATE, false);
itemModelGenerator.registerArmor(ModItems.NUGGET_LEGGINGS.get(), ModArmorMaterials.NUGGET_KEY, ItemModelGenerator.LEGGINGS_TRIM_ID_PREFIX, false); itemModelGenerator.generateTrimmableItem(ModItems.NUGGET_LEGGINGS.get(), ModArmorMaterials.NUGGET_EQUIPMENT_ASSET, ItemModelGenerators.TRIM_PREFIX_LEGGINGS, false);
itemModelGenerator.registerArmor(ModItems.NUGGET_BOOTS.get(), ModArmorMaterials.NUGGET_KEY, ItemModelGenerator.BOOTS_TRIM_ID_PREFIX, 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);
} }
} }

View File

@@ -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.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; 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.fabric.NuggetMod;
import dev.sillyangel.nuggetmod.block.ModBlocks; import dev.sillyangel.nuggetmod.block.ModBlocks;
import dev.sillyangel.nuggetmod.item.ModItems; import dev.sillyangel.nuggetmod.item.ModItems;
import dev.sillyangel.nuggetmod.trim.ModTrimPatterns; import dev.sillyangel.nuggetmod.trim.ModTrimPatterns;
import net.minecraft.data.recipe.RecipeExporter; import net.minecraft.data.recipes.RecipeOutput;
import net.minecraft.data.recipe.RecipeGenerator; import net.minecraft.data.recipes.RecipeProvider;
import net.minecraft.item.ItemConvertible; import net.minecraft.world.level.ItemLike;
import net.minecraft.recipe.book.RecipeCategory; import net.minecraft.data.recipes.RecipeCategory;
import net.minecraft.registry.RegistryKey; import net.minecraft.resources.Identifier;
import net.minecraft.registry.RegistryKeys;
import net.minecraft.registry.RegistryWrapper;
import net.minecraft.util.Identifier;
import java.util.List; import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
public class ModRecipeProvider extends FabricRecipeProvider { public class ModRecipeProvider extends FabricRecipeProvider {
public ModRecipeProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) { public ModRecipeProvider(FabricDataOutput output, CompletableFuture<HolderLookup.Provider> registriesFuture) {
super(output, registriesFuture); super(output, registriesFuture);
} }
@Override @Override
protected RecipeGenerator getRecipeGenerator(RegistryWrapper.WrapperLookup wrapperLookup, RecipeExporter recipeExporter) { protected RecipeProvider createRecipeProvider(HolderLookup.Provider wrapperLookup, RecipeOutput recipeExporter) {
return new RecipeGenerator(wrapperLookup, recipeExporter) { return new RecipeProvider(wrapperLookup, recipeExporter) {
@Override @Override
public void generate() { public void buildRecipes() {
List<ItemConvertible> NUGGET_SMELTABLES = List.of(ModItems.RAW_NUGGET.get(), ModBlocks.NUGGET_ORE.get(), List<ItemLike> NUGGET_SMELTABLES = List.of(ModItems.RAW_NUGGET.get(), ModBlocks.NUGGET_ORE.get(),
ModBlocks.NUGGET_DEEPSLATE_ORE.get()); ModBlocks.NUGGET_DEEPSLATE_ORE.get());
offerSmelting(NUGGET_SMELTABLES, RecipeCategory.MISC, ModItems.NUGGET.get(), 0.25f, 200, "nugget"); oreSmelting(NUGGET_SMELTABLES, RecipeCategory.MISC, ModItems.NUGGET.get(), 0.25f, 200, "nugget");
offerBlasting(NUGGET_SMELTABLES, RecipeCategory.MISC, ModItems.NUGGET.get(), 0.25f, 100, "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 // 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") .pattern("RRR")
.pattern("RRR") .pattern("RRR")
.input('R', ModItems.RAW_NUGGET.get()) .define('R', ModItems.RAW_NUGGET.get())
.criterion(hasItem(ModItems.RAW_NUGGET.get()), conditionsFromItem(ModItems.RAW_NUGGET.get())) .unlockedBy(getHasName(ModItems.RAW_NUGGET.get()), has(ModItems.RAW_NUGGET.get()))
.offerTo(exporter); .save(recipeExporter);
createShapeless(RecipeCategory.MISC, ModItems.RAW_NUGGET.get(), 9) shapeless(RecipeCategory.MISC, ModItems.RAW_NUGGET.get(), 9)
.input(ModBlocks.RAW_NUGGET_BLOCK.get()) .requires(ModBlocks.RAW_NUGGET_BLOCK.get())
.criterion(hasItem(ModBlocks.RAW_NUGGET_BLOCK.get()), conditionsFromItem(ModBlocks.RAW_NUGGET_BLOCK.get())) .unlockedBy(getHasName(ModBlocks.RAW_NUGGET_BLOCK.get()), has(ModBlocks.RAW_NUGGET_BLOCK.get()))
.offerTo(exporter); .save(recipeExporter);
// TOOLS // TOOLS
createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_SWORD.get()) shaped(RecipeCategory.COMBAT, ModItems.NUGGET_SWORD.get())
.pattern(" N ") .pattern(" N ")
.pattern(" N ") .pattern(" N ")
.pattern(" S ") .pattern(" S ")
.input('N', ModItems.NUGGET.get()) .define('N', ModItems.NUGGET.get())
.input('S', Items.STICK) .define('S', Items.STICK)
.criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get()))
.offerTo(exporter); .save(recipeExporter);
createShaped(RecipeCategory.TOOLS, ModItems.NUGGET_PICKAXE.get()) shaped(RecipeCategory.TOOLS, ModItems.NUGGET_PICKAXE.get())
.pattern("NNN") .pattern("NNN")
.pattern(" S ") .pattern(" S ")
.pattern(" S ") .pattern(" S ")
.input('N', ModItems.NUGGET.get()) .define('N', ModItems.NUGGET.get())
.input('S', Items.STICK) .define('S', Items.STICK)
.criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get()))
.offerTo(exporter); .save(recipeExporter);
createShaped(RecipeCategory.TOOLS, ModItems.NUGGET_AXE.get()) shaped(RecipeCategory.TOOLS, ModItems.NUGGET_AXE.get())
.pattern(" NN") .pattern(" NN")
.pattern(" SN") .pattern(" SN")
.pattern(" S ") .pattern(" S ")
.input('N', ModItems.NUGGET.get()) .define('N', ModItems.NUGGET.get())
.input('S', Items.STICK) .define('S', Items.STICK)
.criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get()))
.offerTo(exporter); .save(recipeExporter);
createShaped(RecipeCategory.TOOLS, ModItems.NUGGET_SHOVEL.get()) shaped(RecipeCategory.TOOLS, ModItems.NUGGET_SHOVEL.get())
.pattern(" N ") .pattern(" N ")
.pattern(" S ") .pattern(" S ")
.pattern(" S ") .pattern(" S ")
.input('N', ModItems.NUGGET.get()) .define('N', ModItems.NUGGET.get())
.input('S', Items.STICK) .define('S', Items.STICK)
.criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get()))
.offerTo(exporter); .save(recipeExporter);
createShaped(RecipeCategory.TOOLS, ModItems.NUGGET_HOE.get()) shaped(RecipeCategory.TOOLS, ModItems.NUGGET_HOE.get())
.pattern(" NN") .pattern(" NN")
.pattern(" S ") .pattern(" S ")
.pattern(" S ") .pattern(" S ")
.input('N', ModItems.NUGGET.get()) .define('N', ModItems.NUGGET.get())
.input('S', Items.STICK) .define('S', Items.STICK)
.criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get()))
.offerTo(exporter); .save(recipeExporter);
createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_SPEAR.get()) shaped(RecipeCategory.COMBAT, ModItems.NUGGET_SPEAR.get())
.pattern(" N") .pattern(" N")
.pattern(" S ") .pattern(" S ")
.pattern("S ") .pattern("S ")
.input('N', ModItems.NUGGET.get()) .define('N', ModItems.NUGGET.get())
.input('S', Items.STICK) .define('S', Items.STICK)
.criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get()))
.offerTo(exporter); .save(recipeExporter);
// ARMOR // ARMOR
createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_HELMET.get()) shaped(RecipeCategory.COMBAT, ModItems.NUGGET_HELMET.get())
.pattern("NNN") .pattern("NNN")
.pattern("N N") .pattern("N N")
.input('N', ModItems.NUGGET.get()) .define('N', ModItems.NUGGET.get())
.criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get()))
.offerTo(exporter); .save(recipeExporter);
createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_CHESTPLATE.get()) shaped(RecipeCategory.COMBAT, ModItems.NUGGET_CHESTPLATE.get())
.pattern("N N") .pattern("N N")
.pattern("NNN") .pattern("NNN")
.pattern("NNN") .pattern("NNN")
.input('N', ModItems.NUGGET.get()) .define('N', ModItems.NUGGET.get())
.criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get()))
.offerTo(exporter); .save(recipeExporter);
createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_LEGGINGS.get()) shaped(RecipeCategory.COMBAT, ModItems.NUGGET_LEGGINGS.get())
.pattern("NNN") .pattern("NNN")
.pattern("N N") .pattern("N N")
.pattern("N N") .pattern("N N")
.input('N', ModItems.NUGGET.get()) .define('N', ModItems.NUGGET.get())
.criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get()))
.offerTo(exporter); .save(recipeExporter);
createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_BOOTS.get()) shaped(RecipeCategory.COMBAT, ModItems.NUGGET_BOOTS.get())
.pattern("N N") .pattern("N N")
.pattern("N N") .pattern("N N")
.input('N', ModItems.NUGGET.get()) .define('N', ModItems.NUGGET.get())
.criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get())) .unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get()))
.offerTo(exporter); .save(recipeExporter);
offerSmithingTrimRecipe(ModItems.NUGGET_SMITHING_TEMPLATE.get(), ModTrimPatterns.NUGGET, trimSmithing(ModItems.NUGGET_SMITHING_TEMPLATE.get(), ModTrimPatterns.NUGGET,
RegistryKey.of(RegistryKeys.RECIPE, Identifier.of(NuggetMod.MOD_ID, "nugget_smithing_template"))); ResourceKey.create(Registries.RECIPE, Identifier.fromNamespaceAndPath(NuggetMod.MOD_ID, "nugget_smithing_template")));
} }
}; };
} }

View File

@@ -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.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricDynamicRegistryProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricDynamicRegistryProvider;
import net.minecraft.registry.RegistryKeys; import net.minecraft.core.HolderLookup;
import net.minecraft.registry.RegistryWrapper; import net.minecraft.core.registries.Registries;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
public class ModRegistryDataGenerator extends FabricDynamicRegistryProvider { public class ModRegistryDataGenerator extends FabricDynamicRegistryProvider {
public ModRegistryDataGenerator(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) { public ModRegistryDataGenerator(FabricDataOutput output, CompletableFuture<HolderLookup.Provider> registriesFuture) {
super(output, registriesFuture); super(output, registriesFuture);
} }
@Override @Override
protected void configure(RegistryWrapper.WrapperLookup registries, Entries entries) { protected void configure(HolderLookup.Provider registries, Entries entries) {
entries.addAll(registries.getOrThrow(RegistryKeys.TRIM_MATERIAL)); entries.addAll(registries.lookupOrThrow(Registries.TRIM_MATERIAL));
entries.addAll(registries.getOrThrow(RegistryKeys.TRIM_PATTERN)); entries.addAll(registries.lookupOrThrow(Registries.TRIM_PATTERN));
entries.addAll(registries.getOrThrow(RegistryKeys.CONFIGURED_FEATURE)); entries.addAll(registries.lookupOrThrow(Registries.CONFIGURED_FEATURE));
entries.addAll(registries.getOrThrow(RegistryKeys.PLACED_FEATURE)); entries.addAll(registries.lookupOrThrow(Registries.PLACED_FEATURE));
} }
@Override @Override

View File

@@ -1,61 +1,59 @@
package dev.sillyangel.nuggetmod.fabric.item; //package dev.sillyangel.nuggetmod.fabric.item;
//
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; //import dev.sillyangel.nuggetmod.block.ModBlocks;
import dev.sillyangel.nuggetmod.block.ModBlocks; //import dev.sillyangel.nuggetmod.item.ModItems;
import dev.sillyangel.nuggetmod.item.ModItems; //import dev.sillyangel.nuggetmod.fabric.NuggetMod;
import dev.sillyangel.nuggetmod.fabric.NuggetMod; //import net.minecraft.core.Registry;
import net.minecraft.core.Registry; //import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries; //import net.minecraft.world.item.ItemStack;
import net.minecraft.item.ItemGroup; //import net.minecraft.network.chat.Component;
import net.minecraft.world.item.CreativeModeTabs; //import net.minecraft.resources.Identifier;
import net.minecraft.world.item.ItemStack; //import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.network.chat.Component; ////import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
import net.minecraft.resources.Identifier; //
import net.minecraft.world.item.CreativeModeTab; //public class ModItemGroups {
//
public class ModItemGroups { // public static final CreativeModeTab NUGGET_BLOCKS_GROUP = Registry.register(BuiltInRegistries.CREATIVE_MODE_TAB,
// Identifier.fromNamespaceAndPath(NuggetMod.MOD_ID, "nugget_blocks"),
public static final CreativeModeTabs NUGGET_BLOCKS_GROUP = Registry.register(Registries.CREATIVE_MODE_TAB, // FabricItemGroup.builder().icon(() -> new ItemStack(ModBlocks.NUGGET_BLOCK.get()))
Identifier.fromNamespaceAndPath(NuggetMod.MOD_ID, "nugget_blocks"), // .title(Component.translatable("creativetab.nuggetmod.nugget_blocks"))
FabricItemGroup.builder().icon(() -> new ItemStack(ModBlocks.NUGGET_BLOCK.get())) // .displayItems((displayContext, entries) -> {
.title(Component.translatable("creativetab.nuggetmod.nugget_blocks")) // entries.accept(ModBlocks.NUGGET_BLOCK.get());
.displayItems((displayContext, entries) -> { // entries.accept(ModBlocks.RAW_NUGGET_BLOCK.get());
entries.accept(ModBlocks.NUGGET_BLOCK.get()); // entries.accept(ModBlocks.NUGGET_ORE.get());
entries.accept(ModBlocks.RAW_NUGGET_BLOCK.get()); // entries.accept(ModBlocks.NUGGET_DEEPSLATE_ORE.get());
entries.accept(ModBlocks.NUGGET_ORE.get()); // }).build());
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"),
public static final CreativeModeTab NUGGET_ITEMS_GROUP = Registry.register(Registries.CREATIVE_MODE_TAB, // FabricItemGroup.builder().icon(() -> new ItemStack(ModItems.NUGGET.get()))
Identifier.fromNamespaceAndPath(NuggetMod.MOD_ID, "nugget_items"), // .title(Component.translatable("creativetab.nuggetmod.nugget_items"))
FabricItemGroup.builder().icon(() -> new ItemStack(ModItems.NUGGET.get())) // .displayItems((displayContext, entries) -> {
.title(Component.translatable("creativetab.nuggetmod.nugget_items")) // entries.accept(ModItems.NUGGET.get());
.displayItems((displayContext, entries) -> { // entries.accept(ModItems.RAW_NUGGET.get());
entries.accept(ModItems.NUGGET.get()); //
entries.accept(ModItems.RAW_NUGGET.get()); // // Tool Set
// entries.accept(ModItems.NUGGET_SWORD.get());
// Tool Set // entries.accept(ModItems.NUGGET_PICKAXE.get());
entries.accept(ModItems.NUGGET_SWORD.get()); // entries.accept(ModItems.NUGGET_AXE.get());
entries.accept(ModItems.NUGGET_PICKAXE.get()); // entries.accept(ModItems.NUGGET_SHOVEL.get());
entries.accept(ModItems.NUGGET_AXE.get()); // entries.accept(ModItems.NUGGET_HOE.get());
entries.accept(ModItems.NUGGET_SHOVEL.get()); // entries.accept(ModItems.NUGGET_SPEAR.get());
entries.accept(ModItems.NUGGET_HOE.get()); //
entries.accept(ModItems.NUGGET_SPEAR.get()); // // Armor
// entries.accept(ModItems.NUGGET_HELMET.get());
// Armor // entries.accept(ModItems.NUGGET_CHESTPLATE.get());
entries.accept(ModItems.NUGGET_HELMET.get()); // entries.accept(ModItems.NUGGET_LEGGINGS.get());
entries.accept(ModItems.NUGGET_CHESTPLATE.get()); // entries.accept(ModItems.NUGGET_BOOTS.get());
entries.accept(ModItems.NUGGET_LEGGINGS.get()); //
entries.accept(ModItems.NUGGET_BOOTS.get()); // entries.accept(ModItems.NUGGET_HORSE_ARMOR.get());
//
entries.accept(ModItems.NUGGET_HORSE_ARMOR.get()); // entries.accept(ModItems.NUGGET_SMITHING_TEMPLATE.get());
//
entries.accept(ModItems.NUGGET_SMITHING_TEMPLATE.get()); // entries.accept(ModItems.NUGGET_MUSIC_DISC.get());
// }).build());
entries.accept(ModItems.NUGGET_MUSIC_DISC.get()); //
}).build()); // public static void registerItemGroups() {
// NuggetMod.LOGGER.info("Registering Item Groups for " + NuggetMod.MOD_ID);
public static void registerItemGroups() { // }
NuggetMod.LOGGER.info("Registering Item Groups for " + NuggetMod.MOD_ID); //}
}
}

View File

@@ -1,6 +1,6 @@
package dev.sillyangel.nuggetmod.neoforge; 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.particle.ModParticles;
import dev.sillyangel.nuggetmod.neoforge.villager.ModVillagers; import dev.sillyangel.nuggetmod.neoforge.villager.ModVillagers;
import net.neoforged.bus.api.IEventBus; import net.neoforged.bus.api.IEventBus;
@@ -15,6 +15,6 @@ public final class NuggetMod {
// Register NeoForge-specific features // Register NeoForge-specific features
ModParticles.registerParticles(modEventBus); ModParticles.registerParticles(modEventBus);
ModVillagers.registerVillagers(modEventBus); ModVillagers.registerVillagers(modEventBus);
ModItemGroups.registerItemGroups(modEventBus); // ModItemGroups.registerItemGroups(modEventBus);
} }
} }