# SurfaceBlock 禁止地表弹幕

- 作者: 羽学
- 出处: [github](https://github.com/1242509682/SurfaceBlock)
- 这是一个Tshock服务器插件主要用于禁止生成对服务器内玩家处于世界地表时产生的弹幕，
- 尤其是针对恶意使用爆炸物破坏服务器地图的人。


## 指令

| 语法      |      权限      |     说明     |
|---------|:------------:|:----------:|
| /reload |      无       |   重载配置文件   |
| 无       |    免检地表弹幕    | 不检测其弹幕是否违规 |
| 无       | SurfaceBlock | 不检测其弹幕是否违规 |

## 配置
> 配置文件位置：tshock/禁地表弹幕.json
```json5
  {
  "启用": true,
  "销毁秒数": 5,
  "物品掉落": false,
  "还原图格": true,
  "是否广播": true,
  "禁用弹幕": [
    28,
    29,
    37,
    65,
    68,
    99,
    108,
    136,
    137,
    138,
    139,
    142,
    143,
    144,
    146,
    147,
    149,
    164,
    339,
    341,
    354,
    453,
    516,
    519,
    637,
    716,
    718,
    727,
    773,
    780,
    781,
    782,
    783,
    784,
    785,
    786,
    787,
    788,
    789,
    790,
    791,
    792,
    796,
    797,
    798,
    799,
    800,
    801,
    804,
    805,
    806,
    807,
    809,
    810,
    863,
    868,
    869,
    904,
    905,
    906,
    910,
    911,
    949,
    1013,
    1014
  ]
}
```

## 更新日志

```
- 2.0.0
- 重构所有代码,移除指令方法
- 加入了数据库存储逻辑用于查找需要销毁弹幕的对应玩家
- 加入了物品掉落、图格还原等方法逻辑
- 支持全类型种子不同地图大小
- 1.0.0.6.0
- i18n预备
- 1.0.6
- 补全卸载函数
- 1.0.5
- 移除了计时器，使用OnWorldload方法实现加载完地图后再创建配置文件，
- 方便计算出准确的Main.worldSurface地表值
- 1.0.4
- 添加了个计时器，20秒后再创建计算好Main.worldSurface世界地表值的配置文件，
- 配置文件可支持正常地图与颠倒世界，将指令同步到配置文件总开关。
- 1.0.3
- 给插件加了个指令开关与权限，并在开启时获取所有ID带有名称的列表，
- 名字显示不全的改为“未知”。
- 开关指令名：/禁地表弹幕 （该指令的权限同名）
- 1.0.2
- 对config预设了更多的弹幕类型，涵盖了主要破坏地图的手段
- 1.0.1
- 加入了Config配置文件，玩家可通过Config设置拦截的弹幕ID
```

## 反馈
- 优先发issued -> 共同维护的插件库：https://github.com/UnrealMultiple/TShockPlugin
- 次优先：TShock官方群：816771079
- 大概率看不到但是也可以：国内社区trhub.cn ，bbstr.net , tr.monika.love
