From 10147532a5d4019af0bce1d8e159d388ba16a977 Mon Sep 17 00:00:00 2001 From: Brian Date: Sat, 19 May 2012 17:30:20 -0400 Subject: [PATCH] fix joining from other arenas (hopefully), readd missing block destroy check --- src/com/garbagemule/MobArena/ArenaListener.java | 7 +++++-- .../garbagemule/MobArena/commands/user/JoinCommand.java | 6 ++++++ src/com/garbagemule/MobArena/util/ItemParser.java | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/com/garbagemule/MobArena/ArenaListener.java b/src/com/garbagemule/MobArena/ArenaListener.java index 0ef09f8..8dc521a 100644 --- a/src/com/garbagemule/MobArena/ArenaListener.java +++ b/src/com/garbagemule/MobArena/ArenaListener.java @@ -168,12 +168,15 @@ public class ArenaListener if (!arena.isRunning()) return false; // Below this, arena is running - ACStache + + Block b = event.getBlock(); + if (arena.removeBlock(b) || b.getType() == Material.TNT) + return true; if (softRestore) { if (arena.isProtected()) return false; - Block b = event.getBlock(); BlockState state = b.getState(); Repairable r = null; @@ -188,7 +191,7 @@ public class ArenaListener arena.addRepairable(r); - if(!softRestoreDrops) + if (!softRestoreDrops) b.setTypeId(0); return true; } diff --git a/src/com/garbagemule/MobArena/commands/user/JoinCommand.java b/src/com/garbagemule/MobArena/commands/user/JoinCommand.java index 4bb74f6..453d8b9 100644 --- a/src/com/garbagemule/MobArena/commands/user/JoinCommand.java +++ b/src/com/garbagemule/MobArena/commands/user/JoinCommand.java @@ -34,6 +34,12 @@ public class JoinCommand implements Command return false; } + // Deny joining from other arenas + if (am.getArenaWithPlayer(p) != null) { + Messenger.tellPlayer(p, Msg.JOIN_ALREADY_PLAYING); + return false; + } + // Per-arena sanity checks if (!arena.canJoin(p)) { return false; diff --git a/src/com/garbagemule/MobArena/util/ItemParser.java b/src/com/garbagemule/MobArena/util/ItemParser.java index 5736ccb..6bc59ed 100644 --- a/src/com/garbagemule/MobArena/util/ItemParser.java +++ b/src/com/garbagemule/MobArena/util/ItemParser.java @@ -149,7 +149,7 @@ public class ItemParser } private static ItemStack withDataAndAmount(String item, String data, String amount) { - Material m = getMaterial(item.toUpperCase()); + Material m = getMaterial(item); short d = getData(data, m); int a = getAmount(amount);