实体

索引

接口
描述
RegisterEntityAbility服务端注册自定义功能实体
SummonEntityByName服务端根据实体名生成实体
GetEntityPos双端获取实体三维坐标
GetAttrMaxValue双端获取实体属性最大值
GetAttrValue双端获取实体属性当前值
SetAttrValue服务端修改实体属性当前值或最大值
SetImmuneDamage服务端设置实体无敌
CheckChunkAndSummonEntity服务端检测区块是否加载并生成实体
GetRecentlyTargetId双端获取某实体(客户端为本玩家)最近的实体Id
GetEntityNameByEntityId双端根据实体id获取实体名称
SetEntityOnFire服务端获取或设置实体当前着火状态
GetEntityChineseName双端获取实体中文名称
GetEntitySize双端获取实体碰撞箱大小
SetEntityScale服务端设置或获取实体大小倍率
GetRadiusEntities双端获取实体Id的周围的实体列表

RegisterEntityAbility

服务端

  • 描述
    注册自定义功能实体,需要在服务端初始化时调用

  • 参数

参数名数据类型说明
EntityNamestr实体IdStr名称,例如"minecraft:zombie"
JsonIdstr配置组件JsonId
  • 返回值
    生成的实体Id (str)

  • 备注

  • 示例 空


SummonEntityByName

服务端

  • 描述
    根据实体名生成实体

  • 参数

参数名数据类型说明
EntityNamestr实体IdStr名称,例如"minecraft:zombie"
EntityPostuple实体生成的三维坐标
EntityRottuple实体生成的二维朝向默认为(0, 0)
DimensionIdint实体生成的维度,默认为0,即主世界
  • 返回值
    生成的实体Id (str)

  • 备注

  • 示例 空


GetEntityPos

双端

  • 描述
    获取实体三维坐标

  • 参数

参数名数据类型说明
EntityIdstr实体Id
  • 返回值
    实体三维坐标(tuple)

  • 备注

  • 示例 空


GetAttrMaxValue

双端

  • 描述
    获取实体属性最大值

  • 参数

参数名数据类型说明
EntityIdstr实体Id
AttrKeyint实体属性Key
  • 返回值
    该属性最大值(float)

  • 备注
    实体属性Key:

class AttrType(object):
	HEALTH = 0              # 生命值, 原版的值范围为[0,20]
	SPEED = 1               # 移速, 原版的值范围为[0,+∞]
	DAMAGE = 2              # 攻击力, 原版的值范围为[1,1]
	UNDERWATER_SPEED = 3    # 水里的移速, 原版的值范围为[0,+∞]
	HUNGER = 4              # 饥饿值, 原版的值范围为[0,20]
	SATURATION = 5          # 饱和值, 原版的值范围为[0,20]
	ABSORPTION = 6          # 伤害吸收生命值,详见备注, 原版的值范围为[0,16]
	LAVA_SPEED = 7          # 岩浆里的移速, 原版的值范围为[0,+∞]
	LUCK = 8                # 幸运值,原版的值范围为[-1024,1024]
	FOLLOW_RANGE = 9		# 跟随方块数(一般指怪的仇恨范围), 原版值范围为[1,2024],默认值为16
	KNOCKBACK_RESISTANCE = 10	# 击退抵抗,原版值范围为[1,+∞],默认最大值为1
	JUMP_STRENGTH = 11		# 跳跃力(指骑乘后跳跃可跳跃的高度),原版值范围为[0,+∞]
	ARMOR = 12				# 护甲值,取决于身上穿戴的护甲总防御量
  • 示例 空

GetAttrValue

双端

  • 描述
    获取实体属性当前值

  • 参数

参数名数据类型说明
EntityIdstr实体Id
AttrKeyint实体属性Key
  • 返回值
    该属性当前值(float)

  • 备注
    实体属性Key:

class AttrType(object):
	HEALTH = 0              # 生命值, 原版的值范围为[0,20]
	SPEED = 1               # 移速, 原版的值范围为[0,+∞]
	DAMAGE = 2              # 攻击力, 原版的值范围为[1,1]
	UNDERWATER_SPEED = 3    # 水里的移速, 原版的值范围为[0,+∞]
	HUNGER = 4              # 饥饿值, 原版的值范围为[0,20]
	SATURATION = 5          # 饱和值, 原版的值范围为[0,20]
	ABSORPTION = 6          # 伤害吸收生命值,详见备注, 原版的值范围为[0,16]
	LAVA_SPEED = 7          # 岩浆里的移速, 原版的值范围为[0,+∞]
	LUCK = 8                # 幸运值,原版的值范围为[-1024,1024]
	FOLLOW_RANGE = 9		# 跟随方块数(一般指怪的仇恨范围), 原版值范围为[1,2024],默认值为16
	KNOCKBACK_RESISTANCE = 10	# 击退抵抗,原版值范围为[1,+∞],默认最大值为1
	JUMP_STRENGTH = 11		# 跳跃力(指骑乘后跳跃可跳跃的高度),原版值范围为[0,+∞]
	ARMOR = 12				# 护甲值,取决于身上穿戴的护甲总防御量
  • 示例 空

SetAttrValue

