mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-22 21:26:46 +01:00
Additional dupe failsafes
This commit is contained in:
parent
335d708848
commit
76ca7cc88f
@ -58,9 +58,15 @@ public class BlockListener implements Listener {
|
||||
//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
|
||||
int blockCount = 0;
|
||||
|
||||
for(Item item : event.getItems()) {
|
||||
//Track unique materials
|
||||
uniqueMaterials.add(item.getItemStack().getType());
|
||||
|
||||
//Count blocks as a second failsafe
|
||||
if(item.getItemStack().getType().isBlock())
|
||||
blockCount++;
|
||||
}
|
||||
|
||||
if(uniqueMaterials.size() > 1) {
|
||||
@ -69,6 +75,8 @@ public class BlockListener implements Listener {
|
||||
dontRewardTE = true;
|
||||
}
|
||||
|
||||
//If there are more than one block in the item list we can't really trust it and will back out of rewarding bonus drops
|
||||
if(blockCount <= 1) {
|
||||
for(Item item : event.getItems())
|
||||
{
|
||||
ItemStack is = new ItemStack(item.getItemStack());
|
||||
@ -98,6 +106,7 @@ public class BlockListener implements Listener {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(event.getBlock().hasMetadata(mcMMO.BONUS_DROPS_METAKEY))
|
||||
event.getBlock().removeMetadata(mcMMO.BONUS_DROPS_METAKEY, plugin);
|
||||
|
Loading…
Reference in New Issue
Block a user