Made the chests use their very own configfile !

Chests don't use the plugins defaultconfig anymore!
This commit is contained in:
Jeppa 2013-03-30 02:20:02 +01:00
parent e7d4277793
commit 07a0b83dd7
3 changed files with 86 additions and 48 deletions

View File

@ -29,14 +29,14 @@ public class Chests implements Listener {
int blockx = blocklocation.getBlockX(); int blockx = blocklocation.getBlockX();
int blocky = blocklocation.getBlockY(); int blocky = blocklocation.getBlockY();
int blockz = blocklocation.getBlockZ(); int blockz = blocklocation.getBlockZ();
if (plugin.getConfig().getStringList("StorageXYZ").contains(blockx + "," + blocky + "," + blockz)) { if (plugin.getChests().getStringList("StorageXYZ").contains(blockx + "," + blocky + "," + blockz)) {
if(p.hasPermission("HungerArena.Chest.Break") && plugin.getArena(p)== null){ if(p.hasPermission("HungerArena.Chest.Break") && plugin.getArena(p)== null){
List<String> list2 = plugin.getConfig().getStringList("StorageXYZ"); List<String> list2 = plugin.getChests().getStringList("StorageXYZ");
list2.remove(blockx + "," + blocky + "," + blockz); list2.remove(blockx + "," + blocky + "," + blockz);
plugin.getConfig().set("Storage." + blockx + "," + blocky+ "," + blockz, null); plugin.getChests().set("Storage." + blockx + "," + blocky+ "," + blockz, null);
plugin.getConfig().set("StorageXYZ", list2); plugin.getChests().set("StorageXYZ", list2);
plugin.getConfig().options().copyDefaults(true); plugin.getChests().options().copyDefaults(true);
plugin.saveConfig(); plugin.saveChests();
p.sendMessage("[HungerArena] Chest Removed!"); p.sendMessage("[HungerArena] Chest Removed!");
} else { } else {
event.setCancelled(true); event.setCancelled(true);
@ -60,20 +60,20 @@ public class Chests implements Listener {
int blocky = block.getY(); int blocky = block.getY();
int blockz = block.getZ(); int blockz = block.getZ();
String blockw = block.getWorld().getName().toString(); String blockw = block.getWorld().getName().toString();
if(!plugin.getConfig().contains("Storage." + blockx + "," + blocky + "," + blockz + ".Location.X")){ if(!plugin.getChests().contains("Storage." + blockx + "," + blocky + "," + blockz + ".Location.X")){ //getConfig greift auf normale cfg zu.. -> eigene Routine
plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.X", blockx); plugin.getChests().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.X", blockx);
plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Y", blocky); plugin.getChests().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Y", blocky);
plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Z",blockz); plugin.getChests().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Z",blockz);
plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.W", blockw); plugin.getChests().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.W", blockw);
plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".ItemsInStorage", itemsinchest); plugin.getChests().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".ItemsInStorage", itemsinchest);
plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Arena", a); plugin.getChests().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Arena", a);
} }
List<String> list2 = plugin.getConfig().getStringList("StorageXYZ"); List<String> list2 = plugin.getChests().getStringList("StorageXYZ");
if(!list2.contains(blockx + "," + blocky + "," + blockz)){ if(!list2.contains(blockx + "," + blocky + "," + blockz)){
list2.add(blockx + "," + blocky + "," + blockz); list2.add(blockx + "," + blocky + "," + blockz);
plugin.getConfig().set("StorageXYZ", list2); plugin.getChests().set("StorageXYZ", list2);
plugin.getConfig().options().copyDefaults(true); plugin.getChests().options().copyDefaults(true);
plugin.saveConfig(); plugin.saveChests();
p.sendMessage(ChatColor.GREEN + "Thank you for finding this undiscovered chest, it has been stored!!"); p.sendMessage(ChatColor.GREEN + "Thank you for finding this undiscovered chest, it has been stored!!");
} }
} }

View File

