Compare commits

..

1 Commits

Author SHA1 Message Date
9630201d2b Merge branch 'master' into mojangmapping
Some checks failed
Build and Artifact / build (pull_request) Failing after 2m37s
2026-01-23 11:19:32 -06:00
11 changed files with 198 additions and 264 deletions

View File

@@ -1,7 +1,6 @@
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;
@@ -18,7 +17,6 @@ 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

@@ -1,62 +0,0 @@
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 MerchantOffer( factories.add((world,entity, random) -> new TradeOffer(
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.core.HolderLookup; import net.minecraft.registry.RegistryWrapper;
import net.minecraft.tags.BlockTags; import net.minecraft.registry.tag.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<HolderLookup.Provider> registriesFuture) { public ModBlockTagProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) {
super(output, registriesFuture); super(output, registriesFuture);
} }
@Override @Override
protected void addTags(HolderLookup.Provider wrapperLookup) { protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) {
valueLookupBuilder(BlockTags.MINEABLE_WITH_PICKAXE) valueLookupBuilder(BlockTags.PICKAXE_MINEABLE)
.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.core.HolderLookup; import net.minecraft.registry.RegistryWrapper;
import net.minecraft.tags.ItemTags; import net.minecraft.registry.tag.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<HolderLookup.Provider> completableFuture) { public ModItemTagProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> completableFuture) {
super(output, completableFuture); super(output, completableFuture);
} }
@Override @Override
protected void addTags(HolderLookup.Provider wrapperLookup) { protected void configure(RegistryWrapper.WrapperLookup 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.core.HolderLookup; import net.minecraft.block.Block;
import net.minecraft.core.registries.Registries; import net.minecraft.enchantment.Enchantment;
import net.minecraft.world.item.enchantment.Enchantments; import net.minecraft.enchantment.Enchantments;
import net.minecraft.world.level.block.Block; import net.minecraft.item.Item;
import net.minecraft.world.item.enchantment.Enchantment; import net.minecraft.loot.LootTable;
import net.minecraft.world.item.Item; import net.minecraft.loot.entry.ItemEntry;
import net.minecraft.world.level.storage.loot.LootTable; import net.minecraft.loot.entry.LeafEntry;
import net.minecraft.world.level.storage.loot.entries.LootItem; import net.minecraft.loot.function.ApplyBonusLootFunction;
import net.minecraft.world.level.storage.loot.entries.LootPoolSingletonContainer; import net.minecraft.loot.function.SetCountLootFunction;
import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount; import net.minecraft.loot.provider.number.UniformLootNumberProvider;
import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator; import net.minecraft.registry.RegistryKeys;
import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction; import net.minecraft.registry.RegistryWrapper;
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<HolderLookup.Provider> registryLookup) { public ModLootTableProvider(FabricDataOutput dataOutput, CompletableFuture<RegistryWrapper.WrapperLookup> registryLookup) {
super(dataOutput, registryLookup); super(dataOutput, registryLookup);
} }
@Override @Override
public void generate() { public void generate() {
dropSelf(ModBlocks.NUGGET_BLOCK.get()); addDrop(ModBlocks.NUGGET_BLOCK.get());
dropSelf(ModBlocks.RAW_NUGGET_BLOCK.get()); addDrop(ModBlocks.RAW_NUGGET_BLOCK.get());
add(ModBlocks.NUGGET_ORE.get(), createOreDrop(ModBlocks.NUGGET_ORE.get(), ModItems.RAW_NUGGET.get())); addDrop(ModBlocks.NUGGET_ORE.get(), oreDrops(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)); addDrop(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) {
HolderLookup.RegistryLookup<Enchantment> impl = this.registries.lookupOrThrow(Registries.ENCHANTMENT); RegistryWrapper.Impl<Enchantment> impl = this.registries.getOrThrow(RegistryKeys.ENCHANTMENT);
return this.createSilkTouchDispatchTable(drop, this.applyExplosionDecay(drop, ((LootPoolSingletonContainer.Builder<?>) return this.dropsWithSilkTouch(drop, this.applyExplosionDecay(drop, ((LeafEntry.Builder<?>)
LootItem.lootTableItem(item).apply(SetItemCountFunction.setCount(UniformGenerator.between(minDrops, maxDrops)))) ItemEntry.builder(item).apply(SetCountLootFunction.builder(UniformLootNumberProvider.create(minDrops, maxDrops))))
.apply(ApplyBonusCount.addOreBonusCount(impl.getOrThrow(Enchantments.FORTUNE))))); .apply(ApplyBonusLootFunction.oreDrops(impl.getOrThrow(Enchantments.FORTUNE)))));
} }
} }

