Towny3D

Towny3D

一款专为Hytale服务器设计的高性能3D领地保护插件。功能包括城镇/国家管理、地块认领、PvP控制,以及采用Kotlin协程和空间索引技术的高级权限系统。

游戏玩法

alt text

Towny3D

适用于 Hytale 服务器的高性能 3D 土地保护插件,包含城镇/国家管理、地皮认领、PvP 控制以及基于 Kotlin 协程和空间索引的高级权限系统。

状态:Alpha - 此插件处于实验性阶段并正在积极开发中。它已从 Spigot API 移植到 Hytale API,大量使用了 Claude Code,主要依赖于反编译的 Hytale 服务器源代码。

重要提示

你可以在新的 CI 中找到尚未发布到 CurseForge 的最新版本:https://filocava99.github.io/Buildy/builds/Towny3D/Towny3D.html

根据 CurseForge 政策要求的强制性免责声明: 请注意,此处发布的构建版本未经 CurseForge 审核,因此使用风险自负

目录

依赖项

必需:

  • Cassaforte - 用于经济、权限和聊天集成的服务注册插件

Towny3D 需要先安装并加载 Cassaforte。Cassaforte 提供了 Towny3D 用于经济集成的服务注册表(如果无可用经济插件,将回退到内部经济系统)。

配置

Towny3D 将其配置存储在 mods/it.cava99.towny3d_Towny3D/towny-config.json 中。首次启动时,会自动创建一个默认配置文件。

配置属性

经济设置

属性 类型 默认值 描述
townCost Double 1000.0 创建新城镇的费用
layerCost Double 10.0 每个认领层(Y轴范围)的费用
layersPerPlayer Int 3840 每位居民提供的额外层数(垂直认领高度)
defaultTownBalance Double 0.0 新城镇的初始余额
homeRegionHeight Int 384 家区域的默认高度(-64 到 320)

国家设置

属性 类型 默认值 描述
nationCreationCost Double 10000.0 创建新国家的费用

认领设置

属性 类型 默认值 描述
maxClaimHeight Int 256 单个认领的最大高度
claimCooldownMs Long 1000 认领尝试之间的冷却时间(毫秒)

名称验证

属性 类型 默认值 描述
maxTownNameLength Int 32 城镇名称的最大字符数
maxNationNameLength Int 32 国家名称的最大字符数
maxResidentNameLength Int 16 居民名称的最大字符数

维护设置

属性 类型 默认值 描述
autoSaveIntervalSeconds Int 300 自动保存间隔(秒,默认:5分钟)
cacheCleanupIntervalMinutes Int 10 缓存清理间隔(分钟)
cacheCleanupEntriesRemoved Int 100 清理期间移除的缓存条目数

世界设置

属性 类型 默认值 描述
defaultWorldName String "world" 默认世界名称

功能开关

属性 类型 默认值 描述
enableNations Boolean true 启用/禁用国家系统
enableEconomy Boolean true 启用经济功能
enablePlotSales Boolean true 启用土地出售/购买
enableTownChat Boolean true 启用城镇聊天频道
enableNationChat Boolean true 启用国家聊天频道

语言设置

属性 类型 默认值 描述
defaultLanguage String "en-US" 默认语言区域(BCP 47 格式)

支持的值: en-USit-IT,或你创建的任何自定义区域设置

格式: 语言代码必须遵循 BCP 47 格式:ll-CC,其中 ll 是小写的 ISO 639-1 语言代码,CC 是大写的 ISO 3166-1 国家/地区代码。

维护费设置

属性 类型 默认值 描述
townUpkeep Double 0.0 城镇维持存在所需支付的每日费用
nationUpkeep Double 0.0 国家维持存在所需支付的每日费用
enableTownUpkeep Boolean false 城镇是否必须支付每日维护费
enableNationUpkeep Boolean false 国家是否必须支付每日维护费

注意: 启用维护费后,无法支付的城镇/国家将陷入废墟,并可被他人重新认领。

税收设置

