JobsReborn-PatchPlaceBreak

一个用于Bukkit服务器的JobsReborn插件的放置与破坏补丁扩展。

资源图片
# JobsReborn-PatchPlaceBreak [Addon] 一个允许放置和破坏块的补丁扩展,是 [JobsReborn](https://www.spigotmc.org/resources/jobs-reborn.4216/) 的附加组件。 ## 放置和破坏问题 在使用 JobsReborn 时,似乎放置一个方块然后破坏它会被视为有效的职业 行动,从而导致玩家获得报酬。 鉴于这一事实,很容易想象用丝绸触摸镐采集钻石矿石,然后在采集后立即将其重新放置,以便 无限重复此过程... JobsReborn 的解决方案是在放置钻石矿石时移除金钱和经验值,从而防止上述场景发生。但它并不完美:如果由于某种原因您需要使用金钱和经验值增益 ,那么破坏方块时获得的金额将高于放置相同方块时收回的金额。而且……嗯……为装饰目的 丢失金钱和经验值并不是玩家们所喜欢的。 事实上,JobsReborn 已经提供的放置和破坏补丁已经提供了更好的解决方案。 然而,其主要局限性在于保护在 14 天后才会解除。此外,您必须**为每个方块**指定一个固定时 间,在此期间再次破坏该方块将不获得金钱和经验值。总的来说,这无疑是一个进步的 第一步,但我们可以/应该做得更好。插件就在此发挥作用。 ## 特性 * 与 JobsReborn 已经提供的放置和破坏保护相似且高效 (包括活塞补丁、配对玩家漏洞、对服务器重启的恢复力等); * 永久性保护,彻底阻止任何服务器上的利用者; * 更细粒度的限制方块定制(受保护的方块列表可以是包含式或排除式)以便轻松 最大化保护效果,同时微调性能; * 使用 SQLite 作为默认持久性解决方案,设置简单快速,便于快速发现和 试验此插件(尽管不建议在生产环境中使用,因为它性能较低); * 可以依赖 MySQL 或 MariaDB 数据库(观察到更好的性能); * 通过在出现问题时尽早检测漏洞,通过严格验证来确保插件快速失效和安全响应,从而让您远离配置错误的风险。 ## 补丁的工作原理 补丁很简单:在破坏或放置方块时,每个方块都会被标记。 此信息在服务器重启后保持不变。 在支付时间,如果 BREAK、TNTBREAK 或 PLACE 操作涉及活动“玩家”标签,则支付 将被取消。 无关紧要的是作者是谁,因此如果一个玩家放置一个方块,而另一个玩家破坏它,支付 仍然会被取消(修补配对玩家漏洞)。 有两种主要行为,它们的细微差别如下: * 当放置一个方块时,会连接一个标签到它:这对于修补 BREAK 和 TNTBREAK 操作很有用(例如,在破坏玩家放置的钻石矿石时); * 当破坏一个方块时,会连接一个标签到它原来的位置:这对于修补 PLACE 操作很有用(例如, 在短时间内反复替换先前破坏的树苗)。 *注意:第二种行为会导致“瞬时”标签,也就是说,一个标签只适用于短时间。值固定为三秒钟。* 最后,当活塞移动一个方块时,标签会跟随它(无论它瞬时与否),从而 修补活塞漏洞。 作为比较点,这种行为可以与 [mcMMO](https://www.spigotmc.org/resources/official-mcmmo-original-author-returns.64348/) 插件中实现的行为类似。 简单高效,这很有用。 ## Spigot 插件的设置 我们在这里假设您已经设置了一个 Spigot 服务器,并且已经在其上安装了 JobsReborn 插件。 服务器的版本必须高于或等于 1.17.x。 从此 [release section](https://github.com/Djaytan/mc-jobs-reborn-patch-place-break/releases/) 下载最新的 `.jar` 文件,并将其放入 `plugins/` 文件夹,就完成了! 重启服务器后,插件应该会在 `/plugins` 命令显示的列表中以绿色出现。 如果您希望在较低版本的服务器上使用此插件,则应使用以下版本: * [2.2.53](https://github.com/Djaytan/mc-jobs-reborn-patch-place-break/releases/tag/v2.2.53) 用于 Minecraft 版本 1.11 到 1.16(含) * [1.2.0](https://github.com/Djaytan/mc-jobs-reborn-patch-place-break/releases/tag/v1.2.0) 用于 Minecraft 版本 1.8、1.9 和 1.10 在此之后,您应该关闭 JobsReborn 的 "PlaceAndBreak" 配置部分中的所有选项。 这将导致与以下结果相似的结果: ```yaml PlaceAndBreak: # 启用块保护,例如矿石,防止通过反复放置和破坏同一块来利用。 # 修改 restrictedBlocks.yml 文件以保护您想要保护的块 Enabled: false # 是否使用新的块保护方法 # 在大多数情况下,这是一种更有效的方法来检查破坏/放置保护,并且不涉及任何缓存或将数据保存到数据库 # 仅适用于 1.14+ 服务器 NewMethod: false BlockTracker: # 是否使用 BlockTracker 插件代替内置块跟踪器 Enabled: false # 启用此项,我们将忽略矿生成器中生成的块,例如石头、砂石和黑曜石。您仍然可以为放置在黑曜石块上的玩家定义计时器 IgnoreOreGenerators: true # 块保护数据将在数据库中保留多长时间(以天为单位) # 这将清理冷却值为 -1 的块数据 # 在每次服务器启动时都会执行数据库清理 # 这不能超过 14 天 KeepDataFor: 14 GlobalBlockTimer: # 所有块都会在玩家放置后 X 秒内受到保护 Place: Use: false # 以秒为单位的时间。这只能是正数,且不能高于 900 # 如果需要更高的计时器,则可以在特定块的 restrictedBlocks.yml 文件中定义 Timer: 3 Break: Use: false # 以秒为单位的时间。这只能是正数,且不能高于 60 # 这仅用于防止玩家在同一位置放置方块并再次获得报酬 Timer: 3 # 启用丝绸触摸保护。 # 启用此项后,玩家在受 restrictedblocks 列表中限制的块上使用丝绸触摸工具时将不会获得报酬。 SilkTouchProtection: false ``` ## 问题 如果您发现任何错误或可疑行为,请不要犹豫,通过“讨论”部分或直接通过 [GitHub Issues section](https://github.com/djaytan/mc-jobs-reborn-patch-place-break/issues) 报告它。 我将尽最大努力尽快做出回应。 ## 如何支持项目? 如果您欣赏该项目并希望支持我们,那么您可以考虑在 [GitHub repository](https://github.com/Djaytan/mc-jobs-reborn-patch-place-break) 上放置一个星标。 这将向我们表明您对该项目感兴趣,我们将对此表示感谢! ## 许可 该项目采用 [MIT](https://opensource.org/licenses/MIT) 许可。