mirror of
https://github.com/essentials/Essentials.git
synced 2025-09-25 13:49:12 +02:00
[3.0] Port dispenser blacklist
This commit is contained in:
@@ -34,6 +34,11 @@ public class BlackList implements StorageObject
|
|||||||
@Getter(AccessLevel.NONE)
|
@Getter(AccessLevel.NONE)
|
||||||
@Setter(AccessLevel.NONE)
|
@Setter(AccessLevel.NONE)
|
||||||
private Set<Material> piston = new HashSet<Material>();
|
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()
|
public void setupDefaults()
|
||||||
{
|
{
|
||||||
@@ -63,4 +68,9 @@ public class BlackList implements StorageObject
|
|||||||
{
|
{
|
||||||
return piston != null && piston.contains(mat);
|
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.EventPriority;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.block.BlockBreakEvent;
|
import org.bukkit.event.block.BlockBreakEvent;
|
||||||
|
import org.bukkit.event.block.BlockDispenseEvent;
|
||||||
import org.bukkit.event.block.BlockPistonExtendEvent;
|
import org.bukkit.event.block.BlockPistonExtendEvent;
|
||||||
import org.bukkit.event.block.BlockPistonRetractEvent;
|
import org.bukkit.event.block.BlockPistonRetractEvent;
|
||||||
import org.bukkit.event.block.BlockPlaceEvent;
|
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