Plots Plugin
A dynamic prefab-based land management system. Define grids, load complex structures, and protect your world with intelligent masking
Описание
Заговоры
Динамичная система управления земельными ресурсами на основе сборных сборов. Определите сетки, загрузите сложные структуры и защитите свой мир с помощью интеллектуальной маскировки.
Простой, но мощный способ управления творческими пространствами, позволяющий сосредоточиться на том, что действительно важно: строительстве.
Таблица содержимого
- Введение
- установка
- Динамическое поколение
- Витрина
- конфигурация
- Быстрый старт
- командование
- Система маскировки
- Разрешения
- Локализация
- Публичный API
- Архитектура данных
установка
- Место
.джарФайл в папке модов. - (необязательно) Добавить свой
.prefab.jsonфайлы дляМоды/Hytale_Plots/prefabs/. - Запустите сервер для создания конфигурации по умолчанию.
Динамическое поколение
Участки – это не просто статическая сетка. Он адаптируется к вашему конкретному дизайну.
- Адаптивный размер: Сетка автоматически настраивается на любую ширину дороги или участка (ширина 4 или 150 блоков).
- Режим острова (маскировка)Идеально подходит для плавающих островных миров. Система понимает форму вашей конструкции и предотвращает расширения, которые отклоняются от первоначального дизайна.
- Защита вакуумаПредотвращает игрокам присоединение к отдельным островам или строительство в «пустоте», сохраняя эстетику вашей карты нетронутой.
- Неквадратная поддержка: Полная поддержка независимой ширины и глубины (например, 32x64 участка).
Витрина
Вот пример того, чего вы можете достичь Использование пользовательского prefab для сюжета в нашей динамической системе. Эти плавучие острова были созданы автоматически с использованием системы сетки и защищены нашей гранулированной логикой маскировки.
Индивидуальная структура островного участка, созданная из префаба и идеально интегрированная в сетку.
Вид сверху вниз, показывающий, как префаб сюжета распределен по всему миру.
конфигурация
The config.json Полный контроль над вашим миром. Ниже приведена разбивка основных настроек:
Компания General & World
- Язык языка: Местность, используемая для сообщений (по умолчанию:
эн). - Разработчик:PlotWorldName: Название папки для вашего выделенного сюжетного мира.
- Обсуждение DefaultWorldTime: Время начала мира (например,
полдень,ночь).
Настройки (Grid Settings)
- Плотность: Площадь внутреннего здания каждого участка.
- Размер дороги: Ширина путей между участками. Настроить
0Для безбрежной сетки. - MaxPlotsDefault: Сколько сюжетов игрок может претендовать по умолчанию.
Базовая логика (Base Logic)
- Bedrock/Surface/Filling: Определите основные материалы для вашего поколения.
- Советы: Установить эти
пустойилиВоздухСоздать технический «Пустой мир», идеально подходящий для плавучих островов.
Prefabs (ядро)
- Дорога/Площадь/Пересечение: Связывает конкретные предварительные проекты с сетью.
- Важный: Используйте имя файла без тот
.prefab.jsonрасширение (например, использование)Мой островдляmy_island.prefab.json).
Быстрый старт
Претензия /plot- Возьмите на себя ответственность за участок, на котором вы стоите./plot Home- Возвращает тебя к строительству./plot trust <player>- Дайте другу разрешение строить вместе с вами./plot rename <name>Дайте вашему проекту уникальное имя.
командование
Игроки
| Командование | Описание |
|---|---|
Претензия /plot |
Утверждает текущий сюжет |
Удаление /plot |
Удалить текущий сюжет |
/plot Auto |
Найти и получить ближайший бесплатный участок |
/plot Home |
Телепорт на ваш основной участок |
/plot trust <player> |
Гранты дают разрешение другому игроку |
/plot untrust <player> |
Отзыв разрешения на строительство у игрока |
/plot info |
Показать подробности о сюжете, в котором вы находитесь |
/plot list |
Список всех принадлежащих вам участков |
/plot Нерест |
Телепорты в сюжетный мир нерест |
| неопределенный |
Администрация
| Командование | Описание |
|---|---|
/plot delete <grid X> <gridY><br |
Удалить запись (только администраторы) |
Система маскировки
Мы создали расширенную логику защиты для творческих серверов:
- Вакуумное уважение: Если пространство между островами не является частью вашей первоначальной сборки, никто не может построить там. Это поддерживает вид «изолированного острова».
- Вертикальная свобода: Если колонна уже содержит землю из вашей сборки, игрок может свободно строить вверх или вниз, что позволяет строить подвалы или башни.
- Нижний пределЗдание ниже уровня 0 автоматически блокируется, чтобы предотвратить визуальный беспорядок в нижней части карты.
Разрешения
Plots использует гранулированную систему разрешений. Вы можете назначить эти узлы игрокам или группам:
Общие разрешения
| Разрешение | Описание |
|---|---|
заговоры. * |
Полный административный доступ (неограниченные участки, обходная защита) |
Скриншоты.claim |
Позволяет претендовать на участки с Претензия /plot или /plot Auto |
заговоры. удалять |
Позволяет удалять принадлежащие участки с Удаление /plot |
plots.delete. * |
Позволяет удалить любой Исполнитель (Administrator) |
заговоры. нерест |
Позволяет посетить посвященный миру сюжет с /plot Нерест |
plots.list |
Позволяет перечислять принадлежащие участки с /plot list |
plots.info |
Позволяет просматривать сюжетную информацию с /plot info |
plots.rename |
Позволяет переименовывать участки с /plot переименование |
заговоры. доверие |
Позволяет управлять доверенными членами /plot Trust |
Предельные разрешения
| Разрешение | Описание |
|---|---|
plots.limit.X |
Устанавливает максимальное количество участков, которыми может владеть игрок (например, Разработчик:limit.5) |
| неопределенный |
Локализация
Мы стремимся поддерживать как можно больше языков.
- Помогите перевестиПосетите наш Проект Кроудина внести свой вклад.
- Полная настройка сообщений доступна в
Лэнг/Каталог в папке плагина.
Публичный API
Plots предоставляет всеобъемлющий общедоступный API для внешних плагинов для программного взаимодействия с системой сюжета.
Начало работы
импортировать com.overworldlabs.plots.api.PlotsAPI;
Получить API экземпляр
PlotsAPI api = PlotsAPI.getInstance();
Доступные API
Плотапи
Запросить и управлять участками:
// Получить участок по местоположению Факультативный участок = api.plot().getPlotAt(мир, x, z);
// Check ownership boolean isOwner = api.plot().isOwner(plot, playerUuid);
// Доверенные игроки Доверенный список = api.plot().getTrustedPlayers(plot);
####Путешествие
Слушайте сюжетные события:
api.events(.onClaim)(событие -> {Plot plot = event.getPlot(); UUID owner = event.getOwner(); // Handle claim event };
api.events(.onRename)(событие -> {String oldName = event.getOldName(); String newName = event.getNewName(); // Handle переименовать событие };
События
Доступные мероприятия:
Искатель- Увольняется, когда утверждается заговорНевостребованное событие- Увольняют, когда сюжет невостребованСобытие доверияУвольнение, когда игроку доверяютНедоверие СобытияУвольнение, когда игроку не доверяютПереименовать событие- Увольняют, когда участок переименовывают
Будущая документация
В настоящее время разрабатывается более комплексный и организованный сайт документации. Будьте настроены на расширенные учебные пособия, ссылки на API и советы по дизайну!
Архитектура данных
Все сохранено в простых, легких форматах: пункт
-
Гилограммная интеграция
Улучшите свой сервер с помощью динамических Гилограммы автоматически отображает информацию о сюжете в углу каждого заявленного сюжета.
- Динамическая информацияАвтоматически отображает имя участка и имя владельца.
- Локализованный текст: Используйте выбранный язык для всех ярлыков голограммы.
- Полностью конфигурируемый: Переключать голограммы на / выключать или регулировать их смещение по высоте
config.json. - Мгновенные обновленияГолограммы обновляют момент, когда сюжет переименовывается или передается.
Чтобы включить эту функцию, просто включите hylograms.jar Библиотека на вашем сервере либс или мод папка.
Показать оригинальное описание (English)
Plots
A dynamic prefab-based land management system. Define grids, load complex structures, and protect your world with intelligent masking.
A simple yet powerful way to manage creative spaces, allowing you to focus on what truly matters: building.
Table of Contents
- Introduction
- Installation
- Dynamic Generation
- Showcase
- Configuration
- Quick Start
- Commands
- The Masking System
- Permissions
- Localization
- Public API
- Data Architecture
Installation
- Place the
.jarfile in your mods folder. - (Optional) Add your
.prefab.jsonfiles tomods/Hytale_Plots/prefabs/. - Start the server to generate the default configuration.
Dynamic Generation
Plots is not just a static grid. It adapts to your specific design.
- Adaptive Sizing: The grid automatically adjusts to any road or plot width (whether 4 or 150 blocks wide).
- Islands Mode (Masking): Perfect for floating island worlds. The system understands your construction's shape and prevents expansions that deviate from the original design.
- Vacuum Protection: Prevents players from joining separate islands or building in the "void," keeping your map's aesthetics intact.
- Non-Square Support: Full support for independent width and depth (e.g., 32x64 plots).
Showcase
Here is an example of what you can achieve utilizing a custom prefab for the plot within our dynamic system. These floating islands were generated automatically using the grid system and protected with our granular masking logic.
A custom island plot structure generated from a prefab and perfectly integrated into the grid.
Top-down view showing how the plot prefab is distributed across the world.
Configuration
The config.json allows total control over your world. Below is a breakdown of the main settings:
General & World
- Language: The locale used for messages (default:
en_us). - PlotWorldName: The folder name for your dedicated plot world.
- DefaultWorldTime: The starting time of the world (e.g.,
midday,night).
Plots (Grid Settings)
- PlotSize: The internal building area of each plot.
- RoadSize: The width of the paths between plots. Set to
0for a gapless grid. - MaxPlotsDefault: How many plots a player can claim by default.
Blocks (Base Logic)
- Bedrock/Surface/Filling: Define the base materials for your world generation.
- Pro Tip: Set these to
EmptyorAirto create a technical "Void World" perfect for floating islands.
Prefabs (The Core)
- Road/Plot/Intersection: Links specific prefab designs to the grid.
- Important: Use the filename WITHOUT the
.prefab.jsonextension (e.g., usemy_islandformy_island.prefab.json).
Quick Start
/plot claim- Take ownership of the plot you are standing on./plot home- Takes you back to your construction./plot trust <player>- Give a friend permission to build with you./plot rename <name>- Give your project a unique name.
Commands
Players
| Command | Description |
|---|---|
/plot claim |
Claims the current plot |
/plot delete |
Delete the current plot |
/plot auto |
Finds and claims the nearest free plot |
/plot home |
Teleports to your primary plot |
/plot trust <player> |
Grants build permission to another player |
/plot untrust <player> |
Revokes build permission from a player |
/plot info |
Shows details about the plot you are in |
/plot list |
Lists all your owned plots |
/plot spawn |
Teleports to the plot world spawn |
| undefined |
Administration
| Command | Description |
|---|---|
/plot delete <gridX> <gridY><br> |
Removes a plot record (admins only) |
The Masking System
We created an advanced protection logic for creative servers:
- Vacuum Respect: If the space between islands isn't part of your original prefab, no one can build there. This maintains the "isolated island" look.
- Vertical Freedom: If a column already contains ground from your prefab, the player is free to build up or down, allowing for basements or towers.
- Lower Limit: Building below level 0 is automatically blocked to prevent visual clutter at the bottom of the map.
Permissions
Plots uses a granular permission system. You can assign these nodes to players or groups:
General Permissions
| Permission | Description |
|---|---|
plots.* |
Full administrative access (unlimited plots, bypass protection) |
plots.claim |
Allows claiming plots with /plot claim or /plot auto |
plots.delete |
Allows deleting owned plots with /plot delete |
plots.delete.* |
Allows deleting any plot (Administrator) |
plots.spawn |
Allows visiting the dedicated plot world with /plot spawn |
plots.list |
Allows listing owned plots with /plot list |
plots.info |
Allows viewing plot information with /plot info |
plots.rename |
Allows renaming plots with /plot rename |
plots.trust |
Allows managing trusted members with /plot trust |
Limit Permissions
| Permission | Description |
|---|---|
plots.limit.X |
Sets the maximum number of plots a player can own (e.g., plots.limit.5) |
| undefined |
Localization
We are committed to supporting as many languages as possible.
- Help us translate: Visit our Crowdin Project to contribute.
- Full message customization is available in the
lang/directory within the plugin folder.
Public API
Plots provides a comprehensive public API for external plugins to interact with the plot system programmatically.
Getting Started
import com.overworldlabs.plots.api.PlotsAPI;
// Get API instance
PlotsAPI api = PlotsAPI.getInstance();
Available APIs
PlotAPI
Query and manage plots:
// Get plot at location Optional plot = api.plot().getPlotAt(world, x, z);
// Check ownership boolean isOwner = api.plot().isOwner(plot, playerUuid);
// Get trusted players List trusted = api.plot().getTrustedPlayers(plot);
#### PlotEventAPI
Listen to plot events:
api.events().onClaim(event -> { Plot plot = event.getPlot(); UUID owner = event.getOwner(); // Handle claim event });
api.events().onRename(event -> { String oldName = event.getOldName(); String newName = event.getNewName(); // Handle rename event });
Events
Available events:
ClaimEvent- Fired when a plot is claimedUnclaimEvent- Fired when a plot is unclaimedTrustEvent- Fired when a player is trustedUntrustEvent- Fired when a player is untrustedRenameEvent- Fired when a plot is renamed
Future Documentation
A more comprehensive and organized documentation site is currently under development. Stay tuned for advanced tutorials, API references, and design tips!
Data Architecture
Everything is saved in simple, lightweight formats: ```
---
Hylograms Integration
Enhance your server with dynamic Hylograms that automatically display plot information at the corner of each claimed plot.
- Dynamic Information: Automatically shows the Plot Name and Owner's Name.
- Localized Text: Uses your selected language for all hologram labels.
- Fully Configurable: Toggle holograms on/off or adjust their height offset in
config.json. - Instant Updates: Holograms update the moment a plot is renamed or transferred.
To enable this feature, simply include the hylograms.jar library in your server's libs or mods folder.
Информация
Авторы:
Категории:
Версии игры:
Создан: 17.01.2026