Knkiss
本帖最后由 Knkiss 于 2020-2-14 13:59 编辑


插件介绍

在IC2中数量多的网状导线会造成服务器CPU负载而导致TPS大幅度降低

这是一款轻量级的

可以有效治理IC2中多重网状导线导致卡服的插件

(甚至导致我的服务器甚至将tps从18+降低至5左右!!!)




效果示意

当玩家尝试构筑网状回路时

或已在形成网状回路的线路中放置新导线时(针对于开服时未安装此插件的服务器)

会出现以下提示并将放置的导线替换为其他方块


尝试放置网状回路:



尝试在已有网状回路的线路中放置导线时:


注:偶尔会出现导线连接显示错误,不影响效果




配置文件
可自定义任意组



old为导线放置后方块ID-方块子ID

new为替换的方块ID-方块子ID

可自定义多个组,每个组遵循每个组的规则
每个组内的方块若形成连通,则会被判定为回路而被删除




权限与指令

AntiLoop.bypass,OP默认
可以无视回路放置方块

AntiLoop.check,OP默认
手持【书】破坏方块会获取方块ID
可输入 /AntiLoop 查看已配置的所有组信息
可输入/AntiLoop reload重新载入配置文件




版本



1.0 首次发布。
1.2 支持单一导线的子ID匹配
2.0 支持多种导线分组配置
2.2 添加检查指令 和 破坏方块提供信息
2.4 添加重载信息,对低版本进行适配
2.5 去除OP提示






下载地址


Bukkit

版本 2.5

1.12.2 CatServer端 由1#Knkiss 测试
1.7.10 U端 由1#Knkiss 测试



如果有其他的建议或者BUG,请于最上方的Github地址进行提交

计划:学习reload相关资料、进行适配

本插件所用所有代码均为原创,不存在借用/抄袭等行为




langyo
直接替换是不是不太好……钻石导线不小心放了个回路结果被替换岂不蓝瘦香菇?

是否能考虑改为类似 banitem 的机制,直接阻止玩家放置方块,而不是等玩家放下来之后才进行处理?

liach
这个性能问题我推荐你直接和sfPlayer1汇报,毕竟他懂minecraft性能还是ic2领导开发者

Knkiss
langyo 发表于 2019-8-30 20:21
直接替换是不是不太好……钻石导线不小心放了个回路结果被替换岂不蓝瘦香菇?

是否能考虑改为类似 banitem ...

尝试过
但是如果这样,一个玩家对着不可以放的位置疯狂右键
会造成大量运算数据,导致服务器变得更卡

风筱墨
我服工业线的ID是4993:等等打4993就对了吧
你插件配置的是ID: 1跟你上面写的有不一样然后改成4933无效
然后对照你上面的配置改成
oldID: 4993
newID: 5
我试了一下还是不行啊是怎么回事 U端不能用吗已经取消了自己的OP了

第一页 上一页 下一页 最后一页