diff --git a/src/main/java/com/songoda/ultimatekits/kit/Kit.java b/src/main/java/com/songoda/ultimatekits/kit/Kit.java index 7db0a9d..4b036ea 100644 --- a/src/main/java/com/songoda/ultimatekits/kit/Kit.java +++ b/src/main/java/com/songoda/ultimatekits/kit/Kit.java @@ -283,8 +283,6 @@ public class Kit { if (amt != amtToGive) Collections.shuffle(innerContents); - CrateAnimateTask task = null; - for (int i = 0; i < innerContents.size(); i ++) { KitItem item = innerContents.get(i); if (amtToGive == 0) continue; @@ -314,8 +312,7 @@ public class Kit { amtToGive--; if (kitAnimation != KitAnimation.NONE) { - final CrateAnimateTask cTask = new CrateAnimateTask(plugin, player, this, item.getItem()); - task = cTask; + final CrateAnimateTask cTask = new CrateAnimateTask(plugin, player, this, item.getItem(), i == (innerContents.size() - 1)); Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, cTask::start, 140 * i); } else { Map overfilled = player.getInventory().addItem(item.getItem()); @@ -325,9 +322,6 @@ public class Kit { } } } - if (task != null) { - task.setLast(true); - } player.updateInventory(); } catch (Exception e) { diff --git a/src/main/java/com/songoda/ultimatekits/tasks/CrateAnimateTask.java b/src/main/java/com/songoda/ultimatekits/tasks/CrateAnimateTask.java index 4ede85b..62e16b1 100644 --- a/src/main/java/com/songoda/ultimatekits/tasks/CrateAnimateTask.java +++ b/src/main/java/com/songoda/ultimatekits/tasks/CrateAnimateTask.java @@ -33,15 +33,16 @@ public class CrateAnimateTask extends BukkitRunnable { private boolean slow = false; private boolean finish = false; private boolean done = false; - private boolean last = false; + private boolean last; private int num = 0; private Listener listener; - public CrateAnimateTask(UltimateKits plugin, Player player, Kit kit, ItemStack give) { + public CrateAnimateTask(UltimateKits plugin, Player player, Kit kit, ItemStack give, boolean last) { this.plugin = plugin; this.player = player; this.give = give; + this.last = last; this.inventory = Bukkit.createInventory(null, 27, TextComponent.formatText(kit.getShowableName())); List items = kit.getContents(); @@ -128,14 +129,11 @@ public class CrateAnimateTask extends BukkitRunnable { private void finish() { instance.cancel(); + HandlerList.unregisterAll(listener); if (last) { - HandlerList.unregisterAll(listener); + Bukkit.broadcastMessage("last"); listener = null; player.closeInventory(); } } - - public void setLast(boolean last) { - this.last = last; - } } \ No newline at end of file