自定义特效物品


示例配置文件

该行配置文件位于服务端plugins/GermPlugin/item文件夹内

详见此处 >>> 传送门

#在游戏中按 F3+H 然后鼠标放在物品上,可以看真实的物品名和ID
#索引名 无意义随便设置
default_effect_item:
  #代表这是一个特效物品
  type: 'effect'
  # 特效可以来自服务端effect文件夹中的一个配置
  # 这里填配置的索引名
  effectName: 'CommonTextureEffect'
  #也可以直接写一个完整的effect进来
  effect:
    #直接写特效配置 此处仅为示例
    type: texture
    width: 5.8
    height: 5.8
    path: 'textures/misc/logo.png'
    offsetY: 0.1
    pitch: 90
    animations:
      魂环旋转:
        type: 1
        delay: 0
        cycle: -1
        permanent: true
        duration: 16666
        rotateZ: 1440
  #作为皮肤的一些设置 可删去 删去后将作为一个普通跟随的特效出现
  skin:
    #与玩家的哪个肢体绑定 可删去 默认为与整个玩家绑定
    #目前支持部位有
    #head    头部
    #body    身体
    #leftArm    左大臂
    #rightArm    右大臂
    #leftForeArm    左小臂
    #rightForeArm    右小臂
    #leftItem    左手物品
    #rightItem    右手物品
    #leftLeg    左大腿
    #rightLeg    右大腿
    #leftForeLeg    左小腿
    #rightForeLeg    右小腿
    bindLimb: "body"
  # 特效物品图标设置
  icon:
    # 盔甲图标在材质包中时省略路径assets/germmod/
    # 盔甲图标在萌芽缓存中省略路径GermCache/
    # 允许gif
    path: 'textures/misc/logo.png'
    #图标在GUI中的 偏移值 设置了可以让图标移动中心位置
    offsetX: 0.0
    offsetY: 0.0
    offsetZ: 0.0
    #在GUI中缩放设置 不能小于 0
    scale: 1
    #在手中大小设置 不能小于 0
    size: 1
  #匹配的条件
  matchCondition:
    #匹配该模型的材质要求
    #格式 物品名:子ID 或者 物品ID:子ID
    type: 'DIAMOND_CHESTPLATE'
    # ! 颜色符号请使用§,而不是&
    # 当描述或者武器名字含有下方字符串时会替换到设置的模型
    match: "测试effect效果"
    # ! 颜色符号请使用§,而不是&
    # 当装备的名字等于该值的时候匹配模型
    name: "测试effect效果"
    # 当装备的某行描述等于设定的值时匹配模型
    # 格式为:行号<->值 (行号从0开始为第一行)
    lore:
      - "3<->测试effect效果"
    # 当装备的某个nbt等于设定的值时匹配
    nbt:
      - "nbtKey1<->测试effect效果"
    #匹配时需要满足的表达式 更多表达式请看wiki https://wiki.germmc.com/gui/arithmetic.html
    expressions:
      - "%player_level% > -1"
      - "str(%player_name%,%player_name%)"

自定义特效物品演示教程

第一步,配置特效

首先,你需要在特效模块内的编写一个你想要的特效 >>>传送门

在这里,我们以下面的配置为例

Fire_Orb:
  #贴图
  type: texture
  #跟随玩家的yaw 默认为false
  followYaw: false
  #跟随玩家的pitch 默认为false 当followYaw和followPitch都打开的时候该effect会永远面向玩家
  followPitch: false
  #宽度 1大约为一格子
  width: "1"
  #高度
  height: "1"
  #贴图地址 (省略路径assets/germmod)
  path: 'effect/fire_orb.png'
  #持续时间 超时后自动删除 单位毫秒 (不写或者填写-1为不限制)
  duration: -1
  #向X轴的偏移量
  offsetX: "-1"
  #向Y轴的偏移量
  offsetY: "2"
  #向Z轴的偏移量
  offsetZ: "0"
  #pitch 可以理解为史蒂夫上下看
  pitch: "0"
  #yaw 可以理解为史蒂夫左右看
  yaw: "0"
  #roll 原版中并没有这一种视角方式 可以想象的理解为史蒂夫歪着头看
  roll: "0"

