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:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user