From baeae473d1da1f1f6ec4bc3af92b0b93c3309d3f Mon Sep 17 00:00:00 2001 From: anhgelus Date: Thu, 22 Aug 2024 15:57:45 +0000 Subject: feat(game): color for all titles --- src/main/java/world/anhgelus/molehunt/Game.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'src/main') diff --git a/src/main/java/world/anhgelus/molehunt/Game.java b/src/main/java/world/anhgelus/molehunt/Game.java index 68ac511..6156b59 100644 --- a/src/main/java/world/anhgelus/molehunt/Game.java +++ b/src/main/java/world/anhgelus/molehunt/Game.java @@ -35,7 +35,9 @@ public class Game { } public void start() { + if (started) return; final int n = (server.getCurrentPlayerCount() - server.getCurrentPlayerCount() % 4)/4; +// final int n = 0; final var playerManager = server.getPlayerManager(); final var players = playerManager.getPlayerList(); for (int i = 0; i < n; i++) { @@ -54,7 +56,7 @@ public class Game { gamerules.get(GameRules.DO_IMMEDIATE_RESPAWN).set(true, server); gamerules.get(GameRules.DO_ENTITY_DROPS).set(false, server); - final var title = new TitleS2CPacket(Text.of("You are...")); + final var title = new TitleS2CPacket(Text.of("§eYou are...")); playerManager.getPlayerList().forEach(p -> { p.kill(); p.networkHandler.sendPacket(timing); @@ -70,10 +72,10 @@ public class Game { playerManager.getPlayerList().forEach(p -> { p.networkHandler.sendPacket(timing); if (moles.contains(p)) { - p.networkHandler.sendPacket(new TitleS2CPacket(Text.of("The Mole!"))); - p.networkHandler.sendPacket(new SubtitleS2CPacket(Text.of("get the list of moles with /molehunt moles"))); + p.networkHandler.sendPacket(new TitleS2CPacket(Text.of("§cThe Mole!"))); + p.networkHandler.sendPacket(new SubtitleS2CPacket(Text.of("§6get the list of moles with /molehunt moles"))); } else { - p.networkHandler.sendPacket(new TitleS2CPacket(Text.of("Not the Mole!"))); + p.networkHandler.sendPacket(new TitleS2CPacket(Text.of("§aNot the Mole!"))); } // reset health and food level p.setHealth(p.getMaxHealth()); @@ -114,7 +116,7 @@ public class Game { timer = new Timer(); started = false; final var pm = server.getPlayerManager(); - final var winnerSuspense = new TitleS2CPacket(Text.of("And the winners are...")); + final var winnerSuspense = new TitleS2CPacket(Text.of("§eAnd the winners are...")); pm.getPlayerList().forEach(p -> { p.networkHandler.sendPacket(timing); p.networkHandler.sendPacket(winnerSuspense); @@ -125,11 +127,11 @@ public class Game { public void run() { TitleS2CPacket winner; if (gameWonByMoles()) { - winner = new TitleS2CPacket(Text.of("The Moles!")); + winner = new TitleS2CPacket(Text.of("§cThe Moles!")); } else { - winner = new TitleS2CPacket(Text.of("Not the Mole!")); + winner = new TitleS2CPacket(Text.of("§aNot the Mole!")); } - pm.sendToAll(new SubtitleS2CPacket(Text.of("Moles were " + getMolesAsString()))); + pm.sendToAll(new SubtitleS2CPacket(Text.of("§6Moles were " + getMolesAsString()))); pm.sendToAll(winner); pm.sendToAll(timing); } -- cgit v1.2.3 From a2d825e377bd9e23fd58e4d6a40e24a8a6dd3b3e Mon Sep 17 00:00:00 2001 From: anhgelus Date: Thu, 22 Aug 2024 16:47:59 +0000 Subject: fix(game): selection of moles break list of players in player manager --- src/main/java/world/anhgelus/molehunt/Game.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/main') diff --git a/src/main/java/world/anhgelus/molehunt/Game.java b/src/main/java/world/anhgelus/molehunt/Game.java index 6156b59..d0f1f6f 100644 --- a/src/main/java/world/anhgelus/molehunt/Game.java +++ b/src/main/java/world/anhgelus/molehunt/Game.java @@ -1,6 +1,5 @@ package world.anhgelus.molehunt; -import net.minecraft.entity.LivingEntity; import net.minecraft.network.packet.s2c.play.OverlayMessageS2CPacket; import net.minecraft.network.packet.s2c.play.SubtitleS2CPacket; import net.minecraft.network.packet.s2c.play.TitleFadeS2CPacket; @@ -37,9 +36,8 @@ public class Game { public void start() { if (started) return; final int n = (server.getCurrentPlayerCount() - server.getCurrentPlayerCount() % 4)/4; -// final int n = 0; final var playerManager = server.getPlayerManager(); - final var players = playerManager.getPlayerList(); + final var players = new ArrayList<>(playerManager.getPlayerList()); for (int i = 0; i < n; i++) { final var r = ThreadLocalRandom.current().nextInt(0, players.size()); final var mole = players.get(r); -- cgit v1.2.3 From 828a6da4afb6df396dee3e125451a5953382e71c Mon Sep 17 00:00:00 2001 From: anhgelus Date: Thu, 22 Aug 2024 20:15:32 +0000 Subject: feat(mole): moles' list not properly displayed --- src/main/java/world/anhgelus/molehunt/Game.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/main') diff --git a/src/main/java/world/anhgelus/molehunt/Game.java b/src/main/java/world/anhgelus/molehunt/Game.java index d0f1f6f..a32bd23 100644 --- a/src/main/java/world/anhgelus/molehunt/Game.java +++ b/src/main/java/world/anhgelus/molehunt/Game.java @@ -7,6 +7,7 @@ import net.minecraft.network.packet.s2c.play.TitleS2CPacket; import net.minecraft.server.MinecraftServer; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.text.Text; +import net.minecraft.text.TextContent; import net.minecraft.world.GameMode; import net.minecraft.world.GameRules; import world.anhgelus.molehunt.utils.TimeUtils; @@ -153,7 +154,11 @@ public class Game { } public String getMolesAsString() { - return moles.stream().map(ServerPlayerEntity::getDisplayName).filter(Objects::nonNull).map(Text::toString).collect(Collectors.joining(", ")); + return moles.stream() + .map(ServerPlayerEntity::getDisplayName) + .filter(Objects::nonNull) + .map(Text::getString) + .collect(Collectors.joining(", ")); } public boolean isAMole(ServerPlayerEntity player) { -- cgit v1.2.3 From 7dc2ddcbb808d9dba78f806b0b1138cc9a9c8bbb Mon Sep 17 00:00:00 2001 From: anhgelus Date: Thu, 22 Aug 2024 20:51:59 +0000 Subject: docs(image): add logo --- src/main/resources/assets/molehunt/icon.png | Bin 0 -> 35896 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/assets/molehunt/icon.png (limited to 'src/main') diff --git a/src/main/resources/assets/molehunt/icon.png b/src/main/resources/assets/molehunt/icon.png new file mode 100644 index 0000000..315d580 Binary files /dev/null and b/src/main/resources/assets/molehunt/icon.png differ -- cgit v1.2.3