From c111c027fffaf3abdfb75ed5ea946f652e91f1fd Mon Sep 17 00:00:00 2001 From: jannis Date: Sat, 10 Jan 2026 17:41:19 +0100 Subject: [PATCH] added second option to game selection menu, finished stickfight --- .../stateless/types/stickfight/StickFightFactory.java | 5 +++-- .../game/stateless/types/stickfight/Stickfight.java | 9 ++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/stickfight/StickFightFactory.java b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/stickfight/StickFightFactory.java index c27bda9..9e48ca2 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/stickfight/StickFightFactory.java +++ b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/stickfight/StickFightFactory.java @@ -28,7 +28,8 @@ public class StickFightFactory implements GameFactory { @Override public ConfigManager configuration() { return new ConfigManager() - .addOption(new NumericOption("length", Material.SANDSTONE, TranslatedComponent.byId("optionCommon#length"), 7, 10, 13, 16, 19)); + .addOption(new NumericOption("length", Material.SANDSTONE, TranslatedComponent.byId("optionCommon#length"), 7, 10, 13, 16, 19)) + .addOption(new NumericOption("seconds", Material.CLOCK, TranslatedComponent.byId("optionCommon#seconds"), 0, 30, 60, 90, 120)); } @Override @@ -40,7 +41,7 @@ public class StickFightFactory implements GameFactory { @Override public Game manufacture(Room parent, Map> configuration) { - return new Stickfight(configuration.get("length").getAsInt()).setParent(parent); + return new Stickfight(configuration.get("length").getAsInt(), configuration.get("seconds").getAsInt()).setParent(parent); } @Override diff --git a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/stickfight/Stickfight.java b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/stickfight/Stickfight.java index ea1e1c4..39596d2 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/stickfight/Stickfight.java +++ b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/stickfight/Stickfight.java @@ -24,10 +24,12 @@ public class Stickfight extends StatelessGame { private final WeakHashMap spawnPoints = new WeakHashMap<>(); private final Map scoreMap = new WeakHashMap<>(); private boolean countdownStarted = false; + private final int seconds; - public Stickfight(int length) { + public Stickfight(int length, int seconds) { super(Dimension.OVERWORLD.key, "Stickfight", new LowestPointsWinScore()); this.radius = length; + this.seconds = seconds; this.eventNode().addChild( CombatFeatures.empty() @@ -88,6 +90,11 @@ public class Stickfight extends StatelessGame { super.start(); } + @Override + protected void onStart() { + this.setTimeLimit(this.seconds); + } + @Override protected void onStop() { this.scoreMap.forEach((player, score) -> this.getScore().insertResult(player, score));