MCBBS纪念版

标题: RPGItems-reloaded —— 远古插件RPGItems 又复活啦! [打印本页]

作者: FireworkPolymer    时间: 2024-9-21 02:12
标题: RPGItems-reloaded —— 远古插件RPGItems 又复活啦!
本帖最后由 FireworkPolymer 于 2025-1-22 00:15 编辑

交流群:
下载及注意事项请见帖尾

RPGItems是什么?
如果你开过早期RPG服务器(1.12.2及之前),rpgitems绝对是不可或缺的一部分,为服务器提供了一系列功能集成,包括但不限于发射子弹(做枪械)、造成真伤、产生地震波、吸血、雷霆、物品药水效果等等
可惜后来随着开发人员的精力转移,rpgitems渐渐停止了新功能开发与维护
现在项目由我接手,重新为这个老牌rpg插件带来新生

RPGItems能干什么?
RPGItems为物品提供大量功能,我们从一段示例配置文件来看:

  1. name: a
  2. uid: -295444223
  3. author: e7fc436e-23b1-49e7-81df-5066168a9446
  4. note: 石中剑
  5. license: All Right Reserved
  6. mcVersion: 1.21.1
  7. pluginSerial: 0
  8. haspermission: true
  9. permission: rpgitems.use.a
  10. display: '&4石中剑'
  11. damageMin: 4514
  12. damageMax: 4514
  13. armour: 11
  14. armourExpression: finalDamage-10*armour
  15. playerArmourExpression: finalDamage-%damager:player_level%
  16. DamageType: magic
  17. attributemode: FULL_UPDATE
  18. description:
  19. - '&f描述行'
  20. item: STONE_SWORD
  21. ignoreWorldGuard: false
  22. canBeOwned: false
  23. hasStackId: false
  24. item_data: 0
  25. powers:
  26.   '0':
  27.     powerName: rpgitems:potionself
  28.     powerId: SPEED
  29.     cost: 0
  30.     clear: false
  31.     type: HEAL
  32.     triggers: RIGHT_CLICK
  33.     duration: 20
  34.     requireHurtByEntity: true
  35.     cooldown: 0
  36.     amplifier: 1
  37.   '1':
  38.     powerName: rpgitems:command
  39.     powerId: command-0
  40.     cost: 0
  41.     display: 命令功能
  42.     permission: ''
  43.     triggers: RIGHT_CLICK
  44.     command: say a
  45.     requireHurtByEntity: true
  46.     cooldown: 0
  47.   '2':
  48.     powerName: rpgitems:evaldamage
  49.     powerId: evaldamage-0
  50.     setBaseDamage: false
  51.     expression: finaldamage
  52.     triggers: HIT
  53.     playerExpression: '%target:player_level%*finaldamage'
  54. conditions:
  55.   '0':
  56.     conditionName: rpgitems:placeholdercondition
  57.     isStatic: false
  58.     isCritical: false
  59.     id: pla
  60.     placeholder: '%player_name%'
  61.     value: C
  62.     operator: startwith
  63. markers:
  64.   '0':
  65.     markerName: rpgitems:attributemodifier
  66.     amount: -0.07
  67.     namespacedKey: rpgitems:850e560a-b996-4c08-a2f6-27d8b179313c
  68.     name: gravity
  69.     attribute: GENERIC_GRAVITY
  70.     operation: ADD_NUMBER
  71.     markerId: attributemodifier-0
  72. triggers: {}
  73. hitCost: 10
  74. hittingCost: 5
  75. blockBreakingCost: 0
  76. hitCostByDamage: false
  77. maxDurability: 100
  78. defaultDurability: 100
  79. durabilityLowerBound: 0
  80. durabilityUpperBound: 9999
  81. hasDurabilityBar: true
  82. showPowerText: true
  83. showArmourLore: true
  84. damageMode: FIXED
  85. customModelData: 0
  86. enchantMode: DISALLOW
  87. customItemModel: false
  88. barFormat: NUMERIC
  89. alwaysAllowMelee: false
  90. isTemplate: false
  91. quality: trash
  92. type: STONE
  93. templates: {}
  94. templatePlaceholders: {}
复制代码

游戏内显示:
Snipaste_2024-09-23_20-52-10.png
我们一行行来分析
[spoiler]
  1. name: a
复制代码

rpg物品的名字,也是物品的ID,不可重复

  1. uid: -295444223
复制代码

rpg物品的内部唯一ID,不可重复且随机生成

  1. author: e7fc436e-23b1-49e7-81df-5066168a9446
复制代码

该物品的创建者的uuid,也就是使用/rpgitem create a创建这个物品的玩家的UUID

  1. note: 石中剑
复制代码

