欢迎来到 AllClear Mod 的使用文档!

Need a English edition wiki? Check THIS! : https://github.com/EndDream1227/allclear/wiki

这是什么?

用于清理掉落物的服务器管理 mod,由我和 d 指导共同编写,适用于 Minecraft Java 游戏服务器,在本地游戏中同样适用

对比其它的清理掉落物 mod 会更加轻量化,更适合小型或原版型 mod 服务器并且更加智能,绝大多数文本内容支持自定义,绝大多数参数都支持通过配置文件修改

目前该 mod 支持以下功能:

* 可定期清理地面掉落物

* 可在掉落物较少时自动进入睡眠模式

* 可通过配置文件修改清除时间间隔

* 可通过配置文件修改提示文本信息

* 可更改提示文本的显示方式 (对话框和副标题形式两种)

* 可设置黑名单以过滤高价值物品

* 多项功能支持指令控制

* 可自动检测服务器 tps,当掉落物过多造成 tps 过低时能强制清除所有掉落物,支持通过配置文件设置 tps 阈值和强制清理时间间隔

如果你还在为生电服 / 工业服产线爆仓导致服务器炸服而苦恼,那么快来试试这个 mod 吧!

注意:该 mod 目前为测试版,目前所有内容不代表其最终成品,目前测试版仅支持 Minecraft-1.21.1-neoforge 版本

CurseForge 上的该项目:https://www.curseforge.com/minecraft/mc-mods/allclear

Github 仓库:https://github.com/EndDream1227/allclear

作者个人站:https://blog.kaze943.cn/archives/AT-0003

Mod功能&配置文件

mod 的配置文件一般位于 游戏主目录 \.minecraft\versions\[版本]\config\allclear-common.toml

当游戏第一次启动时,配置文件会自动生成

定时清理

能定时清除服务器中的所有掉落物

其定时周期,提示文本均支持自定义

	#清理间隔(tick),20 tick = 1 秒
	#默认: 1800 tick (90秒)
	# Default: 1800
	# Range: > 20
	cleanIntervalTicks = 1800

	#倒计时提示的秒数列表
	#默认: [30, 10, 5, 4, 3, 2, 1]
	countdownTimes = [30, 10, 5, 4, 3, 2, 1]

	#(旧版)清理前提示文本,使用 {seconds}
	broadcastBefore = "§e[AllClear] §a将在 §b{seconds}秒 §a后清理地面物品!"

	#(旧版)清理后提示文本,使用 {count}
	broadcastAfter = "§e[AllClear] §a已清理 §c{count} §a个掉落物品"

提示文本显示模式

可设置提示文本所显示的位置,目前支持两种模式:“聊天栏(dialog)“”副标题(subtitle)”模式,聊天栏模式表示提示文本会出现在聊天栏,副标题模式表示文本会像原版副标题一样出现在物品栏上方

所有提示文本均可在配置文件中修改

    #提示文本模式: 'dialog' 或 'subtitle'
	textMode = "dialog"

	#聊天栏清理前提示,可用 {seconds}
	dialogBroadcastBefore = "§e[AllClear] §a将在 §b{seconds}秒 §a后清理地面物品!"

	#聊天栏清理后提示,可用 {count}
	dialogBroadcastAfter = "§e[AllClear] §a已清理 §c{count} §a个掉落物品。"

	#聊天栏低TPS提示,可用 {count}, {threshold}
	dialogLowTpsMessage = "§e[AllClear] §c检测到服务器负载过高(TPS低于 {threshold}),已自动清理 {count} 个物品"

	#标题清理前提示,可用 {seconds}
	subtitleBroadcastBefore = "§e[AllClear] §a将在 §b{seconds}秒 §a后清理地面物品!"

	#标题清理后提示,可用 {count}
	subtitleBroadcastAfter = "§e[AllClear] §a已清理 §c{count} §a个掉落物品"

	#标题低TPS提示,可用 {count}, {threshold}
	subtitleLowTpsMessage = "§e[AllClear] §c检测到服务器负载过高(TPS低于 {threshold}),已自动清理 {count} 个物品"

黑名单

可使用黑名单过滤物品,在黑名单中的物品不会被自动清除,这样你就可以让高价值物品不被清除!

添加物品进入黑名单,以及其相关提示文本均支持通过配置文件修改,同时也支持 /allclear blacklist 添加物品进入黑名单

    #黑名单物品列表
	#格式:物品ID或标签,如 'minecraft:diamond', '#minecraft:music_discs'
	blacklist = []

	#添加物品到黑名单成功
	blacklistAddSuccess = "§a[AllClear] §a已添加 {item} 到黑名单"

	#添加物品到黑名单失败
	blacklistAddFail = "§c[AllClear] §c添加失败:{item} 已在黑名单中或无效"

	#从黑名单移除物品成功
	blacklistRemoveSuccess = "§a[AllClear] §a已从黑名单移除 {item}"

	#从黑名单移除物品失败
	blacklistRemoveFail = "§c[AllClear] §c移除失败:{item} 不在黑名单中"

静默模式

睡眠模式,这个 mod 现在能自动检测游戏内掉落物数量,当游戏中长期掉落物过少,mod 将会进入睡眠模式来避免不必要的活动,能减少提醒量并节省性能

