@@ -19,10 +19,10 @@ public class DamageModifiers implements Listener {
1919 private final WorldUtils worldUtils ;
2020 private final CombatPlus plugin ;
2121
22- private final double oldPickaxeDamage ;
23- private final double oldAxeDamage ;
24- private final double oldShovelDamage ;
25- private final double oldSwordDamage ;
22+ private final String oldPickaxeDamage ;
23+ private final String oldAxeDamage ;
24+ private final String oldShovelDamage ;
25+ private final String oldSwordDamage ;
2626
2727 private final boolean oldWeaponDamage ;
2828 private final boolean oldToolDamage ;
@@ -32,10 +32,10 @@ public class DamageModifiers implements Listener {
3232 public DamageModifiers (CombatPlus plugin ) {
3333 this .plugin = plugin ;
3434 this .worldUtils = new WorldUtils (plugin );
35- this .oldPickaxeDamage = plugin .getConfig ().getDouble ("advanced.settings.modifiers.old_pickaxes_damage" );
36- this .oldAxeDamage = plugin .getConfig ().getDouble ("advanced.settings.modifiers.old_axes_damage" );
37- this .oldShovelDamage = plugin .getConfig ().getDouble ("advanced.settings.modifiers.old_shovels_damage" );
38- this .oldSwordDamage = plugin .getConfig ().getDouble ("advanced.settings.modifiers.old_swords_damage" );
35+ this .oldPickaxeDamage = plugin .getConfig ().getString ("advanced.settings.modifiers.old_pickaxes_damage" );
36+ this .oldAxeDamage = plugin .getConfig ().getString ("advanced.settings.modifiers.old_axes_damage" );
37+ this .oldShovelDamage = plugin .getConfig ().getString ("advanced.settings.modifiers.old_shovels_damage" );
38+ this .oldSwordDamage = plugin .getConfig ().getString ("advanced.settings.modifiers.old_swords_damage" );
3939 this .oldWeaponDamage = plugin .getConfig ().getBoolean ("combat.settings.old_weapon_damage" );
4040 this .oldToolDamage = plugin .getConfig ().getBoolean ("combat.settings.old_tool_damage" );
4141 this .sweepAttacks = plugin .getConfig ().getBoolean ("combat.settings.disable_sweep_attacks.enabled" );
@@ -106,7 +106,7 @@ public void onEntityDamage(EntityDamageByEntityEvent e) {
106106 }
107107 }
108108
109- private void disableSweep (EntityDamageEvent e , Entity player , ItemStack handItem ) {
109+ private void disableSweep (EntityDamageEvent e , Player player , ItemStack handItem ) {
110110 if (handItem .containsEnchantment (Enchantment .SWEEPING_EDGE ) && plugin .getConfig ().getBoolean ("combat.settings.disable_sweep_attacks.ignore_sweeping_edge" ))
111111 return ;
112112 Entity ent = e .getEntity ();
@@ -115,78 +115,87 @@ private void disableSweep(EntityDamageEvent e, Entity player, ItemStack handItem
115115 double z = ent .getVelocity ().getZ ();
116116 e .setCancelled (true );
117117 ent .setVelocity (new Vector ().zero ());
118- Messenger .debug (( Player ) player , "&3Damage Modifier &f&l>> &6Canceled Sweep Attack: &a" + e .isCancelled () + " &6Velocity: X = &a" + x + " &6Y = &a" + y + " &6Z = &a" + z );
118+ Messenger .debug (player , "&3Damage Modifier &f&l>> &6Canceled Sweep Attack: &a" + e .isCancelled () + " &6Velocity: X = &a" + x + " &6Y = &a" + y + " &6Z = &a" + z );
119119 }
120120
121- private void oldPickaxeDmg (EntityDamageByEntityEvent e , Entity player , ItemStack handItem ) {
121+ private void oldPickaxeDmg (EntityDamageByEntityEvent e , Player player , ItemStack handItem ) {
122122 double damageDealt = e .getDamage ();
123123 double newDmg ;
124+ if (divide (oldPickaxeDamage )) {
125+ newDmg = damageDealt / convertToDivide (oldPickaxeDamage );
126+ } else {
127+ newDmg = damageDealt + Double .parseDouble (oldPickaxeDamage );
128+ }
124129 if (handItem .containsEnchantment (Enchantment .DAMAGE_ALL ) && oldSharp ) {
125130 double sharpLvl = handItem .getEnchantmentLevel (Enchantment .DAMAGE_ALL );
126131 double oldSharpDmg = sharpLvl >= 1 ? 1 + (sharpLvl - 1 ) * 0.5 : 0 ; //1.9+
127132 double newSharpDmg = sharpLvl >= 1 ? sharpLvl * 1.25 : 0 ; //1.8
128- newDmg = damageDealt + oldPickaxeDamage + newSharpDmg - oldSharpDmg ;
129- } else {
130- newDmg = damageDealt + oldPickaxeDamage ;
133+ newDmg = newDmg + newSharpDmg - oldSharpDmg ;
131134 }
132135 e .setDamage (newDmg );
133- Messenger .debug (( Player ) player , "&3Damage Modifier &f&l>> &6Item: &aPickaxe &6Old Damage: &a" + damageDealt + " &6New Damage: &a" + newDmg );
136+ Messenger .debug (player , "&3Damage Modifier &f&l>> &6Item: &aPickaxe &6Old Damage: &a" + damageDealt + " &6New Damage: &a" + newDmg );
134137 }
135138
136- private void oldAxeDmg (EntityDamageByEntityEvent e , Entity player , ItemStack handItem ) {
139+ private void oldAxeDmg (EntityDamageByEntityEvent e , Player player , ItemStack handItem ) {
137140 double damageDealt = e .getDamage ();
138141 double newDmg ;
142+ if (divide (oldAxeDamage )) {
143+ newDmg = damageDealt / convertToDivide (oldAxeDamage );
144+ } else {
145+ newDmg = damageDealt + Double .parseDouble (oldAxeDamage );
146+ }
139147 if (handItem .containsEnchantment (Enchantment .DAMAGE_ALL ) && oldSharp ) {
140148 double sharpLvl = handItem .getEnchantmentLevel (Enchantment .DAMAGE_ALL );
141149 double oldSharpDmg = sharpLvl >= 1 ? 1 + (sharpLvl - 1 ) * 0.5 : 0 ; //1.9+
142150 double newSharpDmg = sharpLvl >= 1 ? sharpLvl * 1.25 : 0 ; //1.8
143- newDmg = damageDealt + oldAxeDamage + newSharpDmg - oldSharpDmg ;
144- } else {
145- newDmg = damageDealt + oldAxeDamage ;
151+ newDmg = newDmg + newSharpDmg - oldSharpDmg ;
146152 }
147153 e .setDamage (newDmg );
148- Messenger .debug (( Player ) player , "&3Damage Modifier &f&l>> &6Item: &aAxe &6Old Damage: &a" + damageDealt + " &6New Damage: &a" + newDmg );
154+ Messenger .debug (player , "&3Damage Modifier &f&l>> &6Item: &aAxe &6Old Damage: &a" + damageDealt + " &6New Damage: &a" + newDmg );
149155 }
150156
151- private void oldShovelDmg (EntityDamageByEntityEvent e , Entity player , ItemStack handItem ) {
157+ private void oldShovelDmg (EntityDamageByEntityEvent e , Player player , ItemStack handItem ) {
152158 double damageDealt = e .getDamage ();
153159 double newDmg ;
160+ if (divide (oldShovelDamage )) {
161+ newDmg = damageDealt / convertToDivide (oldShovelDamage );
162+ } else {
163+ newDmg = damageDealt + Double .parseDouble (oldShovelDamage );
164+ }
154165 if (handItem .containsEnchantment (Enchantment .DAMAGE_ALL ) && oldSharp ) {
155166 double sharpLvl = handItem .getEnchantmentLevel (Enchantment .DAMAGE_ALL );
156167 double oldSharpDmg = sharpLvl >= 1 ? 1 + (sharpLvl - 1 ) * 0.5 : 0 ; //1.9+
157168 double newSharpDmg = sharpLvl >= 1 ? sharpLvl * 1.25 : 0 ; //1.8
158- newDmg = damageDealt + oldShovelDamage + newSharpDmg - oldSharpDmg ;
159- } else {
160- newDmg = damageDealt + oldShovelDamage ;
169+ newDmg = newDmg + newSharpDmg - oldSharpDmg ;
161170 }
162171 e .setDamage (newDmg );
163- Messenger .debug (( Player ) player , "&3Damage Modifier &f&l>> &6Item: &aShovel &6Old Damage: &a" + damageDealt + " &6New Damage: &a" + newDmg );
172+ Messenger .debug (player , "&3Damage Modifier &f&l>> &6Item: &aShovel &6Old Damage: &a" + damageDealt + " &6New Damage: &a" + newDmg );
164173 }
165174
166- private void oldSwordDmg (EntityDamageByEntityEvent e , Entity player , ItemStack handItem ) {
175+ private void oldSwordDmg (EntityDamageByEntityEvent e , Player player , ItemStack handItem ) {
167176 double damageDealt = e .getDamage ();
168177 double newDmg ;
178+ if (divide (oldSwordDamage )) {
179+ newDmg = damageDealt / convertToDivide (oldSwordDamage );
180+ } else {
181+ newDmg = damageDealt + Double .parseDouble (oldSwordDamage );
182+ }
169183 if (handItem .containsEnchantment (Enchantment .DAMAGE_ALL ) && oldSharp ) {
170184 double sharpLvl = handItem .getEnchantmentLevel (Enchantment .DAMAGE_ALL );
171185 double oldSharpDmg = sharpLvl >= 1 ? 1 + (sharpLvl - 1 ) * 0.5 : 0 ; //1.9+
172186 double newSharpDmg = sharpLvl >= 1 ? sharpLvl * 1.25 : 0 ; //1.8
173- newDmg = damageDealt + oldSwordDamage + newSharpDmg - oldSharpDmg ;
174- } else {
175- newDmg = damageDealt + oldSwordDamage ;
187+ newDmg = newDmg + newSharpDmg - oldSharpDmg ;
176188 }
177189 e .setDamage (newDmg );
178- Messenger .debug (( Player ) player , "&3Damage Modifier &f&l>> &6Item: &aSword &6Old Damage: &a" + damageDealt + " &6New Damage: &a" + newDmg );
190+ Messenger .debug (player , "&3Damage Modifier &f&l>> &6Item: &aSword &6Old Damage: &a" + damageDealt + " &6New Damage: &a" + newDmg );
179191 }
180192
181- private void oldSharpDamage (EntityDamageByEntityEvent e , Entity player , ItemStack handItem ) {
182- if (handItem .containsEnchantment (Enchantment .DAMAGE_ALL )) {
183- double damageDealt = e .getDamage ();
184- double sharpLvl = handItem .getEnchantmentLevel (Enchantment .DAMAGE_ALL );
185- double oldSharpDmg = sharpLvl >= 1 ? 1 + (sharpLvl - 1 ) * 0.5 : 0 ; //1.9+
186- double newSharpDmg = sharpLvl >= 1 ? sharpLvl * 1.25 : 0 ; //1.8
187- double total = damageDealt + newSharpDmg - oldSharpDmg ;
188- e .setDamage (total );
189- Messenger .debug ((Player ) player , "&3Damage Modifier &f&l>> &6Old Sharpness Damage: &a" + oldSharpDmg + " &6New Sharpness Damage: &a" + newSharpDmg );
190- }
193+ private boolean divide (String value ) {
194+ return value .contains ("/" );
195+ }
196+
197+ private double convertToDivide (String value ) {
198+ String s = value .replaceAll ("/" , "" );
199+ return Double .parseDouble (s );
191200 }
192201}
0 commit comments