该物品的备忘,用于对其他开发者提示

  1. license: All Right Reserved
复制代码

该物品的许可,默认为All Right Reserved(少了个s好像)

  1. mcVersion: 1.21.1
复制代码

物品被创建时的MC版本

  1. pluginSerial: 0
复制代码

插件的版本尾缀,不存在时为0,供文件处理使用

  1. haspermission: true
复制代码

rpg物品是否需要权限才能使用,可使用/rpgitem permission 物品名 权限节点 true 开启

  1. permission: rpgitems.use.a
复制代码

对应的权限节点,不一定要遵循该格式

  1. display: '&4石中剑'
复制代码

物品的显示名,可输入/rpgitem display 物品名 显示名 设置
显示名支持PlaceholderAPI的变量,会根据使用者自动更新

  1. damageMin: 4514
  2. damageMax: 4514
复制代码

物品的最小最大伤害,可在游戏内使用/rpgitem damage 物品名 最小伤害 最大伤害 来设定,如果伤害部分只输入一个参数,则两者相等

  1. armour: 11
复制代码

物品的护甲值,穿身上才有效果,默认计算公式为减少该值百分比的伤害,如果有多件装备,则依次相乘,例如头盔为30%,胸甲为20%,则最终伤害为(1-0.3)*(1-0.2)=0.56即原伤害的56% 命令:/rpgitem armour 物品名 护甲值

  1. armourExpression: finalDamage-10*armour
复制代码

物品的护甲计算表达式,该表达式覆盖上面的护甲值计算,使用方法见此

  1. playerArmourExpression: finalDamage-10*%damager:player_level%
复制代码

同上,但是该表达式仅在造成伤害者为玩家时才生效

  1. DamageType: magic
复制代码

定义该物品造成的“伤害类型”,这并非是游戏本身的伤害类型,而是rpgitems插件内部传递的“伤害类型”,可用于如上方表达式的计算来达成“魔法伤害抗性”等效果
命令: /rpgitem damagetype 物品名 伤害类型 伤害类型可任填

  1. attributemode: FULL_UPDATE
复制代码

物品属性更新规则,默认为PARTIAL_UPDATE,即已获取的rpg物品不更新属性,若为FULL_UPDATE,则如果物品文件的属性部分发生改动,全服的对应物品的属性都会刷新,这里的属性指的是MC的属性(attribute)
命令:/rpgitem attributemode

  1. description:
  2. - '&f描述行'
复制代码

这是物品的描述行,命令:/rpgitem description
描述行支持PlaceholderAPI的变量,会根据使用者自动更新

  1. item: STONE_SWORD
复制代码

物品的显示材质 /rpgitem item 物品名 物品

  1. ignoreWorldGuard: false
复制代码

是否无视worldguard的对技能的标志限制
/rpgitem wgignore

  1. canBeOwned: false
复制代码

与物品的材质包中的模型处理有关,不清楚用法

  1. hasStackId: false
复制代码

同上

  1. item_data: 0
复制代码

已弃用的属性,仅为兼容保留,物品的数据值

  1. powers
复制代码

物品的技能

  1. '0':
复制代码

物品技能的排序号,排在前面的技能显示的描述文本也会显示在前面

  1. powerName: rpgitems:potionself
复制代码

物品技能的类型
下面有些是该技能专属的参数,篇幅所限不在此介绍,只介绍大部分技能共通的参数

  1. powerId: SPEED
复制代码

技能的ID,可自行设置

  1. cost: 0
复制代码

触发该技能消耗多少耐久

  1. triggers: RIGHT_CLICK
复制代码

该技能的触发器,触发器类型详见wiki

  1. cooldown: 0
复制代码

技能的冷却时间,按刻计算,每秒为20刻

  1. conditions:
复制代码

物品的条件,这些条件需要在物品技能中使用(添加conditions: 并附带条件ID)才会生效,不满足条件的技能无法被触发

  1. markers
复制代码

物品的标记,为静态属性,命令/rpgitem marker

  1. triggers: {}
复制代码

未知部分,可能为全局触发器,但是并没有对应实现

  1. hitCost: 10
复制代码

物品被穿戴时被击中造成的耐久消耗
命令/rpgitem cost

  1. hittingcost
复制代码

物品击中实体造成的耐久消耗

  1. blockBreakingCost: 0
复制代码

破坏方块造成的耐久消耗

  1. hitCostByDamage: false
复制代码

受击造成的耐久损耗是否根据伤害计算

  1. maxDurability: 100
复制代码

最大耐久,/rpgitem durability 物品名 最大耐久值

  1. defaultDurability: 100
复制代码

默认耐久值

  1. durabilityLowerBound: 0
  2. durabilityUpperBound: 9999
