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