Dieser Commit ist enthalten in:
Ursprung
abc7e1a4f7
Commit
f2b86c9b1d
@ -69,6 +69,7 @@ public class HellsBells {
|
||||
GlobalRecorder.getInstance().system(stateSwapMessage);
|
||||
FightSystem.getMessage().broadcast(stateSwapMessage);
|
||||
currentDrops = 0;
|
||||
current = current.getNext();
|
||||
}
|
||||
|
||||
currentDrops++;
|
||||
|
@ -15,7 +15,9 @@ import java.util.logging.Level;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Fireball;
|
||||
import org.bukkit.entity.TNTPrimed;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.ProjectileHitEvent;
|
||||
@ -38,9 +40,16 @@ public class Meteor implements Listener {
|
||||
|
||||
public void startCountdown() {
|
||||
if (current == Meteor.State.PRE) {
|
||||
Bukkit.getOnlinePlayers().forEach(player -> {
|
||||
player.sendMessage("Starting");
|
||||
});
|
||||
current = current.getNext();
|
||||
} else if (current != Meteor.State.LAST && currentDrops >= current.SWITCH_AFTER) {
|
||||
Bukkit.getOnlinePlayers().forEach(player -> {
|
||||
player.sendMessage("Faster");
|
||||
});
|
||||
currentDrops = 0;
|
||||
current = current.getNext();
|
||||
}
|
||||
|
||||
currentDrops++;
|
||||
@ -51,8 +60,10 @@ public class Meteor implements Listener {
|
||||
@EventHandler
|
||||
public void explode(ProjectileHitEvent event) {
|
||||
if (event.getEntity() instanceof Fireball) {
|
||||
event.getEntity().getWorld().createExplosion(event.getEntity().getLocation(), current.explosionSize);
|
||||
Bukkit.getScheduler().runTaskLater(FightSystem.getPlugin(), () -> event.getEntity().getWorld().createExplosion(event.getEntity().getLocation(), current.explosionSize), 1L);
|
||||
TNTPrimed tnt = world.spawn(event.getEntity().getLocation(), TNTPrimed.class);
|
||||
tnt.setVelocity(new Vector(0, 0, 0));
|
||||
tnt.setFuseTicks(0);
|
||||
tnt.setYield(current.explosionSize);
|
||||
}
|
||||
}
|
||||
|
||||
@ -67,6 +78,9 @@ public class Meteor implements Listener {
|
||||
Meteor.Point redStart = new Meteor.Point(Config.RedExtendRegion.getMinX() + xOffset, Config.RedExtendRegion.getMaxY() + yOffset, Config.RedExtendRegion.getMaxZ() - zOffset);
|
||||
Meteor.Point blueStart = new Meteor.Point(Config.BlueExtendRegion.getMinX() + xOffset, Config.BlueExtendRegion.getMaxY() + yOffset, Config.BlueExtendRegion.getMinZ() + zOffset);
|
||||
|
||||
vector.setX(random.nextDouble() - 0.5);
|
||||
vector.setZ(random.nextDouble() - 0.5);
|
||||
|
||||
Fireball fireballRed = world.spawn(redStart.toLocation(world), Fireball.class);
|
||||
fireballRed.setDirection(vector);
|
||||
fireballRed.setBounce(false);
|
||||
@ -74,6 +88,7 @@ public class Meteor implements Listener {
|
||||
fireballRed.setYield(0);
|
||||
|
||||
Fireball fireballBlue = world.spawn(blueStart.toLocation(world), Fireball.class);
|
||||
vector.setZ(vector.getZ() * -1);
|
||||
fireballBlue.setDirection(vector);
|
||||
fireballBlue.setBounce(false);
|
||||
fireballBlue.setIsIncendiary(false);
|
||||
@ -143,12 +158,12 @@ public class Meteor implements Listener {
|
||||
|
||||
private enum State {
|
||||
|
||||
PRE(60, 80, 1, 0, 0, 0),
|
||||
FIRST(40, 60, 3, 2, 1, 3),
|
||||
SECOND(30, 40, 4, 4, 2, 5),
|
||||
THIRD(20, 30, 4, 6, 3, 7),
|
||||
FOURTH(10, 20, 5, 8, 5, 10),
|
||||
LAST(5, 10, 0, 10, 7, 15);
|
||||
PRE(30, 40, 1, 0, 0, 0),
|
||||
FIRST(25, 35, 3, 2, 2, 4),
|
||||
SECOND(20, 30, 4, 4, 3, 6),
|
||||
THIRD(15, 25, 4, 6, 4, 8),
|
||||
FOURTH(10, 20, 5, 8, 6, 11),
|
||||
LAST(5, 10, 0, 10, 8, 16);
|
||||
|
||||
|
||||
State(int minTime, int maxTime, int switchAfter, int explosionSize, int minAmount, int maxAmount) {
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren