• 欢迎你,游客,要是喜欢我们的网站,可以加入我们的交流群:521584745
资源图标

插件 Lore 物品属性 可用作RPG 1.0.2

没有下载权限
API
1.0.x
语言
中文(简体)
使用说明

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

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

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

  • 伤害: +20
  • 再生: 4
  • 护甲: +12-25
  • 吸血: +3%
  • 灵魂绑定: Italiangun

Lore种类

  • 伤害 - 攻击时所有的伤害的增幅
  • PVP伤害 - 攻击时仅对玩家伤害的增幅
  • PVE伤害 - 攻击时仅对非玩家伤害的增幅
  • 弓箭伤害 - 远程攻击的伤害增幅
  • 真实伤害 - 攻击造成的伤害一定会高于这个值
  • 暴击加成 - 暴击判定时攻击的加成幅度
  • 暴击几率 - 判定是否为暴击的几率,默认不为暴击
  • 护甲 - 受伤时减少伤害的增幅
  • PVP/PVE/弓箭护甲 - ....
  • 反弹 - 收到所有伤害反弹的幅度
  • 近战/远程反弹 - ...
  • 反弹几率 - 判定是否反弹的几率,默认为反弹
  • 吸血 - 攻击时造成伤害的一部分按比例回复到自身血量
  • 吸血几率 - 判定是否吸血的几率,默认为吸血
  • 生命 - 增加生命上限
  • 再生 - 增加每 X tick回复的血量(回复的速度可在配置的 general.regenInterval 中设置
  • 战斗经验加成 - 杀死生物后经验掉落加成
  • 经验加成 - 非杀死生物得到的经验加成
  • 移动速度 - 玩家移动的速度,最大为 1
  • 飞行速度 - 上帝模式下飞行的速度,最大为 1
  • 攻击速度 - 玩家使用武器攻击的速度,仅在 1.9+ 有效
  • 不灭 - 物品使用时有几率不消耗耐久,设置为 100% 以上将不会消耗耐久
  • 等级限制 - 使用物品等级的限制
  • 灵魂绑定 - 设置后只有指定玩家可以使用该物品
  • 攻击范围 - 武器最远能打到多远的生物(可以有100+的攻击距离
  • 会心一击 - 触发后被击中的生物立刻死亡
  • 闪避 - 有几率避免一次攻击中受到伤害
  • 命中 - 增加命中的几率


命令

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

  • /mes stats - 模拟一次攻击后解析的属性,用于评估自身属性
  • /mes evaluate - 评估手中物品的价值
  • /mes config load - 从磁盘加载配置
  • /mes config save - 保存现在内存中的配置
  • /mes config reload - 加载并保存配置
  • /mes config set <配置项> <配置值> - 设置一个配置的值
  • /mes config list <配置项> - 列出一个配置项中所有子项的值,使用 /mes config list . 列出默认的


权限

  • mesmerize.showstats - 允许使用 /mes stats 命令
  • mesmerize.evaluate - 允许使用 /mes evaluate 命令来评估手中物品的价值
  • mesmerize.config - 允许使用 /mes config 命令来查看/更改设置
  • mesmerize.lore - 允许使用 /mes lore 命令来编辑手上物品的 lore


配置文件

# 不要开
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
作者
YuIo_PQ
下载
102
查看
612
首次发布
最后更新
评分
0.00 星 0 次评分
顶部 底部