From baede36f82f1adde6770f5b8fb38f3d37557e518 Mon Sep 17 00:00:00 2001 From: Jordy Goodridge Date: Wed, 5 Jun 2024 00:13:29 -0700 Subject: [PATCH] Add sanguine modifier and bump version to 1.5 --- gradle.properties | 2 +- .../tinkering/materials/sanguine.json | 4 ---- .../modifiers/salvage/upgrade/sanguine.json | 10 +++++++++ .../tools/modifiers/upgrade/sanguine.json | 18 +++++++++++++++ .../tinkering/modifiers/sanguine.json | 22 +++++++++++++++++++ .../tinkeringabnormally/data/ModifierIds.java | 1 + .../data/ModifierProvider.java | 1 + .../data/ModifierRecipeProvider.java | 7 ++++++ .../data/material/MaterialIds.java | 4 ---- .../material/MaterialRenderInfoProvider.java | 1 - .../tinkering_abnormally_sanguine.json | 13 +++++++++++ .../tinkering_abnormally_sanguine.json | 13 +++++++++++ .../tinkering_abnormally/lang/en_us.json | 3 +++ .../tinkering_abnormally/mantle/colors.json | 3 ++- .../tinkering/modifier_icons.json | 3 ++- .../tinkering/modifiers.json | 3 ++- .../modifiers/upgrades/armor/general.json | 6 +++++ 17 files changed, 101 insertions(+), 13 deletions(-) delete mode 100644 src/generated/resources/assets/tinkering_abnormally/tinkering/materials/sanguine.json create mode 100644 src/generated/resources/data/tinkering_abnormally/recipes/tools/modifiers/salvage/upgrade/sanguine.json create mode 100644 src/generated/resources/data/tinkering_abnormally/recipes/tools/modifiers/upgrade/sanguine.json create mode 100644 src/generated/resources/data/tinkering_abnormally/tinkering/modifiers/sanguine.json create mode 100644 src/main/resources/assets/tconstruct/book/encyclopedia/en_us/upgrades/armor/general/tinkering_abnormally_sanguine.json create mode 100644 src/main/resources/assets/tconstruct/book/puny_smelting/en_us/upgrades/armor/general/tinkering_abnormally_sanguine.json create mode 100644 src/main/resources/data/tconstruct/tinkering/tags/modifiers/upgrades/armor/general.json diff --git a/gradle.properties b/gradle.properties index 246072a..2d1be4a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -42,7 +42,7 @@ mod_name=Tinkering Abnormally # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=MIT # The mod version. See https://semver.org/ -mod_version=1.4 +mod_version=1.5 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html diff --git a/src/generated/resources/assets/tinkering_abnormally/tinkering/materials/sanguine.json b/src/generated/resources/assets/tinkering_abnormally/tinkering/materials/sanguine.json deleted file mode 100644 index d75b991..0000000 --- a/src/generated/resources/assets/tinkering_abnormally/tinkering/materials/sanguine.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "color": "FFFFFFFF", - "luminosity": 0 -} \ No newline at end of file diff --git a/src/generated/resources/data/tinkering_abnormally/recipes/tools/modifiers/salvage/upgrade/sanguine.json b/src/generated/resources/data/tinkering_abnormally/recipes/tools/modifiers/salvage/upgrade/sanguine.json new file mode 100644 index 0000000..89b2702 --- /dev/null +++ b/src/generated/resources/data/tinkering_abnormally/recipes/tools/modifiers/salvage/upgrade/sanguine.json @@ -0,0 +1,10 @@ +{ + "type": "tconstruct:modifier_salvage", + "modifier": "tinkering_abnormally:sanguine", + "slots": { + "upgrades": 1 + }, + "tools": { + "tag": "tconstruct:modifiable/armor/worn" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tinkering_abnormally/recipes/tools/modifiers/upgrade/sanguine.json b/src/generated/resources/data/tinkering_abnormally/recipes/tools/modifiers/upgrade/sanguine.json new file mode 100644 index 0000000..ec063b8 --- /dev/null +++ b/src/generated/resources/data/tinkering_abnormally/recipes/tools/modifiers/upgrade/sanguine.json @@ -0,0 +1,18 @@ +{ + "type": "tconstruct:modifier", + "allow_crystal": true, + "inputs": [ + { + "amount_needed": 6, + "item": "caverns_and_chasms:sanguine_plating" + } + ], + "level": 1, + "result": "tinkering_abnormally:sanguine", + "slots": { + "upgrades": 1 + }, + "tools": { + "tag": "tconstruct:modifiable/armor/worn" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tinkering_abnormally/tinkering/modifiers/sanguine.json b/src/generated/resources/data/tinkering_abnormally/tinkering/modifiers/sanguine.json new file mode 100644 index 0000000..4291183 --- /dev/null +++ b/src/generated/resources/data/tinkering_abnormally/tinkering/modifiers/sanguine.json @@ -0,0 +1,22 @@ +{ + "type": "tconstruct:composable", + "level_display": "tconstruct:default", + "modules": [ + { + "type": "tconstruct:attribute", + "attribute": "caverns_and_chasms:lifesteal", + "flat": 0.05, + "operation": "multiply_base", + "slots": [ + "mainhand", + "offhand", + "feet", + "legs", + "chest", + "head" + ], + "unique": "tinkering_abnormally.modifier.sanguine" + } + ], + "tooltip_display": "always" +} \ No newline at end of file diff --git a/src/main/java/moe/hazu/tinkeringabnormally/data/ModifierIds.java b/src/main/java/moe/hazu/tinkeringabnormally/data/ModifierIds.java index a62dc7a..db39813 100644 --- a/src/main/java/moe/hazu/tinkeringabnormally/data/ModifierIds.java +++ b/src/main/java/moe/hazu/tinkeringabnormally/data/ModifierIds.java @@ -6,6 +6,7 @@ import slimeknights.tconstruct.library.modifiers.ModifierId; public class ModifierIds { public static final ModifierId spinel = id("spinel"); public static final ModifierId necromium = id("necromium"); + public static final ModifierId sanguine = id("sanguine"); private static ModifierId id(String name) { return new ModifierId(TinkeringAbnormally.MODID, name); diff --git a/src/main/java/moe/hazu/tinkeringabnormally/data/ModifierProvider.java b/src/main/java/moe/hazu/tinkeringabnormally/data/ModifierProvider.java index f7b67de..a9aba4e 100644 --- a/src/main/java/moe/hazu/tinkeringabnormally/data/ModifierProvider.java +++ b/src/main/java/moe/hazu/tinkeringabnormally/data/ModifierProvider.java @@ -47,6 +47,7 @@ public class ModifierProvider extends AbstractModifierProvider implements ICondi // melee harvest .addModule(MobEffectModule.builder(MobEffects.MOVEMENT_SLOWDOWN).level(RandomLevelingValue.flat(2)).time(RandomLevelingValue.flat(100)).build()) .addModule(SetStatModule.set(ToolStats.HARVEST_TIER).value(TinkeringAbnormally.NECROMIUM)); + buildModifier(ModifierIds.sanguine).addModule(AttributeModule.builder(CCAttributes.LIFESTEAL.get(), AttributeModifier.Operation.MULTIPLY_BASE).uniqueFrom(ModifierIds.sanguine).flat(0.05f)); } @Override diff --git a/src/main/java/moe/hazu/tinkeringabnormally/data/ModifierRecipeProvider.java b/src/main/java/moe/hazu/tinkeringabnormally/data/ModifierRecipeProvider.java index ee68e59..7fa2b38 100644 --- a/src/main/java/moe/hazu/tinkeringabnormally/data/ModifierRecipeProvider.java +++ b/src/main/java/moe/hazu/tinkeringabnormally/data/ModifierRecipeProvider.java @@ -60,6 +60,13 @@ public class ModifierRecipeProvider extends RecipeProvider implements ICondition .setSlots(SlotType.UPGRADE, 1) .saveSalvage(consumer, prefix(ModifierIds.necromium, upgradeSalvage)) .save(consumer, prefix(ModifierIds.necromium, upgradeFolder)); + ModifierRecipeBuilder.modifier(ModifierIds.sanguine) + .setTools(TinkerTags.Items.WORN_ARMOR) + .addInput(CCItems.SANGUINE_PLATING.get(), 6) + .setMaxLevel(1) + .setSlots(SlotType.UPGRADE, 1) + .saveSalvage(consumer, prefix(ModifierIds.sanguine, upgradeSalvage)) + .save(consumer, prefix(ModifierIds.sanguine, upgradeFolder)); } private void addTextureRecipes(Consumer consumer) { diff --git a/src/main/java/moe/hazu/tinkeringabnormally/data/material/MaterialIds.java b/src/main/java/moe/hazu/tinkeringabnormally/data/material/MaterialIds.java index c804d2e..f730907 100644 --- a/src/main/java/moe/hazu/tinkeringabnormally/data/material/MaterialIds.java +++ b/src/main/java/moe/hazu/tinkeringabnormally/data/material/MaterialIds.java @@ -7,10 +7,6 @@ import slimeknights.tconstruct.library.materials.definition.MaterialVariantId; import static slimeknights.tconstruct.library.materials.definition.MaterialVariantId.create; public final class MaterialIds { - public static final MaterialId spinel = id("spinel"); - public static final MaterialId necromium = id("necromium"); - public static final MaterialId sanguine = id("sanguine"); - public static final MaterialVariantId willow = create(slimeknights.tconstruct.tools.data.material.MaterialIds.wood, "willow"); public static final MaterialVariantId pine = create(slimeknights.tconstruct.tools.data.material.MaterialIds.wood, "pine"); public static final MaterialVariantId cherry = create(slimeknights.tconstruct.tools.data.material.MaterialIds.wood, "cherry"); diff --git a/src/main/java/moe/hazu/tinkeringabnormally/data/material/MaterialRenderInfoProvider.java b/src/main/java/moe/hazu/tinkeringabnormally/data/material/MaterialRenderInfoProvider.java index db69474..945c6d2 100644 --- a/src/main/java/moe/hazu/tinkeringabnormally/data/material/MaterialRenderInfoProvider.java +++ b/src/main/java/moe/hazu/tinkeringabnormally/data/material/MaterialRenderInfoProvider.java @@ -12,7 +12,6 @@ public class MaterialRenderInfoProvider extends AbstractMaterialRenderInfoProvid @Override protected void addMaterialRenderInfo() { - buildRenderInfo(MaterialIds.sanguine); buildRenderInfo(MaterialIds.willow); buildRenderInfo(MaterialIds.pine); buildRenderInfo(MaterialIds.cherry); diff --git a/src/main/resources/assets/tconstruct/book/encyclopedia/en_us/upgrades/armor/general/tinkering_abnormally_sanguine.json b/src/main/resources/assets/tconstruct/book/encyclopedia/en_us/upgrades/armor/general/tinkering_abnormally_sanguine.json new file mode 100644 index 0000000..da3457b --- /dev/null +++ b/src/main/resources/assets/tconstruct/book/encyclopedia/en_us/upgrades/armor/general/tinkering_abnormally_sanguine.json @@ -0,0 +1,13 @@ +{ + "modifier_id": "tinkering_abnormally:sanguine", + "text": [ + { + "text": "Attacking when worn gives +5% lifesteal per level." + } + ], + "more_text_space": true, + "effects": [ + "Maximum of 1 level", + "Requires 1 upgrade slot" + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tconstruct/book/puny_smelting/en_us/upgrades/armor/general/tinkering_abnormally_sanguine.json b/src/main/resources/assets/tconstruct/book/puny_smelting/en_us/upgrades/armor/general/tinkering_abnormally_sanguine.json new file mode 100644 index 0000000..4a96c1f --- /dev/null +++ b/src/main/resources/assets/tconstruct/book/puny_smelting/en_us/upgrades/armor/general/tinkering_abnormally_sanguine.json @@ -0,0 +1,13 @@ +{ + "modifier_id": "tinkering_abnormally:sanguine", + "text": [ + { + "text": "It's already pretty clear that silver has some interesting properties. Combine it with some flesh of the undead and tears of the damned and maybe...?" + } + ], + "effects": [ + "Gives your attacks lifesteal", + "Single Level", + "Requires 1 upgrade slot" + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tinkering_abnormally/lang/en_us.json b/src/main/resources/assets/tinkering_abnormally/lang/en_us.json index 1bf678e..1ad4417 100644 --- a/src/main/resources/assets/tinkering_abnormally/lang/en_us.json +++ b/src/main/resources/assets/tinkering_abnormally/lang/en_us.json @@ -31,6 +31,9 @@ "modifier.tinkering_abnormally.necromium.flavor": "Sabotage!", "modifier.tinkering_abnormally.necromium.description": "Though not as powerful as netherite, necromium has an aura that slows and weakens opponents.", "modifier.tinkering_abnormally.necromium.requirements": "Necromium requires a gem first to be applied", + "modifier.tinkering_abnormally.sanguine": "Sanguine", + "modifier.tinkering_abnormally.sanguine.flavor": "Draining!", + "modifier.tinkering_abnormally.sanguine.description": "All of your attacks are imbued with lifesteal.", "stat.tconstruct.harvest_tier.caverns_and_chasms.necromium": "Necromium" } \ No newline at end of file diff --git a/src/main/resources/assets/tinkering_abnormally/mantle/colors.json b/src/main/resources/assets/tinkering_abnormally/mantle/colors.json index 2a681f5..7ad1fbc 100644 --- a/src/main/resources/assets/tinkering_abnormally/mantle/colors.json +++ b/src/main/resources/assets/tinkering_abnormally/mantle/colors.json @@ -1,7 +1,8 @@ { "modifier.tinkering_abnormally": { "spinel": "#BC5186", - "necromium": "#566666" + "necromium": "#566666", + "sanguine": "#723b43" }, "material.tconstruct": { diff --git a/src/main/resources/assets/tinkering_abnormally/tinkering/modifier_icons.json b/src/main/resources/assets/tinkering_abnormally/tinkering/modifier_icons.json index 0619f5a..7101d31 100644 --- a/src/main/resources/assets/tinkering_abnormally/tinkering/modifier_icons.json +++ b/src/main/resources/assets/tinkering_abnormally/tinkering/modifier_icons.json @@ -1,4 +1,5 @@ { "tinkering_abnormally:spinel": ["caverns_and_chasms:item/spinel", "tconstruct:gui/modifiers/tier"], - "tinkering_abnormally:necromium": ["caverns_and_chasms:item/necromium_ingot", "tconstruct:gui/modifiers/tier"] + "tinkering_abnormally:necromium": ["caverns_and_chasms:item/necromium_ingot", "tconstruct:gui/modifiers/tier"], + "tinkering_abnormally:sanguine": ["caverns_and_chasms:item/sanguine_plating", "tconstruct:gui/modifiers/book"] } \ No newline at end of file diff --git a/src/main/resources/assets/tinkering_abnormally/tinkering/modifiers.json b/src/main/resources/assets/tinkering_abnormally/tinkering/modifiers.json index f300504..3707d3a 100644 --- a/src/main/resources/assets/tinkering_abnormally/tinkering/modifiers.json +++ b/src/main/resources/assets/tinkering_abnormally/tinkering/modifiers.json @@ -1,4 +1,5 @@ { "tinkering_abnormally:spinel": "tconstruct:normal", - "tinkering_abnormally:necromium": "tconstruct:normal" + "tinkering_abnormally:necromium": "tconstruct:normal", + "tinkering_abnormally:sanguine": "tconstruct:normal" } \ No newline at end of file diff --git a/src/main/resources/data/tconstruct/tinkering/tags/modifiers/upgrades/armor/general.json b/src/main/resources/data/tconstruct/tinkering/tags/modifiers/upgrades/armor/general.json new file mode 100644 index 0000000..f13abdf --- /dev/null +++ b/src/main/resources/data/tconstruct/tinkering/tags/modifiers/upgrades/armor/general.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tinkering_abnormally:sanguine" + ], + "replace": false +} \ No newline at end of file