001package com.ericlam.mc.minigames.core.event.player; 002 003import com.ericlam.mc.minigames.core.character.GamePlayer; 004import com.ericlam.mc.minigames.core.game.InGameState; 005import org.bukkit.event.Event; 006import org.bukkit.event.HandlerList; 007 008import javax.annotation.Nonnull; 009import javax.annotation.Nullable; 010 011/** 012 * 遊戲玩家事件 013 */ 014public abstract class GamePlayerEvent extends Event { 015 016 private static final HandlerList handlerList = new HandlerList(); 017 private GamePlayer gamePlayer; 018 private InGameState gameState; 019 020 public GamePlayerEvent(GamePlayer gamePlayer, @Nullable InGameState state) { 021 this.gamePlayer = gamePlayer; 022 this.gameState = state; 023 } 024 025 public static HandlerList getHandlerList() { 026 return handlerList; 027 } 028 029 /** 030 * @return 牽涉的遊戲玩家 031 */ 032 public GamePlayer getGamePlayer() { 033 return gamePlayer; 034 } 035 036 /** 037 * @return 場地狀態 038 */ 039 @Nullable 040 public InGameState getInGameState() { 041 return gameState; 042 } 043 044 @Nonnull 045 @Override 046 public HandlerList getHandlers() { 047 return handlerList; 048 } 049}