本帖最后由 Kenneth_z 于 2020-10-23 11:30 编辑

AshManPro


AshManPro是一个清理服务器多余实体的插件







下载:



API:


添加不清理的实体

  1. AshManPro.addExemptedEntity(long eid);
  2. AshManPro.addExemptedEntity(Entity entity);
  3. AshManPro.addExemptedEntity(long eid,Entity entity);
复制代码

删除不清理的实体

  1. AshManPro.removeExemptedEntity(long eid);
  2. AshManPro.removeExemptedEntity(Entity entity);
复制代码


命令:

  • /am force | 强制清理所有实体
  • /am help | 查看插件帮助



功能:

  • 3种清理触发器与清理执行器
  • 可设置区块卸载时可自动清理在区块中的实体
  • 可设置不清理带NBT的物品
  • 可通过API设置不清理的实体
  • 可以使用配置文件设定清理排外的玩家或世界
  • 清理前倒计时,可以有效防止误伤



配置文件:

  1. # ____                           ____
  2. #|  _ \ _ __ ___  __ _ _ __ ___ / ___|  ___ _ ____   _____ _ __
  3. #| | | | '__/ _ \/ _` | '_ ` _ \\___ \ / _ \ '__\ \ / / _ \ '__|
  4. #| |_| | | |  __/ (_| | | | | | |___) |  __/ |   \ V /  __/ |
  5. #|____/|_|  \___|\__,_|_| |_| |_|____/ \___|_|    \_/ \___|_|
  6. #    _        _     __  __             ____
  7. #   / \   ___| |__ |  \/  | __ _ _ __ |  _ \ _ __ ___
  8. #  / _ \ / __| '_ \| |\/| |/ _` | '_ \| |_) | '__/ _ \
  9. # / ___ \\__ \ | | | |  | | (_| | | | |  __/| | | (_) |
  10. #/_/   \_\___/_| |_|_|  |_|\__,_|_| |_|_|   |_|  \___/


  11. # 清理前的提示信息
  12. beforehand-message:
  13.   20: 将在20秒后清理所有实体和物品
  14.   10: 将在10秒后清理所有实体和物品
  15. # {0}为清理的物品数量,{1}为清理的实体数量
  16. terminate-message: 本次清理一共清理了{0}个物品,{1}个实体
  17. # 清理方式
  18. eliminate-type:
  19.   "0": # 清理所有世界
  20.     enable: true
  21.     # 以下世界将不会被清理
  22.     eliminate-level-except: ["example world"]
  23.   "1": # 仅清理有玩家的世界
  24.     enable: false
  25.     # 清理玩家大于阈值的世界
  26.     threshold: 1
  27.     # 以下世界将不会被清理
  28.     eliminate-level-except: ["example world"]
  29.   "2": # 清理玩家附近的实体或物品
  30.     enable: false
  31.     # X轴的偏移
  32.     offsetX: 16
  33.     # Y轴的偏移
  34.     offsetY: 5
  35.     # Z轴的偏移
  36.     offsetZ: 16
  37.     # 以下玩家将会不会被清理附近的实体或物品
  38.     eliminate-player-except: ["pn1"]
  39. # 开启清理物品
  40. eliminate-items: true
  41. # 不清理带NBT的物品
  42. eliminate-items-except-nbtcontains: true
  43. # 清理实体
  44. eliminate-entity: true
  45. # 强制清理所有实体,会无视保留实体的限制
  46. eliminate-entity-force: false
  47. # 在区块卸载的时候删除所有在区块里的实体
  48. eliminate-entity-after-chunk-unload: false
  49. # 触发清理的条件
  50. eliminate-trigger:
  51.   "0": # 当服务器实体总数大于某值时清理
  52.     enable: true
  53.     # 检测到实体数量大于该值将会启动清理
  54.     threshold: 50
  55.     # 检测的时间 单位秒
  56.     detect-interval: 300
  57.   "1": # 当服务器平均TPS小于某值时清理
  58.     enable: false
  59.     # 检测到平均TPS小于该值将会启动清理
  60.     threshold: 19.2
  61.     # 检测的时间 单位秒
  62.     detect-interval: 300
  63.   "2": # 当服务器实体总数大于某值并当服务器平均TPS小于某值时清理
  64.     enable: false
  65.     # 实体数量需大于该值才会启动清理
  66.     entityThreshold: 50
  67.     # 平均TPS需小于该值才会启动清理
  68.     AvgTPSThreshold: 19.2
  69.     # 检测的时间 单位秒
  70.     detect-interval: 300
复制代码

使用方法:

清理实体有触发条件清理方式两个类型,触发条件有例如实体数量、TPS等。清理方式有清理整个世界以及清理玩家周围实体两种。

你可以根据你的需求自由选择。


更新记录:

  • 2020/01/20 插件首版v1.0.0
  • 2020/01/21 修复部分bug
  • 2020/01/22 增加了命令以及API
  • 2020/01/23 修复bug,感谢@wode490390 指出
  • 2020/02/04 修复bug
  • 2020/03/09 修复bug,感谢@xiaolu550 指出,增加对PlaceholderAPI的支持,可以在输出的文本中使用占位符
  • 2020/10/23 优化代码

Github仓库:

Github









[groupid=1708]Pioneer Group[/groupid]