跳到正文

YuRelic Bukkit 事件 ​

事件包名:

text
org.yutay.yurelic.api.event

YuRelic 的事件适合做活动倍率、区域规则、职业联动、外部审计和自定义菜单。监听后如果要修改 Bukkit 对象、背包或 GUI,请确认当前线程并按需切回主线程。

常用可取消事件 ​

事件触发场景常用参数举例
RelicOpenEvent开光写回前player、item、tier、relicId、resultPreview禁止黑名单世界开光,或给赞助玩家指定更高开光档位
RelicGainExpEvent灵器经验写入前player、relicId、item、source、amount、multiplier周末活动把 amount 提高到 2 倍,或在副本外限制经验来源
RelicCombatModifyEventYuRelic 将自身战斗修正写回伤害事件前player、target、item、baseDamage、modifiers、scene在竞技场把灵器加成封顶,避免 PVP 伤害溢出
RelicRepairEvent修复投入与完成前player、relicId、item、costType、costAmount、bodyBefore、bodyAfter给 VIP 修复消耗打折,或禁止战斗中修复
RelicRitualCostEvent仪式扣费前player、ritual、costType、costAmount、currency节日活动减免开光、注魂或觉醒成本
RelicResourceChangeEvent灵材发放或消耗player、resourceKey、amount、reason、balanceAfter记录稀有灵材来源,或阻止负数余额扣除
RelicSoulChangeEvent器魂注养或塑魂player、relicId、soulKey、levelBefore、levelAfter、reason禁止特定器魂在新手服塑魂
RelicTalentChangeEvent铭魂、选择、洗练player、relicId、talentKey、slot、action、oldValue、newValue阻止互斥天赋组合,或给活动天赋追加广播
RelicPotentialChangeEvent潜质淬炼player、relicId、oldPotential、newPotential、cost高峰期降低淬炼失败惩罚,或记录极品潜质出现
RelicPactChangeEvent灵契变更player、relicId、oldOwner、newOwner、action禁止已绑定活动物品重新认主
RelicAccessorySlotEvent饰品槽佩戴、卸下、解锁player、slot、accessory、action、cost限制同类饰品重复佩戴,或给会员解锁额外槽位
RelicHeritageAbsorbEvent承薪传承player、sourceRelicId、targetRelicId、ratio、cost活动期间提高传承比例,或禁止传承锁定灵器
RelicSealChangeEvent封存或启封player、relicId、sealed、reason拍卖前强制封存,交易完成后再启封
RelicTitleChangeEvent铸名或清名player、relicId、oldTitle、newTitle过滤违规称号,或给稀有称号加全服公告
RelicSalvageEvent归炉祭炼player、relicId、returns、confirmed阻止收藏标记的灵器归炉,或修改返还灵材
RelicGuardChangeEvent灵护状态变更player、relicId、guarded、reason对高评分灵器强制开启灵护
RelicMarketQuoteEvent商契估价player、relicId、baseQuote、finalQuote、modifiers给交易市场设置最低估价或手续费
RelicMarketTransferEvent流转印记player、relicId、from、to、price、channel记录玩家间高价转移,交给审计插件复核
RelicBlessingChangeEvent灵祝祝纹变更player、relicId、blessingKey、level、action限制临时祝纹过期时间,或追加节日祝纹
RelicInscriptionEvent铭纹刻入或磨去player、relicId、glyphKey、slot、action、cost只允许在主城铭纹台刻入高阶铭纹
RelicMilestoneClaimEvent器史里程碑领取player、relicId、milestoneKey、rewards给首次觉醒里程碑额外发放称号
RelicVowChangeEvent器愿承接、换愿、领取player、relicId、vowKey、progress、action替换当前世界无法完成的器愿目标
RelicStanceChangeEvent器势切换player、relicId、oldStance、newStance在副本内锁定防御器势,避免中途切换逃课
RelicTrialProgressEvent试炼进度变化player、relicId、trialKey、delta、progress把试炼进度同步到任务插件
RelicLootResourceEvent灵材掉落结算,包含 MythicMobs 与区域上下文player、entity、resourceKey、amount、world、region、source副本区域提高灵材掉落,主世界降低稀有掉落
RelicSoulResonanceEvent器魂共鸣触发player、relicId、soulKey、effect、power给特定职业降低共鸣冷却或调整强度
RelicDurabilityChangeEvent器体损耗、修复或损毁状态变化player、relicId、item、delta、bodyBefore、bodyAfter、cause领地保护区内取消器体损耗
RelicAppraiseEvent鉴灵札生成player、relicId、result、cost对高评分鉴定结果追加聊天公告
RelicRouteMasteryChangeEvent道韵精通变化player、relicId、route、oldMastery、newMastery道韵达到阈值时发放外部称号

通知事件 ​

事件触发场景常用参数举例
RelicLevelUpEvent灵器升级后player、relicId、oldLevel、newLevel、rewards灵器升到 10 级时发送全服提示
RelicBreakthroughReadyEvent生成突破候选后player、relicId、candidates、route把突破候选展示到自定义菜单
RelicStatBuildEvent属性管线计算完成player、relicId、attributes、context把最终属性同步给职业或面板插件
RelicRankQueryEvent天榜查询requester、rankType、page、results将天榜查询结果镜像到 Web 面板
RelicRankDetailEvent天榜详情查询requester、rankType、entry、relicId打开排行榜详情时补充玩家公会信息
RelicArchiveRecordEvent器藏记录生成player、relicId、record、reason新灵器入藏时发送 EasyBot 通知

监听示例 ​

java
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.yutay.yurelic.api.event.RelicGainExpEvent;

public final class RelicActivityListener implements Listener {
    @EventHandler(ignoreCancelled = true)
    public void onRelicGainExp(RelicGainExpEvent event) {
        if ("weekend_activity".equals(event.getSource())) {
            event.setAmount(event.getAmount() * 2);
        }
    }
}