我的世界官网中文百科zh.minecraft.wikiJava版服务器列表基岩版服务器列表
帖子

Memorial Edition

查看: 90|回复: 0

[原创插件] CustomPotion —— 一些自定义药水效果

[复制链接]

Lv.10 附魔师

人气
1586 点
金粒
700 粒
宝石
5 颗
爱心
334 颗
钻石
2399 颗
贡献
24 点

捉虫专家勋章石镐矿工勋章铁镐矿工勋章钻镐矿工勋章青苹果勋章红苹果勋章小麦种勋章苹果树勋章下界疣勋章论坛十周年纪念勋章论坛元老勋章骨灰勋章猪灵勋章搬运工勋章热心翻译者勋章创作爱好者勋章疯狂搬运工勋章士兵勋章神权论坛勋章优秀小组勋章-PluginsCDTribe金锭勋章

发表于 昨天 15:38 | 显示全部楼层 |阅读模式
卡斯特姆剖审 CustomPotion
  • 概要
  • 下载链接
  • 授权信息

适用服务端:Paper 

插件类型: 娱乐 综合 其他 

语言支持: 简体中文 繁體/正體中文 English 日本語 无 其他 

适用版本:

前置插件: PacketEvents

简介: 一些自定义药水效果

LOGO

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 FireworkPolymer 于 2025-7-3 16:19 编辑

下载请点右边的release

前置插件:PacketEvents(必须), MythicMobs(可选), PlaceholderAPI(可选)

模仿原版药水机制的自定义药水插件,添加了一些药水效果:

  • 愤怒(Anger): 每次攻击添加等级活力效果
  • 内燃(Combust): 每次伤害间隔造成ceil(当前等级 + 当前等级 * log10(当前等级 + 1))点着火(ON_FIRE)伤害,这会导致伤害增长速度极快
  • 终焉(Death): 药水效果结束后将生物血量设置为0,倒计时10秒时会产生黑烟粒子和播放钟声,如果施加于玩家还会看到倒计时标题
  • 雷霆(Lightning): 每次伤害间隔造成等级点雷电(LIGHTNING_BOLT)伤害并在目标位置生成雷电(仅视觉效果)
  • 月华(Moonshine): 夜晚(游戏时间<1000刻或>13000刻)时攻击伤害增加等级
  • 剧毒(Poison): 每次伤害间隔造成等级点间接魔法(INDIRECT_MAGIC)伤害,每次伤害后等级-1,等级归零也会使效果失效。玩家血量会显示为中毒状态(变为黄绿心,仅视觉效果)
  • 反射(Reflection): 每次受到攻击时对造成伤害者造成等级点荆棘(THORNS)伤害
  • 破隐(Revealing): 对隐身生物多造成等级点伤害
  • 逆转(Reverse): 受到的不超过等级的攻击伤害转化为回血
  • 献祭(Sacrifice): 每秒失去等级点血量,攻击伤害增加等级*round(最大血量/血量)
  • 护盾(Shield): 受到伤害时,优先抵消护盾,每级可抵挡1点
  • 旋转(Spin): 每刻旋转视角等级
  • 晴光(Sunshine): 白天(游戏时间>1000<13000刻)时攻击伤害增加等级
  • 嘲讽(Taunt): 使周围生物目标强行指向自己,若装有MythicMobs插件,会临时将所在阵营替换为随机阵营,效果结束后换回
  • 活力(Vigor): 攻击时增加等级点伤害

命令:

/customeffect modify <UUID/玩家名> <类型> [时长] [等级] [叠加状态/来源]

/customeffect modify <UUID/玩家名> <类型> [时长] [等级] [叠加状态] [来源]

/customeffect clear <UUID/玩家名> [类型]

叠加状态:

  • NORMAL(默认): 高等级效果会覆盖低等级效果,低等级效果隐藏,若低等级效果持续时间更长,高等级效果结束后低等级效果重新生效
  • ADD_ALL: 将等级和持续时间叠加至原效果
  • ADD_TIME: 将持续时间叠加至原效果
  • ADD_AMPLIFIER: 将等级叠加至原效果
  • REPLACE: 替换原效果

来源可为玩家名或UUID

MythicMobs:

  • 技能:
    • customeffect(ce): ce{effect=药水效果ID;duration=1;level=1;stackingmode=NORMAL}
    • effect(e/type/t): 药水效果ID
    • level(l): 等级
    • duration(d): 持续时间(刻)
    • stackingmode(sm/s): 叠加状态
  • 自定义选项:
    TestMob:
    Type: Zombie
    CustomEffects:
    Immune:
    - vigor
    Multiplier:
    - poison 10 1

Immune代表怪物免疫的效果
Multiplier下是药水效果倍增器,第一个数字代表时长,第二个代表等级,例子中是每次受到剧毒效果时长翻十倍

PAPI变量:

%custompotion_<玩家名/实体UUID/me>_<药水ID>_<duration/level/multiplier/display/displayname/source/sourceuuid>%

me代表解析自己,玩家名支持下划线,做了专门处理

duration获取的是药水剩余时间(刻)

level和multiplier获取的都是药水等级

display和displayname获取的都是药水显示名

source获取的是来源实体显示名

sourceuuid获取的是来源实体uuid

配置文件:

config.yml:

#Do message returned by command respect the sendCommandFeedback gamerule?
#命令返回的消息是否遵从sendCommandFeedback游戏规则?
respect_gamerule: true

message.yml:

message:
  command:
    unknown_subcommand: "<red>未知子命令: %command%"
    unknown_effect: "<red>未知效果: %type%"
    invalid_number: "<red>等级和时长需要为有效整数"
    invalid_argument: "<red>无效参数"
    invalid_stacking_mode: "<red>无效的叠加状态,可用状态有: NORMAL, REPLACE, ADD_ALL, ADD_TIME, ADD_AMPLIFIER"
    0_args: "使用方法: /customeffect <modify|clear> ..."
    clear_2_args: "使用方法: /customeffect clear <UUID/玩家名> [类型]"
    modify_3_args_1: "使用方法: /customeffect modify <UUID/玩家名> <类型> [时长] [等级] [叠加状态/来源]"
    modify_3_args_2: "使用方法: /customeffect modify <UUID/玩家名> <类型> [时长] [等级] [叠加状态] [来源]"
    level_lower_than_0: "<red>等级需要大于0"
    duration_lower_than_0: "<red>时长需要大于0"
    not_found: "<red>未找到对应玩家或实体"
    applied: "已将%level%级%type%效果应用于%name%,持续%duration%刻"
    cleared: "已清除%name%的%type%效果"
    cleared_all: "已清除%name%的所有效果"

display-names:
  anger: "愤怒"
  combust: "内燃"
  death: "终焉"
  lightning: "雷霆"
  moonshine: "月华"
  poison: "剧毒"
  reflection: "反射"
  revealing: "破隐"
  reverse: "逆转"
  sacrifice: "血祭"
  shield: "护盾"
  spin: "旋转"
  sunshine: "晴光"
  taunt: "嘲讽"
  vigor: "活力"

API:

  • 事件:
    • CustomPotionAddEvent
    • CustomPotionApplyEvent
    • CustomPotionRemoveEvent
  • 管理类:
    • DatabaseManager: 用于管理玩家下线时储存的药水效果
    • PotionManager: 用于管理药水效果的添加/删除/生效等
      具体方法等见源代码

本来打算添加更多药水效果(大概66种),不过由于将要使其兼容我自己的属性插件,要大改代码,就不继续更新新效果了,如果你有开发经验添加自定义效果应该很容易,你可以自己添加



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

来源于噩梦,却是迷人的。

Archiver|小黑屋| MCBBS纪念版 ( 新ICP备2024014954号|兵公网安备66010002000149号 )|隐私政策| 手机版

GMT+8, 2025-7-4 23:10 , Processed in 0.147373 second(s), 21 queries , Redis On.

"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

© 2010-2025 MCBBS纪念版 版权所有 本站内原创内容版权属于其原创作者,除作者或版规特别声明外未经许可不得转载

返回顶部