diff --git a/build/classes/java/main/com/playerblocklife/AdminCommands$1.class b/build/classes/java/main/com/playerblocklife/AdminCommands$1.class
new file mode 100644
index 0000000..8c3d66a
Binary files /dev/null and b/build/classes/java/main/com/playerblocklife/AdminCommands$1.class differ
diff --git a/build/classes/java/main/com/playerblocklife/CheckLifeBlocksCommand$1.class b/build/classes/java/main/com/playerblocklife/CheckLifeBlocksCommand$1.class
new file mode 100644
index 0000000..e0ffc56
Binary files /dev/null and b/build/classes/java/main/com/playerblocklife/CheckLifeBlocksCommand$1.class differ
diff --git a/build/classes/java/main/com/playerblocklife/GameStateManager$GameState.class b/build/classes/java/main/com/playerblocklife/GameStateManager$GameState.class
new file mode 100644
index 0000000..7c48edc
Binary files /dev/null and b/build/classes/java/main/com/playerblocklife/GameStateManager$GameState.class differ
diff --git a/build/classes/java/main/com/playerblocklife/GameStateManager.class b/build/classes/java/main/com/playerblocklife/GameStateManager.class
new file mode 100644
index 0000000..d87fb4e
Binary files /dev/null and b/build/classes/java/main/com/playerblocklife/GameStateManager.class differ
diff --git a/build/classes/java/main/com/playerblocklife/PBLCommands.class b/build/classes/java/main/com/playerblocklife/PBLCommands.class
new file mode 100644
index 0000000..fdf9c23
Binary files /dev/null and b/build/classes/java/main/com/playerblocklife/PBLCommands.class differ
diff --git a/build/docs/javadoc/com/playerblocklife/GameStateManager.GameState.html b/build/docs/javadoc/com/playerblocklife/GameStateManager.GameState.html
new file mode 100644
index 0000000..6d72062
--- /dev/null
+++ b/build/docs/javadoc/com/playerblocklife/GameStateManager.GameState.html
@@ -0,0 +1,241 @@
+
+
+
+
+GameStateManager.GameState (PlayerBlockLife 2.2.0-alpha-1.20.4 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+-
+
+
+
+-
+
+
+
+-
+
+
方法概要
+
+
+
+
+
+
+
+
+
+
+
+
+
+
返回包含该枚举类的常量的数组,
+顺序与声明这些常量的顺序相同
+
+
+
+
+
+
从类继承的方法 java.lang.Enum
+
clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+
+
+
+-
+
+
+
+-
+
+
方法详细资料
+
+-
+
+
values
+
+返回包含该枚举类的常量的数组,
+顺序与声明这些常量的顺序相同
+
+- 返回:
+- 包含该枚举类的常量的数组,顺序与声明这些常量的顺序相同
+
+
+
+-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/docs/javadoc/com/playerblocklife/GameStateManager.html b/build/docs/javadoc/com/playerblocklife/GameStateManager.html
new file mode 100644
index 0000000..20ce4b3
--- /dev/null
+++ b/build/docs/javadoc/com/playerblocklife/GameStateManager.html
@@ -0,0 +1,503 @@
+
+
+
+
+GameStateManager (PlayerBlockLife 2.2.0-alpha-1.20.4 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+public class GameStateManager
+
extends Object
+游戏状态管理器 - PBL生存游戏模式的核心管理器
+
+
主要功能包括:
+
+ - 管理游戏状态(等待中/游戏中/已结束)
+ - 为非OP玩家分配独特颜色的生命方块
+ - 处理游戏开始时的生命方块生成
+ - 控制游戏开始和结束逻辑
+ - 管理实时计分板显示(游戏状态、剩余方块、限时等)
+ - 处理游戏重置和玩家淘汰
+ - 监控游戏结束条件(仅剩一名存活玩家或限时结束)
+
+
+
游戏模式特性:
+
+ - OP玩家始终处于观察者模式,不参与游戏
+ - 非OP玩家在等待时处于冒险模式,手中持有对应颜色方块
+ - 游戏开始后非OP玩家转为生存模式并清空背包
+ - 使用不同颜色的羊毛、玻璃、水泥方块作为生命方块
+ - 支持限时游戏模式
+ - 游戏结束时显示胜利玩家
+
+
+- 从以下版本开始:
+- 4.0.0
+
+
+
+
+
+-
+
+
+
+-
+
+
+
+-
+
+
方法概要
+
+
+
+
+
+
+
+
void
+
+
+
void
+
+
+
void
+
+
+
boolean
+
+
+
+
+
+
int
+
+
+
+
+
+
int
+
+
+
long
+
+
+
+
+
+
org.bukkit.Material
+
+
+
int
+
+
+
boolean
+
+
+
boolean
+
removeBlock(org.bukkit.Location location,
+ org.bukkit.entity.Player breaker)
+
+
void
+
+
+
void
+
+
+
void
+
+
+
void
+
+
+
void
+
+
+
void
+
+
+
+
+
+
+
从类继承的方法 java.lang.Object
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+-
+
+
+
+-
+
+
方法详细资料
+
+-
+
+
+-
+
+
+-
+
+
assignPlayerColor
+public void assignPlayerColor(org.bukkit.entity.Player player)
+为玩家分配颜色
+
+- 参数:
+player - 要分配颜色的玩家
+
+
+
+-
+
+
generateLifeBlocksForPlayer
+public boolean generateLifeBlocksForPlayer(org.bukkit.entity.Player player)
+为玩家生成生命方块
+
+- 参数:
+player - 要生成生命方块的玩家
+- 返回:
+- 生成成功返回true,否则返回false
+
+
+
+-
+
+
removeBlock
+public boolean removeBlock(org.bukkit.Location location,
+ org.bukkit.entity.Player breaker)
+移除被破坏的生命方块
+
+- 参数:
+location - 方块位置
+breaker - 破坏方块的玩家
+- 返回:
+- 移除成功返回true,否则返回false
+
+
+
+-
+
+
checkGameEnd
+public void checkGameEnd()
+检查游戏是否结束
+
+
+-
+
+
startTimedGame
+public void startTimedGame(int minutes)
+开始限时游戏
+
+- 参数:
+minutes - 游戏限时(分钟)
+
+
+
+-
+
+
startGame
+public void startGame()
+开始游戏
+
+
+-
+
+
resetGame
+public void resetGame()
+重置游戏
+
+
+-
+
+
getRemainingBlocks
+public int getRemainingBlocks(UUID playerId)
+获取玩家剩余方块数量
+
+- 参数:
+playerId - 玩家UUID
+- 返回:
+- 玩家剩余方块数量
+
+
+
+-
+
+
getPlayerColor
+public org.bukkit.Material getPlayerColor(UUID playerId)
+获取玩家颜色
+
+- 参数:
+playerId - 玩家UUID
+- 返回:
+- 玩家的颜色材料
+
+
+
+-
+
+
updateScoreboard
+public void updateScoreboard()
+更新计分板
+
+
+-
+
+
updatePlayerScoreboard
+public void updatePlayerScoreboard(org.bukkit.entity.Player player)
+更新玩家特定的计分板信息
+
+- 参数:
+player - 要更新计分板的玩家
+
+
+
+-
+
+
getAlivePlayersCount
+public int getAlivePlayersCount()
+获取存活玩家数量
+
+- 返回:
+- 存活玩家数量
+
+
+
+-
+
+
getAlivePlayers
+
+获取所有存活玩家
+
+- 返回:
+- 存活玩家UUID列表
+
+
+
+-
+
+
getPlayerBlocks
+public Map<UUID,List<org.bukkit.Location>> getPlayerBlocks()
+获取所有玩家的方块位置
+
+- 返回:
+- 玩家UUID到方块位置列表的映射
+
+
+
+-
+
+
clearPlayerBlocks
+public void clearPlayerBlocks(UUID playerId)
+清除指定玩家的方块
+
+- 参数:
+playerId - 要清除方块的玩家UUID
+
+
+
+-
+
+
getGameDuration
+public int getGameDuration()
+获取游戏持续时间(分钟)
+
+- 返回:
+- 游戏持续时间(分钟)
+
+
+
+-
+
+
getGameStartTime
+public long getGameStartTime()
+获取游戏开始时间戳
+
+- 返回:
+- 游戏开始时间戳
+
+
+
+-
+
+
isLimitedTime
+public boolean isLimitedTime()
+检查是否为限时游戏
+
+- 返回:
+- 如果是限时游戏返回true,否则返回false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/docs/javadoc/com/playerblocklife/PBLCommands.html b/build/docs/javadoc/com/playerblocklife/PBLCommands.html
new file mode 100644
index 0000000..f5aa2e8
--- /dev/null
+++ b/build/docs/javadoc/com/playerblocklife/PBLCommands.html
@@ -0,0 +1,198 @@
+
+
+
+
+PBLCommands (PlayerBlockLife 2.2.0-alpha-1.20.4 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+- 所有已实现的接口:
+org.bukkit.command.CommandExecutor
+
+
+public class PBLCommands
+
extends Object
+implements org.bukkit.command.CommandExecutor
+PBL命令执行器 - 处理PBL游戏模式的专用命令
+
+
提供PBL游戏模式的核心控制命令,包括:
+
+ - /PBL start [时间] - 开始游戏,支持可选的限时模式
+ - /PBL rstgm - 重置游戏,重新分配玩家颜色
+
+
+
这些命令仅允许服务器管理员(OP)执行,用于控制PBL游戏的生命周期。
+
+- 从以下版本开始:
+- 4.0.0
+
+
+
+
+
+-
+
+
+
+-
+
+
方法概要
+
+
+
+
+
+
+
+
boolean
+
onCommand(org.bukkit.command.CommandSender sender,
+ org.bukkit.command.Command command,
+ String label,
+ String[] args)
+
+
+
+
+
+
从类继承的方法 java.lang.Object
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+-
+
+
+
+-
+
+
方法详细资料
+
+-
+
+
onCommand
+public boolean onCommand(org.bukkit.command.CommandSender sender,
+ org.bukkit.command.Command command,
+ String label,
+ String[] args)
+
+- 指定者:
+onCommand 在接口中 org.bukkit.command.CommandExecutor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/AdminCommands$1.class.uniqueId5 b/build/tmp/compileJava/compileTransaction/stash-dir/AdminCommands$1.class.uniqueId5
new file mode 100644
index 0000000..8c3d66a
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/AdminCommands$1.class.uniqueId5 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/AdminCommands.class.uniqueId15 b/build/tmp/compileJava/compileTransaction/stash-dir/AdminCommands.class.uniqueId15
new file mode 100644
index 0000000..1f43818
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/AdminCommands.class.uniqueId15 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/BlockBreakListener.class.uniqueId16 b/build/tmp/compileJava/compileTransaction/stash-dir/BlockBreakListener.class.uniqueId16
new file mode 100644
index 0000000..d38cb03
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/BlockBreakListener.class.uniqueId16 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/CheckLifeBlocksCommand$1.class.uniqueId0 b/build/tmp/compileJava/compileTransaction/stash-dir/CheckLifeBlocksCommand$1.class.uniqueId0
new file mode 100644
index 0000000..e0ffc56
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/CheckLifeBlocksCommand$1.class.uniqueId0 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/CheckLifeBlocksCommand.class.uniqueId6 b/build/tmp/compileJava/compileTransaction/stash-dir/CheckLifeBlocksCommand.class.uniqueId6
new file mode 100644
index 0000000..b705a7b
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/CheckLifeBlocksCommand.class.uniqueId6 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ConfigManager.class.uniqueId14 b/build/tmp/compileJava/compileTransaction/stash-dir/ConfigManager.class.uniqueId14
new file mode 100644
index 0000000..f73650d
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/ConfigManager.class.uniqueId14 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/GameStateManager$GameState.class.uniqueId7 b/build/tmp/compileJava/compileTransaction/stash-dir/GameStateManager$GameState.class.uniqueId7
new file mode 100644
index 0000000..7c48edc
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/GameStateManager$GameState.class.uniqueId7 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/GameStateManager.class.uniqueId1 b/build/tmp/compileJava/compileTransaction/stash-dir/GameStateManager.class.uniqueId1
new file mode 100644
index 0000000..d87fb4e
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/GameStateManager.class.uniqueId1 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/LifeSystem.class.uniqueId2 b/build/tmp/compileJava/compileTransaction/stash-dir/LifeSystem.class.uniqueId2
new file mode 100644
index 0000000..e3e7ccf
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/LifeSystem.class.uniqueId2 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/MessageManager.class.uniqueId17 b/build/tmp/compileJava/compileTransaction/stash-dir/MessageManager.class.uniqueId17
new file mode 100644
index 0000000..2f89791
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/MessageManager.class.uniqueId17 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/PBLCommands.class.uniqueId13 b/build/tmp/compileJava/compileTransaction/stash-dir/PBLCommands.class.uniqueId13
new file mode 100644
index 0000000..fdf9c23
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/PBLCommands.class.uniqueId13 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/PlayerBlockLife.class.uniqueId8 b/build/tmp/compileJava/compileTransaction/stash-dir/PlayerBlockLife.class.uniqueId8
new file mode 100644
index 0000000..5549760
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/PlayerBlockLife.class.uniqueId8 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/PlayerBlockManager$1.class.uniqueId9 b/build/tmp/compileJava/compileTransaction/stash-dir/PlayerBlockManager$1.class.uniqueId9
new file mode 100644
index 0000000..ead2c85
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/PlayerBlockManager$1.class.uniqueId9 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/PlayerBlockManager.class.uniqueId10 b/build/tmp/compileJava/compileTransaction/stash-dir/PlayerBlockManager.class.uniqueId10
new file mode 100644
index 0000000..98f1f54
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/PlayerBlockManager.class.uniqueId10 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/PlayerJoinListener.class.uniqueId4 b/build/tmp/compileJava/compileTransaction/stash-dir/PlayerJoinListener.class.uniqueId4
new file mode 100644
index 0000000..2e4bfa8
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/PlayerJoinListener.class.uniqueId4 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/PlayerQuitListener.class.uniqueId3 b/build/tmp/compileJava/compileTransaction/stash-dir/PlayerQuitListener.class.uniqueId3
new file mode 100644
index 0000000..a5986fc
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/PlayerQuitListener.class.uniqueId3 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/SetLifeBlocksCommand.class.uniqueId11 b/build/tmp/compileJava/compileTransaction/stash-dir/SetLifeBlocksCommand.class.uniqueId11
new file mode 100644
index 0000000..4c53868
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/SetLifeBlocksCommand.class.uniqueId11 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/SkinManager.class.uniqueId12 b/build/tmp/compileJava/compileTransaction/stash-dir/SkinManager.class.uniqueId12
new file mode 100644
index 0000000..2877efb
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/SkinManager.class.uniqueId12 differ