mirror of
https://github.com/TotalFreedomMC/TF-ProjectKorra.git
synced 2025-02-11 19:50:37 +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());
|
BendingPlayer bPlayer = Methods.getBendingPlayer(s.getName());
|
||||||
if (args.length == 1) {
|
if (args.length == 1) {
|
||||||
bPlayer.abilities.clear();
|
bPlayer.abilities.clear();
|
||||||
|
for (int i = 1; i <= 9; i++) {
|
||||||
|
Methods.saveAbility(bPlayer, i, null);
|
||||||
|
}
|
||||||
s.sendMessage("Your bound abilities have been cleared.");
|
s.sendMessage("Your bound abilities have been cleared.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -114,6 +117,7 @@ public class Commands {
|
||||||
}
|
}
|
||||||
if (bPlayer.abilities.get(slot) != null) {
|
if (bPlayer.abilities.get(slot) != null) {
|
||||||
bPlayer.abilities.remove(slot);
|
bPlayer.abilities.remove(slot);
|
||||||
|
Methods.saveAbility(bPlayer, slot, null);
|
||||||
}
|
}
|
||||||
s.sendMessage("You have cleared slot #" + slot);
|
s.sendMessage("You have cleared slot #" + slot);
|
||||||
return true;
|
return true;
|
||||||
|
@ -650,6 +654,7 @@ public class Commands {
|
||||||
BendingPlayer bPlayer = Methods.getBendingPlayer(player.getName());
|
BendingPlayer bPlayer = Methods.getBendingPlayer(player.getName());
|
||||||
Methods.removeUnusableAbilities(player.getName());
|
Methods.removeUnusableAbilities(player.getName());
|
||||||
bPlayer.elements.clear();
|
bPlayer.elements.clear();
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
s.sendMessage(ChatColor.GREEN + "You have removed the bending of " + ChatColor.DARK_AQUA + player.getName());
|
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());
|
player.sendMessage(ChatColor.GREEN + "Your bending has been removed by " + ChatColor.DARK_AQUA + s.getName());
|
||||||
return true;
|
return true;
|
||||||
|
@ -677,7 +682,9 @@ public class Commands {
|
||||||
BendingPlayer bPlayer = Methods.getBendingPlayer(player.getName());
|
BendingPlayer bPlayer = Methods.getBendingPlayer(player.getName());
|
||||||
bPlayer.elements.clear();
|
bPlayer.elements.clear();
|
||||||
Methods.removeUnusableAbilities(player.getName());
|
Methods.removeUnusableAbilities(player.getName());
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
bPlayer.permaRemoved = true;
|
bPlayer.permaRemoved = true;
|
||||||
|
Methods.savePermaRemoved(bPlayer);
|
||||||
player.sendMessage(ChatColor.RED + "Your bending has been permanently removed.");
|
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());
|
s.sendMessage(ChatColor.RED + "You have permanently removed the bending of: " + ChatColor.DARK_AQUA + player.getName());
|
||||||
return true;
|
return true;
|
||||||
|
@ -704,6 +711,7 @@ public class Commands {
|
||||||
BendingPlayer bPlayer = Methods.getBendingPlayer(player.getName());
|
BendingPlayer bPlayer = Methods.getBendingPlayer(player.getName());
|
||||||
if (Arrays.asList(airaliases).contains(args[2].toLowerCase())) {
|
if (Arrays.asList(airaliases).contains(args[2].toLowerCase())) {
|
||||||
bPlayer.addElement(Element.Air);
|
bPlayer.addElement(Element.Air);
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
player.sendMessage(Methods.getAirColor() + "You are also an Airbender.");
|
player.sendMessage(Methods.getAirColor() + "You are also an Airbender.");
|
||||||
s.sendMessage(ChatColor.DARK_AQUA + player.getName() + Methods.getAirColor() + " is also an Airbender.");
|
s.sendMessage(ChatColor.DARK_AQUA + player.getName() + Methods.getAirColor() + " is also an Airbender.");
|
||||||
return true;
|
return true;
|
||||||
|
@ -711,6 +719,7 @@ public class Commands {
|
||||||
|
|
||||||
if (Arrays.asList(wateraliases).contains(args[2].toLowerCase())) {
|
if (Arrays.asList(wateraliases).contains(args[2].toLowerCase())) {
|
||||||
bPlayer.addElement(Element.Water);
|
bPlayer.addElement(Element.Water);
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
player.sendMessage(Methods.getWaterColor() + "You are also a waterbender.");
|
player.sendMessage(Methods.getWaterColor() + "You are also a waterbender.");
|
||||||
s.sendMessage(ChatColor.DARK_AQUA + player.getName() + Methods.getWaterColor() + " is also a Waterbender.");
|
s.sendMessage(ChatColor.DARK_AQUA + player.getName() + Methods.getWaterColor() + " is also a Waterbender.");
|
||||||
return true;
|
return true;
|
||||||
|
@ -718,6 +727,7 @@ public class Commands {
|
||||||
|
|
||||||
if (Arrays.asList(earthaliases).contains(args[2].toLowerCase())) {
|
if (Arrays.asList(earthaliases).contains(args[2].toLowerCase())) {
|
||||||
bPlayer.addElement(Element.Earth);
|
bPlayer.addElement(Element.Earth);
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
player.sendMessage(Methods.getEarthColor() + "You are also an Earthbender.");
|
player.sendMessage(Methods.getEarthColor() + "You are also an Earthbender.");
|
||||||
s.sendMessage(ChatColor.DARK_AQUA + player.getName() + Methods.getEarthColor() + " is also an Earthbender.");
|
s.sendMessage(ChatColor.DARK_AQUA + player.getName() + Methods.getEarthColor() + " is also an Earthbender.");
|
||||||
return true;
|
return true;
|
||||||
|
@ -725,12 +735,14 @@ public class Commands {
|
||||||
|
|
||||||
if (Arrays.asList(firealiases).contains(args[2].toLowerCase())) {
|
if (Arrays.asList(firealiases).contains(args[2].toLowerCase())) {
|
||||||
bPlayer.addElement(Element.Fire);
|
bPlayer.addElement(Element.Fire);
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
player.sendMessage(Methods.getFireColor() + "You are also a Firebender.");
|
player.sendMessage(Methods.getFireColor() + "You are also a Firebender.");
|
||||||
s.sendMessage(ChatColor.DARK_AQUA + player.getName() + Methods.getFireColor() + " is also a Firebender");
|
s.sendMessage(ChatColor.DARK_AQUA + player.getName() + Methods.getFireColor() + " is also a Firebender");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (Arrays.asList(chialiases).contains(args[2].toLowerCase())) {
|
if (Arrays.asList(chialiases).contains(args[2].toLowerCase())) {
|
||||||
bPlayer.addElement(Element.Chi);
|
bPlayer.addElement(Element.Chi);
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
player.sendMessage(Methods.getChiColor() + "You are also a ChiBlocker.");
|
player.sendMessage(Methods.getChiColor() + "You are also a ChiBlocker.");
|
||||||
s.sendMessage(ChatColor.DARK_AQUA + player.getName() + Methods.getChiColor() + " is also a ChiBlocker");
|
s.sendMessage(ChatColor.DARK_AQUA + player.getName() + Methods.getChiColor() + " is also a ChiBlocker");
|
||||||
return true;
|
return true;
|
||||||
|
@ -755,29 +767,34 @@ public class Commands {
|
||||||
|
|
||||||
if (Arrays.asList(airaliases).contains(args[1].toLowerCase())) {
|
if (Arrays.asList(airaliases).contains(args[1].toLowerCase())) {
|
||||||
bPlayer.addElement(Element.Air);
|
bPlayer.addElement(Element.Air);
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
s.sendMessage(Methods.getAirColor() + "You are also an airbender.");
|
s.sendMessage(Methods.getAirColor() + "You are also an airbender.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Arrays.asList(wateraliases).contains(args[1].toLowerCase())) {
|
if (Arrays.asList(wateraliases).contains(args[1].toLowerCase())) {
|
||||||
bPlayer.addElement(Element.Water);
|
bPlayer.addElement(Element.Water);
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
s.sendMessage(Methods.getWaterColor() + "You are also a waterbender.");
|
s.sendMessage(Methods.getWaterColor() + "You are also a waterbender.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Arrays.asList(earthaliases).contains(args[1].toLowerCase())) {
|
if (Arrays.asList(earthaliases).contains(args[1].toLowerCase())) {
|
||||||
bPlayer.addElement(Element.Earth);
|
bPlayer.addElement(Element.Earth);
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
s.sendMessage(Methods.getEarthColor() + "You are also an Earthbender.");
|
s.sendMessage(Methods.getEarthColor() + "You are also an Earthbender.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Arrays.asList(firealiases).contains(args[1].toLowerCase())) {
|
if (Arrays.asList(firealiases).contains(args[1].toLowerCase())) {
|
||||||
bPlayer.addElement(Element.Fire);
|
bPlayer.addElement(Element.Fire);
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
s.sendMessage(Methods.getFireColor() + "You are also a Firebender.");
|
s.sendMessage(Methods.getFireColor() + "You are also a Firebender.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (Arrays.asList(chialiases).contains(args[1].toLowerCase())) {
|
if (Arrays.asList(chialiases).contains(args[1].toLowerCase())) {
|
||||||
bPlayer.addElement(Element.Chi);
|
bPlayer.addElement(Element.Chi);
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
s.sendMessage(Methods.getChiColor() + "You are also a ChiBlocker.");
|
s.sendMessage(Methods.getChiColor() + "You are also a ChiBlocker.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -820,30 +837,35 @@ public class Commands {
|
||||||
bPlayer.setElement(Element.Air);
|
bPlayer.setElement(Element.Air);
|
||||||
s.sendMessage(Methods.getAirColor() + "You are now an Airbender.");
|
s.sendMessage(Methods.getAirColor() + "You are now an Airbender.");
|
||||||
Methods.removeUnusableAbilities(s.getName());
|
Methods.removeUnusableAbilities(s.getName());
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (Arrays.asList(wateraliases).contains(args[1].toLowerCase())) {
|
if (Arrays.asList(wateraliases).contains(args[1].toLowerCase())) {
|
||||||
bPlayer.setElement(Element.Water);
|
bPlayer.setElement(Element.Water);
|
||||||
s.sendMessage(Methods.getWaterColor() + "You are now a Waterbender.");
|
s.sendMessage(Methods.getWaterColor() + "You are now a Waterbender.");
|
||||||
Methods.removeUnusableAbilities(s.getName());
|
Methods.removeUnusableAbilities(s.getName());
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (Arrays.asList(earthaliases).contains(args[1].toLowerCase())) {
|
if (Arrays.asList(earthaliases).contains(args[1].toLowerCase())) {
|
||||||
bPlayer.setElement(Element.Earth);
|
bPlayer.setElement(Element.Earth);
|
||||||
s.sendMessage(Methods.getEarthColor() + "You are now an Earthbender.");
|
s.sendMessage(Methods.getEarthColor() + "You are now an Earthbender.");
|
||||||
Methods.removeUnusableAbilities(s.getName());
|
Methods.removeUnusableAbilities(s.getName());
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (Arrays.asList(firealiases).contains(args[1].toLowerCase())) {
|
if (Arrays.asList(firealiases).contains(args[1].toLowerCase())) {
|
||||||
bPlayer.setElement(Element.Fire);
|
bPlayer.setElement(Element.Fire);
|
||||||
s.sendMessage(Methods.getFireColor() + "You are now a Firebender.");
|
s.sendMessage(Methods.getFireColor() + "You are now a Firebender.");
|
||||||
Methods.removeUnusableAbilities(s.getName());
|
Methods.removeUnusableAbilities(s.getName());
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (Arrays.asList(chialiases).contains(args[1].toLowerCase())) {
|
if (Arrays.asList(chialiases).contains(args[1].toLowerCase())) {
|
||||||
bPlayer.setElement(Element.Chi);
|
bPlayer.setElement(Element.Chi);
|
||||||
s.sendMessage(Methods.getChiColor() + "You are now a ChiBlocker.");
|
s.sendMessage(Methods.getChiColor() + "You are now a ChiBlocker.");
|
||||||
Methods.removeUnusableAbilities(s.getName());
|
Methods.removeUnusableAbilities(s.getName());
|
||||||
|
Methods.saveElements(bPlayer);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
s.sendMessage(ChatColor.GOLD + "Proper Usage: " + ChatColor.DARK_AQUA + "/bending choose [Element]");
|
s.sendMessage(ChatColor.GOLD + "Proper Usage: " + ChatColor.DARK_AQUA + "/bending choose [Element]");
|
||||||
|
@ -879,6 +901,7 @@ public class Commands {
|
||||||
} else {
|
} else {
|
||||||
bTarget.setElement(e);
|
bTarget.setElement(e);
|
||||||
Methods.removeUnusableAbilities(target.getName());
|
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());
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -187,6 +187,8 @@ public class Methods {
|
||||||
} else {
|
} else {
|
||||||
player.sendMessage(getAvatarColor() + "Successfully bound " + ability + " to slot " + slot);
|
player.sendMessage(getAvatarColor() + "Successfully bound " + ability + " to slot " + slot);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
saveAbility(bPlayer, slot, ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -216,6 +218,8 @@ public class Methods {
|
||||||
} else {
|
} else {
|
||||||
player.sendMessage(getAvatarColor() + "Successfully bound " + ability + " to slot " + slot);
|
player.sendMessage(getAvatarColor() + "Successfully bound " + ability + " to slot " + slot);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
saveAbility(bPlayer, slot, ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1577,9 +1581,9 @@ public class Methods {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void reloadPlugin() {
|
public static void reloadPlugin() {
|
||||||
for (Player player: Bukkit.getOnlinePlayers()) {
|
// for (Player player: Bukkit.getOnlinePlayers()) {
|
||||||
Methods.saveBendingPlayer(player.getName());
|
// Methods.saveBendingPlayer(player.getName());
|
||||||
}
|
// }
|
||||||
DBConnection.sql.close();
|
DBConnection.sql.close();
|
||||||
plugin.reloadConfig();
|
plugin.reloadConfig();
|
||||||
Methods.stopBending();
|
Methods.stopBending();
|
||||||
|
@ -1749,8 +1753,7 @@ public class Methods {
|
||||||
thirdaxis.multiply(Math.sin(angle)));
|
thirdaxis.multiply(Math.sin(angle)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void saveBendingPlayer(String player) {
|
public static void saveElements(BendingPlayer bPlayer) {
|
||||||
BendingPlayer bPlayer = BendingPlayer.players.get(player);
|
|
||||||
if (bPlayer == null) return;
|
if (bPlayer == null) return;
|
||||||
String uuid = bPlayer.uuid.toString();
|
String uuid = bPlayer.uuid.toString();
|
||||||
|
|
||||||
|
@ -1761,15 +1764,23 @@ public class Methods {
|
||||||
if (bPlayer.hasElement(Element.Fire)) elements.append("f");
|
if (bPlayer.hasElement(Element.Fire)) elements.append("f");
|
||||||
if (bPlayer.hasElement(Element.Chi)) elements.append("c");
|
if (bPlayer.hasElement(Element.Chi)) elements.append("c");
|
||||||
|
|
||||||
HashMap<Integer, String> abilities = bPlayer.abilities;
|
DBConnection.sql.modifyQuery("UPDATE pk_players SET element = '" + elements + "' WHERE uuid = '" + uuid + "'");
|
||||||
|
|
||||||
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) {
|
||||||
boolean permaRemoved = bPlayer.permaRemoved;
|
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 + "'");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -304,7 +304,7 @@ public class PKListener implements Listener {
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onPlayerQuit(PlayerQuitEvent event) {
|
public void onPlayerQuit(PlayerQuitEvent event) {
|
||||||
|
|
||||||
Methods.saveBendingPlayer(event.getPlayer().getName());
|
// Methods.saveBendingPlayer(event.getPlayer().getName());
|
||||||
BendingPlayer.players.remove(event.getPlayer().getName());
|
BendingPlayer.players.remove(event.getPlayer().getName());
|
||||||
if (EarthArmor.instances.containsKey(event.getPlayer())) {
|
if (EarthArmor.instances.containsKey(event.getPlayer())) {
|
||||||
EarthArmor.removeEffect(event.getPlayer());
|
EarthArmor.removeEffect(event.getPlayer());
|
||||||
|
|
|
@ -66,9 +66,9 @@ public class ProjectKorra extends JavaPlugin {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
for (Player player: Bukkit.getOnlinePlayers()) {
|
// for (Player player: Bukkit.getOnlinePlayers()) {
|
||||||
Methods.saveBendingPlayer(player.getName());
|
// Methods.saveBendingPlayer(player.getName());
|
||||||
}
|
// }
|
||||||
Methods.stopBending();
|
Methods.stopBending();
|
||||||
DBConnection.sql.close();
|
DBConnection.sql.close();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue