管理员文档 · flags.yml 参考
文档/dominion/管理员文档 · flags.yml 参考

管理员文档 · flags.yml 参考

了解环境 flag 与权限 flag 的作用、默认值、可用性开关和生效顺序。

文件结构

flags.yml 分成 environmentprivilege 两个顶层区块。每个 flag 的结构大致如下:

privilege:
  container:
    default: false
    enable: true
    material: CHEST
  • default 是新建领地或新建成员设置的初始值,不能理解为“当前所有领地强制值”。
  • enable 控制 flag 的可用状态,以及它在 UI 和配置中的显示状态。关闭后,玩家不能选择该 flag。
  • material 是 UI 中用于表示该 flag 的物品材质,必须是目标服务端支持的 Bukkit Material 名称。

修改后使用 /dominion reload config。由于新建成员会复制当时的访客权限,修改默认值不会自动重写所有已经存在的领地、成员或权限组;存量数据需要在 UI 或命令中明确调整。

环境 flag

环境 flag 控制世界事件和领地外部边界行为。可用的环境 flag 包括:

类别flag
生物animal_spawnanimal_breedanimal_spawneranimal_spawn_egganimal_movevillager_spawnvillager_breedvillager_spawnervillager_spawn_egg
怪物monster_spawnmonster_spawnermonster_spawn_eggmonster_movemonster_damage
末影人与爆炸ender_manender_man_spawnender_man_teleporttnt_explodetnt_damage_entitywither_spawnwither_explodewither_break_block
实体/投射物爆炸creeper_explodecreeper_damage_entitywither_skull_explodewither_skull_damage_entityender_crystal_explodeender_crystal_damage_entityfireball_explodefireball_damage_entityblock_explodedragon_break_block
火、液体与方块fire_spreadburn_blockburn_entityflow_in_protectiongravity_blockice_meltice_formsnow_accumulationsnow_melt
农作物与自然tramplemob_trampledecay
跨边界与显示hopper_outsidepiston_outsidetrig_pressure_projtrig_pressure_mobtrig_pressure_dropitem_frame_proj_damagemob_drop_itemshow_border

名称相近的 flag 可能只控制事件的一部分。例如 tnt_explode 控制 TNT 爆炸,tnt_damage_entity 控制爆炸对实体和悬挂物的伤害;creeper_explode 的范围则覆盖多种非 TNT 爆炸来源。遇到爆炸仍然发生时,应按事件来源逐项检查,而不是只改一个“爆炸总开关”。

权限 flag

权限 flag 控制玩家或成员在领地内执行动作的能力。可用的权限 flag 包括:

类别flag
管理领地adminresizerenamecreate_subdelete_subresize_subrename_sub
移动与传送moveteleportflyridingender_pearlraid
方块与实体placeplace_liquidplace_entitybreakbreak_liquidbreak_entityignite
物品与红石pick_updrop_itemdoorbuttonleverpressurered_stone_powderrepeatercomparernote_block
容器与工作站containerarmor_stand_interactiveitem_frame_contenthoppercraftcrafteranvilenchantbrewbeaconjukeboxlecternbookshelfdragon_eggitem_frame_interactive
生活与实体edit_signbedanchorvehicle_spawnvehicle_destroyharvestsowingfertilizerplant_treefeedshearleashdyehoneycaketrade
战斗shoottridentfireballwind_chargeegghookpvpmonster_killinganimal_killingvillager_killing

例如,想让成员可以打开箱子但不能放置或破坏方块,应分别配置 container: trueplace: falsebreak: falseadmin 不是 Bukkit 的全局管理员权限,而是领地成员层面的管理 flag;它允许成员管理普通成员和分组,不能替代 dominion.admin

生效顺序与排查方式

领地内普通玩家的判断顺序是:权限组成员使用组 flag,普通成员使用成员 flag,非成员使用访客 flag。管理员绕过开启且玩家拥有 dominion.admin 时,会先通过管理员绕过逻辑。子领地在自己的边界内有独立的规则,父领地的设置不能简单当作子领地当前值。

排查“某个玩家仍然不能操作”时,按以下顺序最省时间:

  1. 确认玩家所在位置属于哪一块领地或子领地;
  2. 确认玩家是访客、成员还是组成员;
  3. 确认目标行为对应的 flag 名称。不要只根据 UI 物品猜测;
  4. 检查该 flag 在 flags.yml 中的值为 enable: true
  5. 用普通账号重试,并检查其他插件对事件的提前取消。