第二步,配置特效物品文件的读取

在服务端plugins/GermPlugin/item文件夹内按照上方的配置文件进行配置,然后保存配置文件

第三步,添加特效物品槽位

首先,在你想要读取特效物品自定义GUI界面内,按照下面格式添加特效物品扩展槽位

  #扩展槽位组件
  #该索引名(下面第一行的名称)仅为示例,请在正式配置时进行修改,每个组件的索引名均不可重复!!
  effect_slot:
    type: slot
    # 组件开关 (false后关闭任何效果、显示、互动、功能;删除整行后默认为不显示)
    # 如果将 enable 后面的 true或false 设置为某个条件 将自动匹配条件开关
    # 例如填写 enable: "%player_health% = 100" 当玩家的血量到达100时才会开启该组件
    enable: true
    #悬浮时候显示的tooltip就跟原版悬浮到道具时显示的lore界面一样(删除整行后默认为不显示)
    tooltip:
      - '&c我是悬浮的时候被显示出来的那个'
    #槽位的宽和高(可以使用 w h) 例如:size: 'w*0.1' 或 size: 'h*0.1' 或 size: ' w / h * 0.1'
    size: "36"
    #是否是禁止所有状态(不可点击,无声音,无悬浮变化)
    invalid: true
    #是否允许与该槽位交互(可以点击,有声音,但是无法进行正常交互操作)
    interact: true
    #为防止槽位的物品混乱 每一个界面内扩展槽位的identity后填写的内容均不可重复!!!
    #(如果您是开发者 推荐使用 处理该槽位的插件全名小写_用来逻辑判断的字符)
    #建议前缀默认设置为germplugin_effect_
    identity: "germplugin_effect_1"
    #当槽位内有物品时显示的图片 填gif就可以显示为gif
    #建议此处图片为一张全透明图片
    #图片的本地材质路径地址格式为 local<->本地路径 或者直接输入 本地路径
    #图片的网络材质链接地址格式为 url<->网络链接 例如:url<->https://s1.ax1x.com/2020/06/19/NnqzVK.png
    fillPath: 'local<->textures/gui/slot.png'
    #当槽位为空的时候显示的图片 填gif就可以显示为gif
    #图片可以是透明图片或者槽位背景图 例如原版头盔槽位的头盔标志
    #图片的本地材质路径地址格式为 local<->本地路径 或者直接输入 本地路径
    #图片的网络材质链接地址格式为 url<->网络链接 例如:url<->https://s1.ax1x.com/2020/06/19/NnqzVK.png
    emptyPath: 'local<->textures/gui/slot.png'
    hoverSound: 'minecraft:ui.button.click'
    clickSound: 'minecraft:ui.button.click'
    locationX: "w*0.7"
    locationY: "h*0.5"
    locationZ: "0"

第四步,注册特效物品槽位identity

设置完identity后,将第三步设置的特效物品槽位identity填入服务端内的SlotConfig.yml中对应的配置内,对应的配置行如下 😅

#对于槽位组件的特效物品配置
#在下面配置过的identity的槽位内放入特效物品后 才会在玩家身上显示特效
effectSlotSets:
  - "germplugin_effect_1"
  - "germplugin_effect_2"

第五步,游戏内获取特效物品

此时,进入游戏内,手持任意一个物品,这里我们以 原版物品: 箭 作为例子

接着,我们为这个物品添加lore,这里我们以本节开头的lore 火焰宝珠 为对应的判定lore,

然后,一个特效物品就出现在了你的手上!!

第六步,对应槽位放入特效物品

这里,我们将时装槽位左边那个扩展槽位的identity改为germplugin_effect_1

并将我们刚刚制作好的特效物品放入槽位内!

噔噔噔!!!尽情欣赏你的特效吧!!!

results matching ""

    No results matching ""