mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-06-25 02:04:44 +02:00
Fixing Mining Double Drops (update configs)
This commit is contained in:
@ -34,6 +34,7 @@ import org.bukkit.Material;
|
||||
import org.bukkit.Tag;
|
||||
import org.bukkit.block.*;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Item;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
@ -60,30 +61,58 @@ public class BlockListener implements Listener {
|
||||
{
|
||||
ItemStack is = new ItemStack(item.getItemStack());
|
||||
|
||||
if(!event.getBlock().getDrops().contains(is))
|
||||
continue;
|
||||
|
||||
if(is.getAmount() <= 0)
|
||||
continue;
|
||||
|
||||
if(event.getBlock().getState().getMetadata(mcMMO.doubleDropKey).size() > 0)
|
||||
{
|
||||
//Extra Protection
|
||||
if(event.getBlock().getState() instanceof Container)
|
||||
return;
|
||||
if(!Config.getInstance().getDoubleDropsEnabled(PrimarySkillType.MINING, is.getType())
|
||||
&& !Config.getInstance().getDoubleDropsEnabled(PrimarySkillType.HERBALISM, is.getType())
|
||||
&& !Config.getInstance().getDoubleDropsEnabled(PrimarySkillType.WOODCUTTING, is.getType()))
|
||||
continue;
|
||||
|
||||
event.getBlock().getState().removeMetadata(mcMMO.doubleDropKey, plugin);
|
||||
if(event.getBlock().getState().getMetadata(mcMMO.doubleDrops).size() > 0)
|
||||
event.getBlock().getState().getWorld().dropItemNaturally(event.getBlockState().getLocation(), is);
|
||||
else if(event.getBlock().getState().getMetadata(mcMMO.tripleDrops).size() > 0)
|
||||
{
|
||||
event.getBlock().getState().getWorld().dropItemNaturally(event.getBlockState().getLocation(), is);
|
||||
event.getBlock().getState().getWorld().dropItemNaturally(event.getBlockState().getLocation(), is);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else if(event.getBlock().getState().getMetadata(mcMMO.tripleDropKey).size() > 0)
|
||||
/*@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
public void onBlockDropItemEvent(BlockDropItemEvent event)
|
||||
{
|
||||
for(Item item : event.getItems())
|
||||
{
|
||||
ItemStack is = new ItemStack(item.getItemStack());
|
||||
|
||||
if(event.getBlock().getMetadata(mcMMO.doubleDrops).size() > 0)
|
||||
{
|
||||
//Extra Protection
|
||||
if(event.getBlock().getState() instanceof Container)
|
||||
return;
|
||||
event.getBlock().getState().removeMetadata(mcMMO.tripleDropKey, plugin);
|
||||
event.getBlock().getState().getWorld().dropItemNaturally(event.getBlockState().getLocation(), is);
|
||||
event.getBlock().getState().getWorld().dropItemNaturally(event.getBlockState().getLocation(), is);
|
||||
List<MetadataValue> metadataValue = event.getBlock().getMetadata(mcMMO.doubleDrops);
|
||||
|
||||
BonusDrops bonusDrops = (BonusDrops) metadataValue.get(0);
|
||||
Collection<ItemStack> potentialDrops = (Collection<ItemStack>) bonusDrops.value();
|
||||
|
||||
if(potentialDrops.contains(is))
|
||||
{
|
||||
event.getBlock().getState().getWorld().dropItemNaturally(event.getBlockState().getLocation(), is);
|
||||
}
|
||||
|
||||
event.getBlock().removeMetadata(mcMMO.doubleDrops, plugin);
|
||||
} else {
|
||||
if(event.getBlock().getMetadata(mcMMO.tripleDrops).size() > 0) {
|
||||
List<MetadataValue> metadataValue = event.getBlock().getMetadata(mcMMO.tripleDrops);
|
||||
|
||||
BonusDrops bonusDrops = (BonusDrops) metadataValue.get(0);
|
||||
Collection<ItemStack> potentialDrops = (Collection<ItemStack>) bonusDrops.value();
|
||||
|
||||
if (potentialDrops.contains(is)) {
|
||||
event.getBlock().getState().getWorld().dropItemNaturally(event.getBlockState().getLocation(), is);
|
||||
event.getBlock().getState().getWorld().dropItemNaturally(event.getBlockState().getLocation(), is);
|
||||
}
|
||||
|
||||
event.getBlock().removeMetadata(mcMMO.tripleDrops, plugin);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -95,6 +95,8 @@ public class mcMMO extends JavaPlugin {
|
||||
public final static String infiniteArrowKey = "mcMMO: Infinite Arrow";
|
||||
public final static String bowForceKey = "mcMMO: Bow Force";
|
||||
public final static String arrowDistanceKey = "mcMMO: Arrow Distance";
|
||||
public final static String doubleDrops = "mcMMO: Double Drops";
|
||||
public final static String tripleDrops = "mcMMO: Triple Drops";
|
||||
//public final static String customDamageKey = "mcMMO: Custom Damage";
|
||||
public final static String disarmedItemKey = "mcMMO: Disarmed Item";
|
||||
public final static String playerDataKey = "mcMMO: Player Data";
|
||||
|
Reference in New Issue
Block a user