View File

@@ -5,10 +5,7 @@ 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.models.BlockModelGenerators; import net.minecraft.client.data.*;
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) {
@@ -16,36 +13,36 @@ public class ModModelProvider extends FabricModelProvider {
} }
// Blocks are generated here // Blocks are generated here
@Override @Override
public void generateBlockStateModels(BlockModelGenerators blockStateModelGenerator) { public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) {
blockStateModelGenerator.createTrivialCube(ModBlocks.NUGGET_BLOCK.get()); blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.NUGGET_BLOCK.get());
blockStateModelGenerator.createTrivialCube(ModBlocks.RAW_NUGGET_BLOCK.get()); blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.RAW_NUGGET_BLOCK.get());
blockStateModelGenerator.createTrivialCube(ModBlocks.NUGGET_ORE.get()); blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.NUGGET_ORE.get());
blockStateModelGenerator.createTrivialCube(ModBlocks.NUGGET_DEEPSLATE_ORE.get()); blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.NUGGET_DEEPSLATE_ORE.get());
} }
// Items are generated here // Items are generated here
@Override @Override
public void generateItemModels(ItemModelGenerators itemModelGenerator) { public void generateItemModels(ItemModelGenerator itemModelGenerator) {
itemModelGenerator.generateFlatItem(ModItems.NUGGET.get(), ModelTemplates.FLAT_ITEM); itemModelGenerator.register(ModItems.NUGGET.get(), Models.GENERATED);
itemModelGenerator.generateFlatItem(ModItems.RAW_NUGGET.get(), ModelTemplates.FLAT_ITEM); itemModelGenerator.register(ModItems.RAW_NUGGET.get(), Models.GENERATED);
itemModelGenerator.generateFlatItem(ModItems.NUGGET_SWORD.get(), ModelTemplates.FLAT_HANDHELD_ITEM); itemModelGenerator.register(ModItems.NUGGET_SWORD.get(), Models.HANDHELD);
itemModelGenerator.generateFlatItem(ModItems.NUGGET_PICKAXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); itemModelGenerator.register(ModItems.NUGGET_PICKAXE.get(), Models.HANDHELD);
itemModelGenerator.generateFlatItem(ModItems.NUGGET_SHOVEL.get(), ModelTemplates.FLAT_HANDHELD_ITEM); itemModelGenerator.register(ModItems.NUGGET_SHOVEL.get(), Models.HANDHELD);
itemModelGenerator.generateFlatItem(ModItems.NUGGET_AXE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); itemModelGenerator.register(ModItems.NUGGET_AXE.get(), Models.HANDHELD);
itemModelGenerator.generateFlatItem(ModItems.NUGGET_HOE.get(), ModelTemplates.FLAT_HANDHELD_ITEM); itemModelGenerator.register(ModItems.NUGGET_HOE.get(), Models.HANDHELD);
itemModelGenerator.generateSpear(ModItems.NUGGET_SPEAR.get()); itemModelGenerator.register(ModItems.NUGGET_SPEAR.get(), Models.SPEAR_IN_HAND);
itemModelGenerator.generateTrimmableItem(ModItems.NUGGET_HELMET.get(), ModArmorMaterials.NUGGET_EQUIPMENT_ASSET, ItemModelGenerators.TRIM_PREFIX_HELMET, false); itemModelGenerator.registerArmor(ModItems.NUGGET_HELMET.get(), ModArmorMaterials.NUGGET_KEY, ItemModelGenerator.HELMET_TRIM_ID_PREFIX, false);
itemModelGenerator.generateTrimmableItem(ModItems.NUGGET_CHESTPLATE.get(), ModArmorMaterials.NUGGET_EQUIPMENT_ASSET, ItemModelGenerators.TRIM_PREFIX_CHESTPLATE, false); itemModelGenerator.registerArmor(ModItems.NUGGET_CHESTPLATE.get(), ModArmorMaterials.NUGGET_KEY, ItemModelGenerator.CHESTPLATE_TRIM_ID_PREFIX, false);
itemModelGenerator.generateTrimmableItem(ModItems.NUGGET_LEGGINGS.get(), ModArmorMaterials.NUGGET_EQUIPMENT_ASSET, ItemModelGenerators.TRIM_PREFIX_LEGGINGS, false); itemModelGenerator.registerArmor(ModItems.NUGGET_LEGGINGS.get(), ModArmorMaterials.NUGGET_KEY, ItemModelGenerator.LEGGINGS_TRIM_ID_PREFIX, false);
itemModelGenerator.generateTrimmableItem(ModItems.NUGGET_BOOTS.get(), ModArmorMaterials.NUGGET_EQUIPMENT_ASSET, ItemModelGenerators.TRIM_PREFIX_BOOTS, false); itemModelGenerator.registerArmor(ModItems.NUGGET_BOOTS.get(), ModArmorMaterials.NUGGET_KEY, ItemModelGenerator.BOOTS_TRIM_ID_PREFIX, false);
itemModelGenerator.generateFlatItem(ModItems.NUGGET_HORSE_ARMOR.get(), ModelTemplates.FLAT_ITEM); itemModelGenerator.register(ModItems.NUGGET_HORSE_ARMOR.get(), Models.GENERATED);
itemModelGenerator.generateFlatItem(ModItems.NUGGET_SMITHING_TEMPLATE.get(), ModelTemplates.FLAT_ITEM); itemModelGenerator.register(ModItems.NUGGET_SMITHING_TEMPLATE.get(), Models.GENERATED);
itemModelGenerator.generateFlatItem(ModItems.NUGGET_MUSIC_DISC.get(), ModelTemplates.MUSIC_DISC); itemModelGenerator.register(ModItems.NUGGET_MUSIC_DISC.get(), Models.GENERATED);
} }
} }

