Răsfoiți Sursa

Merge remote-tracking branch 'origin/master' into configurable

Shane Freeder 5 ani în urmă
părinte
comite
33e0b40e19
21 a modificat fișierele cu 68 adăugiri și 51 ștergeri
  1. 10 1
      Changelog.txt
  2. 4 4
      mcmmo-core/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java
  3. 2 2
      mcmmo-core/src/main/java/com/gmail/nossr50/listeners/EntityListener.java
  4. 6 0
      mcmmo-core/src/main/java/com/gmail/nossr50/runnables/skills/BleedTimerTask.java
  5. 23 29
      mcmmo-core/src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java
  6. 6 0
      mcmmo-core/src/main/java/com/gmail/nossr50/util/skills/ParticleEffectUtils.java
  7. 1 1
      mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_cs_CZ.properties
  8. 1 1
      mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_de.properties
  9. 1 1
      mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_en_US.properties
  10. 1 1
      mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_es.properties
  11. 1 1
      mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_fr.properties
  12. 1 1
      mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_hu_HU.properties
  13. 1 1
      mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_it.properties
  14. 1 1
      mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_ja_JP.properties
  15. 2 1
      mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_ko.properties
  16. 1 1
      mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_lt_LT.properties
  17. 2 1
      mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_pt_BR.properties
  18. 1 1
      mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_ru.properties
  19. 1 1
      mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_th_TH.properties
  20. 1 1
      mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_zh_CN.properties
  21. 1 1
      mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_zh_TW.properties

+ 10 - 1
Changelog.txt

@@ -1,4 +1,3 @@
-<<<<<<< HEAD
 Version 2.2.0
     !!!!!!!!!!!!!!!!!!!!!!!!
     !!!!!!!!!!!!!!!!!!!!!!!!
@@ -204,6 +203,16 @@ Version 2.2.0
     Added API method to check if a skill was being level capped
     Added 'UndefinedSkillBehaviour' for trying to use a method that has no behaviour defined for the provided skill
 
+Version 2.1.118
+    Fixed another dupe bug
+    Blast Mining no longer reduces debris from explosions due to some issues with the Bukkit API
+    Modified locale string 'Mining.Blast.Effect' to remove debris reduction mention
+    Rupture now fires a FakeEntityDamageByEntityEvent before damaging its victims (cancelling it will be ignored)
+
+Version 2.1.117
+    Fixed a rare http error when polling Mojang for UUIDs
+    Fixed a bug that allowed duping
+
 Version 2.1.116
     Fixed directional plants not maintaining their direction when replanted
 

+ 4 - 4
mcmmo-core/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java

