From eb42f29d5b7a021a65d4328b8146d36d2aae1c07 Mon Sep 17 00:00:00 2001 From: Mathieu Strypsteen Date: Sun, 22 Sep 2024 15:47:28 +0200 Subject: [PATCH] Add start of MineEvent --- .../gent/zeus/mc13dtl/events/EventRunner.java | 15 ++++---- .../mc13dtl/events/catalog/MineEvent.java | 35 +++++++++++++++++++ 2 files changed, 43 insertions(+), 7 deletions(-) create mode 100644 src/main/java/gent/zeus/mc13dtl/events/catalog/MineEvent.java diff --git a/src/main/java/gent/zeus/mc13dtl/events/EventRunner.java b/src/main/java/gent/zeus/mc13dtl/events/EventRunner.java index 0993711..15cf2b3 100644 --- a/src/main/java/gent/zeus/mc13dtl/events/EventRunner.java +++ b/src/main/java/gent/zeus/mc13dtl/events/EventRunner.java @@ -15,7 +15,7 @@ import gent.zeus.mc13dtl.MC13DTL; public class EventRunner implements Runnable { static List currentEvents = new ArrayList<>(); - public static List startTimes = List.of(5000, 13000, 1000, 13000, 100, 1000, 500, 10000, 5000, 100); + public static List startTimes = List.of(5000, 13000, 1000, 1000, 13000, 100, 1000, 500, 10000, 5000, 100); private long day; @@ -43,13 +43,14 @@ public class EventRunner implements Runnable { case 0 -> new SuicideEvent(team, difficulty, getDayScore()); case 1 -> new KillMobs1Event(team, difficulty, getDayScore()); case 2 -> new CraftEvent(team, difficulty, getDayScore()); - case 3 -> new ClimbEvent(team, difficulty, getDayScore()); - case 4 -> new FallEvent(team, difficulty, getDayScore()); - case 5 -> new KillPlayerEvent(team, difficulty, getDayScore()); - case 6 -> new StructureEvent(team, difficulty, getDayScore()); - case 7 -> new KillSurvivingTeamEvent(team, difficulty, getDayScore()); + case 3 -> new MineEvent(team, difficulty, getDayScore()); + case 4 -> new ClimbEvent(team, difficulty, getDayScore()); + case 5 -> new FallEvent(team, difficulty, getDayScore()); + case 6 -> new KillPlayerEvent(team, difficulty, getDayScore()); + case 7 -> new StructureEvent(team, difficulty, getDayScore()); case 8 -> new KillSurvivingTeamEvent(team, difficulty, getDayScore()); - case 9 -> new EndEvent(team, difficulty, getDayScore()); // TODO: Move to last day + case 9 -> new KillMobs2Event(team, difficulty, getDayScore()); + case 10 -> new EndEvent(team, difficulty, getDayScore()); // TODO: Move to last day default -> throw new IllegalStateException("Unexpected day: " + (int) day); }; event.start(); diff --git a/src/main/java/gent/zeus/mc13dtl/events/catalog/MineEvent.java b/src/main/java/gent/zeus/mc13dtl/events/catalog/MineEvent.java new file mode 100644 index 0000000..17745e5 --- /dev/null +++ b/src/main/java/gent/zeus/mc13dtl/events/catalog/MineEvent.java @@ -0,0 +1,35 @@ +package gent.zeus.mc13dtl.events.catalog; + +import gent.zeus.mc13dtl.events.Difficulty; +import gent.zeus.mc13dtl.events.Event; +import org.bukkit.Material; +import org.bukkit.event.EventHandler; +import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.scoreboard.Team; + +public class MineEvent extends Event { + + private final Material block; + + public MineEvent(Team team, Difficulty difficulty, int scoreOnSuccess) { + super(team, difficulty, scoreOnSuccess); + block = switch (difficulty) { + case BABY -> Material.COAL_ORE; + case EASY -> Material.IRON_ORE; + case MEDIUM -> Material.REDSTONE_ORE; + case HARD -> Material.DIAMOND_ORE; + case SWEAT -> Material.EMERALD_ORE; + case IMPOSSIBLE -> Material.BEDROCK; + }; + } + + @EventHandler + public void onBlockBreak(BlockBreakEvent event) { + } + + @Override + protected String getMessage() { + return "Mine the following block before dawn: " + block.toString(); + + } +}