From df8713c724162a50af30d1b5f7516883d409f035 Mon Sep 17 00:00:00 2001 From: Trent Hensler Date: Wed, 13 Feb 2013 01:24:32 -0600 Subject: [PATCH] Static ftw. Need to fix saving to file. --- config.yml | 5 +- src/me/shock/playervaults/Listeners.java | 96 +++++++++---------- src/me/shock/playervaults/Main.java | 4 - .../shock/playervaults/commands/Commands.java | 10 +- .../shock/playervaults/commands/OwnVault.java | 1 + .../shock/playervaults/util/VaultManager.java | 7 +- 6 files changed, 58 insertions(+), 65 deletions(-) diff --git a/config.yml b/config.yml index 0f3129d..8c37cee 100644 --- a/config.yml +++ b/config.yml @@ -1,6 +1,9 @@ # PlayerVaults by drsthock +# http://dev.bukkit.org/server-mods/playervaults + +# Whether or not you want to check for updates. +# Will not download an update, that is your job :) check-update: true -debug-mode: false # Worlds that players can't access their vaults. # playervaults.worlds.bypass will override this (default to op). diff --git a/src/me/shock/playervaults/Listeners.java b/src/me/shock/playervaults/Listeners.java index 69bd03b..2eae5c5 100644 --- a/src/me/shock/playervaults/Listeners.java +++ b/src/me/shock/playervaults/Listeners.java @@ -31,15 +31,13 @@ public class Listeners implements Listener { this.plugin = instance; } VaultManager vm = new VaultManager(plugin); - Commands commands = new Commands(); - @EventHandler public void onQuit(PlayerQuitEvent event) { Player player = event.getPlayer(); - if(commands.inVault.containsKey(player.getName())) { + if(Commands.inVault.containsKey(player.getName())) { Inventory inv = player.getOpenInventory().getTopInventory(); - int number = commands.inVault.get(player.getName()); + int number = Commands.inVault.get(player.getName()); try { vm.saveVault(inv, player, number); } catch (IOException e) { @@ -60,9 +58,9 @@ public class Listeners implements Listener { @EventHandler public void onDeath(PlayerDeathEvent event) { Player player = event.getEntity(); - if(commands.inVault.containsKey(player.getName())) { + if(Commands.inVault.containsKey(player.getName())) { Inventory inv = player.getOpenInventory().getTopInventory(); - int number = commands.inVault.get(player.getName()); + int number = Commands.inVault.get(player.getName()); try { vm.saveVault(inv, player, number); } catch (IOException e) { @@ -74,9 +72,9 @@ public class Listeners implements Listener { @EventHandler public void onTP(PlayerTeleportEvent event) { Player player = event.getPlayer(); - if(commands.inVault.containsKey(player.getName())) { + if(Commands.inVault.containsKey(player.getName())) { Inventory inv = player.getOpenInventory().getTopInventory(); - int number = commands.inVault.get(player.getName()); + int number = Commands.inVault.get(player.getName()); try { vm.saveVault(inv, player, number); } catch (IOException e) { @@ -88,9 +86,9 @@ public class Listeners implements Listener { @EventHandler public void onWorldChange(PlayerChangedWorldEvent event) { Player player = event.getPlayer(); - if(commands.inVault.containsKey(player.getName())) { + if(Commands.inVault.containsKey(player.getName())) { Inventory inv = player.getOpenInventory().getTopInventory(); - int number = commands.inVault.get(player.getName()); + int number = Commands.inVault.get(player.getName()); try { vm.saveVault(inv, player, number); } catch (IOException e) { @@ -101,15 +99,15 @@ public class Listeners implements Listener { @EventHandler public void onClose(InventoryCloseEvent event) { - System.out.println(commands.inVault.size()); + System.out.println(Commands.inVault.size()); HumanEntity he = event.getPlayer(); if(he instanceof Player) { - if(commands.inVault.containsKey(he.getName())) { + if(Commands.inVault.containsKey(he.getName())) { System.out.println("haskey :D"); Player player = (Player) he; Inventory inv = player.getOpenInventory().getTopInventory(); System.out.println("listener inv: " + inv); - int number = commands.inVault.get(player.getName()); + int number = Commands.inVault.get(player.getName()); try { vm.saveVault(inv, player, number); } catch (IOException e) { @@ -119,44 +117,44 @@ public class Listeners implements Listener { } } -/** - * Check if a player is trying to do something while - * in a vault. - * Don't let them open up another chest. - * @param event - */ -@EventHandler -public void onInteract(PlayerInteractEvent event) { - Player player = event.getPlayer(); - if(commands.inVault.containsKey(player.getName()) && event.getAction() == Action.RIGHT_CLICK_BLOCK) { - Block block = event.getClickedBlock(); + /** + * Check if a player is trying to do something while + * in a vault. + * Don't let them open up another chest. + * @param event + */ + @EventHandler + public void onInteract(PlayerInteractEvent event) { + Player player = event.getPlayer(); + if(Commands.inVault.containsKey(player.getName()) && event.getAction() == Action.RIGHT_CLICK_BLOCK) { + Block block = event.getClickedBlock(); - /** - * Different inventories that - * we don't want the player to open. - */ - if(block.getType() == Material.CHEST - || block.getType() == Material.ENDER_CHEST - || block.getType() == Material.FURNACE - || block.getType() == Material.BURNING_FURNACE - || block.getType() == Material.BREWING_STAND - || block.getType() == Material.BEACON) { + /** + * Different inventories that + * we don't want the player to open. + */ + if(block.getType() == Material.CHEST + || block.getType() == Material.ENDER_CHEST + || block.getType() == Material.FURNACE + || block.getType() == Material.BURNING_FURNACE + || block.getType() == Material.BREWING_STAND + || block.getType() == Material.BEACON) { + event.setCancelled(true); + } + } + } + + /** + * Don't let a player open a trading inventory OR a minecart + * while he has his vault open. + * @param event + */ + @EventHandler + public void onInteractEntity(PlayerInteractEntityEvent event) { + Player player = event.getPlayer(); + EntityType type = event.getRightClicked().getType(); + if((type == EntityType.VILLAGER||type==EntityType.MINECART) && Commands.inVault.containsKey(player.getName())) { event.setCancelled(true); } } } - -/** - * Don't let a player open a trading inventory OR a minecart - * while he has his vault open. - * @param event - */ -@EventHandler -public void onInteractEntity(PlayerInteractEntityEvent event) { - Player player = event.getPlayer(); - EntityType type = event.getRightClicked().getType(); - if((type == EntityType.VILLAGER||type==EntityType.MINECART) && commands.inVault.containsKey(player.getName())) { - event.setCancelled(true); - } -} -} diff --git a/src/me/shock/playervaults/Main.java b/src/me/shock/playervaults/Main.java index ea12c5e..7c805d5 100644 --- a/src/me/shock/playervaults/Main.java +++ b/src/me/shock/playervaults/Main.java @@ -120,10 +120,6 @@ public class Main extends JavaPlugin { return getConfig().getBoolean("check-update"); } - public boolean debugMode() { - return getConfig().getBoolean("debug-mode"); - } - /** * * @return disabled worlds. diff --git a/src/me/shock/playervaults/commands/Commands.java b/src/me/shock/playervaults/commands/Commands.java index 9a9f743..08eefbe 100644 --- a/src/me/shock/playervaults/commands/Commands.java +++ b/src/me/shock/playervaults/commands/Commands.java @@ -1,6 +1,6 @@ package me.shock.playervaults.commands; -import java.util.HashMap; +import java.util.concurrent.ConcurrentHashMap; import org.bukkit.ChatColor; import org.bukkit.command.Command; @@ -10,8 +10,8 @@ import org.bukkit.entity.Player; public class Commands implements CommandExecutor { - public HashMap inVault = new HashMap(); - + public static ConcurrentHashMap inVault = new ConcurrentHashMap(); + private String pv = ChatColor.DARK_RED + "[" + ChatColor.WHITE + "PlayerVaults" + ChatColor.DARK_RED + "]" + ChatColor.WHITE + ": "; @@ -24,11 +24,11 @@ public class Commands implements CommandExecutor { inVault.put(sender.getName(), Integer.parseInt(args[0])); } } - + } return true; } - + public boolean notConsole(CommandSender sender) { if(!(sender instanceof Player)) { sender.sendMessage(pv + "Sorry but that can only be run by a player!"); diff --git a/src/me/shock/playervaults/commands/OwnVault.java b/src/me/shock/playervaults/commands/OwnVault.java index f6527cf..104eda4 100644 --- a/src/me/shock/playervaults/commands/OwnVault.java +++ b/src/me/shock/playervaults/commands/OwnVault.java @@ -22,6 +22,7 @@ public class OwnVault { int number = Integer.parseInt(arg0); vm.loadVault(sender, sender.getName(), number); sender.sendMessage(pv + "Opening vault " + ChatColor.GREEN + number); + return true; } else { feedback.noPerms(sender); } diff --git a/src/me/shock/playervaults/util/VaultManager.java b/src/me/shock/playervaults/util/VaultManager.java index f308e62..3bf74e6 100644 --- a/src/me/shock/playervaults/util/VaultManager.java +++ b/src/me/shock/playervaults/util/VaultManager.java @@ -2,7 +2,6 @@ package me.shock.playervaults.util; import java.io.File; import java.io.IOException; -import java.util.logging.Level; import me.shock.playervaults.Main; import me.shock.playervaults.commands.Commands; @@ -23,7 +22,6 @@ public class VaultManager { this.plugin = instance; } - Commands commands = new Commands(); String title; private String directory = "plugins" + File.separator + "PlayerVaults" + File.separator + "vaults"; @@ -35,7 +33,7 @@ public class VaultManager { * @throws IOException */ public void saveVault(Inventory inv, Player player, int number) throws IOException { - if(commands.inVault.containsKey(player.getName())) { + if(Commands.inVault.containsKey(player.getName())) { System.out.println("savevault"); // Get the player's file and serialize the inventory. String ser = Serialization.toBase64(inv); @@ -43,9 +41,6 @@ public class VaultManager { System.out.println("" + inv); // Prepare to save D: file.set("vault" + number + "", ser); - if(plugin.debugMode()) { - plugin.getLogger().log(Level.INFO, "[PlayerVaults] Saved " + " " + number + " for " + player.getName()); - } } }