FireworkPolymer 发表于 2024-9-21 02:12:29

RPGItems-reloaded —— 远古插件RPGItems 又复活啦!

本帖最后由 FireworkPolymer 于 2024-12-8 14:40 编辑

交流群:
[*]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:42

你这觉睡得有点长啊

FireworkPolymer 发表于 2024-9-23 00:11:58

名副其实 发表于 2024-9-21 19:50
你这觉睡得有点长啊

别急            

wolski 发表于 2024-9-23 08:17:56

{:i_f06:}{:i_f16:}蹲坑时间会不会有点久了

FireworkPolymer 发表于 2024-9-23 20:05:16

wolski 发表于 2024-9-23 08:17
蹲坑时间会不会有点久了

别急               

名副其实 发表于 2024-9-25 11:47:23

https://www.spigotmc.org/resources/rpgitems.17549/
什么情况 他们也复活了?

FireworkPolymer 发表于 2024-9-25 20:22:34

名副其实 发表于 2024-9-25 11:47
https://www.spigotmc.org/resources/rpgitems.17549/
什么情况 他们也复活了?



是啊,好奇怪啊

ZeroExact 发表于 2024-10-18 01:00:47

这次复活为什么没发编辑器
我记得一起RPG都有编辑器的

FireworkPolymer 发表于 2024-10-21 15:12:33

zhangxinlei1563 发表于 2024-10-18 01:00
这次复活为什么没发编辑器
我记得一起RPG都有编辑器的

编辑器是别人做的,不是插件自带的

Buku 发表于 2024-10-24 16:01:54

终于有了 等了好久呜呜呜
页: [1] 2
查看完整版本: RPGItems-reloaded —— 远古插件RPGItems 又复活啦!