From eb85fff326371aadf363f97303217e772f59dd27 Mon Sep 17 00:00:00 2001
From: TheWhiteDog9487 <60037547+TheWhiteDog9487@users.noreply.github.com>
Date: Sun, 5 Oct 2025 14:08:52 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E5=8D=95=E4=B8=AA=E6=A0=B9=E5=90=8D?=
=?UTF-8?q?=E7=A7=B0=E7=9A=84=E5=91=BD=E4=BB=A4=E6=A0=91=E4=B8=80=E6=AC=A1?=
=?UTF-8?q?=E6=80=A7=E5=AE=8C=E6=88=90=E6=B3=A8=E5=86=8C=20=E5=B9=B6?=
=?UTF-8?q?=E4=B8=94=E7=8E=B0=E5=9C=A8=E7=94=B1Minecraft=E8=87=AA=E5=B7=B1?=
=?UTF-8?q?=E7=9A=84=E5=91=BD=E4=BB=A4=E8=A7=A3=E6=9E=90=E5=99=A8=E7=A1=AE?=
=?UTF-8?q?=E4=BF=9D=E7=94=A8=E6=88=B7=E8=BE=93=E5=85=A5=E7=9A=84=E9=9A=8F?=
=?UTF-8?q?=E6=9C=BA=E5=8D=8A=E5=BE=84>=3D0=20=E8=BF=94=E5=9B=9E=E6=A0=87?=
=?UTF-8?q?=E5=87=86Command.SINGLE=5FSUCCESS?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../xyz/thewhitedog9487/CommandRegister.java | 180 +++++++-----------
1 file changed, 70 insertions(+), 110 deletions(-)
diff --git a/src/main/java/xyz/thewhitedog9487/CommandRegister.java b/src/main/java/xyz/thewhitedog9487/CommandRegister.java
index 91c5b8b..b747d1e 100644
--- a/src/main/java/xyz/thewhitedog9487/CommandRegister.java
+++ b/src/main/java/xyz/thewhitedog9487/CommandRegister.java
@@ -1,5 +1,6 @@
package xyz.thewhitedog9487;
+import com.mojang.brigadier.Command;
import com.mojang.brigadier.arguments.IntegerArgumentType;
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
import net.minecraft.block.Blocks;
@@ -44,147 +45,107 @@ public class CommandRegister {
* @see Fabric Wiki (Old style,English)
*/
public static void Register(String Name){
- // /rtp
CommandRegistrationCallback.EVENT
.register((dispatcher, registryAccess, environment) ->{
dispatcher.register(literal(Name)
+ // /rtp
.requires(source -> source.hasPermissionLevel(PermissionLevel))
- .executes(context -> execute_command(
- context.getSource(),null,null, null)));});
-
- // /rtp
- CommandRegistrationCallback.EVENT
- .register((dispatcher, registryAccess, environment) -> {
- dispatcher.register(literal(Name)
- .then(argument("Radius(半径)", IntegerArgumentType.integer())
+ .executes(context -> ExecuteCommand(
+ context.getSource(),null,null, null))
+ // /rtp
+ .then(argument("Radius(半径)", IntegerArgumentType.integer(0))
.requires(source -> source.hasPermissionLevel(PermissionLevel))
- .executes(context -> execute_command(
+ .executes(context -> ExecuteCommand(
context.getSource(),
IntegerArgumentType.getInteger(context, "Radius(半径)"),
null,
- null))));});
-
- // /rtp <被传送玩家名(PlayerID)>
- CommandRegistrationCallback.EVENT
- .register((dispatcher, registryAccess, environment) -> {
- dispatcher.register(literal(Name)
+ null)))
+ // /rtp <被传送玩家名(PlayerID)>
.then(argument("被传送玩家名(PlayerID)", EntityArgumentType.entity())
.requires(source -> source.hasPermissionLevel(PermissionLevel))
- .executes(context -> execute_command(
+ .executes(context -> ExecuteCommand(
context.getSource(),
null,
EntityArgumentType.getEntity(context,"被传送玩家名(PlayerID)"),
- null))));});
-
- // /rtp <被传送玩家名(PlayerID)>
- CommandRegistrationCallback.EVENT
- .register((dispatcher, registryAccess, environment) -> {
- dispatcher.register(literal(Name)
- .then(argument("Radius(半径)", IntegerArgumentType.integer())
+ null)))
+ // /rtp <被传送玩家名(PlayerID)>
+ .then(argument("Radius(半径)", IntegerArgumentType.integer(0))
.then(argument("被传送玩家名(PlayerID)", EntityArgumentType.entity())
.requires(source -> source.hasPermissionLevel(PermissionLevel))
- .executes(context -> execute_command(
+ .executes(context -> ExecuteCommand(
context.getSource(),
IntegerArgumentType.getInteger(context, "Radius(半径)"),
EntityArgumentType.getEntity(context,"被传送玩家名(PlayerID)"),
- null)))));});
-
- // /rtp <被传送玩家名(PlayerID)>
- CommandRegistrationCallback.EVENT
- .register((dispatcher, registryAccess, environment) -> {
- dispatcher.register(literal(Name)
+ null))))
+ // /rtp <被传送玩家名(PlayerID)>
.then(argument("被传送玩家名(PlayerID)", EntityArgumentType.entity())
- .then(argument("Radius(半径)", IntegerArgumentType.integer())
+ .then(argument("Radius(半径)", IntegerArgumentType.integer(0))
.requires(source -> source.hasPermissionLevel(PermissionLevel))
- .executes(context -> execute_command(
+ .executes(context -> ExecuteCommand(
context.getSource(),
IntegerArgumentType.getInteger(context, "Radius(半径)"),
EntityArgumentType.getEntity(context,"被传送玩家名(PlayerID)"),
- null)))));});
-
-// // /rtp
-// CommandRegistrationCallback.EVENT
-// .register((dispatcher, registryAccess, environment) -> {
-// dispatcher.register(literal(Name)
-// .then(argument("Radius(半径)", LongArgumentType.longArg())
-// .then(argument("Origin(随机中心)",EntityArgumentType.player())
-// .requires(source -> source.hasPermissionLevel(PermissionLevel))
-// .executes(context -> execute_command_origin(
-// context.getSource(),
-// LongArgumentType.getLong(context, "Radius(半径)"),
-// null,
-// EntityArgumentType.getEntity(context,"Origin(随机中心)"))))));});
-
- // /rtp
- CommandRegistrationCallback.EVENT
- .register((dispatcher, registryAccess, environment) -> {
- dispatcher.register(literal(Name)
- .then(argument("Radius(半径)", IntegerArgumentType.integer())
+ null))))
+// // /rtp
+// .then(argument("Radius(半径)", LongArgumentType.longArg())
+// .then(argument("Origin(随机中心)",EntityArgumentType.player())
+// .requires(source -> source.hasPermissionLevel(PermissionLevel))
+// .executes(context -> execute_command_origin(
+// context.getSource(),
+// LongArgumentType.getLong(context, "Radius(半径)"),
+// null,
+// EntityArgumentType.getEntity(context,"Origin(随机中心)")))))
+ // /rtp
+ .then(argument("Radius(半径)", IntegerArgumentType.integer(0))
.then(argument("OriginPos(随机中心,坐标)",Vec2ArgumentType.vec2())
.requires(source -> source.hasPermissionLevel(PermissionLevel))
- .executes(context -> execute_command(
+ .executes(context -> ExecuteCommand(
context.getSource(),
IntegerArgumentType.getInteger(context, "Radius(半径)"),
null,
- Vec2ArgumentType.getVec2(context,"OriginPos(随机中心,坐标)"))))));});
-
- // /rtp <被传送玩家名(PlayerID)>
- CommandRegistrationCallback.EVENT
- .register((dispatcher, registryAccess, environment) -> {
- dispatcher.register(literal(Name)
- .then(argument("Radius(半径)", IntegerArgumentType.integer())
+ Vec2ArgumentType.getVec2(context,"OriginPos(随机中心,坐标)")))))
+ // /rtp <被传送玩家名(PlayerID)>
+ .then(argument("Radius(半径)", IntegerArgumentType.integer(0))
.then(argument("被传送玩家名(PlayerID)", EntityArgumentType.entity())
.then(argument("OriginEntity(随机中心,实体)",EntityArgumentType.entity())
.requires(source -> source.hasPermissionLevel(PermissionLevel))
- .executes(context -> execute_command(
+ .executes(context -> ExecuteCommand(
context.getSource(),
IntegerArgumentType.getInteger(context, "Radius(半径)"),
EntityArgumentType.getEntity(context,"被传送玩家名(PlayerID)"),
new Vec2f( (float) EntityArgumentType.getEntity( context,"OriginEntity(随机中心,实体)").getEntityPos().x,
- (float) EntityArgumentType.getEntity( context,"OriginEntity(随机中心,实体)").getEntityPos().z )))))));});
-
- // /rtp <被传送玩家名(PlayerID)>
- CommandRegistrationCallback.EVENT
- .register((dispatcher, registryAccess, environment) -> {
- dispatcher.register(literal(Name)
- .then(argument("Radius(半径)", IntegerArgumentType.integer())
- .then(argument("被传送玩家名(PlayerID)", EntityArgumentType.entity())
- .then(argument("OriginPos(随机中心,坐标)",Vec2ArgumentType.vec2())
- .requires(source -> source.hasPermissionLevel(PermissionLevel))
- .executes(context -> execute_command(
- context.getSource(),
- IntegerArgumentType.getInteger(context, "Radius(半径)"),
- EntityArgumentType.getEntity(context,"被传送玩家名(PlayerID)"),
- Vec2ArgumentType.getVec2(context,"OriginPos(随机中心,坐标)")))))));});
-
- // /rtp <被传送玩家名(PlayerID)>
- CommandRegistrationCallback.EVENT
- .register((dispatcher, registryAccess, environment) -> {
- dispatcher.register(literal(Name)
- .then(argument("被传送玩家名(PlayerID)", EntityArgumentType.entity())
- .then(argument("Radius(半径)", IntegerArgumentType.integer())
- .then(argument("OriginEntity(随机中心,实体)",EntityArgumentType.entity())
- .requires(source -> source.hasPermissionLevel(PermissionLevel))
- .executes(context -> execute_command(
- context.getSource(),
- IntegerArgumentType.getInteger(context, "Radius(半径)"),
- EntityArgumentType.getEntity(context,"被传送玩家名(PlayerID)"),
- new Vec2f( (float) EntityArgumentType.getEntity( context,"OriginEntity(随机中心,实体)").getEntityPos().x,
- (float) EntityArgumentType.getEntity( context,"OriginEntity(随机中心,实体)").getEntityPos().z )))))));});
-
- // /rtp <被传送玩家名(PlayerID)>
- CommandRegistrationCallback.EVENT
- .register((dispatcher, registryAccess, environment) -> {
- dispatcher.register(literal(Name)
- .then(argument("被传送玩家名(PlayerID)", EntityArgumentType.entity())
- .then(argument("Radius(半径)", IntegerArgumentType.integer())
- .then(argument("OriginPos(随机中心,坐标)",Vec2ArgumentType.vec2())
- .requires(source -> source.hasPermissionLevel(PermissionLevel))
- .executes(context -> execute_command(
- context.getSource(),
- IntegerArgumentType.getInteger(context, "Radius(半径)"),
- EntityArgumentType.getEntity(context,"被传送玩家名(PlayerID)"),
- Vec2ArgumentType.getVec2(context,"OriginPos(随机中心,坐标)")))))));});}
+ (float) EntityArgumentType.getEntity( context,"OriginEntity(随机中心,实体)").getEntityPos().z ))))))
+ // /rtp <被传送玩家名(PlayerID)>
+ .then(argument("Radius(半径)", IntegerArgumentType.integer(0))
+ .then(argument("被传送玩家名(PlayerID)", EntityArgumentType.entity())
+ .then(argument("OriginPos(随机中心,坐标)",Vec2ArgumentType.vec2())
+ .requires(source -> source.hasPermissionLevel(PermissionLevel))
+ .executes(context -> ExecuteCommand(
+ context.getSource(),
+ IntegerArgumentType.getInteger(context, "Radius(半径)"),
+ EntityArgumentType.getEntity(context,"被传送玩家名(PlayerID)"),
+ Vec2ArgumentType.getVec2(context,"OriginPos(随机中心,坐标)"))))))
+ // /rtp <被传送玩家名(PlayerID)>
+ .then(argument("被传送玩家名(PlayerID)", EntityArgumentType.entity())
+ .then(argument("Radius(半径)", IntegerArgumentType.integer(0))
+ .then(argument("OriginEntity(随机中心,实体)",EntityArgumentType.entity())
+ .requires(source -> source.hasPermissionLevel(PermissionLevel))
+ .executes(context -> ExecuteCommand(
+ context.getSource(),
+ IntegerArgumentType.getInteger(context, "Radius(半径)"),
+ EntityArgumentType.getEntity(context,"被传送玩家名(PlayerID)"),
+ new Vec2f( (float) EntityArgumentType.getEntity( context,"OriginEntity(随机中心,实体)").getEntityPos().x,
+ (float) EntityArgumentType.getEntity( context,"OriginEntity(随机中心,实体)").getEntityPos().z ))))))
+ // /rtp <被传送玩家名(PlayerID)>
+ .then(argument("被传送玩家名(PlayerID)", EntityArgumentType.entity())
+ .then(argument("Radius(半径)", IntegerArgumentType.integer(0))
+ .then(argument("OriginPos(随机中心,坐标)",Vec2ArgumentType.vec2())
+ .requires(source -> source.hasPermissionLevel(PermissionLevel))
+ .executes(context -> ExecuteCommand(
+ context.getSource(),
+ IntegerArgumentType.getInteger(context, "Radius(半径)"),
+ EntityArgumentType.getEntity(context,"被传送玩家名(PlayerID)"),
+ Vec2ArgumentType.getVec2(context,"OriginPos(随机中心,坐标)")))))) );});}
/**
* 向游戏内注册命令
@@ -220,7 +181,6 @@ public class CommandRegister {
return -1;}
if (Radius == null){Radius = (int) (WorldBorder - 1e4);}
// ↑ 远离世界边界
- Radius = Math.abs(Radius);
int Coordinate_X = 0;
int Coordinate_Z = 0;
try {
@@ -271,7 +231,7 @@ public class CommandRegister {
int finalCoordinate_Y = Coordinate_Y;
int finalCoordinate_Z = Coordinate_Z;
// ↑ "lambda 表达式中使用的变量应为 final 或有效 final"
- final var FeedbackFallbackString = String.format("已将玩家%s传送到%d %d %d", entity.getName().getString(), Coordinate_X, finalCoordinate_Y, Coordinate_Z);
- Source.sendFeedback(()->{ return Text.translatableWithFallback("info.success", FeedbackFallbackString, entity.getName(), finalCoordinate_X, finalCoordinate_Y, finalCoordinate_Z); },true);
- return 16;}
+ final var FeedbackFallbackString = String.format("已将玩家%s传送到%d %d %d", TargetEntity.getName().getString(), Coordinate_X, Coordinate_Y, Coordinate_Z);
+ Source.sendFeedback(()->{ return Text.translatableWithFallback("info.success", FeedbackFallbackString, TargetEntity.getName(), finalCoordinate_X, Coordinate_Y, finalCoordinate_Z); },true);
+ return Command.SINGLE_SUCCESS;}
}
\ No newline at end of file