TenLives

TenLives是一个旨在为您的生存游戏玩法增加额外挑战和刺激的Minecraft插件。

资源图片
### TenLives 插件 ![logo](https://cdn.modrinth.com/data/cached_images/973fc967bf9763d804b3839249d36a858ab63045.png) **概述:** TenLives 是一个 Minecraft 插件,它通过限制玩家拥有的生命数量,增加了一种令人兴奋的生存挑战。每次死亡都会降低玩家的最大生命值,如果它降低得太低,玩家将面临诸如切换到旁观者模式或被封禁等严重后果。玩家可以使用特殊的自定义图腾来恢复生命。 **功能:** - **死亡时降低生命值:** - 每次死亡都会降低玩家的最大生命值 2 点。 - 当玩家的最大生命值降至 1 点以下时,他们将被切换到旁观者模式或被封禁,具体取决于配置。 - **生命恢复:** - 玩家可以使用自定义图腾来恢复生命。 - 自定义图腾会将玩家的最大生命值增加 2 点,最高可达 20 点。 - **可定制消息:** - 所有游戏内消息都可以通过配置文件进行定制。 - **图腾分发:** - 自定义图腾有 10% 的几率出现在存储箱卡车中。 - 玩家也可以通过 `/gettotem` 命令获得图腾,如果他们拥有必要的权限。 - **命令:** - `/gettotem <昵称>`: 如果玩家拥有所需的权限 (`tenlives.gettotem`),则给予玩家一个自定义图腾。 - **占位符:** - `%tenlives_lives%`: 基于玩家当前的最大生命值,显示玩家拥有的生命数量。 **安装:** 1. 下载 TenLives 插件。 2. 将下载的文件放入服务器的 `plugins` 目录中。 3. 启动或重启服务器以加载插件。 4. 在生成的 `config.yml` 文件中按需配置插件。 **配置:** - `config.yml` 文件允许服务器管理员自定义插件的各种方面,例如消息和死亡后的操作。 **用法:** - 玩家从默认的生命数量开始。 - 每次死亡都会降低他们的最大生命值,他们必须使用自定义图腾来恢复它。 - 管理员可以使用 `/gettotem` 命令分发图腾。 **命令:** - `/gettotem`: 如果玩家拥有所需的权限 (`tenlives.gettotem`),则给予玩家一个自定义图腾。 **配置文件 (`config.yml`):** ```yaml # TenLives 配置 death_action: "spectator" # 选项: 'spectator' 或 'ban' death_message: "&cВаши жизни закончились..." totem_name: "&6Тотем Жизни" totem_custom_model_data: 993 life_lost_title: "&cВы потеряли жизнь" life_lost_subtitle: "&eБудь внимательнее, они не вечны" life_restored_title: "&a1 Жизнь восстановлена" life_restored_subtitle: "&eПотрать её с умом" totem_received_message: "&aВы получили Тотем Жизни!" command_player_only: "&cЭту команду может использовать только игрок." no_permission_message: "&cУ вас нет прав на использование этой команды." ``` **统计数据:** - 此插件使用 bStats 收集匿名使用统计数据,以帮助改进插件。 ### 代码剖析 #### 主类: `TenLives` 这是一个主要插件类,负责: - 启用和禁用插件。 - 管理事件和命令。 - 处理玩家死亡、复活和与存储箱卡车的交互。 ##### 方法: - `onEnable()`: 初始化插件,加载配置,注册事件和命令,并设置指标。 - `onDisable()`: 插件禁用时清理。 - `onPlayerDeath(PlayerDeathEvent event)`: 处理玩家死亡并降低他们的最大生命值。 - `onPlayerRespawn(PlayerRespawnEvent event)`: 在玩家重生时向玩家提供反馈。 - `onEntityResurrect(EntityResurrectEvent event)`: 处理玩家复活,并在使用自定义图腾时恢复他们的生命值。 - `onPlayerInteractEntity(PlayerInteractEntityEvent event)`: 管理与存储箱卡车的交互并将自定义图腾添加到他们的物品栏中。 - `onCommand(CommandSender sender, Command command, String label, String[] args)`: 处理 `/gettotem` 命令。 - `createCustomTotem()`: 创建自定义图腾物品。 - `isValidTotem(ItemStack item)`: 检查项目是否为有效的自定义图腾。 #### 占位符扩展: `LivesPlaceholder` 此类与 PlaceholderAPI 集成以提供自定义占位符。 ##### 方法: - `getIdentifier()`: 返回此占位符扩展的标识符。 - `getAuthor()`: 返回此占位符扩展的作者。 - `getVersion()`: 返回此占位符扩展的版本。 - `onPlaceholderRequest(Player player, @NotNull String identifier)`: 处理占位符请求并返回对于 `%tenlives_lives%` 而言的适当值。 ### 使用说明 - 在 `config.yml` 文件中自定义消息和其他设置。 - 确保玩家拥有使用 `/gettotem` 命令的适当权限。 - 监控玩家的生命值和交互,以确保插件按预期运行。 - 使用 `%tenlives_lives%` 占位符在支持的插件或消息格式中显示玩家拥有的生命数量。