Go:玩家¶
函数¶
PlayerByName¶
| Go | |
|---|---|
这个名字的玩家。关于权限、金钱或归属的判断要用 PlayerByXuid:名字会换主人。
- 参数:
- name :
string
- name :
- 返回值类型:
Player
PlayerByXuid¶
| Go | |
|---|---|
这个 xuid 的玩家。
- 参数:
- xuid :
string
- xuid :
- 返回值类型:
Player
PlayerByUuid¶
| Go | |
|---|---|
这个 uuid 的玩家。
- 参数:
- uuid :
string
- uuid :
- 返回值类型:
Player
Broadcast¶
| Go | |
|---|---|
给每个在线玩家发送一条消息。
- 参数:
- msg :
string
- msg :
- 返回值类型:
error - 对应槽位:
broadcast_message
ListPlayers¶
| Go | |
|---|---|
列出在线玩家。解析不了的条目会被跳过,并记一条警告,所以一条坏数据不会让「谁在线」变得答不上来。
- 返回值类型:
([]PlayerInfo, error) - 对应槽位:
list_players、log
ByName¶
| Go | |
|---|---|
按名字选择一名玩家。
- 参数:
- name :
string
- name :
- 返回值类型:
PlayerSel
ByXuid¶
| Go | |
|---|---|
按 xuid 选择一名玩家。
- 参数:
- xuid :
string
- xuid :
- 返回值类型:
PlayerSel
ByUuid¶
| Go | |
|---|---|
按 uuid 选择一名玩家。
- 参数:
- uuid :
string
- uuid :
- 返回值类型:
PlayerSel
Player¶
一名玩家,由选择器指定。它的大部分方法由 abi.h 的常量表生成,每个属性和动作一个;其余是手写的方法。
Player.Resolve¶
| Go | |
|---|---|
这名玩家对应的实体。返回错误表示没有人和选择器对得上。
- 返回值类型:
(Entity, error) - 对应槽位:
player_resolve
Player.IsOnline¶
| Go | |
|---|---|
判断选择器是否对得上一名在线玩家。每个 ABI v2 宿主都有它用到的那个槽位,所以 false 就表示没有人对得上。
- 返回值类型:
bool - 对应槽位:
player_resolve
Player.SendMessage¶
| Go | |
|---|---|
给这名玩家发送一行聊天消息。
- 参数:
- msg :
string
- msg :
- 返回值类型:
error - 对应槽位:
player_send_message
Player.SendMessageTyped¶
| Go | |
|---|---|
给这名玩家发送一条指定 TextPacket 类型的消息。
- 参数:
- msg :
string - kind :
int32
- msg :
- 返回值类型:
error - 对应槽位:
player_send_message_typed
Player.SendTitle¶
| Go | |
|---|---|
显示一个标题:slot 为 0 是主标题,1 是副标题,2 是动作栏;时间的单位是刻。
- 参数:
- slot :
int32 - text :
string - fadeIn :
int32 - stay :
int32 - fadeOut :
int32
- slot :
- 返回值类型:
error - 对应槽位:
player_send_title
Player.Disconnect¶
| Go | |
|---|---|
带着原因把这名玩家从服务器上移除。
- 参数:
- reason :
string
- reason :
- 返回值类型:
error - 对应槽位:
player_disconnect
Player.SetGameType¶
| Go | |
|---|---|
设置这名玩家的游戏模式,也就是 GameType 读到的那个值。
- 参数:
- mode :
int32
- mode :
- 返回值类型:
error - 对应槽位:
player_set_gamemode
Player.Teleport¶
| Go | |
|---|---|
把这名玩家移到任何已注册维度里的一个位置。
- 参数:
- dim :
int32 - x :
float64 - y :
float64 - z :
float64
- dim :
- 返回值类型:
error - 对应槽位:
player_teleport
Player.CarriedItem¶
| Go | |
|---|---|
这名玩家手里拿着的物品。
- 返回值类型:
(Item, error) - 对应槽位:
player_get_carried_item
Player.InventoryItem¶
| Go | |
|---|---|
物品栏某一格里的物品。
- 参数:
- slot :
int32
- slot :
- 返回值类型:
(Item, error) - 对应槽位:
player_get_item
Player.SetInventoryItem¶
| Go | |
|---|---|
把一个物品放进物品栏的某一格。
- 参数:
- slot :
int32 - item :
Item
- slot :
- 返回值类型:
error - 对应槽位:
player_set_item
Player.ConnID¶
| Go | |
|---|---|
这名玩家的网络连接 id。
- 返回值类型:
(uint64, error) - 对应槽位:
player_conn_id
Player.Inventory¶
| Go | |
|---|---|
把这名玩家的物品栏当作容器。
- 返回值类型:
Container
Player.EnderChest¶
| Go | |
|---|---|
把这名玩家的末影箱当作容器。
- 返回值类型:
Container
Player.Armor¶
| Go | |
|---|---|
把这名玩家的盔甲栏当作容器。
- 返回值类型:
Container
Player.Offhand¶
| Go | |
|---|---|
把这名玩家的副手栏当作容器。
- 返回值类型:
Container
Player.GameType¶
| Go | |
|---|---|
读取 PIER_PPROP_GAME_TYPE:(G) Player::getPlayerGameType;写入用 player_set_gamemode
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.Level¶
| Go | |
|---|---|
读取 PIER_PPROP_LEVEL:(S) 属性 Player::LEVEL()
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.SetLevel¶
| Go | |
|---|---|
写入 PIER_PPROP_LEVEL:(S) 属性 Player::LEVEL()
- 参数:
- v :
float64
- v :
- 返回值类型:
error - 对应槽位:
player_set_num
Player.Experience¶
| Go | |
|---|---|
读取 PIER_PPROP_EXPERIENCE:(S) 属性 Player::EXPERIENCE()(经验条进度,0 到 1)
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.SetExperience¶
| Go | |
|---|---|
写入 PIER_PPROP_EXPERIENCE:(S) 属性 Player::EXPERIENCE()(经验条进度,0 到 1)
- 参数:
- v :
float64
- v :
- 返回值类型:
error - 对应槽位:
player_set_num
Player.Hunger¶
| Go | |
|---|---|
读取 PIER_PPROP_HUNGER:(S) 属性 Player::HUNGER()
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.SetHunger¶
| Go | |
|---|---|
写入 PIER_PPROP_HUNGER:(S) 属性 Player::HUNGER()
- 参数:
- v :
float64
- v :
- 返回值类型:
error - 对应槽位:
player_set_num
Player.Saturation¶
| Go | |
|---|---|
读取 PIER_PPROP_SATURATION:(S) 属性 Player::SATURATION()
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.SetSaturation¶
| Go | |
|---|---|
写入 PIER_PPROP_SATURATION:(S) 属性 Player::SATURATION()
- 参数:
- v :
float64
- v :
- 返回值类型:
error - 对应槽位:
player_set_num
Player.Exhaustion¶
| Go | |
|---|---|
读取 PIER_PPROP_EXHAUSTION:(S) 属性 Player::EXHAUSTION()
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.SetExhaustion¶
| Go | |
|---|---|
写入 PIER_PPROP_EXHAUSTION:(S) 属性 Player::EXHAUSTION()
- 参数:
- v :
float64
- v :
- 返回值类型:
error - 对应槽位:
player_set_num
Player.XpNeededNextLevel¶
| Go | |
|---|---|
读取 PIER_PPROP_XP_NEEDED_NEXT_LEVEL:(G) Player::getXpNeededForNextLevel
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.Luck¶
| Go | |
|---|---|
读取 PIER_PPROP_LUCK:(G) Player::getLuck
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.SelectedSlot¶
| Go | |
|---|---|
读取 PIER_PPROP_SELECTED_SLOT:(G) Player::getSelectedItemSlot;设置用 PIER_PACT_SET_SELECTED_SLOT
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.IsOperator¶
| Go | |
|---|---|
读取 PIER_PPROP_IS_OPERATOR:(G) Player::isOperator
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.CanUseOperatorBlocks¶
| Go | |
|---|---|
读取 PIER_PPROP_CAN_USE_OPERATOR_BLOCKS:(G) Player::canUseOperatorBlocks
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.IsFlying¶
| Go | |
|---|---|
读取 PIER_PPROP_IS_FLYING:(G) Player::isFlying
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.CanJump¶
| Go | |
|---|---|
读取 PIER_PPROP_CAN_JUMP:(G) Player::canJump
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.IsEmoting¶
| Go | |
|---|---|
读取 PIER_PPROP_IS_EMOTING:(G) Player::isEmoting
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.IsInRaid¶
| Go | |
|---|---|
读取 PIER_PPROP_IS_IN_RAID:(G) Player::isInRaid
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.IsHurt¶
| Go | |
|---|---|
读取 PIER_PPROP_IS_HURT:(G) Player::isHurt
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.IsScoping¶
| Go | |
|---|---|
读取 PIER_PPROP_IS_SCOPING:(G) Player::isScoping
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.CanSleep¶
| Go | |
|---|---|
读取 PIER_PPROP_CAN_SLEEP:(G) Player::canSleep
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.HasRespawnPosition¶
| Go | |
|---|---|
读取 PIER_PPROP_HAS_RESPAWN_POSITION:(G) Player::hasRespawnPosition
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.ClientSubId¶
| Go | |
|---|---|
读取 PIER_PPROP_CLIENT_SUB_ID:(G) Player::getClientSubId
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.CanUseAbility¶
| Go | |
|---|---|
读取 PIER_PPROP_CAN_USE_ABILITY:(G) Player::canUseAbility;能力编号要经 player_action 的读取路径传入,见 PIER_PACT_CAN_USE_ABILITY
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.Direction¶
| Go | |
|---|---|
读取 PIER_PPROP_DIRECTION:(G) Player::getDirection(0=南,1=西,2=北,3=东)
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.ChunkRadius¶
| Go | |
|---|---|
读取 PIER_PPROP_CHUNK_RADIUS:(G) Player::getChunkRadius
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.NetworkRtt¶
| Go | |
|---|---|
读取 PIER_PPROP_NETWORK_RTT:(G) getNetworkStatus().mPing(毫秒)
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.Platform¶
| Go | |
|---|---|
读取 PIER_PPROP_PLATFORM:(G) Player::getPlatform
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.EnchantmentSeed¶
| Go | |
|---|---|
读取 PIER_PPROP_ENCHANTMENT_SEED:(G) Player::getEnchantmentSeed
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.IsUsingItem¶
| Go | |
|---|---|
读取 PIER_PPROP_IS_USING_ITEM:(G) Player::isUsingItem
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.IsBlocking¶
| Go | |
|---|---|
读取 PIER_PPROP_IS_BLOCKING:(G) Player::isBlocking
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.IsGliding¶
| Go | |
|---|---|
读取 PIER_PPROP_IS_GLIDING:(G) Player::isGliding
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.IsSwimming¶
| Go | |
|---|---|
读取 PIER_PPROP_IS_SWIMMING:(G) Player::isSwimming
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.PermissionLevel¶
| Go | |
|---|---|
读取 PIER_PPROP_PERMISSION_LEVEL:(G) Player::getPlayerPermissionLevel
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.Score¶
| Go | |
|---|---|
读取 PIER_PPROP_SCORE:(G) Player::getScore
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.FallDistance¶
| Go | |
|---|---|
读取 PIER_PPROP_FALL_DISTANCE:(G) Actor::getFallDistance
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.IsDead¶
| Go | |
|---|---|
读取 PIER_PPROP_IS_DEAD:(G) Actor::isDead
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.HasDiedBefore¶
| Go | |
|---|---|
读取 PIER_PPROP_HAS_DIED_BEFORE:(G) Player::hasDiedBefore
- 返回值类型:
(bool, error) - 对应槽位:
player_get_num
Player.Dimension¶
| Go | |
|---|---|
读取 PIER_PPROP_DIMENSION:(G) Actor::getDimensionId
- 返回值类型:
(float64, error) - 对应槽位:
player_get_num
Player.RealName¶
| Go | |
|---|---|
读取 PIER_PSTR_REAL_NAME:取自 Player::getRealName
- 返回值类型:
(string, error) - 对应槽位:
player_get_str
Player.Uuid¶
| Go | |
|---|---|
读取 PIER_PSTR_UUID:取自 Player::getUuid().asString()
- 返回值类型:
(string, error) - 对应槽位:
player_get_str
Player.Xuid¶
| Go | |
|---|---|
读取 PIER_PSTR_XUID:取自 Player::getXuid
- 返回值类型:
(string, error) - 对应槽位:
player_get_str
Player.IpAndPort¶
| Go | |
|---|---|
读取 PIER_PSTR_IP_AND_PORT:取自 Player::getIPAndPort
- 返回值类型:
(string, error) - 对应槽位:
player_get_str
Player.LocaleCode¶
| Go | |
|---|---|
读取 PIER_PSTR_LOCALE_CODE:取自 Player::getLocaleCode
- 返回值类型:
(string, error) - 对应槽位:
player_get_str
Player.NameTag¶
| Go | |
|---|---|
读取 PIER_PSTR_NAME_TAG:取自 Actor::getNameTag(显示名)
- 返回值类型:
(string, error) - 对应槽位:
player_get_str
Player.LastDeathPos¶
| Go | |
|---|---|
读取 PIER_PSTR_LAST_DEATH_POS:SNBT {x,y,z};没有时为 ""
- 返回值类型:
(string, error) - 对应槽位:
player_get_str
Player.LastDeathDimension¶
| Go | |
|---|---|
读取 PIER_PSTR_LAST_DEATH_DIMENSION:维度 id,以字符串表示
- 返回值类型:
(string, error) - 对应槽位:
player_get_str
Player.NetworkStatus¶
| Go | |
|---|---|
读取 PIER_PSTR_NETWORK_STATUS:SNBT {ping,avg_ping,packet_loss,max_ping}
- 返回值类型:
(string, error) - 对应槽位:
player_get_str
Player.PlatformOnlineId¶
| Go | |
|---|---|
读取 PIER_PSTR_PLATFORM_ONLINE_ID:取自 Player::getPlatformOnlineId
- 返回值类型:
(string, error) - 对应槽位:
player_get_str
Player.RespawnPos¶
| Go | |
|---|---|
读取 PIER_PSTR_RESPAWN_POS:SNBT {x,y,z,dim}:这名玩家会在哪里重生。不会为空:没有床的玩家报告的是世界出生点,这两种情况区分不开。
- 返回值类型:
(string, error) - 对应槽位:
player_get_str
Player.SetAbility¶
| Go | |
|---|---|
执行 PIER_PACT_SET_ABILITY:a 为 AbilitiesIndex,b 为 0 或 1(布尔类的能力)或者浮点数(FlySpeed 等)。写完以后会把 PlayerPermissionLevel 恢复成写之前的值:引擎的 LayeredAbilities::setAbility 走的是「切换到自定义权限」那条路,会把玩家推到 Custom,而这个等级会和能力层一起放进 UpdateAbilitiesPacket 发给客户端。要改权限等级,用 PIER_PACT_SET_PERMISSION_LEVEL。玩家加入完成之前(Player::isPlayerInitialized)调用会被拒绝,返回 false:客户端还在加载时写入的能力会一直不同步,直到玩家重新进入。模拟玩家不受这个限制。
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.CanUseAbilityAction¶
| Go | |
|---|---|
执行 PIER_PACT_CAN_USE_ABILITY:a 为 AbilitiesIndex,输出 "0" 或 "1",调用 Player::canUseAbility
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.SetSelectedSlot¶
| Go | |
|---|---|
执行 PIER_PACT_SET_SELECTED_SLOT:a 为槽位,调用 Player::setSelectedSlot
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.GiveItem¶
| Go | |
|---|---|
执行 PIER_PACT_GIVE_ITEM:sarg 为物品 SNBT,经 ItemStack::fromTag 和 Player::addAndRefresh 给出
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.SetSpawnPoint¶
| Go | |
|---|---|
执行 PIER_PACT_SET_SPAWN_POINT:a、b、c 为坐标,sarg 为维度 id(任何已注册的维度都可以);原生调用 Player::setRespawnPosition
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.ClearTitle¶
| Go | |
|---|---|
执行 PIER_PACT_CLEAR_TITLE:原生发送 SetTitlePacket(Clear)
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.SetTitle¶
| Go | |
|---|---|
执行 PIER_PACT_SET_TITLE:sarg 为文本,a 为位置(0 主标题,1 副标题,2 动作栏);原生发送 SetTitlePacket,文本原样发送
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.AddExperience¶
| Go | |
|---|---|
执行 PIER_PACT_ADD_EXPERIENCE:a 为经验值,调用 Player::addExperience
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.AddLevels¶
| Go | |
|---|---|
执行 PIER_PACT_ADD_LEVELS:a 为等级数,调用 Player::addLevels
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.StartCooldown¶
| Go | |
|---|---|
执行 PIER_PACT_START_COOLDOWN:sarg 为物品名,a 为刻数,调用 Player::startItemCooldown
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.StartRiding¶
| Go | |
|---|---|
执行 PIER_PACT_START_RIDING:a 为坐骑的 ActorUniqueID(低 64 位),调用 Player::startRiding
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.StopRiding¶
| Go | |
|---|---|
执行 PIER_PACT_STOP_RIDING:调用 Player::stopRiding
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.Attack¶
| Go | |
|---|---|
执行 PIER_PACT_ATTACK:a 为目标的 ActorUniqueID(低 64 位),调用 Player::attack
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.Drop¶
| Go | |
|---|---|
执行 PIER_PACT_DROP:sarg 为物品 SNBT,a 为是否随机抛出(0 或 1),调用 Player::drop
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.Interact¶
| Go | |
|---|---|
执行 PIER_PACT_INTERACT:a 为目标的 ActorUniqueID,调用 Player::interact
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.StartUsingItem¶
| Go | |
|---|---|
执行 PIER_PACT_START_USING_ITEM:sarg 为物品 SNBT,a 为持续时间,调用 Player::startUsingItem
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.StopUsingItem¶
| Go | |
|---|---|
执行 PIER_PACT_STOP_USING_ITEM:调用 Player::stopUsingItem
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.SetChunkRadius¶
| Go | |
|---|---|
执行 PIER_PACT_SET_CHUNK_RADIUS:a 为半径,调用 Player::setChunkRadius
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.SetEnchantmentSeed¶
| Go | |
|---|---|
执行 PIER_PACT_SET_ENCHANTMENT_SEED:a 为种子,调用 Player::setEnchantmentSeed
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.RegisterTrackedBoss¶
| Go | |
|---|---|
执行 PIER_PACT_REGISTER_TRACKED_BOSS:a 为 Boss 的 ActorUniqueID,调用 Player::registerTrackedBoss
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.UnregisterTrackedBoss¶
| Go | |
|---|---|
执行 PIER_PACT_UNREGISTER_TRACKED_BOSS:a 为 Boss 的 ActorUniqueID,调用 Player::unRegisterTrackedBoss
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.PlayEmote¶
| Go | |
|---|---|
执行 PIER_PACT_PLAY_EMOTE:sarg 为表情的 id,调用 Player::playEmote
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.ResendAllChunks¶
| Go | |
|---|---|
执行 PIER_PACT_RESEND_ALL_CHUNKS:调用 Player::resendAllChunks
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.OpenInventory¶
| Go | |
|---|---|
执行 PIER_PACT_OPEN_INVENTORY:调用 Player::openInventory
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.SidebarSet¶
| Go | |
|---|---|
执行 PIER_PACT_SIDEBAR_SET:sarg 为 "obj\ntitle\nline…",只对这名玩家显示的侧边栏
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.SidebarClear¶
| Go | |
|---|---|
执行 PIER_PACT_SIDEBAR_CLEAR:sarg 为计分项,发送 RemoveObjectivePacket
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
Player.SetPermissionLevel¶
| Go | |
|---|---|
执行 PIER_PACT_SET_PERMISSION_LEVEL:a 为 PlayerPermissionLevel(0 Visitor,1 Member,2 Operator,3 Custom)。调用 LayeredAbilities::setPlayerPermissions 并发送 UpdateAbilitiesPacket。读取一侧是 PIER_PPROP_PERMISSION_LEVEL。和 PIER_PACT_SET_ABILITY 一样,玩家加入完成之前调用会被拒绝。
这个动作有输出时,输出就是返回值;每个参数的含义写在 abi.h 里这个常量的注释中。
- 参数:
- sarg :
string - a :
float64 - b :
float64 - c :
float64
- sarg :
- 返回值类型:
(string, error) - 对应槽位:
player_action
PlayerInfo¶
| Go | |
|---|---|
ListPlayers 报告的一名在线玩家。Dim 和位置只在有的时候才读取,HasDim 和 HasPos 说明它们有没有。
SelKind¶
| Go | |
|---|---|
说明 PlayerSel 用什么来指定玩家。
| 名称 | 值 | 说明 |
|---|---|---|
SelName |
0 |
|
SelXuid |
1 |
|
SelUuid |
2 |
PlayerSel¶
按名字、xuid 或 uuid 指定一名玩家。
PlayerPos¶
一名玩家所在的位置;没有人对得上时 Found 为 false。
PProp*¶
| 名称 | 值 | 说明 |
|---|---|---|
PPropGameType |
0 |
即 PIER_PPROP_GAME_TYPE:(G) Player::getPlayerGameType;写入用 player_set_gamemode |
PPropLevel |
1 |
即 PIER_PPROP_LEVEL:(S) 属性 Player::LEVEL() |
PPropExperience |
2 |
即 PIER_PPROP_EXPERIENCE:(S) 属性 Player::EXPERIENCE()(经验条进度,0 到 1) |
PPropHunger |
3 |
即 PIER_PPROP_HUNGER:(S) 属性 Player::HUNGER() |
PPropSaturation |
4 |
即 PIER_PPROP_SATURATION:(S) 属性 Player::SATURATION() |
PPropExhaustion |
5 |
即 PIER_PPROP_EXHAUSTION:(S) 属性 Player::EXHAUSTION() |
PPropXpNeededNextLevel |
6 |
即 PIER_PPROP_XP_NEEDED_NEXT_LEVEL:(G) Player::getXpNeededForNextLevel |
PPropLuck |
7 |
即 PIER_PPROP_LUCK:(G) Player::getLuck |
PPropSelectedSlot |
8 |
即 PIER_PPROP_SELECTED_SLOT:(G) Player::getSelectedItemSlot;设置用 PIER_PACT_SET_SELECTED_SLOT |
PPropIsOperator |
9 |
即 PIER_PPROP_IS_OPERATOR:(G) Player::isOperator |
PPropCanUseOperatorBlocks |
10 |
即 PIER_PPROP_CAN_USE_OPERATOR_BLOCKS:(G) Player::canUseOperatorBlocks |
PPropIsFlying |
11 |
即 PIER_PPROP_IS_FLYING:(G) Player::isFlying |
PPropCanJump |
12 |
即 PIER_PPROP_CAN_JUMP:(G) Player::canJump |
PPropIsEmoting |
13 |
即 PIER_PPROP_IS_EMOTING:(G) Player::isEmoting |
PPropIsInRaid |
14 |
即 PIER_PPROP_IS_IN_RAID:(G) Player::isInRaid |
PPropIsHurt |
15 |
即 PIER_PPROP_IS_HURT:(G) Player::isHurt |
PPropIsScoping |
16 |
即 PIER_PPROP_IS_SCOPING:(G) Player::isScoping |
PPropCanSleep |
17 |
即 PIER_PPROP_CAN_SLEEP:(G) Player::canSleep |
PPropHasRespawnPosition |
18 |
即 PIER_PPROP_HAS_RESPAWN_POSITION:(G) Player::hasRespawnPosition |
PPropClientSubId |
19 |
即 PIER_PPROP_CLIENT_SUB_ID:(G) Player::getClientSubId |
PPropCanUseAbility |
20 |
即 PIER_PPROP_CAN_USE_ABILITY:(G) Player::canUseAbility;能力编号要经 player_action 的读取路径传入,见 PIER_PACT_CAN_USE_ABILITY |
PPropDirection |
21 |
即 PIER_PPROP_DIRECTION:(G) Player::getDirection(0=南,1=西,2=北,3=东) |
PPropChunkRadius |
22 |
即 PIER_PPROP_CHUNK_RADIUS:(G) Player::getChunkRadius |
PPropNetworkRtt |
23 |
即 PIER_PPROP_NETWORK_RTT:(G) getNetworkStatus().mPing(毫秒) |
PPropPlatform |
24 |
即 PIER_PPROP_PLATFORM:(G) Player::getPlatform |
PPropEnchantmentSeed |
25 |
即 PIER_PPROP_ENCHANTMENT_SEED:(G) Player::getEnchantmentSeed |
PPropIsUsingItem |
26 |
即 PIER_PPROP_IS_USING_ITEM:(G) Player::isUsingItem |
PPropIsBlocking |
27 |
即 PIER_PPROP_IS_BLOCKING:(G) Player::isBlocking |
PPropIsGliding |
28 |
即 PIER_PPROP_IS_GLIDING:(G) Player::isGliding |
PPropIsSwimming |
29 |
即 PIER_PPROP_IS_SWIMMING:(G) Player::isSwimming |
PPropPermissionLevel |
30 |
即 PIER_PPROP_PERMISSION_LEVEL:(G) Player::getPlayerPermissionLevel |
PPropScore |
31 |
即 PIER_PPROP_SCORE:(G) Player::getScore |
PPropFallDistance |
32 |
即 PIER_PPROP_FALL_DISTANCE:(G) Actor::getFallDistance |
PPropIsDead |
33 |
即 PIER_PPROP_IS_DEAD:(G) Actor::isDead |
PPropHasDiedBefore |
34 |
即 PIER_PPROP_HAS_DIED_BEFORE:(G) Player::hasDiedBefore |
PPropDimension |
35 |
即 PIER_PPROP_DIMENSION:(G) Actor::getDimensionId |
PStr*¶
| 名称 | 值 | 说明 |
|---|---|---|
PStrRealName |
0 |
即 PIER_PSTR_REAL_NAME:取自 Player::getRealName |
PStrUuid |
1 |
即 PIER_PSTR_UUID:取自 Player::getUuid().asString() |
PStrXuid |
2 |
即 PIER_PSTR_XUID:取自 Player::getXuid |
PStrIpAndPort |
3 |
即 PIER_PSTR_IP_AND_PORT:取自 Player::getIPAndPort |
PStrLocaleCode |
4 |
即 PIER_PSTR_LOCALE_CODE:取自 Player::getLocaleCode |
PStrNameTag |
5 |
即 PIER_PSTR_NAME_TAG:取自 Actor::getNameTag(显示名) |
PStrLastDeathPos |
6 |
即 PIER_PSTR_LAST_DEATH_POS:SNBT {x,y,z};没有时为 "" |
PStrLastDeathDimension |
7 |
即 PIER_PSTR_LAST_DEATH_DIMENSION:维度 id,以字符串表示 |
PStrNetworkStatus |
8 |
即 PIER_PSTR_NETWORK_STATUS:SNBT {ping,avg_ping,packet_loss,max_ping} |
PStrPlatformOnlineId |
9 |
即 PIER_PSTR_PLATFORM_ONLINE_ID:取自 Player::getPlatformOnlineId |
PStrRespawnPos |
10 |
即 PIER_PSTR_RESPAWN_POS:SNBT {x,y,z,dim}:这名玩家会在哪里重生。不会为空:没有床的玩家报告的是世界出生点,这两种情况区分不开。 |
PAct*¶
| 名称 | 值 | 说明 |
|---|---|---|
PActSetAbility |
0 |
即 PIER_PACT_SET_ABILITY:a 为 AbilitiesIndex,b 为 0 或 1(布尔类的能力)或者浮点数(FlySpeed 等)。写完以后会把 PlayerPermissionLevel 恢复成写之前的值:引擎的 LayeredAbilities::setAbility 走的是「切换到自定义权限」那条路,会把玩家推到 Custom,而这个等级会和能力层一起放进 UpdateAbilitiesPacket 发给客户端。要改权限等级,用 PIER_PACT_SET_PERMISSION_LEVEL。玩家加入完成之前(Player::isPlayerInitialized)调用会被拒绝,返回 false:客户端还在加载时写入的能力会一直不同步,直到玩家重新进入。模拟玩家不受这个限制。 |
PActCanUseAbility |
1 |
即 PIER_PACT_CAN_USE_ABILITY:a 为 AbilitiesIndex,输出 "0" 或 "1",调用 Player::canUseAbility |
PActSetSelectedSlot |
2 |
即 PIER_PACT_SET_SELECTED_SLOT:a 为槽位,调用 Player::setSelectedSlot |
PActGiveItem |
3 |
即 PIER_PACT_GIVE_ITEM:sarg 为物品 SNBT,经 ItemStack::fromTag 和 Player::addAndRefresh 给出 |
PActSetSpawnPoint |
4 |
即 PIER_PACT_SET_SPAWN_POINT:a、b、c 为坐标,sarg 为维度 id(任何已注册的维度都可以);原生调用 Player::setRespawnPosition |
PActClearTitle |
5 |
即 PIER_PACT_CLEAR_TITLE:原生发送 SetTitlePacket(Clear) |
PActSetTitle |
6 |
即 PIER_PACT_SET_TITLE:sarg 为文本,a 为位置(0 主标题,1 副标题,2 动作栏);原生发送 SetTitlePacket,文本原样发送 |
PActAddExperience |
7 |
即 PIER_PACT_ADD_EXPERIENCE:a 为经验值,调用 Player::addExperience |
PActAddLevels |
8 |
即 PIER_PACT_ADD_LEVELS:a 为等级数,调用 Player::addLevels |
PActStartCooldown |
9 |
即 PIER_PACT_START_COOLDOWN:sarg 为物品名,a 为刻数,调用 Player::startItemCooldown |
PActStartRiding |
10 |
即 PIER_PACT_START_RIDING:a 为坐骑的 ActorUniqueID(低 64 位),调用 Player::startRiding |
PActStopRiding |
11 |
即 PIER_PACT_STOP_RIDING:调用 Player::stopRiding |
PActAttack |
12 |
即 PIER_PACT_ATTACK:a 为目标的 ActorUniqueID(低 64 位),调用 Player::attack |
PActDrop |
13 |
即 PIER_PACT_DROP:sarg 为物品 SNBT,a 为是否随机抛出(0 或 1),调用 Player::drop |
PActInteract |
14 |
即 PIER_PACT_INTERACT:a 为目标的 ActorUniqueID,调用 Player::interact |
PActStartUsingItem |
15 |
即 PIER_PACT_START_USING_ITEM:sarg 为物品 SNBT,a 为持续时间,调用 Player::startUsingItem |
PActStopUsingItem |
16 |
即 PIER_PACT_STOP_USING_ITEM:调用 Player::stopUsingItem |
PActSetChunkRadius |
17 |
即 PIER_PACT_SET_CHUNK_RADIUS:a 为半径,调用 Player::setChunkRadius |
PActSetEnchantmentSeed |
18 |
即 PIER_PACT_SET_ENCHANTMENT_SEED:a 为种子,调用 Player::setEnchantmentSeed |
PActRegisterTrackedBoss |
19 |
即 PIER_PACT_REGISTER_TRACKED_BOSS:a 为 Boss 的 ActorUniqueID,调用 Player::registerTrackedBoss |
PActUnregisterTrackedBoss |
20 |
即 PIER_PACT_UNREGISTER_TRACKED_BOSS:a 为 Boss 的 ActorUniqueID,调用 Player::unRegisterTrackedBoss |
PActPlayEmote |
21 |
即 PIER_PACT_PLAY_EMOTE:sarg 为表情的 id,调用 Player::playEmote |
PActResendAllChunks |
22 |
即 PIER_PACT_RESEND_ALL_CHUNKS:调用 Player::resendAllChunks |
PActOpenInventory |
23 |
即 PIER_PACT_OPEN_INVENTORY:调用 Player::openInventory |
PActSidebarSet |
24 |
即 PIER_PACT_SIDEBAR_SET:sarg 为 "obj\ntitle\nline…",只对这名玩家显示的侧边栏 |
PActSidebarClear |
25 |
即 PIER_PACT_SIDEBAR_CLEAR:sarg 为计分项,发送 RemoveObjectivePacket |
PActSetPermissionLevel |
26 |
即 PIER_PACT_SET_PERMISSION_LEVEL:a 为 PlayerPermissionLevel(0 Visitor,1 Member,2 Operator,3 Custom)。调用 LayeredAbilities::setPlayerPermissions 并发送 UpdateAbilitiesPacket。读取一侧是 PIER_PPROP_PERMISSION_LEVEL。和 PIER_PACT_SET_ABILITY 一样,玩家加入完成之前调用会被拒绝。 |