Skye Crates

用于SkyeNetwork服务器的Crates插件。

资源图片
# SkyeCrates 一个为 Paper/Spigot 服务器添加可自定义宝箱的 Minecraft 插件,宝箱包含原生的 Minecraft 掉落表和粒子效果。 ## 特性 - **原生 Minecraft 掉落表**: 完全支持 Minecraft 的掉落表格式,与 [Misode 的掉落表生成器](https://misode.github.io/loot-table/) 兼容 - **粒子效果**: 每个宝箱类型都支持自定义粒子效果,可完全控制粒子行为 - **易于配置**: 每个宝箱类型都有 YAML 配置文件 - **权限**: 内置的权限系统,用于管理管理员和用户 - **命令**: 用于管理宝箱的完整命令系统 - **Paper API**: 专为 Paper 1.21.4+ 打造,采用现代 Java 特性 ## 要求 - Minecraft 1.21.4+ - Paper 服务器(推荐)或 Spigot - Java 21+ ## 安装 1. 下载最新版本 2. 将 JAR 文件放置在服务器的 `plugins` 文件夹中 3. 重启服务器 4. 在 `plugins/SkyeCrates/crates/` 中配置你的宝箱 ## 配置 每个宝箱都在 `plugins/SkyeCrates/crates/` 文件夹中的独立 YAML 文件中进行配置。 ### 宝箱配置格式 ```yaml name: <宝箱名称> particles: type: <粒子类型> # Bukkit 粒子枚举值 deltaX: # X 轴上的粒子扩散距离 deltaY: # Y 轴上的粒子扩散距离 deltaZ: # Z 轴上的粒子扩散距离 count: <粒子数量> # 每个生成时的粒子数量 speed: <粒子速度> # 粒子的速度 loot: | <粘贴的掉落表 JSON> ``` ### 示例宝箱配置 ```yaml # 示例宝箱配置 name: "示例宝箱" # 粒子配置 particles: type: "FLAME" # 粒子类型 (参见 Bukkit 粒子枚举) deltaX: 0.5 # X 轴上的粒子扩散距离 deltaY: 0.5 # Y 轴上的粒子扩散距离 deltaZ: 0.5 # Z 轴上的粒子扩散距离 count: 15 # 每个生成时的粒子数量 speed: 0.1 # 粒子的速度 # 掉落表 (来自 Misode 的掉落表生成器的 JSON 格式) loot: | { "type": "minecraft:block", "pools": [ { "rolls": 1, "entries": [ { "type": "minecraft:item", "name": "minecraft:diamond", "weight": 1, "functions": [ { "function": "minecraft:set_count", "count": { "min": 1, "max": 3 } } ] } ] } ] } ``` ## 命令 - `/skyecrates reload` - 重新加载插件配置 - `/skyecrates list` - 列出所有可用的宝箱 - `/skyecrates give <玩家> <宝箱> [数量]` - 将一个宝箱物品给予玩家 - `/skyecrates place <宝箱>` - 在你的目标位置放置一个宝箱 - `/skyecrates remove` - 移除你正在观察的宝箱 ## 权限 - `skyecrates.admin` - 访问所有 SkyeCrates 命令 (默认: op) - `skyecrates.use` - 允许使用宝箱 (默认: true) ## 使用 Misode 的掉落表生成器 1. 访问 [Misode 的掉落表生成器](https://misode.github.io/loot-table/) 2. 使用可视化界面创建你想要的掉落表 3. 复制生成的 JSON 4. 将其直接粘贴到宝箱配置文件的 `loot:` 部分 ### 支持的掉落表特性 - **多个池**,具有不同的投骰次数 - **加权条目**,用于物品稀有度 - **函数**,如 `set_count`、`set_damage`、`enchant_with_levels` - **条件**,用于高级掉落逻辑 - **所有原版物品**及其属性 ## 示例配置 ### 基本宝箱 一个简单的宝箱,保证掉落一颗钻石: ```yaml name: "基本宝箱" particles: type: "FLAME" deltaX: 0.5 deltaY: 0.5 deltaZ: 0.5 count: 10 speed: 0.1 loot: | { "type": "minecraft:block", "pools": [ { "rolls": 1, "entries": [ { "type": "minecraft:item", "name": "minecraft:diamond" } ] } ] } ``` ### 寻宝宝箱 一个高级宝箱,包含多个物品和不同的稀有度: ```yaml name: "寻宝宝箱" particles: type: "VILLAGER_HAPPY" deltaX: 1.0 deltaY: 0.8 deltaZ: 1.0 count: 25 speed: 0.05 loot: | { "type": "minecraft:block", "pools": [ { "rolls": { "min": 2, "max": 4 }, "entries": [ { "type": "minecraft:item", "name": "minecraft:diamond", "weight": 5 }, { "type": "minecraft:item", "name": "minecraft:emerald", "weight": 8, "functions": [ { "function": "minecraft:set_count", "count": { "min": 2, "max": 5 } } ] } ] } ] } ``` ## 从源代码构建 ```bash ./gradlew build ``` 编译后的 JAR 将位于 `build/libs/` 目录中