维度控制

维度控制

一个用于 Fabric 的简单维度控制模组。

管理

维度控制模组

一款适用于 Minecraft 1.21.4 的强大服务端 Fabric 模组,为管理员提供对维度访问、物品/方块限制和实体生成的完全控制。

功能特性

🌍 维度管理

  • 启用/禁用维度:完全阻止对特定维度的访问
  • 基于权限的访问:控制哪些玩家等级可以进入每个维度
  • 实时配置:更改立即生效,无需重启服务器

🚫 物品与方块限制

  • 阻止物品获取:防止玩家在特定维度中拾取特定物品
  • 方块破坏限制:限制在每个维度中可以破坏的方块
  • 按维度设定规则:为主世界、下界、末地和自定义维度设置不同限制

👾 实体控制

  • 阻止生成:禁止特定实体在维度中生成
  • 全面保护:适用于自然生成、刷怪蛋和命令生成的实体

🎮 用户友好GUI

  • 基于物品栏的配置:简单的箱子式GUI,用于添加限制
  • 可视化管理:在GUI中放置物品/方块以将其添加到被阻止列表
  • 自动保存:关闭GUI时自动保存配置

⚙️ 灵活配置

  • 基于JSON:配置文件易于阅读和编辑
  • 热重载:无需重启即可通过命令重载配置
  • 权限系统:基于等级的访问控制,支持自定义权限

安装

  1. 下载模组的JAR文件
  2. 将其放入服务器的 mods/ 文件夹
  3. 确保已安装 Fabric API
  4. 启动/重启服务器
  5. 配置文件将在 config/dimensioncontrol.json 生成

要求

  • Minecraft:1.21.4
  • Fabric Loader:0.16.9 或更高版本
  • Fabric API:0.119.4+1.21.4 或更高版本
  • Java:21 或更高版本

命令

所有命令需要权限等级2(管理员):

主命令

/dimensioncontrol

重载配置

/dimensioncontrol reload

重载配置文件,无需重启服务器。

打开GUI

/dimensioncontrol gui

打开一个物品栏GUI,用于配置当前维度的被阻止物品。

维度管理

/dimensioncontrol dimension <维度ID> enable
/dimensioncontrol dimension <维度ID> disable

示例:

/dimensioncontrol dimension minecraft:the_nether disable
/dimensioncontrol dimension minecraft:the_end enable

权限管理

/dimensioncontrol permission <玩家> set <等级>
/dimensioncontrol permission <玩家> get
/dimensioncontrol permission <玩家> remove

示例:

/dimensioncontrol permission Steve set dimensioncontrol.nether
/dimensioncontrol permission Alex get
/dimensioncontrol permission Bob remove

配置

默认配置文件 (config/dimensioncontrol.json):

{
  "dimensions": {
    "minecraft:overworld": {
      "enabled": true,
      "blockedItems": [],
      "blockedBlocks": [],
      "blockedEntities": [],
      "allowedPermissions": []
    },
    "minecraft:the_nether": {
      "enabled": true,
      "blockedItems": ["minecraft:netherite_ingot"],
      "blockedBlocks": [],
      "blockedEntities": [],
      "allowedPermissions": ["dimensioncontrol.nether"]
    },
    "minecraft:the_end": {
      "enabled": true,
      "blockedItems": ["minecraft:elytra"],
      "blockedBlocks": [],
      "blockedEntities": [],
      "allowedPermissions": ["dimensioncontrol.end"]
    }
  },
  "enablePermissionSystem": true,
  "defaultPermissionLevel": "default"
}

配置选项

  • enabled:维度是否可访问
  • blockedItems:无法获取的物品ID列表
  • blockedBlocks:无法破坏的方块ID列表
  • blockedEntities:无法生成的实体ID列表
  • allowedPermissions:可以访问该维度的权限等级列表
  • enablePermissionSystem:权限系统的全局开关
  • defaultPermissionLevel:没有明确权限的玩家的默认权限等级

物品/方块ID格式

使用完整的标识符格式:

命名空间:路径

示例:

  • minecraft:diamond
  • minecraft:netherite_ingot
  • minecraft:elytra
  • minecraft:ancient_debris
  • modid:custom_item

实体ID格式

与物品相同:

命名空间:实体类型

示例:

  • minecraft:ender_dragon
  • minecraft:wither
  • minecraft:zombie

使用示例

示例1:禁用下界

/dimensioncontrol dimension minecraft:the_nether disable

当玩家尝试进入时会看到:"§c此维度当前已被禁用!"

示例2:在下界阻止下界合金锭

  1. 打开GUI:/dimensioncontrol gui(在下界时执行)
  2. 在GUI中放置一个下界合金锭
  3. 关闭GUI(自动保存)

玩家试图拾取的下界合金锭将被阻止,并显示一条消息。

示例3:VIP专属末地访问

/dimensioncontrol permission VIP_Player set dimensioncontrol.end

只有拥有 dimensioncontrol.end 权限的玩家才能进入末地。

示例4:阻止末影龙生成

编辑 config/dimensioncontrol.json:

"minecraft:the_end": {
  "enabled": true,
  "blockedEntities": ["minecraft:ender_dragon"]
}

然后重载:/dimensioncontrol reload

示例5:渐进式服务器

创建一个玩家需要权限才能访问维度的渐进系统:

# 开始:只有主世界可访问
/dimensioncontrol dimension minecraft:the_nether disable
/dimensioncontrol dimension minecraft:the_end disable

# 授予成熟玩家下界访问权限
/dimensioncontrol dimension minecraft:the_nether enable
/dimensioncontrol permission Player1 set dimensioncontrol.nether

# 授予资深玩家末地访问权限
/dimensioncontrol dimension minecraft:the_end enable
/dimensioncontrol permission Player1 set dimensioncontrol.end

权限系统

工作原理

  1. 没有明确权限的玩家使用 defaultPermissionLevel
  2. 服务器管理员(等级2+)绕过所有限制
  3. 拥有空 allowedPermissions 的维度对所有人开放
  4. 拥有 allowedPermissions 的维度只允许拥有匹配权限等级的玩家进入

权限等级

您可以定义任意想要的权限等级字符串。示例:

  • default、member、vip、admin
  • dimensioncontrol.nether、dimensioncontrol.end
  • tier1、tier2、tier3

禁用权限系统

在配置中将 enablePermissionSystem 设置为 false 可完全禁用权限检查。

功能展示

当玩家尝试进入被禁用的维度时:

§c此维度当前已被禁用!

当玩家没有权限时:

§c你没有进入此维度的权限!

当玩家拾取被阻止的物品时:

§c你不能在此维度获取此物品!

当玩家破坏被阻止的方块时:

§c你不能在此维度破坏此方块!

故障排除

配置未加载?

  • 检查 logs/latest.log 中的错误
  • 确保JSON语法有效(使用JSON验证器)
  • 尝试删除配置文件后重启(会生成新的默认配置)

限制不起作用?

  • 编辑配置后使用 /dimensioncontrol reload
  • 验证物品/方块/实体ID是否正确(在游戏中按F3+H查看ID)
  • 检查维度ID是否匹配(例如 minecraft:the_nether 而不是仅仅 nether)

玩家仍然可以访问维度?

  • 管理员(权限等级2+)按设计绕过所有限制
  • 检查 enablePermissionSystem 是否设置为 true
  • 如果要完全阻止某维度,请确保将其设置为 "enabled": false

由 DemoDev 用 ❤️ 制作