mirror of
https://github.com/TotalFreedomMC/TF-ProjectKorra.git
synced 2024-12-23 00:15:05 +00:00
Few fixes here, here and maybe there (#724)
• Fixed CoreAbility.getAbilities() not returning addon abilities • Fixed errors spammed from /b w when the server can't fetch the staff list • Fixed /b d passives - now displays all possible passives • Fixed /b t <sub> causing an internal error • Fixed a lot of NPEs
This commit is contained in:
parent
e8df4895b9
commit
477d02c673
7 changed files with 44 additions and 8 deletions
|
@ -271,6 +271,9 @@ public class Element {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Element fromString(String element) {
|
public static Element fromString(String element) {
|
||||||
|
if (element == null || element.equals("")) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
if (getElement(element) != null) {
|
if (getElement(element) != null) {
|
||||||
return getElement(element);
|
return getElement(element);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1159,7 +1159,7 @@ public class GeneralMethods {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isAdjacentToThreeOrMoreSources(Block block) {
|
public static boolean isAdjacentToThreeOrMoreSources(Block block) {
|
||||||
if (block.equals(null) || (TempBlock.isTempBlock(block) && WaterAbility.isBendableWaterTempBlock(block))) {
|
if (block == null || (TempBlock.isTempBlock(block) && WaterAbility.isBendableWaterTempBlock(block))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
int sources = 0;
|
int sources = 0;
|
||||||
|
|
|
@ -543,6 +543,7 @@ public abstract class CoreAbility implements Ability {
|
||||||
try {
|
try {
|
||||||
addon.load();
|
addon.load();
|
||||||
ABILITIES_BY_NAME.put(name.toLowerCase(), coreAbil);
|
ABILITIES_BY_NAME.put(name.toLowerCase(), coreAbil);
|
||||||
|
ABILITIES_BY_CLASS.put(coreAbil.getClass(), coreAbil);
|
||||||
|
|
||||||
if (coreAbil instanceof ComboAbility) {
|
if (coreAbil instanceof ComboAbility) {
|
||||||
ComboAbility combo = (ComboAbility) coreAbil;
|
ComboAbility combo = (ComboAbility) coreAbil;
|
||||||
|
@ -582,6 +583,7 @@ public abstract class CoreAbility implements Ability {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
addon.stop();
|
addon.stop();
|
||||||
ABILITIES_BY_NAME.remove(name.toLowerCase());
|
ABILITIES_BY_NAME.remove(name.toLowerCase());
|
||||||
|
ABILITIES_BY_CLASS.remove(coreAbil.getClass());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,7 +100,27 @@ public class DisplayCommand extends PKCommand {
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
//passives
|
//passives
|
||||||
} else if (element != null && elementName.contains("passive")) {
|
} else if (elementName.contains("passive")) {
|
||||||
|
if (element == null) {
|
||||||
|
for (Element e : Element.getAllElements()) {
|
||||||
|
ChatColor color = e != null ? e.getColor() : null;
|
||||||
|
Set<String> passives = PassiveManager.getPassivesForElement(e);
|
||||||
|
|
||||||
|
for (String passiveAbil : passives) {
|
||||||
|
ChatColor passiveColor = color;
|
||||||
|
if (!sender.hasPermission("bending.ability." + passiveAbil)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
CoreAbility coreAbil = CoreAbility.getAbility(passiveAbil);
|
||||||
|
if (coreAbil != null) {
|
||||||
|
passiveColor = coreAbil.getElement().getColor();
|
||||||
|
}
|
||||||
|
sender.sendMessage(passiveColor + passiveAbil);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
ChatColor color = element != null ? element.getColor() : null;
|
ChatColor color = element != null ? element.getColor() : null;
|
||||||
Set<String> passives = PassiveManager.getPassivesForElement(element);
|
Set<String> passives = PassiveManager.getPassivesForElement(element);
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.projectkorra.projectkorra.command;
|
||||||
|
|
||||||
import com.projectkorra.projectkorra.BendingPlayer;
|
import com.projectkorra.projectkorra.BendingPlayer;
|
||||||
import com.projectkorra.projectkorra.Element;
|
import com.projectkorra.projectkorra.Element;
|
||||||
|
import com.projectkorra.projectkorra.Element.SubElement;
|
||||||
import com.projectkorra.projectkorra.GeneralMethods;
|
import com.projectkorra.projectkorra.GeneralMethods;
|
||||||
import com.projectkorra.projectkorra.configuration.ConfigManager;
|
import com.projectkorra.projectkorra.configuration.ConfigManager;
|
||||||
|
|
||||||
|
@ -92,7 +93,7 @@ public class ToggleCommand extends PKCommand {
|
||||||
if (!(sender instanceof Player))
|
if (!(sender instanceof Player))
|
||||||
sender.sendMessage(ConfigManager.getBrandingPrefix() + ChatColor.RED + toggleOffAll);
|
sender.sendMessage(ConfigManager.getBrandingPrefix() + ChatColor.RED + toggleOffAll);
|
||||||
}
|
}
|
||||||
} else if (sender instanceof Player && args.size() == 1 && Element.fromString(args.get(0)) != null) {
|
} else if (sender instanceof Player && args.size() == 1 && Element.fromString(args.get(0)) != null && !(Element.fromString(args.get(0)) instanceof SubElement)) {
|
||||||
if (!BendingPlayer.getBendingPlayer(sender.getName()).hasElement(Element.fromString(args.get(0)))) {
|
if (!BendingPlayer.getBendingPlayer(sender.getName()).hasElement(Element.fromString(args.get(0)))) {
|
||||||
sender.sendMessage(ConfigManager.getBrandingPrefix() + ChatColor.RED + wrongElement);
|
sender.sendMessage(ConfigManager.getBrandingPrefix() + ChatColor.RED + wrongElement);
|
||||||
return;
|
return;
|
||||||
|
@ -107,8 +108,11 @@ public class ToggleCommand extends PKCommand {
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage(ConfigManager.getBrandingPrefix() + color + toggledOffSingleElement.replace("{element}", e.getName() + (e.getType() != null ? e.getType().getBending() : "")));
|
sender.sendMessage(ConfigManager.getBrandingPrefix() + color + toggledOffSingleElement.replace("{element}", e.getName() + (e.getType() != null ? e.getType().getBending() : "")));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
help(sender, false);
|
||||||
}
|
}
|
||||||
} else if (sender instanceof Player && args.size() == 2 && Element.fromString(args.get(0)) != null) {
|
|
||||||
|
} else if (sender instanceof Player && args.size() == 2 && Element.fromString(args.get(0)) != null && !(Element.fromString(args.get(0)) instanceof SubElement)) {
|
||||||
Player target = Bukkit.getPlayer(args.get(1));
|
Player target = Bukkit.getPlayer(args.get(1));
|
||||||
if (!hasAdminPermission(sender))
|
if (!hasAdminPermission(sender))
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -4,6 +4,7 @@ import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
|
import java.net.SocketException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.net.URLConnection;
|
import java.net.URLConnection;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
|
@ -53,8 +54,9 @@ public class WhoCommand extends PKCommand {
|
||||||
|
|
||||||
new BukkitRunnable() {
|
new BukkitRunnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
|
Map<String, String> updatedstaff = new HashMap<String, String>();
|
||||||
try {
|
try {
|
||||||
staff.clear();
|
|
||||||
// Create a URL for the desired page
|
// Create a URL for the desired page
|
||||||
URLConnection url = new URL("http://www.projectkorra.com/staff.txt").openConnection();
|
URLConnection url = new URL("http://www.projectkorra.com/staff.txt").openConnection();
|
||||||
url.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");
|
url.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");
|
||||||
|
@ -65,10 +67,15 @@ public class WhoCommand extends PKCommand {
|
||||||
while ((unparsed = in.readLine()) != null) {
|
while ((unparsed = in.readLine()) != null) {
|
||||||
String[] staffEntry = unparsed.split("/");
|
String[] staffEntry = unparsed.split("/");
|
||||||
if (staffEntry.length >= 2) {
|
if (staffEntry.length >= 2) {
|
||||||
staff.put(staffEntry[0], ChatColor.translateAlternateColorCodes('&', staffEntry[1]));
|
updatedstaff.put(staffEntry[0], ChatColor.translateAlternateColorCodes('&', staffEntry[1]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
in.close();
|
in.close();
|
||||||
|
staff.clear();
|
||||||
|
staff.putAll(updatedstaff);
|
||||||
|
}
|
||||||
|
catch (SocketException e) {
|
||||||
|
ProjectKorra.log.info("Could not update staff list.");
|
||||||
}
|
}
|
||||||
catch (MalformedURLException e) {
|
catch (MalformedURLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
@ -77,7 +84,7 @@ public class WhoCommand extends PKCommand {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}.runTaskTimerAsynchronously(ProjectKorra.plugin, 0, 20 * 60);
|
}.runTaskTimerAsynchronously(ProjectKorra.plugin, 0, 20 * 60 * 60);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -103,7 +103,7 @@ public class HorizontalVelocityTracker {
|
||||||
|
|
||||||
public static void updateAll() {
|
public static void updateAll() {
|
||||||
for (Entity e : instances.keySet())
|
for (Entity e : instances.keySet())
|
||||||
if (e != null) {
|
if (e != null && !e.isDead() && instances.get(e) != null) {
|
||||||
instances.get(e).update();
|
instances.get(e).update();
|
||||||
} else {
|
} else {
|
||||||
instances.remove(e);
|
instances.remove(e);
|
||||||
|
|
Loading…
Reference in a new issue