源初传说:锻铸传奇
附件列表
| 版本 | 文件名称 | 上传时间 | 大小 | 下载 |
|---|
接口列表
| 接口 | 端 | 描述 |
|---|---|---|
| RegisterCustomItemType | 服务端 | 注册自定义物品锻造类型 |
| RegisterCustomItemComponentType | 服务端 | 注册物品自定义部件类型 |
| RegisterCustomComponent | 服务端 | 注册自定义部件物品 |
| BindForgingItemType | 服务端 | 绑定物品锻造类型 |
RegisterCustomItemType
服务端
-
描述
注册自定义物品锻造类型,服务端初始化时调用 -
参数
| 参数名 | 数据类型 | 说明 |
|---|---|---|
| ForgingId | str | 锻造类型Id |
| ComponentTypeIdList | list | 该锻造类型所使用的部件类型(最多支持6个槽位,即list数目不超过6) |
-
返回值
无 -
备注
无 -
示例 无
RegisterCustomItemComponentType
服务端
-
描述
注册物品自定义部件类型,服务端初始化时调用 -
参数
| 参数名 | 数据类型 | 说明 |
|---|---|---|
| ComponentTypeId | str | 部件类型Id |
| Name | str | 部件类型中文名称 |
| Level | int | 该部件类型在多图层物品贴图中显示的层次,对应接口SetItemLayer中的层级。Level为None时不会显示贴图 |
| IsNone | bool | 原版物品对该部件的内容是否默认为空,该参默认为False |
-
返回值
无 -
备注
无 -
示例 无
RegisterCustomComponent
服务端
-
描述
注册自定义部件物品,服务端初始化时调用 -
参数
| 参数名 | 数据类型 | 说明 |
|---|---|---|
| ComponentTypeId | str | 部件类型Id |
| ItemName | str | 该部件物品的ItemName,例如minecraft:stick |
| Info | str | 该部件物品的介绍信息 |
| RequireItemData | dict | 锻造该部件物品所需的材料数据 |
| AttrData | dict | 锻造该部件物品所提供的属性数据 |
-
返回值
无 -
备注
-
RequireItemData锻造该部件物品所需的材料数据
参数名 数据类型 说明 ItemName str 该部件物品锻造所需的材料的ItemName,例如minecraft:stick AuxValue int 该部件物品锻造所需的材料的特殊值,默认为0 Count int 锻造该部件物品所需的材料的数量 -
以下内容皆为选填 AttrData锻造该部件物品所提供的属性数据参数名 数据类型 说明 Damage int 伤害值 Durability int 耐久度 Sword dict 剑属性数据 PickAxe dict 镐子属性数据 Axe dict 斧子属性数据 Hoe dict 锄头属性数据 Shovel dict 铲子属性数据 Custom dict 自定义功能属性数据,可用来做宝石特殊效果 以下内容皆为选填 剑、镐、斧、锄、铲属性合称工具属性,以下是这些的属性数据
参数名 数据类型 说明 Tier int 工具等级 Speed int 工具挖掘速度 - Custom自定义功能属性数据,当玩家使用带有自定义功能属性的物品攻击时,会触发所绑定的服务端函数
参数名 数据类型 说明 Name str 自定义功能名称,用于区分 Info str 该自定义功能的介绍信息 ModName str 绑定的Mod名称 ServerSystemName str 绑定的该Mod的服务端系统实例名称 FunctionName str 绑定的该Mod的服务端系统实例的函数名称(接收一个dict参数) - 绑定的服务端函数接收的参数
参数名 数据类型 说明 PlayerId str 玩家id EntityId str 受到攻击的实体id Name str 自定义功能名称
-
-
示例 无
BindForgingItemType
服务端
-
描述
绑定物品锻造类型,服务端初始化时调用 -
参数
| 参数名 | 数据类型 | 说明 |
|---|---|---|
| ItemName | str | 该部件物品的ItemName,例如minecraft:stick |
| ForgingId | str | 锻造类型Id |
| DefaultData | bool | 默认部件格式数据,Key为部件类型id,Value为TextureKey |
-
返回值
无 -
备注
- DefaultData数据介绍
-
示例
self.Legend.BindForgingItemType('dfm:gaofumuban', 'axe', {
'hand': 'dfm:gongjubing_mu',
'head_left': 'dfm:zuofutou_mu',
'head_right': 'dfm:yougaotou_mu',
'bind': 'dfm:gongjubandingjie_xian',
})
示例
系统获取
def __init__(self, namespace, systemName):
...
self.Legend = None
self.AddTimes = 0
self.GetMainPackSystem()
def GetMainPackSystem(self):
logging.debug('{0}'.format(self.AddTimes))
try:
self.Legend = serverApi.GetSystem('Legend', 'LegendServerSystem')
if self.AddTimes <= 10:
if not self.LA:
compTimer.AddTimer(1.0, self.GetMainPackSystem)
self.AddTimes += 1
except Exception as e:
if self.AddTimes <= 10:
compTimer.AddTimer(1.0, self.GetMainPackSystem)
logging.critical('异常:{0}'.format(e))
注册内容
def Demo(self, *args):
# 下面的内容是默认携带的,如果再次注册会进行覆盖,并在日志中输出覆盖情况
self.Legend.RegisterCustomItemType('axe', ['head_left', 'head_right', 'hand', 'bind', 'gemstone'])
self.Legend.RegisterCustomItemComponentType('head_left', '头部(左)', 1)
self.Legend.RegisterCustomItemComponentType('head_right', '头部(右)', 2)
self.Legend.RegisterCustomItemComponentType('hand', '手柄', -2)
self.Legend.RegisterCustomItemComponentType('bind', '绑定结', 3)
self.Legend.RegisterCustomItemComponentType('gemstone', '宝石')
self.Legend.RegisterCustomComponent('bind', 'dfm:gongjubandingjie_julei', '自定义介绍信息', {
'ItemName': 'minecraft:bone',
'AuxValue': 0,
'Count': 2,
},
{
'PickAxe': {
'Tier': 1
},
'Custom': {
'Name': '雷暴',
'Info': '自定义属性介绍信息',
'ModName': 'Demo',
'ServerSystemName': 'DemoServerSystem',
'FunctionName': 'CustomFunction'
}
})