From e9b97b6caff46cb953015a052b7b571875247722 Mon Sep 17 00:00:00 2001 From: anhgelus Date: Fri, 26 Jul 2024 23:42:10 +0000 Subject: feat(command): feedback --- README.md | 2 +- src/main/java/world/anhgelus/manhunt/Manhunt.java | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2b5cdf1..9627041 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Simple server-side Fabric mod creating a manhunt in Minecraft. Made for Minecraft 1.21. -Disable spawns of Piglin Brute and revert loot_table of Piglin bartering's update in Minecraft 1.16.2 (Nether is the +Disable the spawn of Piglin Brute and revert loot_table of Piglin bartering's update in Minecraft 1.16.2 (Nether is the same as Minecraft 1.16.1). ## Usage diff --git a/src/main/java/world/anhgelus/manhunt/Manhunt.java b/src/main/java/world/anhgelus/manhunt/Manhunt.java index 76cc9af..ec7aef3 100644 --- a/src/main/java/world/anhgelus/manhunt/Manhunt.java +++ b/src/main/java/world/anhgelus/manhunt/Manhunt.java @@ -21,6 +21,7 @@ import net.minecraft.item.Items; import net.minecraft.server.PlayerManager; import net.minecraft.server.command.ServerCommandSource; import net.minecraft.server.network.ServerPlayerEntity; +import net.minecraft.text.Text; import net.minecraft.util.math.GlobalPos; import net.minecraft.world.GameMode; import org.apache.logging.log4j.LogManager; @@ -62,6 +63,7 @@ public class Manhunt implements ModInitializer { if (player == null) return 2; map.put(source.getPlayer().getUuid(), tracked.getUuid()); updateCompass(player, tracked); + context.getSource().sendFeedback(() -> Text.literal("Tracking "+tracked.getDisplayName()), false); return Command.SINGLE_SUCCESS; }) ); @@ -71,17 +73,23 @@ public class Manhunt implements ModInitializer { final var p = (ServerPlayerEntity) EntityArgumentType.getEntity(context, "player"); speedrunners.remove(p.getUuid()); hunters.add(p.getUuid()); + context.getSource().sendFeedback(() -> Text.literal(p.getDisplayName()+" added to hunter"), true); return Command.SINGLE_SUCCESS; })) .then(LiteralArgumentBuilder.literal("speedrunner").executes(context -> { final var p = (ServerPlayerEntity) EntityArgumentType.getEntity(context, "player"); hunters.remove(p.getUuid()); speedrunners.add(p.getUuid()); + context.getSource().sendFeedback(() -> Text.literal(p.getDisplayName()+" added to speedrunner"), true); return Command.SINGLE_SUCCESS; })); team.then(teamP); final LiteralArgumentBuilder start = literal("start"); start.executes(context -> { + if (state == GameState.ON) { + context.getSource().sendFeedback(() -> Text.literal("Cannot start a manhunt if one is already started!"), false); + return Command.SINGLE_SUCCESS; + } final PlayerManager pm = context.getSource().getServer().getPlayerManager(); for (final ServerPlayerEntity player : pm.getPlayerList()) { player.setHealth(player.getMaxHealth()); @@ -115,6 +123,7 @@ public class Manhunt implements ModInitializer { } } }, 60*1000, 60*1000); + context.getSource().sendFeedback(() -> Text.literal("Game started!"), true); return Command.SINGLE_SUCCESS; }); @@ -132,6 +141,7 @@ public class Manhunt implements ModInitializer { return; } speedrunners.remove(uuid); + newPlayer.changeGameMode(GameMode.SPECTATOR); if (!speedrunners.isEmpty()) return; for (final ServerPlayerEntity player : newPlayer.server.getPlayerManager().getPlayerList()) { player.changeGameMode(GameMode.SPECTATOR); -- cgit v1.2.3