复制代码

耐久值最低可以掉到多少,最高可以涨到多少(如果最大耐久值高于此值)

  1. hasDurabilityBar: true
复制代码

是否显示耐久条

  1. showPowerText: true
复制代码

是否显示技能描述

  1. showArmourLore: true
复制代码

是否显示伤害和护甲信息

  1. damageMode: FIXED
复制代码

伤害模式,默认为FIXED,可为ADDITIONAL(原本的伤害加上该武器伤害),VANILLA(只按照原版中该物品的伤害造成伤害),MULTIPLY(原本伤害乘以该武器伤害)

  1. customModelData: 0
复制代码

自定义模型数据,供材质包使用

  1. enchantMode: DISALLOW
复制代码

是否允许武器被手动附魔

  1. customItemModel: false
复制代码

是否开启自定义模型

  1. barFormat: NUMERIC
复制代码

耐久条格式,可用格式请输入/rpgitem durability barformat 查看

  1. alwaysAllowMelee: false
复制代码

不明选项,插件中没有对应的功能实现,暂时无效

  1. isTemplate: false
复制代码

该物品是否为模板物品,模板物品

  1. type: STONE
复制代码

物品的类型,与物品本身的物品材质无关,可自行填写

  1. templates: {}
  2. templatePlaceholders: {}
复制代码

模板有关参数

[/spoiler]

看完这些,相信你对rpgitems的物品格式和内容大概了解了
未完待续


注意:更新插件时请删除语言文件重新生成
下载:
运行版本大于3.8的rpgitem需要前置Vault和NyaaCore,Vault请自行搜索下载
NyaaCore:
1.21.4+: NyaaCore-9.5.jar (161 KB, 下载次数: 51)
1.20.4: NyaaCore-9.3.4-1.20.4.jar (167.33 KB, 下载次数: 58)
1.19.4: NyaaCore-mc1.19.4-9.2.1.jar (168.08 KB, 下载次数: 10)
1.18.2: NyaaCore-mc1.18.2-9.0.23.jar (604.97 KB, 下载次数: 10)
1.17: NyaaCore-mc1.17-8.1.19.jar (198.92 KB, 下载次数: 3)
1.16.4: NyaaCore-mc1.16.4-8.0.21.jar (187.33 KB, 下载次数: 13)

RPGItems:
最新版(1.21.4+):因为该版本更新速度较快,请自行前往构建站下载后缀为-core的插件
下方版本不提供bug修复,除非有人给我钱
1.21-1.21.3: 请更新到1.21.4+
1.20.5(6): 无可用版本,你可以尝试使用最新版,不保证能运行
1.20.4:
RPGItems-mc1.20.4-3.9.6-release.jar (782.41 KB, 下载次数: 70) 该版本有一些bug
1.20-1.20.3: 无可用版本,你可以尝试使用1.20.4版
1.19-1.19.4:
RPGItems-mc1.19-3.9.4-release.jar (782.07 KB, 下载次数: 13) 该版本未经测试,请自行测试能否运行
1.18-1.18.2:
RPGItems-mc1.18-3.8.8-release.jar (4.43 MB, 下载次数: 14) 该版本未经测试,请自行测试能否运行
1.17-1.17.1:
RPGItems-mc1.17-3.8.27-release.jar (4.27 MB, 下载次数: 7) 该版本未经测试,请自行测试能否运行
1.16.5:
无可用版本,请自行测试1.16.4版本是否可用
1.16.4:
RPGItems-mc1.16.4-3.8-v4-1-release.jar (1.13 MB, 下载次数: 18) 该版本未经测试,请自行测试能否运行
1.16-1.16.3:
无可用版本,请自行测试1.16.4版本是否可用
1.13-1.15:
还在这些版本开服的人一定有什么怪癖,请自行去github寻找你需要的版本
1.12.2:
rpgitem-reloaded-mc1.11-v3.5.448.jar (334.1 KB, 下载次数: 109)
<1.12.2:
去历史的垃圾堆里自己翻吧



作者: 名副其实    时间: 2024-9-21 19:50
你这觉睡得有点长啊
作者: FireworkPolymer    时间: 2024-9-23 00:11
名副其实 发表于 2024-9-21 19:50
你这觉睡得有点长啊

别急            
作者: wolski    时间: 2024-9-23 08:17
蹲坑时间会不会有点久了
作者: FireworkPolymer    时间: 2024-9-23 20:05
wolski 发表于 2024-9-23 08:17
蹲坑时间会不会有点久了

