From d897082cba8a9a63a61a2b6e7e29f8ff56cb5c12 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Sat, 2 Oct 2021 11:53:22 +0100 Subject: [PATCH] Added in more reforges and effects --- .../com/willfp/reforges/effects/Effects.java | 2 + .../effects/EffectMovementSpeedMultiplier.kt | 36 ++ .../src/main/resources/reforges.json | 379 ++++++++++++++++++ 3 files changed, 417 insertions(+) create mode 100644 eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/effects/effects/EffectMovementSpeedMultiplier.kt diff --git a/eco-core/core-plugin/src/main/java/com/willfp/reforges/effects/Effects.java b/eco-core/core-plugin/src/main/java/com/willfp/reforges/effects/Effects.java index 2d84e8d..aee9810 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/reforges/effects/Effects.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/reforges/effects/Effects.java @@ -9,6 +9,7 @@ import com.willfp.reforges.effects.effects.EffectDamageMultiplier; import com.willfp.reforges.effects.effects.EffectDurabilityMultiplier; import com.willfp.reforges.effects.effects.EffectIncomingDamageMultiplier; import com.willfp.reforges.effects.effects.EffectKnockbackMultiplier; +import com.willfp.reforges.effects.effects.EffectMovementSpeedMultiplier; import com.willfp.reforges.effects.effects.EffectRewardBlockBreak; import com.willfp.reforges.effects.effects.EffectRewardKill; import lombok.experimental.UtilityClass; @@ -33,6 +34,7 @@ public class Effects { public static final Effect INCOMING_DAMAGE_MULTIPLIER = new EffectIncomingDamageMultiplier(); public static final Effect ATTACK_SPEED_MULTIPLIER = new EffectAttackSpeedMultiplier(); public static final Effect DURABILITY_MULTIPLIER = new EffectDurabilityMultiplier(); + public static final Effect MOVEMENT_SPEED_MULTIPLIER = new EffectMovementSpeedMultiplier(); /** * Get effect matching id. diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/effects/effects/EffectMovementSpeedMultiplier.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/effects/effects/EffectMovementSpeedMultiplier.kt new file mode 100644 index 0000000..ba95ede --- /dev/null +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/effects/effects/EffectMovementSpeedMultiplier.kt @@ -0,0 +1,36 @@ +package com.willfp.reforges.effects.effects + +import com.willfp.eco.core.config.interfaces.JSONConfig +import com.willfp.reforges.effects.Effect +import org.bukkit.attribute.Attribute +import org.bukkit.attribute.AttributeModifier +import org.bukkit.inventory.meta.ItemMeta + +class EffectMovementSpeedMultiplier : Effect("movement_speed_multiplier") { + override fun handleEnabling( + meta: ItemMeta, + config: JSONConfig + ) { + meta.addAttributeModifier( + Attribute.GENERIC_MOVEMENT_SPEED, + AttributeModifier( + this.getUUID(1), + this.id, + config.getDouble("multiplier") - 1, + AttributeModifier.Operation.MULTIPLY_SCALAR_1 + ) + ) + } + + override fun handleDisabling(meta: ItemMeta) { + meta.removeAttributeModifier( + Attribute.GENERIC_MOVEMENT_SPEED, + AttributeModifier( + this.getUUID(1), + this.id, + 0.0, + AttributeModifier.Operation.MULTIPLY_SCALAR_1 + ) + ) + } +} \ No newline at end of file diff --git a/eco-core/core-plugin/src/main/resources/reforges.json b/eco-core/core-plugin/src/main/resources/reforges.json index 22b5e36..3bf56fc 100644 --- a/eco-core/core-plugin/src/main/resources/reforges.json +++ b/eco-core/core-plugin/src/main/resources/reforges.json @@ -51,6 +51,30 @@ } ] }, + { + "id": "durable", + "name": "Durable", + "description": [ + "&a+15% &fMore durability" + ], + "targets": [ + "all" + ], + "stone": { + "enabled": false, + "texture": "", + "craftable": false, + "recipe": [] + }, + "effects": [ + { + "id": "durability_multiplier", + "multiplier": 1.15 + } + ], + "conditions": [ + ] + }, { "id": "dynamic", "name": "Dynamic", @@ -89,6 +113,361 @@ ], "conditions": [ ] + }, + { + "id": "evasive", + "name": "Evasive", + "description": [ + "&a+2% &fIgnore Damage Chance" + ], + "targets": [ + "armor" + ], + "stone": { + "enabled": false, + "texture": "", + "craftable": false, + "recipe": [] + }, + "effects": [ + { + "id": "incoming_damage_multiplier", + "multiplier": 0, + "chance": 2 + } + ], + "conditions": [ + ] + }, + { + "id": "gravitated", + "name": "Gravitated", + "description": [ + "&a+8% &fCritical Damage" + ], + "targets": [ + "melee" + ], + "stone": { + "enabled": false, + "texture": "", + "craftable": false, + "recipe": [] + }, + "effects": [ + { + "id": "crit_multiplier", + "multiplier": 1.08 + } + ], + "conditions": [ + ] + }, + { + "id": "light", + "name": "Light", + "description": [ + "&c-5% &fDamage", + "&c-5% &fKnockback", + "&a+10% &fAttack Speed" + ], + "targets": [ + "melee" + ], + "stone": { + "enabled": false, + "texture": "", + "craftable": false, + "recipe": [] + }, + "effects": [ + { + "id": "damage_multiplier", + "multiplier": 0.95 + }, + { + "id": "knockback_multiplier", + "multiplier": 0.95 + }, + { + "id": "attack_speed_multiplier", + "multiplier": 1.1 + } + ], + "conditions": [ + ] + }, + { + "id": "nautical", + "name": "Nautical", + "description": [ + "&a+20% &fDamage in water" + ], + "targets": [ + "melee", + "bow", + "trident" + ], + "stone": { + "enabled": false, + "texture": "", + "craftable": false, + "recipe": [] + }, + "effects": [ + { + "id": "damage_multiplier", + "multiplier": 1.2 + } + ], + "conditions": [ + { + "id": "in_water" + } + ] + }, + { + "id": "pointy", + "name": "Pointy", + "description": [ + "&a+10% &fDamage" + ], + "targets": [ + "trident" + ], + "stone": { + "enabled": false, + "texture": "", + "craftable": false, + "recipe": [] + }, + "effects": [ + { + "id": "damage_multiplier", + "multiplier": 1.1 + } + ], + "conditions": [ + ] + }, + { + "id": "prospecting", + "name": "Prospecting", + "description": [ + "&a+5% &fChance to get &e2$&f for mining a block" + ], + "targets": [ + "pickaxe" + ], + "stone": { + "enabled": false, + "texture": "", + "craftable": false, + "recipe": [] + }, + "effects": [ + { + "id": "reward_block_break", + "amount": 2, + "chance": 5 + } + ], + "conditions": [ + ] + }, + { + "id": "reinforced", + "name": "Reinforced", + "description": [ + "&a+4% &fDamage Resistance" + ], + "targets": [ + "armor" + ], + "stone": { + "enabled": false, + "texture": "", + "craftable": false, + "recipe": [] + }, + "effects": [ + { + "id": "incoming_damage_multiplier", + "amount": 0.96 + } + ], + "conditions": [ + ] + }, + { + "id": "rich", + "name": "Rich", + "description": [ + "&a+50$ &fFor each mob kill" + ], + "targets": [ + "trident", + "bow" + ], + "stone": { + "enabled": true, + "texture": "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2RjNTdjNzVhZGYzOWVjNmYwZTA5MTYwNDlkZDk2NzFlOThhOGExZTYwMDEwNGU4NGU2NDVjOTg4OTUwYmQ3In19fQ==", + "craftable": true, + "recipe": [ + "gold_block", + "trident", + "gold_block", + "air", + "ecoitems:blank_reforge_stone ? obsidian", + "air", + "gold_block", + "bow", + "gold_block" + ] + }, + "effects": [ + { + "id": "reward_kill", + "amount": 50 + } + ], + "conditions": [ + ] + }, + { + "id": "sharp", + "name": "Sharp", + "description": [ + "&a+3% &fDamage" + ], + "targets": [ + "melee" + ], + "stone": { + "enabled": false, + "texture": "", + "craftable": false, + "recipe": [] + }, + "effects": [ + { + "id": "damage_multiplier", + "amount": 1.03 + } + ], + "conditions": [ + ] + }, + { + "id": "streamlined", + "name": "Streamlined", + "description": [ + "&a+4% &fDamage" + ], + "targets": [ + "bow" + ], + "stone": { + "enabled": false, + "texture": "", + "craftable": false, + "recipe": [] + }, + "effects": [ + { + "id": "damage_multiplier", + "amount": 1.04 + } + ], + "conditions": [ + ] + }, + { + "id": "strong", + "name": "Strong", + "description": [ + "&a+2% &fDamage", + "&a+10% &fKnockback" + ], + "targets": [ + "melee" + ], + "stone": { + "enabled": false, + "texture": "", + "craftable": false, + "recipe": [] + }, + "effects": [ + { + "id": "damage_multiplier", + "multiplier": 1.02 + }, + { + "id": "knockback_multiplier", + "multiplier": 1.1 + } + ], + "conditions": [ + ] + }, + { + "id": "thin", + "name": "Thin", + "description": [ + "&c-5% &fDamage Resistance", + "&a+2.5% &fMovement Speed" + ], + "targets": [ + "armor" + ], + "stone": { + "enabled": false, + "texture": "", + "craftable": false, + "recipe": [] + }, + "effects": [ + { + "id": "incoming_damage_multiplier", + "multiplier": 1.05 + }, + { + "id": "movement_speed_multiplier", + "multiplier": 1.025 + } + ], + "conditions": [ + ] + }, + { + "id": "tough", + "name": "Tough", + "description": [ + "&c+8% &fDamage Resistance", + "&a-5% &fMovement Speed" + ], + "targets": [ + "armor" + ], + "stone": { + "enabled": false, + "texture": "", + "craftable": false, + "recipe": [] + }, + "effects": [ + { + "id": "incoming_damage_multiplier", + "multiplier": 0.92 + }, + { + "id": "movement_speed_multiplier", + "multiplier": 0.95 + } + ], + "conditions": [ + ] } ] } \ No newline at end of file