Minecraft(我的世界)中文论坛

标题: [原创][机制][PCD]Mesmerize——Lore 属性插件[全版本]

作者:  咕     时间: 2018-7-27 17:07
标题: [原创][机制][PCD]Mesmerize——Lore 属性插件[全版本]
本帖最后由  咕  于 2020-1-25 18:30 编辑

Mesmerize


简介

一款Lore属性插件 (╯‵□′)╯︵┻━┻

效果图



特性


使用说明

因为 Nk 没有 Lores 插件,所以在 Mesmerize 内置了一个,使用 /mes lore 查看帮助。

lore 格式为 属性: 值,属性名称可以在配置文件中定义,属性和值需要使用英文冒号分隔,属性前、值后、冒号两旁的空格可有可无可长可短。

以下的格式都是可以的,如果你真的要把生命、速度这种写成范围形式,我也嗦不出话:


以上

更新日志


请用户在回帖中大胆提供建议,能加就加
请用户在回帖中反馈BUG,并附带报错信息

下载地址

MesNk-20.1.1.jar (65.09 KB, 下载次数: 733)


提供建议或者反馈BUG也可以加群
219412424

Lore种类



命令

所有 /mes 命令 皆可使用 /mesmerize 替代。



权限



配置文件

# 不要开
debug: false

# 更新检测开关
checkUpdate: true

# 插件基础配置
general:
  # 启用生命控制系统
  # 如果这个功能影响了与其他插件的交互,请关闭
  enableHealthControl: true
  # 最小的生命值,当 lore 中设置了负值的生命属性,最终生命将不会低于此值
  minimalHealth: 1.0
  # 最大生命值,你需要在 spigot.yml 中设置 settings.attribute.maxHealth 为更高才能达到这个值
  maximumHealth: 2147483647
  # 最小的移动速度,以防玩家无法移动
  minimalMovespeed: 0.05
  # 基础的移动速度
  baseMovespeed: 0.2
  # 基础生命值
  baseHealth: 20.0
  # 重生属性计算的间隔时间(tick
  regenInterval: 10.0
  # 权限检测别名
  permissionAlias:
    某名称: 某某插件的.vip.权限.节点名

# 关系到服务器性能的设置项
performance:
  # lore 解析的间隔时间(tick
  # 设置过小将会消耗更多性能,设置过大将会影响 lore 效果
  loreUpdateInterval: 10.0
  # 使用多少线程用于 lore 解析
  # 默认为所有可用处理器核心数
  workerThreads: 8.0

# 属性的前缀设置
prefix:
  # 属性名
  damage:
    # 属性用于解析的名称
    name: 伤害
    # 默认的属性颜色,用于 /mes evaluate 指令
    color: §c
    # 每 1% 的该属性价值多少
    valuePerPercentage: 4.0
    # 是否累加,设置为 false 则取玩家所有属性的最大值
    sumUp: true

    ....

# 战斗信息显示
combatMessage:
  # 是否在造成伤害时显示提示信息
  showOnDamage: true
  # 是否在造成暴击时显示提示信息
  showOnCritical: true
  # 是否在造成吸血效果时显示提示信息
  showOnLifeSteal: true
  # 是否在反弹伤害后显示提示信息
  showOnReflect: true
  # 造成伤害时显示的提示信息
  onDamage: §e你对 %s 造成了 %.2f 点伤害。
  # 造成暴击时显示的提示信息
  onCritical: §e你对 %s 造成了 %.2f 的暴击伤害。
  # 造成吸血效果时显示的提示信息
  onLifeSteal: §e你吸取了 %s 的 %.2f 点生命值。
  # 反弹伤害后显示的提示信息
  onReflect: §e你将 %.2f 伤害反弹给了 %s 。

# 其他的信息
message:
  # 检测到灵魂绑定不匹配时提示的信息
  omSoulboundCheck: §c你不是这件物品的主人,所以你不能这样做!
  # 使用 /mes evaluate 命令后提示信息
  onPriceEvaluate: §a你手中的物品的价值为§d %.2f §a。
  # 触发等级限制后的提示信息
  onLevelCheck: §c你的等级没有达到 %d 级,所以你不能使用这件物品!
  # 权限检测失败后的提示信息
  onPermissionCheck: §c你没有权限 %s 来使用此物品。

