E-Utils

E-Utils

EverlastingUtils is a robust utility library for Hytale mod development and all of Hysocs mods.

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

Описание

 

EverlastingUtils (альбом)

Примечание: Если вы рассматриваете это как зависимость или требование Для другого мода вы можете просто установить его и проигнорировать эту документацию.

 

EverlastingUtils - это надежная библиотека утилит для разработки серверов Hytale. Он абстрагирует сложный код, позволяя разработчикам сосредоточиться на функциях геймплея, а не на инфраструктуре.

Особенности

Advanced Config Management

Прямой порт надежной системы конфигурации JSONC.

  • СОНК Поддержка: Полностью поддерживает комментарии ()// и /**) в конфигурационных файлах.
  • Горячая перезагрузка: Автоматически обнаруживает изменения файлов и перезагружает конфигурации во время выполнения без перезагрузки сервера.
  • Автосохранение и резервирование: Встроенная автосберегающая и автоматическая резервная генерация перед миграцией.
  • Версия: Обрабатывает обновления конфигурационной версии автоматически.

Расписание и расписание

Безопасная обертка для управления задачами в среде Hytale.

  • Безопасность: Предотвращает распространенные ошибки параллелизма, четко определяя выполнение Async vs Sync.
  • Уборка: Автоматически отслеживает и отменяет задачи при отключении плагина.
  • Унифицированный API: Простые статические методы для выполнения разовых или повторяющихся задач.

Цветовой парсинг

Преодоление разрыва между устаревшими рабочими процессами и компонентной системой Hytale.

  • Поддержка наследия: Классический парс и, ил, &f Коды в Hytale Послание объекты.
  • Поддержка Hex: Автоматически отображает стандартные цветовые коды на конкретные значения Hex.

 

Примеры использования

1. Управление конфигурацией

Создайте свой класс конфигураций, реализовав ConfigManager.ConfigData:

Публичный класс MyConfig Конфигуратор. ConfigData {
// Необходимые методы
@Override public String getVersion() { Return "1.0.0; }
@Override public String getConfigId() { Return "my_plugin"; }

// Ваши настройки
Public boolean debugMode = ложный
Публичное приветствие StringMessage = «Hello World»;
?

Инициируйте его в своем классе:

// Настройка метаданных (комментарии руководителя и т.д.)
ConfigMetadata meta = ConfigMetadata.createDefault («my_plugin»)

Инициировать менеджера
ConfigManager<MyConfig> ConfigManager = новый ConfigManager<>
MyConfig.class,
MyConfig(),
метать
);

Ценности доступа в любом месте
boolean isDebug = configManager.getConfig().debugMode;

 

2. Расписание задач

Инициируйте планировщик в запуске вашего плагина (чтобы подключиться к основной игровой нити):

@Override
Публичная пустота наServerStarted()
// Погрузитесь в основной поток исполнителя Hytale
SchedulerManager.init (runnable)
HytaleServer.getInstance().getScheduler().execute(runnable)
);
?

Задачи расписания легко:

