249 字
1 分钟
lsktp_fabric便捷写法(1.20.9/1.20.10)
lskmc.java
package lsk.lsktp;
import com.mojang.brigadier.arguments.DoubleArgumentType;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
import net.minecraft.command.argument.DimensionArgumentType;
import net.minecraft.server.command.CommandManager;
import com.mojang.brigadier.context.CommandContext;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import net.minecraft.entity.Entity;
import net.minecraft.server.command.ServerCommandSource;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.text.Text;
import java.util.HashSet;
public class Lsktp implements ModInitializer {
@Override
public void onInitialize() {
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> {
dispatcher.register(CommandManager.literal("lsktp")
.then(CommandManager.argument("x", DoubleArgumentType.doubleArg())
.then(CommandManager.argument("y", DoubleArgumentType.doubleArg())
.then(CommandManager.argument("z", DoubleArgumentType.doubleArg())
// .executes(context -> teleportPlayer(context))
.executes(context ->execute_command(context.getSource(),context))
)
)
)
.requires(source -> source.hasPermissionLevel(0)) // 设置权限等级
);
});
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> {
dispatcher.register(CommandManager.literal("lsktp")
.then(CommandManager.argument("d", DimensionArgumentType.dimension())
.then(CommandManager.argument("x", DoubleArgumentType.doubleArg())
.then(CommandManager.argument("y", DoubleArgumentType.doubleArg())
.then(CommandManager.argument("z", DoubleArgumentType.doubleArg())
// .executes(context -> teleportPlayer(context))
.executes(context ->execute(context.getSource(),context))
)
)
)
)
.requires(source -> source.hasPermissionLevel(0)) // 设置权限等级
);
});
}
static int execute_command(ServerCommandSource Source, CommandContext<ServerCommandSource> context){
Entity entity = Source.getPlayer() ;
double x = DoubleArgumentType.getDouble(context, "x");
double y = DoubleArgumentType.getDouble(context, "y");
double z = DoubleArgumentType.getDouble(context, "z");
entity.teleport(Source.getWorld(),x , y, z, new HashSet<>(), entity.getYaw(), entity.getPitch(),false);
context.getSource().sendFeedback(() -> Text.literal("传送至 " + x + ", " + y + ", " + z), false);
return 1;
}
private static int execute(ServerCommandSource Source, CommandContext<ServerCommandSource> context) throws CommandSyntaxException {
ServerCommandSource source = context.getSource();
Entity player = source.getPlayer();
if (player == null) {
source.sendError(Text.translatable("需玩家执行!"));
return 0;
}
double x = DoubleArgumentType.getDouble(context, "x");
double y = DoubleArgumentType.getDouble(context, "y");
double z = DoubleArgumentType.getDouble(context, "z");
ServerWorld d = DimensionArgumentType.getDimensionArgument(context, "d");
if (d != null) {
player.teleport(d, x, y, z, new HashSet<>(), player.getYaw(), player.getPitch(), false);
context.getSource().sendFeedback(() -> Text.literal("传送至 "+ x + ", " + y + ", " + z), false);
return 1;
}
return 1;
}
}
lsktp_fabric便捷写法(1.20.9/1.20.10)
https://lightseeking.eu.org/posts/lskmc_fabric_12110/
作者
黄子郬
发布于
2025-11-02
许可协议
CC BY-NC-SA 4.0
封面
示例歌曲
示例艺术家
封面
示例歌曲
示例艺术家
0:00 / 0:00