View File

@@ -2,142 +2,143 @@ 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.core.HolderLookup; import net.minecraft.item.Items;
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.recipes.RecipeOutput; import net.minecraft.data.recipe.RecipeExporter;
import net.minecraft.data.recipes.RecipeProvider; import net.minecraft.data.recipe.RecipeGenerator;
import net.minecraft.world.level.ItemLike; import net.minecraft.item.ItemConvertible;
import net.minecraft.data.recipes.RecipeCategory; import net.minecraft.recipe.book.RecipeCategory;
import net.minecraft.resources.Identifier; import net.minecraft.registry.RegistryKey;
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<HolderLookup.Provider> registriesFuture) { public ModRecipeProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) {
super(output, registriesFuture); super(output, registriesFuture);
} }
@Override @Override
protected RecipeProvider createRecipeProvider(HolderLookup.Provider wrapperLookup, RecipeOutput recipeExporter) { protected RecipeGenerator getRecipeGenerator(RegistryWrapper.WrapperLookup wrapperLookup, RecipeExporter recipeExporter) {
return new RecipeProvider(wrapperLookup, recipeExporter) { return new RecipeGenerator(wrapperLookup, recipeExporter) {
@Override @Override
public void buildRecipes() { public void generate() {
List<ItemLike> NUGGET_SMELTABLES = List.of(ModItems.RAW_NUGGET.get(), ModBlocks.NUGGET_ORE.get(), List<ItemConvertible> NUGGET_SMELTABLES = List.of(ModItems.RAW_NUGGET.get(), ModBlocks.NUGGET_ORE.get(),
ModBlocks.NUGGET_DEEPSLATE_ORE.get()); ModBlocks.NUGGET_DEEPSLATE_ORE.get());
oreSmelting(NUGGET_SMELTABLES, RecipeCategory.MISC, ModItems.NUGGET.get(), 0.25f, 200, "nugget"); offerSmelting(NUGGET_SMELTABLES, RecipeCategory.MISC, ModItems.NUGGET.get(), 0.25f, 200, "nugget");
oreBlasting(NUGGET_SMELTABLES, RecipeCategory.MISC, ModItems.NUGGET.get(), 0.25f, 100, "nugget"); offerBlasting(NUGGET_SMELTABLES, RecipeCategory.MISC, ModItems.NUGGET.get(), 0.25f, 100, "nugget");
nineBlockStorageRecipes(RecipeCategory.BUILDING_BLOCKS, ModItems.NUGGET.get(), RecipeCategory.DECORATIONS, ModBlocks.NUGGET_BLOCK.get()); offerReversibleCompactingRecipes(RecipeCategory.BUILDING_BLOCKS, ModItems.NUGGET.get(), RecipeCategory.DECORATIONS, ModBlocks.NUGGET_BLOCK.get());
// RAW_NUGGET_BLOCK // RAW_NUGGET_BLOCK
shaped(RecipeCategory.MISC, ModBlocks.RAW_NUGGET_BLOCK.get()) createShaped(RecipeCategory.MISC, ModBlocks.RAW_NUGGET_BLOCK.get())
.pattern("RRR") .pattern("RRR")
.pattern("RRR") .pattern("RRR")
.pattern("RRR") .pattern("RRR")
.define('R', ModItems.RAW_NUGGET.get()) .input('R', ModItems.RAW_NUGGET.get())
.unlockedBy(getHasName(ModItems.RAW_NUGGET.get()), has(ModItems.RAW_NUGGET.get())) .criterion(hasItem(ModItems.RAW_NUGGET.get()), conditionsFromItem(ModItems.RAW_NUGGET.get()))
.save(recipeExporter); .offerTo(exporter);
shapeless(RecipeCategory.MISC, ModItems.RAW_NUGGET.get(), 9) createShapeless(RecipeCategory.MISC, ModItems.RAW_NUGGET.get(), 9)
.requires(ModBlocks.RAW_NUGGET_BLOCK.get()) .input(ModBlocks.RAW_NUGGET_BLOCK.get())
.unlockedBy(getHasName(ModBlocks.RAW_NUGGET_BLOCK.get()), has(ModBlocks.RAW_NUGGET_BLOCK.get())) .criterion(hasItem(ModBlocks.RAW_NUGGET_BLOCK.get()), conditionsFromItem(ModBlocks.RAW_NUGGET_BLOCK.get()))
.save(recipeExporter); .offerTo(exporter);
// TOOLS // TOOLS
shaped(RecipeCategory.COMBAT, ModItems.NUGGET_SWORD.get()) createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_SWORD.get())
.pattern(" N ") .pattern(" N ")
.pattern(" N ") .pattern(" N ")
.pattern(" S ") .pattern(" S ")
.define('N', ModItems.NUGGET.get()) .input('N', ModItems.NUGGET.get())
.define('S', Items.STICK) .input('S', Items.STICK)
.unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get()))
.save(recipeExporter); .offerTo(exporter);
shaped(RecipeCategory.TOOLS, ModItems.NUGGET_PICKAXE.get()) createShaped(RecipeCategory.TOOLS, ModItems.NUGGET_PICKAXE.get())
.pattern("NNN") .pattern("NNN")
.pattern(" S ") .pattern(" S ")
.pattern(" S ") .pattern(" S ")
.define('N', ModItems.NUGGET.get()) .input('N', ModItems.NUGGET.get())
.define('S', Items.STICK) .input('S', Items.STICK)
.unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get()))
.save(recipeExporter); .offerTo(exporter);
shaped(RecipeCategory.TOOLS, ModItems.NUGGET_AXE.get()) createShaped(RecipeCategory.TOOLS, ModItems.NUGGET_AXE.get())
.pattern(" NN") .pattern(" NN")
.pattern(" SN") .pattern(" SN")
.pattern(" S ") .pattern(" S ")
.define('N', ModItems.NUGGET.get()) .input('N', ModItems.NUGGET.get())
.define('S', Items.STICK) .input('S', Items.STICK)
.unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get()))
.save(recipeExporter); .offerTo(exporter);
shaped(RecipeCategory.TOOLS, ModItems.NUGGET_SHOVEL.get()) createShaped(RecipeCategory.TOOLS, ModItems.NUGGET_SHOVEL.get())
.pattern(" N ") .pattern(" N ")
.pattern(" S ") .pattern(" S ")
.pattern(" S ") .pattern(" S ")
.define('N', ModItems.NUGGET.get()) .input('N', ModItems.NUGGET.get())
.define('S', Items.STICK) .input('S', Items.STICK)
.unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get()))
.save(recipeExporter); .offerTo(exporter);
shaped(RecipeCategory.TOOLS, ModItems.NUGGET_HOE.get()) createShaped(RecipeCategory.TOOLS, ModItems.NUGGET_HOE.get())
.pattern(" NN") .pattern(" NN")
.pattern(" S ") .pattern(" S ")
.pattern(" S ") .pattern(" S ")
.define('N', ModItems.NUGGET.get()) .input('N', ModItems.NUGGET.get())
.define('S', Items.STICK) .input('S', Items.STICK)
.unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get()))
.save(recipeExporter); .offerTo(exporter);
shaped(RecipeCategory.COMBAT, ModItems.NUGGET_SPEAR.get()) createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_SPEAR.get())
.pattern(" N") .pattern(" N")
.pattern(" S ") .pattern(" S ")
.pattern("S ") .pattern("S ")
.define('N', ModItems.NUGGET.get()) .input('N', ModItems.NUGGET.get())
.define('S', Items.STICK) .input('S', Items.STICK)
.unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get()))
.save(recipeExporter); .offerTo(exporter);
// ARMOR // ARMOR
shaped(RecipeCategory.COMBAT, ModItems.NUGGET_HELMET.get()) createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_HELMET.get())
.pattern("NNN") .pattern("NNN")
.pattern("N N") .pattern("N N")
.define('N', ModItems.NUGGET.get()) .input('N', ModItems.NUGGET.get())
.unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get()))
.save(recipeExporter); .offerTo(exporter);
shaped(RecipeCategory.COMBAT, ModItems.NUGGET_CHESTPLATE.get()) createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_CHESTPLATE.get())
.pattern("N N") .pattern("N N")
.pattern("NNN") .pattern("NNN")
.pattern("NNN") .pattern("NNN")
.define('N', ModItems.NUGGET.get()) .input('N', ModItems.NUGGET.get())
.unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get()))
.save(recipeExporter); .offerTo(exporter);
shaped(RecipeCategory.COMBAT, ModItems.NUGGET_LEGGINGS.get()) createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_LEGGINGS.get())
.pattern("NNN") .pattern("NNN")
.pattern("N N") .pattern("N N")
.pattern("N N") .pattern("N N")
.define('N', ModItems.NUGGET.get()) .input('N', ModItems.NUGGET.get())
.unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get()))
.save(recipeExporter); .offerTo(exporter);
shaped(RecipeCategory.COMBAT, ModItems.NUGGET_BOOTS.get()) createShaped(RecipeCategory.COMBAT, ModItems.NUGGET_BOOTS.get())
.pattern("N N") .pattern("N N")
.pattern("N N") .pattern("N N")
.define('N', ModItems.NUGGET.get()) .input('N', ModItems.NUGGET.get())
.unlockedBy(getHasName(ModItems.NUGGET.get()), has(ModItems.NUGGET.get())) .criterion(hasItem(ModItems.NUGGET.get()), conditionsFromItem(ModItems.NUGGET.get()))
.save(recipeExporter); .offerTo(exporter);
trimSmithing(ModItems.NUGGET_SMITHING_TEMPLATE.get(), ModTrimPatterns.NUGGET, offerSmithingTrimRecipe(ModItems.NUGGET_SMITHING_TEMPLATE.get(), ModTrimPatterns.NUGGET,
ResourceKey.create(Registries.RECIPE, Identifier.fromNamespaceAndPath(NuggetMod.MOD_ID, "nugget_smithing_template"))); RegistryKey.of(RegistryKeys.RECIPE, Identifier.of(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.core.HolderLookup; import net.minecraft.registry.RegistryKeys;
import net.minecraft.core.registries.Registries; import net.minecraft.registry.RegistryWrapper;
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<HolderLookup.Provider> registriesFuture) { public ModRegistryDataGenerator(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) {
super(output, registriesFuture); super(output, registriesFuture);
} }
@Override @Override
protected void configure(HolderLookup.Provider registries, Entries entries) { protected void configure(RegistryWrapper.WrapperLookup registries, Entries entries) {
entries.addAll(registries.lookupOrThrow(Registries.TRIM_MATERIAL)); entries.addAll(registries.getOrThrow(RegistryKeys.TRIM_MATERIAL));
entries.addAll(registries.lookupOrThrow(Registries.TRIM_PATTERN)); entries.addAll(registries.getOrThrow(RegistryKeys.TRIM_PATTERN));
entries.addAll(registries.lookupOrThrow(Registries.CONFIGURED_FEATURE)); entries.addAll(registries.getOrThrow(RegistryKeys.CONFIGURED_FEATURE));
entries.addAll(registries.lookupOrThrow(Registries.PLACED_FEATURE)); entries.addAll(registries.getOrThrow(RegistryKeys.PLACED_FEATURE));
} }
@Override @Override

View File

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