Towny3D
A high-performance 3D land protection plugin for Hytale servers. Features town/nation management, plot claims, PvP control, and advanced permission systems with Kotlin coroutines and spatial indexing.
Описание

Город 3D
Высокопроизводительный 3D-плагин защиты земли для серверов Hytale с управлением городом / страной, требованиями к участкам, контролем PvP и расширенными системами разрешений с корутинами Kotlin и пространственной индексацией.
Состояние: Альфа - Этот плагин является экспериментальным и находится в активной разработке. Он был портирован из API Spigot в API Hytale с широким использованием кода Claude, в основном полагаясь на декомпилированный исходный код сервера Hytale.
Зависимости
Требуется:
Кассафорте Плагин реестра услуг для экономии, разрешений и интеграции чата
Любой экономичный плагин, совместимый с кассафорте, например Простая экономика или Экономика
Towny3D требует установки и загрузки Cassaforte. Cassaforte предоставляет сервисный реестр, который Towny3D использует для интеграции экономики (в случае отсутствия такового)
Ключевые особенности
3D система претензий
Towny3D представляет настоящие 3D претензии на землю - вы можете иметь несколько участков в одном куске на разных вертикальных уровнях! Просто выберите нижнюю и верхнюю точки желаемой области участка с помощью клюшки претензии, затем запустите команду претензии.
- Вертикальная гранулярностьУкажите конкретные диапазоны Y-осей, а не целые куски
- пространственная индексация: Быстрый поиск областей с оптимизированным пространственным кэшем
- Претензионный Stick: Использовать
/claim gcs(Get claim stick) — установить границы
Реализованные особенности
Управление городом
/town create <townName>Создать новый городГородок удалить- Распустить свой город/town info [название города]Посмотреть городскую информациюГородской списокСписок всех городов/town join <townName>Присоединяйтесь к открытому городуГородской отпуск- Оставьте свой нынешний город
Национальный менеджмент
/nation create <nationName>Создать новую нацию/нация удалитьРаспустить свою нацию/nation info [название страны]Просмотр национальной информацииСписок странСписок всех наций/nation join <nationName>Присоединяйтесь к открытой нации/национальный отпускОставьте свою нынешнюю нацию/nation invite <townName>Пригласите город в свою страну/nation kick <townName>- Выбирай город из своей страны
Управление проектами
Претензия /plot- Утверждай, что ты в этом замешан./plot unclaim- Откажитесь от сюжета, в котором вы стоите/plot forsale <цена>(alias:/plot fs- Выставить участок на продажу/plot Notforsale(alias:/plot nfs) - Удалить участок с рынка/plot infoПросмотр сюжетной информации/plot name <name>Назови свой участок./plot showBorders(alias:/plot sb) - Показать границы сюжета визуально/plot hideBorders(alias:/plot hb) - Скрыть границы участка
Заявочные команды
/claim gcs(Get claim stick) - Получить элемент, чтобы установить нижние и верхние точки сюжета/claim [чахать]Заявка на землю в выбранном 3D регионеавтозаводАвтоматически претендовать на прилегающую землю/claim unclaimНевостребованная земля города
Команды выбора (стиль WorldEdit)
p1Установите первую позицию (нижний угол) для выбора регионаp2- Установить вторую позицию (верхний угол) для выбора региона/pos1Алиас дляp1/pos2Алиас дляp2
Городские туфли
/toggle pvp [включено/выключено]Toggle PvP в городе/toggle public [включено/выключено]- Переключать общественный статус/toggle explosions [включено/выключено]- Защита от взрыва/toggle open [включено/выключено]Открытый Toggle
Чат-система
/tc <message>(alias:/townchat- Отправить сообщение в городской чат/nc <message>(alias:/nationchat- Отправить сообщение в национальный чат/g <сообщение>(alias:/globalchat- Отправить сообщение в глобальный чат/ Chat Town | Нация | Глобальный- Режим чата по умолчанию
Экономика
/ Баланс(alias:бальПроверьте свой баланс (только с внутренней экономикой)Остаток резидентаПроверить баланс резидентаГородской балансПроверьте баланс городского банкаБаланс нацииПроверьте баланс национального банка/eco give <player> <mount>Отдайте деньги игроку/eco take <player> <mount>- Берите деньги у игрока/eco set <player> <mount>Установить баланс игрока/eco balance <player>Проверьте баланс игрока
Примечание: Экономные команды доступны только при использовании внутренней экономики Towny3D. Если доступна внешняя экономика (например, встроенный или другой плагин Cassaforte), используйте команды этой экономики. Towny3D автоматически возвращается к внутренней экономике, если нет внешней экономики.
Поддержание и налогообложение
Towny3D имеет комплексную систему обслуживания и налогообложения для поддержания экономического баланса и поощрения активного участия.
Типы налогов:
- Городское содержание Периодические затраты городов на оплату сервера (конфигурируемые, по умолчанию отключены)
- Сохранение нации Периодическая стоимость, которую страны платят серверу (конфигурируемый, по умолчанию отключенный)
- Национальные налоги Страны могут облагать налогом города-члены (плоская сумма или процент городского баланса)
- Городские налоги Города могут облагать налогом жителей (плоская сумма или процент от остатка жителей)
- Налоги на участки Города могут устанавливать налоги на отдельные участки (плоская сумма или процент)
Налоговые команды:
/городской налог <flat |%> <сумма>Установите налог на резидентов для вашего городаГородской налоговый отчетЧистый налог резидента/ Городская налоговая информацияПосмотреть городские налоговые настройки/nation tax <flat |%> <сумма>Установить налог на города-члены/Национальный налог ясноЧистый национальный налог/nation tax informationПосмотреть национальные налоговые настройкиГосударственный долг [город]Посмотреть Долги города перед страной/plot tax <flat |%> <сумма>- Установить налог на текущий участок/plot tax clearЧистый налог на участок/plot tax information- Посмотреть сюжет налоговая информация/налогПокажите свое личное налоговое бремя/налоговый город <name>- Посмотреть городскую налоговую информацию/tax nation <name>- Посмотреть национальную налоговую информацию
Административный налог Команды:
/та сборных налоговПринудить к немедленному сбору налогов/ta nexttaxПоказать, когда будет следующий сбор/ta reclaim <town |nation> <имя>Восстановление разрушенной сущности/ta ruinate[править править код] <имя>Сущность силы в разрушенном состоянии/ta settaxtime <HH:mm>Изменение времени сбора налогов/taggle upkeep- Включить/отключить систему технического обслуживания
Последствия:
- Город / Страна не может платить содержание Падение в руины (можно вернуть за плату)
- Житель не может платить налог на земельный участок ? Потеря права собственности на участок
- Резидент не может платить налог резидента Пропущенные платежи (без долгов)
- Город не может платить национальный налог ? Влезает в долги, не может покинуть страну
Приглашения
/принять- Принять ожидающее приглашение города/нации/упадок- Отклонить ожидающее приглашение
Административные команды ()/таунадмин)
/ta скачать- Перезагрузка конфигурации плагина/ta Экономия- Force Save All Data/ta Статистика- Посмотреть статистику плагинов/ta unclaim- Невостребованная административная сила/ta сброс- Сбросить данные плагина
Командование резидентов
/res(alias:/резидент) - Корень команды резидента/res info [игрок]Посмотреть информацию о резидентах/res списокПеречислить всех жителей/ БалансПроверить баланс
Системы защиты
- Защита юридических лицКонтролировать нерест и взаимодействия
- Защита от взрывовПредотвращение повреждений от взрывов
- Игровые взаимодействия: Размещение блока управления, взлом и использование элементов
- PvP контрольПрекраснозернистый PvP Toggle per region
- Chunk Enter Уведомления: Показать город / регион информация о въезде
Планируемые функции (пока не реализованы)
Городские команды
Городской мэрПодменю мэраГородок Добавить Ассистент <playerName>Добавить помощника/town removeПомощник <playerName>- Уберите помощника.Городской набор Домой- Установить точку нереста в городе/городской нерестТелепорт в город ИспанияГород онлайнСписок онлайн-резидентов/Город здесь- Покажите информацию о городе, в котором вы находитесь/town kick <playerName>Житель города Kick/городской депозит <сумма>- Депозит в городской банк/town withdraw <сумма>- Вывод из городского банка/town set perm <permGroup> <permType> <value>- Установите городские разрешения
Игровые команды
/plot toggle <flag> [включено/выключено]- Флаги заговора (pvp, взрыв, огонь, толпа)/plot set perm <permGroup> <permType> <value>- Установите разрешения на сюжет/plot set ПосольствоМарк заговор как посольство/plot reset- Перезагрузить график по умолчанию
Городская система разрешения и флага
Система флага частично реализована для перетасовки сюжета. Планируются разрешительные группы.
Флаги (через /plot toggle):
pvpИгрок против бойца игрокавзрыв- Повреждение от взрываогонь- Пожар распространился и повредил
Планируемые флаги:
Обсуждение Friendly_mobs_spawn- Дружественная толпаИсполнитель: Mobs_SpawnВраждебная толпа
Планируемые разрешения (для групп: res/ally/gen):
pvpИгрок против бойца игрокаинвентаризация- Доступ к инвентаризациивзаимодействовать- Блок взаимодействиястроитьРазмещать блокиразрушатьРазбить блокикапать- Бросать предметывыбор- Подбирать вещидвигаться- Движение
Особенности Admin
/townyadmin чат шпионШпион по городу / нации чаты
Разрешения
Весь город3 D разрешения использовать Towny3d. префикс. Разрешения автоматически проверяются системой разрешений сервера Hytale.
Разрешения по умолчанию
| Узел разрешений | Описание | по умолчанию |
|---|---|---|
Towny3d.admin |
Полный доступ администратора ко всем командам Towny3D | ОП только |
Город 3д.* |
Wildcard для всех разрешений Towny3D | ОП только |
Командные разрешения
Генеральское командование
| Разрешение | Описание |
|---|---|
город 3d.баланс |
Проверьте баланс счета |
Towny3d.резидент |
Доступ резидента базы |
towny3d.resident.info |
Посмотреть резидентную информацию |
towny3d.resident.list |
Перечислить всех жителей |
towny3d.resident.balance |
Проверить баланс резидента |
Городские команды ()город, /т)
| Разрешение | Описание |
|---|---|
Город 3d.town |
Базовый городской командный доступ |
towny3d.town.create. |
Создайте новый город |
towny3d.town.delete |
Удалите свой город |
Город 3d.town.join |
Присоединяйтесь к городу |
Город 3d.town.leave |
Покинь свой город |
Towny3d.town.list |
Список всех городов |
town3d.town.info |
Посмотреть городскую информацию |
Город 3d.town.claim |
Требовать землю для города |
Towny3d.town.unclaim |
Невостребованная городская земля |
Город 3d.town.set |
Изменить городские настройки |
Город 3d.town.toggle |
Перетаскивать городские флаги |
towny3d.town.deposit |
Депозит в городской банк |
towny3d.town.withraw |
Вывод из городского банка |
town3d.town.kick |
Убить жителей города |
Towny3d.town.invite |
Приглашаем игроков в город |
town3d.town.add_assistant |
Поощрение резидента к помощнику |
town3d.town.remove_assistant |
Помощник резидента |
towny3d.town.spawn |
Телепорт в город нерест |
town3d.town.set_home |
Установить место нереста в городе |
City3d.town.online |
Список онлайн городов |
Город 3d.town.here |
Показать город в текущем месте |
Национальные команды ()нация)
| Разрешение | Описание |
|---|---|
город 3d.nation |
Базовый национальный командный доступ |
towny3d.nation.cоздать |
Создать новую нацию |
towny3d.nation.delete |
Удалите свою страну |
Towny3d.nation.joi n |
Присоединяйтесь к нации с вашим городом |
Towny3d.nation.leave |
Оставьте свой народ |
Towny3d.nation.list |
Список всех наций |
Towny3d.nation.info |
Посмотреть национальную информацию |
Towny3d.nation.kick |
Кик город из нации |
towny3d.nation.invite |
Пригласить город в нацию |
Командование сюжетом ()/plot)
| Разрешение | Описание |
|---|---|
Towny3d.plot |
Базовый сюжет Command Access |
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 |
Флаги сюжета Toggle |
towny3d.plot.name |
Назовите сюжет |
towny3d.plot.show_borders |
Показать граничные маркеры |
towny3d.plot.hide_borders |
Скрыть маркеры границ участка |
Towny3d.plot.info |
Посмотреть сюжетную информацию |
Заявочные команды ()претензия)
| Разрешение | Описание |
|---|---|
Город 3d.claim |
Базовый доступ к командной строке |
Towny3d.claim.stick |
Утвердить инструмент stick |
Towny3d.claim.auto |
Toggle Automotive Претензия |
Towny3d.claim.unclaim |
Невостребованная земля на позиции |
Towny3d.claim.land |
Мануальная земельная претензия |
Чат команд ()/chat, /tc, nnc, г)
| Разрешение | Описание |
|---|---|
Towny3d.chat |
Базовый чат Command Access |
towny3d.chat.town |
Используйте канал City Chat |
Towny3d.chat.nation |
Используйте национальный чат-канал |
Towny3d.chat.global |
Переключитесь на глобальный чат |
Пригласить команду ()приглашать, /принять, /упадок)
| Разрешение | Описание |
|---|---|
towny3d.invite |
База приглашает командный доступ |
towny3d.invite.acept |
Принять ожидающие приглашения |
Towny3d.invite.decline |
Уменьшение ожидающих приглашений |
towny3d.invite.list |
Список ожидающих приглашений |
towny3d.invite.send |
Отправить приглашения |
Команды Toggle/ggle)
| Разрешение | Описание |
|---|---|
Towny3d.toggle |
Базовый переключатель команд доступа |
Towny3d.toggle.pvp |
Защита PvP Toggle |
towny3d.toggle.explosions |
Защита от взрыва |
towny3d.toggle.public |
Обмен публичным доступом |
Towny3d.toggle.open |
Скачать Open Status |
Административные команды ()/та)
| Разрешение | Описание |
|---|---|
Towny3d.admin |
Все команды администратора (используйте это для полного доступа администратора) |
towny3d.admin.reload |
Перезагрузить конфигурацию плагина |
towny3d.admin.save |
Force Save все данные |
towny3d.admin.stats |
Посмотреть статистику серверов |
towny3d.admin.unclaim |
Невостребованная административная сила |
Towny3d.admin.reset |
Сброс данных о городе / игроке |
Towny3d.admin.chat |
Параметры чата администратора |
towny3d.admin.spy |
Шпион по чат-каналам |
Командования администратора экономики ()Эко)
| Разрешение | Описание |
|---|---|
Towny3d.eco |
Базовая экономика Admin Access |
towny3d.eco.give |
Дайте деньги игроку |
towny3d.eco.take |
Берите деньги у игрока |
Towny3d.eco.set |
Настройка баланса игрока |
Towny3d.eco. |
Проверьте баланс игрока |
Пример настройки разрешения
Разрешение Буккит / Дефолт
# Игроки получат доступ к базовому городу
Towny3d.town - оригинальное название
towny3d.town.info: истинный
towny3d.town.list: правда
towny3d.town.join: оригинальное название
towny3d.town.leave: оригинальное название
Towny3d.resident: настоящее
towny3d.resident.info: правда
Towny3d.balance: правда
# Дать мэрам дополнительные разрешения
towny3d.town.create - оригинальное название
towny3d.town.claim: правда
towny3d.town.kick: правда
towny3d.town.invite: правда
towny3d.plot: правда
towny3d.plot.claim: правда
Towny3d.toggle: правда
# Дайте администраторам полный доступ
towny3d.admin: истинный
Лакпермс
# Группа игроков по умолчанию
Разрешение на групповой дефолт устанавливает city3d.town true
Разрешение по умолчанию для группы lp устанавливает cityy3d.town. Информация правдивая
lp group default permission set towny3d.town.list true
lp group default permission set town3d.town.join true
Разрешение по умолчанию для группы lp установлено Towny3d. Реальный резидент
Разрешение по умолчанию для группы lp установлено Towny3d. баланс истинный
# Ранг мэра
Разрешение мэра ИП-группы установлено towny3d.town. Создать истинное
Разрешение мэра ИП-группы установлено towny3d.town. утверждение истинного
Разрешение мэра ИП-группы установлено towny3d.plot true
Разрешение мэра ИП-группы: city3d.toggle true
# Административный ранг
lp group admin permission set towny3d. истинный
Ультраразрешения
группы:
по умолчанию:
разрешения:
Город 3d.town
Towny3d.town.info
- towny3d.town.list
Towny3d.town.join
Towny3d.резидент
- Towny3d. баланс
Мэр:
разрешения:
- Towny3d.town. *
- Towny3d.plot. *
- towny3d.toggle. *
администратор:
разрешения:
- Towny3d.*
Архитектура
Оптимизация производительности
- Котлин КорутинсАсинхронные операции для ввода/вывода базы данных и сетевых вызовов
- Каширование кофеинаВысокопроизводительное кэширование для городов, наций, жителей и регионов
- пространственная индексацияЭффективный 3D-поиск областей с пространственным кэшем
- АккумуляторПериодическая партия пишет для сокращения операций ввода/вывода
хранение
- JSON Backend для хранения данных
- Автоматическая экономия с настраиваемыми интервалами
- Бэтч-писатель для эффективных записей
Статус развития
Это и есть альфа освободить. Многие основные функции работают, но ожидают ошибок и отсутствующей функциональности. Плагин разрабатывается без официальной документации Hytale, опираясь на декомпилированный серверный код.
Известные ограничения
- API может значительно измениться по мере обновления сервера Hytale
- Некоторые особенности оригинала Город еще не портирован
- Тестирование ограничено доступными серверными версиями
Вклад
Это личный проект, разработанный для того, чтобы привнести в Hytale функциональность, подобную Towny. Вклад приветствуется, когда плагин стабилизируется.
Кредиты
- Вдохновленный Город 3D Minecraft/Spigot, автором которого я являюсь
- Портирован в Hytale API через реверс-инжиниринг
Показать оригинальное описание (English)

