介绍
描述
World Primer 可以在首次创建新世界时、每次加载世界时,或每次加载维度时自动运行一组命令。
配置
要运行的命令在以下配置选项中设置。它们也都可以通过游戏内配置菜单进行配置:
- dimensionLoadingCommands – 每次加载维度时要运行的命令
- earlyWorldCreationCommands – 在初始创建世界时运行的命令,此时出生点区块尚未生成或加载。如果启用了维度加载跟踪,那么这甚至会在任何维度被加载/初始化之前发生。
- earlyWorldLoadingCommands – 每次加载世界时(即服务器启动时)要运行的命令。这些命令在服务器启动时、任何世界被加载之前运行。
- postWorldCreationCommands – 在初始创建世界时运行的命令,此时出生点区块已经生成并加载。
- postWorldLoadingCommands – 每次加载世界时(即服务器启动时)要运行的命令。这些命令在服务器已启动且主世界出生点区块已加载后运行。
还有单独的配置选项可用于启用或禁用所有这些命令,这样如果你想临时禁用它们,就不必删除所有命令:
- enableDimensionLoadingCommands
- enableDimensionLoadTracking – 启用对维度加载次数以及服务器启动次数(即世界加载次数)的跟踪。
- enableEarlyWorldCreationCommands – 启用早期世界创建命令,这些命令在任何维度被加载之前执行,因此也在任何区块被生成或加载之前执行
- enableEarlyWorldLoadingCommands – 启用早期世界加载命令,这些命令在每次服务器启动时执行一次,且在任何维度被加载之前执行
- enablePostWorldCreationCommands – 启用晚期世界创建命令,这些命令在维度已加载且主世界出生点区块已生成后执行
- enablePostWorldLoadingCommands – 启用晚期世界加载命令,这些命令在每次服务器启动时执行一次,且在所有维度以及主世界出生点区块都已加载后执行。
除此之外,还有 enableDebugLogging 选项,它会打印来自各种事件的日志消息,因此很容易跟踪发生了什么以及何时发生。
维度加载命令
维度加载命令可以指定为仅在特定维度加载时运行,方法如下:
worldprimer-dim-command <dim id> <the actual command>。
例如:
worldprimer-dim-command 1 say The End dimension has loaded!
如果只给出命令而不带前缀,那么每次任何维度加载时都会运行该命令,例如:
say Some dimension has loaded!
从 0.3.0 版本开始,现在还提供了另一种维度加载命令变体,可以在特定次数的维度加载时运行命令,或在给定值的任意倍数时运行。
注意:此变体需要启用选项 enableDimensionLoadTracking!
其语法为:
worldprimer-dim-command-nth <dim id> <load count> <the actual command>
因此,若只想在下界第一次加载时运行命令,可以使用:
worldprimer-dim-command-nth -1 1 say The Nether has loaded for the first time!
或者在末地第 6 次加载时:
worldprimer-dim-command-nth 1 6 say The End has loaded for the sixth time!
要在给定值的任意倍数时运行命令,请在值前加上“%”:
worldprimer-dim-command-nth 1 %5 say The End has loaded a multiple of 5 times!
从 0.4.0 版本开始,还支持将维度 id 或当前世界出生点坐标替换到命令中。
替换字符串为:{DIMENSION}、{SPAWNX}、{SPAWNY} 和 {SPAWNZ}。它们还支持对常量数值进行简单的加法和减法。
例如,现在你可以在 postWorldCreationCommands 中这样做,让玩家出生在地下 5x5x3 的房间里:
gameRule spawnRadius 0(这将出生点模糊范围设为 0,因此玩家会精确生成在那个小房间的中心,而不是在该点周围地表随机某处)
setworldspawn {SPAWNX} 7 {SPAWNZ}(将世界出生点下移到 y = 7)
fill {SPAWNX}-2 7 {SPAWNZ}-2 {SPAWNX}+2 9 {SPAWNZ}+2 minecraft:air(在地下挖出一个 5x5x3 的空气房间,或替换该位置原本的任何方块)
内置命令
从版本 0.5.0 开始,新增了一个内置命令:
worldprimer-load-chunks <chunkXMin> <chunkZMin> <chunkXMax> <chunkZMax>。
它可用于加载一定范围的区块,以便其他一些命令能够实际生效。例如,原版的 /fill 命令只能在已加载的区块中工作,因此可以用它在执行 fill 命令之前加载区块。这些区块会立即被排队卸载,因此它们甚至不会保持加载到下一次世界保存(每 45 秒一次),而是会在下一个游戏刻卸载。
坐标是区块坐标(即方块坐标除以 16)。范围是包含端点的,即从最小值一直到最大值(含最大值)。
请注意,这并不是一个真正注册的命令,因此无法通过聊天栏/服务器控制台使用,而只会在配置的命令中找到时于内部使用。
下面是一个示例,展示如何在末地维度首次加载时在 0,0 处建造一个基岩盒子。这些将作为 dimensionLoadingCommands 添加:
worldprimer-dim-command-nth 1 1 worldprimer-load-chunks -1 -1 0 0
worldprimer-dim-command-nth 1 1 fill 10 0 10 -10 7 -10 minecraft:bedrock
worldprimer-dim-command-nth 1 1 fill 9 1 9 -9 6 -9 minecraft:air
worldprimer-dim-command-nth 1 1 say Finished building your box!
命令:/worldprimer spread-player
此命令从版本 0.6.0-dev.20190814.220944 开始存在。
以下是可用选项的说明,以及该命令的工作方式:
如果给定了网格选项及其网格大小,则使用网格模式。
否则使用随机位置模式。
选项:
- –find-surface=<true | false> – 如果为 true,则将 y 位置设置为所找到的 x/z 位置上的顶部固体方块。
- –grid=<integer> – 如果给定,则使用向外螺旋的网格搜索模式,而不是随机位置。
- –max-radius=<integer> – 距 [0, 0] 的最大距离(按每个轴计算,而非绝对距离)。
- –min-separation=<integer> – 与之前玩家分散位置以及同一维度中任何当前在线玩家的最小距离。
- –new – 如果给定,那么当对之前已分散过的玩家再次运行该命令时,会生成一个新位置,而不是将其传送
- 回原来的分散位置。
- –y=<integer> – 如果给定,则使用此固定的 y 高度。
- –y-offset=<integer> – 如果给定,并且 –find-surface=true,则将此偏移值加到表面 y 位置上。
- 这允许将位置偏移到例如地下一定距离处。
- –y-max=<integer> – 限制 –find-surface=true 情况下的(可能已偏移的)y 位置。
- –y-min=<integer> – 限制 –find-surface=true 情况下的(可能已偏移的)y 位置。
如果你有想法、问题或反馈,或者只是想一起交流,可以加入我们的 Discord:
常见问题
World Primer 支持哪些 Minecraft 版本?
World Primer 支持 Minecraft Java 版 1.7.10–1.12.2,共 9 个版本,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。
World Primer 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
masady 的其他作品
查看全部 →Ender Utilities
各种实用物品和方块,其中许多与物品栏或存储有关。
Litematica (Forge)
Forge port of the Litematica mod
MaLiLib (Forge)
Forge port of the MaLiLib mod
Autoverse
Items control everything

评论
登录后评论和评分