Fix auto-ignite-tnt not working with protect: false
This commit is contained in:
@@ -232,11 +232,7 @@ public class ArenaListener
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onBlockPlace(BlockPlaceEvent event) {
|
public void onBlockPlace(BlockPlaceEvent event) {
|
||||||
// If the arena isn't protected, care
|
|
||||||
if (!protect) return;
|
|
||||||
|
|
||||||
Block b = event.getBlock();
|
Block b = event.getBlock();
|
||||||
|
|
||||||
// If the event didn't happen in the region, or if in edit mode, ignore
|
// If the event didn't happen in the region, or if in edit mode, ignore
|
||||||
@@ -246,12 +242,16 @@ public class ArenaListener
|
|||||||
|
|
||||||
// If the arena isn't running, or if the player isn't in the arena, cancel.
|
// If the arena isn't running, or if the player isn't in the arena, cancel.
|
||||||
if (!arena.isRunning() || !arena.inArena(event.getPlayer())) {
|
if (!arena.isRunning() || !arena.inArena(event.getPlayer())) {
|
||||||
|
// But only if we're protecting the region
|
||||||
|
if (protect) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the block is TNT, set its planter
|
// If the block is TNT, set its planter
|
||||||
if (b.getType() == Material.TNT) {
|
if (b.getType() == Material.TNT) {
|
||||||
|
// If auto-igniting, set the planter of the primed TNT instead
|
||||||
if (autoIgniteTNT) {
|
if (autoIgniteTNT) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
event.getPlayer().getInventory().removeItem(new ItemStack(Material.TNT, 1));
|
event.getPlayer().getInventory().removeItem(new ItemStack(Material.TNT, 1));
|
||||||
@@ -262,6 +262,11 @@ public class ArenaListener
|
|||||||
setPlanter(b, event.getPlayer());
|
setPlanter(b, event.getPlayer());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Any other block we don't care about if we're not protecting
|
||||||
|
if (!protect) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Otherwise, block was placed during a session.
|
// Otherwise, block was placed during a session.
|
||||||
arena.addBlock(b);
|
arena.addBlock(b);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user