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(-) 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(-) 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(-) 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 732efe5ec1983f166869fd4167e0ed954b0cf6d0 Mon Sep 17 00:00:00 2001 From: anhgelus Date: Thu, 22 Aug 2024 20:16:17 +0000 Subject: style(mixin): remove abstract from NoNametags class --- src/client/java/world/anhgelus/molehunt/client/mixin/NoNametags.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/client/java/world/anhgelus/molehunt/client/mixin/NoNametags.java b/src/client/java/world/anhgelus/molehunt/client/mixin/NoNametags.java index d7795dd..7996c49 100644 --- a/src/client/java/world/anhgelus/molehunt/client/mixin/NoNametags.java +++ b/src/client/java/world/anhgelus/molehunt/client/mixin/NoNametags.java @@ -11,11 +11,10 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(EntityRenderer.class) -public abstract class NoNametags { +public class NoNametags { @Inject(at = @At("HEAD"), method = "render", cancellable = true) private void renderLabelOrNot(T entity, float yaw, float tickDelta, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, CallbackInfo ci) { if (!(entity instanceof PlayerEntity)) return; - ci.cancel(); } } \ No newline at end of file -- 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 --- logo-tiny.png | Bin 0 -> 35896 bytes logo.jpg | Bin 0 -> 251848 bytes logo.png | Bin 0 -> 337631 bytes logo.psd | Bin 0 -> 7515601 bytes src/main/resources/assets/molehunt/icon.png | Bin 0 -> 35896 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 logo-tiny.png create mode 100644 logo.jpg create mode 100644 logo.png create mode 100644 logo.psd create mode 100644 src/main/resources/assets/molehunt/icon.png diff --git a/logo-tiny.png b/logo-tiny.png new file mode 100644 index 0000000..315d580 Binary files /dev/null and b/logo-tiny.png differ diff --git a/logo.jpg b/logo.jpg new file mode 100644 index 0000000..fe81225 Binary files /dev/null and b/logo.jpg differ diff --git a/logo.png b/logo.png new file mode 100644 index 0000000..91608c8 Binary files /dev/null and b/logo.png differ diff --git a/logo.psd b/logo.psd new file mode 100644 index 0000000..3ffb5c9 Binary files /dev/null and b/logo.psd differ 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