mirror of
https://github.com/TotalFreedomMC/TF-ProjectKorra.git
synced 2025-02-11 11:40:40 +00:00
Break up saveBendingPlayer
Now saves as you edit the stuff that needs to be saved instead of saving all at once as you logout.
This commit is contained in:
parent
4eb66de9f7
commit
a0a3b63a1c
4 changed files with 54 additions and 20 deletions
|
@ -102,6 +102,9 @@ public class Commands {
|
|||
BendingPlayer bPlayer = Methods.getBendingPlayer(s.getName());
|
||||
if (args.length == 1) {
|
||||
bPlayer.abilities.clear();
|
||||
for (int i = 1; i <= 9; i++) {
|
||||
Methods.saveAbility(bPlayer, i, null);
|
||||
}
|
||||
s.sendMessage("Your bound abilities have been cleared.");
|
||||
return true;
|
||||
}
|
||||
|
@ -114,6 +117,7 @@ public class Commands {
|
|||
}
|
||||
if (bPlayer.abilities.get(slot) != null) {
|
||||
bPlayer.abilities.remove(slot);
|
||||
Methods.saveAbility(bPlayer, slot, null);
|
||||
}
|
||||
s.sendMessage("You have cleared slot #" + slot);
|
||||
return true;
|
||||
|
@ -650,6 +654,7 @@ public class Commands {
|
|||
BendingPlayer bPlayer = Methods.getBendingPlayer(player.getName());
|
||||
Methods.removeUnusableAbilities(player.getName());
|
||||
bPlayer.elements.clear();
|
||||
Methods.saveElements(bPlayer);
|
||||
s.sendMessage(ChatColor.GREEN + "You have removed the bending of " + ChatColor.DARK_AQUA + player.getName());
|
||||
player.sendMessage(ChatColor.GREEN + "Your bending has been removed by " + ChatColor.DARK_AQUA + s.getName());
|
||||
return true;
|
||||
|
@ -677,7 +682,9 @@ public class Commands {
|
|||
BendingPlayer bPlayer = Methods.getBendingPlayer(player.getName());
|
||||
bPlayer.elements.clear();
|
||||
Methods.removeUnusableAbilities(player.getName());
|
||||
Methods.saveElements(bPlayer);
|
||||
bPlayer.permaRemoved = true;
|
||||
Methods.savePermaRemoved(bPlayer);
|
||||
player.sendMessage(ChatColor.RED + "Your bending has been permanently removed.");
|
||||
s.sendMessage(ChatColor.RED + "You have permanently removed the bending of: " + ChatColor.DARK_AQUA + player.getName());
|
||||
return true;
|
||||
|
@ -704,6 +711,7 @@ public class Commands {
|
|||
BendingPlayer bPlayer = Methods.getBendingPlayer(player.getName());
|
||||
if (Arrays.asList(airaliases).contains(args[2].toLowerCase())) {
|
||||
bPlayer.addElement(Element.Air);
|
||||
Methods.saveElements(bPlayer);
|
||||
player.sendMessage(Methods.getAirColor() + "You are also an Airbender.");
|
||||
s.sendMessage(ChatColor.DARK_AQUA + player.getName() + Methods.getAirColor() + " is also an Airbender.");
|
||||
return true;
|
||||
|
@ -711,6 +719,7 @@ public class Commands {
|
|||
|
||||
if (Arrays.asList(wateraliases).contains(args[2].toLowerCase())) {
|
||||
bPlayer.addElement(Element.Water);
|
||||
Methods.saveElements(bPlayer);
|
||||
player.sendMessage(Methods.getWaterColor() + "You are also a waterbender.");
|
||||
s.sendMessage(ChatColor.DARK_AQUA + player.getName() + Methods.getWaterColor() + " is also a Waterbender.");
|
||||
return true;
|
||||
|
@ -718,6 +727,7 @@ public class Commands {
|
|||
|
||||
if (Arrays.asList(earthaliases).contains(args[2].toLowerCase())) {
|
||||
bPlayer.addElement(Element.Earth);
|
||||
Methods.saveElements(bPlayer);
|
||||
player.sendMessage(Methods.getEarthColor() + "You are also an Earthbender.");
|
||||
s.sendMessage(ChatColor.DARK_AQUA + player.getName() + Methods.getEarthColor() + " is also an Earthbender.");
|
||||
return true;
|
||||
|
@ -725,12 +735,14 @@ public class Commands {
|
|||
|
||||
if (Arrays.asList(firealiases).contains(args[2].toLowerCase())) {
|
||||
bPlayer.addElement(Element.Fire);
|
||||
Methods.saveElements(bPlayer);
|
||||
player.sendMessage(Methods.getFireColor() + "You are also a Firebender.");
|
||||
s.sendMessage(ChatColor.DARK_AQUA + player.getName() + Methods.getFireColor() + " is also a Firebender");
|
||||
return true;
|
||||
}
|
||||
if (Arrays.asList(chialiases).contains(args[2].toLowerCase())) {
|
||||
bPlayer.addElement(Element.Chi);
|
||||
Methods.saveElements(bPlayer);
|
||||
player.sendMessage(Methods.getChiColor() + "You are also a ChiBlocker.");
|
||||
s.sendMessage(ChatColor.DARK_AQUA + player.getName() + Methods.getChiColor() + " is also a ChiBlocker");
|
||||
return true;
|
||||
|
@ -755,29 +767,34 @@ public class Commands {
|
|||
|
||||
if (Arrays.asList(airaliases).contains(args[1].toLowerCase())) {
|
||||
bPlayer.addElement(Element.Air);
|
||||
Methods.saveElements(bPlayer);
|
||||
s.sendMessage(Methods.getAirColor() + "You are also an airbender.");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Arrays.asList(wateraliases).contains(args[1].toLowerCase())) {
|
||||
bPlayer.addElement(Element.Water);
|
||||
Methods.saveElements(bPlayer);
|
||||
s.sendMessage(Methods.getWaterColor() + "You are also a waterbender.");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Arrays.asList(earthaliases).contains(args[1].toLowerCase())) {
|
||||
bPlayer.addElement(Element.Earth);
|
||||
Methods.saveElements(bPlayer);
|
||||
s.sendMessage(Methods.getEarthColor() + "You are also an Earthbender.");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Arrays.asList(firealiases).contains(args[1].toLowerCase())) {
|
||||
bPlayer.addElement(Element.Fire);
|
||||
Methods.saveElements(bPlayer);
|
||||
s.sendMessage(Methods.getFireColor() + "You are also a Firebender.");
|
||||
return true;
|
||||
}
|
||||
if (Arrays.asList(chialiases).contains(args[1].toLowerCase())) {
|
||||
bPlayer.addElement(Element.Chi);
|
||||
Methods.saveElements(bPlayer);
|
||||
s.sendMessage(Methods.getChiColor() + "You are also a ChiBlocker.");
|
||||
return true;
|
||||
}
|
||||
|
@ -820,30 +837,35 @@ public class Commands {
|
|||
bPlayer.setElement(Element.Air);
|
||||
s.sendMessage(Methods.getAirColor() + "You are now an Airbender.");
|
||||
Methods.removeUnusableAbilities(s.getName());
|
||||
Methods.saveElements(bPlayer);
|
||||
return true;
|
||||
}
|
||||
if (Arrays.asList(wateraliases).contains(args[1].toLowerCase())) {
|
||||
bPlayer.setElement(Element.Water);
|
||||
s.sendMessage(Methods.getWaterColor() + "You are now a Waterbender.");
|
||||
Methods.removeUnusableAbilities(s.getName());
|
||||
Methods.saveElements(bPlayer);
|
||||
return true;
|
||||
}
|
||||
if (Arrays.asList(earthaliases).contains(args[1].toLowerCase())) {
|
||||
bPlayer.setElement(Element.Earth);
|
||||
s.sendMessage(Methods.getEarthColor() + "You are now an Earthbender.");
|
||||
Methods.removeUnusableAbilities(s.getName());
|
||||
Methods.saveElements(bPlayer);
|
||||
return true;
|
||||
}
|
||||
if (Arrays.asList(firealiases).contains(args[1].toLowerCase())) {
|
||||
bPlayer.setElement(Element.Fire);
|
||||
s.sendMessage(Methods.getFireColor() + "You are now a Firebender.");
|
||||
Methods.removeUnusableAbilities(s.getName());
|
||||
Methods.saveElements(bPlayer);
|
||||
return true;
|
||||
}
|
||||
if (Arrays.asList(chialiases).contains(args[1].toLowerCase())) {
|
||||
bPlayer.setElement(Element.Chi);
|
||||
s.sendMessage(Methods.getChiColor() + "You are now a ChiBlocker.");
|
||||
Methods.removeUnusableAbilities(s.getName());
|
||||
Methods.saveElements(bPlayer);
|
||||
return true;
|
||||
}
|
||||
s.sendMessage(ChatColor.GOLD + "Proper Usage: " + ChatColor.DARK_AQUA + "/bending choose [Element]");
|
||||
|
@ -879,6 +901,7 @@ public class Commands {
|
|||
} else {
|
||||
bTarget.setElement(e);
|
||||
Methods.removeUnusableAbilities(target.getName());
|
||||
Methods.saveElements(bTarget);
|
||||
target.sendMessage(ChatColor.RED + "Your bending has been changed to " + ChatColor.DARK_AQUA + e.toString() + ChatColor.RED + " by " + ChatColor.DARK_AQUA + s.getName());
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -187,6 +187,8 @@ public class Methods {
|
|||
} else {
|
||||
player.sendMessage(getAvatarColor() + "Successfully bound " + ability + " to slot " + slot);
|
||||
}
|
||||
|
||||
saveAbility(bPlayer, slot, ability);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -216,6 +218,8 @@ public class Methods {
|
|||
} else {
|
||||
player.sendMessage(getAvatarColor() + "Successfully bound " + ability + " to slot " + slot);
|
||||
}
|
||||
|
||||
saveAbility(bPlayer, slot, ability);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1577,9 +1581,9 @@ public class Methods {
|
|||
}
|
||||
|
||||
public static void reloadPlugin() {
|
||||
for (Player player: Bukkit.getOnlinePlayers()) {
|
||||
Methods.saveBendingPlayer(player.getName());
|
||||
}
|
||||
// for (Player player: Bukkit.getOnlinePlayers()) {
|
||||
// Methods.saveBendingPlayer(player.getName());
|
||||
// }
|
||||
DBConnection.sql.close();
|
||||
plugin.reloadConfig();
|
||||
Methods.stopBending();
|
||||
|
@ -1748,29 +1752,36 @@ public class Methods {
|
|||
return rotate.multiply(Math.cos(angle)).add(
|
||||
thirdaxis.multiply(Math.sin(angle)));
|
||||
}
|
||||
|
||||
public static void saveBendingPlayer(String player) {
|
||||
BendingPlayer bPlayer = BendingPlayer.players.get(player);
|
||||
|
||||
public static void saveElements(BendingPlayer bPlayer) {
|
||||
if (bPlayer == null) return;
|
||||
String uuid = bPlayer.uuid.toString();
|
||||
|
||||
|
||||
StringBuilder elements = new StringBuilder();
|
||||
if (bPlayer.hasElement(Element.Air)) elements.append("a");
|
||||
if (bPlayer.hasElement(Element.Water)) elements.append("w");
|
||||
if (bPlayer.hasElement(Element.Earth)) elements.append("e");
|
||||
if (bPlayer.hasElement(Element.Fire)) elements.append("f");
|
||||
if (bPlayer.hasElement(Element.Chi)) elements.append("c");
|
||||
|
||||
HashMap<Integer, String> abilities = bPlayer.abilities;
|
||||
|
||||
for (int i = 1; i <= 9; i++) {
|
||||
DBConnection.sql.modifyQuery("UPDATE pk_players SET slot" + i +" = '" + (abilities.get(i) == null ? null : abilities.get(i)) + "' WHERE uuid = '" + uuid + "'");
|
||||
}
|
||||
|
||||
|
||||
DBConnection.sql.modifyQuery("UPDATE pk_players SET element = '" + elements + "' WHERE uuid = '" + uuid + "'");
|
||||
}
|
||||
|
||||
public static void saveAbility(BendingPlayer bPlayer, int slot, String ability) {
|
||||
if (bPlayer == null) return;
|
||||
String uuid = bPlayer.uuid.toString();
|
||||
|
||||
HashMap<Integer, String> abilities = bPlayer.abilities;
|
||||
|
||||
DBConnection.sql.modifyQuery("UPDATE pk_players SET slot" + slot + " = '" + (abilities.get(slot) == null ? null : abilities.get(slot)) + "' WHERE uuid = '" + uuid + "'");
|
||||
}
|
||||
|
||||
public static void savePermaRemoved(BendingPlayer bPlayer) {
|
||||
if (bPlayer == null) return;
|
||||
String uuid = bPlayer.uuid.toString();
|
||||
|
||||
boolean permaRemoved = bPlayer.permaRemoved;
|
||||
|
||||
DBConnection.sql.modifyQuery("UPDATE pk_players SET permaremoved = '" + (permaRemoved ? "true" : "false") +"' WHERE uuid = '" + uuid + "'");
|
||||
DBConnection.sql.modifyQuery("UPDATE pk_players SET permaremoved = '" + (permaRemoved ? "true" : "false") + "' WHERE uuid = '" + uuid + "'");
|
||||
}
|
||||
|
||||
public static void stopBending() {
|
||||
|
|
|
@ -304,7 +304,7 @@ public class PKListener implements Listener {
|
|||
@EventHandler
|
||||
public void onPlayerQuit(PlayerQuitEvent event) {
|
||||
|
||||
Methods.saveBendingPlayer(event.getPlayer().getName());
|
||||
// Methods.saveBendingPlayer(event.getPlayer().getName());
|
||||
BendingPlayer.players.remove(event.getPlayer().getName());
|
||||
if (EarthArmor.instances.containsKey(event.getPlayer())) {
|
||||
EarthArmor.removeEffect(event.getPlayer());
|
||||
|
|
|
@ -66,9 +66,9 @@ public class ProjectKorra extends JavaPlugin {
|
|||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
for (Player player: Bukkit.getOnlinePlayers()) {
|
||||
Methods.saveBendingPlayer(player.getName());
|
||||
}
|
||||
// for (Player player: Bukkit.getOnlinePlayers()) {
|
||||
// Methods.saveBendingPlayer(player.getName());
|
||||
// }
|
||||
Methods.stopBending();
|
||||
DBConnection.sql.close();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue