From 67563e7f41aa1adfb3abbe2d4d6c3bb87c5c9cce Mon Sep 17 00:00:00 2001 From: Squibid Date: Thu, 6 Jun 2024 18:01:00 -0400 Subject: add sounds when starting the game --- .../java/los/numeros/HidersAndDiggers/Main.java | 2 +- .../HidersAndDiggers/modules/GameClockModule.java | 30 ++++++++++++++++++---- 2 files changed, 26 insertions(+), 6 deletions(-) (limited to 'src/main/java/los') diff --git a/src/main/java/los/numeros/HidersAndDiggers/Main.java b/src/main/java/los/numeros/HidersAndDiggers/Main.java index 6ee3cef..461a640 100644 --- a/src/main/java/los/numeros/HidersAndDiggers/Main.java +++ b/src/main/java/los/numeros/HidersAndDiggers/Main.java @@ -62,7 +62,7 @@ public class Main implements Engine { /* populate the modules */ modules[0] = new MainModule(diggers, hiders, players, source); - modules[1] = new GameClockModule(diggers, hiders, server); + modules[1] = new GameClockModule(diggers, hiders, players, server); /* start the game */ Engine.StartEngine(running, modules); diff --git a/src/main/java/los/numeros/HidersAndDiggers/modules/GameClockModule.java b/src/main/java/los/numeros/HidersAndDiggers/modules/GameClockModule.java index 2a8765a..31cf537 100644 --- a/src/main/java/los/numeros/HidersAndDiggers/modules/GameClockModule.java +++ b/src/main/java/los/numeros/HidersAndDiggers/modules/GameClockModule.java @@ -11,12 +11,13 @@ import net.minecraft.network.MessageType; import net.minecraft.network.packet.s2c.play.TitleS2CPacket; import net.minecraft.server.MinecraftServer; import net.minecraft.server.network.ServerPlayerEntity; +import net.minecraft.sound.SoundEvents; import net.minecraft.text.LiteralText; import net.minecraft.text.Style; import net.minecraft.text.TextColor; public class GameClockModule implements Module { - private ServerPlayerEntity[] diggers, hiders; + private ServerPlayerEntity[] diggers, hiders, players; private MinecraftServer server; private MinecraftTick minecraftTick = new MinecraftTick(); private int i, j; @@ -25,32 +26,46 @@ public class GameClockModule implements Module { private long tickCounter; private boolean hidersVisible = false; - public GameClockModule(ServerPlayerEntity diggers[], ServerPlayerEntity hiders[], MinecraftServer server) { + public GameClockModule(ServerPlayerEntity diggers[], ServerPlayerEntity hiders[], ServerPlayerEntity[] players, MinecraftServer server) { this.diggers = diggers; this.hiders = hiders; + this.players = players; this.server = server; } + private void playCountdownClick() { + for (ServerPlayerEntity p : players) { + p.playSound(SoundEvents.BLOCK_NOTE_BLOCK_HAT, 0.75f, 0.1f); + } + } + private void preGameClock() { server.getPlayerManager().broadcastChatMessage( - new LiteralText("20s"), + new LiteralText("20s").setStyle(Style.EMPTY.withColor(TextColor.parse("light_green"))), MessageType.SYSTEM, new UUID(0, 0) ); + playCountdownClick(); minecraftTick.delayCallback(MinecraftTick.secondToTick(10), (tickDelay) -> { server.getPlayerManager().broadcastChatMessage( - new LiteralText("10s"), + new LiteralText("10s").setStyle(Style.EMPTY.withColor(TextColor.parse("light_green"))), MessageType.SYSTEM, new UUID(0, 0) ); + playCountdownClick(); }); /* countdown 5 -> 1 */ for (i = 15, j = 5; j > 0; i++, j--) { minecraftTick.delayCallback(MinecraftTick.secondToTick(i), (tickDelay) -> { + final int countdown = Math.abs(MinecraftTick.tickToSecond(tickDelay) - 20); + final String color = countdown <= 3 ? "red" : "yellow"; + + playCountdownClick(); server.getPlayerManager().broadcastChatMessage( - new LiteralText(String.valueOf(Math.abs(MinecraftTick.tickToSecond(tickDelay) - 20)) + "s"), + new LiteralText(String.valueOf(countdown + "s")) + .setStyle(Style.EMPTY.withColor(TextColor.parse(color))), MessageType.SYSTEM, new UUID(0, 0) ); @@ -80,9 +95,14 @@ public class GameClockModule implements Module { server.getPlayerManager().sendToAll( new TitleS2CPacket(TitleS2CPacket.Action.TITLE, diggersString) ); + + for (ServerPlayerEntity p : players) { + p.playSound(SoundEvents.BLOCK_NOTE_BLOCK_BASEDRUM, 1f, 0.5f); + } }); } + @Override public int init() { preGameClock(); -- cgit v1.2.1