别急               
作者: 名副其实    时间: 2024-9-25 11:47
https://www.spigotmc.org/resources/rpgitems.17549/
什么情况 他们也复活了?
作者: FireworkPolymer    时间: 2024-9-25 20:22
名副其实 发表于 2024-9-25 11:47
https://www.spigotmc.org/resources/rpgitems.17549/
什么情况 他们也复活了?

image.png

是啊,好奇怪啊

作者: ZeroExact    时间: 2024-10-18 01:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: FireworkPolymer    时间: 2024-10-21 15:12
zhangxinlei1563 发表于 2024-10-18 01:00
这次复活为什么没发编辑器
我记得一起RPG都有编辑器的

编辑器是别人做的,不是插件自带的
作者: Buku    时间: 2024-10-24 16:01
终于有了 等了好久呜呜呜
作者: Zihuatanejo    时间: 2024-11-4 15:45
请您一定坚持更下去 这个插件实在是太强了 我在1.7.2时代就在用了
作者: FireworkPolymer    时间: 2024-11-4 16:52
Zihuatanejo 发表于 2024-11-4 15:45
请您一定坚持更下去 这个插件实在是太强了 我在1.7.2时代就在用了

尽量            
作者: 811515420    时间: 2024-11-5 01:21
可惜我没找到支持这个插件的 饰品称号等插件  有吗 求推荐
作者: FireworkPolymer    时间: 2024-11-6 16:09
811515420 发表于 2024-11-5 01:21
可惜我没找到支持这个插件的 饰品称号等插件  有吗 求推荐

这插件和什么饰品称号都不搭边,你怎么联想到一起的
作者: 苂耀    时间: 2024-11-12 23:30
看起来好麻烦
作者: FireworkPolymer    时间: 2024-11-13 17:09
苂耀 发表于 2024-11-12 23:30
看起来好麻烦

QQ图片20241113170815.webp

让你用了吗

作者: banxiaLucky    时间: 2024-11-20 20:42
Missing language key: internal.error.command_exception是怎么回事
作者: banxiaLucky    时间: 2024-11-20 20:44
Missing language key: internal.error.command_exception是怎么回事
作者: 苂耀    时间: 2024-11-22 12:54
FireworkPolymer 发表于 2024-11-13 17:09
让你用了吗

好凶呜呜呜呜呜
作者: 15113199646    时间: 2025-1-22 22:06
能否编辑物品外表呢
作者: FireworkPolymer    时间: 2025-1-23 19:17
15113199646 发表于 2025-1-22 22:06
能否编辑物品外表呢

什么叫物品外表
作者: FireworkPolymer    时间: 2025-1-23 19:18
banxiaLucky 发表于 2024-11-20 20:42
Missing language key: internal.error.command_exception是怎么回事

你用的什么版本,不是最新版不解决问题
作者: xiaojuzj    时间: 2025-2-4 10:11
我弄了一个普通的剑 无法在用指令lore修改 也不能用淬炼插件有啥解决办法吗?
作者: FireworkPolymer    时间: 2025-2-4 17:16
xiaojuzj 发表于 2025-2-4 10:11
我弄了一个普通的剑 无法在用指令lore修改 也不能用淬炼插件有啥解决办法吗? ...

/rpgitem updatemode 物品名 NO_LORE
可以将物品的更新模式设置为“不更新描述”
作者: xiaojuzj    时间: 2025-2-4 18:19
FireworkPolymer 发表于 2025-2-4 17:16
/rpgitem updatemode 物品名 NO_LORE
可以将物品的更新模式设置为“不更新描述” ...

好的谢谢
作者: zsj2125319984    时间: 2025-2-24 17:34
本帖最后由 zsj2125319984 于 2025-2-24 17:38 编辑

1.12.2没有设置附魔模式的选项,但我在plugin.yml找到了两个相关权限一个rpgitem.allowenchant.new、一个rpgitem.allowenchant.old,我就干脆把权限都给了玩家,想知道这两个权限有啥区别
作者: FireworkPolymer    时间: 2025-2-25 15:41
zsj2125319984 发表于 2025-2-24 17:34
1.12.2没有设置附魔模式的选项,但我在plugin.yml找到了两个相关权限一个rpgitem.allowenchant.new、一个rp ...

不知道老版本的有什么用
作者: xiaolei1314    时间: 2025-4-13 10:31
现在这个没有以前那种编辑器了吗
作者: FireworkPolymer    时间: 2025-4-14 21:44
xiaolei1314 发表于 2025-4-13 10:31
现在这个没有以前那种编辑器了吗

你可以把它们当成两个插件,架构早就大不相同了
作者: Nan_An_030    时间: 2025-4-20 20:32
神马老牌插件复活了?




欢迎光临 MCBBS纪念版 (https://mcbbs.win/) Powered by Discuz! X3.5