GhostBlocks Remastered

简单原版增强插件,非常适合建造和地图创建!

资源图片
# GhostBlocks 插件 - 一个创建幽灵方块的 Minecraft 插件——这些方块是可见的,但没有碰撞/体积。 - **构建错误**: 确保您已安装 Java 17+ 和 Maven 3.6+ ## 特性 ### 🎮 核心功能 - **幽灵方块**: 创建可见但没有碰撞/体积的方块 - **分类的 GUI**: 使用 4 个类别(建筑、自然、红石、装饰)组织方块选择 - **分页系统**: 浏览每个类别的多个页面方块 - **幽灵方块移除器**: 移除幽灵方块的特殊工具,通过看着它们并右键单击 - **自动保存系统**: 幽灵方块在服务器重启和重新加载后仍然存在 ### 🛠️ 技术特性 - 使用禁用重力和衰减的 FallingBlock 实体 - 用于线程安全操作的并发数据结构 - 基于 YAML 的持久性存储 - 基于位置的幽灵方块映射,用于高效查找 - 改进的幽灵方块移除,具有视线检测 - 分类和分页的 GUI 系统 - 管理员命令用于维护和调试 ## 安装 1. 下载插件 JAR 文件 2. 将其放在服务器的 `plugins/` 目录中 3. 重启服务器 4. 插件将自动创建 `ghostblocks.yml` 配置文件 ## 命令 | 命令 | 描述 | 权限 | |---------|-------------|------------| | `/ghostblocks` | 打开幽灵方块 GUI | `ghostblocks.use` | | `/ghostblocks help` | 显示帮助信息 | `ghostblocks.use` | | `/ghostblocks count` | 显示幽灵方块数量 | `ghostblocks.use` | | `/ghostblocks manage` | 打开幽灵方块管理 GUI | `ghostblocks.use` | | `/ghostblocks remover` | 获取幽灵方块移除工具 | `ghostblocks.use` | | `/ghostblocks reload` | 重新加载插件 | `ghostblocks.admin` | | `/ghostblocks cleanup` | 清理无效的幽灵方块 | `ghostblocks.admin` | **别名:** `/gb`, `/ghost` ## 权限 - `ghostblocks.use` - 允许使用插件(默认:true) - `ghostblocks.admin` - 允许执行管理功能(默认:op) ## 使用方法 1. **获取幽灵方块**: - 使用 `/ghostblocks` 打开分类的 GUI - 单击类别按钮(建筑、自然、红石、装饰)以切换类别 - 使用上一页/下一页按钮浏览页面 - 单击任何方块以将其获取为幽灵方块物品 - 单击 "幽灵方块移除器" 以获取移除工具 2. **放置幽灵方块**: - 像放置普通方块一样放置幽灵方块物品 - 它们将自动成为幽灵方块(可见但没有体积) 3. **移除幽灵方块**: - 握住幽灵方块移除器(棒子)并看着一个幽灵方块 - 在看着幽灵方块时右键单击以将其移除 - 该工具将查找您视线中的幽灵方块 ## 方块类别 ### 🏗️ 建筑方块 - 石材变体 (石材、鹅卵石、石砖等) - 深slate 变体(深slate、鹅卵石深slate 等) - 沙岩变体(沙岩、红沙岩等) - 玄武岩变体 (玄武岩、抛光玄武岩等) - 长菱柱变体及更多 ### 🌲 自然方块 - 所有木材类型 (橡木、云杉、桦木、丛林、金合欢、深 Oak、红树林、樱花、竹子) - 去皮木材变体 - 地面方块 (泥土、青草地、斜坡、菌丝体等) - 冰块 (冰、压实冰、蓝冰) - 天然石材(方解石、粗砺石、滴水石块) ### ⚡ 红石方块 - 红石组件 (红石方块、观察者、发射器等) - 所有氧化状态的铜方块 - 功能性方块(熔炉、工作台、锻造台等) - 机械方块(活塞、粘性活塞等) ### 🎨 装饰方块 - 所有混凝土颜色和混凝土粉末 - 所有赤陶颜色和上釉赤陶 - 下界方块(下界岩石、下界砖等) - 末影方块(末影石、紫颂方块等) - 珍贵方块(钻石方块、金方块等) - 特殊方块(紫水晶、斯卡、远古碎片等) ## 技术细节 ### 幽灵方块实现 - 幽灵方块使用 FallingBlock 实体实现 - 设置的属性:`gravity=false`, `dropItem=false`, `hurtEntities=false` - 定位在方块中心,偏移量为 0.5,以实现完美的对齐 - 通过 YAML 存储跨服务器重启持久化 ### 数据存储 - 幽灵方块保存在 `plugins/GhostBlocks/ghostblocks.yml` 中 - 服务器关闭时自动保存 - 服务器启动时自动加载 - 包含世界名称、坐标、材质和唯一 ID ### 性能考虑 - 使用 ConcurrentHashMap 进行线程安全操作 - 基于位置的索引,实现 O(1) 幽灵方块查找 - 清理系统以删除无效的幽灵方块 - 对服务器性能的影响最小 ## 从源代码构建 ### 要求 - Java 17 或更高版本 - Maven 3.6+ - Paper 1.20.6 API 或更高版本 ### 构建步骤 ```bash git clone cd GhostBlocks mvn clean package ``` 编译后的 JAR 将位于 `target/` 目录中。 ## 配置 插件将在插件目录中自动创建 `ghostblocks.yml` 文件。该文件存储所有幽灵方块数据,不应手动编辑。 ## 故障排除 ### 常见问题 1. **幽灵方块没有持久化**: 检查插件是否有权写入插件目录 2. **幽灵方块显示为普通方块**: 确保您使用的是 Paper 1.20.4 而不是 Bukkit/Spigot 3. **无法移除幽灵方块**: 确保您正在直接看着幽灵方块并使用幽灵方块移除工具 4. **构建错误**: 确保您已安装 Java 17+ 和 Maven 3.6+ 5. **GUI 没有打开**: 检查您是否具有 `ghostblocks.use` 权限 ### 调试命令 - 使用 `/ghostblocks count` 查看加载了多少个幽灵方块 - 使用 `/ghostblocks cleanup` 删除任何无效的幽灵方块 - 检查服务器控制台中的任何错误消息 ## 支持 对于问题、建议或贡献: 1. 检查上面的故障排除部分 2. 检查服务器控制台中的错误消息 3. 创建一个包含问题详细信息的 issue ## 许可 本项目发布在 MIT 许可下。有关详细信息,请参阅 LICENSE 文件。 ## 版本历史 ### v1.0.0 - 初始版本 - 核心幽灵方块功能 - 分类 GUI 系统,包含 4 个类别(建筑、自然、红石、装饰) - 分页系统,便于浏览 - 改进的幽灵方块移除器,具有视线检测 - 自动保存系统 - 管理员命令 - 200+ 种方块类型,覆盖所有类别 ### v2.0.0 - **GUI 增强**: GUI 在选择方块时保持打开状态,以获得更好的用户体验 - 玩家现在可以选择多个方块,而无需重新打开 GUI - 其他 GUI 交互(移除工具、导航)的工作方式与之前相同 ### v3.0.0 - **逻辑修复**: 幽灵方块不再在一段时间后出现故障或衰减. - **新自动保存系统**: 现在,每 10 刻(0.5s),插件会自动将所有幽灵方块数据保存到插件文件夹中的专用文件。 - **块衰减已解决**: 有时,一些方块会从无消失,现在已修复。 ### v3.5.0 - 存在幽灵方块的 GUI 管理。 - 新的 GUI 改进。 - 新的游戏内命令。 - 线程安全的数据结构。 - 新的 (APDC) 系统 | 自动玩家数据清理。 ### v4.0.0 - TPS 优化。 - 多线程系统。 - 新的方块添加。