1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-10 08:34:17 +02:00

[3.0] Port dispenser blacklist

This commit is contained in:
Iaccidentally
2013-04-16 18:06:27 -04:00
parent 45d19e18f3
commit a60573a8ac
2 changed files with 21 additions and 0 deletions

View File

@@ -34,6 +34,11 @@ public class BlackList implements StorageObject
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private Set<Material> piston = new HashSet<Material>();
@Comment("Which blocks should not be dispensed by dispensers")
@ListType(Material.class)
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private Set<Material> dispenser = new HashSet<Material>();
public void setupDefaults()
{
@@ -63,4 +68,9 @@ public class BlackList implements StorageObject
{
return piston != null && piston.contains(mat);
}
public boolean getDispenser(Material mat)
{
return dispenser != null && dispenser.contains(mat);
}
}

View File

@@ -13,6 +13,7 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockDispenseEvent;
import org.bukkit.event.block.BlockPistonExtendEvent;
import org.bukkit.event.block.BlockPistonRetractEvent;
import org.bukkit.event.block.BlockPlaceEvent;
@@ -270,4 +271,14 @@ public class EssentialsAntiBuildListener implements Listener
}
}
}
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockDispense(final BlockDispenseEvent event)
{
final Material mat = event.getItem().getType();
if (antib.getSettings().getData().getBlacklist().getDispenser(mat))
{
event.setCancelled(true);
}
}
}