aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/los/numeros/HidersAndDiggers/Main.java2
-rw-r--r--src/main/java/los/numeros/HidersAndDiggers/modules/GameClockModule.java30
2 files changed, 26 insertions, 6 deletions
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();