跳到正文

YuRelic Bukkit 事件

事件包名:

text
org.yutay.yurelic.api.event

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

常用可取消事件

事件触发场景常用参数举例
RelicOpenEvent开光写回前playeritemtierrelicIdresultPreview禁止黑名单世界开光,或给赞助玩家指定更高开光档位
RelicGainExpEvent灵器经验写入前playerrelicIditemsourceamountmultiplier周末活动把 amount 提高到 2 倍,或在副本外限制经验来源
RelicCombatModifyEventYuRelic 将自身战斗修正写回伤害事件前playertargetitembaseDamagemodifiersscene在竞技场把灵器加成封顶,避免 PVP 伤害溢出
RelicRepairEvent修复投入与完成前playerrelicIditemcostTypecostAmountbodyBeforebodyAfter给 VIP 修复消耗打折,或禁止战斗中修复
RelicRitualCostEvent仪式扣费前playerritualcostTypecostAmountcurrency节日活动减免开光、注魂或觉醒成本
RelicResourceChangeEvent灵材发放或消耗playerresourceKeyamountreasonbalanceAfter记录稀有灵材来源,或阻止负数余额扣除
RelicSoulChangeEvent器魂注养或塑魂playerrelicIdsoulKeylevelBeforelevelAfterreason禁止特定器魂在新手服塑魂
RelicTalentChangeEvent铭魂、选择、洗练playerrelicIdtalentKeyslotactionoldValuenewValue阻止互斥天赋组合,或给活动天赋追加广播
RelicPotentialChangeEvent潜质淬炼playerrelicIdoldPotentialnewPotentialcost高峰期降低淬炼失败惩罚,或记录极品潜质出现
RelicPactChangeEvent灵契变更playerrelicIdoldOwnernewOwneraction禁止已绑定活动物品重新认主
RelicAccessorySlotEvent饰品槽佩戴、卸下、解锁playerslotaccessoryactioncost限制同类饰品重复佩戴,或给会员解锁额外槽位
RelicHeritageAbsorbEvent承薪传承playersourceRelicIdtargetRelicIdratiocost活动期间提高传承比例,或禁止传承锁定灵器
RelicSealChangeEvent封存或启封playerrelicIdsealedreason拍卖前强制封存,交易完成后再启封
RelicTitleChangeEvent铸名或清名playerrelicIdoldTitlenewTitle过滤违规称号,或给稀有称号加全服公告
RelicSalvageEvent归炉祭炼playerrelicIdreturnsconfirmed阻止收藏标记的灵器归炉,或修改返还灵材
RelicGuardChangeEvent灵护状态变更playerrelicIdguardedreason对高评分灵器强制开启灵护
RelicMarketQuoteEvent商契估价playerrelicIdbaseQuotefinalQuotemodifiers给交易市场设置最低估价或手续费
RelicMarketTransferEvent流转印记playerrelicIdfromtopricechannel记录玩家间高价转移,交给审计插件复核
RelicBlessingChangeEvent灵祝祝纹变更playerrelicIdblessingKeylevelaction限制临时祝纹过期时间,或追加节日祝纹
RelicInscriptionEvent铭纹刻入或磨去playerrelicIdglyphKeyslotactioncost只允许在主城铭纹台刻入高阶铭纹
RelicMilestoneClaimEvent器史里程碑领取playerrelicIdmilestoneKeyrewards给首次觉醒里程碑额外发放称号
RelicVowChangeEvent器愿承接、换愿、领取playerrelicIdvowKeyprogressaction替换当前世界无法完成的器愿目标
RelicStanceChangeEvent器势切换playerrelicIdoldStancenewStance在副本内锁定防御器势,避免中途切换逃课
RelicTrialProgressEvent试炼进度变化playerrelicIdtrialKeydeltaprogress把试炼进度同步到任务插件
RelicLootResourceEvent灵材掉落结算,包含 MythicMobs 与区域上下文playerentityresourceKeyamountworldregionsource副本区域提高灵材掉落,主世界降低稀有掉落
RelicSoulResonanceEvent器魂共鸣触发playerrelicIdsoulKeyeffectpower给特定职业降低共鸣冷却或调整强度
RelicDurabilityChangeEvent器体损耗、修复或损毁状态变化playerrelicIditemdeltabodyBeforebodyAftercause领地保护区内取消器体损耗
RelicAppraiseEvent鉴灵札生成playerrelicIdresultcost对高评分鉴定结果追加聊天公告
RelicRouteMasteryChangeEvent道韵精通变化playerrelicIdrouteoldMasterynewMastery道韵达到阈值时发放外部称号

通知事件

事件触发场景常用参数举例
RelicLevelUpEvent灵器升级后playerrelicIdoldLevelnewLevelrewards灵器升到 10 级时发送全服提示
RelicBreakthroughReadyEvent生成突破候选后playerrelicIdcandidatesroute把突破候选展示到自定义菜单
RelicStatBuildEvent属性管线计算完成playerrelicIdattributescontext把最终属性同步给职业或面板插件
RelicRankQueryEvent天榜查询requesterrankTypepageresults将天榜查询结果镜像到 Web 面板
RelicRankDetailEvent天榜详情查询requesterrankTypeentryrelicId打开排行榜详情时补充玩家公会信息
RelicArchiveRecordEvent器藏记录生成playerrelicIdrecordreason新灵器入藏时发送 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);
        }
    }
}