服务端

  • 描述
    修改实体属性当前值或最大值

  • 参数

参数名数据类型说明
EntityIdstr实体Id
AttrKeyint实体属性Key
NewValuefloat该属性新的当前值,默认为None,不执行
MaxValuefloat该属性新的最大值,默认为None,不执行
  • 返回值

  • 备注
    实体属性Key:

class AttrType(object):
	HEALTH = 0              # 生命值, 原版的值范围为[0,20]
	SPEED = 1               # 移速, 原版的值范围为[0,+∞]
	DAMAGE = 2              # 攻击力, 原版的值范围为[1,1]
	UNDERWATER_SPEED = 3    # 水里的移速, 原版的值范围为[0,+∞]
	HUNGER = 4              # 饥饿值, 原版的值范围为[0,20]
	SATURATION = 5          # 饱和值, 原版的值范围为[0,20]
	ABSORPTION = 6          # 伤害吸收生命值,详见备注, 原版的值范围为[0,16]
	LAVA_SPEED = 7          # 岩浆里的移速, 原版的值范围为[0,+∞]
	LUCK = 8                # 幸运值,原版的值范围为[-1024,1024]
	FOLLOW_RANGE = 9		# 跟随方块数(一般指怪的仇恨范围), 原版值范围为[1,2024],默认值为16
	KNOCKBACK_RESISTANCE = 10	# 击退抵抗,原版值范围为[1,+∞],默认最大值为1
	JUMP_STRENGTH = 11		# 跳跃力(指骑乘后跳跃可跳跃的高度),原版值范围为[0,+∞]
	ARMOR = 12				# 护甲值,取决于身上穿戴的护甲总防御量
  • 示例 空

SetImmuneDamage

服务端

  • 描述
    设置实体无敌

  • 参数

参数名数据类型说明
EntityIdstr实体Id
Boolbool是否无敌
Timerfloat结束无敌时长,默认为None
  • 返回值

  • 备注

  • 示例

self.LA = self.GetLASys('密钥')
# 5.5秒后结束无敌
self.LA.UseServerApi('SetImmuneDamage', [playerId, True, 5.5])

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)

CheckChunkAndSummonEntity

服务端

  • 描述
    检测区块是否加载并生成实体

  • 参数

参数名数据类型说明
Postuple需要生成实体的三维坐标
EntityStrstr实体id名称,如"minecraft:zombie"
SummonMobPosListlist生成实体坐标列表,用于防止重复生成生物。如果坐标在此列表内,则不生成,默认为[]
  • 返回值
    是否生成成功 (bool)

  • 备注

  • 示例

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)

GetRecentlyTargetId

双端

  • 描述
    获取某实体(客户端为本玩家)最近的实体Id

  • 服务端参数

参数名数据类型说明
EntityIdstr实体Id
Radiusint检索距离
  • 客户端参数
参数名数据类型说明
Radiusint检索距离
  • 返回值
    最近的实体Id,没有则返回None (str)

  • 备注

  • 示例

self.LA = self.GetLASys('密钥')
EntityId = self.TargetEntityId if self.TargetEntityId else self.LA.GetRecentlyTargetId(PlayerId, 16)

GetEntityNameByEntityId

双端

  • 描述
    根据实体id获取实体名称

  • 参数

参数名数据类型说明
EntityIdstr实体Id
  • 返回值
    实体名称,如"minecraft:zombie" (str)

  • 备注

  • 示例 无


SetEntityOnFire

服务端

  • 描述
    获取或设置实体当前着火状态

  • 参数

参数名数据类型说明
EntityIdstr实体Id
Timerint着火时间,默认为0,则不着火,返回获取实体当前着火状态
Damageint着火伤害,默认为0,则不着火,返回获取实体当前着火状态
  • 返回值
    实体是否着火 (bool)

  • 备注

  • 示例 无


GetEntityChineseName

双端

  • 描述
    获取实体中文名称

  • 参数

参数名数据类型说明
EntityNamestr实体IdStr名称,例如"minecraft:zombie"
  • 返回值
    实体名称 (str)

  • 备注

  • 示例 无


GetEntitySize

双端

  • 描述
    获取实体碰撞箱大小

  • 参数

参数名数据类型说明
EntityIdstr实体id
  • 返回值
    宽、高的二维元组 (tuple)

  • 备注

  • 示例 无


SetEntityScale

服务端

  • 描述
    设置或获取实体大小倍率

  • 参数

参数名数据类型说明
EntityIdstr实体id
Scalefloat实体大小倍率,默认为None
  • 返回值
    该实体大小倍率(优先返回修改后) (float)

  • 备注

  • 示例 无


GetRadiusEntities

双端

  • 描述
    获取实体Id的周围的实体列表

  • 参数

参数名数据类型说明
EntityIdstr实体id
Radiusint范围
BetweenAnglefloat攻击角度范围,默认为360.0
IsCanSeebool是否需要可视,默认为True
IsRemoveMebool输出结果排除自己,默认为True
EntityTypestr默认为None则搜索所有实体,示例:ItemEntity(填写参考)
  • 返回值
    符合条件的周围实体列表 (list)

  • 备注

  • 示例 无


前往附件

评论交流

文档目录

灵免以太