diff --git a/src/main/generated/.cache/428b67c24bc96c260e3d1e871d12dde59015e21d b/src/main/generated/.cache/428b67c24bc96c260e3d1e871d12dde59015e21d new file mode 100644 index 0000000..8ceb272 --- /dev/null +++ b/src/main/generated/.cache/428b67c24bc96c260e3d1e871d12dde59015e21d @@ -0,0 +1,2 @@ +// 1.20.1 2026-10-21T20:42:12.229997076 frangipane/Block Loot Tables +94ae4ae5b42e18f05571aa5faf36cf24050c907c data/frangipane/loot_tables/blocks/mossy_brick.json diff --git a/src/main/generated/.cache/533b7a1c9927881331585dcee217c286ccd109fa b/src/main/generated/.cache/533b7a1c9927881331585dcee217c286ccd109fa new file mode 100644 index 0000000..ac70050 --- /dev/null +++ b/src/main/generated/.cache/533b7a1c9927881331585dcee217c286ccd109fa @@ -0,0 +1 @@ +// 1.20.1 2026-10-21T20:42:12.229948493 frangipane/Tags for minecraft:item diff --git a/src/main/generated/.cache/87921bbcb1d5427b39eadd3a895a97eee1458d6c b/src/main/generated/.cache/87921bbcb1d5427b39eadd3a895a97eee1458d6c new file mode 100644 index 0000000..2080260 --- /dev/null +++ b/src/main/generated/.cache/87921bbcb1d5427b39eadd3a895a97eee1458d6c @@ -0,0 +1,3 @@ +// 1.20.1 2026-10-21T20:42:12.229862428 frangipane/Tags for minecraft:block +06e672f4362ad6a85ac16ce830c01ee9dd5eeca9 data/minecraft/tags/blocks/needs_stone_tool.json +06e672f4362ad6a85ac16ce830c01ee9dd5eeca9 data/minecraft/tags/blocks/mineable/pickaxe.json diff --git a/src/main/generated/.cache/b3fafe050b15e808ead2c4bcce7419fa03260861 b/src/main/generated/.cache/b3fafe050b15e808ead2c4bcce7419fa03260861 new file mode 100644 index 0000000..53db2f4 --- /dev/null +++ b/src/main/generated/.cache/b3fafe050b15e808ead2c4bcce7419fa03260861 @@ -0,0 +1,3 @@ +// 1.20.1 2026-10-21T20:42:12.229272852 frangipane/Recipes +5cdce09496967a71175fe1d1d950cbe8e59510f5 data/frangipane/advancements/recipes/misc/deep_steel_ingot_from_nugget.json +b4ae5fda62d1bb6a6d1c2b234df557c6914d0db9 data/frangipane/recipes/deep_steel_ingot_from_nugget.json diff --git a/src/main/generated/.cache/d628ade8ff26c4551807e8b052d15f13a4b29192 b/src/main/generated/.cache/d628ade8ff26c4551807e8b052d15f13a4b29192 new file mode 100644 index 0000000..0f70209 --- /dev/null +++ b/src/main/generated/.cache/d628ade8ff26c4551807e8b052d15f13a4b29192 @@ -0,0 +1,6 @@ +// 1.20.1 2026-10-21T20:42:12.229682404 frangipane/Model Definitions +2c3fb20732d4c633e0b7fab10d30f18b0722aa76 assets/frangipane/models/item/deep_steel_ingot.json +1d35caaa2ce4b6e02c3f5b25b7ae55ae08d8ba2e assets/frangipane/blockstates/mossy_brick.json +496e3cc377b06d60fd6f61f9d2a90d30a6766fa2 assets/frangipane/models/item/mossy_brick.json +d49a1bf9216d59760e4b7c781f30b3356415cda5 assets/frangipane/models/block/mossy_brick.json +5f0c424c1ba9c0890df5d71e0ca0e743dce99d3c assets/frangipane/models/item/deep_steel_nugget.json diff --git a/src/main/generated/assets/frangipane/blockstates/mossy_brick.json b/src/main/generated/assets/frangipane/blockstates/mossy_brick.json new file mode 100644 index 0000000..6246a65 --- /dev/null +++ b/src/main/generated/assets/frangipane/blockstates/mossy_brick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "frangipane:block/mossy_brick" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/frangipane/models/block/mossy_brick.json b/src/main/generated/assets/frangipane/models/block/mossy_brick.json similarity index 100% rename from src/main/resources/assets/frangipane/models/block/mossy_brick.json rename to src/main/generated/assets/frangipane/models/block/mossy_brick.json diff --git a/src/main/resources/assets/frangipane/models/item/deep_steel_ingot.json b/src/main/generated/assets/frangipane/models/item/deep_steel_ingot.json similarity index 100% rename from src/main/resources/assets/frangipane/models/item/deep_steel_ingot.json rename to src/main/generated/assets/frangipane/models/item/deep_steel_ingot.json diff --git a/src/main/generated/assets/frangipane/models/item/deep_steel_nugget.json b/src/main/generated/assets/frangipane/models/item/deep_steel_nugget.json new file mode 100644 index 0000000..f6abd6d --- /dev/null +++ b/src/main/generated/assets/frangipane/models/item/deep_steel_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "frangipane:item/deep_steel_nugget" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/frangipane/models/item/mossy_brick.json b/src/main/generated/assets/frangipane/models/item/mossy_brick.json similarity index 100% rename from src/main/resources/assets/frangipane/models/item/mossy_brick.json rename to src/main/generated/assets/frangipane/models/item/mossy_brick.json diff --git a/src/main/generated/data/frangipane/advancements/recipes/misc/deep_steel_ingot_from_nugget.json b/src/main/generated/data/frangipane/advancements/recipes/misc/deep_steel_ingot_from_nugget.json new file mode 100644 index 0000000..e6efbef --- /dev/null +++ b/src/main/generated/data/frangipane/advancements/recipes/misc/deep_steel_ingot_from_nugget.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dirt": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:dirt" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "frangipane:deep_steel_ingot_from_nugget" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_dirt", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "frangipane:deep_steel_ingot_from_nugget" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/generated/data/frangipane/loot_tables/blocks/mossy_brick.json b/src/main/generated/data/frangipane/loot_tables/blocks/mossy_brick.json new file mode 100644 index 0000000..48f3b33 --- /dev/null +++ b/src/main/generated/data/frangipane/loot_tables/blocks/mossy_brick.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "frangipane:mossy_brick" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/frangipane/recipes/deep_steel_ingot_from_nugget.json b/src/main/generated/data/frangipane/recipes/deep_steel_ingot_from_nugget.json new file mode 100644 index 0000000..d32c576 --- /dev/null +++ b/src/main/generated/data/frangipane/recipes/deep_steel_ingot_from_nugget.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "H": { + "item": "frangipane:deep_steel_nugget" + } + }, + "pattern": [ + "HHH", + "HHH", + "HHH" + ], + "result": { + "item": "frangipane:deep_steel_ingot" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/main/generated/data/minecraft/tags/blocks/mineable/pickaxe.json new file mode 100644 index 0000000..a17cd6e --- /dev/null +++ b/src/main/generated/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "frangipane:mossy_brick" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/blocks/needs_stone_tool.json b/src/main/generated/data/minecraft/tags/blocks/needs_stone_tool.json new file mode 100644 index 0000000..a17cd6e --- /dev/null +++ b/src/main/generated/data/minecraft/tags/blocks/needs_stone_tool.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "frangipane:mossy_brick" + ] +} \ No newline at end of file diff --git a/src/main/java/org/strawberries/frangipane/FrangipaneDataGenerator.java b/src/main/java/org/strawberries/frangipane/FrangipaneDataGenerator.java index 9c15084..1333ee6 100644 --- a/src/main/java/org/strawberries/frangipane/FrangipaneDataGenerator.java +++ b/src/main/java/org/strawberries/frangipane/FrangipaneDataGenerator.java @@ -2,11 +2,17 @@ package org.strawberries.frangipane; import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; +import org.strawberries.frangipane.datagen.*; public class FrangipaneDataGenerator implements DataGeneratorEntrypoint { @Override public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) { FabricDataGenerator.Pack pack = fabricDataGenerator.createPack(); + pack.addProvider(ModBlockTagProvider::new); + pack.addProvider(ModItemTagProvider::new); + pack.addProvider(ModModelProvider::new); + pack.addProvider(ModRecipeProvider::new); + pack.addProvider(ModLootTableProvider::new); } } diff --git a/src/main/java/org/strawberries/frangipane/datagen/ModBlockTagProvider.java b/src/main/java/org/strawberries/frangipane/datagen/ModBlockTagProvider.java new file mode 100644 index 0000000..4d39908 --- /dev/null +++ b/src/main/java/org/strawberries/frangipane/datagen/ModBlockTagProvider.java @@ -0,0 +1,22 @@ +package org.strawberries.frangipane.datagen; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.BlockTags; +import org.strawberries.frangipane.block.ModBlocks; + +import java.util.concurrent.CompletableFuture; + +public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider { + public ModBlockTagProvider(FabricDataOutput output, CompletableFuture registriesFuture) { + super(output, registriesFuture); + } + + @Override + protected void configure(RegistryWrapper.WrapperLookup lookup) { + // getOrCreateTagBuilder(BlockTags.HOE_MINEABLE); + getOrCreateTagBuilder(BlockTags.PICKAXE_MINEABLE).add(ModBlocks.MOSSY_BRICK); + getOrCreateTagBuilder(BlockTags.NEEDS_STONE_TOOL).add(ModBlocks.MOSSY_BRICK); + } +} diff --git a/src/main/java/org/strawberries/frangipane/datagen/ModItemTagProvider.java b/src/main/java/org/strawberries/frangipane/datagen/ModItemTagProvider.java new file mode 100644 index 0000000..c896a3d --- /dev/null +++ b/src/main/java/org/strawberries/frangipane/datagen/ModItemTagProvider.java @@ -0,0 +1,19 @@ +package org.strawberries.frangipane.datagen; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.minecraft.registry.RegistryWrapper; +import org.jetbrains.annotations.Nullable; + +import java.util.concurrent.CompletableFuture; + +public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider { + public ModItemTagProvider(FabricDataOutput output, CompletableFuture completableFuture) { + super(output, completableFuture); + } + + @Override + protected void configure(RegistryWrapper.WrapperLookup lookup) { + + } +} diff --git a/src/main/java/org/strawberries/frangipane/datagen/ModLootTableProvider.java b/src/main/java/org/strawberries/frangipane/datagen/ModLootTableProvider.java new file mode 100644 index 0000000..432487d --- /dev/null +++ b/src/main/java/org/strawberries/frangipane/datagen/ModLootTableProvider.java @@ -0,0 +1,16 @@ +package org.strawberries.frangipane.datagen; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider; +import org.strawberries.frangipane.block.ModBlocks; + +public class ModLootTableProvider extends FabricBlockLootTableProvider { + public ModLootTableProvider(FabricDataOutput dataOutput) { + super(dataOutput); + } + + @Override + public void generate() { + addDrop(ModBlocks.MOSSY_BRICK); + } +} diff --git a/src/main/java/org/strawberries/frangipane/datagen/ModModelProvider.java b/src/main/java/org/strawberries/frangipane/datagen/ModModelProvider.java new file mode 100644 index 0000000..7618d65 --- /dev/null +++ b/src/main/java/org/strawberries/frangipane/datagen/ModModelProvider.java @@ -0,0 +1,26 @@ +package org.strawberries.frangipane.datagen; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricModelProvider; +import net.minecraft.data.client.BlockStateModelGenerator; +import net.minecraft.data.client.ItemModelGenerator; +import net.minecraft.data.client.Models; +import org.strawberries.frangipane.block.ModBlocks; +import org.strawberries.frangipane.item.ModItems; + +public class ModModelProvider extends FabricModelProvider { + public ModModelProvider(FabricDataOutput output) { + super(output); + } + + @Override + public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) { + blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.MOSSY_BRICK); + } + + @Override + public void generateItemModels(ItemModelGenerator itemModelGenerator) { + itemModelGenerator.register(ModItems.DEEP_STEEL_INGOT, Models.GENERATED); + itemModelGenerator.register(ModItems.DEEP_STEEL_NUGGET, Models.GENERATED); + } +} diff --git a/src/main/java/org/strawberries/frangipane/datagen/ModRecipeProvider.java b/src/main/java/org/strawberries/frangipane/datagen/ModRecipeProvider.java new file mode 100644 index 0000000..54d9031 --- /dev/null +++ b/src/main/java/org/strawberries/frangipane/datagen/ModRecipeProvider.java @@ -0,0 +1,30 @@ +package org.strawberries.frangipane.datagen; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.minecraft.data.server.recipe.RecipeJsonProvider; +import net.minecraft.data.server.recipe.ShapedRecipeJsonBuilder; +import net.minecraft.item.Items; +import net.minecraft.recipe.book.RecipeCategory; +import net.minecraft.util.Identifier; +import org.strawberries.frangipane.item.ModItems; + +import java.util.function.Consumer; + +public class ModRecipeProvider extends FabricRecipeProvider { + public ModRecipeProvider(FabricDataOutput output) { + super(output); + } + + @Override + public void generate(Consumer exporter) { + ShapedRecipeJsonBuilder.create(RecipeCategory.MISC, ModItems.DEEP_STEEL_INGOT) + .pattern("HHH") + .pattern("HHH") + .pattern("HHH") + .input('H', ModItems.DEEP_STEEL_NUGGET) + .criterion("has_dirt", conditionsFromItem(Items.DIRT)) + .offerTo(exporter, new Identifier("frangipane", "deep_steel_ingot_from_nugget")); + ; + } +} diff --git a/src/main/java/org/strawberries/frangipane/item/ModItemGroups.java b/src/main/java/org/strawberries/frangipane/item/ModItemGroups.java index a8b870b..ccee409 100644 --- a/src/main/java/org/strawberries/frangipane/item/ModItemGroups.java +++ b/src/main/java/org/strawberries/frangipane/item/ModItemGroups.java @@ -19,6 +19,7 @@ public class ModItemGroups { .icon(() -> new ItemStack(ModItems.DEEP_STEEL_INGOT)) .entries((displayContext, entries) -> { entries.add(ModItems.DEEP_STEEL_INGOT); + entries.add(ModItems.DEEP_STEEL_NUGGET); entries.add(ModBlocks.MOSSY_BRICK); }).build() ); diff --git a/src/main/java/org/strawberries/frangipane/item/ModItems.java b/src/main/java/org/strawberries/frangipane/item/ModItems.java index 9518804..2ba7560 100644 --- a/src/main/java/org/strawberries/frangipane/item/ModItems.java +++ b/src/main/java/org/strawberries/frangipane/item/ModItems.java @@ -16,17 +16,16 @@ public class ModItems { new Item(new FabricItemSettings()) ); - // NOTE: non. - // public static final Item MOSSY_BRICK = registerItem( - // "mossy_brick", - // new Item(new FabricItemSettings()) - // ); + public static final Item DEEP_STEEL_NUGGET = registerItem( + "deep_steel_nugget", + new Item(new FabricItemSettings()) + ); private static void addItemsToIngredientTabItemGroup( FabricItemGroupEntries entries ) { entries.add(DEEP_STEEL_INGOT); - // entries.add(MOSSY_BRICK); + entries.add(DEEP_STEEL_NUGGET); } private static Item registerItem(String name, Item item) { diff --git a/src/main/resources/assets/frangipane/blockstates/mossy_brick.json b/src/main/resources/assets/frangipane/blockstates/mossy_brick.json deleted file mode 100644 index fc35a7f..0000000 --- a/src/main/resources/assets/frangipane/blockstates/mossy_brick.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "": { "model": "frangipane:block/mossy_brick" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/frangipane/lang/en_us.json b/src/main/resources/assets/frangipane/lang/en_us.json index da37072..a288fb6 100644 --- a/src/main/resources/assets/frangipane/lang/en_us.json +++ b/src/main/resources/assets/frangipane/lang/en_us.json @@ -1,5 +1,6 @@ { "itemgroup.frangipane_group": "Le groupe de la frangipane", "item.frangipane.deep_steel_ingot": "Deep steel ingot", + "item.frangipane.deep_steel_nugget": "Deep steel nugget", "block.frangipane.mossy_brick": "Mossy block" } \ No newline at end of file diff --git a/src/main/resources/assets/frangipane/textures/item/deep_steel_nugget.png b/src/main/resources/assets/frangipane/textures/item/deep_steel_nugget.png new file mode 100644 index 0000000..5e422ff --- /dev/null +++ b/src/main/resources/assets/frangipane/textures/item/deep_steel_nugget.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24e5a0169faa0ef07ab97a360df123c2184df1522a5496cce28672c42f9cbb01 +size 216