Browse Source

Fixed Beetroots double drop issue #4667

nossr50 2 năm trước cách đây
mục cha
commit
2d78eaa495

+ 1 - 0
Changelog.txt

@@ -1,4 +1,5 @@
 Version 2.1.219
+    Fixed double drop issue with Beetroots
     Added 'Skills.Mining.BlastMining.Bonus_Drops.Enabled' to advanced.yml to enable/disable bonus drops from Blast Mining
 
 Version 2.1.218

+ 8 - 1
src/main/java/com/gmail/nossr50/listeners/BlockListener.java

@@ -38,6 +38,7 @@ import org.bukkit.event.block.*;
 import org.bukkit.inventory.ItemStack;
 
 import java.util.HashSet;
+import java.util.Locale;
 
 public class BlockListener implements Listener {
     private final mcMMO plugin;
@@ -56,6 +57,12 @@ public class BlockListener implements Listener {
             return;
         }
 
+        int tileEntityTolerance = 1;
+
+        // beetroot hotfix, potentially other plants may need this fix
+        if(event.getBlockState().getType() == Material.BEETROOTS)
+            tileEntityTolerance = 2;
+
         //Track how many "things" are being dropped
         HashSet<Material> uniqueMaterials = new HashSet<>();
         boolean dontRewardTE = false; //If we suspect TEs are mixed in with other things don't reward bonus drops for anything that isn't a block
@@ -70,7 +77,7 @@ public class BlockListener implements Listener {
                 blockCount++;
         }
 
-        if(uniqueMaterials.size() > 1) {
+        if(uniqueMaterials.size() > tileEntityTolerance) {
             //Too many things are dropping, assume tile entities might be duped
             //Technically this would also prevent something like coal from being bonus dropped if you placed a TE above a coal ore when mining it but that's pretty edge case and this is a good solution for now
             dontRewardTE = true;