// Запустите задание через 5 секунд на главной нити (синхронизация)
SchedulerManager.schedule("my_task_id", 5, TimeUnit.SECONDS, false, () ->{
player.sendMessage(Message.raw("Отложенное сообщение!"));
}

// Немедленно выполняйте общую асинхронную задачу
SchedulerManager.schedule("async_calc", 0, TimeUnit.SECONDS, true, () -> {
// Тяжелый расчет здесь...
}

 

3. Цветовой парсинг

Легко отправлять отформатированные сообщения с использованием устаревших кодов:

String rawText = "&aSuccess! &7Вы получили &e100 Coins&7.
Сообщение = ColorParser.parse (rawText);

Player.sendMessage (сообщение);

 

Установка для разработчиков

Добавьте библиотеку в свой build.gradle.kts.

1. Добавить банку в папку libs

C:\Users\Administrator\Desktop\Mods\EventAntiXray\libs\everlastingutils-1.0.0.jar

2. Добавьте зависимость: С тех пор, как вечность Utils - это автономный мод, использование составлять Только Чтобы она не была заложена в банку:

зависимости {
compileOnly («com.hysocs:everlastingutils:1.0.0»)
// ИЛИ при использовании местной банки в libs/
// compileOnly(files("libs/everlastingutils-1.0.0.jar")
?

Оригинальное название: Ensure the Everlasting Utils jar присутствует на вашем сервере мод папка во время выполнения.

Показать оригинальное описание (English)

 

EverlastingUtils (Hytale)

Note: If you're seeing this as a dependency or requirement for another mod, you can simply install it and ignore this documentation.

 

EverlastingUtils is a robust utility library for Hytale server development. It abstracts away complex boilerplate code, allowing developers to focus on gameplay features rather than infrastructure.

Features

Advanced Config Management

A direct port of a robust JSONC configuration system.

  • JSONC Support: Fully supports comments (// and /* */) in configuration files.
  • Hot-Reloading: Automatically detects file changes and reloads configs at runtime without restarting the server.
  • Auto-Save & Backup: Built-in auto-saving and automatic backup generation before migrations.
  • Versioning: Handles config version updates automatically.

Threading & Scheduling

A safe wrapper for managing tasks in the Hytale environment.

  • Safety: Prevents common concurrency errors by explicitly defining Async vs Sync execution.
  • Cleanup: Automatically tracks and cancels tasks on plugin shutdown.
  • Unified API: Simple static methods to run one-time or repeating tasks.

Color Parsing

Bridging the gap between legacy workflows and Hytale's component system.

  • Legacy Support: Parse classic &a, &l, &f codes into Hytale Message objects.
  • Hex Support: Automatically maps standard color codes to specific Hex values.

 

Usage Examples

1. Config Management

Create your config class by implementing ConfigManager.ConfigData:

public class MyConfig implements ConfigManager.ConfigData {
    // Required methods
    @Override public String getVersion() { return "1.0.0"; }
    @Override public String getConfigId() { return "my_plugin"; }

    // Your Settings
    public boolean debugMode = false;
    public String welcomeMessage = "Hello World";
}

Initialize it in your main class:

// Setup Metadata (Header comments, etc)
ConfigMetadata meta = ConfigMetadata.createDefault("my_plugin");

// Initialize Manager
ConfigManager<MyConfig> configManager = new ConfigManager<>(
    MyConfig.class, 
    new MyConfig(), 
    meta
);

// Access values anywhere
boolean isDebug = configManager.getConfig().debugMode;

 

2. Task Scheduling

Initialize the scheduler in your plugin's startup (to hook into the main game thread):

@Override
public void onServerStarted() {
    // Hook into Hytale's main thread executor
    SchedulerManager.init(runnable -> 
        HytaleServer.getInstance().getScheduler().execute(runnable)
    );
}

Schedule tasks easily:

// Run a task 5 seconds later on the Main Thread (Sync)
SchedulerManager.schedule("my_task_id", 5, TimeUnit.SECONDS, false, () -> {
    player.sendMessage(Message.raw("Delayed message!"));
});

// Run a generic async task immediately
SchedulerManager.schedule("async_calc", 0, TimeUnit.SECONDS, true, () -> {
    // Heavy calculation here...
});

 

3. Color Parsing

Easily send formatted messages using legacy codes:

String rawText = "&aSuccess! &7You have received &e100 Coins&7.";
Message message = ColorParser.parse(rawText);

player.sendMessage(message);

 

Installation for Developers

Add the library to your build.gradle.kts.

1. Add the jar to a libs folder

C:\Users\Administrator\Desktop\Mods\EventAntiXray\libs\everlastingutils-1.0.0.jar

2. Add the Dependency: Since EverlastingUtils is a standalone mod, use compileOnly so it isn't bundled inside your jar:

dependencies {
    compileOnly("com.hysocs:everlastingutils:1.0.0")
    // OR if using a local jar in libs/
    // compileOnly(files("libs/everlastingutils-1.0.0.jar"))
}

Note: Ensure the EverlastingUtils jar is present in your server's mods folder during runtime.

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

everlastingutils-1.0.0.jar

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