in7 发表于 5 天前

[原创]InBlock —— 可右键执行命令的自定义方块

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

页: [1]
查看完整版本: [原创]InBlock —— 可右键执行命令的自定义方块