001package com.ericlam.mc.minigames.core.character; 002 003import org.bukkit.entity.Player; 004 005/** 006 * 讓使用者註冊的遊戲玩家處理機制。 007 */ 008public interface GamePlayerHandler { 009 010 /** 011 * 當玩家的狀態被改變時的事件處理 012 * 013 * @param player 被改變狀態的玩家 014 * @param status 已改變的狀態 015 */ 016 void onPlayerStatusChange(GamePlayer player, GamePlayer.Status status); 017 018 /** 019 * 當玩家被小遊戲系統移除的事件處理 020 * 021 * @param player 被移除的玩家 022 */ 023 void onPlayerRemove(GamePlayer player); 024 025 /** 026 * 定義如何創建遊戲玩家 027 * 028 * @param player 玩家實體 029 * @return 遊戲玩家的容器 030 */ 031 GamePlayer createGamePlayer(Player player); 032 033 /** 034 * @return 最少開始遊戲人數 035 */ 036 int requireStart(); 037 038}