Better Whitelist (更好的白名单)
这是一个用于Minecraft的可配置白名单系统MOD,提供了基本的白名单功能,您可以根据需要进行自定义设置。
分步骤输出:
1. MOD介绍:
Better Whitelist 是一个用于 Minecraft 的可配置白名单系统MOD。它为您的服务器提供了基本的白名单功能,并且可以根据您的需求进行灵活的定制。
2. 配置要求:
该MOD在服务器和任何连接到服务器的客户端上都是必需的。您需要在服务器和客户端上都安装此MOD才能正常使用白名单功能。
3. 使用简易配置:
在首次启动带有该MOD的服务器时,将会创建一个简单的配置文件,其中包含一些附加细节。以下是一个示例配置:
html
// 将一个MOD转换为简化表示以节省带宽
simplify = { mod -> { id = mod.id, version = mod.version } }
// 服务器上存在的所有非服务器端MOD
sharedMods = mods::values()
::filter({ v -> v.environment != 'server' & v.id != 'java' })
::map(simplify)
// 确保客户端具有服务器上每个非服务器端MOD的正确版本
clientMissing = challenge({ arg ->
arg::filter({ v -> !mods::values()::anyMatch({ m -> v.id == m.id & v.version == m.version }) })
}, sharedMods)
assert(clientMissing::isEmpty(), '您缺少所需的MOD:' || clientMissing)
// 确保客户端没有额外的MOD,这些MOD在服务器上是必需的
clientAdditional = challenge({ arg, fn ->
clientSideMods = mods::values()::filter({ v -> v.environment != 'client' & v.id != 'java' })
clientSideMods::filter({ v -> !arg::anyMatch({ m -> v.id == m.id & v.version == m.version }) })::map(fn)
}, sharedMods, simplify)
assert(clientAdditional::isEmpty(), '您有不受支持的MOD:' || clientAdditional)
// 过滤资源包以防止X-Ray资源包
bannedWords = listOf('xray', 'x-ray', 'cheat')
assert(!challenge({ ->
resourcePacks::map({ pack -> pack.name || ' ' || pack.displayName || ' ' || pack.description })
})::anyMatch({ v -> bannedWords::anyMatch({ word -> v::toLower()::contains(word) }) }), "请不要作弊," || user.name)
4. μScript支持:
此MOD使用 [μScript](
5. 脚本中可用的功能:
- 所有来自μScript标准库的方法(包括日期/时间)
- `resourcePacks`(仅客户端):资源包列表,每个资源包都有`name`、`displayName`和`description`字段
- `println('message')`(服务器和客户端):用于调试的函数
- `mods`(服务器和客户端):加载的所有MOD的列表
- `mod('id')`(服务器和客户端):有关特定MOD的信息
- `assert(bool)`(服务器):断言某事为真,如果不是则踢出玩家(可选参数为消息)
- `challenge({->closure}, additional arguments...)`(服务器):将闭包发送到客户端,在客户端执行。参数可能包含其他闭包。
- `user`(服务器):尝试登录的用户信息,包括他们的ID和名称。
如果您需要任何支持或建议,请访问:
[1.21.6] 1.0.10
- chore: update to 1.21.6
[1.21.5] 1.0.9
- chore: update to 1.21.5
[1.21.4] 1.0.8
- chore: update to 1.21.4
收录