程序包 com.playerblocklife

# 类 PlayerBlockLife

java.lang.Object
org.bukkit.plugin.PluginBase
org.bukkit.plugin.java.JavaPlugin
com.playerblocklife.PlayerBlockLife

所有已实现的接口:
  `io.papermc.paper.plugin.lifecycle.event.LifecycleEventOwner`, `org.bukkit.command.CommandExecutor`, `org.bukkit.command.TabCompleter`, `org.bukkit.command.TabExecutor`, `org.bukkit.plugin.Plugin`

public class PlayerBlockLife extends org.bukkit.plugin.java.JavaPlugin
PlayerBlockLife插件主类 - 玩家生命方块系统的核心控制器

这个插件为Minecraft服务器添加了一个独特的游戏机制：每个玩家拥有一定数量的生命方块， 这些方块使用玩家的皮肤作为材质。当其他玩家挖光某个玩家的所有生命方块时，该玩家会被淘汰。

主要功能：

- 管理玩家生命方块的生成和销毁
- 处理玩家皮肤的获取和应用
- 监控玩家生命值状态
- 提供完整的命令和权限系统
- 支持配置热重载和数据持久化

从以下版本开始:
  1.0.0
版本:
  3.0.0-experimental-1.20.4
作者:
  xiaobai

## 构造器概要

构造器
构造器
说明
`PlayerBlockLife()`

## 方法概要

修饰符和类型
方法
说明
`PlayerBlockManager`
`getBlockManager()`
`ConfigManager`
`getConfigManager()`
`static PlayerBlockLife`
`getInstance()`
获取插件单例实例
`LifeSystem`
`getLifeSystem()`
`MessageManager`
`getMessageManager()`
`SkinManager`
`getSkinManager()`
`void`
`logError(String message, Throwable throwable)`
`void`
`logInfo(String message)`
`void`
`logWarning(String message)`
`void`
`onDisable()`
插件禁用时调用，执行清理操作
`void`
`onEnable()`
插件启用时调用，执行初始化操作
`void`
`reloadConfig()`
重写 reloadConfig 方法，避免循环依赖
`void`
`reloadPluginConfig()`
插件的完整重载方法（用于命令）

### 从类继承的方法 org.bukkit.plugin.java.JavaPlugin

`getClassLoader, getCommand, getConfig, getDataFolder, getDefaultBiomeProvider, getDefaultWorldGenerator, getDescription, getFile, getLifecycleManager, getLogger, getPlugin, getPluginLoader, getPluginMeta, getProvidingPlugin, getResource, getServer, getTextResource, init, init, isEnabled, isNaggable, onCommand, onLoad, onTabComplete, saveConfig, saveDefaultConfig, saveResource, setEnabled, setNaggable, toString`

### 从类继承的方法 org.bukkit.plugin.PluginBase

`equals, getName, hashCode`

### 从类继承的方法 java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### 从接口继承的方法 org.bukkit.plugin.Plugin

`getComponentLogger, getLog4JLogger, getSLF4JLogger`

## 构造器详细资料

### PlayerBlockLife

public PlayerBlockLife()

## 方法详细资料

### onEnable

public void onEnable()
插件启用时调用，执行初始化操作

初始化流程：

1. 保存默认配置文件
2. 初始化所有管理器（注意依赖顺序）
3. 加载配置和消息数据
4. 注册事件监听器
5. 注册命令执行器
6. 加载玩家数据和皮肤缓存
7. 启动定时任务

指定者:
  `onEnable` 在接口中 `org.bukkit.plugin.Plugin`
覆盖:
  `onEnable` 在类中 `org.bukkit.plugin.java.JavaPlugin`
另请参阅:
  - `onDisable()`

### onDisable

public void onDisable()
插件禁用时调用，执行清理操作

执行以下清理操作：

- 保存玩家方块数据到文件
- 保存皮肤缓存数据
- 记录插件禁用日志

指定者:
  `onDisable` 在接口中 `org.bukkit.plugin.Plugin`
覆盖:
  `onDisable` 在类中 `org.bukkit.plugin.java.JavaPlugin`
另请参阅:
  - `onEnable()`

### reloadConfig

public void reloadConfig()
重写 reloadConfig 方法，避免循环依赖

指定者:
  `reloadConfig` 在接口中 `org.bukkit.plugin.Plugin`
覆盖:
  `reloadConfig` 在类中 `org.bukkit.plugin.java.JavaPlugin`

### reloadPluginConfig

public void reloadPluginConfig()
插件的完整重载方法（用于命令）

重新加载所有插件配置和数据，包括：

- 主配置文件 (config.yml)
- 消息配置文件 (messages.yml)
- 玩家方块数据
- 皮肤缓存数据

这个方法通常由管理员通过/pblreload命令调用。

### getInstance

public static PlayerBlockLife getInstance()
获取插件单例实例

提供全局访问点，允许其他类访问插件主实例。

返回:
  PlayerBlockLife插件实例
抛出:
  `IllegalStateException` - 如果插件尚未启用（实例为null）

### getBlockManager

public PlayerBlockManager getBlockManager()

### getSkinManager

public SkinManager getSkinManager()

### getLifeSystem

public LifeSystem getLifeSystem()

### getConfigManager

public ConfigManager getConfigManager()

### getMessageManager

public MessageManager getMessageManager()

### logInfo

public void logInfo(String message)

### logWarning

public void logWarning(String message)

### logError

public void logError(String message, Throwable throwable)