From 877f0378a78392b9251f47602ae88fbab4f4add1 Mon Sep 17 00:00:00 2001 From: David-123 <1826013250@qq.com> Date: Sat, 15 Mar 2025 01:51:08 +0800 Subject: [PATCH] USE DATAGEN --- build.gradle | 4 ++ .../0c7c74a38477191a24eb1ed59c4d51e2cb4a1fbc | 7 +++ .../0d5902f5c6dfb9358c98f419af4858ad49d82476 | 13 +++++ .../50774f3fb758b0d920a9ed91eef309572a3cd0c8 | 2 + .../891602c6cf080fa98926259c33e954b555086916 | 3 ++ .../c961d49d60538dbd3b9e7ca12b510f918187d447 | 2 + .../learning/blockstates/damage_block.json | 7 +++ .../learning/blockstates/transform_block.json | 7 +++ .../assets/learning/items/baked_toast.json | 2 +- .../assets/learning/items/damage_block.json | 2 +- .../learning/items/overcooked_toast.json | 6 +++ .../assets/learning/items/toast.json | 2 +- .../learning/items/transform_block.json | 2 +- .../learning/models/block/damage_block.json | 8 +++ .../models/block/transform_block.json | 8 +++ .../learning/models/item/baked_toast.json | 6 +++ .../models/item/overcooked_toast.json | 6 +++ .../assets/learning/models/item/toast.json | 6 +++ .../food/baked_toast_from_smelting_toast.json | 32 +++++++++++ ...ooked_toast_from_smelting_baked_toast.json | 32 +++++++++++ .../recipes/misc/damage_block.json | 32 +++++++++++ .../loot_table/blocks/damage_block.json | 3 +- .../loot_table/blocks/transform_block.json | 20 +++++++ .../baked_toast_from_smelting_toast.json} | 3 +- .../data/learning/recipe/damage_block.json | 18 +++++++ ...ooked_toast_from_smelting_baked_toast.json | 11 ++++ .../tags/item/diamond_transformable.json | 6 +++ .../tags/block/mineable/pickaxe.json | 5 ++ src/main/java/com/learning/Learning.java | 12 +++++ .../com/learning/LearningDataGenerator.java | 8 ++- .../java/com/learning/block/CustomBlocks.java | 13 +++-- .../learning/datagen/ModBlockTagProvider.java | 26 +++++++++ .../learning/datagen/ModItemTagProvider.java | 23 ++++++++ .../datagen/ModLootTableProvider.java | 20 +++++++ .../learning/datagen/ModModelProvider.java | 41 ++++++++++++++ .../learning/datagen/ModRecipeProvider.java | 51 ++++++++++++++++++ .../java/com/learning/item/BakedToast.java | 1 + .../java/com/learning/item/CustomItems.java | 29 +++++++--- .../learning/itemgroup/CustomItemGroup.java | 1 + .../learning/blockstates/damage_block.json | 7 --- .../learning/blockstates/transform_block.json | 7 --- .../resources/assets/learning/lang/en_us.json | 2 + .../learning/models/block/damage_block.json | 8 --- .../models/block/transform_block.json | 8 --- .../learning/models/item/baked_toast.json | 6 --- .../assets/learning/models/item/toast.json | 6 --- ...lock_side.png => transform_block_side.png} | Bin ...mblock_top.png => transform_block_top.png} | Bin .../textures/item/overcooked_toast.png | Bin 0 -> 108 bytes .../learning/recipe/baked_toast_smoking.json | 10 ---- .../tags/item/diamond_transformable.json | 6 --- 51 files changed, 462 insertions(+), 78 deletions(-) create mode 100644 src/main/generated/.cache/0c7c74a38477191a24eb1ed59c4d51e2cb4a1fbc create mode 100644 src/main/generated/.cache/0d5902f5c6dfb9358c98f419af4858ad49d82476 create mode 100644 src/main/generated/.cache/50774f3fb758b0d920a9ed91eef309572a3cd0c8 create mode 100644 src/main/generated/.cache/891602c6cf080fa98926259c33e954b555086916 create mode 100644 src/main/generated/.cache/c961d49d60538dbd3b9e7ca12b510f918187d447 create mode 100644 src/main/generated/assets/learning/blockstates/damage_block.json create mode 100644 src/main/generated/assets/learning/blockstates/transform_block.json rename src/main/{resources => generated}/assets/learning/items/baked_toast.json (97%) rename src/main/{resources => generated}/assets/learning/items/damage_block.json (97%) create mode 100644 src/main/generated/assets/learning/items/overcooked_toast.json rename src/main/{resources => generated}/assets/learning/items/toast.json (97%) rename src/main/{resources => generated}/assets/learning/items/transform_block.json (97%) create mode 100644 src/main/generated/assets/learning/models/block/damage_block.json create mode 100644 src/main/generated/assets/learning/models/block/transform_block.json create mode 100644 src/main/generated/assets/learning/models/item/baked_toast.json create mode 100644 src/main/generated/assets/learning/models/item/overcooked_toast.json create mode 100644 src/main/generated/assets/learning/models/item/toast.json create mode 100644 src/main/generated/data/learning/advancement/recipes/food/baked_toast_from_smelting_toast.json create mode 100644 src/main/generated/data/learning/advancement/recipes/food/overcooked_toast_from_smelting_baked_toast.json create mode 100644 src/main/generated/data/learning/advancement/recipes/misc/damage_block.json rename src/main/{resources => generated}/data/learning/loot_table/blocks/damage_block.json (85%) create mode 100644 src/main/generated/data/learning/loot_table/blocks/transform_block.json rename src/main/{resources/data/learning/recipe/baked_toast.json => generated/data/learning/recipe/baked_toast_from_smelting_toast.json} (86%) create mode 100644 src/main/generated/data/learning/recipe/damage_block.json create mode 100644 src/main/generated/data/learning/recipe/overcooked_toast_from_smelting_baked_toast.json create mode 100644 src/main/generated/data/learning/tags/item/diamond_transformable.json create mode 100644 src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json create mode 100644 src/main/java/com/learning/datagen/ModBlockTagProvider.java create mode 100644 src/main/java/com/learning/datagen/ModItemTagProvider.java create mode 100644 src/main/java/com/learning/datagen/ModLootTableProvider.java create mode 100644 src/main/java/com/learning/datagen/ModModelProvider.java create mode 100644 src/main/java/com/learning/datagen/ModRecipeProvider.java delete mode 100644 src/main/resources/assets/learning/blockstates/damage_block.json delete mode 100644 src/main/resources/assets/learning/blockstates/transform_block.json delete mode 100644 src/main/resources/assets/learning/models/block/damage_block.json delete mode 100644 src/main/resources/assets/learning/models/block/transform_block.json delete mode 100644 src/main/resources/assets/learning/models/item/baked_toast.json delete mode 100644 src/main/resources/assets/learning/models/item/toast.json rename src/main/resources/assets/learning/textures/block/{transformblock_side.png => transform_block_side.png} (100%) rename src/main/resources/assets/learning/textures/block/{transformblock_top.png => transform_block_top.png} (100%) create mode 100644 src/main/resources/assets/learning/textures/item/overcooked_toast.png delete mode 100644 src/main/resources/data/learning/recipe/baked_toast_smoking.json delete mode 100644 src/main/resources/data/learning/tags/item/diamond_transformable.json diff --git a/build.gradle b/build.gradle index a41f396..50ecf23 100644 --- a/build.gradle +++ b/build.gradle @@ -65,6 +65,10 @@ jar { } } +//tasks.withType(Copy).all { +// duplicatesStrategy 'exclude' +//} + // configure the maven publication publishing { publications { diff --git a/src/main/generated/.cache/0c7c74a38477191a24eb1ed59c4d51e2cb4a1fbc b/src/main/generated/.cache/0c7c74a38477191a24eb1ed59c4d51e2cb4a1fbc new file mode 100644 index 0000000..f990c3b --- /dev/null +++ b/src/main/generated/.cache/0c7c74a38477191a24eb1ed59c4d51e2cb4a1fbc @@ -0,0 +1,7 @@ +// 1.21.4 -999999999-01-01T00:00:00 Learning/FabricLearningRecipeProvider +909cf34a9dd2590a5904c5c305eb6627e4007e16 data/learning/advancement/recipes/food/baked_toast_from_smelting_toast.json +48e4de17c89453877299044a387ab270980a73f0 data/learning/advancement/recipes/food/overcooked_toast_from_smelting_baked_toast.json +3f312674e372bc99fef50332fe3b73ad2f0b8e8c data/learning/advancement/recipes/misc/damage_block.json +fa465ec49923885685cd0d0d97d1a8a8f86a6f9b data/learning/recipe/baked_toast_from_smelting_toast.json +4f79f807a401252843d3deab2fd21c0426477f21 data/learning/recipe/damage_block.json +073bdd46b2248dd3adcfda31d2ccfacef839d5a2 data/learning/recipe/overcooked_toast_from_smelting_baked_toast.json diff --git a/src/main/generated/.cache/0d5902f5c6dfb9358c98f419af4858ad49d82476 b/src/main/generated/.cache/0d5902f5c6dfb9358c98f419af4858ad49d82476 new file mode 100644 index 0000000..d911917 --- /dev/null +++ b/src/main/generated/.cache/0d5902f5c6dfb9358c98f419af4858ad49d82476 @@ -0,0 +1,13 @@ +// 1.21.4 -999999999-01-01T00:00:00 Learning/FabricDocsReference Model Provider +9b929e7065d522bc2f535cbf0be27b781747764c assets/learning/blockstates/damage_block.json +ae0d992c57701b5c4cfa1f74886b0c6643382dde assets/learning/blockstates/transform_block.json +7e8a7842ae92f24d68423d756ce6a9a33187439b assets/learning/items/baked_toast.json +d9cfa06092e4a6b79cf7d701c70deeb937b88155 assets/learning/items/damage_block.json +a47afe35b341d49ea1af4b9039c7ee7c5747fa5d assets/learning/items/overcooked_toast.json +bc0cb59f5b489dfdf541e42499fb4a28b9bacea0 assets/learning/items/toast.json +296544cf2c1bf4c18575d1637bd95cccd86bd6ba assets/learning/items/transform_block.json +61b7662769db9c343a2b01449f74b47dee072d69 assets/learning/models/block/damage_block.json +afa3a162ab44856a979f7206b9d9047fba19d45b assets/learning/models/block/transform_block.json +4f29a35228f6e93e29262172a11e8aaa145a10f9 assets/learning/models/item/baked_toast.json +7ac95480ea0a3b708095eda1fbff11ab770450b1 assets/learning/models/item/overcooked_toast.json +0ee68562153eab4dd8756c1c0d14ed8e67fd692f assets/learning/models/item/toast.json diff --git a/src/main/generated/.cache/50774f3fb758b0d920a9ed91eef309572a3cd0c8 b/src/main/generated/.cache/50774f3fb758b0d920a9ed91eef309572a3cd0c8 new file mode 100644 index 0000000..5801dd5 --- /dev/null +++ b/src/main/generated/.cache/50774f3fb758b0d920a9ed91eef309572a3cd0c8 @@ -0,0 +1,2 @@ +// 1.21.4 -999999999-01-01T00:00:00 Learning/Tags for minecraft:block +38a917b5f6cf798e0cf0c65180771a0f310de0da data/minecraft/tags/block/mineable/pickaxe.json diff --git a/src/main/generated/.cache/891602c6cf080fa98926259c33e954b555086916 b/src/main/generated/.cache/891602c6cf080fa98926259c33e954b555086916 new file mode 100644 index 0000000..1977dc2 --- /dev/null +++ b/src/main/generated/.cache/891602c6cf080fa98926259c33e954b555086916 @@ -0,0 +1,3 @@ +// 1.21.4 -999999999-01-01T00:00:00 Learning/Block Loot Tables +0098930b7ed8d4f99711b81a043962b5a29d992b data/learning/loot_table/blocks/damage_block.json +3c5485c4b7890adb359efda5037235e72e85c33a data/learning/loot_table/blocks/transform_block.json diff --git a/src/main/generated/.cache/c961d49d60538dbd3b9e7ca12b510f918187d447 b/src/main/generated/.cache/c961d49d60538dbd3b9e7ca12b510f918187d447 new file mode 100644 index 0000000..17a3648 --- /dev/null +++ b/src/main/generated/.cache/c961d49d60538dbd3b9e7ca12b510f918187d447 @@ -0,0 +1,2 @@ +// 1.21.4 -999999999-01-01T00:00:00 Learning/Tags for minecraft:item +5930563a7f50b4e9c1f59dedf432c4fba846138c data/learning/tags/item/diamond_transformable.json diff --git a/src/main/generated/assets/learning/blockstates/damage_block.json b/src/main/generated/assets/learning/blockstates/damage_block.json new file mode 100644 index 0000000..a8de029 --- /dev/null +++ b/src/main/generated/assets/learning/blockstates/damage_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "learning:block/damage_block" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/learning/blockstates/transform_block.json b/src/main/generated/assets/learning/blockstates/transform_block.json new file mode 100644 index 0000000..175aaad --- /dev/null +++ b/src/main/generated/assets/learning/blockstates/transform_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "learning:block/transform_block" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/learning/items/baked_toast.json b/src/main/generated/assets/learning/items/baked_toast.json similarity index 97% rename from src/main/resources/assets/learning/items/baked_toast.json rename to src/main/generated/assets/learning/items/baked_toast.json index 576c906..cfad1be 100644 --- a/src/main/resources/assets/learning/items/baked_toast.json +++ b/src/main/generated/assets/learning/items/baked_toast.json @@ -3,4 +3,4 @@ "type": "minecraft:model", "model": "learning:item/baked_toast" } -} +} \ No newline at end of file diff --git a/src/main/resources/assets/learning/items/damage_block.json b/src/main/generated/assets/learning/items/damage_block.json similarity index 97% rename from src/main/resources/assets/learning/items/damage_block.json rename to src/main/generated/assets/learning/items/damage_block.json index 026a2aa..acdb872 100644 --- a/src/main/resources/assets/learning/items/damage_block.json +++ b/src/main/generated/assets/learning/items/damage_block.json @@ -3,4 +3,4 @@ "type": "minecraft:model", "model": "learning:block/damage_block" } -} +} \ No newline at end of file diff --git a/src/main/generated/assets/learning/items/overcooked_toast.json b/src/main/generated/assets/learning/items/overcooked_toast.json new file mode 100644 index 0000000..768ca7b --- /dev/null +++ b/src/main/generated/assets/learning/items/overcooked_toast.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "learning:item/overcooked_toast" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/learning/items/toast.json b/src/main/generated/assets/learning/items/toast.json similarity index 97% rename from src/main/resources/assets/learning/items/toast.json rename to src/main/generated/assets/learning/items/toast.json index 38835c8..7feb541 100644 --- a/src/main/resources/assets/learning/items/toast.json +++ b/src/main/generated/assets/learning/items/toast.json @@ -3,4 +3,4 @@ "type": "minecraft:model", "model": "learning:item/toast" } -} +} \ No newline at end of file diff --git a/src/main/resources/assets/learning/items/transform_block.json b/src/main/generated/assets/learning/items/transform_block.json similarity index 97% rename from src/main/resources/assets/learning/items/transform_block.json rename to src/main/generated/assets/learning/items/transform_block.json index 1d626c7..544224a 100644 --- a/src/main/resources/assets/learning/items/transform_block.json +++ b/src/main/generated/assets/learning/items/transform_block.json @@ -3,4 +3,4 @@ "type": "minecraft:model", "model": "learning:block/transform_block" } -} +} \ No newline at end of file diff --git a/src/main/generated/assets/learning/models/block/damage_block.json b/src/main/generated/assets/learning/models/block/damage_block.json new file mode 100644 index 0000000..5538e6c --- /dev/null +++ b/src/main/generated/assets/learning/models/block/damage_block.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "bottom": "learning:block/white_block_bottom", + "side": "learning:block/damage_block_side", + "top": "learning:block/damage_block_top" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/learning/models/block/transform_block.json b/src/main/generated/assets/learning/models/block/transform_block.json new file mode 100644 index 0000000..76784a7 --- /dev/null +++ b/src/main/generated/assets/learning/models/block/transform_block.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "bottom": "learning:block/white_block_bottom", + "side": "learning:block/transform_block_side", + "top": "learning:block/transform_block_top" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/learning/models/item/baked_toast.json b/src/main/generated/assets/learning/models/item/baked_toast.json new file mode 100644 index 0000000..564abca --- /dev/null +++ b/src/main/generated/assets/learning/models/item/baked_toast.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "learning:item/baked_toast" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/learning/models/item/overcooked_toast.json b/src/main/generated/assets/learning/models/item/overcooked_toast.json new file mode 100644 index 0000000..07f59df --- /dev/null +++ b/src/main/generated/assets/learning/models/item/overcooked_toast.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "learning:item/overcooked_toast" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/learning/models/item/toast.json b/src/main/generated/assets/learning/models/item/toast.json new file mode 100644 index 0000000..02b930a --- /dev/null +++ b/src/main/generated/assets/learning/models/item/toast.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "learning:item/toast" + } +} \ No newline at end of file diff --git a/src/main/generated/data/learning/advancement/recipes/food/baked_toast_from_smelting_toast.json b/src/main/generated/data/learning/advancement/recipes/food/baked_toast_from_smelting_toast.json new file mode 100644 index 0000000..45bc05f --- /dev/null +++ b/src/main/generated/data/learning/advancement/recipes/food/baked_toast_from_smelting_toast.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:baked_toast_from_smelting_toast" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_toast": { + "conditions": { + "items": [ + { + "items": "learning:toast" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_toast" + ] + ], + "rewards": { + "recipes": [ + "minecraft:baked_toast_from_smelting_toast" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/learning/advancement/recipes/food/overcooked_toast_from_smelting_baked_toast.json b/src/main/generated/data/learning/advancement/recipes/food/overcooked_toast_from_smelting_baked_toast.json new file mode 100644 index 0000000..6ddc620 --- /dev/null +++ b/src/main/generated/data/learning/advancement/recipes/food/overcooked_toast_from_smelting_baked_toast.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_baked_toast": { + "conditions": { + "items": [ + { + "items": "learning:baked_toast" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:overcooked_toast_from_smelting_baked_toast" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_baked_toast" + ] + ], + "rewards": { + "recipes": [ + "minecraft:overcooked_toast_from_smelting_baked_toast" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/learning/advancement/recipes/misc/damage_block.json b/src/main/generated/data/learning/advancement/recipes/misc/damage_block.json new file mode 100644 index 0000000..b4b0dcc --- /dev/null +++ b/src/main/generated/data/learning/advancement/recipes/misc/damage_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_sword": { + "conditions": { + "items": [ + { + "items": "minecraft:iron_sword" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "learning:damage_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_iron_sword" + ] + ], + "rewards": { + "recipes": [ + "learning:damage_block" + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/learning/loot_table/blocks/damage_block.json b/src/main/generated/data/learning/loot_table/blocks/damage_block.json similarity index 85% rename from src/main/resources/data/learning/loot_table/blocks/damage_block.json rename to src/main/generated/data/learning/loot_table/blocks/damage_block.json index 41d0f4f..fc4a2bb 100644 --- a/src/main/resources/data/learning/loot_table/blocks/damage_block.json +++ b/src/main/generated/data/learning/loot_table/blocks/damage_block.json @@ -16,6 +16,5 @@ ], "rolls": 1.0 } - ], - "random_sequence": "learning:blocks/damage_block" + ] } \ No newline at end of file diff --git a/src/main/generated/data/learning/loot_table/blocks/transform_block.json b/src/main/generated/data/learning/loot_table/blocks/transform_block.json new file mode 100644 index 0000000..1d04edd --- /dev/null +++ b/src/main/generated/data/learning/loot_table/blocks/transform_block.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "learning:transform_block" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/learning/recipe/baked_toast.json b/src/main/generated/data/learning/recipe/baked_toast_from_smelting_toast.json similarity index 86% rename from src/main/resources/data/learning/recipe/baked_toast.json rename to src/main/generated/data/learning/recipe/baked_toast_from_smelting_toast.json index cabf17d..fb4286a 100644 --- a/src/main/resources/data/learning/recipe/baked_toast.json +++ b/src/main/generated/data/learning/recipe/baked_toast_from_smelting_toast.json @@ -3,8 +3,9 @@ "category": "food", "cookingtime": 200, "experience": 0.35, + "group": "toast_furnace", "ingredient": "learning:toast", "result": { "id": "learning:baked_toast" } -} +} \ No newline at end of file diff --git a/src/main/generated/data/learning/recipe/damage_block.json b/src/main/generated/data/learning/recipe/damage_block.json new file mode 100644 index 0000000..3a14292 --- /dev/null +++ b/src/main/generated/data/learning/recipe/damage_block.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": "minecraft:iron_block", + "R": "minecraft:red_dye", + "S": "minecraft:iron_sword" + }, + "pattern": [ + "SSS", + "BRB", + "BBB" + ], + "result": { + "count": 4, + "id": "learning:damage_block" + } +} \ No newline at end of file diff --git a/src/main/generated/data/learning/recipe/overcooked_toast_from_smelting_baked_toast.json b/src/main/generated/data/learning/recipe/overcooked_toast_from_smelting_baked_toast.json new file mode 100644 index 0000000..4244b0f --- /dev/null +++ b/src/main/generated/data/learning/recipe/overcooked_toast_from_smelting_baked_toast.json @@ -0,0 +1,11 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.35, + "group": "toast_furnace", + "ingredient": "learning:baked_toast", + "result": { + "id": "learning:overcooked_toast" + } +} \ No newline at end of file diff --git a/src/main/generated/data/learning/tags/item/diamond_transformable.json b/src/main/generated/data/learning/tags/item/diamond_transformable.json new file mode 100644 index 0000000..bb5b767 --- /dev/null +++ b/src/main/generated/data/learning/tags/item/diamond_transformable.json @@ -0,0 +1,6 @@ +{ + "values": [ + "minecraft:diamond", + "learning:baked_toast" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json b/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json new file mode 100644 index 0000000..253bcfc --- /dev/null +++ b/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json @@ -0,0 +1,5 @@ +{ + "values": [ + "learning:damage_block" + ] +} \ No newline at end of file diff --git a/src/main/java/com/learning/Learning.java b/src/main/java/com/learning/Learning.java index 179390e..7294a70 100644 --- a/src/main/java/com/learning/Learning.java +++ b/src/main/java/com/learning/Learning.java @@ -3,6 +3,9 @@ package com.learning; import com.learning.block.CustomBlocks; import net.fabricmc.api.ModInitializer; +import net.fabricmc.fabric.api.registry.CompostingChanceRegistry; +import net.fabricmc.fabric.api.registry.FuelRegistryEvents; +import net.minecraft.item.FuelRegistry; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -27,5 +30,14 @@ public class Learning implements ModInitializer { CustomBlocks.registerBlocks(); CustomItems.registerItems(); CustomItemGroup.registerItemGroup(); + + LOGGER.info("Adding Fuel registries..."); + FuelRegistryEvents.BUILD.register(((builder, context) -> { + builder.add(CustomItems.overcookedToast, 6000); + })); + + LOGGER.info("Adding Compostable registries..."); + CompostingChanceRegistry.INSTANCE.add(CustomItems.toast, 0.3f); + CompostingChanceRegistry.INSTANCE.add(CustomItems.bakedToast, 0.5f); } } diff --git a/src/main/java/com/learning/LearningDataGenerator.java b/src/main/java/com/learning/LearningDataGenerator.java index a0c5f69..70392f3 100644 --- a/src/main/java/com/learning/LearningDataGenerator.java +++ b/src/main/java/com/learning/LearningDataGenerator.java @@ -1,11 +1,17 @@ package com.learning; +import com.learning.datagen.*; import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; public class LearningDataGenerator implements DataGeneratorEntrypoint { @Override public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) { - + FabricDataGenerator.Pack pack = fabricDataGenerator.createPack(); + pack.addProvider(ModModelProvider::new); + pack.addProvider(ModRecipeProvider::new); + pack.addProvider(ModItemTagProvider::new); + pack.addProvider(ModBlockTagProvider::new); + pack.addProvider(ModLootTableProvider::new); } } diff --git a/src/main/java/com/learning/block/CustomBlocks.java b/src/main/java/com/learning/block/CustomBlocks.java index bd090b9..4e4e3f1 100644 --- a/src/main/java/com/learning/block/CustomBlocks.java +++ b/src/main/java/com/learning/block/CustomBlocks.java @@ -18,20 +18,23 @@ public class CustomBlocks { } public static final Block testBlock = register("test_block"); - public static final Block damageBlock = register("damage_block", DamageBlock::new, AbstractBlock.Settings.create()); - public static final Block transformBlock = register("transform_block", TransformBlock::new, AbstractBlock.Settings.create()); + public static final Block damageBlock = register("damage_block", DamageBlock::new, AbstractBlock.Settings.create().requiresTool()); + public static final Block transformBlock = register("transform_block", TransformBlock::new); - public static final Block register(String blockId) { + public static Block register(String blockId) { return register(blockId, Block::new, AbstractBlock.Settings.create()); } + public static Block register(String blockId, Function factory) { + return register(blockId, factory, AbstractBlock.Settings.create()); + } + public static Block register(String blockId, Function factory, AbstractBlock.Settings settings) { RegistryKey key = keyOf(blockId); return Registry.register(Registries.BLOCK, key, factory.apply(settings.registryKey(key))); - } - private static final RegistryKey keyOf(String blockId) { + private static RegistryKey keyOf(String blockId) { return RegistryKey.of(RegistryKeys.BLOCK, Identifier.of(Learning.MOD_ID, blockId)); } } diff --git a/src/main/java/com/learning/datagen/ModBlockTagProvider.java b/src/main/java/com/learning/datagen/ModBlockTagProvider.java new file mode 100644 index 0000000..0485080 --- /dev/null +++ b/src/main/java/com/learning/datagen/ModBlockTagProvider.java @@ -0,0 +1,26 @@ +package com.learning.datagen; + +import com.learning.block.CustomBlocks; +import com.learning.item.CustomItems; +import com.learning.util.ModTags; +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.minecraft.item.Items; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.BlockTags; + +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 wrapperLookup) { + getOrCreateTagBuilder(BlockTags.PICKAXE_MINEABLE) + .add(CustomBlocks.damageBlock); + } +} diff --git a/src/main/java/com/learning/datagen/ModItemTagProvider.java b/src/main/java/com/learning/datagen/ModItemTagProvider.java new file mode 100644 index 0000000..19a2bc3 --- /dev/null +++ b/src/main/java/com/learning/datagen/ModItemTagProvider.java @@ -0,0 +1,23 @@ +package com.learning.datagen; + +import com.learning.item.CustomItems; +import com.learning.util.ModTags; +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.minecraft.item.Items; +import net.minecraft.registry.RegistryWrapper; + +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 wrapperLookup) { + getOrCreateTagBuilder(ModTags.ItemTags.DIAMOND_TRANSFORMABLE) + .add(Items.DIAMOND) + .add(CustomItems.bakedToast); + } +} diff --git a/src/main/java/com/learning/datagen/ModLootTableProvider.java b/src/main/java/com/learning/datagen/ModLootTableProvider.java new file mode 100644 index 0000000..46d3d7c --- /dev/null +++ b/src/main/java/com/learning/datagen/ModLootTableProvider.java @@ -0,0 +1,20 @@ +package com.learning.datagen; + +import com.learning.block.CustomBlocks; +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider; +import net.minecraft.registry.RegistryWrapper; +import java.util.concurrent.CompletableFuture; + +public class ModLootTableProvider extends FabricBlockLootTableProvider { + + public ModLootTableProvider(FabricDataOutput dataOutput, CompletableFuture registryLookup) { + super(dataOutput, registryLookup); + } + + @Override + public void generate() { + addDrop(CustomBlocks.transformBlock); + addDrop(CustomBlocks.damageBlock); + } +} diff --git a/src/main/java/com/learning/datagen/ModModelProvider.java b/src/main/java/com/learning/datagen/ModModelProvider.java new file mode 100644 index 0000000..32fde67 --- /dev/null +++ b/src/main/java/com/learning/datagen/ModModelProvider.java @@ -0,0 +1,41 @@ +package com.learning.datagen; + +import com.learning.Learning; +import com.learning.block.CustomBlocks; +import com.learning.item.CustomItems; +import net.fabricmc.fabric.api.client.datagen.v1.provider.FabricModelProvider; +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.minecraft.block.Block; +import net.minecraft.client.data.*; +import net.minecraft.util.Identifier; + +public class ModModelProvider extends FabricModelProvider { + public ModModelProvider(FabricDataOutput output) { + super(output); + } + + public TextureMap blockOnlySideTop(Block block) { + return new TextureMap() + .put(TextureKey.TOP, ModelIds.getBlockSubModelId(block, "_top")) + .put(TextureKey.BOTTOM, Identifier.of(Learning.MOD_ID, "block/white_block_bottom")) + .put(TextureKey.SIDE, ModelIds.getBlockSubModelId(block, "_side")); + } + + @Override + public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) { + blockStateModelGenerator.registerSingleton(CustomBlocks.damageBlock, TexturedModel.makeFactory(this::blockOnlySideTop, Models.CUBE_BOTTOM_TOP)); + blockStateModelGenerator.registerSingleton(CustomBlocks.transformBlock, TexturedModel.makeFactory(this::blockOnlySideTop, Models.CUBE_BOTTOM_TOP)); + } + + @Override + public void generateItemModels(ItemModelGenerator itemModelGenerator) { + itemModelGenerator.register(CustomItems.overcookedToast, Models.GENERATED); + itemModelGenerator.register(CustomItems.bakedToast, Models.GENERATED); + itemModelGenerator.register(CustomItems.toast, Models.GENERATED); + } + + @Override + public String getName() { + return "FabricDocsReference Model Provider"; + } +} diff --git a/src/main/java/com/learning/datagen/ModRecipeProvider.java b/src/main/java/com/learning/datagen/ModRecipeProvider.java new file mode 100644 index 0000000..5675e4e --- /dev/null +++ b/src/main/java/com/learning/datagen/ModRecipeProvider.java @@ -0,0 +1,51 @@ +package com.learning.datagen; + +import com.learning.item.CustomItems; +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.minecraft.data.recipe.CookingRecipeJsonBuilder; +import net.minecraft.data.recipe.RecipeExporter; +import net.minecraft.data.recipe.RecipeGenerator; +import net.minecraft.data.recipe.ShapedRecipeJsonBuilder; +import net.minecraft.item.ItemConvertible; +import net.minecraft.item.Items; +import net.minecraft.recipe.*; +import net.minecraft.recipe.book.CookingRecipeCategory; +import net.minecraft.recipe.book.RecipeCategory; +import net.minecraft.registry.RegistryWrapper; + +import java.util.List; +import java.util.concurrent.CompletableFuture; + +public class ModRecipeProvider extends FabricRecipeProvider { + public ModRecipeProvider(FabricDataOutput output, CompletableFuture registriesFuture) { + super(output, registriesFuture); + } + + @Override + protected RecipeGenerator getRecipeGenerator(RegistryWrapper.WrapperLookup wrapperLookup, RecipeExporter recipeExporter) { + return new RecipeGenerator(wrapperLookup, recipeExporter) { + + @Override + public void generate() { + offerSmelting(List.of(CustomItems.toast), RecipeCategory.FOOD, CustomItems.bakedToast, 0.35f, 200, "toast_furnace"); + offerSmelting(List.of(CustomItems.bakedToast), RecipeCategory.FOOD, CustomItems.overcookedToast, 0.35f, 200, "toast_furnace"); + + createShaped(RecipeCategory.MISC, CustomItems.damageBlock, 4) + .pattern("SSS") + .pattern("BRB") + .pattern("BBB") + .input('S', Items.IRON_SWORD) + .input('B', Items.IRON_BLOCK) + .input('R', Items.RED_DYE) + .criterion(hasItem(Items.IRON_SWORD), conditionsFromItem(Items.IRON_SWORD)) + .offerTo(exporter); + } + }; + } + + @Override + public String getName() { + return "FabricLearningRecipeProvider"; + } +} diff --git a/src/main/java/com/learning/item/BakedToast.java b/src/main/java/com/learning/item/BakedToast.java index 738da11..4e330a5 100644 --- a/src/main/java/com/learning/item/BakedToast.java +++ b/src/main/java/com/learning/item/BakedToast.java @@ -4,6 +4,7 @@ import java.util.List; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.item.consume.UseAction; import net.minecraft.item.tooltip.TooltipType; import net.minecraft.text.Text; import net.minecraft.util.Formatting; diff --git a/src/main/java/com/learning/item/CustomItems.java b/src/main/java/com/learning/item/CustomItems.java index 6f01f5a..dcda827 100644 --- a/src/main/java/com/learning/item/CustomItems.java +++ b/src/main/java/com/learning/item/CustomItems.java @@ -1,6 +1,7 @@ package com.learning.item; +import java.util.List; import java.util.function.Function; import com.learning.Learning; @@ -9,10 +10,15 @@ import com.learning.component.Foods; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; +import net.minecraft.item.tooltip.TooltipType; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; +import net.minecraft.text.Text; +import net.minecraft.util.Formatting; import net.minecraft.util.Identifier; import net.minecraft.block.Block; import net.minecraft.component.type.ConsumableComponents; @@ -24,17 +30,27 @@ public class CustomItems { public static Item toast = register("toast", Toast::new, new Item.Settings().food(Foods.toastFood)); public static Item bakedToast = register("baked_toast", BakedToast::new, new Item.Settings().food(Foods.bakedToastFood, ConsumableComponents.food().consumeSeconds(0.8f).build())); + public static Item overcookedToast = register(keyOf("overcooked_toast"), new Item(new Item.Settings().registryKey(keyOf("overcooked_toast"))) { + @Override + public void appendTooltip(ItemStack stack, TooltipContext context, List tooltip, TooltipType type) { + tooltip.add(Text.translatable("toolTip.learning.overcooked_toast").formatted(Formatting.GRAY)); + super.appendTooltip(stack, context, tooltip, type); + } + }); + public static Item damageBlock = register(CustomBlocks.damageBlock, false); public static Item transformBlock = register(CustomBlocks.transformBlock, false); private static Item register(Block block, Boolean useItemTranslateKey) { - RegistryKey key = keyOf(Registries.BLOCK.getKey(block).get()); - Item.Settings settings = new Item.Settings().registryKey(key); - if (!useItemTranslateKey) { - settings.useBlockPrefixedTranslationKey(); + if (Registries.BLOCK.getKey(block).isPresent()) { + RegistryKey key = keyOf(Registries.BLOCK.getKey(block).get()); + Item.Settings settings = new Item.Settings().registryKey(key); + if (!useItemTranslateKey) { + settings.useBlockPrefixedTranslationKey(); + } + return register(key, new BlockItem(block, settings)); } - return register(key, new BlockItem(block, settings)); - + return Items.AIR; } private static Item register(String itemId) { @@ -56,7 +72,6 @@ public class CustomItems { private static Item register(RegistryKey key, Item item) { return Registry.register(Registries.ITEM, key, item); - } private static RegistryKey keyOf(String itemId) { diff --git a/src/main/java/com/learning/itemgroup/CustomItemGroup.java b/src/main/java/com/learning/itemgroup/CustomItemGroup.java index db3062e..9d49595 100644 --- a/src/main/java/com/learning/itemgroup/CustomItemGroup.java +++ b/src/main/java/com/learning/itemgroup/CustomItemGroup.java @@ -28,6 +28,7 @@ public class CustomItemGroup { .entries((displayContext, entries) -> { entries.add(CustomItems.toast); entries.add(CustomItems.bakedToast); + entries.add(CustomItems.overcookedToast); entries.add(CustomItems.damageBlock); entries.add(CustomItems.transformBlock); }) diff --git a/src/main/resources/assets/learning/blockstates/damage_block.json b/src/main/resources/assets/learning/blockstates/damage_block.json deleted file mode 100644 index 8de72cd..0000000 --- a/src/main/resources/assets/learning/blockstates/damage_block.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "learning:block/damage_block" - } - } -} diff --git a/src/main/resources/assets/learning/blockstates/transform_block.json b/src/main/resources/assets/learning/blockstates/transform_block.json deleted file mode 100644 index c6ad4d2..0000000 --- a/src/main/resources/assets/learning/blockstates/transform_block.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "learning:block/transform_block" - } - } -} diff --git a/src/main/resources/assets/learning/lang/en_us.json b/src/main/resources/assets/learning/lang/en_us.json index 46af142..c37e04f 100644 --- a/src/main/resources/assets/learning/lang/en_us.json +++ b/src/main/resources/assets/learning/lang/en_us.json @@ -1,6 +1,7 @@ { "item.learning.toast": "Toast", "item.learning.baked_toast": "Baked Toast", + "item.learning.overcooked_toast": "Overcooked Toast", "block.learning.damage_block": "Damage Block", "block.learning.transform_block": "Transform Block", @@ -12,6 +13,7 @@ "toolTip.learning.toast1": "Will be tastier after baking in the furnace!", "toolTip.learning.baked_toast": "Yummy!", "toolTip.learning.damage_block": "Will hurt entities which stands on this block.", + "toolTip.learning.overcooked_toast": "It turns to coal, totally...", "toolTip.learning.hold_control": "Hold §6Control §rto show more information.", "toolTip.learning.hold_shift": "Hold §6Shift §rto show more information." diff --git a/src/main/resources/assets/learning/models/block/damage_block.json b/src/main/resources/assets/learning/models/block/damage_block.json deleted file mode 100644 index cae7362..0000000 --- a/src/main/resources/assets/learning/models/block/damage_block.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/cube_bottom_top", - "textures": { - "bottom": "learning:block/white_block_bottom", - "top": "learning:block/damage_block_top", - "side": "learning:block/damage_block_side" - } -} diff --git a/src/main/resources/assets/learning/models/block/transform_block.json b/src/main/resources/assets/learning/models/block/transform_block.json deleted file mode 100644 index ee26761..0000000 --- a/src/main/resources/assets/learning/models/block/transform_block.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/cube_bottom_top", - "textures": { - "bottom": "learning:block/white_block_bottom", - "top": "learning:block/transformblock_top", - "side": "learning:block/transformblock_side" - } -} diff --git a/src/main/resources/assets/learning/models/item/baked_toast.json b/src/main/resources/assets/learning/models/item/baked_toast.json deleted file mode 100644 index fbeac1c..0000000 --- a/src/main/resources/assets/learning/models/item/baked_toast.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "learning:item/baked_toast" - } -} diff --git a/src/main/resources/assets/learning/models/item/toast.json b/src/main/resources/assets/learning/models/item/toast.json deleted file mode 100644 index 619b463..0000000 --- a/src/main/resources/assets/learning/models/item/toast.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "learning:item/toast" - } -} diff --git a/src/main/resources/assets/learning/textures/block/transformblock_side.png b/src/main/resources/assets/learning/textures/block/transform_block_side.png similarity index 100% rename from src/main/resources/assets/learning/textures/block/transformblock_side.png rename to src/main/resources/assets/learning/textures/block/transform_block_side.png diff --git a/src/main/resources/assets/learning/textures/block/transformblock_top.png b/src/main/resources/assets/learning/textures/block/transform_block_top.png similarity index 100% rename from src/main/resources/assets/learning/textures/block/transformblock_top.png rename to src/main/resources/assets/learning/textures/block/transform_block_top.png diff --git a/src/main/resources/assets/learning/textures/item/overcooked_toast.png b/src/main/resources/assets/learning/textures/item/overcooked_toast.png new file mode 100644 index 0000000000000000000000000000000000000000..48774369a064f97df61228c9e6b14a24b216571c GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`#-1*YAr*1S2@-J%y1H-e4JBgb zWgJvLCf$;5I4{r?$H3^srm*@bmmBYbNsK=XcKvE(XXsej%NsYX>mg7(gQu&X%Q~lo FCIDD`9zFm7 literal 0 HcmV?d00001 diff --git a/src/main/resources/data/learning/recipe/baked_toast_smoking.json b/src/main/resources/data/learning/recipe/baked_toast_smoking.json deleted file mode 100644 index a7629e6..0000000 --- a/src/main/resources/data/learning/recipe/baked_toast_smoking.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "type": "minecraft:smoking", - "category": "food", - "cookingtime": 100, - "experience": 0.35, - "ingredient": "learning:toast", - "result": { - "id": "learning:baked_toast" - } -} diff --git a/src/main/resources/data/learning/tags/item/diamond_transformable.json b/src/main/resources/data/learning/tags/item/diamond_transformable.json deleted file mode 100644 index af4b178..0000000 --- a/src/main/resources/data/learning/tags/item/diamond_transformable.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values": [ - "minecraft:coal", - "learning:baked_toast" - ] -}