diff --git a/src/api/java/mekanism/api/MekanismAPITags.java b/src/api/java/mekanism/api/MekanismAPITags.java index c2715a67fed..d7c46381108 100644 --- a/src/api/java/mekanism/api/MekanismAPITags.java +++ b/src/api/java/mekanism/api/MekanismAPITags.java @@ -8,6 +8,7 @@ import net.minecraft.world.damagesource.DamageType; import net.minecraft.world.effect.MobEffect; import net.minecraft.world.entity.EntityType; +import net.minecraft.world.item.Item; /** * Provides access to pre-existing tag keys for various functionality that we use tags for. @@ -91,6 +92,24 @@ private static TagKey tag(String name) { } } + /** + * @since 10.7.0 + */ + public static class Items { + + private Items() { + } + + /** + * Contains all mekanism modules. + */ + public static final TagKey MEKA_UNITS = tag("unit"); + + private static TagKey tag(String name) { + return TagKey.create(Registries.ITEM, rl(name)); + } + } + public static class MobEffects { private MobEffects() { diff --git a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 index 614416d830b..6815bf733e3 100644 --- a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 +++ b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-20T11:29:12.7891283 Languages: en_us for mod: mekanism +// 1.21.1 2024-08-20T12:57:24.8675755 Languages: en_us for mod: mekanism 7897d55635ae6a20fd1ebc5874196e7b8ba7d726 assets/mekanism/lang/en_au.json 7897d55635ae6a20fd1ebc5874196e7b8ba7d726 assets/mekanism/lang/en_gb.json -4f3d09ed57b049522dad25669f623fd528d6fb37 assets/mekanism/lang/en_ud.json -b1d0c8874b2741320a92eeadd2a68ac70ebf2c60 assets/mekanism/lang/en_us.json +8f8d19e7920a6b8c4cf0e3ca073857dffc37c725 assets/mekanism/lang/en_ud.json +da62e93136e15dae97b693358e0b540353701678 assets/mekanism/lang/en_us.json diff --git a/src/datagen/generated/mekanism/.cache/f4271571320fe007f5d8ba9eb4461ed6922f6a93 b/src/datagen/generated/mekanism/.cache/f4271571320fe007f5d8ba9eb4461ed6922f6a93 index 911508fe295..1ce322cc1e2 100644 --- a/src/datagen/generated/mekanism/.cache/f4271571320fe007f5d8ba9eb4461ed6922f6a93 +++ b/src/datagen/generated/mekanism/.cache/f4271571320fe007f5d8ba9eb4461ed6922f6a93 @@ -1,4 +1,4 @@ -// 1.21.1 2024-08-20T12:17:48.4315732 Tags: mekanism +// 1.21.1 2024-08-20T12:53:28.0305939 Tags: mekanism 8a89da3b810e00ad44b7ee4d062a88db6298c8fe data/create/tags/fluid/no_infinite_draining.json b881c0bb158879ac88758c2b0562b422271e6397 data/c/tags/block/barrels.json adb3ecfd3180c123cdc984320eab5ce930bdc5be data/c/tags/block/barrels/personal.json @@ -238,6 +238,7 @@ b2120789859908320dbc76815630b40fe060ebc2 data/mekanism/tags/item/muffling_center a58ddd5a8f5be0c88b72a84ee584f41d15b7b367 data/mekanism/tags/item/personal_storage.json aa53bc6da85fb79e3103e642309bd81593088499 data/mekanism/tags/item/shards.json da5fac0b5280e7ffa0b5a33de0d7e696f1fdbad0 data/mekanism/tags/item/stone_crafting_materials.json +c0fa4c502fa4977bb024aa5c59ab99d00fb853ff data/mekanism/tags/item/unit.json 4352f2d5cbacccc1ad1e93fce7ce57b876242f92 data/mekanism/tags/mekanism/chemical/bio.json 5c0c1b88e77131a2d64533b20b7e071e63173f4a data/mekanism/tags/mekanism/chemical/carbon.json 3825830b29d051492a06a5aa0de89f95cd6ac79d data/mekanism/tags/mekanism/chemical/clean.json diff --git a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json index c3d0672335d..706b6cbd5d7 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json @@ -1888,6 +1888,7 @@ "tag.item.mekanism.personal_storage": "ǝᵷɐɹoʇS ꞁɐuosɹǝԀ", "tag.item.mekanism.shards": "spɹɐɥS", "tag.item.mekanism.stone_crafting_materials": "sꞁɐᴉɹǝʇɐW ᵷuᴉʇɟɐɹƆ ǝuoʇS", + "tag.item.mekanism.unit": "sʇᴉu∩ ɐʞǝW", "tag.mekanism.chemical.mekanism.bio": "oᴉᗺ", "tag.mekanism.chemical.mekanism.carbon": "uoqɹɐƆ", "tag.mekanism.chemical.mekanism.clean": "ʎɹɹnꞁS uɐǝꞁƆ", diff --git a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json index a005271d7b2..a9ab8b348c6 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json @@ -1891,6 +1891,7 @@ "tag.item.mekanism.personal_storage": "Personal Storage", "tag.item.mekanism.shards": "Shards", "tag.item.mekanism.stone_crafting_materials": "Stone Crafting Materials", + "tag.item.mekanism.unit": "Meka Units", "tag.mekanism.chemical.mekanism.bio": "Bio", "tag.mekanism.chemical.mekanism.carbon": "Carbon", "tag.mekanism.chemical.mekanism.clean": "Clean Slurry", diff --git a/src/datagen/generated/mekanism/data/mekanism/tags/item/unit.json b/src/datagen/generated/mekanism/data/mekanism/tags/item/unit.json new file mode 100644 index 00000000000..06ce572c7b9 --- /dev/null +++ b/src/datagen/generated/mekanism/data/mekanism/tags/item/unit.json @@ -0,0 +1,35 @@ +{ + "values": [ + "mekanism:module_energy_unit", + "mekanism:module_color_modulation_unit", + "mekanism:module_laser_dissipation_unit", + "mekanism:module_radiation_shielding_unit", + "mekanism:module_excavation_escalation_unit", + "mekanism:module_attack_amplification_unit", + "mekanism:module_farming_unit", + "mekanism:module_shearing_unit", + "mekanism:module_silk_touch_unit", + "mekanism:module_fortune_unit", + "mekanism:module_blasting_unit", + "mekanism:module_vein_mining_unit", + "mekanism:module_teleportation_unit", + "mekanism:module_electrolytic_breathing_unit", + "mekanism:module_inhalation_purification_unit", + "mekanism:module_vision_enhancement_unit", + "mekanism:module_nutritional_injection_unit", + "mekanism:module_dosimeter_unit", + "mekanism:module_geiger_unit", + "mekanism:module_jetpack_unit", + "mekanism:module_charge_distribution_unit", + "mekanism:module_gravitational_modulating_unit", + "mekanism:module_elytra_unit", + "mekanism:module_locomotive_boosting_unit", + "mekanism:module_gyroscopic_stabilization_unit", + "mekanism:module_hydrostatic_repulsor_unit", + "mekanism:module_motorized_servo_unit", + "mekanism:module_hydraulic_propulsion_unit", + "mekanism:module_magnetic_attraction_unit", + "mekanism:module_frost_walker_unit", + "mekanism:module_soul_surfer_unit" + ] +} \ No newline at end of file diff --git a/src/datagen/generated/mekanismgenerators/.cache/08f2b53f4cfddb5dc20bb23057cbafdfe1cdd910 b/src/datagen/generated/mekanismgenerators/.cache/08f2b53f4cfddb5dc20bb23057cbafdfe1cdd910 index 579565b1319..115be6b8348 100644 --- a/src/datagen/generated/mekanismgenerators/.cache/08f2b53f4cfddb5dc20bb23057cbafdfe1cdd910 +++ b/src/datagen/generated/mekanismgenerators/.cache/08f2b53f4cfddb5dc20bb23057cbafdfe1cdd910 @@ -1,4 +1,4 @@ -// 1.21.1 2024-08-20T12:17:49.395565 Tags: mekanismgenerators +// 1.21.1 2024-08-20T12:53:29.8791014 Tags: mekanismgenerators 51c625436874fdd2506b20267e03dabf44c090b0 data/create/tags/fluid/no_infinite_draining.json f30d0458accef4b51831b90f9039c05d00276e48 data/c/tags/block/relocation_not_supported.json bcd21ce2046a3b918a45281848276b4479c761dd data/c/tags/fluid/bioethanol.json @@ -11,6 +11,7 @@ e2a5f1e2e87e4d710f560c0c2feb3c7d1b95b6da data/c/tags/item/buckets/fusion_fuel.js 1b49261b0faee223ee3383eda35c914c14bc82ff data/c/tags/item/buckets/tritium.json 235deeb52239ce6ab2ad8d5e7fa519bf9ab722a4 data/framedblocks/tags/block/blockentity_whitelisted.json 235deeb52239ce6ab2ad8d5e7fa519bf9ab722a4 data/framedblocks/tags/block/frameable.json +3143d9eb28556424adefd00e458e88e56d911dc2 data/mekanism/tags/item/unit.json be4bda854d3fe9deb94fb59619b00b5a068729bf data/mekanism/tags/mekanism/chemical/deuterium.json f335abd8b1bb57e1fb2740b6c80d8c5cb80b06c1 data/mekanism/tags/mekanism/chemical/fusion_fuel.json e7f3de2230470165a4e2f84ad01e7a005ad81e2f data/mekanism/tags/mekanism/chemical/tritium.json diff --git a/src/datagen/generated/mekanismgenerators/data/mekanism/tags/item/unit.json b/src/datagen/generated/mekanismgenerators/data/mekanism/tags/item/unit.json new file mode 100644 index 00000000000..19e28b701e6 --- /dev/null +++ b/src/datagen/generated/mekanismgenerators/data/mekanism/tags/item/unit.json @@ -0,0 +1,6 @@ +{ + "values": [ + "mekanismgenerators:module_solar_recharging_unit", + "mekanismgenerators:module_geothermal_generator_unit" + ] +} \ No newline at end of file diff --git a/src/datagen/generators/java/mekanism/generators/common/GeneratorsTagProvider.java b/src/datagen/generators/java/mekanism/generators/common/GeneratorsTagProvider.java index 620287b1cc0..2dc653c33b6 100644 --- a/src/datagen/generators/java/mekanism/generators/common/GeneratorsTagProvider.java +++ b/src/datagen/generators/java/mekanism/generators/common/GeneratorsTagProvider.java @@ -2,10 +2,13 @@ import java.util.Collection; import java.util.concurrent.CompletableFuture; +import mekanism.api.MekanismAPITags; +import mekanism.common.content.gear.IModuleItem; import mekanism.common.tag.BaseTagProvider; import mekanism.generators.common.registries.GeneratorsBlocks; import mekanism.generators.common.registries.GeneratorsChemicals; import mekanism.generators.common.registries.GeneratorsFluids; +import mekanism.generators.common.registries.GeneratorsItems; import net.minecraft.core.Holder; import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; @@ -60,6 +63,8 @@ protected void registerTags(HolderLookup.Provider registries) { addToTag(FRAMEABLE, GeneratorsBlocks.REACTOR_GLASS, GeneratorsBlocks.LASER_FOCUS_MATRIX); addToTag(FB_BE_WHITELIST, GeneratorsBlocks.REACTOR_GLASS, GeneratorsBlocks.LASER_FOCUS_MATRIX); + + getItemBuilder(MekanismAPITags.Items.MEKA_UNITS).add(GeneratorsItems.ITEMS.getEntries().stream().filter(item -> item.get() instanceof IModuleItem).toList()); } private void addBoxBlacklist() { diff --git a/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java b/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java index b08c1d61176..ce46524bae9 100644 --- a/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java +++ b/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java @@ -87,6 +87,7 @@ protected void addTranslations() { } private void addTags() { + addTag(MekanismAPITags.Items.MEKA_UNITS, "Meka Units"); addTag(MekanismTags.Items.CONFIGURATORS, "Configurators"); addTag(MekanismTags.Items.TOOLS_WRENCH, "Wrenches"); addTag(MekanismTags.Items.PERSONAL_STORAGE, "Personal Storage"); diff --git a/src/datagen/main/java/mekanism/common/tag/MekanismTagProvider.java b/src/datagen/main/java/mekanism/common/tag/MekanismTagProvider.java index e923ee028a7..d1e5754366f 100644 --- a/src/datagen/main/java/mekanism/common/tag/MekanismTagProvider.java +++ b/src/datagen/main/java/mekanism/common/tag/MekanismTagProvider.java @@ -8,6 +8,7 @@ import mekanism.api.chemical.Chemical; import mekanism.api.providers.IItemProvider; import mekanism.common.Mekanism; +import mekanism.common.content.gear.IModuleItem; import mekanism.common.registration.impl.BlockRegistryObject; import mekanism.common.registration.impl.ItemRegistryObject; import mekanism.common.registration.impl.SlurryRegistryObject; @@ -165,6 +166,8 @@ protected void registerTags(HolderLookup.Provider registries) { addToTag(FRAMEABLE, MekanismBlocks.STRUCTURAL_GLASS); addToTag(FB_BE_WHITELIST, MekanismBlocks.STRUCTURAL_GLASS); + + getItemBuilder(MekanismAPITags.Items.MEKA_UNITS).add(MekanismItems.ITEMS.getEntries().stream().filter(item -> item.get() instanceof IModuleItem).toList()); } private void addEntities() {