Skip to content

Commit

Permalink
Add position argument to player freeze command
Browse files Browse the repository at this point in the history
  • Loading branch information
kyrptonaught committed Jan 24, 2024
1 parent 13c0589 commit 812c104
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 8 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ loader_version=0.15.6
fabric_version=0.95.1+1.20.4

# Mod Properties
mod_version=1.0.7b9-1.20.4
mod_version=1.0.7b10-1.20.4
maven_group=net.kyrptonaught
archives_base_name=ServerUtils

Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents;
import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
import net.kyrptonaught.serverutils.Module;
import net.minecraft.command.argument.BlockPosArgumentType;
import net.minecraft.command.argument.EntityArgumentType;
import net.minecraft.command.argument.PosArgument;
import net.minecraft.command.argument.Vec3ArgumentType;
import net.minecraft.entity.attribute.EntityAttributes;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
Expand All @@ -16,6 +19,7 @@
import net.minecraft.server.command.CommandManager;
import net.minecraft.server.command.ServerCommandSource;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;

import java.util.*;
Expand Down Expand Up @@ -70,12 +74,21 @@ public void registerCommands(CommandDispatcher<ServerCommandSource> dispatcher)
.requires((source) -> source.hasPermissionLevel(2))

.then(CommandManager.argument("players", EntityArgumentType.players())
.then(CommandManager.argument("enabled", BoolArgumentType.bool())
.executes(context -> executeFreeze(EntityArgumentType.getPlayers(context, "players"), BoolArgumentType.getBool(context, "enabled")))))

.then(CommandManager.literal("true")
.executes(context -> {
return executeFreeze(EntityArgumentType.getPlayers(context, "players"), null, true);
})
.then(CommandManager.argument("pos", Vec3ArgumentType.vec3())
.executes(context -> {
return executeFreeze(EntityArgumentType.getPlayers(context, "players"), Vec3ArgumentType.getVec3(context, "pos"), true);
})))
.then(CommandManager.literal("false")
.executes(context -> {
return executeFreeze(EntityArgumentType.getPlayers(context, "players"), null, false);
})))
.then(CommandManager.literal("clear")
.executes(context -> {
executeFreeze(context.getSource().getServer().getPlayerManager().getPlayerList(), false);
executeFreeze(context.getSource().getServer().getPlayerManager().getPlayerList(), null, false);
FROZENPLAYERS.clear();
return 1;
})));
Expand All @@ -97,7 +110,7 @@ private static int executeLockdown(Collection<ServerPlayerEntity> players, boole
return 1;
}

private static int executeFreeze(Collection<ServerPlayerEntity> players, boolean enabled) {
private static int executeFreeze(Collection<ServerPlayerEntity> players, Vec3d pos, boolean enabled) {
for (ServerPlayerEntity player : players) {
if (enabled) {
player.getAbilities().setWalkSpeed(0);
Expand All @@ -111,7 +124,8 @@ private static int executeFreeze(Collection<ServerPlayerEntity> players, boolean

player.networkHandler.sendPacket(new HealthUpdateS2CPacket(player.getHealth(), 1, player.getHungerManager().getSaturationLevel()));

FROZENPLAYERS.put(player.getUuidAsString(), player.getPos());
if (pos == null) pos = player.getPos();
FROZENPLAYERS.put(player.getUuidAsString(), pos);
} else {
player.getAbilities().setWalkSpeed(0.1f);
player.getAbilities().setFlySpeed(0.05f);
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"schemaVersion": 1,
"id": "serverutils",
"version": "1.0.7b9-1.20.4",
"version": "1.0.7b10-1.20.4",
"name": "Server Utils",
"description": "A group of utilities for servers",
"authors": [
Expand Down

0 comments on commit 812c104

Please sign in to comment.