From 63e5245b2c1c84e85db6fe3f3f4da6a57929aa39 Mon Sep 17 00:00:00 2001 From: Oliver Wright Date: Fri, 2 Mar 2018 19:40:45 +0000 Subject: [PATCH] Simplify the RitualAnimation --- .../AncientAltar/RitualAnimation.java | 213 +----------------- 1 file changed, 11 insertions(+), 202 deletions(-) diff --git a/src/me/mrCookieSlime/Slimefun/AncientAltar/RitualAnimation.java b/src/me/mrCookieSlime/Slimefun/AncientAltar/RitualAnimation.java index 5454bbb1a..ce0b6e711 100644 --- a/src/me/mrCookieSlime/Slimefun/AncientAltar/RitualAnimation.java +++ b/src/me/mrCookieSlime/Slimefun/AncientAltar/RitualAnimation.java @@ -28,6 +28,7 @@ public class RitualAnimation implements Runnable { List particles; boolean running; + int stage; public RitualAnimation(List altars, Block altar, Location drop, ItemStack output, List pedestals, List items) { this.l = drop; @@ -39,209 +40,21 @@ public class RitualAnimation implements Runnable { this.particles = new ArrayList(); this.running = true; + this.stage = 0; } @Override public void run() { idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - checkPedestal(pedestals.get(0)); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - checkPedestal(pedestals.get(1)); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - checkPedestal(pedestals.get(2)); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - checkPedestal(pedestals.get(3)); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - checkPedestal(pedestals.get(4)); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - checkPedestal(pedestals.get(5)); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - checkPedestal(pedestals.get(6)); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - checkPedestal(pedestals.get(7)); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - schedule(new Runnable() { - - @Override - public void run() { - idle(); - finish(); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); - } - }); + if(this.stage == 36) { + finish(); + return; + } + if(this.stage > 0 && this.stage % 4 == 0) { + checkPedestal(pedestals.get(this.stage / 4 - 1)); + } + this.stage += 1; + SlimefunStartup.instance.getServer().getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, this, 8); } private void idle() { @@ -257,10 +70,6 @@ public class RitualAnimation implements Runnable { } } - private void schedule(Runnable runnable) { - if (running) SlimefunStartup.instance.getServer().getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, runnable, 8); - } - private void checkPedestal(Block pedestal) { Item item = AncientAltarListener.findItem(pedestal); if (item == null) abort();