Towny3D

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.

416.0 загрузок
Обновлён 13 дней назад

Описание

alt text

Город 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)

alt text

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 combat
  • explosion - Explosion damage
  • fire - Fire spread and damage

Planned Flags:

  • friendly_mobs_spawn - Friendly mob spawning
  • hostile_mobs_spawn - Hostile mob spawning

Planned Permissions (for groups: res/ally/gen):

  • pvp - Player vs Player combat
  • inventory - Inventory access
  • interact - Block interaction
  • build - Place blocks
  • destroy - Break blocks
  • drop - Drop items
  • pick - Pick up items
  • move - 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

Последние версии

Towny3D-0.5.0.jar

Early Access 21.01.2026 9.1 МБ
Скачать

Towny3D-0.4.0.jar

Early Access 20.01.2026 9.0 МБ
Скачать

Towny3D-0.3.0.jar

Early Access 18.01.2026 9.0 МБ
Скачать

Towny3D-0.2.0.jar

Early Access 16.01.2026 9.0 МБ
Скачать

Towny3D-0.1.0.jar

Early Access 15.01.2026 8.7 МБ
Скачать