浏览代码

Revert blast mining nerf

nossr50 5 年之前
父节点
当前提交
c5ce7bd23b
共有 2 个文件被更改,包括 9 次插入7 次删除
  1. 1 0
      Changelog.txt
  2. 8 7
      src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java

+ 1 - 0
Changelog.txt

@@ -1,5 +1,6 @@
 Version 2.1.128
     The first rank of Iron Arm for Unarmed now only gives 1.5 bonus damage instead of 4 (other ranks are the same as before)
+    Blast Mining nerf reverted
 
 
 Version 2.1.127

+ 8 - 7
src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java

@@ -161,12 +161,12 @@ public class MiningManager extends SkillManager {
 
         List<BlockState> ores = new ArrayList<BlockState>();
 
-        List<Block> notOres = new ArrayList<>();
+//        List<Block> notOres = new ArrayList<>();
         for (Block targetBlock : event.blockList()) {
             //Containers usually have 0 XP unless someone edited their config in a very strange way
-            if (ExperienceConfig.getInstance().getXp(PrimarySkillType.MINING, targetBlock) == 0 || targetBlock instanceof Container || mcMMO.getPlaceStore().isTrue(targetBlock)) {
-                notOres.add(targetBlock);
-            } else {
+            if (ExperienceConfig.getInstance().getXp(PrimarySkillType.MINING, targetBlock) != 0
+                    && !(targetBlock instanceof Container)
+                    && !mcMMO.getPlaceStore().isTrue(targetBlock)) {
                 ores.add(targetBlock.getState());
             }
         }
@@ -181,14 +181,15 @@ public class MiningManager extends SkillManager {
 //        float debrisYield = yield - debrisReduction;
 
         for (BlockState blockState : ores) {
-            if (RandomUtils.nextInt(ores.size()) >= (ores.size() / 2)) {
+            if (RandomUtils.nextFloat() >= (yield + getOreBonus())) {
                 xp += Mining.getBlockXp(blockState);
 
                 Misc.dropItem(Misc.getBlockCenter(blockState), new ItemStack(blockState.getType())); // Initial block that would have been dropped
 
-                for (int i = 1; i < dropMultiplier; i++) {
-                    if(RandomUtils.nextInt(100) >= 75)
+                if (!mcMMO.getPlaceStore().isTrue(blockState)) {
+                    for (int i = 1; i < dropMultiplier; i++) {
                         Mining.handleSilkTouchDrops(blockState); // Bonus drops - should drop the block & not the items
+                    }
                 }
             }
         }