From e9c0bd3babe75e702c52d56307e000c9c00a3913 Mon Sep 17 00:00:00 2001 From: KHobbits Date: Mon, 12 Aug 2013 00:26:09 +0100 Subject: Prevent inf loop when adding air to kits. Should fix #4555 --- Essentials/src/com/earth2me/essentials/Kit.java | 5 +++++ Essentials/src/com/earth2me/essentials/UserData.java | 5 ++++- .../src/com/earth2me/essentials/craftbukkit/InventoryWorkaround.java | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/Kit.java b/Essentials/src/com/earth2me/essentials/Kit.java index 02268a796..1b71eefb5 100644 --- a/Essentials/src/com/earth2me/essentials/Kit.java +++ b/Essentials/src/com/earth2me/essentials/Kit.java @@ -186,6 +186,11 @@ public class Kit final String[] parts = kitItem.split(" +"); final ItemStack parseStack = ess.getItemDb().get(parts[0], parts.length > 1 ? Integer.parseInt(parts[1]) : 1); + + if (parseStack.getTypeId() == 0) { + continue; + } + final MetaItemStack metaStack = new MetaItemStack(parseStack); if (parts.length > 2) diff --git a/Essentials/src/com/earth2me/essentials/UserData.java b/Essentials/src/com/earth2me/essentials/UserData.java index 9948a663e..7a8b9b9ae 100644 --- a/Essentials/src/com/earth2me/essentials/UserData.java +++ b/Essentials/src/com/earth2me/essentials/UserData.java @@ -150,6 +150,10 @@ public abstract class UserData extends PlayerExtension implements IConf { try { + if (getHomes().isEmpty()) + { + return null; + } Location loc; for (String home : getHomes()) { @@ -476,7 +480,6 @@ public abstract class UserData extends PlayerExtension implements IConf config.setProperty("teleportenabled", set); config.save(); } - private List ignoredPlayers; public List _getIgnoredPlayers() diff --git a/Essentials/src/com/earth2me/essentials/craftbukkit/InventoryWorkaround.java b/Essentials/src/com/earth2me/essentials/craftbukkit/InventoryWorkaround.java index d5da047fe..9e9fea157 100644 --- a/Essentials/src/com/earth2me/essentials/craftbukkit/InventoryWorkaround.java +++ b/Essentials/src/com/earth2me/essentials/craftbukkit/InventoryWorkaround.java @@ -94,7 +94,7 @@ public final class InventoryWorkaround for (int i = 0; i < combined.length; i++) { final ItemStack item = combined[i]; - if (item == null) + if (item == null || item.getTypeId() == 0) { continue; } -- cgit v1.2.3