介绍
权限验证器
为你的多加载器模组集成权限节点的即插即用解决方案。
它通过提供单一、统一的 API 来定义和检查权限,基本上承担了 Fabric 和 NeoForge 两端的全部繁重工作。
在 Fabric 上,它还会检测是否存在 fabric-permissions-api 模组,若存在则使用它。
你最常在命令中进行权限检查时使用它,但它实际上可用于任何
你想检查的“权限”类型,例如玩家能否使用某个物品或进入某个区域。
面向用户: 这是一个前置库模组,除非有模组需要它,否则你无需安装。
如果你是开发者,请继续阅读!
用法示例
1. 添加依赖
你通常只需将其以 Jar in Jar 方式打包进你的模组即可(它只有约 16KB!)。
不过,如果你确实想这么做,也可以将其作为依赖添加到你的 fabric.mod.json 或 neoforge.mods.toml 文件中
并要求用户单独安装。
repositories {
maven("https://maven.ziroau.com")
}
// For Fabric & Architectury Loom
dependencies {
modApi "com.ziroau:permissionvalidator:${permissionvalidator_version}:fabric-mc${minecraft_version}"
include "com.ziroau:permissionvalidator:${permissionvalidator_version}:fabric-mc${minecraft_version}"
}
// For NeoForge
dependencies {
jarJar(implementation("com.ziroau:permissionvalidator:${permissionvalidator_version}:neoforge-mc${minecraft_version}")) {
version {
strictly "[${permissionvalidator_version},)"
prefer "${permissionvalidator_version}"
}
}
}
// Multiloader 'Common' Project
dependencies {
modCompileOnlyApi "com.ziroau:permissionvalidator:${permissionvalidator_version}:fabric-mc${minecraft_version}"
}
2. 定义并初始化权限
object ModPermissions {
val ROOT = PermissionManager.create(
"mod",
PermissionLevel.CHEATS_AND_COMMAND_BLOCKS
)
val RELOAD = PermissionManager.create(
"mod.reload",
PermissionLevel.CHEATS_AND_COMMAND_BLOCKS
)
// Call just before command registration
fun initialize() {
PermissionManager.initialize(listOf(ROOT, RELOAD))
}
}
3. 检查权限
在你的 Brigadier 结构中,你可以使用 .requires 重载:
import com.ziroau.permissionvalidator.api.PermissionManager.requires
object ModComands {
fun register(dispatcher: CommandDispatcher<ServerCommandSource>) {
ModPermissions.initialize()
val root = Commands.literal("commandroot")
.requires(ModPermissions.ROOT)
.executes { ctx -> modInfo(ctx.source) }
.then(
//** /commandroot reload */
Commands.literal("reload")
.requires(ModPermissions.RELOAD)
.executes { ctx -> reload(ctx.source) }
)
}
}
或在其他任意上下文中:
fun someRandomFunction(player: ServerPlayerEntity) {
if (PermissionManager.hasPermission(player, ModPermissions.RELOAD)) {
// do something
} else {
// did not have permission to do something :(
}
}
常见问题
Permission Validator 支持哪些 Minecraft 版本?
Permission Validator 支持 Minecraft Java 版 1.21.1–26.3,共 16 个版本,可用的加载器:Fabric / NeoForge。下载时注意选择和你游戏版本一致的文件。
Permission Validator 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅服务端。
hudsom62 的其他作品
查看全部 →
Cobblemon Music Pack
用宝可梦音乐替换 Minecraft 原版音乐,为 Cobblemon 对战添加专属主题曲,也支持原版 Minecraft!
Cobblemon Music Pack
用宝可梦音乐替换 Minecraft 原版音乐,为 Cobblemon 战斗添加自定义主题曲,在原版 Minecraft 中也能使用!
Cobblemon Smartphone Pokedex App
已归档——图鉴应用已加入智能手机模组。
Spawn Animations Cobblemon Compat
Spawn Animations与Cobblemon的兼容补丁。
评论
登录后评论和评分