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;
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");
}

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;
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));
});

View File

@@ -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<RegistryWrapper.WrapperLookup> registriesFuture) {
public ModBlockTagProvider(FabricDataOutput output, CompletableFuture<HolderLookup.Provider> 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())

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.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<RegistryWrapper.WrapperLookup> completableFuture) {
public ModItemTagProvider(FabricDataOutput output, CompletableFuture<HolderLookup.Provider> 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)

View File

@@ -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<RegistryWrapper.WrapperLookup> registryLookup) {
public ModLootTableProvider(FabricDataOutput dataOutput, CompletableFuture<HolderLookup.Provider> 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<Enchantment> 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<Enchantment> 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)))));
}
}

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 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);
}
}

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.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<RegistryWrapper.WrapperLookup> registriesFuture) {
public ModRecipeProvider(FabricDataOutput output, CompletableFuture<HolderLookup.Provider> 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<ItemConvertible> NUGGET_SMELTABLES = List.of(ModItems.RAW_NUGGET.get(), ModBlocks.NUGGET_ORE.get(),
public void buildRecipes() {
List<ItemLike> 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")));
}
};
}

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.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<RegistryWrapper.WrapperLookup> registriesFuture) {
public ModRegistryDataGenerator(FabricDataOutput output, CompletableFuture<HolderLookup.Provider> 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

View File

@@ -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);
// }
//}

View File

@@ -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);
}
}