diff --git a/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/deathrun/Deathrun.java b/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/deathrun/Deathrun.java index 37bad35..3278d8e 100644 --- a/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/deathrun/Deathrun.java +++ b/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/deathrun/Deathrun.java @@ -2,9 +2,43 @@ package eu.mhsl.craftattack.spawn.event.appliances.deathrun; import eu.mhsl.craftattack.spawn.core.appliance.Appliance; import eu.mhsl.craftattack.spawn.event.appliances.eventController.Event; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.title.Title; +import org.bukkit.Bukkit; +import org.bukkit.World; +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; +import org.jetbrains.annotations.NotNull; @Appliance.Flags(autoload = false) public class Deathrun extends Appliance implements Event { + @Override + public void initialize(@NotNull JavaPlugin plugin) { + World world = Bukkit.getWorlds().getFirst(); + world.getWorldBorder().setCenter(world.getSpawnLocation()); + world.getWorldBorder().setSize(20); + } + + @Override + public void start() { + Title title = Title.title(Component.text("Start"), Component.text("Erreiche die höchste x-Koordinate!")); + Bukkit.getOnlinePlayers().forEach(player -> player.showTitle(title)); + + World world = Bukkit.getWorlds().getFirst(); + world.getWorldBorder().setSize(world.getWorldBorder().getMaxSize()); + } + + @Override + public int getScore(Player p) { + return (int) Math.ceil(p.getLocation().subtract(Bukkit.getWorlds().getFirst().getSpawnLocation()).x()); + } + + @Override + public void stop() { + Title title = Title.title(Component.text("Ende!"), Component.empty()); + Bukkit.getOnlinePlayers().forEach(player -> player.showTitle(title)); + } + @Override public String displayName() { return "Deathrun"; diff --git a/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/eventController/Event.java b/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/eventController/Event.java index 1dcc3ed..e05b25b 100644 --- a/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/eventController/Event.java +++ b/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/eventController/Event.java @@ -1,6 +1,18 @@ package eu.mhsl.craftattack.spawn.event.appliances.eventController; -public interface Event { - String displayName(); +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.scoreboard.Scoreboard; +public interface Event { + Scoreboard scoreboard = Bukkit.getScoreboardManager().getNewScoreboard(); + + String displayName(); + void start(); + void stop(); + int getScore(Player p); + + public default void updateSidebar() { + + } }