# 高级设置
advanced:
  # 启用自定义攻击表达式
  # 需要你的 Java 版本支持 Nashorn 库,即 Java 8+
  # 对 Openjdk 的支持未知
  enableCustomAttackExpression: true
  # 你的表达式
  customAttackExpression: |-
    function max(a, b) { return a > b ? a : b; }
    max((base + damage - armor), attack.getRealDamage());

# 其他功能
misc:
  # 启用击杀生物后爆出粒子特效
  # 这个功能在 Nukkit 上被削了
  enableSplashParticles: true
  # 随机生成的粒子列表
  # 可在 https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Effect.html 查看所有为 Particle 类型的粒子
  splashParticles:
  - Critical
  - Dust
  - Flame
  - Portal
  - Lava
  - Smoke



编写自己的伤害表达式

默认为下

function max(a, b) { return a > b ? a : b; }
max((base + damage - armor), attack.getRealDamage());

一共有 5 个可用变量
base 为事件的基础攻击力,如钻石剑默认为 6,钻石剑默认暴击为 7.5
damage 为 lore 上总共的伤害叠加,包括了 PVP PVE 远程伤害,并且已经进行了暴击加成
armor 为 lore 上总共的防御叠加
attack 为攻击者的 lore 信息,可以使用 attack.getXxx() 来获得具体的值
defense 为防御者的 lore 信息,也可以使用 defense.getXxx()

function max(a, b) 为自定义的函数,方便比较两者之间的大值
在进行所有的函数定义后是你的计算语句,计算语句需为最后一个可执行的语句,否则插件将不能接收到返回的最终伤害值

编写自己的计算式直接按照 JavaScript 语句使用即可

attack 和 defense 可用的 getXxx() 中的 Xxx 为属性名,在 config.yml 中有列举,如获取玩家伤害为 getPlayerDamage()
获取近战反射为 getMeeleReflect()

伤害计算经过性能优化后实测消耗的时间不会增加超过 50%,并且原先的攻击优化已经做得很好了。

YAML 语法中 xxx: |- 后可以接多行字符串,详细信息可以查阅 Wiki

插件部分使用了其他开源项目的代码剩余原创

本人声明该插件仍受到维护,只要你能给出符合规范的错误报告(2020/1/23)


作者: 神奈川归尘    时间: 2018-7-27 18:10
之后可以尝试肝,怪物掉落属性物品,类似于MM。。
作者: 3100182639    时间: 2018-7-27 21:10
好看啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
作者: YueHaxgu    时间: 2018-7-28 14:21
哇……这样的话是不是就可以类似于rpgitem了
作者: 117779284    时间: 2018-7-29 18:26
国内都需要正版吧。。
大神能给我离线客户端吗··
作者: Faz    时间: 2018-8-2 17:17
怎么用啊 看不懂
作者: limo1258180154    时间: 2018-8-6 01:48
看起来是很有用的,感谢分享,不做伸手党,我是,最美的关爱党,
作者: God_Li    时间: 2018-8-13 12:04
666666666666666
作者: 比比的    时间: 2018-8-20 20:46
如何将设置好的物品给玩家呢?
作者: 18956446679    时间: 2018-8-22 15:57
这个吊,就想找个这种的
作者: 夜幽    时间: 2019-1-5 21:36
作者啥时候修复一下不灭?或者是说需要前置??耐久照样扣
作者: 1723624171    时间: 2019-5-30 17:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: 慕寒丶    时间: 2019-11-12 13:43
请问可以和rpg4.09兼容吗
作者: 1245984729    时间: 2020-6-16 11:08
感觉很不错qwq,已收下
作者: wanwuyuwoweiyi    时间: 2020-6-27 21:48
感谢分享
作者: NINE昭    时间: 2020-7-25 00:39
这个插件绝对是开服小白的大福利呀QAQ