Towny3D
A high-performance 3D land protection plugin for Hytale servers featuring town/nation management, plot claims, PvP control, and advanced permission systems with Kotlin coroutines and spatial indexing.
Status: Alpha - This plugin is experimental and under active development. It has been ported from the Spigot API to the Hytale API with extensive use of Claude Code, relying primarily on decompiled source code of the Hytale server.
Dependencies
Required:
Cassaforte - Service registry plugin for economy, permissions, and chat integration
Any economy plugin compatible with cassaforte, like SimpleEconomy or TheEconomy
Towny3D requires Cassaforte to be installed and loaded first. Cassaforte provides the service registry that Towny3D uses for economy integration (will fall back to internal economy if none available)
Key Features
3D Claiming System
Towny3D introduces true 3D land claims - you can have multiple plots in the same chunk at different vertical levels! Simply select the lower and upper points of your desired plot area using the claim stick, then run the claim command.
- Vertical granularity: Claim specific Y-axis ranges rather than entire chunks
- Spatial indexing: Fast region lookups with optimized spatial cache
- Claim Stick: Use
/claim gcs(get claim stick) to set plot boundaries
Implemented Features
Town Management
/town create <townName>- Create a new town/town delete- Disband your town/town info [townName]- View town information/town list- List all towns/town join <townName>- Join an open town/town leave- Leave your current town
Nation Management
/nation create <nationName>- Create a new nation/nation delete- Disband your nation/nation info [nationName]- View nation information/nation list- List all nations/nation join <nationName>- Join an open nation/nation leave- Leave your current nation/nation invite <townName>- Invite a town to your nation/nation kick <townName>- Kick a town from your nation
Plot Management
/plot claim- Claim the plot you're standing in/plot unclaim- Unclaim the plot you're standing in/plot forsale <price>(alias:/plot fs) - Put a plot up for sale/plot notforsale(alias:/plot nfs) - Remove plot from market/plot info- View plot information/plot name <name>- Name your plot/plot showBorders(alias:/plot sb) - Show plot borders visually/plot hideBorders(alias:/plot hb) - Hide plot borders
Claiming Commands
/claim gcs(get claim stick) - Get the item to set lower and upper plot points/claim [chunk]- Claim land at selected 3D region/claim auto- Automatically claim adjacent land/claim unclaim- Unclaim town land
Selection Commands (WorldEdit-style)
/p1- Set first position (lower corner) for region selection/p2- Set second position (upper corner) for region selection/pos1- Alias for/p1/pos2- Alias for/p2
Town Toggles
/toggle pvp [on/off]- Toggle PvP in town/toggle public [on/off]- Toggle public status/toggle explosions [on/off]- Toggle explosion protection/toggle open [on/off]- Toggle open joining
Chat System
/tc <message>(alias:/townchat) - Send message to town chat/nc <message>(alias:/nationchat) - Send message to nation chat/g <message>(alias:/globalchat) - Send message to global chat/chat town|nation|global- Switch default chat mode
Economy
/balance(alias:/bal) - Check your balance (only with internal economy)/resident balance- Check resident balance/town balance- Check town bank balance/nation balance- Check nation bank balance/eco give <player> <amount>- Give money to player/eco take <player> <amount>- Take money from player/eco set <player> <amount>- Set player balance/eco balance <player>- Check player balance
Note: Economy commands are only available when using Towny3D's internal economy. If an external economy (like Cassaforte's built-in or another plugin) is available, use that economy's commands instead. Towny3D automatically falls back to internal economy if no external economy is available.
Upkeep and Taxation
Towny3D features a comprehensive upkeep and taxation system to maintain economic balance and encourage active participation.
Tax Types:
- Town Upkeep - Periodic cost towns pay to the server (configurable, defaults to disabled)
- Nation Upkeep - Periodic cost nations pay to the server (configurable, defaults to disabled)
- Nation Taxes - Nations can tax member towns (flat amount or percentage of town balance)
- Town Taxes - Towns can tax residents (flat amount or percentage of resident balance)
- Plot Taxes - Towns can set taxes on individual plots (flat amount or percentage)
Tax Commands:
/town tax <flat|percent> <amount>- Set resident tax for your town/town tax clear- Clear resident tax/town tax info- View town tax settings/nation tax <flat|percent> <amount>- Set tax on member towns/nation tax clear- Clear nation tax/nation tax info- View nation tax settings/nation debt [town]- View town debts to nation/plot tax <flat|percent> <amount>- Set tax for current plot/plot tax clear- Clear plot tax/plot tax info- View plot tax info/tax- Show your personal tax burden/tax town <name>- View town tax info/tax nation <name>- View nation tax info
Admin Tax Commands:
/ta collecttaxes- Force immediate tax collection/ta nexttax- Show when next collection occurs/ta reclaim <town|nation> <name>- Reclaim a ruined entity/ta ruinate <town|nation> <name>- Force entity into ruined state/ta settaxtime <HH:mm>- Change tax collection time/ta toggle upkeep- Enable/disable upkeep system
Consequences:
- Town/Nation can't pay upkeep → Falls to ruins (can be reclaimed for a fee)
- Resident can't pay plot tax → Loses plot ownership
- Resident can't pay resident tax → Payment skipped (no debt)
- Town can't pay nation tax → Goes into debt, blocked from leaving nation
Invitations
/accept- Accept pending town/nation invitation/decline- Decline pending invitation
Admin Commands (/townyadmin)
/ta reload- Reload plugin configuration/ta save- Force save all data/ta stats- View plugin statistics/ta unclaim- Admin force unclaim/ta reset- Reset plugin data
Resident Commands
/res(alias:/resident) - Resident command root/res info [player]- View resident information/res list- List all residents/balance- Check balance
Protection Systems
- Entity Protection: Control entity spawning and interactions
- Explosion Protection: Prevent damage from explosions
- Player Interactions: Control block placement, breaking, and item usage
- PvP Control: Fine-grained PvP toggle per region
- Chunk Enter Notifications: Display town/region info on entry
Planned Features (Not Yet Implemented)
Town Commands
/town mayor- Mayor management submenu/town addAssistant <playerName>- Add town assistant/town removeAssistant <playerName>- Remove town assistant/town setHome- Set town spawn point/town spawn- Teleport to town spawn/town online- List online residents/town here- Show info for town you're standing in/town kick <playerName>- Kick resident from town/town deposit <amount>- Deposit to town bank/town withdraw <amount>- Withdraw from town bank/town set perm <permGroup> <permType> <value>- Set town permissions
Plot Commands
/plot toggle <flag> [on/off]- Toggle plot flags (pvp, explosion, fire, mobs)/plot set perm <permGroup> <permType> <value>- Set plot permissions/plot set embassy- Mark plot as embassy/plot reset- Reset plot to default settings
Town Permission & Flag System
The flag system is partially implemented for plot toggling. Permission groups are planned.
Implemented Flags (via /plot toggle):
pvp- Player vs Player combatexplosion- Explosion damagefire- Fire spread and damage
Planned Flags:
friendly_mobs_spawn- Friendly mob spawninghostile_mobs_spawn- Hostile mob spawning
Planned Permissions (for groups: res/ally/gen):
pvp- Player vs Player combatinventory- Inventory accessinteract- Block interactionbuild- Place blocksdestroy- Break blocksdrop- Drop itemspick- Pick up itemsmove- Movement
Admin Features
/townyadmin chat spy- Spy on town/nation chats
Permissions
All Towny3D permissions use the towny3d. prefix. Permissions are checked automatically by the Hytale server's permission system.
Default Permissions
| Permission Node | Description | Default |
|---|---|---|
towny3d.admin |
Full admin access to all Towny3D commands | OP only |
towny3d.* |
Wildcard for all Towny3D permissions | OP only |
Command Permissions
General Commands
| Permission | Description |
|---|---|
towny3d.balance |
Check account balance |
towny3d.resident |
Base resident command access |
towny3d.resident.info |
View resident information |
towny3d.resident.list |
List all residents |
towny3d.resident.balance |
Check resident balance |
Town Commands (/town, /t)
| Permission | Description |
|---|---|
towny3d.town |
Base town command access |
towny3d.town.create |
Create a new town |
towny3d.town.delete |
Delete your town |
towny3d.town.join |
Join a town |
towny3d.town.leave |
Leave your town |
towny3d.town.list |
List all towns |
towny3d.town.info |
View town information |
towny3d.town.claim |
Claim land for town |
towny3d.town.unclaim |
Unclaim town land |
towny3d.town.set |
Change town settings |
towny3d.town.toggle |
Toggle town flags |
towny3d.town.deposit |
Deposit to town bank |
towny3d.town.withdraw |
Withdraw from town bank |
towny3d.town.kick |
Kick residents from town |
towny3d.town.invite |
Invite players to town |
towny3d.town.add_assistant |
Promote resident to assistant |
towny3d.town.remove_assistant |
Demote assistant to resident |
towny3d.town.spawn |
Teleport to town spawn |
towny3d.town.set_home |
Set town spawn location |
towny3d.town.online |
List online town members |
towny3d.town.here |
Show town at current location |
Nation Commands (/nation)
| Permission | Description |
|---|---|
towny3d.nation |
Base nation command access |
towny3d.nation.create |
Create a new nation |
towny3d.nation.delete |
Delete your nation |
towny3d.nation.join |
Join a nation with your town |
towny3d.nation.leave |
Leave your nation |
towny3d.nation.list |
List all nations |
towny3d.nation.info |
View nation information |
towny3d.nation.kick |
Kick town from nation |
towny3d.nation.invite |
Invite town to nation |
Plot Commands (/plot)
| Permission | Description |
|---|---|
towny3d.plot |
Base plot command access |
towny3d.plot.claim |
Claim a plot |
towny3d.plot.unclaim |
Unclaim a plot |
towny3d.plot.forsale |
Put plot up for sale |
towny3d.plot.notforsale |
Remove plot from market |
towny3d.plot.set |
Set plot permissions (collection) |
towny3d.plot.set.perm |
Set plot permissions |
towny3d.plot.set.reset |
Reset plot to default settings |
towny3d.plot.toggle |
Toggle plot flags |
towny3d.plot.name |
Name a plot |
towny3d.plot.show_borders |
Show plot boundary markers |
towny3d.plot.hide_borders |
Hide plot boundary markers |
towny3d.plot.info |
View plot information |
Claim Commands (/claim)
| Permission | Description |
|---|---|
towny3d.claim |
Base claim command access |
towny3d.claim.stick |
Get claim stick tool |
towny3d.claim.auto |
Toggle automatic claiming |
towny3d.claim.unclaim |
Unclaim land at position |
towny3d.claim.land |
Manual land claim |
Chat Commands (/chat, /tc, /nc, /g)
| Permission | Description |
|---|---|
towny3d.chat |
Base chat command access |
towny3d.chat.town |
Use town chat channel |
towny3d.chat.nation |
Use nation chat channel |
towny3d.chat.global |
Switch to global chat |
Invite Commands (/invite, /accept, /decline)
| Permission | Description |
|---|---|
towny3d.invite |
Base invite command access |
towny3d.invite.accept |
Accept pending invitations |
towny3d.invite.decline |
Decline pending invitations |
towny3d.invite.list |
List pending invitations |
towny3d.invite.send |
Send invitations |
Toggle Commands (/toggle)
| Permission | Description |
|---|---|
towny3d.toggle |
Base toggle command access |
towny3d.toggle.pvp |
Toggle PvP protection |
towny3d.toggle.explosions |
Toggle explosion protection |
towny3d.toggle.public |
Toggle public access |
towny3d.toggle.open |
Toggle open status |
Admin Commands (/ta)
| Permission | Description |
|---|---|
towny3d.admin |
All admin commands (use this for full admin access) |
towny3d.admin.reload |
Reload plugin configuration |
towny3d.admin.save |
Force save all data |
towny3d.admin.stats |
View server statistics |
towny3d.admin.unclaim |
Admin force unclaim |
towny3d.admin.reset |
Reset town/player data |
towny3d.admin.chat |
Admin chat options |
towny3d.admin.spy |
Spy on chat channels |
Economy Admin Commands (/eco)
| Permission | Description |
|---|---|
towny3d.eco |
Base economy admin access |
towny3d.eco.give |
Give money to player |
towny3d.eco.take |
Take money from player |
towny3d.eco.set |
Set player balance |
towny3d.eco.balance |
Check player balance |
Example Permission Setup
PermissionsBukkit / Default
# Give players basic town access
towny3d.town: true
towny3d.town.info: true
towny3d.town.list: true
towny3d.town.join: true
towny3d.town.leave: true
towny3d.resident: true
towny3d.resident.info: true
towny3d.balance: true
# Give mayors additional permissions
towny3d.town.create: true
towny3d.town.claim: true
towny3d.town.kick: true
towny3d.town.invite: true
towny3d.plot: true
towny3d.plot.claim: true
towny3d.toggle: true
# Give admins full access
towny3d.admin: true
LuckPerms
# Default player group
lp group default permission set towny3d.town true
lp group default permission set towny3d.town.info true
lp group default permission set towny3d.town.list true
lp group default permission set towny3d.town.join true
lp group default permission set towny3d.resident true
lp group default permission set towny3d.balance true
# Mayor rank
lp group mayor permission set towny3d.town.create true
lp group mayor permission set towny3d.town.claim true
lp group mayor permission set towny3d.plot true
lp group mayor permission set towny3d.toggle true
# Admin rank
lp group admin permission set towny3d.* true
UltraPermissions
groups:
default:
permissions:
- towny3d.town
- towny3d.town.info
- towny3d.town.list
- towny3d.town.join
- towny3d.resident
- towny3d.balance
mayor:
permissions:
- towny3d.town.*
- towny3d.plot.*
- towny3d.toggle.*
admin:
permissions:
- towny3d.*
Architecture
Performance Optimizations
- Kotlin Coroutines: Asynchronous operations for database I/O and network calls
- Caffeine Caching: High-performance caching for towns, nations, residents, and regions
- Spatial Indexing: Efficient 3D region lookups with spatial cache
- Batch Storage: Periodic batch writes to reduce I/O operations
Storage
- JSON-based storage backend
- Automatic saving with configurable intervals
- Batch writer for efficient writes
Development Status
This is an alpha release. Many core features work, but expect bugs and missing functionality. The plugin is being developed without official Hytale documentation, relying on decompiled server code.
Known Limitations
- API may change significantly as Hytale server updates
- Some features from original Towny not yet ported
- Testing limited by available server versions
Contributing
This is a personal project developed to bring Towny-like functionality to Hytale. Contributions welcome once the plugin stabilizes.
Credits
- Inspired by Towny3D for Minecraft/Spigot of which I am the author
- Ported to Hytale API through reverse engineering
Последние версии
Информация
Авторы:
Категории:
Версии игры:
Создан: 16.01.2026