属性 类型 默认值 描述
taxCollectionIntervalHours Int 24 征税频率(小时)
defaultTownTaxEnabled Boolean false 新城镇的默认税收启用状态
defaultTownTaxType String "FLAT" 新城镇的默认税收类型
defaultTownTaxAmount Double 0.0 新城镇的默认税收金额
defaultNationTaxEnabled Boolean false 新国家的默认税收启用状态
defaultNationTaxType String "FLAT" 新国家的默认税收类型
defaultNationTaxAmount Double 0.0 新国家的默认税收金额
upkeepTimeOfDay String "18:00" 收取维护费的时间(HH:MM 格式)
reclaimFeeMultiplier Double 2.0 城镇/国家重新认领费用的倍数
ruinedDeletionDays Int 30 陷入废墟的城镇/国家被删除前的天数
maxNationTaxPercent Double 10.0 最高国家税率百分比(0-100)
maxTownTaxPercent Double 25.0 最高城镇税率百分比(0-100)
maxPlotTaxPercent Double 50.0 最高地皮税率百分比(0-100)
taxWarningMinutesBefore Int 30 征税前发送警告的分钟数
taxWarningMessage String 包含 {time} 占位符的警告消息模板
taxSummaryMessageEnabled Boolean true 是否显示征税后摘要
maxNationDebtMultiplier Double 5.0 最大国家债务限额的倍数
allowTownLeaveWithDebt Boolean false 居民是否可以在欠债时离开城镇

税收类型:

  • "FLAT" - 固定金额税(例如,100 金币)
  • "PERCENTAGE" - 基于百分比的税(例如,余额的 10%,必须在 0-100 之间)

自动更新行为

当未来插件版本在配置文件中添加新属性时,Towny3D 将自动:

  1. 在加载你现有配置时检测缺失属性
  2. 使用默认值合并新属性
  3. 保存更新后的配置文件
  4. 保留你所有的现有设置

你的自定义值永远不会被覆盖——只有缺失的属性及其默认值会被添加。

示例配置

{
  "townCost": 1000.0,
  "layerCost": 10.0,
  "layersPerPlayer": 3840,
  "defaultTownBalance": 0.0,
  "homeRegionHeight": 384,
  "nationCreationCost": 10000.0,
  "maxClaimHeight": 256,
  "claimCooldownMs": 1000,
  "maxTownNameLength": 32,
  "maxNationNameLength": 32,
  "maxResidentNameLength": 16,
  "autoSaveIntervalSeconds": 300,
  "cacheCleanupIntervalMinutes": 10,
  "cacheCleanupEntriesRemoved": 100,
  "defaultWorldName": "world",
  "enableNations": true,
  "version": "1.0.0",
  "defaultLanguage": "en-US",
  "enableEconomy": true,
  "enablePlotSales": true,
  "enableTownChat": true,
  "enableNationChat": true,
  "townUpkeep": 0.0,
  "nationUpkeep": 0.0,
  "enableTownUpkeep": false,
  "enableNationUpkeep": false,
  "taxCollectionIntervalHours": 24,
  "defaultTownTaxEnabled": false,
  "defaultTownTaxType": "FLAT",
  "defaultTownTaxAmount": 0.0,
  "defaultNationTaxEnabled": false,
  "defaultNationTaxType": "FLAT",
  "defaultNationTaxAmount": 0.0,
  "upkeepTimeOfDay": "18:00",
  "reclaimFeeMultiplier": 2.0,
  "ruinedDeletionDays": 30,
  "maxNationTaxPercent": 10.0,
  "maxTownTaxPercent": 25.0,
  "maxPlotTaxPercent": 50.0,
  "taxWarningMinutesBefore": 30,
  "taxWarningMessage": "&e[Tax] Taxes will be collected in {time}!",
  "taxSummaryMessageEnabled": true,
  "maxNationDebtMultiplier": 5.0,
  "allowTownLeaveWithDebt": false
}

语言 / 翻译

Towny3D 通过翻译文件支持多种语言。用户可以创建和分享他们自己的语言包。

翻译工作原理

首次启动时,Towny3D 会自动提取翻译文件到:

mods/it.cava99.towny3d_Towny3D/Server/Languages/{locale}/

你可以直接编辑这些文件来自定义消息,无需重新构建插件。

默认语言

默认语言在 towny-config.json 中设置:

{
  "defaultLanguage": "en-US"
}

更改语言

管理员可以在不重启的情况下更改服务器语言:

/ta setlang <locale>

权限: towny3d.admin

示例:

  • /ta setlang en-US - 英语
  • /ta setlang it-IT - 意大利语
  • /ta setlang es-ES - 西班牙语(如果你创建了的话)

编辑翻译文件

翻译文件位于:

mods/it.cava99.towny3d_Towny3D/Server/Languages/{locale}/

每种语言都有多个文件:

  • commands.lang - 命令相关消息
  • taxes.lang - 税收和维护费消息
  • protection.lang - 保护和警告消息
  • economy.lang - 经济相关消息

