锻铸系统

源初传说:锻铸传奇

附件列表

版本文件名称上传时间大小下载

接口列表

接口
描述
RegisterCustomItemType服务端注册自定义物品锻造类型
RegisterCustomItemComponentType服务端注册物品自定义部件类型
RegisterCustomComponent服务端注册自定义部件物品
BindForgingItemType服务端绑定物品锻造类型

RegisterCustomItemType

服务端

  • 描述
    注册自定义物品锻造类型,服务端初始化时调用

  • 参数

参数名数据类型说明
ForgingIdstr锻造类型Id
ComponentTypeIdListlist该锻造类型所使用的部件类型(最多支持6个槽位,即list数目不超过6)
  • 返回值

  • 备注

  • 示例 无


RegisterCustomItemComponentType

服务端

  • 描述
    注册物品自定义部件类型,服务端初始化时调用

  • 参数

参数名数据类型说明
ComponentTypeIdstr部件类型Id
Namestr部件类型中文名称
Levelint该部件类型在多图层物品贴图中显示的层次,对应接口SetItemLayer中的层级。Level为None时不会显示贴图
IsNonebool原版物品对该部件的内容是否默认为空,该参默认为False
  • 返回值

  • 备注

  • 示例 无


RegisterCustomComponent

服务端

  • 描述
    注册自定义部件物品,服务端初始化时调用

  • 参数

参数名数据类型说明
ComponentTypeIdstr部件类型Id
ItemNamestr该部件物品的ItemName,例如minecraft:stick
Infostr该部件物品的介绍信息
RequireItemDatadict锻造该部件物品所需的材料数据
AttrDatadict锻造该部件物品所提供的属性数据
  • 返回值

  • 备注

    • RequireItemData锻造该部件物品所需的材料数据

      参数名数据类型说明
      ItemNamestr该部件物品锻造所需的材料的ItemName,例如minecraft:stick
      AuxValueint该部件物品锻造所需的材料的特殊值,默认为0
      Countint锻造该部件物品所需的材料的数量
    • 以下内容皆为选填AttrData锻造该部件物品所提供的属性数据

      参数名数据类型说明
      Damageint伤害值
      Durabilityint耐久度
      Sworddict剑属性数据
      PickAxedict镐子属性数据
      Axedict斧子属性数据
      Hoedict锄头属性数据
      Shoveldict铲子属性数据
      Customdict自定义功能属性数据,可用来做宝石特殊效果
      • 以下内容皆为选填剑、镐、斧、锄、铲属性合称工具属性,以下是这些的属性数据
      参数名数据类型说明
      Tierint工具等级
      Speedint工具挖掘速度
      • Custom自定义功能属性数据,当玩家使用带有自定义功能属性的物品攻击时,会触发所绑定的服务端函数
      参数名数据类型说明
      Namestr自定义功能名称,用于区分
      Infostr该自定义功能的介绍信息
      ModNamestr绑定的Mod名称
      ServerSystemNamestr绑定的该Mod的服务端系统实例名称
      FunctionNamestr绑定的该Mod的服务端系统实例的函数名称(接收一个dict参数)
      • 绑定的服务端函数接收的参数
      参数名数据类型说明
      PlayerIdstr玩家id
      EntityIdstr受到攻击的实体id
      Namestr自定义功能名称
  • 示例 无


BindForgingItemType

服务端

  • 描述
    绑定物品锻造类型,服务端初始化时调用

  • 参数

参数名数据类型说明
ItemNamestr该部件物品的ItemName,例如minecraft:stick
ForgingIdstr锻造类型Id
DefaultDatabool默认部件格式数据,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'
        }
    })
初界团队
更新于 2025-07-22
上一篇 没有了
下一篇 没有了
评论交流

文档目录

源初传说二创文档