DisableInteraction
Disable specified block interactions through whitelist and blacklist.
DisableInteraction
DisableInteraction Plugin / 禁用交互插件
A Minecraft Paper plugin for disabling right-click interactions with specific blocks. 一个用于禁用特定方块右键交互的Minecraft Paper插件。
---
Features / 功能特性
Configuration System / 配置系统
- 动态方块列表 - Switch between allowing only listed blocks or blocking listed blocks 动态方块列表 - 切换仅允许列表中方块或阻止列表中方块 - 动态方块列表 - Set custom notification messages with color codes 动态方块列表 - 使用颜色代码设置自定义提示消息 - 动态方块列表 - Enable/disable notification messages completely 动态方块列表 - 完全启用/禁用提示消息 - 动态方块列表 - Manage block list through commands, no config editing required 动态方块列表 - 通过命令管理方块列表,无需编辑配置文件
Command System / 命令系统
- Complete command set for managing block interactions 完整的管理方块交互命令集 - Tab completion support for block IDs and commands 支持方块ID和命令的Tab补全 - Handheld block detection when no block ID specified 未指定方块ID时检测手持方块
Permission System / 权限系统
- Admin permissions for managing the plugin 用于管理插件的管理员权限 - Bypass permission to ignore interaction restrictions 绕过交互限制的权限
---
Installation / 安装
Requirements / 要求
- Minecraft Server 1.21+ Minecraft服务器 1.21+ - Paper/Spigot API 1.21.11+ Paper/Spigot API 1.21.11+
Steps / 步骤
1. Download the latest `DisableInteraction-1.0-SNAPSHOT.jar` from the `build/libs` folder 从 `build/libs` 文件夹下载最新的 `DisableInteraction-1.0-SNAPSHOT.jar` 2. Place the JAR file in your server's `plugins` folder 将JAR文件放入服务器的 `plugins` 文件夹 3. Restart or reload your server (`/reload` or `/plugman reload DisableInteraction`) 重启或重载服务器(`/reload` 或 `/plugman reload DisableInteraction`) 4. The plugin will generate a default configuration file at `plugins/DisableInteraction/config.yml` 插件将在 `plugins/DisableInteraction/config.yml` 生成默认配置文件
---
Configuration / 配置
Default Configuration File / 默认配置文件
```yaml
DisableInteraction Plugin Configuration File
DisableInteraction 插件配置文件
Mode settings: "whitelist" or "blacklist" (default: blacklist)
模式设置:"whitelist" 或 "blacklist"(默认:blacklist)
mode: "blacklist"
Message settings (supports color codes using & symbol)
消息设置(支持使用&符号的颜色代码)
messages:
Enable/disable notification messages (true/false)
启用/禁用提示消息(true/false)
enabled: true
Message for blacklist mode
黑名单模式下的提示消息
blacklist: "&c这个方块已被禁用交互。"
Message for whitelist mode
白名单模式下的提示消息
whitelist: "&c只有白名单中的方块可以交互。"
Block list (Block IDs in uppercase, e.g., OAK_DOOR, STONE_BUTTON, CHEST)
方块列表(大写方块ID,例如:OAK_DOOR, STONE_BUTTON, CHEST)
Blacklist mode: Blocks in this list cannot be interacted with
Whitelist mode: Only blocks in this list can be interacted with
Note: Default list is empty, add blocks using commands
黑名单模式:列表中的方块无法交互
白名单模式:只有列表中的方块可以交互
注意:默认列表为空,使用命令添加方块
blocks: [] ```
Configuration Reload / 配置重载
Use `/disableinteraction reload` to reload the configuration without restarting the server. 使用 `/disableinteraction reload` 重载配置而无需重启服务器。
---
Commands / 命令
Main Command / 主命令
``` /disableinteraction [subcommand] ```
Subcommands / 子命令
Mode Management / 模式管理
| Command / 命令 | Description / 描述 | Permission / 权限 | |----------------|-------------------|-------------------| | `/disableinteraction whitelist` | Switch to whitelist mode (only listed blocks can be interacted with) <br> 切换到白名单模式(只有列表中的方块可以交互) | `disableinteraction.admin` | | `/disableinteraction blacklist` | Switch to blacklist mode (listed blocks cannot be interacted with) <br> 切换到黑名单模式(列表中的方块无法交互) | `disableinteraction.admin` |
Block Management / 方块管理
| Command / 命令 | Description / 描述 | Permission / 权限 | |----------------|-------------------|-------------------| | `/disableinteraction add [blockID]` | Add a block to the list (uses held block if no ID specified) <br> 添加方块到列表(未指定ID时使用手持方块) | `disableinteraction.admin` | | `/disableinteraction remove [blockID]` | Remove a block from the list (uses held block if no ID specified) <br> 从列表移除方块(未指定ID时使用手持方块) | `disableinteraction.admin` | | `/disableinteraction list [page]` | View the current block list with pagination <br> 查看当前方块列表(分页显示) | `disableinteraction.admin` |
Utility Commands / 实用命令
| Command / 命令 | Description / 描述 | Permission / 权限 | |----------------|-------------------|-------------------| | `/disableinteraction reload` | Reload the configuration file <br> 重新加载配置文件 | `disableinteraction.admin` | | `/disableinteraction` (no args) | Show command help <br> 显示命令帮助 | None |
Examples / 示例
```bash
Add blocks to the list
添加方块到列表
/disableinteraction add OAK_DOOR /disableinteraction add CHEST /disableinteraction add # Uses held block
Remove blocks from the list
从列表移除方块
/disableinteraction remove STONE_BUTTON
View block list
查看方块列表
/disableinteraction list /disableinteraction list 2 # Page 2
Switch modes
切换模式
/disableinteraction whitelist /disableinteraction blacklist
Reload configuration
重新加载配置
/disableinteraction reload ```
---
Permissions / 权限
| Permission Node / 权限节点 | Description / 描述 | Default / 默认 | |---------------------------|-------------------|----------------| | `disableinteraction.admin` | Allows use of all management commands <br> 允许使用所有管理命令 | `op` | | `disableinteraction.bypass` | Allows bypassing interaction restrictions <br> 允许绕过交互限制 | `op` |
Permission Examples / 权限示例
```yaml
Give a player admin permissions
给予玩家管理员权限
/luckperms user <player> permission set disableinteraction.admin true
Give a player bypass permissions
给予玩家绕过权限
/luckperms user <player> permission set disableinteraction.bypass true
Give a group admin permissions
给予组管理员权限
/luckperms group <group> permission set disableinteraction.admin true ```
---
How It Works / 工作原理
Interaction Logic / 交互逻辑
1. 黑名单模式 / 黑名单模式: - Blocks in the list: ❌ Interaction blocked - Blocks not in the list: ✅ Interaction allowed - 列表中的方块:❌ 交互被阻止 - 不在列表中的方块:✅ 交互允许
2. 白名单模式 / 白名单模式: - Blocks in the list: ✅ Interaction allowed - Blocks not in the list: ❌ Interaction blocked - 列表中的方块:✅ 交互允许 - 不在列表中的方块:❌ 交互被阻止
Message System / 消息系统
- When `messages.enabled: true`: Players receive configured messages when interaction is blocked 当 `messages.enabled: true`:交互被阻止时玩家收到配置的消息 - When `messages.enabled: false`: Interaction is silently blocked without messages 当 `messages.enabled: false`:交互被静默阻止,不显示消息 - Messages support Minecraft color codes using `&` symbol (e.g., `&c` for red, `&a` for green) 消息支持使用 `&` 符号的Minecraft颜色代码(例如:`&c` 红色,`&a` 绿色)
Bypass Permission / 绕过权限
Players with `disableinteraction.bypass` permission can interact with all blocks regardless of configuration. 拥有 `disableinteraction.bypass` 权限的玩家可以无视配置与所有方块交互。
---
Development / 开发
Building from Source / 从源码构建
```bash
Clone the repository
克隆仓库
git clone <repository-url> cd DisableInteraction
Build the plugin
构建插件
./gradlew build
The JAR file will be in build/libs/
JAR文件将在 build/libs/ 目录中
```
Project Structure / 项目结构
``` src/main/java/com/lorshancraft/disableInteraction/ ├── DisableInteraction.java # Main plugin class / 主插件类 ├── ConfigManager.java # Configuration management / 配置管理 ├── InteractionListener.java # Event listener for interactions / 交互事件监听器 └── CommandHandler.java # Command implementation / 命令实现
src/main/resources/ ├── plugin.yml # Plugin metadata / 插件元数据 └── config.yml # Default configuration / 默认配置 ```
Dependencies / 依赖
- Paper API 1.21.11-R0.1-SNAPSHOT - Java 21+
---
Troubleshooting / 故障排除
Common Issues / 常见问题
| Issue / 问题 | Solution / 解决方案 | |-------------|-------------------| | Plugin doesn't load / 插件未加载 | Check server logs for errors, ensure you're using Paper 1.21+ <br> 检查服务器日志中的错误,确保使用 Paper 1.21+ | | Commands don't work / 命令不工作 | Check permission nodes, ensure command is registered in plugin.yml <br> 检查权限节点,确保命令在plugin.yml中注册 | | Configuration doesn't apply / 配置不生效 | Use `/disableinteraction reload` or restart server <br> 使用 `/disableinteraction reload` 或重启服务器 | | Invalid block IDs / 无效的方块ID | Use correct Material enum names (e.g., `OAK_DOOR`, `STONE_BUTTON`) <br> 使用正确的Material枚举名称(例如:`OAK_DOOR`, `STONE_BUTTON`) | | No notification messages / 没有提示消息 | Check `messages.enabled` in config.yml <br> 检查config.yml中的 `messages.enabled` |
Debugging / 调试
Enable debug mode in server logs: 在服务器日志中启用调试模式: ```properties
In server.properties or paper-world-defaults.yml
在 server.properties 或 paper-world-defaults.yml 中
debug: true ```
Check plugin logs after loading: 加载后检查插件日志: ```bash
The plugin logs its status on startup
插件在启动时会记录其状态
[DisableInteraction] Plugin enabled [DisableInteraction] Current mode: blacklist [DisableInteraction] Loaded blocks: 5 ```
---
Changelog / 更新日志
v1.0-SNAPSHOT
- Initial release with whitelist/blacklist modes 初始版本,包含白名单/黑名单模式 - Dynamic block management through commands 通过命令动态管理方块 - Customizable messages with toggle 可自定义消息及开关 - Complete permission system 完整的权限系统 - Tab completion for commands and block IDs 命令和方块ID的Tab补全
---
License / 许可证
This project is licensed under the MIT License - see the LICENSE file for details. 本项目基于 MIT 许可证 - 详见 LICENSE 文件。
---
Support / 支持
For issues, feature requests, or questions: 问题、功能请求或疑问:
1. Check the GitHub Issues 查看 GitHub Issues 2. Join our Discord server 加入我们的Discord服务器 3. Contact the developer directly 直接联系开发者
---
Credits / 致谢
- Developed by LorShanCraft Development Team 由 LorShanCraft 开发团队开发 - Built with Paper API 基于 Paper API 构建 - Inspired by community needs for block interaction management 受社区对方块交互管理需求的启发
---
*Last Updated: 2026-03-16* *最后更新:2026年3月16日*