@ -664,14 +664,14 @@ public class HaCommands implements CommandExecutor {
a = Integer.parseInt(args[1]); a = Integer.parseInt(args[1]);
int list056; int list056;
list056 = 0; list056 = 0;
int limit = plugin.config.getStringList("StorageXYZ").size(); int limit = plugin.MyChests.getStringList("StorageXYZ").size();
while(limit > list056){ while(limit > list056){
String xyz2 = plugin.getConfig().getStringList("StorageXYZ").get(list056); String xyz2 = plugin.getChests().getStringList("StorageXYZ").get(list056);
int chestx = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.X"); int chestx = plugin.getChests().getInt("Storage." + xyz2 + ".Location.X");
int chesty = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.Y"); int chesty = plugin.getChests().getInt("Storage." + xyz2 + ".Location.Y");
int chestz = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.Z"); int chestz = plugin.getChests().getInt("Storage." + xyz2 + ".Location.Z");
int chesta = plugin.getConfig().getInt("Storage." + xyz2 + ".Arena"); int chesta = plugin.getChests().getInt("Storage." + xyz2 + ".Arena");
String chestw = plugin.getConfig().getString("Storage." + xyz2 + ".Location.W"); String chestw = plugin.getChests().getString("Storage." + xyz2 + ".Location.W");
Block blockatlocation = Bukkit.getWorld(chestw).getBlockAt(chestx, chesty, chestz); Block blockatlocation = Bukkit.getWorld(chestw).getBlockAt(chestx, chesty, chestz);
plugin.exists = false; plugin.exists = false;
if(chesta== a){ if(chesta== a){
@ -681,7 +681,7 @@ public class HaCommands implements CommandExecutor {
if(chesta== a){ if(chesta== a){
chest.getInventory().clear(); chest.getInventory().clear();
ItemStack[] itemsinchest = null; ItemStack[] itemsinchest = null;
Object o = plugin.getConfig().get("Storage." + xyz2 + ".ItemsInStorage"); Object o = plugin.getChests().get("Storage." + xyz2 + ".ItemsInStorage");
if(o instanceof ItemStack[]){ if(o instanceof ItemStack[]){
itemsinchest = (ItemStack[]) o; itemsinchest = (ItemStack[]) o;
}else if(o instanceof List){ }else if(o instanceof List){
@ -702,13 +702,13 @@ public class HaCommands implements CommandExecutor {
}else{ }else{
int list056; int list056;
list056 = 0; list056 = 0;
int limit = plugin.config.getStringList("StorageXYZ").size(); int limit = plugin.MyChests.getStringList("StorageXYZ").size();
while(limit > list056){ while(limit > list056){
String xyz2 = plugin.getConfig().getStringList("StorageXYZ").get(list056); String xyz2 = plugin.getChests().getStringList("StorageXYZ").get(list056);
int chestx = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.X"); int chestx = plugin.getChests().getInt("Storage." + xyz2 + ".Location.X");
int chesty = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.Y"); int chesty = plugin.getChests().getInt("Storage." + xyz2 + ".Location.Y");
int chestz = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.Z"); int chestz = plugin.getChests().getInt("Storage." + xyz2 + ".Location.Z");
String chestw = plugin.getConfig().getString("Storage." + xyz2 + ".Location.W"); String chestw = plugin.getChests().getString("Storage." + xyz2 + ".Location.W");
Block blockatlocation = Bukkit.getWorld(chestw).getBlockAt(chestx, chesty, chestz); Block blockatlocation = Bukkit.getWorld(chestw).getBlockAt(chestx, chesty, chestz);
plugin.exists = false; plugin.exists = false;
if(blockatlocation.getState() instanceof Chest){ if(blockatlocation.getState() instanceof Chest){
@ -716,7 +716,7 @@ public class HaCommands implements CommandExecutor {
Chest chest = (Chest) blockatlocation.getState(); Chest chest = (Chest) blockatlocation.getState();
chest.getInventory().clear(); chest.getInventory().clear();
ItemStack[] itemsinchest = null; ItemStack[] itemsinchest = null;
Object o = plugin.getConfig().get("Storage." + xyz2 + ".ItemsInStorage"); Object o = plugin.getChests().get("Storage." + xyz2 + ".ItemsInStorage");
if(o instanceof ItemStack[]){ if(o instanceof ItemStack[]){
itemsinchest = (ItemStack[]) o; itemsinchest = (ItemStack[]) o;
}else if(o instanceof List){ }else if(o instanceof List){
@ -1110,14 +1110,14 @@ public class HaCommands implements CommandExecutor {
a = Integer.parseInt(args[1]); a = Integer.parseInt(args[1]);
int list056; int list056;
list056 = 0; list056 = 0;
int limit = plugin.config.getStringList("StorageXYZ").size(); int limit = plugin.MyChests.getStringList("StorageXYZ").size();
while(limit > list056){ while(limit > list056){
String xyz2 = plugin.getConfig().getStringList("StorageXYZ").get(list056); String xyz2 = plugin.getChests().getStringList("StorageXYZ").get(list056);
int chestx = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.X"); int chestx = plugin.getChests().getInt("Storage." + xyz2 + ".Location.X");
int chesty = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.Y"); int chesty = plugin.getChests().getInt("Storage." + xyz2 + ".Location.Y");
int chestz = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.Z"); int chestz = plugin.getChests().getInt("Storage." + xyz2 + ".Location.Z");
int chesta = plugin.getConfig().getInt("Storage." + xyz2 + ".Arena"); int chesta = plugin.getChests().getInt("Storage." + xyz2 + ".Arena");
String chestw = plugin.getConfig().getString("Storage." + xyz2 + ".Location.W"); String chestw = plugin.getChests().getString("Storage." + xyz2 + ".Location.W");
Block blockatlocation = Bukkit.getWorld(chestw).getBlockAt(chestx, chesty, chestz); Block blockatlocation = Bukkit.getWorld(chestw).getBlockAt(chestx, chesty, chestz);
plugin.exists = false; plugin.exists = false;
if(chesta== a){ if(chesta== a){
@ -1127,7 +1127,7 @@ public class HaCommands implements CommandExecutor {
if(chesta== a){ if(chesta== a){
chest.getInventory().clear(); chest.getInventory().clear();
ItemStack[] itemsinchest = null; ItemStack[] itemsinchest = null;
Object o = plugin.getConfig().get("Storage." + xyz2 + ".ItemsInStorage"); Object o = plugin.getChests().get("Storage." + xyz2 + ".ItemsInStorage");
if(o instanceof ItemStack[]){ if(o instanceof ItemStack[]){
itemsinchest = (ItemStack[]) o; itemsinchest = (ItemStack[]) o;
}else if(o instanceof List){ }else if(o instanceof List){
@ -1148,13 +1148,13 @@ public class HaCommands implements CommandExecutor {
}else{ }else{
int list056; int list056;
list056 = 0; list056 = 0;
int limit = plugin.config.getStringList("StorageXYZ").size(); int limit = plugin.MyChests.getStringList("StorageXYZ").size();
while(limit > list056){ while(limit > list056){
String xyz2 = plugin.getConfig().getStringList("StorageXYZ").get(list056); String xyz2 = plugin.getChests().getStringList("StorageXYZ").get(list056);
int chestx = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.X"); int chestx = plugin.getChests().getInt("Storage." + xyz2 + ".Location.X");
int chesty = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.Y"); int chesty = plugin.getChests().getInt("Storage." + xyz2 + ".Location.Y");
int chestz = plugin.getConfig().getInt("Storage." + xyz2 + ".Location.Z"); int chestz = plugin.getChests().getInt("Storage." + xyz2 + ".Location.Z");
String chestw = plugin.getConfig().getString("Storage." + xyz2 + ".Location.W"); String chestw = plugin.getChests().getString("Storage." + xyz2 + ".Location.W");
Block blockatlocation = Bukkit.getWorld(chestw).getBlockAt(chestx, chesty, chestz); Block blockatlocation = Bukkit.getWorld(chestw).getBlockAt(chestx, chesty, chestz);
plugin.exists = false; plugin.exists = false;
if(blockatlocation.getState() instanceof Chest){ if(blockatlocation.getState() instanceof Chest){
@ -1162,7 +1162,7 @@ public class HaCommands implements CommandExecutor {
Chest chest = (Chest) blockatlocation.getState(); Chest chest = (Chest) blockatlocation.getState();
chest.getInventory().clear(); chest.getInventory().clear();
ItemStack[] itemsinchest = null; ItemStack[] itemsinchest = null;
Object o = plugin.getConfig().get("Storage." + xyz2 + ".ItemsInStorage"); Object o = plugin.getChests().get("Storage." + xyz2 + ".ItemsInStorage");
if(o instanceof ItemStack[]){ if(o instanceof ItemStack[]){
itemsinchest = (ItemStack[]) o; itemsinchest = (ItemStack[]) o;
}else if(o instanceof List){ }else if(o instanceof List){

View File

@ -70,8 +70,12 @@ public class Main extends JavaPlugin{
public File spawnsFile = null; public File spawnsFile = null;
public FileConfiguration data = null; public FileConfiguration data = null;
public File dataFile = null; public File dataFile = null;
public File managementFile = null;
public FileConfiguration management = null; public FileConfiguration management = null;
public File managementFile = null;
public FileConfiguration MyChests = null;
public File ChestsFile = null;
public ArrayList<ItemStack> Reward = new ArrayList<ItemStack>(); public ArrayList<ItemStack> Reward = new ArrayList<ItemStack>();
public ArrayList<ItemStack> Cost = new ArrayList<ItemStack>(); public ArrayList<ItemStack> Cost = new ArrayList<ItemStack>();
public ArrayList<ItemStack> Fee = new ArrayList<ItemStack>(); public ArrayList<ItemStack> Fee = new ArrayList<ItemStack>();
@ -100,6 +104,9 @@ public class Main extends JavaPlugin{
management = this.getManagement(); management = this.getManagement();
management.options().copyDefaults(true); management.options().copyDefaults(true);
this.saveManagement(); this.saveManagement();
MyChests = this.getChests();
MyChests.options().copyDefaults(true);
this.saveChests();
getServer().getPluginManager().registerEvents(DeathListener, this); getServer().getPluginManager().registerEvents(DeathListener, this);
getServer().getPluginManager().registerEvents(SpectatorListener, this); getServer().getPluginManager().registerEvents(SpectatorListener, this);
getServer().getPluginManager().registerEvents(FreezeListener, this); getServer().getPluginManager().registerEvents(FreezeListener, this);
@ -309,6 +316,37 @@ public class Main extends JavaPlugin{
this.getLogger().log(Level.SEVERE, "Could not save config to " + managementFile, ex); this.getLogger().log(Level.SEVERE, "Could not save config to " + managementFile, ex);
} }
} }
//Jeppa: Add routine like the others for loading Chests with their very own file..
public void reloadChests() {
if (ChestsFile == null) {
ChestsFile = new File(getDataFolder(), "Chests.yml");
}
MyChests = YamlConfiguration.loadConfiguration(ChestsFile);
// Look for defaults in the jar
InputStream defConfigStream = this.getResource("Chests.yml");
if (defConfigStream != null) {
YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
MyChests.setDefaults(defConfig);
}
}
public FileConfiguration getChests() {
if (MyChests == null) {
this.reloadChests();
}
return MyChests;
}
public void saveChests() {
if (MyChests == null || ChestsFile == null) {
return;
}
try {
getChests().save(ChestsFile);
} catch (IOException ex) {
this.getLogger().log(Level.SEVERE, "Could not save config to " + ChestsFile, ex);
}
}
//^^
public void winner(final Integer a){ public void winner(final Integer a){
String[] Spawncoords = spawns.getString("Spawn_coords").split(","); String[] Spawncoords = spawns.getString("Spawn_coords").split(",");
World spawnw = getServer().getWorld(Spawncoords[3]); World spawnw = getServer().getWorld(Spawncoords[3]);