@@ -20,7 +20,7 @@ public class MiningCommand extends SkillCommand {
     private int bonusTNTDrops;
     private double blastRadiusIncrease;
     private String oreBonus;
-    private String debrisReduction;
+//    private String debrisReduction;
     private String blastDamageDecrease;
 
     private boolean canSuperBreaker;
@@ -42,7 +42,7 @@ public class MiningCommand extends SkillCommand {
             blastMiningRank = miningManager.getBlastMiningTier();
             bonusTNTDrops = miningManager.getDropMultiplier();
             oreBonus = percent.format(miningManager.getOreBonus() / 30.0D); // Base received in TNT is 30%
-            debrisReduction = percent.format(miningManager.getDebrisReduction() / 30.0D); // Base received in TNT is 30%
+//            debrisReduction = percent.format(miningManager.getDebrisReduction() / 30.0D); // Base received in TNT is 30%
             blastDamageDecrease = percent.format(miningManager.getBlastDamageModifier() / 100.0D);
             blastRadiusIncrease = miningManager.getBlastRadiusModifier();
         }
@@ -81,8 +81,8 @@ public class MiningCommand extends SkillCommand {
         }
 
         if (canBlast) {
-            messages.add(getStatMessage(false, true, SubSkillType.MINING_BLAST_MINING, String.valueOf(blastMiningRank), String.valueOf(pluginRef.getRankTools().getHighestRank(SubSkillType.MINING_BLAST_MINING)), pluginRef.getLocaleManager().getString("SuperAbility.BlastMining.Effect", oreBonus, debrisReduction, bonusTNTDrops)));
-            //messages.add(pluginRef.getLocaleManager().getString("SuperAbility.BlastMining.Rank", blastMiningRank, RankUtils.getHighestRank(SubSkillType.MINING_BLAST_MINING), pluginRef.getLocaleManager().getString("SuperAbility.BlastMining.Effect", oreBonus, debrisReduction, bonusTNTDrops)));
+            messages.add(getStatMessage(false, true, SubSkillType.MINING_BLAST_MINING, String.valueOf(blastMiningRank), String.valueOf(pluginRef.getRankTools().getHighestRank(SubSkillType.MINING_BLAST_MINING)), pluginRef.getLocaleManager().getString("Mining.Blast.Effect", oreBonus, bonusTNTDrops)));
+            //messages.add(LocaleLoader.getString("Mining.Blast.Rank", blastMiningRank, RankUtils.getHighestRank(SubSkillType.MINING_BLAST_MINING), LocaleLoader.getString("Mining.Blast.Effect", oreBonus, debrisReduction, bonusTNTDrops)));
         }
 
         if (canDemoExpert) {

+ 2 - 2
mcmmo-core/src/main/java/com/gmail/nossr50/listeners/EntityListener.java

@@ -791,8 +791,8 @@ public class EntityListener implements Listener {
         MiningManager miningManager = pluginRef.getUserManager().getPlayer(player).getMiningManager();
 
         if (miningManager.canUseBlastMining()) {
-            miningManager.blastMiningDropProcessing(event.getYield(), event.blockList());
-            event.setYield(0);
+            miningManager.blastMiningDropProcessing(event.getYield(), event);
+//            event.setYield(0);
         }
     }
 

+ 6 - 0
mcmmo-core/src/main/java/com/gmail/nossr50/runnables/skills/BleedTimerTask.java

@@ -2,11 +2,13 @@ package com.gmail.nossr50.runnables.skills;
 
 import com.gmail.nossr50.datatypes.interactions.NotificationType;
 import com.gmail.nossr50.datatypes.skills.BleedContainer;
+import com.gmail.nossr50.events.fake.FakeEntityDamageByEntityEvent;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.util.sounds.SoundType;
 import org.bukkit.Bukkit;
 import org.bukkit.entity.LivingEntity;
 import org.bukkit.entity.Player;
+import org.bukkit.event.entity.EntityDamageEvent;
 import org.bukkit.inventory.ItemStack;
 import org.bukkit.scheduler.BukkitRunnable;
 
@@ -161,6 +163,10 @@ public class BleedTimerTask extends BukkitRunnable {
 
 //            debugMessage+="TargetHealthBeforeDMG=["+String.valueOf(target.getHealth())+"], ";
 
+            //Fire a fake event
+            FakeEntityDamageByEntityEvent fakeEntityDamageByEntityEvent = (FakeEntityDamageByEntityEvent) pluginRef.getCombatTools().sendEntityDamageEvent(containerEntry.getValue().damageSource, target, EntityDamageEvent.DamageCause.CUSTOM, damage);
+            Bukkit.getPluginManager().callEvent(fakeEntityDamageByEntityEvent);
+
             pluginRef.getCombatTools().dealNoInvulnerabilityTickDamageRupture(target, damage, containerEntry.getValue().damageSource, toolTier);
 
             double victimHealthAftermath = target.getHealth();

+ 23 - 29
mcmmo-core/src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java

@@ -14,9 +14,11 @@ import com.gmail.nossr50.skills.SkillManager;
 import org.bukkit.Material;
 import org.bukkit.block.Block;
 import org.bukkit.block.BlockState;
+import org.bukkit.block.Container;
 import org.bukkit.enchantments.Enchantment;
 import org.bukkit.entity.Player;
 import org.bukkit.entity.TNTPrimed;
+import org.bukkit.event.entity.EntityExplodeEvent;
 import org.bukkit.inventory.ItemStack;
 
 import java.util.ArrayList;
@@ -137,53 +139,45 @@ public class MiningManager extends SkillManager {
      * Handler for explosion drops and XP gain.
      *
      * @param yield     The % of blocks to drop
-     * @param blockList The list of blocks to drop
+     * @param event The {@link EntityExplodeEvent}
      */
-    public void blastMiningDropProcessing(float yield, List<Block> blockList) {
+    public void blastMiningDropProcessing(float yield, EntityExplodeEvent event) {
         List<BlockState> ores = new ArrayList<>();
-        List<BlockState> debris = new ArrayList<>();
+        List<Block> newYieldList = new ArrayList<>();
+
+        for (Block targetBlock : event.blockList()) {
+            //Containers usually have 0 XP unless someone edited their config in a very strange way
+            if (pluginRef.getDynamicSettingsManager().getExperienceManager().getMiningXp(targetBlock.getType()) == 0 || targetBlock instanceof Container || pluginRef.getPlaceStore().isTrue(targetBlock)) {
+                newYieldList.add(targetBlock);
+            } else {
+                ores.add(targetBlock.getState());
+            }
+        }
+
         int xp = 0;
 
         float oreBonus = (float) (getOreBonus() / 100);
-        float debrisReduction = (float) (getDebrisReduction() / 100);
+        //float debrisReduction = (float) (getDebrisReduction() / 100);
         int dropMultiplier = getDropMultiplier();
 
-        float debrisYield = yield - debrisReduction;
+        //float debrisYield = yield - debrisReduction;
 
-        for (Block block : blockList) {
-            BlockState blockState = block.getState();
 
-            if (pluginRef.getBlockTools().isOre(blockState)) {
-                ores.add(blockState);
-            //A bug where beacons can drop when yield is set to 0 on explosion events is prevented here
-            } else if(blockState.getType() != Material.BEACON) {
-                debris.add(blockState);
-            }
-        }
 
         for (BlockState blockState : ores) {
-            if (pluginRef.getMiscTools().getRandom().nextFloat() < (yield + oreBonus)) {
-                if (!pluginRef.getPlaceStore().isTrue(blockState)) {
-                    xp += miningBehaviour.getBlockXp(blockState);
-                }
+            if (pluginRef.getMiscTools().getRandom().nextFloat() < (newYieldList.size() + oreBonus)) {
+                xp += miningBehaviour.getBlockXp(blockState);
 
                 pluginRef.getMiscTools().dropItem(pluginRef.getMiscTools().getBlockCenter(blockState), new ItemStack(blockState.getType())); // Initial block that would have been dropped
 
-                if (!pluginRef.getPlaceStore().isTrue(blockState)) {
-                    for (int i = 1; i < dropMultiplier; i++) {
-                        miningBehaviour.handleSilkTouchDrops(blockState); // Bonus drops - should drop the block & not the items
-                    }
+                for (int i = 1; i < dropMultiplier; i++) {
+                    miningBehaviour.handleSilkTouchDrops(blockState); // Bonus drops - should drop the block & not the items
                 }
             }
         }
 
-        if (debrisYield > 0) {
-            for (BlockState blockState : debris) {
-                if (pluginRef.getMiscTools().getRandom().nextFloat() < debrisYield) {
-                    pluginRef.getMiscTools().dropItems(pluginRef.getMiscTools().getBlockCenter(blockState), blockState.getBlock().getDrops());
-                }
-            }
-        }
+        event.blockList().clear();
+        event.blockList().addAll(newYieldList);
 
         applyXpGain(xp, XPGainReason.PVE);
     }

+ 6 - 0
mcmmo-core/src/main/java/com/gmail/nossr50/util/skills/ParticleEffectUtils.java

@@ -46,12 +46,18 @@ public final class ParticleEffectUtils {
             return;
         }*/
 
+        if(location.getWorld() == null)
+            return;
+
         location.getWorld().playEffect(location, Effect.MOBSPAWNER_FLAMES, 1);
     }
 
     public void playSmokeEffect(Location location) {
         World world = location.getWorld();
 
+        if(world == null)
+            return;
+
         // Have to do it this way, because not all block directions are valid for smoke
         world.playEffect(location, Effect.SMOKE, BlockFace.SOUTH_EAST);
         world.playEffect(location, Effect.SMOKE, BlockFace.SOUTH);

+ 1 - 1
mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_cs_CZ.properties

@@ -159,7 +159,7 @@ SuperAbility.SuperBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Me
 SuperAbility.SuperBreaker.Refresh=[[GREEN]]Schopnost [[YELLOW]]Super Breaker [[GREEN]]obnovena!
 Mining.Skillup=Dovednost v dolovani byla navysena o {0}. Celkem ({1})
 SuperAbility.BlastMining.Boom=[[GRAY]]**VYBUCH**
-SuperAbility.BlastMining.Effect=+{0} v\u00fdnos rudy, -{1} v\u00fdnos trosek, {2}x ko\u0159ist
+SuperAbility.BlastMining.Effect=+{0} v\u00fdnos rudy, {1}x ko\u0159ist
 SuperAbility.BlastMining.Radius.Increase=Navyseni radiusu vybuchu: [[YELLOW]]+{0}
 SuperAbility.BlastMining.Rank=V\u00fdbu\u0161n\u00e9 t\u011b\u017een\u00ed [[YELLOW]] Rank {0}/8 [[GRAY]]({1})
 SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] pou\u017eil [[RED]]V\u00fdbu\u0161n\u00e9 T\u011b\u017een\u00ed!

+ 1 - 1
mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_de.properties

@@ -601,7 +601,7 @@ Mining.Ability.Locked.2                          = GESPERRT bis Skill {0}+  (Exp
 Mining.Ability.Lower                             = &7**Du senkst deine SPITZHACKE**
 Mining.Ability.Ready                             = &a**Deine SPITZHACKE ist bereit**
 SuperAbility.BlastMining.Boom                                = &7**BOOM**
-SuperAbility.BlastMining.Effect                              = +{0} Erze -{1} Schutt, {2}x Drops
+SuperAbility.BlastMining.Effect                              = +{0} Erze {1}x Drops
 SuperAbility.BlastMining.Other.On                            = &a{0}&2 benutzte &cZ\u00FCndstoff!
 SuperAbility.BlastMining.Refresh                             = &aDein &eZ\u00FCndstoff &aist wieder bereit!
 Mining.Listener                                  = Bergbau:

+ 1 - 1
mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_en_US.properties

@@ -327,7 +327,7 @@ SuperAbility.SuperBreaker.Refresh=[[GREEN]]Your [[YELLOW]]Super Breaker [[GREEN]
 #Blast Mining
 SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM**
 SuperAbility.BlastMining.Cooldown=
-SuperAbility.BlastMining.Effect=+{0} ore yield, -{1} debris yield, {2}x drops
+SuperAbility.BlastMining.Effect=+{0} ore yield,  {1}x drops
 SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Blast Mining!
 SuperAbility.BlastMining.Refresh=[[GREEN]]Your [[YELLOW]]Blast Mining [[GREEN]]ability is refreshed!
 #REPAIR

+ 1 - 1
mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_es.properties

@@ -161,7 +161,7 @@ SuperAbility.SuperBreaker.Other.On=[[GREEN]]\u00a1{0}[[DARK_GREEN]] us\u00f3 [[R
 SuperAbility.SuperBreaker.Refresh=[[GREEN]]\u00a1Tu habilidad de [[YELLOW]]S\u00faper Destructor [[GREEN]]est\u00e1 refrescada!
 Mining.Skillup=Habilidad de Miner\u00eda incrementada en {0}. Total ({1})
 SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM**
-SuperAbility.BlastMining.Effect=+ {0} mineral de rendimiento, - {1} rendimiento de los desechos, {2} x drops
+SuperAbility.BlastMining.Effect=+ {0} mineral de rendimiento, {1} x drops
 SuperAbility.BlastMining.Radius.Increase=Incrementado Radio de Explosi\u00f3n: [[YELLOW]]+{0}
 SuperAbility.BlastMining.Rank=Miner\u00eda Explosiva: [[YELLOW]] Rango {0}/8 [[GRAY]]({1})
 SuperAbility.BlastMining.Other.On=[[GREEN]]\u00a1{0}[[DARK_GREEN]] us\u00f3 [[RED]]Miner\u00eda Explosiva!

+ 1 - 1
mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_fr.properties

@@ -177,7 +177,7 @@ SuperAbility.SuperBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]] a utilis\u00e9 [[R
 SuperAbility.SuperBreaker.Refresh=[[GREEN]]Votre comp\u00e9tence [[YELLOW]]Broyeur [[GREEN]]est pr\u00eate !
 Mining.Skillup=Le talent Minage augmente de {0}. Total ({1})
 SuperAbility.BlastMining.Boom=[[GRAY]]**BOUM**
-SuperAbility.BlastMining.Effect=+{0} de r\u00e9colte des minerais, -{1} de r\u00e9colte des d\u00e9bris, {2}x les r\u00e9compenses
+SuperAbility.BlastMining.Effect=+{0} de r\u00e9colte des minerais, {1}x les r\u00e9compenses
 SuperAbility.BlastMining.Radius.Increase=Rayon d\'explosion : [[YELLOW]]+{0}
 SuperAbility.BlastMining.Rank=Minage explosif : [[YELLOW]]Rang {0}/8 [[GRAY]]({1})
 SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] a utilis\u00e9 [[RED]]Minage explosif !

+ 1 - 1
mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_hu_HU.properties

@@ -330,7 +330,7 @@ SuperAbility.SuperBreaker.Refresh=[[GREEN]]A [[YELLOW]]Szuper T\u00F6r\u00E9s [[
 #Blast Mining
 SuperAbility.BlastMining.Boom=[[GRAY]]**BUMM**
 SuperAbility.BlastMining.Cooldown=
-SuperAbility.BlastMining.Effect=+{0} \u00E9rc hozam, -{1} t\u00F6rmel\u00E9k hozam, {2}x t\u00E1rgy es\u00E9s
+SuperAbility.BlastMining.Effect=+{0} \u00E9rc hozam, {1}x t\u00E1rgy es\u00E9s
 SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] haszn\u00E1lta a [[RED]]Robbant\u00E1sb\u00E1ny\u00E1szat [[DARK_GREEN]]k\u00E9pess\u00E9get!
 SuperAbility.BlastMining.Refresh=[[GREEN]]A [[YELLOW]]Robbant\u00E1sb\u00E1ny\u00E1szat [[GREEN]]k\u00E9pess\u00E9ged ism\u00E9t el\u00E9rhet\u0151!
 #REPAIR

+ 1 - 1
mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_it.properties

@@ -338,7 +338,7 @@ SuperAbility.SuperBreaker.Refresh=[[GREEN]]La tua capacit\u00E0 [[YELLOW]]Super
 #Blast Mining
 SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM**
 SuperAbility.BlastMining.Cooldown=
-SuperAbility.BlastMining.Effect=+{0} minerale raccolto, -{1} macerie prodotte, drop {2}x
+SuperAbility.BlastMining.Effect=+{0} minerale raccolto, drop {1}x
 SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] ha usato [[RED]]Estrazione Esplosiva!
 SuperAbility.BlastMining.Refresh=[[GREEN]]La tua capacit\u00E0 [[YELLOW]]Estrazione Esplosiva [[GREEN]]si \u00E8 rigenerata!
 

+ 1 - 1
mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_ja_JP.properties

@@ -322,7 +322,7 @@ SuperAbility.SuperBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]]\u304c [[RED]]\u30b
 # Blast Mining
 SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM**
 SuperAbility.BlastMining.Cooldown=
-SuperAbility.BlastMining.Effect=+{0} ore yield, -{1} debris yield, {2}x \u30c9\u30ed\u30c3\u30d7
+SuperAbility.BlastMining.Effect=+{0} ore yield, {1}x \u30c9\u30ed\u30c3\u30d7
 SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u304c [[RED]]\u30d6\u30e9\u30b9\u30c8\u30de\u30a4\u30cb\u30f3\u30b0 [[DARK_GREEN]]\u3092\u4f7f\u3063\u305f\uff01
 SuperAbility.BlastMining.Refresh=[[YELLOW]]\u30d6\u30e9\u30b9\u30c8\u30de\u30a4\u30cb\u30f3\u30b0[GREEN]]\u30a2\u30d3\u30ea\u30c6\u30a3\u304c\u56de\u5fa9\u3057\u307e\u3057\u305f\uff01
 

+ 2 - 1
mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_ko.properties

@@ -202,11 +202,12 @@ SuperAbility.SuperBreaker.Refresh=[[GREEN]]\uB2F9\uC2E0\uC758 [[YELLOW]]\uD30C\u
 Mining.Skillup=\uCC44\uAD11 \uAE30\uC220\uC774 {0} \uC62C\uB77C \uCD1D {1} \uB808\uBCA8\uC774 \uB418\uC5C8\uC2B5\uB2C8\uB2E4
 #Blast Mining
 SuperAbility.BlastMining.Boom=[[GRAY]]**\uD3ED\uBC1C**
-SuperAbility.BlastMining.Effect=+{0} \uAD11\uBB3C \uC774\uC775, -{1} \uD30C\uD3B8 \uC0B0\uCD9C, {2}x \uB4DC\uB86D
+SuperAbility.BlastMining.Effect=+{0} \uAD11\uBB3C \uC774\uC775, {1}x \uB4DC\uB86D
 SuperAbility.BlastMining.Radius.Increase=\uD3ED\uBC1C \uBC18\uACBD \uC99D\uAC00: [[YELLOW]]+{0}
 SuperAbility.BlastMining.Rank=\uD3ED\uBC1C \uCC44\uAD74: [[YELLOW]]{0}/8\uB7AD\uD06C [[GRAY]]({1})
 SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]]\uB2D8\uC740 [[RED]]\uD3ED\uBC1C \uCC44\uAD74\uC744 \uC0AC\uC6A9\uD558\uC168\uC2B5\uB2C8\uB2E4!
 SuperAbility.BlastMining.Refresh=[[GREEN]]\uB2F9\uC2E0\uC758 [[YELLOW]]\uD3ED\uBC1C \uCC44\uAD74 [[GREEN]]\uAE30\uC220\uC740 \uC774\uC81C \uC0AC\uC6A9 \uAC00\uB2A5\uD569\uB2C8\uB2E4!
+
 #REPAIR
 Repair.SubSkill.Repair.Name=\uC218\uB9AC
 Repair.SubSkill.Repair.Description=\uB3C4\uAD6C & \uBC29\uC5B4\uAD6C \uC218\uB9AC

+ 1 - 1
mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_lt_LT.properties

@@ -330,7 +330,7 @@ SuperAbility.SuperBreaker.Refresh=[[GREEN]]Your [[YELLOW]]Super Breaker [[GREEN]
 #Blast Mining
 SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM**
 SuperAbility.BlastMining.Cooldown=
-SuperAbility.BlastMining.Effect=+{0} ore yield, -{1} debris yield, {2}x drops
+SuperAbility.BlastMining.Effect=+{0} ore yield, {1}x drops
 SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Blast Mining!
 SuperAbility.BlastMining.Refresh=[[GREEN]]Your [[YELLOW]]Blast Mining [[GREEN]]ability is refreshed!
 #REPAIR

+ 2 - 1
mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_pt_BR.properties

@@ -186,11 +186,12 @@ SuperAbility.SuperBreaker.Refresh=[[GREEN]]Sua Habilidade [[YELLOW]]Super Quebra
 Mining.Skillup=[[YELLOW]]Habilidade de Mineracao foi aumentada para {0}. Total ({1})
 #Mineracao Explosiva
 SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM**
-SuperAbility.BlastMining.Effect=+{0} Rendimento de Minerios, -{1} Prejuizo de Detritos, {2}x drops
+SuperAbility.BlastMining.Effect=+{0} Rendimento de Minerios, {1}x drops
 SuperAbility.BlastMining.Radius.Increase=[[RED]]Aumento no Raio de explosao: [[YELLOW]]+{0}
 SuperAbility.BlastMining.Rank=[[RED]]Mineracao Explosiva: [[YELLOW]] Rank {0}/{1} [[GRAY]]({2})
 SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] usou [[RED]]Mineracao Explosiva!
 SuperAbility.BlastMining.Refresh=[[GREEN]]Sua Habilidade [[YELLOW]]Mineracao Explosiva [[GREEN]]foi refrescada!
+
 #REPARAR
 Repair.Effect.0=Reparar
 Repair.Effect.1=Reparar Ferramentas & Armaduras

+ 1 - 1
mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_ru.properties

@@ -290,7 +290,7 @@ Mining.Skillup=\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0430\u0432\u04
 #Blast Mining
 SuperAbility.BlastMining.Boom=[[GRAY]]**\u0411\u0423\u041c**
 SuperAbility.BlastMining.Cooldown=
-SuperAbility.BlastMining.Effect=+{0} \u0440\u0443\u0434\u044b, -{1} \u043c\u0443\u0441\u043e\u0440\u0430, {2}x \u0434\u0440\u043e\u043f
+SuperAbility.BlastMining.Effect=+{0} \u0440\u0443\u0434\u044b, {1}x \u0434\u0440\u043e\u043f
 SuperAbility.BlastMining.Radius.Increase=\u0420\u0430\u0434\u0438\u0443\u0441 \u0412\u0437\u0440\u044b\u0432\u0430 \u0423\u0432\u0435\u043b\u0438\u0447\u0435\u043d: [[YELLOW]]+{0}
 SuperAbility.BlastMining.Rank=\u041f\u043e\u0434\u0440\u044b\u0432\u043d\u0430\u044f \u0414\u043e\u0431\u044b\u0447\u0430: [[YELLOW]] \u0420\u0430\u043d\u0433 {0}/8 [[GRAY]]({1})
 SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0443\u043c\u0435\u043d\u0438\u0435 [[RED]]\"\u041f\u043e\u0434\u0440\u044b\u0432\u043d\u0430\u044f \u0414\u043e\u0431\u044b\u0447\u0430\"!

+ 1 - 1
mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_th_TH.properties

@@ -159,7 +159,7 @@ SuperAbility.SuperBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u0e44\u0e14\u0e49
 SuperAbility.SuperBreaker.Refresh=[[GREEN]]\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e23\u0e16\u0e17\u0e31\u0e01\u0e29\u0e30 [[YELLOW]]Super Breaker [[GREEN]]\u0e04\u0e39\u0e25\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27!
 Mining.Skillup=\u0e17\u0e31\u0e01\u0e29\u0e30 Mining \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19 {0}. \u0e21\u0e35\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 ({1})
 SuperAbility.BlastMining.Boom=[[GRAY]]**BOOM**
-SuperAbility.BlastMining.Effect=+{0} \u0e1c\u0e25\u0e1c\u0e25\u0e34\u0e15\u0e41\u0e23\u0e48, -{1} \u0e1c\u0e25\u0e1c\u0e25\u0e34\u0e15\u0e40\u0e28\u0e29, {2}x \u0e14\u0e23\u0e2d\u0e1b
+SuperAbility.BlastMining.Effect=+{0} \u0e1c\u0e25\u0e1c\u0e25\u0e34\u0e15\u0e41\u0e23\u0e48, {1}x \u0e14\u0e23\u0e2d\u0e1b
 SuperAbility.BlastMining.Radius.Increase=\u0e23\u0e31\u0e28\u0e21\u0e35\u0e02\u0e2d\u0e07\u0e23\u0e30\u0e40\u0e1a\u0e34\u0e14\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19: [[YELLOW]]+{0}
 SuperAbility.BlastMining.Rank=\u0e17\u0e31\u0e01\u0e29\u0e30 Blast Mining: [[YELLOW]] \u0e23\u0e30\u0e14\u0e31\u0e1a {0}/8 [[GRAY]]({1})
 SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u0e44\u0e14\u0e49\u0e43\u0e0a\u0e49\u0e17\u0e31\u0e01\u0e29\u0e30 [[RED]]Blast Mining!

+ 1 - 1
mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_zh_CN.properties

@@ -330,7 +330,7 @@ SuperAbility.SuperBreaker.Refresh=[[GREEN]]\u4f60\u7684 [[YELLOW]]\u8d85\u7ea7\u
 #Blast Mining
 SuperAbility.BlastMining.Boom=[[GRAY]]**\u5623**
 SuperAbility.BlastMining.Cooldown=
-SuperAbility.BlastMining.Effect=+{0} \u77ff\u7269\u91cf, -{1} \u788e\u7247\u91cf, {2}x \u6389\u843d
+SuperAbility.BlastMining.Effect=+{0} \u77ff\u7269\u91cf, {1}x \u6389\u843d
 SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u4f7f\u7528\u4e86 [[RED]]\u7206\u7834\u5f00\u91c7!
 SuperAbility.BlastMining.Refresh=[[GREEN]]\u4f60\u7684 [[YELLOW]]\u7206\u7834\u5f00\u91c7 [[GREEN]]\u6280\u80fd\u53ef\u4ee5\u4f7f\u7528\u4e86!
 #REPAIR

+ 1 - 1
mcmmo-core/src/main/resources/com/gmail/nossr50/locale/locale_zh_TW.properties

@@ -165,7 +165,7 @@ SuperAbility.SuperBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u4f7f\u7528\u4e86
 SuperAbility.SuperBreaker.Refresh=[[GREEN]]\u4f60\u7684[[YELLOW]] \u8d85\u7d1a\u788e\u77f3\u6a5f [[GREEN]]\u80fd\u529b\u5df2\u53ef\u518d\u6b21\u4f7f\u7528\uff01
 Mining.Skillup=\u6316\u7926\u6280\u80fd\u4e0a\u5347\u4e86 {0}! \u7e3d\u7b49\u7d1a ({1})!
 SuperAbility.BlastMining.Boom=[[GRAY]]**\u78b0!**
-SuperAbility.BlastMining.Effect=+{0} \u7926\u7269\u7522\u91cf, -{1}\u5783\u573e\u7522\u91cf, {2}x \u6389\u843d\u91cf
+SuperAbility.BlastMining.Effect=+{0} \u7926\u7269\u7522\u91cf, {1}x \u6389\u843d\u91cf
 SuperAbility.BlastMining.Radius.Increase=\u7206\u70b8\u534a\u5f91\u63d0\u5347: [[YELLOW]]+{0}
 SuperAbility.BlastMining.Rank=\u6316\u7926\u7206\u767c: [[YELLOW]] \u6392\u540d {0}/8 [[GRAY]]({1})
 SuperAbility.BlastMining.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u4f7f\u7528\u4e86 [[RED]]\u6316\u7926\u7206\u767c!