diff --git a/src/generated/resources/.cache/9cf54cdf67e16111ec482a2a3b607e8fd75a4246 b/src/generated/resources/.cache/9cf54cdf67e16111ec482a2a3b607e8fd75a4246 index 47c0cb6f0..6c89c4e9b 100644 --- a/src/generated/resources/.cache/9cf54cdf67e16111ec482a2a3b607e8fd75a4246 +++ b/src/generated/resources/.cache/9cf54cdf67e16111ec482a2a3b607e8fd75a4246 @@ -1,10 +1,11 @@ -// 1.20.4 2024-03-12T13:22:03.427249 Item Recipes +// 1.20.4 2024-03-13T16:31:58.3504382 Item Recipes d374edde9294d1a224b4b5610b50117a11328c00 data/actuallyadditions/recipes/advanced_coil.json f67629e45d152c96f3467a90a67520f78ecf9f07 data/actuallyadditions/recipes/advanced_leaf_blower.json d65e5a70232fa2f0e74d2a67c1cd4b0e87124242 data/actuallyadditions/recipes/basic_coil.json ffba076ef8dfa9a7053dd1d194f92fabc3932319 data/actuallyadditions/recipes/black_quartz_ore_blasting.json 473d892c0e99d5e2381ba850583ee3aa2f8c57f4 data/actuallyadditions/recipes/black_quartz_ore_smelting.json b59bc713a54b6398730e5a1ef105479a7e58cf3e data/actuallyadditions/recipes/booklet.json +f14292672f37036259cf72e862e698e4477e78b7 data/actuallyadditions/recipes/book_pattern.json 29e79a47f752d85438b06efefdc1eef2e09c0be6 data/actuallyadditions/recipes/canola_seeds.json 3ba50983b327aa3df390a73583cd99dc06c8efd9 data/actuallyadditions/recipes/charcoal_to_tiny.json 5499f93d172328fc4136f866c80523ecdafcf4a3 data/actuallyadditions/recipes/coal_to_tiny.json @@ -50,6 +51,7 @@ c3592647a1b6de17893a80eeb9ed214f719cc4eb data/actuallyadditions/recipes/diamond_ 035937b870792a57c0db0b512b41f965af4c8195 data/actuallyadditions/recipes/double_battery.json ac1da42089dad9779f7f8b4d143c35e910a43610 data/actuallyadditions/recipes/drill_core.json 33dc398564081b1ea8b619650b6e292231ef957d data/actuallyadditions/recipes/drill_light_blue.json +201358d5c3c6b02e02de6c35d0a6e62c6fe565eb data/actuallyadditions/recipes/drill_pattern.json 32ed85c13069aad6a213fc8481ab1455385237f2 data/actuallyadditions/recipes/drill_upgrade_block_placing.json b18208992a1d9f48dbbcb60c373e775030c1ba5e data/actuallyadditions/recipes/drill_upgrade_five_by_five.json f6d8d39e01e8f9802119417355fb543529ebba05 data/actuallyadditions/recipes/drill_upgrade_fortune.json @@ -70,6 +72,7 @@ a4e0e3bb72d472302f2ab4e5d282cbc7fd6882a6 data/actuallyadditions/recipes/iron_aio 0792f7ad8ae9bbe9e10951db70a41fc802a92f19 data/actuallyadditions/recipes/laser_wrench.json 04ffdbe566efb77088f7223c5d0445e906be16b6 data/actuallyadditions/recipes/laser_wrench_nbt.json c70153bac66cc164f7c3a18f8db69ce40827832b data/actuallyadditions/recipes/leaf_blower.json +08020150e683afcccc285d06bacca85526b258fc data/actuallyadditions/recipes/leaf_blo_pattern.json 61a273ab2984142c215cecb2df2b663ae7b1a0a7 data/actuallyadditions/recipes/lens.json 1fafe233864d0a6917fd84579d7c5a3cccf25c2a data/actuallyadditions/recipes/lens_of_disenchanting.json a1c8701211811f545dae9839f2de150167e3d3ca data/actuallyadditions/recipes/lens_of_the_killer.json @@ -77,6 +80,7 @@ bbda1becc270cf13e6b1d8e6d873aafa0951552d data/actuallyadditions/recipes/lens_of_ 9c59763d7c18df2173dab694d0be2682db45f1c5 data/actuallyadditions/recipes/netherite_aiot.json 6e70b532fcfd3809938d0483acb3da13041e1663 data/actuallyadditions/recipes/phantom_clearing.json 0ab782aeb87292c1480a865c1c493aef432bff24 data/actuallyadditions/recipes/phantom_connector.json +79b7ca263600d62ae6c0ebd0838ec530bfc93d9c data/actuallyadditions/recipes/phan_con_pattern.json 4a76fa84033e80532494163fc35f60c44bdb67b5 data/actuallyadditions/recipes/player_probe.json 2f24905a9d4b0e5d3d5ecbc5a7fa3a7647f41619 data/actuallyadditions/recipes/quadruple_battery.json 80a2e4f402acab5da96bdf3acd459fce0f930c08 data/actuallyadditions/recipes/quintuple_battery.json diff --git a/src/generated/resources/.cache/acefb927113326135715a34ddbe00ec8cf32da1d b/src/generated/resources/.cache/acefb927113326135715a34ddbe00ec8cf32da1d new file mode 100644 index 000000000..c93191869 --- /dev/null +++ b/src/generated/resources/.cache/acefb927113326135715a34ddbe00ec8cf32da1d @@ -0,0 +1,5 @@ +// 1.20.4 2024-03-13T16:25:25.7337747 Tags for minecraft:banner_pattern mod id actuallyadditions +3dd9e0b0c98a7e1c7043f53569e3bbe83d8d8f81 data/actuallyadditions/tags/banner_pattern/pattern_item/book.json +5fdfca3b16ef2b8b12a96218d4792f5dd92670cb data/actuallyadditions/tags/banner_pattern/pattern_item/drill.json +6ce4a69df9109573aeb0f2e56ff087ed6a6068d7 data/actuallyadditions/tags/banner_pattern/pattern_item/leaf_blower.json +6ed142fcbd485f7f74f5befc735deb4094b42979 data/actuallyadditions/tags/banner_pattern/pattern_item/phan_con.json diff --git a/src/generated/resources/.cache/b3ca5dca15f867120b82824364d3156b7fdfd666 b/src/generated/resources/.cache/b3ca5dca15f867120b82824364d3156b7fdfd666 index e46b1d369..1d62b54da 100644 --- a/src/generated/resources/.cache/b3ca5dca15f867120b82824364d3156b7fdfd666 +++ b/src/generated/resources/.cache/b3ca5dca15f867120b82824364d3156b7fdfd666 @@ -1,4 +1,4 @@ -// 1.20.4 2024-03-09T15:15:51.411672 Item Models: actuallyadditions +// 1.20.4 2024-03-13T16:28:37.0564484 Item Models: actuallyadditions 34463d3d2ae3fafaaea338e7ffc03cd139d3cfeb assets/actuallyadditions/models/item/advanced_coil.json 24594fc68e66011dc2d7b79b92c94b387e710318 assets/actuallyadditions/models/item/advanced_leaf_blower.json ba2d814e269cdef72e1045f200b3c20ed6961517 assets/actuallyadditions/models/item/atomic_reconstructor.json @@ -21,6 +21,7 @@ c8974657e959db31495382cf6a86a3367df5d8c9 assets/actuallyadditions/models/item/bl 74aaa894cd68cf64f8ad5aac0e7c0b26cdb0a021 assets/actuallyadditions/models/item/black_quartz_stair.json 7e8476e561bd4854b54ce79cb798fd9b2915efb4 assets/actuallyadditions/models/item/black_quartz_wall.json a921bf283b5864b283ffff0737d8c3c89487dd08 assets/actuallyadditions/models/item/booklet.json +e02c1dcb56bd16fe497ed8a4f19c52233aa9b20e assets/actuallyadditions/models/item/book_pattern.json 8f1232a569a12d54b1053fae05dc85d23b28ed42 assets/actuallyadditions/models/item/breaker.json a311a3b7ad53f4b3e248939aecb41edbc5539a64 assets/actuallyadditions/models/item/canola.json fa77f5b54168ff7c11c5ce9fbe342eb7298a9ec8 assets/actuallyadditions/models/item/canola_oil_bucket.json @@ -59,6 +60,7 @@ ec5271390d19a8f654a039ce484c687f23a67ef5 assets/actuallyadditions/models/item/dr d1a9bbc0f92cf264b361cd392b192e5eba191b15 assets/actuallyadditions/models/item/drill_lime.json b451f12814595ac7b06ffee06eaa93249c2c0075 assets/actuallyadditions/models/item/drill_magenta.json c5be173ce3f3c5fdc376eacbefb2e3d913a2ecc4 assets/actuallyadditions/models/item/drill_orange.json +65f60912d49440c97977e319e6ffdbfe68aae594 assets/actuallyadditions/models/item/drill_pattern.json 26a3683600670d1733f0e0be80528e1b01d1c94a assets/actuallyadditions/models/item/drill_pink.json 086647e21977dff542f6cb09c4b0f3f826f874c5 assets/actuallyadditions/models/item/drill_purple.json a1dae4b66cce762b355ef2b5bbf399693f09b141 assets/actuallyadditions/models/item/drill_red.json @@ -157,6 +159,7 @@ a20fa6e1df0a18526f8cac045b6e0f4fcb4bf30c assets/actuallyadditions/models/item/la 05e3583ade09c7d90ddb536c5be6d3df1ce786c7 assets/actuallyadditions/models/item/lava_factory_casing.json 34573ebef541f5d9f7d62ba95205f81e1de234b4 assets/actuallyadditions/models/item/lava_factory_controller.json df17f763590bf5c883eec492e4ab4d8dc4bdeb97 assets/actuallyadditions/models/item/leaf_blower.json +040d94359f68325e207c6635117a777a3b612c7e assets/actuallyadditions/models/item/leaf_blo_pattern.json 4a349378c423823c42c3075e145ca6e5b31631ad assets/actuallyadditions/models/item/leaf_generator.json c86d9a24e157d61bd56b0c4dd847e93c21f9406a assets/actuallyadditions/models/item/lens.json e3504dd0c16703f516932406b6ac26fdac7f30b1 assets/actuallyadditions/models/item/lens_of_certain_death.json @@ -180,6 +183,7 @@ b393ea03ae008aca117e8f7aa5a2d69ef36b827b assets/actuallyadditions/models/item/ph 57c38461980802bef0a353a335eb470d36afd803 assets/actuallyadditions/models/item/phantom_liquiface.json 974194113a4b6bf1e101cc4a2b826cdc067204ef assets/actuallyadditions/models/item/phantom_placer.json 3eb4d917b6a1ad3a5512b505853cb2bc361e9942 assets/actuallyadditions/models/item/phantom_redstoneface.json +57dd3274f49361ca5954d8202453c12a250f1241 assets/actuallyadditions/models/item/phan_con_pattern.json bc0ddfda095c4b5ee092c5a3e4d0b6ba920c2d63 assets/actuallyadditions/models/item/placer.json 39c58314ca0c6a71223dd2e52e91ec1371831a74 assets/actuallyadditions/models/item/player_interface.json 6bd69a7b1644ed47ebc115b3e3168f78b47a5609 assets/actuallyadditions/models/item/player_probe.json diff --git a/src/generated/resources/assets/actuallyadditions/models/item/book_pattern.json b/src/generated/resources/assets/actuallyadditions/models/item/book_pattern.json new file mode 100644 index 000000000..cf7b10b6b --- /dev/null +++ b/src/generated/resources/assets/actuallyadditions/models/item/book_pattern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "actuallyadditions:item/book_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/actuallyadditions/models/item/drill_pattern.json b/src/generated/resources/assets/actuallyadditions/models/item/drill_pattern.json new file mode 100644 index 000000000..6f439fd6c --- /dev/null +++ b/src/generated/resources/assets/actuallyadditions/models/item/drill_pattern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "actuallyadditions:item/drill_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/actuallyadditions/models/item/leaf_blo_pattern.json b/src/generated/resources/assets/actuallyadditions/models/item/leaf_blo_pattern.json new file mode 100644 index 000000000..b0e239b0b --- /dev/null +++ b/src/generated/resources/assets/actuallyadditions/models/item/leaf_blo_pattern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "actuallyadditions:item/leaf_blo_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/actuallyadditions/models/item/phan_con_pattern.json b/src/generated/resources/assets/actuallyadditions/models/item/phan_con_pattern.json new file mode 100644 index 000000000..cc55e4b00 --- /dev/null +++ b/src/generated/resources/assets/actuallyadditions/models/item/phan_con_pattern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "actuallyadditions:item/phan_con_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/recipes/book_pattern.json b/src/generated/resources/data/actuallyadditions/recipes/book_pattern.json new file mode 100644 index 000000000..6c8b6a03f --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/recipes/book_pattern.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "actuallyadditions:booklet" + }, + { + "item": "minecraft:paper" + } + ], + "result": { + "item": "actuallyadditions:book_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/recipes/drill_pattern.json b/src/generated/resources/data/actuallyadditions/recipes/drill_pattern.json new file mode 100644 index 000000000..62f7ffdd5 --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/recipes/drill_pattern.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "actuallyadditions:drill_core" + }, + { + "item": "minecraft:paper" + } + ], + "result": { + "item": "actuallyadditions:drill_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/recipes/leaf_blo_pattern.json b/src/generated/resources/data/actuallyadditions/recipes/leaf_blo_pattern.json new file mode 100644 index 000000000..7001b6bd6 --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/recipes/leaf_blo_pattern.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "actuallyadditions:leaf_blower" + }, + { + "item": "minecraft:paper" + } + ], + "result": { + "item": "actuallyadditions:leaf_blo_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/recipes/phan_con_pattern.json b/src/generated/resources/data/actuallyadditions/recipes/phan_con_pattern.json new file mode 100644 index 000000000..a9d814e3d --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/recipes/phan_con_pattern.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "actuallyadditions:phantom_connector" + }, + { + "item": "minecraft:paper" + } + ], + "result": { + "item": "actuallyadditions:phan_con_pattern" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/tags/banner_pattern/pattern_item/book.json b/src/generated/resources/data/actuallyadditions/tags/banner_pattern/pattern_item/book.json new file mode 100644 index 000000000..cb6d38c17 --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/tags/banner_pattern/pattern_item/book.json @@ -0,0 +1,5 @@ +{ + "values": [ + "actuallyadditions:book" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/tags/banner_pattern/pattern_item/drill.json b/src/generated/resources/data/actuallyadditions/tags/banner_pattern/pattern_item/drill.json new file mode 100644 index 000000000..98af5712a --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/tags/banner_pattern/pattern_item/drill.json @@ -0,0 +1,5 @@ +{ + "values": [ + "actuallyadditions:drill" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/tags/banner_pattern/pattern_item/leaf_blower.json b/src/generated/resources/data/actuallyadditions/tags/banner_pattern/pattern_item/leaf_blower.json new file mode 100644 index 000000000..a0f7356ab --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/tags/banner_pattern/pattern_item/leaf_blower.json @@ -0,0 +1,5 @@ +{ + "values": [ + "actuallyadditions:leaf_blo" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/tags/banner_pattern/pattern_item/phan_con.json b/src/generated/resources/data/actuallyadditions/tags/banner_pattern/pattern_item/phan_con.json new file mode 100644 index 000000000..c30df6835 --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/tags/banner_pattern/pattern_item/phan_con.json @@ -0,0 +1,5 @@ +{ + "values": [ + "actuallyadditions:phan_con" + ] +} \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/api/ActuallyTags.java b/src/main/java/de/ellpeck/actuallyadditions/api/ActuallyTags.java index 76367a1cf..471835c0e 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/api/ActuallyTags.java +++ b/src/main/java/de/ellpeck/actuallyadditions/api/ActuallyTags.java @@ -8,12 +8,14 @@ import net.minecraft.tags.ItemTags; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BannerPattern; public final class ActuallyTags { public static final void init() { // lol Items.touch(); Blocks.touch(); + BannerPatterns.touch(); } public static class Items { public static void touch() { @@ -64,4 +66,19 @@ public final class ActuallyTags { return TagKey.create(Registries.BLOCK, new ResourceLocation(ActuallyAdditions.MODID, name)); } } + + public static class BannerPatterns { + public static void touch() { + // load the stupid tags + } + + public static final TagKey PATTERN_DRILL = tag("pattern_item/drill"); + public static final TagKey PATTERN_LEAF_BLO = tag("pattern_item/leaf_blower"); + public static final TagKey PATTERN_PHAN_CON = tag("pattern_item/phan_con"); + public static final TagKey PATTERN_BOOK = tag("pattern_item/book"); + + private static TagKey tag(String name) { + return TagKey.create(Registries.BANNER_PATTERN, new ResourceLocation(ActuallyAdditions.MODID, name)); + } + } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/data/ActuallyAdditionsData.java b/src/main/java/de/ellpeck/actuallyadditions/data/ActuallyAdditionsData.java index db869498c..164c79707 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/data/ActuallyAdditionsData.java +++ b/src/main/java/de/ellpeck/actuallyadditions/data/ActuallyAdditionsData.java @@ -48,6 +48,7 @@ public class ActuallyAdditionsData { generator.addProvider(true, new ItemTagsGenerator(packOutput, lookupProvider, generatorBlockTags, helper)); generator.addProvider(true, new PoiTypeTagsGenerator(packOutput, lookupProvider, helper)); generator.addProvider(true, new DamageTypeTagsGenerator(packOutput, lookupProvider, helper)); + generator.addProvider(true, new BannerPatternTagsGenerator(packOutput, lookupProvider, helper)); generator.addProvider(true, new BlockStateGenerator(packOutput, helper)); generator.addProvider(true, new ItemModelGenerator(packOutput, helper)); diff --git a/src/main/java/de/ellpeck/actuallyadditions/data/BannerPatternTagsGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/data/BannerPatternTagsGenerator.java new file mode 100644 index 000000000..1761eb2ee --- /dev/null +++ b/src/main/java/de/ellpeck/actuallyadditions/data/BannerPatternTagsGenerator.java @@ -0,0 +1,26 @@ +package de.ellpeck.actuallyadditions.data; + +import de.ellpeck.actuallyadditions.api.ActuallyTags; +import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; +import de.ellpeck.actuallyadditions.mod.misc.BannerHelper; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.tags.BannerPatternTagsProvider; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import org.jetbrains.annotations.Nullable; + +import java.util.concurrent.CompletableFuture; + +public class BannerPatternTagsGenerator extends BannerPatternTagsProvider { + public BannerPatternTagsGenerator(PackOutput output, CompletableFuture completableFuture, @Nullable ExistingFileHelper fileHelper) { + super(output, completableFuture, ActuallyAdditions.MODID, fileHelper); + } + + @Override + protected void addTags(HolderLookup.Provider pProvider) { + this.tag(ActuallyTags.BannerPatterns.PATTERN_DRILL).add(BannerHelper.DRILL.getKey()); + this.tag(ActuallyTags.BannerPatterns.PATTERN_LEAF_BLO).add(BannerHelper.LEAF_BLO.getKey()); + this.tag(ActuallyTags.BannerPatterns.PATTERN_PHAN_CON).add(BannerHelper.PHAN_CON.getKey()); + this.tag(ActuallyTags.BannerPatterns.PATTERN_BOOK).add(BannerHelper.BOOK.getKey()); + } +} diff --git a/src/main/java/de/ellpeck/actuallyadditions/data/ItemRecipeGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/data/ItemRecipeGenerator.java index 92303af1b..c8011b626 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/data/ItemRecipeGenerator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/data/ItemRecipeGenerator.java @@ -10,7 +10,12 @@ import de.ellpeck.actuallyadditions.mod.util.NoAdvRecipeOutput; import de.ellpeck.actuallyadditions.mod.util.RecipeInjector; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.PackOutput; -import net.minecraft.data.recipes.*; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.data.recipes.RecipeOutput; +import net.minecraft.data.recipes.RecipeProvider; +import net.minecraft.data.recipes.ShapedRecipeBuilder; +import net.minecraft.data.recipes.ShapelessRecipeBuilder; +import net.minecraft.data.recipes.SimpleCookingRecipeBuilder; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.ItemTags; import net.minecraft.world.item.Item; @@ -551,6 +556,24 @@ public class ItemRecipeGenerator extends RecipeProvider { SimpleCookingRecipeBuilder.blasting(Ingredient.of(ActuallyBlocks.BLACK_QUARTZ_ORE.getItem()), RecipeCategory.MISC, ActuallyItems.BLACK_QUARTZ.get(), 0.7F, 100) .unlockedBy("", has(Items.AIR)) .save(recipeOutput, new ResourceLocation(ActuallyAdditions.MODID, "black_quartz_ore_blasting")); + + //Patterns + Recipe.shapeless(ActuallyItems.DRILL_PATTERN.get()) + .requires(ActuallyItems.DRILL_CORE.get()) + .requires(Items.PAPER) + .save(recipeOutput); + Recipe.shapeless(ActuallyItems.LEAF_BLO_PATTERN.get()) + .requires(ActuallyItems.LEAF_BLOWER.get()) + .requires(Items.PAPER) + .save(recipeOutput); + Recipe.shapeless(ActuallyItems.PHAN_CON_PATTERN.get()) + .requires(ActuallyItems.PHANTOM_CONNECTOR.get()) + .requires(Items.PAPER) + .save(recipeOutput); + Recipe.shapeless(ActuallyItems.BOOK_PATTERN.get()) + .requires(ActuallyItems.ITEM_BOOKLET.get()) + .requires(Items.PAPER) + .save(recipeOutput); } protected void generateAOIT(RecipeOutput consumer) { diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/ActuallyAdditions.java b/src/main/java/de/ellpeck/actuallyadditions/mod/ActuallyAdditions.java index c885262a8..b6c9daf84 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/ActuallyAdditions.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/ActuallyAdditions.java @@ -118,6 +118,7 @@ public class ActuallyAdditions { ActuallyPOITypes.init(eventBus); ActuallyAttachments.init(eventBus); ActuallyLootModifiers.init(eventBus); + BannerHelper.init(eventBus); ActuallyContainers.CONTAINERS.register(eventBus); ENTITIES.register(eventBus); CONDITION_CODECS.register(eventBus); @@ -161,7 +162,6 @@ public class ActuallyAdditions { commonCapsLoaded = false; // Loader.isModLoaded("commoncapabilities"); new UpdateChecker(); - BannerHelper.init(); InitEntities.init(); // todo: [port] replace //AAWorldGen gen = new AAWorldGen(); ItemCoffee.initIngredients(); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ActuallyItems.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ActuallyItems.java index 64392741b..30ff0756b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ActuallyItems.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ActuallyItems.java @@ -12,12 +12,14 @@ package de.ellpeck.actuallyadditions.mod.items; import com.google.common.collect.ImmutableSet; import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI; +import de.ellpeck.actuallyadditions.api.ActuallyTags; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.blocks.AABlockItem; import de.ellpeck.actuallyadditions.mod.blocks.ActuallyBlocks; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; import de.ellpeck.actuallyadditions.mod.items.base.ItemEnergy; import de.ellpeck.actuallyadditions.mod.items.lens.ItemLens; +import net.minecraft.world.item.BannerPatternItem; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Tiers; @@ -179,6 +181,12 @@ public final class ActuallyItems { public static final DeferredItem DIAMOND_AIOT = ITEMS.register("diamond_aiot", () -> new AllInOneTool(Tiers.DIAMOND)); public static final DeferredItem NETHERITE_AIOT = ITEMS.register("netherite_aiot", () -> new AllInOneTool(Tiers.NETHERITE)); + // Banner Pattern + public static final DeferredItem DRILL_PATTERN = ITEMS.register("drill_pattern", () -> new BannerPatternItem(ActuallyTags.BannerPatterns.PATTERN_DRILL, defaultNonStacking())); + public static final DeferredItem LEAF_BLO_PATTERN = ITEMS.register("leaf_blo_pattern", () -> new BannerPatternItem(ActuallyTags.BannerPatterns.PATTERN_LEAF_BLO, defaultNonStacking())); + public static final DeferredItem PHAN_CON_PATTERN = ITEMS.register("phan_con_pattern", () -> new BannerPatternItem(ActuallyTags.BannerPatterns.PATTERN_PHAN_CON, defaultNonStacking())); + public static final DeferredItem BOOK_PATTERN = ITEMS.register("book_pattern", () -> new BannerPatternItem(ActuallyTags.BannerPatterns.PATTERN_BOOK, defaultNonStacking())); + public static final Set> SIMPLE_ITEMS = ImmutableSet.of( // Crystals BLACK_QUARTZ, RESTONIA_CRYSTAL, PALIS_CRYSTAL, DIAMATINE_CRYSTAL, @@ -199,7 +207,7 @@ public final class ActuallyItems { /* CRUSHED_IRON, CRUSHED_GOLD, CRUSHED_DIAMOND, CRUSHED_EMERALD, CRUSHED_LAPIS, CRUSHED_QUARTZ, CRUSHED_COAL, CRUSHED_BLACK_QUARTZ, */ SOLIDIFIED_EXPERIENCE, - COFFEE_BEANS, RICE_SEEDS, CANOLA_SEEDS, FLAX_SEEDS + COFFEE_BEANS, RICE_SEEDS, CANOLA_SEEDS, FLAX_SEEDS, DRILL_PATTERN, LEAF_BLO_PATTERN, PHAN_CON_PATTERN, BOOK_PATTERN ); public static final Set> TOOLS = ImmutableSet.of( diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/misc/BannerHelper.java b/src/main/java/de/ellpeck/actuallyadditions/mod/misc/BannerHelper.java index 54f1499cf..d44857500 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/misc/BannerHelper.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/misc/BannerHelper.java @@ -11,39 +11,21 @@ package de.ellpeck.actuallyadditions.mod.misc; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; -import de.ellpeck.actuallyadditions.mod.items.ActuallyItems; -import net.minecraft.world.item.ItemStack; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.world.level.block.entity.BannerPattern; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.registries.DeferredHolder; +import net.neoforged.neoforge.registries.DeferredRegister; public final class BannerHelper { + public static final DeferredRegister BANNER_PATTERNS = DeferredRegister.create(BuiltInRegistries.BANNER_PATTERN, ActuallyAdditions.MODID); - public static void init() { - addCraftingPattern("drill", new ItemStack(ActuallyItems.DRILL_MAIN.get())); - addCraftingPattern("leaf_blo", new ItemStack(ActuallyItems.LEAF_BLOWER.get())); - addCraftingPattern("phan_con", new ItemStack(ActuallyItems.PHANTOM_CONNECTOR.get())); - addCraftingPattern("book", new ItemStack(ActuallyItems.ITEM_BOOKLET.get())); + public static DeferredHolder DRILL = BANNER_PATTERNS.register("drill", () -> new BannerPattern(ActuallyAdditions.MODID + ":drill")); + public static DeferredHolder LEAF_BLO = BANNER_PATTERNS.register("leaf_blo", () -> new BannerPattern(ActuallyAdditions.MODID + ":leaf_blo")); + public static DeferredHolder PHAN_CON = BANNER_PATTERNS.register("phan_con", () -> new BannerPattern(ActuallyAdditions.MODID + ":phan_con")); + public static DeferredHolder BOOK = BANNER_PATTERNS.register("book", () -> new BannerPattern(ActuallyAdditions.MODID + ":book")); + + public static void init(IEventBus eventBus) { + BANNER_PATTERNS.register(eventBus); } - - /** - * (Excerpted from Additional Banners by Darkhax with permission, thanks!) - *

