凭印象还原的一个古早时期的收费铁门插件。
我在大约是 1.8 时代玩的一个 1.6 服务器里有一个叫作收费门的功能,只要在铁门上方的方块贴一个木牌,
- 第一行写
[lock](好像是,总之就是跟牌子锁的[私有]差不多) - 第二行写
金币价格,比如100 - 第三行留空
- 第四行写标志,
进、出、空、钱、效分别代表允许进入、允许出去、要求背包无物品、要求金币为0、要求没有药水效果
就可以创建一个收费门,玩家花费金币可以传送到门的另一侧,非常适合用来做抽奖机、安检门之类的东西。
根据我的了解,收费门插件应该已经停更好久了,所以我打算复刻一个,并加以改进。这个工作逻辑说实话并不难实现。
对于 1.14 以下的版本只进行有限支持,较容易与其它插件产生冲突,且查不到具体与谁冲突。
但凡有插件对告示牌执行 block.getState().update(); 手动刷新了告示牌的数据,收费门就会失效。
这与 Bukkit 老旧的接口有关。具体原因为,旧版只使用过时的 § 颜色字符来进行转换,将插件储存数据所需要的富文本格式给清除了。
根命令为 /sweetlocks,别名为 /slocks, /locks, /sl
| 命令 | 描述 | 权限 |
|---|---|---|
/locks |
查看帮助命令 | 无 |
/locks reload |
重载配置文件 | OP/控制台 |
sweet.locks.create允许创建收费门sweet.locks.bypass.tax忽略创建者收取金币的税收sweet.locks.bypass.distance忽略玩家进出收费门要求的距离限制 (默认2.6格以内)
在木牌第一行写 $lock(或别的什么,可在配置文件里配置),点击完成提交后,将创建一个价格 0金币,允许进出的收费门,并打开编辑菜单。
创建者可以通过 Shift+右键 点击牌子来打开收费门编辑菜单,在编辑菜单中,可以编辑价格,以及这个收费门的标志。
玩家右键收费门将显示 进入花费多少金币 按住Shift+右键进入或离开 等等提示,右键点击牌子查看收费门信息。
所有收费门数据通过 item-nbt-api 保存到木牌方块中,交易通知保存到本地配置文件,在玩家上线时发送并清空通知。
在 1.14+,插件将数据存在方块的持久数据 (PersistentData) 中,在 1.14 以下,插件将数据存在木牌第一行的 insertion 中。