From 90f1b76864b7abb800fee895b7c26d25ccbe7c0f Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 12 Aug 2026 19:35:54 +0200 Subject: [PATCH] Cover the whole pack: 124 materials from 20 mods, and fix gem-socket properties Arcane essence gave no max mana when socketed into armour. Its attributes were filed under the `armor` material-property key, but a gem module is not tagged `armor` - the modules declare which material properties they accept and list only `default` plus their own gem tags, so anything under `armor` or `handheld` never applied. Everything on the gem-capable materials now hangs off `default`, and the attribute's own slot decides where it counts. Cinder essence's fire immunity had the same defect. New materials, taken from the mods actually in the pack: Ender IO the full alloy ladder plus its six crystals AE2 certus quartz, charged certus, fluix Occultism iesnium, spirit attuned gem Ars Nouveau source gem NauTec cast iron, atlantic gold, aquarine steel Superb War tungsten, cemented carbide Pastel ten gems Crystal Chron eight shards plus pink slime, dimensional shard, industrial iron, ferdonzor, glowshard The two gem-set mods are generated from a table with shared stat bands per tier, since their gems differ by colour and lore rather than by kind; the palette still comes from each gem's own texture. Metals that overlap a mod already covered are skipped rather than duplicated: Superb Warfare's steel/lead/silver and Create Crafts & Additions' electrum. Co-Authored-By: Claude Opus 5 --- README.md | 22 +- .../eu/abdelbaki/cmmodular/CMModular.java | 14 +- .../resources/META-INF/neoforge.mods.toml | 84 ++++ .../materials/crystal/certus_quartz.json | 47 +++ .../crystal/charged_certus_quartz.json | 55 +++ .../miapi/materials/crystal/fluix.json | 55 +++ src/main/resources/packs/ae2/pack.mcmeta | 6 + .../miapi/materials/crystal/source_gem.json | 56 +++ .../resources/packs/ars_nouveau/pack.mcmeta | 6 + .../materials/metal/industrial_iron.json | 47 +++ .../resources/packs/createdeco/pack.mcmeta | 6 + .../materials/crystal/avaricite_shard.json | 60 +++ .../materials/crystal/divinite_shard.json | 53 +++ .../materials/crystal/floralite_shard.json | 47 +++ .../materials/crystal/hemalite_shard.json | 53 +++ .../miapi/materials/crystal/ice_shard.json | 55 +++ .../materials/crystal/voidstone_shard.json | 53 +++ .../materials/crystal/volcanite_shard.json | 58 +++ .../materials/crystal/voltite_shard.json | 56 +++ .../packs/crystal_chronicles/pack.mcmeta | 6 + .../materials/crystal/ender_crystal.json | 55 +++ .../materials/crystal/enticing_crystal.json | 59 +++ .../materials/crystal/prescient_crystal.json | 52 +++ .../materials/crystal/pulsating_crystal.json | 55 +++ .../materials/crystal/vibrant_crystal.json | 55 +++ .../materials/crystal/weather_crystal.json | 55 +++ .../materials/metal/conductive_alloy.json | 47 +++ .../miapi/materials/metal/dark_steel.json | 53 +++ .../miapi/materials/metal/end_steel.json | 53 +++ .../materials/metal/energetic_alloy.json | 57 +++ .../materials/metal/pulsating_alloy.json | 55 +++ .../miapi/materials/metal/redstone_alloy.json | 55 +++ .../miapi/materials/metal/soularium.json | 52 +++ .../miapi/materials/metal/vibrant_alloy.json | 57 +++ src/main/resources/packs/enderio/pack.mcmeta | 6 + .../miapi/materials/crystal/dread_shard.json | 2 +- .../miapi/materials/crystal/pixie_dust.json | 4 +- .../miapi/materials/metal/pink_slime.json | 55 +++ .../packs/industrialforegoing/pack.mcmeta | 6 + .../materials/crystal/arcane_essence.json | 10 +- .../materials/crystal/cinder_essence.json | 12 +- .../miapi/materials/metal/aquarine_steel.json | 55 +++ .../miapi/materials/metal/atlantic_gold.json | 53 +++ .../miapi/materials/metal/cast_iron.json | 47 +++ src/main/resources/packs/nautec/pack.mcmeta | 6 + .../materials/crystal/spirit_attuned_gem.json | 52 +++ .../miapi/materials/metal/iesnium.json | 53 +++ .../resources/packs/occultism/pack.mcmeta | 6 + .../materials/crystal/bismuth_crystal.json | 47 +++ .../materials/crystal/blazing_crystal.json | 58 +++ .../materials/crystal/citrine_shard.json | 47 +++ .../materials/crystal/frostbite_crystal.json | 56 +++ .../materials/crystal/moonstone_shard.json | 56 +++ .../miapi/materials/crystal/onyx_shard.json | 53 +++ .../materials/crystal/paltaeria_gem.json | 48 +++ .../materials/crystal/shimmerstone_gem.json | 57 +++ .../miapi/materials/crystal/stratine_gem.json | 48 +++ .../miapi/materials/crystal/topaz_shard.json | 47 +++ src/main/resources/packs/pastel/pack.mcmeta | 6 + .../materials/crystal/dimensional_shard.json | 55 +++ .../resources/packs/rftoolsbase/pack.mcmeta | 6 + .../miapi/materials/crystal/glow_shard.json | 55 +++ .../miapi/materials/metal/ferdonzor.json | 44 ++ .../packs/steampunkdimension/pack.mcmeta | 6 + .../materials/metal/cemented_carbide.json | 59 +++ .../miapi/materials/metal/tungsten.json | 59 +++ .../resources/packs/superbwarfare/pack.mcmeta | 6 + tools/materials.py | 387 ++++++++++++++++-- 68 files changed, 3114 insertions(+), 52 deletions(-) create mode 100644 src/main/resources/packs/ae2/data/cmmodular/miapi/materials/crystal/certus_quartz.json create mode 100644 src/main/resources/packs/ae2/data/cmmodular/miapi/materials/crystal/charged_certus_quartz.json create mode 100644 src/main/resources/packs/ae2/data/cmmodular/miapi/materials/crystal/fluix.json create mode 100644 src/main/resources/packs/ae2/pack.mcmeta create mode 100644 src/main/resources/packs/ars_nouveau/data/cmmodular/miapi/materials/crystal/source_gem.json create mode 100644 src/main/resources/packs/ars_nouveau/pack.mcmeta create mode 100644 src/main/resources/packs/createdeco/data/cmmodular/miapi/materials/metal/industrial_iron.json create mode 100644 src/main/resources/packs/createdeco/pack.mcmeta create mode 100644 src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/avaricite_shard.json create mode 100644 src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/divinite_shard.json create mode 100644 src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/floralite_shard.json create mode 100644 src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/hemalite_shard.json create mode 100644 src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/ice_shard.json create mode 100644 src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/voidstone_shard.json create mode 100644 src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/volcanite_shard.json create mode 100644 src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/voltite_shard.json create mode 100644 src/main/resources/packs/crystal_chronicles/pack.mcmeta create mode 100644 src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/ender_crystal.json create mode 100644 src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/enticing_crystal.json create mode 100644 src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/prescient_crystal.json create mode 100644 src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/pulsating_crystal.json create mode 100644 src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/vibrant_crystal.json create mode 100644 src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/weather_crystal.json create mode 100644 src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/conductive_alloy.json create mode 100644 src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/dark_steel.json create mode 100644 src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/end_steel.json create mode 100644 src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/energetic_alloy.json create mode 100644 src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/pulsating_alloy.json create mode 100644 src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/redstone_alloy.json create mode 100644 src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/soularium.json create mode 100644 src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/vibrant_alloy.json create mode 100644 src/main/resources/packs/enderio/pack.mcmeta create mode 100644 src/main/resources/packs/industrialforegoing/data/cmmodular/miapi/materials/metal/pink_slime.json create mode 100644 src/main/resources/packs/industrialforegoing/pack.mcmeta create mode 100644 src/main/resources/packs/nautec/data/cmmodular/miapi/materials/metal/aquarine_steel.json create mode 100644 src/main/resources/packs/nautec/data/cmmodular/miapi/materials/metal/atlantic_gold.json create mode 100644 src/main/resources/packs/nautec/data/cmmodular/miapi/materials/metal/cast_iron.json create mode 100644 src/main/resources/packs/nautec/pack.mcmeta create mode 100644 src/main/resources/packs/occultism/data/cmmodular/miapi/materials/crystal/spirit_attuned_gem.json create mode 100644 src/main/resources/packs/occultism/data/cmmodular/miapi/materials/metal/iesnium.json create mode 100644 src/main/resources/packs/occultism/pack.mcmeta create mode 100644 src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/bismuth_crystal.json create mode 100644 src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/blazing_crystal.json create mode 100644 src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/citrine_shard.json create mode 100644 src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/frostbite_crystal.json create mode 100644 src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/moonstone_shard.json create mode 100644 src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/onyx_shard.json create mode 100644 src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/paltaeria_gem.json create mode 100644 src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/shimmerstone_gem.json create mode 100644 src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/stratine_gem.json create mode 100644 src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/topaz_shard.json create mode 100644 src/main/resources/packs/pastel/pack.mcmeta create mode 100644 src/main/resources/packs/rftoolsbase/data/cmmodular/miapi/materials/crystal/dimensional_shard.json create mode 100644 src/main/resources/packs/rftoolsbase/pack.mcmeta create mode 100644 src/main/resources/packs/steampunkdimension/data/cmmodular/miapi/materials/crystal/glow_shard.json create mode 100644 src/main/resources/packs/steampunkdimension/data/cmmodular/miapi/materials/metal/ferdonzor.json create mode 100644 src/main/resources/packs/steampunkdimension/pack.mcmeta create mode 100644 src/main/resources/packs/superbwarfare/data/cmmodular/miapi/materials/metal/cemented_carbide.json create mode 100644 src/main/resources/packs/superbwarfare/data/cmmodular/miapi/materials/metal/tungsten.json create mode 100644 src/main/resources/packs/superbwarfare/pack.mcmeta diff --git a/README.md b/README.md index a2cb4cf..ee45e91 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,12 @@ # Create/Mekanism Modular A [Truly Modular](https://modrinth.com/mod/modular-item-api) addon for Minecraft -1.21.1 / NeoForge. It adds 77 materials drawn from Create, Mekanism, Ice and -Fire, Immersive Engineering, Iron's Spells 'n Spellbooks, Create: The Air War, -Create: Cosmonautics and Aeronautics: Interstellar Expansion, so those mods' -metals, gems, scales and essences can be used to build modular tools and armour. +1.21.1 / NeoForge. It adds 124 materials drawn from 20 mods - Create, Mekanism, Ice +and Fire, Immersive Engineering, Ender IO, Applied Energistics, Occultism, +Ars Nouveau, Iron's Spells, Pastel, Crystal Chronicles, NauTec, Superb Warfare, +Industrial Foregoing, RFTools, Create Deco, Steampunk Dimension and the three +Create aerospace addons - so their metals, gems, scales and essences can all be +used to build modular tools and armour. Every source mod is optional. Install any subset - the materials for mods you do not have are never registered. @@ -122,4 +124,14 @@ Requires `pillow` and `numpy`. material carries both and fits any gem slot. - Immersive Engineering contributes aluminium, nickel, constantan, electrum and graphite. Its steel, lead, uranium and silver are not separate materials - see - overlapping metals above. + overlapping metals above. Superb Warfare's steel/lead/silver and Create Crafts + & Additions' electrum are skipped for the same reason. +- Crystal Chronicles and Pastel add whole families of gems that differ by colour + and lore rather than by kind, so those are generated from a table with shared + stat bands per tier. What actually tells them apart in game is the palette, + and that still comes from each gem's own texture. +- Material properties belong under the `default` key, not `armor` or `handheld`. + A gem socketed into armour is not tagged `armor`: gem modules declare which + material properties they accept and list only `default` plus their own gem + tags. Anything filed under `armor`/`handheld` silently never applies to a + socketed gem. The attribute's own slot is what decides where it counts. diff --git a/src/main/java/eu/abdelbaki/cmmodular/CMModular.java b/src/main/java/eu/abdelbaki/cmmodular/CMModular.java index 070e6bc..1690263 100644 --- a/src/main/java/eu/abdelbaki/cmmodular/CMModular.java +++ b/src/main/java/eu/abdelbaki/cmmodular/CMModular.java @@ -49,7 +49,19 @@ public class CMModular { new MaterialPack("irons_spellbooks", "Iron's Spells Materials", "irons_spellbooks"), new MaterialPack("interstellar", "Interstellar Expansion Materials", "vsie"), new MaterialPack("air_war", "Create: The Air War Materials", "create_the_air_wars"), - new MaterialPack("cosmonautics", "Create: Cosmonautics Materials", "rocketnautics")); + new MaterialPack("cosmonautics", "Create: Cosmonautics Materials", "rocketnautics"), + new MaterialPack("enderio", "Ender IO Materials", "enderio"), + new MaterialPack("ae2", "Applied Energistics Materials", "ae2"), + new MaterialPack("ars_nouveau", "Ars Nouveau Materials", "ars_nouveau"), + new MaterialPack("occultism", "Occultism Materials", "occultism"), + new MaterialPack("industrialforegoing", "Industrial Foregoing Materials", "industrialforegoing"), + new MaterialPack("nautec", "NauTec Materials", "nautec"), + new MaterialPack("superbwarfare", "Superb Warfare Materials", "superbwarfare"), + new MaterialPack("steampunkdimension", "Steampunk Dimension Materials", "steampunkdimension"), + new MaterialPack("rftoolsbase", "RFTools Materials", "rftoolsbase"), + new MaterialPack("createdeco", "Create Deco Materials", "createdeco"), + new MaterialPack("crystal_chronicles", "Crystal Chronicles Materials", "crystal_chronicles"), + new MaterialPack("pastel", "Pastel Materials", "pastel")); public CMModular(IEventBus modBus) { FireImmunity.register(modBus); diff --git a/src/main/resources/META-INF/neoforge.mods.toml b/src/main/resources/META-INF/neoforge.mods.toml index f6c71ae..0dce34b 100644 --- a/src/main/resources/META-INF/neoforge.mods.toml +++ b/src/main/resources/META-INF/neoforge.mods.toml @@ -98,3 +98,87 @@ type = "optional" versionRange = "[0,)" ordering = "AFTER" side = "BOTH" + +[[dependencies.${mod_id}]] +modId = "enderio" +type = "optional" +versionRange = "[0,)" +ordering = "AFTER" +side = "BOTH" + +[[dependencies.${mod_id}]] +modId = "ae2" +type = "optional" +versionRange = "[0,)" +ordering = "AFTER" +side = "BOTH" + +[[dependencies.${mod_id}]] +modId = "ars_nouveau" +type = "optional" +versionRange = "[0,)" +ordering = "AFTER" +side = "BOTH" + +[[dependencies.${mod_id}]] +modId = "occultism" +type = "optional" +versionRange = "[0,)" +ordering = "AFTER" +side = "BOTH" + +[[dependencies.${mod_id}]] +modId = "industrialforegoing" +type = "optional" +versionRange = "[0,)" +ordering = "AFTER" +side = "BOTH" + +[[dependencies.${mod_id}]] +modId = "nautec" +type = "optional" +versionRange = "[0,)" +ordering = "AFTER" +side = "BOTH" + +[[dependencies.${mod_id}]] +modId = "superbwarfare" +type = "optional" +versionRange = "[0,)" +ordering = "AFTER" +side = "BOTH" + +[[dependencies.${mod_id}]] +modId = "steampunkdimension" +type = "optional" +versionRange = "[0,)" +ordering = "AFTER" +side = "BOTH" + +[[dependencies.${mod_id}]] +modId = "rftoolsbase" +type = "optional" +versionRange = "[0,)" +ordering = "AFTER" +side = "BOTH" + +[[dependencies.${mod_id}]] +modId = "createdeco" +type = "optional" +versionRange = "[0,)" +ordering = "AFTER" +side = "BOTH" + +[[dependencies.${mod_id}]] +modId = "crystal_chronicles" +type = "optional" +versionRange = "[0,)" +ordering = "AFTER" +side = "BOTH" + +[[dependencies.${mod_id}]] +modId = "pastel" +type = "optional" +versionRange = "[0,)" +ordering = "AFTER" +side = "BOTH" diff --git a/src/main/resources/packs/ae2/data/cmmodular/miapi/materials/crystal/certus_quartz.json b/src/main/resources/packs/ae2/data/cmmodular/miapi/materials/crystal/certus_quartz.json new file mode 100644 index 0000000..a2078a5 --- /dev/null +++ b/src/main/resources/packs/ae2/data/cmmodular/miapi/materials/crystal/certus_quartz.json @@ -0,0 +1,47 @@ +{ + "translation": "Certus Quartz ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "ae2:certus_quartz_crystal" + }, + "hardness": 5.0, + "density": 2.2, + "flexibility": 0, + "durability": 420, + "enchantability": 16, + "toughness": 1, + "tier": 3, + "mining_speed": 7, + "mining_level": "minecraft:incorrect_for_iron_tool", + "armor_durability": 16, + "color": "ACE9FF", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "15212d", + "68": "294057", + "107": "3c5f80", + "150": "3c5f80", + "190": "7da9d2", + "216": "ace9ff", + "255": "feffff" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "items": [ + { + "item": "ae2:certus_quartz_crystal", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/ae2/data/cmmodular/miapi/materials/crystal/charged_certus_quartz.json b/src/main/resources/packs/ae2/data/cmmodular/miapi/materials/crystal/charged_certus_quartz.json new file mode 100644 index 0000000..fd6995a --- /dev/null +++ b/src/main/resources/packs/ae2/data/cmmodular/miapi/materials/crystal/charged_certus_quartz.json @@ -0,0 +1,55 @@ +{ + "translation": "Charged Certus ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "ae2:charged_certus_quartz_crystal" + }, + "hardness": 5.4, + "density": 2.2, + "flexibility": 0, + "durability": 700, + "enchantability": 22, + "toughness": 1, + "tier": 4, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_diamond_tool", + "armor_durability": 22, + "color": "ACE9FF", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "15212d", + "68": "294057", + "107": "3c5f80", + "150": "3c5f80", + "190": "7da9d2", + "216": "ace9ff", + "255": "feffff" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "emissive": { + "sky": 5, + "block": 5 + } + } + }, + "items": [ + { + "item": "ae2:charged_certus_quartz_crystal", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/ae2/data/cmmodular/miapi/materials/crystal/fluix.json b/src/main/resources/packs/ae2/data/cmmodular/miapi/materials/crystal/fluix.json new file mode 100644 index 0000000..f5e70f2 --- /dev/null +++ b/src/main/resources/packs/ae2/data/cmmodular/miapi/materials/crystal/fluix.json @@ -0,0 +1,55 @@ +{ + "translation": "Fluix ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "ae2:fluix_crystal" + }, + "hardness": 6.2, + "density": 2.0, + "flexibility": 2, + "durability": 1300, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 10, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "color": "915DCD", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "0a0912", + "68": "141223", + "107": "1a172f", + "150": "1a172f", + "190": "262b54", + "216": "915dcd", + "255": "ff80d7" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "emissive": { + "sky": 6, + "block": 6 + } + } + }, + "items": [ + { + "item": "ae2:fluix_crystal", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/ae2/pack.mcmeta b/src/main/resources/packs/ae2/pack.mcmeta new file mode 100644 index 0000000..d18ebe8 --- /dev/null +++ b/src/main/resources/packs/ae2/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "Applied Energistics Materials for Truly Modular", + "pack_format": 48 + } +} diff --git a/src/main/resources/packs/ars_nouveau/data/cmmodular/miapi/materials/crystal/source_gem.json b/src/main/resources/packs/ars_nouveau/data/cmmodular/miapi/materials/crystal/source_gem.json new file mode 100644 index 0000000..d28656e --- /dev/null +++ b/src/main/resources/packs/ars_nouveau/data/cmmodular/miapi/materials/crystal/source_gem.json @@ -0,0 +1,56 @@ +{ + "translation": "Source ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "ars_nouveau:source_gem" + }, + "hardness": 5.2, + "density": 1.4, + "flexibility": 5, + "durability": 600, + "enchantability": 30, + "toughness": 1, + "tier": 4, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_diamond_tool", + "armor_durability": 20, + "color": "EA8EF3", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "30083f", + "68": "5c107a", + "107": "6b197d", + "150": "941f90", + "190": "9e61da", + "216": "ea8ef3", + "255": "fdd9f1" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "emissive": { + "sky": 7, + "block": 7 + }, + "luminious_learning": "1" + } + }, + "items": [ + { + "item": "ars_nouveau:source_gem", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/ars_nouveau/pack.mcmeta b/src/main/resources/packs/ars_nouveau/pack.mcmeta new file mode 100644 index 0000000..6a96dd1 --- /dev/null +++ b/src/main/resources/packs/ars_nouveau/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "Ars Nouveau Materials for Truly Modular", + "pack_format": 48 + } +} diff --git a/src/main/resources/packs/createdeco/data/cmmodular/miapi/materials/metal/industrial_iron.json b/src/main/resources/packs/createdeco/data/cmmodular/miapi/materials/metal/industrial_iron.json new file mode 100644 index 0000000..514b7cd --- /dev/null +++ b/src/main/resources/packs/createdeco/data/cmmodular/miapi/materials/metal/industrial_iron.json @@ -0,0 +1,47 @@ +{ + "translation": "Industrial Iron ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "createdeco:industrial_iron_ingot" + }, + "hardness": 5.2, + "density": 4.0, + "flexibility": 1, + "durability": 340, + "enchantability": 11, + "toughness": 1, + "tier": 3, + "mining_speed": 6, + "mining_level": "minecraft:incorrect_for_iron_tool", + "armor_durability": 18, + "color": "636363", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "131313", + "68": "242424", + "107": "343333", + "150": "454242", + "190": "585353", + "216": "636363", + "255": "7c6e6e" + }, + "filler": "interpolate" + }, + "textures": [ + "metallic" + ], + "items": [ + { + "item": "createdeco:industrial_iron_ingot", + "value": 1.0 + }, + { + "item": "createdeco:industrial_iron_nugget", + "value": 0.11112 + } + ] +} diff --git a/src/main/resources/packs/createdeco/pack.mcmeta b/src/main/resources/packs/createdeco/pack.mcmeta new file mode 100644 index 0000000..06c1351 --- /dev/null +++ b/src/main/resources/packs/createdeco/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "Create Deco Materials for Truly Modular", + "pack_format": 48 + } +} diff --git a/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/avaricite_shard.json b/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/avaricite_shard.json new file mode 100644 index 0000000..d16f481 --- /dev/null +++ b/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/avaricite_shard.json @@ -0,0 +1,60 @@ +{ + "translation": "Avaricite ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "crystal_chronicles:avaricite_shard" + }, + "hardness": 6.2, + "density": 1.9, + "flexibility": 2, + "durability": 1250, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "armor_toughness": 1.5, + "color": "009B90", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "001110", + "68": "00211f", + "107": "013123", + "150": "00483e", + "190": "01795a", + "216": "009b90", + "255": "86ffee" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "attributes": [ + { + "attribute": "minecraft:generic.luck", + "value": "1", + "operation": "+", + "slot": "any" + } + ] + } + }, + "items": [ + { + "item": "crystal_chronicles:avaricite_shard", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/divinite_shard.json b/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/divinite_shard.json new file mode 100644 index 0000000..632b2e8 --- /dev/null +++ b/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/divinite_shard.json @@ -0,0 +1,53 @@ +{ + "translation": "Divinite ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "crystal_chronicles:divinite_shard" + }, + "hardness": 6.2, + "density": 1.9, + "flexibility": 2, + "durability": 1250, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "armor_toughness": 1.5, + "color": "FFF596", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "854505", + "68": "ff840a", + "107": "ffb330", + "150": "ffb330", + "190": "ffdd59", + "216": "fff596", + "255": "feffe0" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "luminious_learning": "1" + } + }, + "items": [ + { + "item": "crystal_chronicles:divinite_shard", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/floralite_shard.json b/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/floralite_shard.json new file mode 100644 index 0000000..fe23808 --- /dev/null +++ b/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/floralite_shard.json @@ -0,0 +1,47 @@ +{ + "translation": "Floralite ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "crystal_chronicles:floralite_shard" + }, + "hardness": 5.6, + "density": 2.0, + "flexibility": 1, + "durability": 700, + "enchantability": 20, + "toughness": 1, + "tier": 4, + "mining_speed": 8, + "mining_level": "minecraft:incorrect_for_diamond_tool", + "armor_durability": 22, + "color": "7FDC30", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "093729", + "68": "12694f", + "107": "12694f", + "150": "157e46", + "190": "1ba132", + "216": "7fdc30", + "255": "cee876" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "items": [ + { + "item": "crystal_chronicles:floralite_shard", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/hemalite_shard.json b/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/hemalite_shard.json new file mode 100644 index 0000000..84edc46 --- /dev/null +++ b/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/hemalite_shard.json @@ -0,0 +1,53 @@ +{ + "translation": "Hemalite ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "crystal_chronicles:hemalite_shard" + }, + "hardness": 6.2, + "density": 1.9, + "flexibility": 2, + "durability": 1250, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "armor_toughness": 1.5, + "color": "F43B5B", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "1d0210", + "68": "38041e", + "107": "b5003c", + "150": "b5003c", + "190": "701542", + "216": "f43b5b", + "255": "fca9b8" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "leeching": "0.7" + } + }, + "items": [ + { + "item": "crystal_chronicles:hemalite_shard", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/ice_shard.json b/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/ice_shard.json new file mode 100644 index 0000000..eebc413 --- /dev/null +++ b/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/ice_shard.json @@ -0,0 +1,55 @@ +{ + "translation": "Ice ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "crystal_chronicles:ice_shard" + }, + "hardness": 5.6, + "density": 2.0, + "flexibility": 1, + "durability": 700, + "enchantability": 20, + "toughness": 1, + "tier": 4, + "mining_speed": 8, + "mining_level": "minecraft:incorrect_for_diamond_tool", + "armor_durability": 22, + "color": "C8F2FF", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "1d5462", + "68": "38a2bc", + "107": "5cb6d1", + "150": "5cb6d1", + "190": "a5e9ff", + "216": "c8f2ff", + "255": "f4fcff" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "can_walk_on_snow": true, + "fake_item_tag": [ + "minecraft:freeze_immune_wearables" + ] + } + }, + "items": [ + { + "item": "crystal_chronicles:ice_shard", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/voidstone_shard.json b/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/voidstone_shard.json new file mode 100644 index 0000000..aa658d7 --- /dev/null +++ b/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/voidstone_shard.json @@ -0,0 +1,53 @@ +{ + "translation": "Voidstone ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "crystal_chronicles:voidstone_shard" + }, + "hardness": 6.2, + "density": 1.9, + "flexibility": 2, + "durability": 1250, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "armor_toughness": 1.5, + "color": "FFADC8", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "1f0831", + "68": "3c0f5f", + "107": "7b2295", + "150": "8c2ba2", + "190": "b93dba", + "216": "ffadc8", + "255": "ffc7d1" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "leeching": "0.5" + } + }, + "items": [ + { + "item": "crystal_chronicles:voidstone_shard", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/volcanite_shard.json b/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/volcanite_shard.json new file mode 100644 index 0000000..5532a9b --- /dev/null +++ b/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/volcanite_shard.json @@ -0,0 +1,58 @@ +{ + "translation": "Volcanite ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "crystal_chronicles:volcanite_shard" + }, + "hardness": 6.2, + "density": 1.9, + "flexibility": 2, + "durability": 1250, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "armor_toughness": 1.5, + "color": "FFF352", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "4d1600", + "68": "942a00", + "107": "942a00", + "150": "cc6900", + "190": "faa200", + "216": "fff352", + "255": "f3ffb8" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "fire_proof": true, + "immolate": "2", + "emissive": { + "sky": 6, + "block": 6 + } + } + }, + "items": [ + { + "item": "crystal_chronicles:volcanite_shard", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/voltite_shard.json b/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/voltite_shard.json new file mode 100644 index 0000000..e19287e --- /dev/null +++ b/src/main/resources/packs/crystal_chronicles/data/cmmodular/miapi/materials/crystal/voltite_shard.json @@ -0,0 +1,56 @@ +{ + "translation": "Voltite ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "crystal_chronicles:voltite_shard" + }, + "hardness": 6.2, + "density": 1.9, + "flexibility": 2, + "durability": 1250, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "armor_toughness": 1.5, + "color": "B8FBE4", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "254446", + "68": "478287", + "107": "478287", + "150": "60b3c6", + "190": "8ef9f7", + "216": "b8fbe4", + "255": "ffffff" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "emissive": { + "sky": 7, + "block": 7 + } + } + }, + "items": [ + { + "item": "crystal_chronicles:voltite_shard", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/crystal_chronicles/pack.mcmeta b/src/main/resources/packs/crystal_chronicles/pack.mcmeta new file mode 100644 index 0000000..2557c08 --- /dev/null +++ b/src/main/resources/packs/crystal_chronicles/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "Crystal Chronicles Materials for Truly Modular", + "pack_format": 48 + } +} diff --git a/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/ender_crystal.json b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/ender_crystal.json new file mode 100644 index 0000000..e8aa37e --- /dev/null +++ b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/ender_crystal.json @@ -0,0 +1,55 @@ +{ + "translation": "Ender Crystal ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "enderio:ender_crystal" + }, + "hardness": 6.0, + "density": 1.6, + "flexibility": 4, + "durability": 1200, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "color": "90FFDB", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "152621", + "68": "284940", + "107": "017b68", + "150": "13a17c", + "190": "6ef6a4", + "216": "90ffdb", + "255": "b8fdd6" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "emissive": { + "sky": 6, + "block": 6 + } + } + }, + "items": [ + { + "item": "enderio:ender_crystal", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/enticing_crystal.json b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/enticing_crystal.json new file mode 100644 index 0000000..519f4b7 --- /dev/null +++ b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/enticing_crystal.json @@ -0,0 +1,59 @@ +{ + "translation": "Enticing Crystal ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "enderio:enticing_crystal" + }, + "hardness": 5.8, + "density": 1.6, + "flexibility": 4, + "durability": 1200, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "color": "A7FFD5", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "115148", + "68": "209c8b", + "107": "2aa08a", + "150": "44cdab", + "190": "72f1bc", + "216": "a7ffd5", + "255": "c8ffe4" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "attributes": [ + { + "attribute": "minecraft:generic.luck", + "value": "1", + "operation": "+", + "slot": "any" + } + ] + } + }, + "items": [ + { + "item": "enderio:enticing_crystal", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/prescient_crystal.json b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/prescient_crystal.json new file mode 100644 index 0000000..20548f3 --- /dev/null +++ b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/prescient_crystal.json @@ -0,0 +1,52 @@ +{ + "translation": "Prescient Crystal ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "enderio:prescient_crystal" + }, + "hardness": 5.6, + "density": 1.5, + "flexibility": 4, + "durability": 1150, + "enchantability": 30, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "color": "D9FDD4", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "0e2b1e", + "68": "1b5339", + "107": "207146", + "150": "2e945c", + "190": "8aecac", + "216": "d9fdd4", + "255": "d9fdd4" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "luminious_learning": "1" + } + }, + "items": [ + { + "item": "enderio:prescient_crystal", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/pulsating_crystal.json b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/pulsating_crystal.json new file mode 100644 index 0000000..bfbf72f --- /dev/null +++ b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/pulsating_crystal.json @@ -0,0 +1,55 @@ +{ + "translation": "Pulsating Crystal ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "enderio:pulsating_crystal" + }, + "hardness": 5.8, + "density": 1.5, + "flexibility": 5, + "durability": 1200, + "enchantability": 25, + "toughness": 2, + "tier": 5, + "mining_speed": 10, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "color": "9AFFDE", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "083732", + "68": "0f6961", + "107": "0f9080", + "150": "2da494", + "190": "66f0d2", + "216": "9affde", + "255": "cffff5" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "emissive": { + "sky": 5, + "block": 5 + } + } + }, + "items": [ + { + "item": "enderio:pulsating_crystal", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/vibrant_crystal.json b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/vibrant_crystal.json new file mode 100644 index 0000000..51e9a06 --- /dev/null +++ b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/vibrant_crystal.json @@ -0,0 +1,55 @@ +{ + "translation": "Vibrant Crystal ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "enderio:vibrant_crystal" + }, + "hardness": 6.4, + "density": 1.6, + "flexibility": 4, + "durability": 1400, + "enchantability": 26, + "toughness": 2, + "tier": 5, + "mining_speed": 10, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 30, + "color": "E4FFB5", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "1f2c21", + "68": "3c553f", + "107": "779a55", + "150": "98af58", + "190": "f0fc9d", + "216": "e4ffb5", + "255": "fffde2" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "emissive": { + "sky": 9, + "block": 9 + } + } + }, + "items": [ + { + "item": "enderio:vibrant_crystal", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/weather_crystal.json b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/weather_crystal.json new file mode 100644 index 0000000..1e880c4 --- /dev/null +++ b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/crystal/weather_crystal.json @@ -0,0 +1,55 @@ +{ + "translation": "Weather Crystal ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "enderio:weather_crystal" + }, + "hardness": 6.0, + "density": 1.6, + "flexibility": 4, + "durability": 1250, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "color": "E77AFF", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "301e42", + "68": "5d397f", + "107": "713c96", + "150": "8f52bf", + "190": "e074ff", + "216": "e77aff", + "255": "ffbbff" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "emissive": { + "sky": 6, + "block": 6 + } + } + }, + "items": [ + { + "item": "enderio:weather_crystal", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/conductive_alloy.json b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/conductive_alloy.json new file mode 100644 index 0000000..89e3926 --- /dev/null +++ b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/conductive_alloy.json @@ -0,0 +1,47 @@ +{ + "translation": "Conductive Alloy ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "enderio:conductive_alloy_ingot" + }, + "hardness": 5.0, + "density": 3.8, + "flexibility": 2, + "durability": 400, + "enchantability": 15, + "toughness": 0, + "tier": 3, + "mining_speed": 7, + "mining_level": "minecraft:incorrect_for_iron_tool", + "armor_durability": 18, + "color": "F0CBB1", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "493129", + "68": "8d5e4f", + "107": "936051", + "150": "c37b6a", + "190": "edab94", + "216": "f0cbb1", + "255": "f1d7bb" + }, + "filler": "interpolate" + }, + "textures": [ + "metallic" + ], + "items": [ + { + "item": "enderio:conductive_alloy_ingot", + "value": 1.0 + }, + { + "item": "enderio:conductive_alloy_nugget", + "value": 0.11112 + } + ] +} diff --git a/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/dark_steel.json b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/dark_steel.json new file mode 100644 index 0000000..643b82d --- /dev/null +++ b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/dark_steel.json @@ -0,0 +1,53 @@ +{ + "translation": "Dark Steel ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "enderio:dark_steel_ingot" + }, + "hardness": 6.8, + "density": 4.6, + "flexibility": 1.5, + "durability": 1800, + "enchantability": 12, + "toughness": 3, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 34, + "armor_toughness": 2.0, + "color": "6C696E", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "0f0f0f", + "68": "1d1d1d", + "107": "2c2b2d", + "150": "363438", + "190": "5b575e", + "216": "6c696e", + "255": "89848b" + }, + "filler": "interpolate" + }, + "textures": [ + "metallic" + ], + "properties": { + "default": { + "fire_proof": true + } + }, + "items": [ + { + "item": "enderio:dark_steel_ingot", + "value": 1.0 + }, + { + "item": "enderio:dark_steel_nugget", + "value": 0.11112 + } + ] +} diff --git a/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/end_steel.json b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/end_steel.json new file mode 100644 index 0000000..b322645 --- /dev/null +++ b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/end_steel.json @@ -0,0 +1,53 @@ +{ + "translation": "End Steel ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "enderio:end_steel_ingot" + }, + "hardness": 7.6, + "density": 4.4, + "flexibility": 2, + "durability": 2600, + "enchantability": 14, + "toughness": 4, + "tier": 6, + "mining_speed": 11, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 42, + "armor_toughness": 3.5, + "color": "D9DB9E", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "2c2d1e", + "68": "54563a", + "107": "818157", + "150": "9e9e6c", + "190": "c1c686", + "216": "d9db9e", + "255": "ecf0c4" + }, + "filler": "interpolate" + }, + "textures": [ + "metallic" + ], + "properties": { + "default": { + "fire_proof": true + } + }, + "items": [ + { + "item": "enderio:end_steel_ingot", + "value": 1.0 + }, + { + "item": "enderio:end_steel_nugget", + "value": 0.11112 + } + ] +} diff --git a/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/energetic_alloy.json b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/energetic_alloy.json new file mode 100644 index 0000000..2c13f2f --- /dev/null +++ b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/energetic_alloy.json @@ -0,0 +1,57 @@ +{ + "translation": "Energetic Alloy ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "enderio:energetic_alloy_ingot" + }, + "hardness": 5.4, + "density": 3.0, + "flexibility": 3, + "durability": 700, + "enchantability": 24, + "toughness": 1, + "tier": 4, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_diamond_tool", + "armor_durability": 22, + "color": "FFC778", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "3e1b11", + "68": "773421", + "107": "be6329", + "150": "d37e32", + "190": "f8aa4f", + "216": "ffc778", + "255": "ffdf9d" + }, + "filler": "interpolate" + }, + "textures": [ + "emissive", + "metallic" + ], + "properties": { + "default": { + "emissive": { + "sky": 8, + "block": 8 + }, + "luminious_learning": "0.5" + } + }, + "items": [ + { + "item": "enderio:energetic_alloy_ingot", + "value": 1.0 + }, + { + "item": "enderio:energetic_alloy_nugget", + "value": 0.11112 + } + ] +} diff --git a/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/pulsating_alloy.json b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/pulsating_alloy.json new file mode 100644 index 0000000..6dbfe7e --- /dev/null +++ b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/pulsating_alloy.json @@ -0,0 +1,55 @@ +{ + "translation": "Pulsating Alloy ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "enderio:pulsating_alloy_ingot" + }, + "hardness": 5.6, + "density": 3.4, + "flexibility": 4, + "durability": 800, + "enchantability": 18, + "toughness": 2, + "tier": 4, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_diamond_tool", + "armor_durability": 24, + "color": "8DFCB1", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "14282b", + "68": "264d52", + "107": "436c62", + "150": "4c927b", + "190": "60e19e", + "216": "8dfcb1", + "255": "afffc4" + }, + "filler": "interpolate" + }, + "textures": [ + "metallic" + ], + "properties": { + "default": { + "emissive": { + "sky": 4, + "block": 4 + } + } + }, + "items": [ + { + "item": "enderio:pulsating_alloy_ingot", + "value": 1.0 + }, + { + "item": "enderio:pulsating_alloy_nugget", + "value": 0.11112 + } + ] +} diff --git a/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/redstone_alloy.json b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/redstone_alloy.json new file mode 100644 index 0000000..808d351 --- /dev/null +++ b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/redstone_alloy.json @@ -0,0 +1,55 @@ +{ + "translation": "Redstone Alloy ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "enderio:redstone_alloy_ingot" + }, + "hardness": 4.4, + "density": 3.2, + "flexibility": 3, + "durability": 320, + "enchantability": 20, + "toughness": 0, + "tier": 3, + "mining_speed": 7, + "mining_level": "minecraft:incorrect_for_iron_tool", + "armor_durability": 16, + "color": "FB825F", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "391614", + "68": "6d2b27", + "107": "762c27", + "150": "9a332b", + "190": "f04f43", + "216": "fb825f", + "255": "fd996e" + }, + "filler": "interpolate" + }, + "textures": [ + "metallic" + ], + "properties": { + "default": { + "emissive": { + "sky": 3, + "block": 3 + } + } + }, + "items": [ + { + "item": "enderio:redstone_alloy_ingot", + "value": 1.0 + }, + { + "item": "enderio:redstone_alloy_nugget", + "value": 0.11112 + } + ] +} diff --git a/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/soularium.json b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/soularium.json new file mode 100644 index 0000000..155137a --- /dev/null +++ b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/soularium.json @@ -0,0 +1,52 @@ +{ + "translation": "Soularium ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "enderio:soularium_ingot" + }, + "hardness": 5.2, + "density": 4.0, + "flexibility": 2, + "durability": 650, + "enchantability": 20, + "toughness": 1, + "tier": 4, + "mining_speed": 8, + "mining_level": "minecraft:incorrect_for_diamond_tool", + "armor_durability": 22, + "color": "8C7656", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "181511", + "68": "2e2820", + "107": "3d362a", + "150": "4c4233", + "190": "6b5c46", + "216": "8c7656", + "255": "a4855d" + }, + "filler": "interpolate" + }, + "textures": [ + "metallic" + ], + "properties": { + "default": { + "leeching": "0.5" + } + }, + "items": [ + { + "item": "enderio:soularium_ingot", + "value": 1.0 + }, + { + "item": "enderio:soularium_nugget", + "value": 0.11112 + } + ] +} diff --git a/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/vibrant_alloy.json b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/vibrant_alloy.json new file mode 100644 index 0000000..ef1811e --- /dev/null +++ b/src/main/resources/packs/enderio/data/cmmodular/miapi/materials/metal/vibrant_alloy.json @@ -0,0 +1,57 @@ +{ + "translation": "Vibrant Alloy ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "enderio:vibrant_alloy_ingot" + }, + "hardness": 6.4, + "density": 3.0, + "flexibility": 4, + "durability": 1700, + "enchantability": 22, + "toughness": 3, + "tier": 5, + "mining_speed": 10, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 34, + "armor_toughness": 2.0, + "color": "F8FBB5", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "1f2c21", + "68": "3c553f", + "107": "90ad58", + "150": "d0e673", + "190": "f0fc9d", + "216": "f8fbb5", + "255": "fffdd2" + }, + "filler": "interpolate" + }, + "textures": [ + "emissive", + "metallic" + ], + "properties": { + "default": { + "emissive": { + "sky": 8, + "block": 8 + } + } + }, + "items": [ + { + "item": "enderio:vibrant_alloy_ingot", + "value": 1.0 + }, + { + "item": "enderio:vibrant_alloy_nugget", + "value": 0.11112 + } + ] +} diff --git a/src/main/resources/packs/enderio/pack.mcmeta b/src/main/resources/packs/enderio/pack.mcmeta new file mode 100644 index 0000000..61399c8 --- /dev/null +++ b/src/main/resources/packs/enderio/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "Ender IO Materials for Truly Modular", + "pack_format": 48 + } +} diff --git a/src/main/resources/packs/iceandfire/data/cmmodular/miapi/materials/crystal/dread_shard.json b/src/main/resources/packs/iceandfire/data/cmmodular/miapi/materials/crystal/dread_shard.json index 59ff06c..21f354a 100644 --- a/src/main/resources/packs/iceandfire/data/cmmodular/miapi/materials/crystal/dread_shard.json +++ b/src/main/resources/packs/iceandfire/data/cmmodular/miapi/materials/crystal/dread_shard.json @@ -39,7 +39,7 @@ "rough" ], "properties": { - "handheld": { + "default": { "leeching": "1" } }, diff --git a/src/main/resources/packs/iceandfire/data/cmmodular/miapi/materials/crystal/pixie_dust.json b/src/main/resources/packs/iceandfire/data/cmmodular/miapi/materials/crystal/pixie_dust.json index c481514..5118eab 100644 --- a/src/main/resources/packs/iceandfire/data/cmmodular/miapi/materials/crystal/pixie_dust.json +++ b/src/main/resources/packs/iceandfire/data/cmmodular/miapi/materials/crystal/pixie_dust.json @@ -42,9 +42,7 @@ "emissive": { "sky": 7, "block": 7 - } - }, - "tool": { + }, "luminious_learning": "1" } }, diff --git a/src/main/resources/packs/industrialforegoing/data/cmmodular/miapi/materials/metal/pink_slime.json b/src/main/resources/packs/industrialforegoing/data/cmmodular/miapi/materials/metal/pink_slime.json new file mode 100644 index 0000000..40ba997 --- /dev/null +++ b/src/main/resources/packs/industrialforegoing/data/cmmodular/miapi/materials/metal/pink_slime.json @@ -0,0 +1,55 @@ +{ + "translation": "Pink Slime ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "industrialforegoing:pink_slime_ingot" + }, + "hardness": 3.8, + "density": 1.0, + "flexibility": 8, + "durability": 460, + "enchantability": 22, + "toughness": 1, + "tier": 3, + "mining_speed": 6, + "mining_level": "minecraft:incorrect_for_iron_tool", + "armor_durability": 20, + "color": "E2B3E2", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "39223a", + "68": "6e426f", + "107": "a060a1", + "150": "c073c1", + "190": "d99bd9", + "216": "e2b3e2", + "255": "f6e7f6" + }, + "filler": "interpolate" + }, + "textures": [ + "rough" + ], + "properties": { + "handheld": { + "attributes": [ + { + "attribute": "generic.attack_speed", + "value": "0.12", + "operation": "+", + "slot": "mainhand" + } + ] + } + }, + "items": [ + { + "item": "industrialforegoing:pink_slime_ingot", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/industrialforegoing/pack.mcmeta b/src/main/resources/packs/industrialforegoing/pack.mcmeta new file mode 100644 index 0000000..f2685a1 --- /dev/null +++ b/src/main/resources/packs/industrialforegoing/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "Industrial Foregoing Materials for Truly Modular", + "pack_format": 48 + } +} diff --git a/src/main/resources/packs/irons_spellbooks/data/cmmodular/miapi/materials/crystal/arcane_essence.json b/src/main/resources/packs/irons_spellbooks/data/cmmodular/miapi/materials/crystal/arcane_essence.json index 7e2777b..777be6d 100644 --- a/src/main/resources/packs/irons_spellbooks/data/cmmodular/miapi/materials/crystal/arcane_essence.json +++ b/src/main/resources/packs/irons_spellbooks/data/cmmodular/miapi/materials/crystal/arcane_essence.json @@ -44,9 +44,7 @@ "emissive": { "sky": 6, "block": 6 - } - }, - "armor": { + }, "attributes": [ { "attribute": "irons_spellbooks:max_mana", @@ -59,11 +57,7 @@ "value": "0.15", "operation": "*", "slot": "armor" - } - ] - }, - "handheld": { - "attributes": [ + }, { "attribute": "irons_spellbooks:spell_power", "value": "0.1", diff --git a/src/main/resources/packs/irons_spellbooks/data/cmmodular/miapi/materials/crystal/cinder_essence.json b/src/main/resources/packs/irons_spellbooks/data/cmmodular/miapi/materials/crystal/cinder_essence.json index 458dc4d..1a896d9 100644 --- a/src/main/resources/packs/irons_spellbooks/data/cmmodular/miapi/materials/crystal/cinder_essence.json +++ b/src/main/resources/packs/irons_spellbooks/data/cmmodular/miapi/materials/crystal/cinder_essence.json @@ -45,9 +45,8 @@ "emissive": { "sky": 8, "block": 8 - } - }, - "armor": { + }, + "immolate": "3", "attributes": [ { "attribute": "cmmodular:fire_immunity", @@ -60,12 +59,7 @@ "value": "0.2", "operation": "*", "slot": "armor" - } - ] - }, - "handheld": { - "immolate": "3", - "attributes": [ + }, { "attribute": "irons_spellbooks:fire_spell_power", "value": "0.2", diff --git a/src/main/resources/packs/nautec/data/cmmodular/miapi/materials/metal/aquarine_steel.json b/src/main/resources/packs/nautec/data/cmmodular/miapi/materials/metal/aquarine_steel.json new file mode 100644 index 0000000..553b680 --- /dev/null +++ b/src/main/resources/packs/nautec/data/cmmodular/miapi/materials/metal/aquarine_steel.json @@ -0,0 +1,55 @@ +{ + "translation": "Aquarine Steel ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "nautec:aquarine_steel_ingot" + }, + "hardness": 6.4, + "density": 3.6, + "flexibility": 3, + "durability": 1650, + "enchantability": 18, + "toughness": 3, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 34, + "armor_toughness": 2.0, + "color": "D0E9DC", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "141f18", + "68": "273c2f", + "107": "394e41", + "150": "527664", + "190": "76ad93", + "216": "d0e9dc", + "255": "bff3db" + }, + "filler": "interpolate" + }, + "textures": [ + "metallic" + ], + "properties": { + "default": { + "fake_enchants": { + "minecraft:respiration": 1 + } + } + }, + "items": [ + { + "item": "nautec:aquarine_steel_ingot", + "value": 1.0 + }, + { + "item": "nautec:aquarine_steel_compound", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/nautec/data/cmmodular/miapi/materials/metal/atlantic_gold.json b/src/main/resources/packs/nautec/data/cmmodular/miapi/materials/metal/atlantic_gold.json new file mode 100644 index 0000000..38e31c9 --- /dev/null +++ b/src/main/resources/packs/nautec/data/cmmodular/miapi/materials/metal/atlantic_gold.json @@ -0,0 +1,53 @@ +{ + "translation": "Atlantic Gold ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "nautec:atlantic_gold_ingot" + }, + "hardness": 4.8, + "density": 3.4, + "flexibility": 3, + "durability": 520, + "enchantability": 28, + "toughness": 0, + "tier": 4, + "mining_speed": 10, + "mining_level": "minecraft:incorrect_for_diamond_tool", + "armor_durability": 20, + "color": "FFE17A", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "0e0e0e", + "68": "1a1a1a", + "107": "6a3c0b", + "150": "a66916", + "190": "e3a72b", + "216": "ffe17a", + "255": "f3edea" + }, + "filler": "interpolate" + }, + "textures": [ + "metallic", + "bright" + ], + "properties": { + "default": { + "luminious_learning": "0.5" + } + }, + "items": [ + { + "item": "nautec:atlantic_gold_ingot", + "value": 1.0 + }, + { + "item": "nautec:atlantic_gold_nugget", + "value": 0.11112 + } + ] +} diff --git a/src/main/resources/packs/nautec/data/cmmodular/miapi/materials/metal/cast_iron.json b/src/main/resources/packs/nautec/data/cmmodular/miapi/materials/metal/cast_iron.json new file mode 100644 index 0000000..7881149 --- /dev/null +++ b/src/main/resources/packs/nautec/data/cmmodular/miapi/materials/metal/cast_iron.json @@ -0,0 +1,47 @@ +{ + "translation": "Cast Iron ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "nautec:cast_iron_ingot" + }, + "hardness": 5.2, + "density": 4.8, + "flexibility": 0.5, + "durability": 380, + "enchantability": 9, + "toughness": 1, + "tier": 3, + "mining_speed": 5, + "mining_level": "minecraft:incorrect_for_iron_tool", + "armor_durability": 18, + "color": "797979", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "151515", + "68": "282828", + "107": "383838", + "150": "565656", + "190": "696969", + "216": "797979", + "255": "9e9e9e" + }, + "filler": "interpolate" + }, + "textures": [ + "metallic" + ], + "items": [ + { + "item": "nautec:cast_iron_ingot", + "value": 1.0 + }, + { + "item": "nautec:cast_iron_nugget", + "value": 0.11112 + } + ] +} diff --git a/src/main/resources/packs/nautec/pack.mcmeta b/src/main/resources/packs/nautec/pack.mcmeta new file mode 100644 index 0000000..091fc3d --- /dev/null +++ b/src/main/resources/packs/nautec/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "NauTec Materials for Truly Modular", + "pack_format": 48 + } +} diff --git a/src/main/resources/packs/occultism/data/cmmodular/miapi/materials/crystal/spirit_attuned_gem.json b/src/main/resources/packs/occultism/data/cmmodular/miapi/materials/crystal/spirit_attuned_gem.json new file mode 100644 index 0000000..cac9c17 --- /dev/null +++ b/src/main/resources/packs/occultism/data/cmmodular/miapi/materials/crystal/spirit_attuned_gem.json @@ -0,0 +1,52 @@ +{ + "translation": "Spirit Attuned ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "occultism:spirit_attuned_gem" + }, + "hardness": 5.8, + "density": 1.8, + "flexibility": 4, + "durability": 1100, + "enchantability": 28, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 26, + "color": "EDE3E0", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "44434b", + "68": "828090", + "107": "9896a7", + "150": "a89cba", + "190": "bdb2bd", + "216": "ede3e0", + "255": "ffffff" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "leeching": "0.5" + } + }, + "items": [ + { + "item": "occultism:spirit_attuned_gem", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/occultism/data/cmmodular/miapi/materials/metal/iesnium.json b/src/main/resources/packs/occultism/data/cmmodular/miapi/materials/metal/iesnium.json new file mode 100644 index 0000000..92e511d --- /dev/null +++ b/src/main/resources/packs/occultism/data/cmmodular/miapi/materials/metal/iesnium.json @@ -0,0 +1,53 @@ +{ + "translation": "Iesnium ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "occultism:iesnium_ingot" + }, + "hardness": 6.6, + "density": 4.2, + "flexibility": 2, + "durability": 1600, + "enchantability": 16, + "toughness": 3, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 32, + "armor_toughness": 2.0, + "color": "AFECEB", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "293740", + "68": "4e697c", + "107": "648296", + "150": "64949d", + "190": "7aa8b1", + "216": "afeceb", + "255": "eef6f5" + }, + "filler": "interpolate" + }, + "textures": [ + "metallic" + ], + "properties": { + "default": { + "fire_proof": true + } + }, + "items": [ + { + "item": "occultism:iesnium_ingot", + "value": 1.0 + }, + { + "item": "occultism:iesnium_nugget", + "value": 0.11112 + } + ] +} diff --git a/src/main/resources/packs/occultism/pack.mcmeta b/src/main/resources/packs/occultism/pack.mcmeta new file mode 100644 index 0000000..8646566 --- /dev/null +++ b/src/main/resources/packs/occultism/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "Occultism Materials for Truly Modular", + "pack_format": 48 + } +} diff --git a/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/bismuth_crystal.json b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/bismuth_crystal.json new file mode 100644 index 0000000..a9dc89c --- /dev/null +++ b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/bismuth_crystal.json @@ -0,0 +1,47 @@ +{ + "translation": "Bismuth ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "pastel:bismuth_crystal" + }, + "hardness": 5.6, + "density": 2.0, + "flexibility": 1, + "durability": 700, + "enchantability": 20, + "toughness": 1, + "tier": 4, + "mining_speed": 8, + "mining_level": "minecraft:incorrect_for_diamond_tool", + "armor_durability": 22, + "color": "FFA27A", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "0c081d", + "68": "170f37", + "107": "531b31", + "150": "692c6a", + "190": "b96f8a", + "216": "ffa27a", + "255": "a3dc78" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "items": [ + { + "item": "pastel:bismuth_crystal", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/blazing_crystal.json b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/blazing_crystal.json new file mode 100644 index 0000000..19cf449 --- /dev/null +++ b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/blazing_crystal.json @@ -0,0 +1,58 @@ +{ + "translation": "Blazing ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "pastel:blazing_crystal" + }, + "hardness": 6.2, + "density": 1.9, + "flexibility": 2, + "durability": 1250, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "armor_toughness": 1.5, + "color": "FFAD30", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "4f1727", + "68": "982d4b", + "107": "db524f", + "150": "e05e2f", + "190": "ff852e", + "216": "ffad30", + "255": "ffad30" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "fire_proof": true, + "immolate": "2", + "emissive": { + "sky": 7, + "block": 7 + } + } + }, + "items": [ + { + "item": "pastel:blazing_crystal", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/citrine_shard.json b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/citrine_shard.json new file mode 100644 index 0000000..7d15fae --- /dev/null +++ b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/citrine_shard.json @@ -0,0 +1,47 @@ +{ + "translation": "Citrine ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "pastel:citrine_shard" + }, + "hardness": 5.6, + "density": 2.0, + "flexibility": 1, + "durability": 700, + "enchantability": 20, + "toughness": 1, + "tier": 4, + "mining_speed": 8, + "mining_level": "minecraft:incorrect_for_diamond_tool", + "armor_durability": 22, + "color": "E6BF35", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "150b07", + "68": "28150e", + "107": "462416", + "150": "83521b", + "190": "ae801f", + "216": "e6bf35", + "255": "fff85e" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "items": [ + { + "item": "pastel:citrine_shard", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/frostbite_crystal.json b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/frostbite_crystal.json new file mode 100644 index 0000000..e83a847 --- /dev/null +++ b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/frostbite_crystal.json @@ -0,0 +1,56 @@ +{ + "translation": "Frostbite ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "pastel:frostbite_crystal" + }, + "hardness": 6.2, + "density": 1.9, + "flexibility": 2, + "durability": 1250, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "armor_toughness": 1.5, + "color": "FFFFFF", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "34316b", + "68": "645fcd", + "107": "8992f1", + "150": "a6b9ff", + "190": "d4e3ff", + "216": "ffffff", + "255": "ffffff" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "can_walk_on_snow": true, + "fake_item_tag": [ + "minecraft:freeze_immune_wearables" + ] + } + }, + "items": [ + { + "item": "pastel:frostbite_crystal", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/moonstone_shard.json b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/moonstone_shard.json new file mode 100644 index 0000000..605227e --- /dev/null +++ b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/moonstone_shard.json @@ -0,0 +1,56 @@ +{ + "translation": "Moonstone ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "pastel:moonstone_shard" + }, + "hardness": 6.2, + "density": 1.9, + "flexibility": 2, + "durability": 1250, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "armor_toughness": 1.5, + "color": "D6E0F8", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "12111f", + "68": "22213c", + "107": "1b2b68", + "150": "3a61cf", + "190": "8991b0", + "216": "d6e0f8", + "255": "ffffff" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "emissive": { + "sky": 8, + "block": 8 + } + } + }, + "items": [ + { + "item": "pastel:moonstone_shard", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/onyx_shard.json b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/onyx_shard.json new file mode 100644 index 0000000..267cc60 --- /dev/null +++ b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/onyx_shard.json @@ -0,0 +1,53 @@ +{ + "translation": "Onyx ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "pastel:onyx_shard" + }, + "hardness": 6.2, + "density": 1.9, + "flexibility": 2, + "durability": 1250, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "armor_toughness": 1.5, + "color": "4C608B", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "120516", + "68": "23092a", + "107": "27133d", + "150": "3e0f65", + "190": "4d3591", + "216": "4c608b", + "255": "ffffff" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "leeching": "0.5" + } + }, + "items": [ + { + "item": "pastel:onyx_shard", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/paltaeria_gem.json b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/paltaeria_gem.json new file mode 100644 index 0000000..5679de7 --- /dev/null +++ b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/paltaeria_gem.json @@ -0,0 +1,48 @@ +{ + "translation": "Paltaeria ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "pastel:paltaeria_gem" + }, + "hardness": 6.2, + "density": 1.9, + "flexibility": 2, + "durability": 1250, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "armor_toughness": 1.5, + "color": "26A19B", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "090f12", + "68": "111e22", + "107": "1f2331", + "150": "2a3748", + "190": "197f80", + "216": "26a19b", + "255": "46e9c9" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "items": [ + { + "item": "pastel:paltaeria_gem", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/shimmerstone_gem.json b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/shimmerstone_gem.json new file mode 100644 index 0000000..709272b --- /dev/null +++ b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/shimmerstone_gem.json @@ -0,0 +1,57 @@ +{ + "translation": "Shimmerstone ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "pastel:shimmerstone_gem" + }, + "hardness": 6.2, + "density": 1.9, + "flexibility": 2, + "durability": 1250, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "armor_toughness": 1.5, + "color": "FFC466", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "3b0f0f", + "68": "721c1c", + "107": "982954", + "150": "e1504d", + "190": "ff834f", + "216": "ffc466", + "255": "ffe0a3" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "emissive": { + "sky": 12, + "block": 12 + }, + "luminious_learning": "1" + } + }, + "items": [ + { + "item": "pastel:shimmerstone_gem", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/stratine_gem.json b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/stratine_gem.json new file mode 100644 index 0000000..0d2d735 --- /dev/null +++ b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/stratine_gem.json @@ -0,0 +1,48 @@ +{ + "translation": "Stratine ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "pastel:stratine_gem" + }, + "hardness": 6.2, + "density": 1.9, + "flexibility": 2, + "durability": 1250, + "enchantability": 24, + "toughness": 2, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "armor_toughness": 1.5, + "color": "DF262C", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "1d0708", + "68": "370e10", + "107": "2a1818", + "150": "582a22", + "190": "b1242b", + "216": "df262c", + "255": "ff704d" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "items": [ + { + "item": "pastel:stratine_gem", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/topaz_shard.json b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/topaz_shard.json new file mode 100644 index 0000000..afa30a5 --- /dev/null +++ b/src/main/resources/packs/pastel/data/cmmodular/miapi/materials/crystal/topaz_shard.json @@ -0,0 +1,47 @@ +{ + "translation": "Topaz ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "pastel:topaz_shard" + }, + "hardness": 5.6, + "density": 2.0, + "flexibility": 1, + "durability": 700, + "enchantability": 20, + "toughness": 1, + "tier": 4, + "mining_speed": 8, + "mining_level": "minecraft:incorrect_for_diamond_tool", + "armor_durability": 22, + "color": "6EAAD1", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "050911", + "68": "091121", + "107": "273d53", + "150": "166281", + "190": "4497a6", + "216": "6eaad1", + "255": "85ffff" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "items": [ + { + "item": "pastel:topaz_shard", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/pastel/pack.mcmeta b/src/main/resources/packs/pastel/pack.mcmeta new file mode 100644 index 0000000..011ff42 --- /dev/null +++ b/src/main/resources/packs/pastel/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "Pastel Materials for Truly Modular", + "pack_format": 48 + } +} diff --git a/src/main/resources/packs/rftoolsbase/data/cmmodular/miapi/materials/crystal/dimensional_shard.json b/src/main/resources/packs/rftoolsbase/data/cmmodular/miapi/materials/crystal/dimensional_shard.json new file mode 100644 index 0000000..1fda60f --- /dev/null +++ b/src/main/resources/packs/rftoolsbase/data/cmmodular/miapi/materials/crystal/dimensional_shard.json @@ -0,0 +1,55 @@ +{ + "translation": "Dimensional ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "rftoolsbase:dimensionalshard" + }, + "hardness": 6.0, + "density": 1.8, + "flexibility": 3, + "durability": 1250, + "enchantability": 26, + "toughness": 2, + "tier": 5, + "mining_speed": 10, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 28, + "color": "B0F1EF", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "114544", + "68": "218483", + "107": "48a4a2", + "150": "6fb8b7", + "190": "85d3d1", + "216": "b0f1ef", + "255": "edfefc" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "emissive": { + "sky": 7, + "block": 7 + } + } + }, + "items": [ + { + "item": "rftoolsbase:dimensionalshard", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/rftoolsbase/pack.mcmeta b/src/main/resources/packs/rftoolsbase/pack.mcmeta new file mode 100644 index 0000000..c7a41e6 --- /dev/null +++ b/src/main/resources/packs/rftoolsbase/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "RFTools Materials for Truly Modular", + "pack_format": 48 + } +} diff --git a/src/main/resources/packs/steampunkdimension/data/cmmodular/miapi/materials/crystal/glow_shard.json b/src/main/resources/packs/steampunkdimension/data/cmmodular/miapi/materials/crystal/glow_shard.json new file mode 100644 index 0000000..a0533a8 --- /dev/null +++ b/src/main/resources/packs/steampunkdimension/data/cmmodular/miapi/materials/crystal/glow_shard.json @@ -0,0 +1,55 @@ +{ + "translation": "Glowshard ", + "groups": [ + "crystal", + "gem", + "gem_melee", + "gem_armor" + ], + "icon": { + "type": "item", + "item": "steampunkdimension:glow_shard" + }, + "hardness": 4.6, + "density": 1.6, + "flexibility": 3, + "durability": 380, + "enchantability": 24, + "toughness": 0, + "tier": 3, + "mining_speed": 8, + "mining_level": "minecraft:incorrect_for_iron_tool", + "armor_durability": 16, + "color": "FFF349", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "852a00", + "68": "ff5100", + "107": "ff8900", + "150": "ffc600", + "190": "ffe227", + "216": "fff349", + "255": "fff74d" + }, + "filler": "interpolate" + }, + "textures": [ + "crystal", + "bright" + ], + "properties": { + "default": { + "emissive": { + "sky": 10, + "block": 10 + } + } + }, + "items": [ + { + "item": "steampunkdimension:glow_shard", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/steampunkdimension/data/cmmodular/miapi/materials/metal/ferdonzor.json b/src/main/resources/packs/steampunkdimension/data/cmmodular/miapi/materials/metal/ferdonzor.json new file mode 100644 index 0000000..c87d02c --- /dev/null +++ b/src/main/resources/packs/steampunkdimension/data/cmmodular/miapi/materials/metal/ferdonzor.json @@ -0,0 +1,44 @@ +{ + "translation": "Ferdonzor ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "steampunkdimension:ferdonzor_ingot" + }, + "hardness": 6.4, + "density": 4.0, + "flexibility": 2, + "durability": 1550, + "enchantability": 15, + "toughness": 3, + "tier": 5, + "mining_speed": 9, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 32, + "armor_toughness": 1.5, + "color": "FFAAD1", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "30101b", + "68": "5d1f34", + "107": "5d1f34", + "150": "cf0964", + "190": "ff70b2", + "216": "ffaad1", + "255": "ffaad1" + }, + "filler": "interpolate" + }, + "textures": [ + "metallic" + ], + "items": [ + { + "item": "steampunkdimension:ferdonzor_ingot", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/steampunkdimension/pack.mcmeta b/src/main/resources/packs/steampunkdimension/pack.mcmeta new file mode 100644 index 0000000..841cdfd --- /dev/null +++ b/src/main/resources/packs/steampunkdimension/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "Steampunk Dimension Materials for Truly Modular", + "pack_format": 48 + } +} diff --git a/src/main/resources/packs/superbwarfare/data/cmmodular/miapi/materials/metal/cemented_carbide.json b/src/main/resources/packs/superbwarfare/data/cmmodular/miapi/materials/metal/cemented_carbide.json new file mode 100644 index 0000000..f50f681 --- /dev/null +++ b/src/main/resources/packs/superbwarfare/data/cmmodular/miapi/materials/metal/cemented_carbide.json @@ -0,0 +1,59 @@ +{ + "translation": "Cemented Carbide ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "superbwarfare:cemented_carbide_ingot" + }, + "hardness": 8.4, + "density": 5.2, + "flexibility": 0.5, + "durability": 2500, + "enchantability": 10, + "toughness": 4, + "tier": 6, + "mining_speed": 13, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 40, + "armor_toughness": 3.0, + "color": "E1DCFF", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "0a0b11", + "68": "131620", + "107": "333348", + "150": "4e4e68", + "190": "e1dcff", + "216": "e1dcff", + "255": "ffffff" + }, + "filler": "interpolate" + }, + "textures": [ + "metallic" + ], + "properties": { + "default": { + "fire_proof": true + }, + "handheld": { + "attributes": [ + { + "attribute": "generic.attack_speed", + "value": "-0.08", + "operation": "+", + "slot": "mainhand" + } + ] + } + }, + "items": [ + { + "item": "superbwarfare:cemented_carbide_ingot", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/superbwarfare/data/cmmodular/miapi/materials/metal/tungsten.json b/src/main/resources/packs/superbwarfare/data/cmmodular/miapi/materials/metal/tungsten.json new file mode 100644 index 0000000..ed24b71 --- /dev/null +++ b/src/main/resources/packs/superbwarfare/data/cmmodular/miapi/materials/metal/tungsten.json @@ -0,0 +1,59 @@ +{ + "translation": "Tungsten ", + "groups": [ + "metal" + ], + "icon": { + "type": "item", + "item": "superbwarfare:tungsten_ingot" + }, + "hardness": 7.2, + "density": 5.9, + "flexibility": 0.5, + "durability": 1750, + "enchantability": 8, + "toughness": 3, + "tier": 5, + "mining_speed": 8, + "mining_level": "minecraft:incorrect_for_netherite_tool", + "armor_durability": 34, + "armor_toughness": 2.5, + "color": "F6F7FF", + "color_palette": { + "type": "grayscale_map", + "colors": { + "24": "252526", + "68": "47484a", + "107": "757579", + "150": "a7abb8", + "190": "d7d9ec", + "216": "f6f7ff", + "255": "ffffff" + }, + "filler": "interpolate" + }, + "textures": [ + "metallic" + ], + "properties": { + "default": { + "fire_proof": true + }, + "handheld": { + "attributes": [ + { + "attribute": "generic.attack_speed", + "value": "-0.12", + "operation": "+", + "slot": "mainhand" + } + ] + } + }, + "items": [ + { + "item": "superbwarfare:tungsten_ingot", + "value": 1.0 + } + ] +} diff --git a/src/main/resources/packs/superbwarfare/pack.mcmeta b/src/main/resources/packs/superbwarfare/pack.mcmeta new file mode 100644 index 0000000..dc00502 --- /dev/null +++ b/src/main/resources/packs/superbwarfare/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "Superb Warfare Materials for Truly Modular", + "pack_format": 48 + } +} diff --git a/tools/materials.py b/tools/materials.py index 92627a8..047d10c 100644 --- a/tools/materials.py +++ b/tools/materials.py @@ -52,6 +52,21 @@ PACKS = { "interstellar": {"mod": "vsie", "name": "Interstellar Expansion Materials"}, "immersiveengineering": {"mod": "immersiveengineering", "name": "Immersive Engineering Materials"}, + "enderio": {"mod": "enderio", "name": "Ender IO Materials"}, + "ae2": {"mod": "ae2", "name": "Applied Energistics Materials"}, + "ars_nouveau": {"mod": "ars_nouveau", "name": "Ars Nouveau Materials"}, + "occultism": {"mod": "occultism", "name": "Occultism Materials"}, + "industrialforegoing": {"mod": "industrialforegoing", + "name": "Industrial Foregoing Materials"}, + "nautec": {"mod": "nautec", "name": "NauTec Materials"}, + "superbwarfare": {"mod": "superbwarfare", "name": "Superb Warfare Materials"}, + "steampunkdimension": {"mod": "steampunkdimension", + "name": "Steampunk Dimension Materials"}, + "rftoolsbase": {"mod": "rftoolsbase", "name": "RFTools Materials"}, + "createdeco": {"mod": "createdeco", "name": "Create Deco Materials"}, + "crystal_chronicles": {"mod": "crystal_chronicles", + "name": "Crystal Chronicles Materials"}, + "pastel": {"mod": "pastel", "name": "Pastel Materials"}, } # Attribute this mod registers itself, so a material can grant something the @@ -382,8 +397,8 @@ MATERIALS = [ tier=3, hardness=4.0, density=0.5, flexibility=6, durability=220, enchantability=34, mining_speed=9, armor_durability=10, groups=("crystal",), textures=("emissive", "crystal"), - properties={"default": {"emissive": {"sky": 7, "block": 7}}, - "tool": {"luminious_learning": "1"}}), + properties={"default": {"emissive": {"sky": 7, "block": 7}, + "luminious_learning": "1"}}), # Highest enchantability in the set and almost no durability to go with # it - the rose gold extreme. @@ -392,7 +407,7 @@ MATERIALS = [ tier=5, hardness=6.4, density=3.0, flexibility=2, durability=1100, enchantability=16, mining_speed=8, toughness=2, armor_durability=28, groups=("crystal", "metal"), textures=("crystal", "rough"), - properties={"handheld": {"leeching": "1"}}), + properties={"default": {"leeching": "1"}}), M("ghost_ingot", "iceandfire", "metal", "Phantasmal", "iceandfire:ghost_ingot", [{"item": "iceandfire:ghost_ingot", "value": 1.0}], @@ -495,18 +510,23 @@ MATERIALS = [ tier=6, hardness=6.8, density=1.4, flexibility=5, durability=2400, enchantability=32, mining_speed=11, toughness=3, armor_durability=38, armor_toughness=2.5, groups=("crystal", "gem"), textures=("crystal", "bright"), + # Everything hangs off `default`. A gem socketed into armour is not + # tagged `armor` - the gem modules declare which material properties they + # accept and both list only `default` plus their own gem tags - so + # anything filed under `armor` or `handheld` silently never applied. The + # attribute's own slot decides where it counts instead. properties={ - "default": {"emissive": {"sky": 6, "block": 6}}, - "armor": {"attributes": [ - # Per armour piece, so a full set is roughly +400 on top of the - # 100 base pool Iron's Spells gives a player. - attribute("irons_spellbooks:max_mana", 100, "armor"), - attribute("irons_spellbooks:mana_regen", 0.15, "armor", "*"), - ]}, - "handheld": {"attributes": [ - attribute("irons_spellbooks:spell_power", 0.10, "mainhand", "*"), - attribute("irons_spellbooks:cooldown_reduction", 0.05, "mainhand", "*"), - ]}, + "default": { + "emissive": {"sky": 6, "block": 6}, + "attributes": [ + # Per armour piece, so a full set is roughly +400 on top of + # the 100 base pool Iron's Spells gives a player. + attribute("irons_spellbooks:max_mana", 100, "armor"), + attribute("irons_spellbooks:mana_regen", 0.15, "armor", "*"), + attribute("irons_spellbooks:spell_power", 0.10, "mainhand", "*"), + attribute("irons_spellbooks:cooldown_reduction", 0.05, "mainhand", "*"), + ], + }, }), M("cinder_essence", "irons_spellbooks", "crystal", "Cinder", @@ -515,19 +535,21 @@ MATERIALS = [ tier=6, hardness=7.4, density=2.6, flexibility=3, durability=2400, enchantability=20, mining_speed=11, toughness=4, armor_durability=40, armor_toughness=3.0, groups=("crystal", "gem"), textures=("emissive", "crystal"), + # As with arcane essence, all of this is under `default` so it survives + # being socketed as a gem rather than used as the armour plate itself. properties={ - "default": {"fire_proof": True, "emissive": {"sky": 8, "block": 8}}, - # One armour piece is enough: the handler treats anything at or above - # 1 as immune, so this is genuine immunity rather than a resistance - # that stacks up to it. - "armor": {"attributes": [ - attribute(FIRE_IMMUNITY, 1, "armor"), - attribute("irons_spellbooks:fire_magic_resist", 0.20, "armor", "*"), - ]}, - "handheld": { + "default": { + "fire_proof": True, + "emissive": {"sky": 8, "block": 8}, "immolate": "3", - "attributes": [attribute("irons_spellbooks:fire_spell_power", 0.20, - "mainhand", "*")], + # One armour piece is enough: the handler treats anything at or + # above 1 as immune, so this is genuine immunity rather than a + # resistance that stacks up to it. + "attributes": [ + attribute(FIRE_IMMUNITY, 1, "armor"), + attribute("irons_spellbooks:fire_magic_resist", 0.20, "armor", "*"), + attribute("irons_spellbooks:fire_spell_power", 0.20, "mainhand", "*"), + ], }, }), @@ -605,6 +627,253 @@ MATERIALS = [ # Graphite is a dry lubricant and shrugs off heat, hence the quick swing, # high mining speed and fireproofing - but it is soft, so it hits weakly. + # ------------------------------------------------------------------ Ender IO + # A whole alloy ladder, each alloy named after what was smelted into it. + M("redstone_alloy", "enderio", "metal", "Redstone Alloy", + "enderio:redstone_alloy_ingot", + ingots("enderio", "redstone_alloy_ingot", "redstone_alloy_nugget"), + tier=3, hardness=4.4, density=3.2, flexibility=3, durability=320, + enchantability=20, mining_speed=7, armor_durability=16, + properties={"default": {"emissive": {"sky": 3, "block": 3}}}), + + M("conductive_alloy", "enderio", "metal", "Conductive Alloy", + "enderio:conductive_alloy_ingot", + ingots("enderio", "conductive_alloy_ingot", "conductive_alloy_nugget"), + tier=3, hardness=5.0, density=3.8, flexibility=2, durability=400, + enchantability=15, mining_speed=7, armor_durability=18), + + M("pulsating_alloy", "enderio", "metal", "Pulsating Alloy", + "enderio:pulsating_alloy_ingot", + ingots("enderio", "pulsating_alloy_ingot", "pulsating_alloy_nugget"), + tier=4, hardness=5.6, density=3.4, flexibility=4, durability=800, + enchantability=18, mining_speed=9, toughness=2, armor_durability=24, + properties={"default": {"emissive": {"sky": 4, "block": 4}}}), + # Ender-infused, so it is quick and light for its tier. + + M("energetic_alloy", "enderio", "metal", "Energetic Alloy", + "enderio:energetic_alloy_ingot", + ingots("enderio", "energetic_alloy_ingot", "energetic_alloy_nugget"), + tier=4, hardness=5.4, density=3.0, flexibility=3, durability=700, + enchantability=24, mining_speed=9, toughness=1, armor_durability=22, + textures=("emissive", "metallic"), + properties={"default": {"emissive": {"sky": 8, "block": 8}, + "luminious_learning": "0.5"}}), + # Glowstone and gold: bright and very enchantable, not very sturdy. + + M("vibrant_alloy", "enderio", "metal", "Vibrant Alloy", + "enderio:vibrant_alloy_ingot", + ingots("enderio", "vibrant_alloy_ingot", "vibrant_alloy_nugget"), + tier=5, hardness=6.4, density=3.0, flexibility=4, durability=1700, + enchantability=22, mining_speed=10, toughness=3, armor_durability=34, + armor_toughness=2.0, textures=("emissive", "metallic"), + properties={"default": {"emissive": {"sky": 8, "block": 8}}}), + + M("soularium", "enderio", "metal", "Soularium", "enderio:soularium_ingot", + ingots("enderio", "soularium_ingot", "soularium_nugget"), + tier=4, hardness=5.2, density=4.0, flexibility=2, durability=650, + enchantability=20, mining_speed=8, toughness=1, armor_durability=22, + properties={"default": {"leeching": "0.5"}}), + # Gold soaked in soul sand, so it takes a little life with each hit. + + M("dark_steel", "enderio", "metal", "Dark Steel", "enderio:dark_steel_ingot", + ingots("enderio", "dark_steel_ingot", "dark_steel_nugget"), + tier=5, hardness=6.8, density=4.6, flexibility=1.5, durability=1800, + enchantability=12, mining_speed=9, toughness=3, armor_durability=34, + armor_toughness=2.0, properties={"default": {"fire_proof": True}}), + # Steel taken through obsidian: the durable, unexciting tier-5 option. + + M("end_steel", "enderio", "metal", "End Steel", "enderio:end_steel_ingot", + ingots("enderio", "end_steel_ingot", "end_steel_nugget"), + tier=6, hardness=7.6, density=4.4, flexibility=2, durability=2600, + enchantability=14, mining_speed=11, toughness=4, armor_durability=42, + armor_toughness=3.5, properties={"default": {"fire_proof": True}}), + + M("ender_crystal", "enderio", "crystal", "Ender Crystal", "enderio:ender_crystal", + [{"item": "enderio:ender_crystal", "value": 1.0}], + tier=5, hardness=6.0, density=1.6, flexibility=4, durability=1200, + enchantability=24, mining_speed=9, toughness=2, armor_durability=28, + groups=("crystal", "gem"), textures=("crystal", "bright"), + properties={"default": {"emissive": {"sky": 6, "block": 6}}}), + + M("vibrant_crystal", "enderio", "crystal", "Vibrant Crystal", + "enderio:vibrant_crystal", + [{"item": "enderio:vibrant_crystal", "value": 1.0}], + tier=5, hardness=6.4, density=1.6, flexibility=4, durability=1400, + enchantability=26, mining_speed=10, toughness=2, armor_durability=30, + groups=("crystal", "gem"), textures=("crystal", "bright"), + properties={"default": {"emissive": {"sky": 9, "block": 9}}}), + + M("pulsating_crystal", "enderio", "crystal", "Pulsating Crystal", + "enderio:pulsating_crystal", + [{"item": "enderio:pulsating_crystal", "value": 1.0}], + tier=5, hardness=5.8, density=1.5, flexibility=5, durability=1200, + enchantability=25, mining_speed=10, toughness=2, armor_durability=28, + groups=("crystal", "gem"), textures=("crystal", "bright"), + properties={"default": {"emissive": {"sky": 5, "block": 5}}}), + + M("prescient_crystal", "enderio", "crystal", "Prescient Crystal", + "enderio:prescient_crystal", + [{"item": "enderio:prescient_crystal", "value": 1.0}], + tier=5, hardness=5.6, density=1.5, flexibility=4, durability=1150, + enchantability=30, mining_speed=9, toughness=2, armor_durability=28, + groups=("crystal", "gem"), textures=("crystal", "bright"), + properties={"default": {"luminious_learning": "1"}}), + # The one you pick for enchanting rather than for stats. + + M("enticing_crystal", "enderio", "crystal", "Enticing Crystal", + "enderio:enticing_crystal", + [{"item": "enderio:enticing_crystal", "value": 1.0}], + tier=5, hardness=5.8, density=1.6, flexibility=4, durability=1200, + enchantability=24, mining_speed=9, toughness=2, armor_durability=28, + groups=("crystal", "gem"), textures=("crystal", "bright"), + properties={"default": {"attributes": [ + attribute("minecraft:generic.luck", 1, "any")]}}), + + M("weather_crystal", "enderio", "crystal", "Weather Crystal", + "enderio:weather_crystal", + [{"item": "enderio:weather_crystal", "value": 1.0}], + tier=5, hardness=6.0, density=1.6, flexibility=4, durability=1250, + enchantability=24, mining_speed=9, toughness=2, armor_durability=28, + groups=("crystal", "gem"), textures=("crystal", "bright"), + properties={"default": {"emissive": {"sky": 6, "block": 6}}}), + + # ------------------------------------------------------- Applied Energistics + M("certus_quartz", "ae2", "crystal", "Certus Quartz", + "ae2:certus_quartz_crystal", + [{"item": "ae2:certus_quartz_crystal", "value": 1.0}], + tier=3, hardness=5.0, density=2.2, flexibility=0, durability=420, + enchantability=16, mining_speed=7, toughness=1, armor_durability=16, + groups=("crystal", "gem"), textures=("crystal", "bright")), + # Quartz with a charge to it - brittle, like all quartz. + + M("charged_certus_quartz", "ae2", "crystal", "Charged Certus", + "ae2:charged_certus_quartz_crystal", + [{"item": "ae2:charged_certus_quartz_crystal", "value": 1.0}], + tier=4, hardness=5.4, density=2.2, flexibility=0, durability=700, + enchantability=22, mining_speed=9, toughness=1, armor_durability=22, + groups=("crystal", "gem"), textures=("crystal", "bright"), + properties={"default": {"emissive": {"sky": 5, "block": 5}}}), + + M("fluix", "ae2", "crystal", "Fluix", "ae2:fluix_crystal", + [{"item": "ae2:fluix_crystal", "value": 1.0}], + tier=5, hardness=6.2, density=2.0, flexibility=2, durability=1300, + enchantability=24, mining_speed=10, toughness=2, armor_durability=28, + groups=("crystal", "gem"), textures=("crystal", "bright"), + properties={"default": {"emissive": {"sky": 6, "block": 6}}}), + + # -------------------------------------------------------------- Ars Nouveau + M("source_gem", "ars_nouveau", "crystal", "Source", "ars_nouveau:source_gem", + [{"item": "ars_nouveau:source_gem", "value": 1.0}], + tier=4, hardness=5.2, density=1.4, flexibility=5, durability=600, + enchantability=30, mining_speed=9, toughness=1, armor_durability=20, + groups=("crystal", "gem"), textures=("crystal", "bright"), + properties={"default": {"emissive": {"sky": 7, "block": 7}, + "luminious_learning": "1"}}), + # Condensed magic: superb to enchant, not much use as a blade. + + # ---------------------------------------------------------------- Occultism + M("iesnium", "occultism", "metal", "Iesnium", "occultism:iesnium_ingot", + ingots("occultism", "iesnium_ingot", "iesnium_nugget"), + tier=5, hardness=6.6, density=4.2, flexibility=2, durability=1600, + enchantability=16, mining_speed=9, toughness=3, armor_durability=32, + armor_toughness=2.0, properties={"default": {"fire_proof": True}}), + # Only found in the Nether, so it comes fireproof. + + M("spirit_attuned_gem", "occultism", "crystal", "Spirit Attuned", + "occultism:spirit_attuned_gem", + [{"item": "occultism:spirit_attuned_gem", "value": 1.0}], + tier=5, hardness=5.8, density=1.8, flexibility=4, durability=1100, + enchantability=28, mining_speed=9, toughness=2, armor_durability=26, + groups=("crystal", "gem"), textures=("crystal", "bright"), + properties={"default": {"leeching": "0.5"}}), + + # ------------------------------------------------------- Industrial Foregoing + M("pink_slime", "industrialforegoing", "metal", "Pink Slime", + "industrialforegoing:pink_slime_ingot", + [{"item": "industrialforegoing:pink_slime_ingot", "value": 1.0}], + tier=3, hardness=3.8, density=1.0, flexibility=8, durability=460, + enchantability=22, mining_speed=6, toughness=1, armor_durability=20, + textures=("rough",), properties={"handheld": speed(0.12)}), + # Tinkers' slime materials in spirit: floppy, springy, absurdly flexible. + + # ------------------------------------------------------------------- NauTec + M("cast_iron", "nautec", "metal", "Cast Iron", "nautec:cast_iron_ingot", + ingots("nautec", "cast_iron_ingot", "cast_iron_nugget"), + tier=3, hardness=5.2, density=4.8, flexibility=0.5, durability=380, + enchantability=9, mining_speed=5, toughness=1, armor_durability=18), + # Hard and heavy but brittle - real cast iron cracks rather than bends. + + M("atlantic_gold", "nautec", "metal", "Atlantic Gold", + "nautec:atlantic_gold_ingot", + ingots("nautec", "atlantic_gold_ingot", "atlantic_gold_nugget"), + tier=4, hardness=4.8, density=3.4, flexibility=3, durability=520, + enchantability=28, mining_speed=10, armor_durability=20, + textures=("metallic", "bright"), + properties={"default": {"luminious_learning": "0.5"}}), + + M("aquarine_steel", "nautec", "metal", "Aquarine Steel", + "nautec:aquarine_steel_ingot", + [{"item": "nautec:aquarine_steel_ingot", "value": 1.0}, + {"item": "nautec:aquarine_steel_compound", "value": 1.0}], + tier=5, hardness=6.4, density=3.6, flexibility=3, durability=1650, + enchantability=18, mining_speed=9, toughness=3, armor_durability=34, + armor_toughness=2.0, + properties={"default": {"fake_enchants": {"minecraft:respiration": 1}}}), + + # ----------------------------------------------------------- Superb Warfare + M("tungsten", "superbwarfare", "metal", "Tungsten", + "superbwarfare:tungsten_ingot", + [{"item": "superbwarfare:tungsten_ingot", "value": 1.0}], + tier=5, hardness=7.2, density=5.9, flexibility=0.5, durability=1750, + enchantability=8, mining_speed=8, toughness=3, armor_durability=34, + armor_toughness=2.5, properties={"default": {"fire_proof": True}, + "handheld": speed(-0.12)}), + # Highest melting point of any metal and nearly as dense as osmium: it + # hits like a truck and swings like one too. + + M("cemented_carbide", "superbwarfare", "metal", "Cemented Carbide", + "superbwarfare:cemented_carbide_ingot", + [{"item": "superbwarfare:cemented_carbide_ingot", "value": 1.0}], + tier=6, hardness=8.4, density=5.2, flexibility=0.5, durability=2500, + enchantability=10, mining_speed=13, toughness=4, armor_durability=40, + armor_toughness=3.0, properties={"default": {"fire_proof": True}, + "handheld": speed(-0.08)}), + # What real cutting tools are tipped with - the best miner in the set, + # brittle and graceless everywhere else. + + # ------------------------------------------------------ Steampunk Dimension + M("ferdonzor", "steampunkdimension", "metal", "Ferdonzor", + "steampunkdimension:ferdonzor_ingot", + [{"item": "steampunkdimension:ferdonzor_ingot", "value": 1.0}], + tier=5, hardness=6.4, density=4.0, flexibility=2, durability=1550, + enchantability=15, mining_speed=9, toughness=3, armor_durability=32, + armor_toughness=1.5), + + M("glow_shard", "steampunkdimension", "crystal", "Glowshard", + "steampunkdimension:glow_shard", + [{"item": "steampunkdimension:glow_shard", "value": 1.0}], + tier=3, hardness=4.6, density=1.6, flexibility=3, durability=380, + enchantability=24, mining_speed=8, armor_durability=16, + groups=("crystal", "gem"), textures=("crystal", "bright"), + properties={"default": {"emissive": {"sky": 10, "block": 10}}}), + + # ----------------------------------------------------------------- RFTools + M("dimensional_shard", "rftoolsbase", "crystal", "Dimensional", + "rftoolsbase:dimensionalshard", + [{"item": "rftoolsbase:dimensionalshard", "value": 1.0}], + tier=5, hardness=6.0, density=1.8, flexibility=3, durability=1250, + enchantability=26, mining_speed=10, toughness=2, armor_durability=28, + groups=("crystal", "gem"), textures=("crystal", "bright"), + properties={"default": {"emissive": {"sky": 7, "block": 7}}}), + + # -------------------------------------------------------------- Create Deco + M("industrial_iron", "createdeco", "metal", "Industrial Iron", + "createdeco:industrial_iron_ingot", + ingots("createdeco", "industrial_iron_ingot", "industrial_iron_nugget"), + tier=3, hardness=5.2, density=4.0, flexibility=1, durability=340, + enchantability=11, mining_speed=6, toughness=1, armor_durability=18), + # Iron that has been through a factory: a little tougher, no more. + # --------------------------------- Aeronautics: Interstellar Expansion (vsie) # Mostly a machinery mod; these are the three items that are a material # rather than a component. Solid E-710 is deliberately left out - it is @@ -721,6 +990,74 @@ def _scales(): return out + +# --------------------------------------------------------------- gem-set mods +# Crystal Chronicles and Pastel each add a family of gems that differ in colour +# and lore rather than in kind. They are generated rather than written out one +# by one: within a family the stats follow the tier, and the palette - which is +# what actually distinguishes them in game - comes from each gem's own texture. + +# name -> (tier, flavour property) +CRYSTAL_CHRONICLES = { + "hemalite_shard": (5, {"leeching": "0.7"}), + "volcanite_shard": (5, {"fire_proof": True, "immolate": "2", + "emissive": {"sky": 6, "block": 6}}), + "voltite_shard": (5, {"emissive": {"sky": 7, "block": 7}}), + "ice_shard": (4, {"can_walk_on_snow": True, + "fake_item_tag": ["minecraft:freeze_immune_wearables"]}), + "floralite_shard": (4, {}), + "divinite_shard": (5, {"luminious_learning": "1"}), + "voidstone_shard": (5, {"leeching": "0.5"}), + "avaricite_shard": (5, {"attributes": [ + {"attribute": "minecraft:generic.luck", "value": "1", + "operation": "+", "slot": "any"}]}), +} + +PASTEL_GEMS = { + "topaz_shard": (4, {}), + "citrine_shard": (4, {}), + "onyx_shard": (5, {"leeching": "0.5"}), + "moonstone_shard": (5, {"emissive": {"sky": 8, "block": 8}}), + "bismuth_crystal": (4, {}), + "blazing_crystal": (5, {"fire_proof": True, "immolate": "2", + "emissive": {"sky": 7, "block": 7}}), + "frostbite_crystal": (5, {"can_walk_on_snow": True, + "fake_item_tag": ["minecraft:freeze_immune_wearables"]}), + "shimmerstone_gem": (5, {"emissive": {"sky": 12, "block": 12}, + "luminious_learning": "1"}), + "paltaeria_gem": (5, {}), + "stratine_gem": (5, {}), +} + +# Gem stat bands, so a family stays internally consistent. +_GEM_BAND = { + 4: dict(hardness=5.6, density=2.0, flexibility=1, durability=700, + enchantability=20, mining_speed=8, toughness=1, armor_durability=22), + 5: dict(hardness=6.2, density=1.9, flexibility=2, durability=1250, + enchantability=24, mining_speed=9, toughness=2, armor_durability=28, + armor_toughness=1.5), +} + + +def _gem_family(pack, namespace, table): + out = [] + for item, (tier, props) in table.items(): + label = item.replace("_shard", "").replace("_crystal", "").replace("_gem", "") + out.append(M( + item, pack, "crystal", label.replace("_", " ").title(), + f"{namespace}:{item}", + [{"item": f"{namespace}:{item}", "value": 1.0}], + tier=tier, groups=("crystal", "gem"), textures=("crystal", "bright"), + properties={"default": props} if props else None, + **_GEM_BAND[tier])) + return out + + +MATERIALS.extend(_gem_family("crystal_chronicles", "crystal_chronicles", + CRYSTAL_CHRONICLES)) +MATERIALS.extend(_gem_family("pastel", "pastel", PASTEL_GEMS)) + + MATERIALS.extend(_scales())