Static ftw. Need to fix saving to file.

This commit is contained in:
Trent Hensler
2013-02-13 01:24:32 -06:00
parent b4790c8c18
commit df8713c724
6 changed files with 58 additions and 65 deletions
+4 -1
View File
@@ -1,6 +1,9 @@
# PlayerVaults by drsthock # 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 check-update: true
debug-mode: false
# Worlds that players can't access their vaults. # Worlds that players can't access their vaults.
# playervaults.worlds.bypass will override this (default to op). # playervaults.worlds.bypass will override this (default to op).
+47 -49
View File
@@ -31,15 +31,13 @@ public class Listeners implements Listener {
this.plugin = instance; this.plugin = instance;
} }
VaultManager vm = new VaultManager(plugin); VaultManager vm = new VaultManager(plugin);
Commands commands = new Commands();
@EventHandler @EventHandler
public void onQuit(PlayerQuitEvent event) { public void onQuit(PlayerQuitEvent event) {
Player player = event.getPlayer(); Player player = event.getPlayer();
if(commands.inVault.containsKey(player.getName())) { if(Commands.inVault.containsKey(player.getName())) {
Inventory inv = player.getOpenInventory().getTopInventory(); Inventory inv = player.getOpenInventory().getTopInventory();
int number = commands.inVault.get(player.getName()); int number = Commands.inVault.get(player.getName());
try { try {
vm.saveVault(inv, player, number); vm.saveVault(inv, player, number);
} catch (IOException e) { } catch (IOException e) {
@@ -60,9 +58,9 @@ public class Listeners implements Listener {
@EventHandler @EventHandler
public void onDeath(PlayerDeathEvent event) { public void onDeath(PlayerDeathEvent event) {
Player player = event.getEntity(); Player player = event.getEntity();
if(commands.inVault.containsKey(player.getName())) { if(Commands.inVault.containsKey(player.getName())) {
Inventory inv = player.getOpenInventory().getTopInventory(); Inventory inv = player.getOpenInventory().getTopInventory();
int number = commands.inVault.get(player.getName()); int number = Commands.inVault.get(player.getName());
try { try {
vm.saveVault(inv, player, number); vm.saveVault(inv, player, number);
} catch (IOException e) { } catch (IOException e) {
@@ -74,9 +72,9 @@ public class Listeners implements Listener {
@EventHandler @EventHandler
public void onTP(PlayerTeleportEvent event) { public void onTP(PlayerTeleportEvent event) {
Player player = event.getPlayer(); Player player = event.getPlayer();
if(commands.inVault.containsKey(player.getName())) { if(Commands.inVault.containsKey(player.getName())) {
Inventory inv = player.getOpenInventory().getTopInventory(); Inventory inv = player.getOpenInventory().getTopInventory();
int number = commands.inVault.get(player.getName()); int number = Commands.inVault.get(player.getName());
try { try {
vm.saveVault(inv, player, number); vm.saveVault(inv, player, number);
} catch (IOException e) { } catch (IOException e) {
@@ -88,9 +86,9 @@ public class Listeners implements Listener {
@EventHandler @EventHandler
public void onWorldChange(PlayerChangedWorldEvent event) { public void onWorldChange(PlayerChangedWorldEvent event) {
Player player = event.getPlayer(); Player player = event.getPlayer();
if(commands.inVault.containsKey(player.getName())) { if(Commands.inVault.containsKey(player.getName())) {
Inventory inv = player.getOpenInventory().getTopInventory(); Inventory inv = player.getOpenInventory().getTopInventory();
int number = commands.inVault.get(player.getName()); int number = Commands.inVault.get(player.getName());
try { try {
vm.saveVault(inv, player, number); vm.saveVault(inv, player, number);
} catch (IOException e) { } catch (IOException e) {
@@ -101,15 +99,15 @@ public class Listeners implements Listener {
@EventHandler @EventHandler
public void onClose(InventoryCloseEvent event) { public void onClose(InventoryCloseEvent event) {
System.out.println(commands.inVault.size()); System.out.println(Commands.inVault.size());
HumanEntity he = event.getPlayer(); HumanEntity he = event.getPlayer();
if(he instanceof Player) { if(he instanceof Player) {
if(commands.inVault.containsKey(he.getName())) { if(Commands.inVault.containsKey(he.getName())) {
System.out.println("haskey :D"); System.out.println("haskey :D");
Player player = (Player) he; Player player = (Player) he;
Inventory inv = player.getOpenInventory().getTopInventory(); Inventory inv = player.getOpenInventory().getTopInventory();
System.out.println("listener inv: " + inv); System.out.println("listener inv: " + inv);
int number = commands.inVault.get(player.getName()); int number = Commands.inVault.get(player.getName());
try { try {
vm.saveVault(inv, player, number); vm.saveVault(inv, player, number);
} catch (IOException e) { } catch (IOException e) {
@@ -119,44 +117,44 @@ public class Listeners implements Listener {
} }
} }
/** /**
* Check if a player is trying to do something while * Check if a player is trying to do something while
* in a vault. * in a vault.
* Don't let them open up another chest. * Don't let them open up another chest.
* @param event * @param event
*/ */
@EventHandler @EventHandler
public void onInteract(PlayerInteractEvent event) { public void onInteract(PlayerInteractEvent event) {
Player player = event.getPlayer(); Player player = event.getPlayer();
if(commands.inVault.containsKey(player.getName()) && event.getAction() == Action.RIGHT_CLICK_BLOCK) { if(Commands.inVault.containsKey(player.getName()) && event.getAction() == Action.RIGHT_CLICK_BLOCK) {
Block block = event.getClickedBlock(); Block block = event.getClickedBlock();
/** /**
* Different inventories that * Different inventories that
* we don't want the player to open. * we don't want the player to open.
*/ */
if(block.getType() == Material.CHEST if(block.getType() == Material.CHEST
|| block.getType() == Material.ENDER_CHEST || block.getType() == Material.ENDER_CHEST
|| block.getType() == Material.FURNACE || block.getType() == Material.FURNACE
|| block.getType() == Material.BURNING_FURNACE || block.getType() == Material.BURNING_FURNACE
|| block.getType() == Material.BREWING_STAND || block.getType() == Material.BREWING_STAND
|| block.getType() == Material.BEACON) { || 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); 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);
}
}
}
-4
View File
@@ -120,10 +120,6 @@ public class Main extends JavaPlugin {
return getConfig().getBoolean("check-update"); return getConfig().getBoolean("check-update");
} }
public boolean debugMode() {
return getConfig().getBoolean("debug-mode");
}
/** /**
* *
* @return disabled worlds. * @return disabled worlds.
@@ -1,6 +1,6 @@
package me.shock.playervaults.commands; package me.shock.playervaults.commands;
import java.util.HashMap; import java.util.concurrent.ConcurrentHashMap;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.command.Command; import org.bukkit.command.Command;
@@ -10,8 +10,8 @@ import org.bukkit.entity.Player;
public class Commands implements CommandExecutor { public class Commands implements CommandExecutor {
public HashMap<String, Integer> inVault = new HashMap<String, Integer>(); public static ConcurrentHashMap<String, Integer> inVault = new ConcurrentHashMap<String, Integer>();
private String pv = ChatColor.DARK_RED + "[" + ChatColor.WHITE + "PlayerVaults" + private String pv = ChatColor.DARK_RED + "[" + ChatColor.WHITE + "PlayerVaults" +
ChatColor.DARK_RED + "]" + ChatColor.WHITE + ": "; ChatColor.DARK_RED + "]" + ChatColor.WHITE + ": ";
@@ -24,11 +24,11 @@ public class Commands implements CommandExecutor {
inVault.put(sender.getName(), Integer.parseInt(args[0])); inVault.put(sender.getName(), Integer.parseInt(args[0]));
} }
} }
} }
return true; return true;
} }
public boolean notConsole(CommandSender sender) { public boolean notConsole(CommandSender sender) {
if(!(sender instanceof Player)) { if(!(sender instanceof Player)) {
sender.sendMessage(pv + "Sorry but that can only be run by a player!"); sender.sendMessage(pv + "Sorry but that can only be run by a player!");
@@ -22,6 +22,7 @@ public class OwnVault {
int number = Integer.parseInt(arg0); int number = Integer.parseInt(arg0);
vm.loadVault(sender, sender.getName(), number); vm.loadVault(sender, sender.getName(), number);
sender.sendMessage(pv + "Opening vault " + ChatColor.GREEN + number); sender.sendMessage(pv + "Opening vault " + ChatColor.GREEN + number);
return true;
} else { } else {
feedback.noPerms(sender); feedback.noPerms(sender);
} }
@@ -2,7 +2,6 @@ package me.shock.playervaults.util;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.logging.Level;
import me.shock.playervaults.Main; import me.shock.playervaults.Main;
import me.shock.playervaults.commands.Commands; import me.shock.playervaults.commands.Commands;
@@ -23,7 +22,6 @@ public class VaultManager {
this.plugin = instance; this.plugin = instance;
} }
Commands commands = new Commands();
String title; String title;
private String directory = "plugins" + File.separator + "PlayerVaults" + File.separator + "vaults"; private String directory = "plugins" + File.separator + "PlayerVaults" + File.separator + "vaults";
@@ -35,7 +33,7 @@ public class VaultManager {
* @throws IOException * @throws IOException
*/ */
public void saveVault(Inventory inv, Player player, int number) 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"); System.out.println("savevault");
// Get the player's file and serialize the inventory. // Get the player's file and serialize the inventory.
String ser = Serialization.toBase64(inv); String ser = Serialization.toBase64(inv);
@@ -43,9 +41,6 @@ public class VaultManager {
System.out.println("" + inv); System.out.println("" + inv);
// Prepare to save D: // Prepare to save D:
file.set("vault" + number + "", ser); file.set("vault" + number + "", ser);
if(plugin.debugMode()) {
plugin.getLogger().log(Level.INFO, "[PlayerVaults] Saved " + " " + number + " for " + player.getName());
}
} }
} }