翻译文件格式

翻译文件使用简单的 key = value 格式:

# 以 # 开头的行为注释
key = Translated text with {placeholders}

示例

原文(en-US/commands.lang):

town.created = Town '{name}' created successfully!
town.name_taken = Town name '{name}' is already taken
town.joined = You have joined '{town}'!

意大利语翻译(it-IT/commands.lang):

town.created = Città '{name}' creata con successo!
town.name_taken = Il nome della città '{name}' è già in uso
town.joined = Sei entrato in '{town}'!

创建新语言

  1. Server/Languages/ 下使用你的区域代码创建一个新目录:

    mkdir "mods/it.cava99.towny3d_Towny3D/Server/Languages/es-ES"
    
  2. en-US 复制翻译文件到你的新目录:

    copy mods\it.cava99.towny3d_Towny3D\Server\Languages\en-US\*.lang mods\it.cava99.towny3d_Towny3D\Server\Languages\es-ES\
    
  3. 编辑文件以翻译消息。

  4. 重启服务器或使用 /ta setlang es-ES

自定义现有翻译

只需编辑你语言目录中的 .lang 文件即可。更改将在以下情况下生效:

  • 下次服务器重启,或者
  • 当你使用 /ta setlang <locale> 重新加载语言时

可用翻译

  • en-US - 英语(默认)
  • it-IT - 意大利语

翻译文件结构

Server/Languages/
├── en-US/
│   ├── commands.lang    # 所有命令消息
│   ├── taxes.lang       # 税收/维护费消息
│   ├── protection.lang  # 保护警告
│   └── economy.lang     # 经济消息
└── it-IT/
    ├── commands.lang
    ├── taxes.lang
    ├── protection.lang
    └── economy.lang

主要特性

3D 认领系统

Towny3D 引入了真正的 3D 土地认领——你可以在同一个区块的不同垂直层级拥有多个地皮!只需使用认领棒选择你想要地皮区域的低点和高点,然后运行认领命令即可。

  • 垂直粒度:认领特定的 Y 轴范围,而非整个区块
  • 空间索引:通过优化的空间缓存实现快速区域查找
  • 认领棒:使用 /claim gcs(获取认领棒)来设置地皮边界

已实现功能

城镇管理

  • /town create <townName> - 创建一个新城镇
  • /town delete - 解散你的城镇
  • /town info [townName] - 查看城镇信息
  • /town list - 列出所有城镇
  • /town join <townName> - 加入一个开放的城镇
  • /town leave - 离开你当前的城镇
  • /town mayor - 镇长管理子菜单
  • /town addAssistant <playerName> - 添加城镇助理
  • /town removeAssistant <playerName> - 移除城镇助理
  • /town setHome - 设置城镇重生点
  • /town spawn - 传送到城镇重生点
  • /town online - 列出在线居民
  • /town here - 显示你所在位置的城镇信息
  • /town kick <playerName> - 从城镇踢出居民
  • /town deposit <amount> - 存入城镇银行
  • /town withdraw <amount> - 从城镇银行取款

国家管理

  • /nation create <nationName> - 创建一个新国家
  • /nation delete - 解散你的国家
  • /nation info [nationName] - 查看国家信息
  • /nation list - 列出所有国家
  • /nation join <nationName> - 加入一个开放的国家
  • /nation leave - 离开你当前的国家
  • /nation invite <townName> - 邀请一个城镇加入你的国家
  • /nation kick <townName> - 从你的国家踢出一个城镇

地皮管理

  • /plot claim - 认领你所在的地皮
  • /plot unclaim - 取消认领你所在的地皮
  • /plot forsale <price> (别名:/plot fs) - 将地皮挂牌出售
  • /plot notforsale (别名:/plot nfs) - 从市场下架地皮
  • /plot info - 查看地皮信息
  • /plot name <name> - 为你的地皮命名
  • /plot showBorders (别名:/plot sb) - 视觉上显示地皮边界
  • /plot hideBorders (别名:/plot hb) - 隐藏地皮边界
  • /plot toggle <flag> [on/off] - 切换地皮标志(pvp, explosion, fire)
  • /plot set perm <permGroup> <permType> <value> - 设置地皮权限
  • /plot set embassy - 将地皮标记为大使馆

