InBlock —— 可右键执行命令的自定义方块
一个轻量的功能性方块插件。简单说,就是让你把任意原版方块变成一个"能点的东西":玩家右键它就执行你配置好的命令,像工作台、分解台、传送台那种交互方块都能靠它做出来,不用写代码。
做这个是因为自己开服时想搞几个功能台子,找现成插件要么太重要么要联动一堆前置,干脆自己写了个够用的。配置全在一个 config.yml 里,加方块就是复制粘贴一段改改。
能做什么
- 把任意可放置的原版方块定义成自定义方块,右键触发命令
- 命令支持按玩家或控制台身份执行,可以带 %player% 占位符
- 每个方块可单独设使用权限,没权限的玩家点了会被拦下
- 方块上方可以显示一行全息字(可选开关),内容就是物品的显示名,支持颜色代码
- 自定义方块被破坏时掉落的还是它自己,不会变回普通方块
- 内置一个仓库界面,把所有配置好的方块列出来方便拿
- 支持 /inb reload 热重载,改完配置不用重启
指令
/inb open 打开仓库界面,领取自定义方块
/inb give <玩家> <方块ID> <数量> 给指定在线玩家发放方块
/inb reload 重载配置
权限节点
Inblock.open 允许打开仓库界面
Inblock.give 允许给予方块
Inblock.reload 允许重载配置
以上默认仅 OP。方块本身的使用权限在每个方块的 permissions 里单独配。
配置示例
YAML:
blocks:
example_block:
material: BEACON # 原版材质,必须是可放置的方块
display:
name: "&6分解台 &7Lv.1" # 物品名 / 全息字内容,支持 &颜色代码
lore:
- "&7- 右键放置使用"
hologram: true # 是否在方块上方显示全息字
commands:
- "[player]inc open 1级分解台" # 以玩家身份执行;不加前缀则控制台执行
permissions:
- "inblock.fenjietai.lv1.use" # 需要的权限,留空则任何人可用
命令前缀说明:不写前缀默认走控制台,[player] 改成玩家自己执行,[console] 显式走控制台。命令里的 %player% 会替换成右键玩家的名字。
环境要求
- 服务端:Paper 1.21.4(或同版本分支)
- Java 21
安装
丢进 plugins 文件夹重启,会自动生成默认配置。照着示例改 config.yml,进游戏 /inb reload 即可生效。