检测掉落物的周期,睡眠模式的持续时长,进入睡眠模式的掉落物数阈值,以及所有提示文本均可通过配置文件修改

    #自动静默的物品总数阈值(低于此值则自动暂停定时清理)
	# Default: 10
	# Range: > 0
	autoSilenceItemThreshold = 10

	#自动静默持续时间(秒)
	# Default: 60
	# Range: 5 ~ 3600
	autoSilenceDurationSeconds = 60

	#自动静默检测间隔(tick)
	#例如 10分钟 = 12000 tick
	#默认: 12000 (10分钟)
	# Default: 12000
	# Range: > 20
	autoSilenceCheckIntervalTicks = 12000

	#自动静默启用时的提示文本
	#可用 {count}
	autoSilenceOnMessage = "§e[AllClear] §a物品数量较少,自动静默已启用"

	#自动静默解除时的提示文本
	autoSilenceOffMessage = "§e[AllClear] §a自动静默已解除"

    #启用静默模式时的提示
	sleepmodeOnMessage = "§a[AllClear] §a静默模式已启用"

	#禁用静默模式时的提示
	sleepmodeOffMessage = "§c[AllClear] §c静默模式已禁用"

	#静默模式未启用时执行 sleep/wakeup 的报错信息
	sleepmodeNotAvailable = "§c[AllClear] §c静默模式不可用,请尝试/allclear sleepingmode on"

低 tps 强制清除

mod 会自动检测服务端的 tps,当 tps 过低时,且游戏内掉落物数量超过一定时,就会触发强制清除以保护游戏,这个功能对于生电服 / 工业服十分有用,有效的解决了爆仓或忘关机器导致的掉落物过多,从而造成的炸服,同时因只在掉落物过多时才起用,能避免服务器 tps 波动而造成不必要的强制清理

tps 以及掉落物数量的阈值,强制清除的时间间隔,以及所有提示文本均可通过配置文件修改

    #触发低 TPS 自动清理的阈值(例如 15.0)
	#设置为 0 禁用
	# Default: 15.0
	# Range: 0.0 ~ 20.0
	lowTpsThreshold = 15.0

	#低 TPS 自动清理的最小间隔(秒)
	# Default: 60
	# Range: 10 ~ 3600
	autoCleanCooldown = 60

	#强制清除的物品总数阈值(TPS低且超过此值时强制清理)
	# Default: 500
	# Range: > 0
	forceClearItemThreshold = 500

    #聊天栏低TPS提示,可用 {count}, {threshold}
	dialogLowTpsMessage = "§e[AllClear] §c检测到服务器负载过高(TPS低于 {threshold}),已自动清理 {count} 个物品"

	#标题低TPS提示,可用 {count}, {threshold}
	subtitleLowTpsMessage = "§e[AllClear] §c检测到服务器负载过高(TPS低于 {threshold}),已自动清理 {count} 个物品"

掉落物数量检测器

能检测游戏中掉落物的数量,检测器有两种模式,检测所有区块(All)检测已加载区块(loaded)检测所有区块会更好的保护服务器的安全,但是会占用大量服务器性能,在高峰时期可能会适得其反;检测已加载区块更为推荐,对服务器的保护更平均,占用的服务器性能会比检测所有区块模式降低 90% 左右

检测模式,检测间隔时间,以及其提示文本均可通过配置文件修改

    #物品总数统计更新间隔(tick)
	# Default: 200
	# Range: 20 ~ 1200
	itemCountUpdateIntervalTicks = 200

    #区块遍历模式: ALL(所有区块), LOADED(已加载区块)
	#Allowed Values: ALL, LOADED
	chunkScanMode = "LOADED"	

    #区块遍历模式切换成功
	chunkModeChanged = "§a[AllClear] §a区块扫描模式已切换为: {mode}"

	#切换到 all 模式时的确认提示
	chunkModeConfirm = "§c警告:切换到全区块扫描模式会消耗更多性能,可能造成服务器卡顿。请在 {seconds} 秒内再次输入此指令以确认"

	#全区块扫描模式确认等待时间(秒)
	# Default: 10
	# Range: 1 ~ 60
	chunkModeConfirmSeconds = 10

	#全区块扫描模式切换已取消(超时)
	chunkModeTimeout = "§c[AllClear] §c全区块扫描模式切换已取消(超时)"

Mod指令

*/allclear now:立刻启动一次掉落物清理

*/allclear on|off:在游戏中控制 mod 的启动 / 关闭

*/allclear sleepmode:默认为关闭(off),当设置为关闭,静默模式整个功能都不会启用,当设置为开启(on)时,静默模式功能才会启用

*/allclear sleep:: 强制让 mod 进入静默模式,但静默模式功能禁用时无法使用

*/allclear wakeup [number]:: 强制让 mod 脱离静默模式,需跟数字表示持续多长时间,其支持通过数字后缀来设置较长时间,例如:100 表示 100tick,100s 表示 100 秒,100d 表示 100 个游戏日,100td 表示 100 个现实天数

*/allclear text dialog|subtitle:切换提示文本的显示模式,有对话框(dialog)副标题(subtitle)两种模式

*/allclear chunks all|loaded:切换物品检测器的扫描模式,全部区块(all)仅已加载区块(loaded)

微距吧,人类!