认领命令

  • /claim gcs (获取认领棒) - 获取用于设置地皮低点和高点位置的物品
  • /claim land - 认领选定的 3D 区域
  • /claim auto - 自动认领相邻土地
  • /claim unclaim - 取消认领城镇土地

选择命令(WorldEdit 风格)

  • /p1 - 设置第一个位置(下角)以选择区域
  • /p2 - 设置第二个位置(上角)以选择区域
  • /pos1 - /p1 的别名
  • /pos2 - /p2 的别名

认领棒使用

认领棒(Ingredient_Stick)用于选择要认领的区域:

  1. 左键单击一个方块以设置位置 1
  2. 在看向另一个方块时按 F 键以设置位置 2
  3. 运行 /claim land 以认领选定的区域

注意: Hytale 使用 F 键进行次要交互,而非右键。认领棒通过 Hytale 的 UseBlockEvent.Pre 系统工作,该系统正确映射:

  • InteractionType.Primary (0) = 左键 -> 位置 1
  • InteractionType.Use (5) = F 键 -> 位置 2

选择可视化

当两个位置都设置好后,你将看到:

  • 选择体积坐标
  • 选择大小(尺寸)
  • 预估认领费用

城镇切换

  • /toggle pvp [on/off] - 切换城镇内的 PvP
  • /toggle public [on/off] - 切换公开状态
  • /toggle explosions [on/off] - 切换爆炸保护
  • /toggle open [on/off] - 切换开放加入

聊天系统

  • /tc <message> (别名:/townchat) - 发送消息到城镇聊天
  • /nc <message> (别名:/nationchat) - 发送消息到国家聊天
  • /g <message> (别名:/globalchat) - 发送消息到全局聊天
  • /chat town|nation|global - 切换默认聊天模式

经济

  • /balance (别名:/bal) - 检查你的余额(仅使用内部经济时)
  • /resident balance - 检查居民余额
  • /town balance - 检查城镇银行余额
  • /nation balance - 检查国家银行余额
  • /eco give <player> <amount> - 给玩家金钱
  • /eco take <player> <amount> - 从玩家处取走金钱
  • /eco set <player> <amount> - 设置玩家余额
  • /eco balance <player> - 检查玩家余额

注意: 仅当使用 Towny3D 的内部经济系统时,经济命令才可用。如果外部经济系统(例如 Cassaforte 的内置经济或其他插件)可用,请改用该经济系统的命令。如果没有可用的外部经济系统,Towny3D 会自动回退到内部经济。

维护费和税收

Towny3D 具有全面的维护费和税收系统,以维持经济平衡并鼓励积极参与。

税收类型:

  • 城镇维护费 - 城镇定期向服务器支付的费用(可配置,默认禁用)
  • 国家维护费 - 国家定期向服务器支付的费用(可配置,默认禁用)
  • 国家税收 - 国家可以向成员国城镇征税(固定金额或按城镇余额的百分比)
  • 城镇税收 - 城镇可以向居民征税(固定金额或按居民余额的百分比)
  • 地皮税收 - 城镇可以对单个地皮设置税收(固定金额或百分比)

税收命令:

  • /town tax <flat|percent> <amount> - 设置你城镇的居民税
  • /town tax clear - 清除居民税
  • /town tax info - 查看城镇税收设置
  • /nation tax <flat|percent> <amount> - 设置成员国城镇的税收
  • /nation tax clear - 清除国家税收
  • /nation tax info - 查看国家税收设置
  • /nation debt [town] - 查看城镇欠国家的债务
  • /plot tax <flat|percent> <amount> - 设置当前地皮的税收
  • /plot tax clear - 清除地皮税收
  • /plot tax info - 查看地皮税收信息
  • /tax - 显示你的个人税收负担
  • /tax town <name> - 查看城镇税收信息
  • /tax nation <name> - 查看国家税收信息

管理员税收命令:

  • /ta collecttaxes - 强制立即征税
  • /ta nexttax - 显示下次征税时间
  • /ta reclaim <town|nation> <name> - 重新认领一个陷入废墟的实体
  • /ta ruinate <town|nation> <name> - 强制实体进入废墟状态
  • /ta settaxtime <HH:mm> - 更改征税时间
  • /ta toggle upkeep - 启用/禁用维护费系统

后果:

  • 城镇/国家无法支付维护费 → 陷入废墟(可以付费重新认领)
  • 居民无法支付地皮税 → 失去地皮所有权
  • 居民无法支付居民税 → 跳过付款(不产生债务)
  • 城镇无法支付国家税 → 陷入债务,被阻止离开国家

