方块

索引

接口
描述
GetOneBlockMaxPos服务端根据XZ来获取顶部方块坐标
GetBlockDictByPos服务端根据坐标获取方块数据
CheckAndSetBlockByPos服务端根据坐标放置方块,区块未加载则无法放置方块,因此需要使用SetBlockPosList
SetChestReward服务端设置奖励箱内容
BindCustomBlockInteractFunction服务端绑定自定义方块交互事件函数
BindOnStandOnBlockFunction服务端绑定实体踩上方块事件函数,触发后会持续Tick执行
BindStepOnBlockFunction服务端绑定实体刚刚踩上方块事件函数

GetOneBlockMaxPos

服务端

  • 描述
    根据XZ来获取顶部方块坐标

  • 参数

参数名数据类型说明
PosXfloatX坐标
PosZfloatZ坐标
DimensionIdint实体生成的维度,默认为0,即主世界
Timesflointat计算次数,即精细程度,默认为8,精度为1.2格
  • 返回值
    顶部方块三维坐标 (tuple)

  • 备注

  • 示例

self.SummonMobFeatureList = []
self.LA = self.GetLASys('密钥')
BossPos = compFeature.LocateNeteaseFeatureRule("custom:heifengshan2_{0}_106aa1e63ed7409d8a05acd27f34bc49".format(591), 0, compPos.GetPos())
UpBossPos = self.LA.GetOneBlockMaxPos(BossPos[0] + 8, BossPos[2] + 8)
Bool = self.CheckChunkAndSummonEntity(UpBossPos, 'dfm:lingxuzi', self.SummonMobFeatureList)

GetBlockDictByPos

服务端

  • 描述
    根据坐标获取方块数据

  • 参数

参数名数据类型说明
BlockPostuple方块三维坐标
DimensionIdint方块所在的维度,默认为0,即主世界
  • 返回值
    方块数据 (dict)

    Key数据类型说明
    namestr方块id
    auxint方块特殊值
  • 备注

  • 示例 无


CheckAndSetBlockByPos

服务端

  • 描述
    根据坐标放置方块,区块未加载则无法放置方块,因此需要使用SetBlockPosList

  • 参数

参数名数据类型说明
BlockPostuple方块三维坐标
BlockNamestr块id,例如"minecraft:diamond_block"
BlockAuxint方块特殊值,默认为0
DimensionIdint方块所在的维度,默认为0,即主世界
Typeint方块防止类型,0:替换,1:销毁,2:保留,默认为0
IsLegacybool是否设置为传统的aux,建议设置为True,即aux对应的state不随着版本迭代而变化。默认为False
UpdateNeighborsbool是否给相邻的方块触发方块更新 (opens new window)以及BlockNeighborChangedServerEvent事件。默认为True触发。若选择不触发可节省约30%的性能消耗。
SetBlockPosListlist生成方块坐标列表,用于防止重复放置方块。如果坐标在此列表内,则不生成,默认为[]
  • 返回值
    是否防止成功 (bool)

  • 备注

  • 示例

self.LA.CheckAndSetBlockByPos((1000, 200, 1000), 'minecraft:diamond_block')

SetChestReward

服务端

  • 描述
    设置奖励箱内容

  • 参数

参数名数据类型说明
BlockPostuple方块三维坐标
LootTablePathstr战利品json文件路径,例如"loot_tables/entities/zombie.json"
DimensionIdint方块所在的维度,默认为0,即主世界
IsSpiltbool是否随机分类堆叠,默认为True
  • 返回值
    是否设置成功 (bool)

  • 备注

    • 仅支持未打开过的箱子,若箱子已经打开过,则设置失败。维度需要已经加载。
    • 如有玩家在相应维度上,则算维度已加载,若完全没玩家在对应维度上,则维度未加载。
  • 示例 无


BindCustomBlockInteractFunction

服务端

  • 描述
    绑定自定义方块交互事件函数,值得注意的是,键鼠、手柄的交互可以长按将会一直执行事件!

  • 参数

参数名数据类型说明
BlockNamestr自定义方块id,例如"dfm:fengche"
FunctionInstancefunction函数(一个dict参数),例如self.CreateMsg,不要填写成self.CreateMsg()
IsAddbool是否是添加绑定,默认为True,则为添加类型反之为删除
IsCoolDownbool交互是否有微小延迟,防止PC端交互Tick通信造成卡顿,默认为False
  • 返回值

  • 备注
    所绑定的函数接收的一个dict参数如下

    Key数据类型说明
    PlayerIdstr交互的玩家id
    BlockPostuple交互的方块三维坐标
  • 示例 无


BindOnStandOnBlockFunction

服务端

  • 描述
    绑定踩上方块事件函数,触发后会持续Tick执行

  • 参数

参数名数据类型说明
BlockNamestr自定义方块id,例如"dfm:fengche"
FunctionInstancefunction函数(一个dict参数),例如self.CreateMsg,不要填写成self.CreateMsg()样式
IsAddbool是否是添加绑定,默认为True,则为添加类型反之为删除
  • 返回值

  • 备注

    • 自定义方块需要添加netease:on_stand_on组件,并为True
    • 所绑定的函数接收的一个dict参数如下
    Key数据类型说明
    DimensionIdint踩上方块所在的维度
    BlockPostuple踩上方块的三维坐标
    EntityIdstr踩上方块的实体id
  • 示例 无


BindStepOnBlockFunction

服务端

  • 描述
    绑定刚刚踩上方块事件函数

  • 参数

参数名数据类型说明
BlockNamestr自定义方块id,例如"dfm:fengche"
FunctionInstancefunction函数(一个dict参数),例如self.CreateMsg,不要填写成self.CreateMsg()
IsAddbool是否是添加绑定,默认为True,则为添加类型反之为删除
  • 返回值

  • 备注

    • 自定义方块需要添加netease:on_step_on组件,并为True
    • 所绑定的函数接收的一个dict参数如下
    Key数据类型说明
    DimensionIdint踩上方块所在的维度
    BlockPostuple踩上方块的三维坐标
    EntityIdstr踩上方块的实体id
  • 示例 无


前往附件

评论交流

文档目录

灵免以太