要执行的命令是:/execute in mcbbswiki:mcbbswiki_normal_dimension run tp @s ~ ~ ~(将自己传送到mcbbswiki:mcbbswiki_normal_dimension维度的相同位置)
其中mcbbswiki:mcbbswiki_normal_dimension是一个mod维度的id(用json实现的,类似原版数据包)
有人会问:直接用PlayerEntity.changeDimension()不就行了?
可是我这维度是用json实现的(1.16.3+好像都是这样),changeDimension()接受一个ServerWorld实例,没有实例啊?而且我也没找到有什么方法能通过维度id返回对应ServerWorld实例
维度json参见https://github.com/QWERTY770/MCB ... rmal_dimension.json和https://github.com/QWERTY770/MCB ... rmal_dimension.json
其中mcbbswiki:mcbbswiki_normal_dimension是一个mod维度的id(用json实现的,类似原版数据包)
有人会问:直接用PlayerEntity.changeDimension()不就行了?
可是我这维度是用json实现的(1.16.3+好像都是这样),changeDimension()接受一个ServerWorld实例,没有实例啊?而且我也没找到有什么方法能通过维度id返回对应ServerWorld实例
维度json参见https://github.com/QWERTY770/MCB ... rmal_dimension.json和https://github.com/QWERTY770/MCB ... rmal_dimension.json
在Player里好像有相关的方法可以获取ServerWorld实例
如果要执行命令,不知道FakePlayer行不行
如果要执行命令,不知道FakePlayer行不行
PlayerEntity player;
if(player instanceof ServerPlayerEntity){
((ServerPlayerEntity) player).connection.processChatMessage(new CChatMessagePacket("/execute in mcbbswiki:mcbbswiki_normal_dimension run tp @s ~ ~ ~"));
}
if(player instanceof ServerPlayerEntity){
((ServerPlayerEntity) player).connection.processChatMessage(new CChatMessagePacket("/execute in mcbbswiki:mcbbswiki_normal_dimension run tp @s ~ ~ ~"));
}
- player.getServer().getCommandManager().handleCommand(player, "/execute in mcbbswiki:mcbbswiki_normal_dimension run tp @s ~ ~ ~"
可以不要开头的 /。
594524502 发表于 2020-12-27 13:45
PlayerEntity player;
if(player instanceof ServerPlayerEntity){
((ServerPlayerEntity) player).con ...
这个代码单人和多人都能运行吗?
QWERTY_52_38 发表于 2020-12-27 14:02
这个代码单人和多人都能运行吗?
可以的
可以可以可以可以!