RaidStopEvent
RaidStopEvent
继承关系
类描述
Called when a {@link Raid} is stopped.
当袭击中止时触发。
译注:当一次袭击中止(比如游戏难度切换为和平)时,会触发
RaidStopEvent
,然后结束,不会触发RaidFinishEvent
。触发情况详列于下方。当一次袭击失败(袭击中心不在村庄范围内且已生成过至少一波袭击者)时,会触发
RaidFinishEvent
,此时RaidFinishEvent#getWinners()
方法返回空列表,不会触发RaidStopEvent
。当一次袭击胜利时,会先触发
RaidFinishEvent
,然后进行庆祝倒计时,庆祝完毕后触发RaidStopEvent
。就袭击中止原因而言,一共有五种。与
RaidStopEvent.Reason
枚举项一一对应。其一是游戏难度被设为和平。和平状态下不能生成怪物,遑论产生袭击。
其二是袭击持续时间过久。参见
Minecraft Wiki
中的相关页面 https://minecraft.fandom.com/wiki/Raid#Expiring 可知,当袭击持续了现实世界中的四十分钟以后,如果还没有胜利或失败,会中止。其三是袭击结束。袭击胜利时,先触发
RaidFinishEvent
,然后进行庆祝倒计时,庆祝完毕后触发RaidStopEvent
。其四是无法找到合适位置生成袭击者。详见
RaidSpawnWaveEvent
译注。如果三次确定袭击者生成位置的尝试均失败,则袭击中止。其五是袭击中心不在村庄范围内。此时如果生成过至少一波袭击者,则判定为袭击失败,直接触发
RaidFinishEvent
,不会触发RaidStopEvent
。如果袭击中心不属于任何村庄范围,且没有生成过袭击者,则触发RaidStopEvent
,袭击中止。
方法列表
getReason
方法声明: public Reason getReason()
方法签名: ()Lorg/bukkit/event/raid/RaidStopEvent/Reason;
Returns the stop reason.
@return Reason
该方法用于获取袭击中止的原因。
@return 一个
Reason
枚举字段,用于确定袭击中止的详细原因。
getHandlers
方法声明: public HandlerList getHandlers()
方法签名: ()Lorg/bukkit/event/HandlerList;
getHandlerList
方法声明: public static HandlerList getHandlerList()
方法签名: ()Lorg/bukkit/event/HandlerList;
枚举: Reason
译注:无文档。该类系用于确定袭击中止原因的枚举。
PEACE
Because the difficulty has been changed to peaceful.
游戏难度被设置为和平。
译注:见上。
TIMEOUT
The raid took a long time without a final result.
袭击旷日持久,并且没有最终结果。
译注:见上。
FINISHED
Finished the raid.
袭击结束。
译注:见上。
UNSPAWNABLE
Couldn't find a suitable place to spawn raiders.
无法找到合适位置生成袭击者。
译注:见上。
NOT_IN_VILLAGE
The place where the raid occurs no longer be a village.
袭击发生处已经不再位于村庄范围内。
译注:见上。
Last updated