- * Adds a new banner pattern to the game. This banner pattern will be applied by using the - * provided item in a crafting recipe with the banner. - * - * @param name The name of the banner pattern. This is used for the texture file, and is - * also converted into upper case and used for the enum entry. Given how this - * system works, it's critical that this value is unique, consider adding the - * mod id to the name. - * //@param id A small string used to represent the pattern without taking up much space. An - * example of this is "bri". Given how the system works, it is critical that - * this is a unique value. please consider adding the mod id to the pattern id. - * @param craftingStack An ItemStack which is used in the crafting recipe for this pattern. - * An example of this would be the creeper skull being used for the creeper - * pattern. - */ - public static void addCraftingPattern(String name, ItemStack craftingStack) { - Class[] paramTypes = {String.class, String.class, ItemStack.class}; - Object[] paramValues = {ActuallyAdditions.MODID + "_" + name, ActuallyAdditions.MODID + "_" + name, craftingStack}; - // EnumHelper.addEnum(BannerPattern.class, (ActuallyAdditions.MODID + "_" + name).toUpperCase(Locale.ROOT), paramTypes, paramValues); //TODO wth banners - } - } diff --git a/src/main/resources/assets/actuallyadditions/lang/en_us.json b/src/main/resources/assets/actuallyadditions/lang/en_us.json index 52a571ea9..a740b02e0 100644 --- a/src/main/resources/assets/actuallyadditions/lang/en_us.json +++ b/src/main/resources/assets/actuallyadditions/lang/en_us.json @@ -395,6 +395,14 @@ "item.actuallyadditions.void_crystal_shard": "Black Crystal Shard", "item.actuallyadditions.emeradic_crystal_shard": "Green Crystal Shard", "item.actuallyadditions.enori_crystal_shard": "White Crystal Shard", + "item.actuallyadditions.drill_pattern": "Banner Pattern", + "item.actuallyadditions.drill_pattern.desc": "Drill", + "item.actuallyadditions.leaf_blo_pattern": "Banner Pattern", + "item.actuallyadditions.leaf_blo_pattern.desc": "Leaf Blower", + "item.actuallyadditions.phan_con_pattern": "Banner Pattern", + "item.actuallyadditions.phan_con_pattern.desc": "Phantom Connector", + "item.actuallyadditions.book_pattern": "Banner Pattern", + "item.actuallyadditions.book_pattern.desc": "Book", "_comment": "Tooltips", "tooltip.actuallyadditions.onSuffix.desc": "On", "tooltip.actuallyadditions.phantom.connected.desc": "", diff --git a/src/main/resources/assets/actuallyadditions/textures/item/book_pattern.png b/src/main/resources/assets/actuallyadditions/textures/item/book_pattern.png new file mode 100644 index 000000000..6f29d2a23 Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/item/book_pattern.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/item/drill_pattern.png b/src/main/resources/assets/actuallyadditions/textures/item/drill_pattern.png new file mode 100644 index 000000000..6f29d2a23 Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/item/drill_pattern.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/item/leaf_blo_pattern.png b/src/main/resources/assets/actuallyadditions/textures/item/leaf_blo_pattern.png new file mode 100644 index 000000000..6f29d2a23 Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/item/leaf_blo_pattern.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/item/phan_con_pattern.png b/src/main/resources/assets/actuallyadditions/textures/item/phan_con_pattern.png new file mode 100644 index 000000000..6f29d2a23 Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/item/phan_con_pattern.png differ