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())