1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 03:35:51 +00:00

Simplify the RitualAnimation

This commit is contained in:
Oliver Wright 2018-03-02 19:40:45 +00:00
parent 9e0262d8b5
commit 63e5245b2c
No known key found for this signature in database
GPG Key ID: 74EA9FD649807D37

View File

@ -28,6 +28,7 @@ public class RitualAnimation implements Runnable {
List<Location> particles;
boolean running;
int stage;
public RitualAnimation(List<Block> altars, Block altar, Location drop, ItemStack output, List<Block> pedestals, List<ItemStack> items) {
this.l = drop;
@ -39,209 +40,21 @@ public class RitualAnimation implements Runnable {
this.particles = new ArrayList<Location>();
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();