邀请

  • /accept - 接受待处理的城镇/国家邀请
  • /decline - 拒绝待处理的邀请

管理命令(/townyadmin

  • /ta reload - 重新加载插件配置
  • /ta save - 强制保存所有数据
  • /ta stats - 查看插件统计信息
  • /ta unclaim [radius] - 管理员强制取消认领
  • /ta reset <player> - 重置玩家的城镇数据
  • /ta setlang <locale> - 更改服务器语言
  • /ta reconcile - 修复城镇成员数据不一致

居民命令

  • /res (别名:/resident) - 居民命令根
  • /res info [player] - 查看居民信息
  • /res list - 列出所有居民
  • /balance - 检查余额

保护系统

  • 实体保护:控制实体生成和交互
  • 爆炸保护:防止爆炸造成的破坏
  • 玩家交互:控制方块的放置、破坏和物品使用
  • PvP 控制:按区域细粒度切换 PvP
  • 区块进入通知:进入时显示城镇/区域信息

语言 / 翻译

Towny3D 通过翻译文件支持多种语言。用户可以创建和分享他们自己的语言包。

默认语言

默认语言在服务器配置(config.json)中设置:

{
  "defaultLanguage": "en-US"
}

更改语言

管理员可以在不重启的情况下更改服务器语言:

/ta setlang <locale>

权限: towny3d.admin

示例:

  • /ta setlang en-US - 英语
  • /ta setlang it-IT - 意大利语

创建语言包

Server/Languages/{locale}/ 下创建翻译文件:

Server/Languages/
├── en-US/
│   ├── commands.lang
│   ├── taxes.lang
│   └── protection.lang
└── your-locale/
    ├── commands.lang
    ├── taxes.lang
    └── protection.lang

翻译文件使用以下格式:

key = Translated text with {placeholders}

示例:

town.created = Town '{name}' created successfully!
town.name_taken = Town name '{name}' is already taken

可用翻译

  • en-US - 英语(默认)
  • it-IT - 意大利语

计划功能(尚未实现)

城镇命令

  • /town set perm <permGroup> <permType> <value> - 设置城镇权限

地皮命令

  • /plot reset - 将地皮重置为默认设置

城镇权限和标志系统

标志系统已部分实现,用于地皮切换。权限组正在规划中。

已实现的标志(通过 /plot toggle):

  • pvp - 玩家对玩家战斗
  • explosion - 爆炸伤害
  • fire - 火焰蔓延和伤害

计划中的标志:

  • friendly_mobs_spawn - 友好生物生成
  • hostile_mobs_spawn - 敌对生物生成

计划中的权限(针对组:res/ally/gen):

  • pvp - 玩家对玩家战斗
  • inventory - 物品栏访问
  • interact - 方块交互
  • build - 放置方块
  • destroy - 破坏方块
  • drop - 丢弃物品
  • pick - 捡起物品
  • move - 移动

管理员功能

  • /townyadmin chat spy - 监控城镇/国家聊天

权限

所有 Towny3D 权限都使用 towny3d. 前缀。权限由 Hytale 服务器的权限系统自动检查。

默认权限

权限节点 描述 默认
towny3d.admin 对所有 Towny3D 命令的完整管理员访问权限 仅 OP
towny3d.* 所有 Towny3D 权限的通配符 仅 OP

命令权限

通用命令

权限 描述
towny3d.balance 检查账户余额
towny3d.resident 基础居民命令访问权限
towny3d.resident.info 查看居民信息
towny3d.resident.list 列出所有居民
towny3d.resident.balance 检查居民余额

城镇命令(/town/t

权限 描述
towny3d.town 基础城镇命令访问权限
towny3d.town.create 创建一个新城镇
towny3d.town.delete 删除你的城镇
towny3d.town.join 加入一个城镇
towny3d.town.leave 离开你的城镇
towny3d.town.list 列出所有城镇
towny3d.town.info 查看城镇信息
towny3d.town.claim 为城镇认领土地
towny3d.town.unclaim 取消认领城镇土地
towny3d.town.set 更改城镇设置
towny3d.town.toggle 切换城镇标志
towny3d.town.deposit 存入城镇银行
towny3d.town.withdraw 从城镇银行取款
towny3d.town.kick 从城镇踢出居民
towny3d.town.invite 邀请玩家加入城镇
towny3d.town.add_assistant 将居民提升为助理
towny3d.town.remove_assistant 将助理降级为居民
towny3d.town.spawn 传送到城镇重生点
towny3d.town.set_home 设置城镇重生位置
towny3d.town.online 列出在线城镇成员
towny3d.town.here 显示当前位置的城镇
towny3d.town.tax 访问城镇税收命令
towny3d.town.balance 查看城镇银行余额

国家命令(/nation

权限 描述
towny3d.nation 基础国家命令访问权限
towny3d.nation.create 创建一个新国家
towny3d.nation.delete 删除你的国家
towny3d.nation.join 用你的城镇加入一个国家
towny3d.nation.leave 离开你的国家
towny3d.nation.list 列出所有国家
towny3d.nation.info 查看国家信息
towny3d.nation.kick 从国家踢出一个城镇
towny3d.nation.invite 邀请城镇加入国家
towny3d.nation.tax 访问国家税收命令
towny3d.nation.debt 查看城镇欠国家的债务
towny3d.nation.balance 查看国家银行余额

地皮命令(/plot

权限 描述
towny3d.plot 基础地皮命令访问权限
towny3d.plot.claim 认领一个地皮
towny3d.plot.unclaim 取消认领一个地皮
towny3d.plot.forsale 出售地皮
towny3d.plot.notforsale 将地皮从市场下架
towny3d.plot.set 设置地皮权限(集合)
towny3d.plot.set.perm 设置地皮权限
towny3d.plot.set.reset 将地皮重置为默认设置
towny3d.plot.toggle 切换地皮标志
towny3d.plot.name 命名一个地皮
towny3d.plot.show_borders 显示地皮边界标记
towny3d.plot.hide_borders 隐藏地皮边界标记
towny3d.plot.info 查看地皮信息
towny3d.plot.tax 访问地皮税收命令

认领命令(/claim

权限 描述
towny3d.claim 基础认领命令访问权限
towny3d.claim.stick 获取认领棒工具
towny3d.claim.auto 切换自动认领
towny3d.claim.unclaim 取消认领所在位置的土地
towny3d.claim.land 手动认领土地

聊天命令(/chat/tc/nc/g

权限 描述
towny3d.chat 基础聊天命令访问权限
towny3d.chat.town 使用城镇聊天频道
towny3d.chat.nation 使用国家聊天频道
towny3d.chat.global 切换到全局聊天

邀请命令(/invite/accept/decline

权限 描述
towny3d.invite 基础邀请命令访问权限
towny3d.invite.accept 接受待处理的邀请
towny3d.invite.decline 拒绝待处理的邀请
towny3d.invite.list 列出待处理的邀请
towny3d.invite.send 发送邀请

切换命令(/toggle

权限 描述
towny3d.toggle 基础切换命令访问权限
towny3d.toggle.pvp 切换 PvP 保护
towny3d.toggle.explosions 切换爆炸保护
towny3d.toggle.public 切换公开访问
towny3d.toggle.open 切换开放状态

税收命令(/tax

权限 描述
towny3d.tax 基础税收命令访问权限

管理命令(/ta

权限 描述
towny3d.admin 所有管理命令(使用此权限可完全访问管理员功能)
towny3d.admin.reload 重新加载插件配置
towny3d.admin.save 强制保存所有数据
towny3d.admin.stats 查看服务器统计信息
towny3d.admin.unclaim 管理员强制取消认领
towny3d.admin.reset 重置城镇/玩家数据
towny3d.admin.setlang 更改服务器语言
towny3d.admin.chat 管理员聊天选项
towny3d.admin.spy 监控聊天频道
towny3d.admin.reconcile 修复城镇成员数据不一致
towny3d.admin.collecttaxes 强制立即征税
towny3d.admin.nexttax 显示下次征税时间
towny3d.admin.reclaim 重新认领废墟城镇/国家
towny3d.admin.ruinate 强制实体进入废墟状态
towny3d.admin.settaxtime 更改征税时间
towny3d.admin.toggle_upkeep 启用/禁用维护费系统

经济管理命令(/eco

权限 描述
towny3d.eco 基础经济管理访问权限
towny3d.eco.give 给玩家金钱
towny3d.eco.take 从玩家处取走金钱
towny3d.eco.set 设置玩家余额
towny3d.eco.balance 检查玩家余额

设置权限

Hytale 中的权限通常通过服务器的权限系统或权限插件进行配置。请根据你选择的权限插件的格式配置权限。

对于基本设置,请确保:

  • 所有玩家都可以访问基本命令:towny3d.town, `towny