Homabric

Homabric

🏠 适用于 Fabric 的轻巧而强大的家居管理模组

冒险

Homabric

小巧但功能强大的 Fabric 家居管理模组

⚠️ 此模组目前处于开发早期阶段,您可以使用以下列出的所有功能,但它们可能会在未来有所更改。代码质量有时可能很差,未来会逐步改进。

功能特性

  • ⭐ 与玩家共享家园。
  • ⭐ 通过权限为每个小组或玩家设置最大家园数量限制。
  • ⭐ 使用 GUI 进行传送并查看所有家园信息。
  • ⭐ 编辑家园用于 GUI 显示的图标,支持模组物品。
  • ⭐ 可轻松配置模组并查看玩家位置。
  • ⭐ 传送超时机制,若玩家移动或受到伤害时可阻止传送。

计划中的功能

  • 使用权限设置传送超时时间。
  • 在配置中自定义 /home 命令别名。
  • 重写代码以提高可读性。

支持语言

  • 🇬🇧 英语
  • 🇷🇺 俄语
  • 🇨🇳 中文 (@Neubulae)

命令

您可以使用 homabric.teleport.bypass 权限来绕过传送超时时间。

玩家命令

  • /h 或 /home homabric.base.use
  • /h <名称?> homabric.base.byName
  • /h set <名称?> homabric.base.set
  • /h remove <家园> homabric.base.remove
  • /h p <玩家> <家园> homabric.base.others
  • /h list homabric.base.list
  • /h allow <玩家> <家园> homabric.base.allow
  • /h disallow <玩家> <家园> homabric.base.disallow
  • /h setIcon <家园> <物品标识符> homabric.base.setIcon

管理员命令

您可以通过 /homabric 访问管理员命令。

  • /homabric homabric.admin.use
  • /homabric reload homabric.admin.reload
  • /homabric teleport <玩家> <家园> homabric.admin.teleport
  • /homabric set <玩家> <家园> homabric.admin.set
  • /homabric remove <玩家> <家园> homabric.admin.remove
  • /homabric list <玩家> homabric.admin.list

经典命令

您可以在配置文件中将 enableClassicCommands 设置为 false 来禁用这些命令。

  • /sethome <名称> homabric.base.set
  • /removehome <家园> homabric.base.remove
  • /playerhome <玩家> <家园> homabric.base.others
  • /listhome homabric.base.list
  • /allowhome <玩家> <家园> homabric.base.allow
  • /disallowhome <玩家> <家园> homabric.base.disallow

配置

我开发此模组时注重简洁性,决定将家园数据存储在配置文件中,而不是实体或世界的 NBT 中,这样服务器管理员可以快速在不同地图间迁移而不会丢失数据,并且能够便捷地编辑文件,节省大量时间。

⚠️ 从版本 2.0.0 开始,配置文件被拆分为两个不同的文件。

homabric.config.conf

此文件保存 Homabric 的设置。

# 不要修改此值,模组需要它来
# 检查配置文件是否过期。
configVersion=3
# 此选项启用备选命令变体,如 /sethome、/removehome 等。
enableClassicCommands=true
# 设置每位玩家拥有的最大家园数量。
homesLimit=21
# 您可以定义权限来覆盖玩家的家园限制(如果拥有这些权限)。
# 权限名称会被转换为类似 'homabric.homelimit.<权限名称>' 的权限
# 示例权限:vip: { max-homes=6 }
permissionsHomeLimit {}
# 设置传送到家前的等待时间(秒)。
# 您可以将此值设置为 0 来禁用此功能。
teleportCooldown=5

homabric.homes.conf

此文件包含所有玩家创建的家园数据。

players {
        # 玩家昵称(不是显示名称)
        ExamplePlayer {
            # 玩家家园列表
            homes {
                # 家园名称
                "village" {
                    # 可以访问此家园的玩家
                    allowed-players=[]
                    # 图标必须是一个标识符,例如 'minecraft:cobblestone'
                    icon="minecraft:map"
                    # 家园所在的世界
                    world="minecraft:overworld"
                    # 坐标,包括头部朝向
                    pitch=7.15
                    x=160.66
                    y=72.0
                    yaw=-51.45
                    z=-76.45
                }
                # 带有允许玩家 'Rogi27' 的家园示例
                home {
                    allowed-players=[
                        Rogi27
                    ]
                    icon="minecraft:iron_shovel"
                    pitch=8.25
                    world="minecraft:overworld"
                    x=1337.3
                    y=172.0
                    yaw=123.1
                    z=276.45
                }
            }
        }
    }

从 1.x.x 版本迁移

由于 2.0.0 版本包含破坏性更改,您需要手动编辑配置文件,将原始配置中的 players 部分移动到新的名为 homabric.homes.conf 的文件中。