/pspace 命令

基本信息

属性 值
类 me.eigenraven.personalspace.PersonalSpaceCommand extends CommandBase
命令名 pspace
权限等级 2(OP)
注册事件 FMLServerStartingEvent
注册语句 event.registerServerCommand(new PersonalSpaceCommand())

行为

processCommand 按 args[0] 分发子命令:

pspace ls

列出所有已注册的 PersonalSpace 维度:

<dimId>: <saveDirName>

数据源:CommonProxy.getDimensionConfigObjects(false).forEachEntry(...)。

pspace where <player>

输出 commands.pspace.where,参数为 sender 名 + 玩家当前所在维度 ID。

pspace tpx <player> <dimId> [x y z]

  • 检查 DimensionManager.isDimensionRegistered(dimId),否则抛 commands.pspace.badDimension。
  • 自动 DimensionManager.initDimension(dim)(如果该 dim 尚未实例化)。
  • 目标坐标 = 该维度的 spawn point 上方 1 格,可选 6 参数(x y z,相对调用者位置)。
  • PersonalTeleporter(world, x, y, z) 强制放置。
  • transferPlayerToDimension(player, dim, tp)。
  • 输出 commands.pspace.tpx 给调用者。

pspace give-portal <player> <dimId> [x y z]

  • 验证维度注册(同上)。
  • 构造 ItemStack(BLOCK_PORTAL, 1, 0),写入 NBT:active=true, target=[dim,x,y,z]。
  • player.dropPlayerItemWithRandomChoice(stack, false) 投放给玩家,并把 delayBeforeCanPickup=0、func_145797_a(senderName)。

pspace allow-worldgen-change <dimId>

  • DimensionConfig.getForDimension(dimId, false),若 null → 抛 commands.pspace.badDimension。
  • cfg.setAllowGenerationChanges(true) — 设置下一次 GUI 操作可改 generatingTrees/generatingVegetation/boundary/gap/center。
  • Packets.INSTANCE.sendWorldList().sendToClients() — 同步客户端。

pspace reload-config

  • 从 Config.getSavedConfigFile() 重新加载配置。
  • Config.validateBlocks() 重新校验。
  • Packets.INSTANCE.sendWorldList().sendToClients() 广播。

其它

  • 无参 / 未知子命令 → 抛 WrongUsageException("commands.pspace.usage")。

数值

参数 默认值
权限等级 2(OP)
玩家名索引位置 args[1](isUsernameIndex)

相关条目