From 669ef4f73bc592e69ded13d7823e641a0f65b51f Mon Sep 17 00:00:00 2001 From: Jack Lin Date: Sun, 6 Dec 2015 15:18:50 +1300 Subject: [PATCH 1/7] Add 30 second timeout to Updater --- src/com/projectkorra/projectkorra/util/Updater.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/com/projectkorra/projectkorra/util/Updater.java b/src/com/projectkorra/projectkorra/util/Updater.java index c4cdcee1..02deed17 100644 --- a/src/com/projectkorra/projectkorra/util/Updater.java +++ b/src/com/projectkorra/projectkorra/util/Updater.java @@ -7,6 +7,7 @@ import org.w3c.dom.NodeList; import org.xml.sax.SAXException; import java.io.IOException; +import java.net.SocketTimeoutException; import java.net.URL; import java.net.URLConnection; import java.net.UnknownHostException; @@ -57,8 +58,9 @@ public class Updater { url = new URL(URL); urlc = url.openConnection(); urlc.setRequestProperty("User-Agent", ""); // Must be used or face 403 + urlc.setConnectTimeout(30000); // 30 second time out, throws SocketTimeoutException document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(urlc.getInputStream()); - } catch (UnknownHostException e) { + } catch (UnknownHostException | SocketTimeoutException e) { plugin.getLogger().info("Could not connect to ProjectKorra.com to check for updates"); } catch (IOException | SAXException | ParserConfigurationException e) { e.printStackTrace(); From 04a006cac91c265938b3794a71e5f35fea4fae4d Mon Sep 17 00:00:00 2001 From: jedk1 Date: Sun, 6 Dec 2015 19:25:10 +0000 Subject: [PATCH 2/7] Fix getEntitiesAroundPoint getting spectator players. --- src/com/projectkorra/projectkorra/GeneralMethods.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/com/projectkorra/projectkorra/GeneralMethods.java b/src/com/projectkorra/projectkorra/GeneralMethods.java index 6a3941c5..7de23816 100644 --- a/src/com/projectkorra/projectkorra/GeneralMethods.java +++ b/src/com/projectkorra/projectkorra/GeneralMethods.java @@ -1147,6 +1147,8 @@ public class GeneralMethods { for (Entity entity : entities) { if (entity.getWorld() != location.getWorld()) { list.remove(entity); + } else if (entity instanceof Player && ((Player) entity).getGameMode().equals(GameMode.SPECTATOR)) { + list.remove(entity); } else if (entity.getLocation().distance(location) > radius) { list.remove(entity); } From 85cb6e372041d8e6eecddf1990e30d5172b9ffb0 Mon Sep 17 00:00:00 2001 From: StrangeOne101 Date: Tue, 8 Dec 2015 23:28:17 +1300 Subject: [PATCH 3/7] Fix Fireball NPE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit • Fixes NPE in Fireball • Fixes measuring distance across worlds --- .../projectkorra/firebending/Fireball.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/com/projectkorra/projectkorra/firebending/Fireball.java b/src/com/projectkorra/projectkorra/firebending/Fireball.java index a583377f..8858d25b 100644 --- a/src/com/projectkorra/projectkorra/firebending/Fireball.java +++ b/src/com/projectkorra/projectkorra/firebending/Fireball.java @@ -261,6 +261,16 @@ public class Fireball implements ConfigLoadable { } public boolean progress() { + if (player.isDead() || !player.isOnline()) { + remove(); + return false; + } + + if (!player.getWorld().equals(location.getWorld())) { + remove(); + return false; + } + if (GeneralMethods.getBoundAbility(player) == null) { remove(); return false; From b7bb87c10c5bc5137a68fbe942c131bc7090eaa8 Mon Sep 17 00:00:00 2001 From: jedk1 Date: Tue, 8 Dec 2015 23:40:03 +0000 Subject: [PATCH 4/7] Fix bending player NPE in FireBurst --- src/com/projectkorra/projectkorra/firebending/FireBurst.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/com/projectkorra/projectkorra/firebending/FireBurst.java b/src/com/projectkorra/projectkorra/firebending/FireBurst.java index c4eed5ed..77b82ed7 100644 --- a/src/com/projectkorra/projectkorra/firebending/FireBurst.java +++ b/src/com/projectkorra/projectkorra/firebending/FireBurst.java @@ -144,6 +144,10 @@ public class FireBurst implements ConfigLoadable { } public boolean progress() { + if (player.isDead() || !player.isOnline()) { + remove(); + return false; + } if (!GeneralMethods.canBend(player.getName(), "FireBurst")) { remove(); return false; From cf50695103ced3536ae4c8a959c5863b465dbecb Mon Sep 17 00:00:00 2001 From: ChaoticDev Date: Sun, 13 Dec 2015 19:14:55 +0200 Subject: [PATCH 5/7] Fixed typo in the source code --- src/com/projectkorra/projectkorra/GeneralMethods.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/projectkorra/projectkorra/GeneralMethods.java b/src/com/projectkorra/projectkorra/GeneralMethods.java index 7de23816..92cb57e7 100644 --- a/src/com/projectkorra/projectkorra/GeneralMethods.java +++ b/src/com/projectkorra/projectkorra/GeneralMethods.java @@ -150,7 +150,7 @@ public class GeneralMethods { public static Material[] interactable = { Material.ACACIA_DOOR, Material.ACACIA_FENCE_GATE, Material.ANVIL, Material.ARMOR_STAND, Material.BEACON, Material.BED, Material.BED_BLOCK, Material.BIRCH_DOOR, Material.BIRCH_FENCE_GATE, Material.BOAT, Material.BREWING_STAND, Material.BURNING_FURNACE, Material.CAKE_BLOCK, Material.CHEST, Material.COMMAND, Material.DARK_OAK_DOOR, Material.DARK_OAK_FENCE_GATE, Material.DISPENSER, Material.DRAGON_EGG, Material.DROPPER, Material.ENCHANTMENT_TABLE, Material.ENDER_CHEST, Material.ENDER_PORTAL_FRAME, Material.FENCE_GATE, Material.FURNACE, Material.HOPPER, Material.HOPPER_MINECART, Material.COMMAND_MINECART, Material.ITEM_FRAME, Material.JUKEBOX, Material.JUNGLE_DOOR, Material.JUNGLE_FENCE_GATE, Material.LEVER, Material.MINECART, Material.NOTE_BLOCK, Material.PAINTING, Material.SPRUCE_DOOR, Material.SPRUCE_FENCE_GATE, Material.STONE_BUTTON, Material.TRAPPED_CHEST, Material.TRAP_DOOR, Material.WOOD_BUTTON, Material.WOOD_DOOR, Material.WORKBENCH }; // Stands for toggled = false while logging out - public static List toggedOut = new ArrayList(); + public static List toggledOut = new ArrayList(); public GeneralMethods(ProjectKorra plugin) { GeneralMethods.plugin = plugin; From d362fc6aecdc60893ac173cc7e29a408d5eeda6d Mon Sep 17 00:00:00 2001 From: ChaoticDev Date: Sun, 13 Dec 2015 19:15:59 +0200 Subject: [PATCH 6/7] Fixed typo in the source code --- src/com/projectkorra/projectkorra/PKListener.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/com/projectkorra/projectkorra/PKListener.java b/src/com/projectkorra/projectkorra/PKListener.java index 1018e3b6..8174078e 100644 --- a/src/com/projectkorra/projectkorra/PKListener.java +++ b/src/com/projectkorra/projectkorra/PKListener.java @@ -172,7 +172,7 @@ public class PKListener implements Listener { return; } - if (GeneralMethods.toggedOut.contains(player.getUniqueId())) { + if (GeneralMethods.toggledOut.contains(player.getUniqueId())) { GeneralMethods.getBendingPlayer(player.getName()).toggleBending(); player.sendMessage(ChatColor.YELLOW + "Reminder, you toggled your bending before signing off. Enable it again with /bending toggle."); } @@ -1078,10 +1078,10 @@ public class PKListener implements Listener { Player player = event.getPlayer(); BendingPlayer bPlayer = GeneralMethods.getBendingPlayer(player.getName()); if (bPlayer != null) { - if (GeneralMethods.toggedOut.contains(player.getUniqueId()) && bPlayer.isToggled()) - GeneralMethods.toggedOut.remove(player.getUniqueId()); + if (GeneralMethods.toggledOut.contains(player.getUniqueId()) && bPlayer.isToggled()) + GeneralMethods.toggledOut.remove(player.getUniqueId()); if (!bPlayer.isToggled()) - GeneralMethods.toggedOut.add(player.getUniqueId()); + GeneralMethods.toggledOut.add(player.getUniqueId()); } if (Commands.invincible.contains(event.getPlayer().getName())) { From b490a5d524118696d8b61f93ecb17659209e1050 Mon Sep 17 00:00:00 2001 From: jedk1 Date: Thu, 17 Dec 2015 23:23:01 +0000 Subject: [PATCH 7/7] Fix NPE in Fireball and ChiCombo --- src/com/projectkorra/projectkorra/chiblocking/ChiCombo.java | 4 ++++ src/com/projectkorra/projectkorra/firebending/Fireball.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/com/projectkorra/projectkorra/chiblocking/ChiCombo.java b/src/com/projectkorra/projectkorra/chiblocking/ChiCombo.java index 0711c273..6e6d74f8 100644 --- a/src/com/projectkorra/projectkorra/chiblocking/ChiCombo.java +++ b/src/com/projectkorra/projectkorra/chiblocking/ChiCombo.java @@ -91,6 +91,10 @@ public class ChiCombo { if (paralyzedEntities.get(e) <= System.currentTimeMillis()) { paralyzedEntities.remove(e); for (ChiCombo c : instances) { + if (e == null || c.target == null) { + instances.remove(c); + continue; + } if (c.target.equals(e)) instances.remove(c); } diff --git a/src/com/projectkorra/projectkorra/firebending/Fireball.java b/src/com/projectkorra/projectkorra/firebending/Fireball.java index 8858d25b..78e3b76e 100644 --- a/src/com/projectkorra/projectkorra/firebending/Fireball.java +++ b/src/com/projectkorra/projectkorra/firebending/Fireball.java @@ -266,7 +266,7 @@ public class Fireball implements ConfigLoadable { return false; } - if (!player.getWorld().equals(location.getWorld())) { + if (location != null && !player.getWorld().equals(location.getWorld())) { remove(); return false; }