Files
netease-modsdk-wiki/docs/wiki/commands/relative-coordinates.md
2025-03-20 11:52:46 +08:00

2.6 KiB
Raw Permalink Blame History

title, category, mentions
title category mentions
坐标系系统 基础
MedicalJewel105
Sprunkles137
7dev7urandom
Hatchibombotar
TheItsNameless

坐标系系统

坐标系基础

Minecraft使用三维坐标系来存储世界中方块和实体的位置每个坐标代表一维轴上的数值。坐标以X、Y、Z的顺序存储。无论是放置结构方块还是传送/召唤实体,你都可以(有时必须)使用坐标值。不过坐标不限于绝对数值,你可以使用相对坐标系——既可以选择基于世界空间的相对坐标,也可以选择基于局部空间的本地坐标。

坐标系示意图

如果你启用了"显示坐标"世界选项,可能已经对坐标系统有所了解!

相对坐标 (~)

相对坐标使用波浪符号~代替具体数值,表示相对于当前所处世界坐标的位置。在波浪符后添加数字可以指定偏移量。相对坐标可与世界坐标混合使用,但不能与局部坐标混用。

示例:

  • ~ ~ ~: 保持当前位置不变
  • ~5 ~-2 ~: 当前位置X轴正方向偏移5格Y轴负方向偏移2格

旋转角度中的应用

相对坐标也可用于表示旋转角度,这时表示相对于当前继承的旋转角度。同样可以在波浪符后添加数字来指定偏移量。

示例:~90 ~ 表示在当前偏航角Y轴旋转基础上增加90度

局部坐标 (^)

局部坐标与相对坐标类似,但表示基于实体朝向的局部空间坐标,采用^左 ^上 ^前的格式。当实体偏航角和俯仰角均为0面朝正南平视可以将其理解为~x ~y ~z坐标系。

与相对坐标类似可以添加数字来指定局部空间中的偏移量。如果没有可供参考旋转角度的实体则默认X/Y旋转角度为0。

示例:

  • ^10 ^ ^: 当前位置左侧偏移10格
  • ^ ^1.5 ^1: 当前位置上方偏移1.5格前方偏移1格

注意事项

  • 玩家眼部高度位于脚部上方1.62格处(对应相对坐标~ ~1.62 ~

::: code-group

// 此处保持代码原样,仅翻译注释
// 玩家传送指令示例
{
    "command": "tp @s ~ ~5 ~", // 将玩家垂直提升5格
    "comment": "使用相对坐标进行垂直传送"
}

:::

注意:本地坐标(^)系统在实体具有复杂旋转角度时会产生非直观的位移效果,建议在建筑类命令中使用世界相对坐标(~)系统,在实体局部操作时使用本地坐标系。