RPGItems-reloaded —— 远古插件RPGItems 又复活啦!
本帖最后由 FireworkPolymer 于 2024-10-25 20:32 编辑交流群:
[*]Discord: https://discord.gg/Qbt58xuNBS
[*]QQ: 907133401
下载及注意事项请见帖尾
RPGItems是什么?
如果你开过早期RPG服务器(1.12.2及之前),rpgitems绝对是不可或缺的一部分,为服务器提供了一系列功能集成,包括但不限于发射子弹(做枪械)、造成真伤、产生地震波、吸血、雷霆、物品药水效果等等
可惜后来随着开发人员的精力转移,rpgitems渐渐停止了新功能开发与维护
现在项目由我接手,重新为这个老牌rpg插件带来新生
RPGItems能干什么?
RPGItems为物品提供大量功能,我们从一段示例配置文件来看:
name: a
uid: -295444223
author: e7fc436e-23b1-49e7-81df-5066168a9446
note: 石中剑
license: All Right Reserved
mcVersion: 1.21.1
pluginSerial: 0
haspermission: true
permission: rpgitems.use.a
display: '&4石中剑'
damageMin: 4514
damageMax: 4514
armour: 11
armourExpression: finalDamage-10*armour
playerArmourExpression: finalDamage-%damager:player_level%
DamageType: magic
attributemode: FULL_UPDATE
description:
- '&f描述行'
item: STONE_SWORD
ignoreWorldGuard: false
canBeOwned: false
hasStackId: false
item_data: 0
powers:
'0':
powerName: rpgitems:potionself
powerId: SPEED
cost: 0
clear: false
type: HEAL
triggers: RIGHT_CLICK
duration: 20
requireHurtByEntity: true
cooldown: 0
amplifier: 1
'1':
powerName: rpgitems:command
powerId: command-0
cost: 0
display: 命令功能
permission: ''
triggers: RIGHT_CLICK
command: say a
requireHurtByEntity: true
cooldown: 0
'2':
powerName: rpgitems:evaldamage
powerId: evaldamage-0
setBaseDamage: false
expression: finaldamage
triggers: HIT
playerExpression: '%target:player_level%*finaldamage'
conditions:
'0':
conditionName: rpgitems:placeholdercondition
isStatic: false
isCritical: false
id: pla
placeholder: '%player_name%'
value: C
operator: startwith
markers:
'0':
markerName: rpgitems:attributemodifier
amount: -0.07
namespacedKey: rpgitems:850e560a-b996-4c08-a2f6-27d8b179313c
name: gravity
attribute: GENERIC_GRAVITY
operation: ADD_NUMBER
markerId: attributemodifier-0
triggers: {}
hitCost: 10
hittingCost: 5
blockBreakingCost: 0
hitCostByDamage: false
maxDurability: 100
defaultDurability: 100
durabilityLowerBound: 0
durabilityUpperBound: 9999
hasDurabilityBar: true
showPowerText: true
showArmourLore: true
damageMode: FIXED
customModelData: 0
enchantMode: DISALLOW
customItemModel: false
barFormat: NUMERIC
alwaysAllowMelee: false
isTemplate: false
quality: trash
type: STONE
templates: {}
templatePlaceholders: {}
游戏内显示:
我们一行行来分析
name: a
rpg物品的名字,也是物品的ID,不可重复
uid: -295444223
rpg物品的内部唯一ID,不可重复且随机生成
author: e7fc436e-23b1-49e7-81df-5066168a9446
该物品的创建者的uuid,也就是使用/rpgitem create a创建这个物品的玩家的UUID
note: 石中剑
该物品的备忘,用于对其他开发者提示
license: All Right Reserved
该物品的许可,默认为All Right Reserved(少了个s好像)
mcVersion: 1.21.1
物品被创建时的MC版本
pluginSerial: 0
插件的版本尾缀,不存在时为0,供文件处理使用
haspermission: true
rpg物品是否需要物品才能使用,可使用/rpgitem permission 物品名 权限节点 true 开启
permission: rpgitems.use.a
对应的权限节点,不一定要遵循该格式
display: '&4石中剑'
物品的显示名,可输入/rpgitem display 物品名 显示名 设置
显示名支持PlaceholderAPI的变量,会根据使用者自动更新
damageMin: 4514
damageMax: 4514
物品的最小最大伤害,可在游戏内使用/rpgitem damage 物品名 最小伤害 最大伤害 来设定,如果伤害部分只输入一个参数,则两者相等
armour: 11
物品的护甲值,穿身上才有效果,默认计算公式为减少该值百分比的伤害,如果有多件装备,则依次相乘,例如头盔为30%,胸甲为20%,则最终伤害为(1-0.3)*(1-0.2)=0.56即原伤害的56% 命令:/rpgitem armour 物品名 护甲值
armourExpression: finalDamage-10*armour
物品的护甲计算表达式,该表达式覆盖上面的护甲值计算,使用方法见此
playerArmourExpression: finalDamage-10*%damager:player_level%
同上,但是该表达式仅在造成伤害者为玩家时才生效
DamageType: magic
定义该物品造成的“伤害类型”,这并非是游戏本身的伤害类型,而是rpgitems插件内部传递的“伤害类型”,可用于如上方表达式的计算来达成“魔法伤害抗性”等效果
命令: /rpgitem damagetype 物品名 伤害类型 伤害类型可任填
attributemode: FULL_UPDATE
物品属性更新规则,默认为PARTIAL_UPDATE,即已获取的rpg物品不更新属性,若为FULL_UPDATE,则如果物品文件的属性部分发生改动,全服的对应物品的属性都会刷新,这里的属性指的是MC的属性(attribute)
命令:/rpgitem attributemode
description:
- '&f描述行'
这是物品的描述行,命令:/rpgitem description
描述行支持PlaceholderAPI的变量,会根据使用者自动更新
item: STONE_SWORD
物品的显示材质 /rpgitem item 物品名 物品
ignoreWorldGuard: false
是否无视worldguard的对技能的标志限制
/rpgitem wgignore
canBeOwned: false
与物品的材质包中的模型处理有关,不清楚用法
hasStackId: false
同上
item_data: 0
已弃用的属性,仅为兼容保留,物品的数据值
powers
物品的技能
'0':
物品技能的排序号,排在前面的技能显示的描述文本也会显示在前面
powerName: rpgitems:potionself
物品技能的类型
下面有些是该技能专属的参数,篇幅所限不在此介绍,只介绍大部分技能共通的参数
powerId: SPEED
技能的ID,可自行设置
cost: 0
触发该技能消耗多少耐久
triggers: RIGHT_CLICK
该技能的触发器,触发器类型详见wiki
cooldown: 0
技能的冷却时间,按刻计算,每秒为20刻
conditions:
物品的条件,这些条件需要在物品技能中使用(添加conditions: 并附带条件ID)才会生效,不满足条件的技能无法被触发
markers
物品的标记,为静态属性,命令/rpgitem marker
triggers: {}
未知部分,可能为全局触发器,但是并没有对应实现
hitCost: 10
物品被穿戴时被击中造成的耐久消耗
命令/rpgitem cost
hittingcost
物品击中实体造成的耐久消耗
blockBreakingCost: 0
破坏方块造成的耐久消耗
hitCostByDamage: false
受击造成的耐久损耗是否根据伤害计算
maxDurability: 100
最大耐久,/rpgitem durability 物品名 最大耐久值
defaultDurability: 100
默认耐久值
durabilityLowerBound: 0
durabilityUpperBound: 9999
耐久值最低可以掉到多少,最高可以涨到多少(如果最大耐久值高于此值)
hasDurabilityBar: true
是否显示耐久条
showPowerText: true
是否显示技能描述
showArmourLore: true
是否显示伤害和护甲信息
damageMode: FIXED
伤害模式,默认为FIXED,可为ADDITIONAL(原本的伤害加上该武器伤害),VANILLA(只按照原版中该物品的伤害造成伤害),MULTIPLY(原本伤害乘以该武器伤害)
customModelData: 0
自定义模型数据,供材质包使用
enchantMode: DISALLOW
是否允许武器被手动附魔
customItemModel: false
是否开启自定义模型
barFormat: NUMERIC
耐久条格式,可用格式请输入/rpgitem durability barformat 查看
alwaysAllowMelee: false
不明选项,插件中没有对应的功能实现,暂时无效
isTemplate: false
该物品是否为模板物品,模板物品
type: STONE
物品的类型,与物品本身的物品材质无关,可自行填写
templates: {}
templatePlaceholders: {}
模板有关参数
看完这些,相信你对rpgitems的物品格式和内容大概了解了
未完待续
下载:
运行版本大于3.8的rpgitem需要前置Vault和NyaaCore,Vault请自行搜索下载
NyaaCore:
1.21:
1.20.4:
1.19.4:
1.18.2:
1.17:
1.16.4:
最新版(1.21+):因为该版本更新速度较快,请自行前往构建站下载后缀为-dev-all的插件,贴内文件不保证为最新
下方版本不提供bug修复,除非有人给我钱
1.20.5(6): 无可用版本,你可以尝试使用最新版,不保证能运行
1.20.4:
该版本有一些bug
1.20-1.20.3: 无可用版本,你可以尝试使用1.20.4版
1.19-1.19.4:
该版本未经测试,请自行测试能否运行
1.18-1.18.2:
该版本未经测试,请自行测试能否运行
1.17-1.17.1:
该版本未经测试,请自行测试能否运行
1.16.5:
无可用版本,请自行测试1.16.4版本是否可用
1.16.4:
该版本未经测试,请自行测试能否运行
1.16-1.16.3:
无可用版本,请自行测试1.16.4版本是否可用
1.13-1.15:
还在这些版本开服的人一定有什么怪癖,请自行去github寻找你需要的版本
1.12.2:
<1.12.2:
去历史的垃圾堆里自己翻吧
你这觉睡得有点长啊 名副其实 发表于 2024-9-21 19:50
你这觉睡得有点长啊
别急 {:i_f06:}{:i_f16:}蹲坑时间会不会有点久了 wolski 发表于 2024-9-23 08:17
蹲坑时间会不会有点久了
别急 https://www.spigotmc.org/resources/rpgitems.17549/
什么情况 他们也复活了? 名副其实 发表于 2024-9-25 11:47
https://www.spigotmc.org/resources/rpgitems.17549/
什么情况 他们也复活了?
是啊,好奇怪啊
这次复活为什么没发编辑器
我记得一起RPG都有编辑器的 zhangxinlei1563 发表于 2024-10-18 01:00
这次复活为什么没发编辑器
我记得一起RPG都有编辑器的
编辑器是别人做的,不是插件自带的 终于有了 等了好久呜呜呜
页:
[1]
2