--- miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/chests/AdvancedChest.java 2012/10/02 16:40:56 1853 +++ miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/chests/AdvancedChest.java 2012/11/07 08:29:16 1870 @@ -24,6 +24,7 @@ import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.event.block.BlockBurnEvent; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.entity.EntityExplodeEvent; import org.bukkit.event.inventory.InventoryCloseEvent; @@ -76,7 +77,7 @@ if (args.length == 0) { player.sendMessage("Usage:"); - player.sendMessage("/chest (status|lock|snitch|remove|addplayer|removeplayer) [player]"); + player.sendMessage("/chest (status|lock|snitch|remove|addplayer|removeplayer|setowner|comment) [player]"); return true; } @@ -110,6 +111,7 @@ player.sendMessage(ChatColor.GREEN + "Chest is a " + mode + " chest owned by " + chest.getOwner()); player.sendMessage(ChatColor.GREEN + "Allowed players: " + chest.getModifyPlayers() ); + player.sendMessage(ChatColor.GREEN + "Comment: " + chest.getComment() ); } else { player.sendMessage(ChatColor.GREEN + "The chest is not protected"); } @@ -131,6 +133,7 @@ modeStr = "snitching"; } chest.setModifyPlayers(""); + chest.setComment(""); addChest(loc, chest); player.sendMessage("Chest is now " + modeStr); } else { @@ -154,6 +157,30 @@ return true; } + + if (cmd.equals("setowner")) { + if (chest == null) { + player.sendMessage("This chest is not protected"); + return true; + } + if (! chest.getOwner().equals( player.getName() ) ) { + player.sendMessage("You can not set new owner of a chest you dont own"); + return true; + } + if (args.length != 2) { + player.sendMessage("You need to specify which player should own this chest"); + return true; + } + OfflinePlayer p2 = server.getOfflinePlayer(args[1]); + if ( p2.hasPlayedBefore() == false && p2.isOnline() == false) { + player.sendMessage("Unknown user: " + args[1] ); + return true; + } + chest.setOwner( p2.getName() ); + plugin.getDatabase().save( chest ); + player.sendMessage("ok"); + return true; + } if (cmd.equals("addplayer") || cmd.equals("removeplayer")) { if (chest == null) { @@ -186,6 +213,28 @@ player.sendMessage("ok"); return true; } + if (cmd.equals("comment")) { + if (chest == null) { + player.sendMessage("This chest is not protected"); + return true; + } + if (! chest.getOwner().equals( player.getName() ) ) { + player.sendMessage("You can not comment a chest you don't own"); + return true; + } + + StringBuilder sb = new StringBuilder(); + for (int i=1; i