Iskandert's Library
Библиотека функций, используемая в основном модами Iskandert's Team
- Загрузчики
- NeoForge
- Скачиваний на Modrinth
- 897
- Подписчиков на Modrinth
- 0
- версий
- 18
- Обновлён
- 10 августа 202610 авг.
- Опубликован
- в 2026
Коротко о моде
Нужен и в игре, и на сервере
Библиотека Iskandert — Обзор возможностей
Эта библиотека содержит переиспользуемые строительные блоки, используемые в проектах команды Iskandert. Она сосредоточена на практических игровых системах (структуры, этапы, маркеры, магазины/команды) и утилитах для разработчиков (помощники парсинга, мосты передачи, инструменты отладки).
Использование и лицензирование
Проект выпущен под лицензией MIT. Вы можете свободно использовать его в своих проектах (включая изменение, распространение и коммерческое использование), при условии сохранения уведомления о лицензии.
Что включено
Система структур (на основе JSON)
Утилиты для определения и размещения структур с использованием внешних JSON-определений:
- Определения структур: шаблоны, ключи блоков, правила замены и опции вроде force/overwrite.
- Сканирование и загрузка конфигов: обнаружение JSON-файлов структур и регистрация во время выполнения.
- Движок размещения: размещает структуры в мире с валидацией, применением свойств и опциональным поведением (например, «разместить как игрок», тики обновления).
- История отмены: лёгкая история размещений для каждого игрока с поддержкой отмены.
Ключевые пакеты/классы:
net.unfamily.iskalib.structure.StructureDefinitionnet.unfamily.iskalib.structure.StructureLoadernet.unfamily.iskalib.structure.StructurePlacernet.unfamily.iskalib.structure.StructurePlacementHistory
Система этапов (игрок / мир / команда)
Универсальный реестр «этапов», предназначенный для ограничения контента и отслеживания прогресса в разных областях:
- Этапы игрока: постоянные флаги этапов для каждого игрока.
- Этапы мира: глобальные флаги, хранящиеся в сохранённых данных мира.
- Этапы команды: флаги этапов, общие для команды, хранящиеся в сохранённых данных мира.
- Хуки и слушатели: точки интеграции для реакции на изменения этапов.
Ключевые пакеты/классы:
net.unfamily.iskalib.stage.StageRegistrynet.unfamily.iskalib.stage.StageHooksnet.unfamily.iskalib.stage.StageActionHooks
Поддержка команд (общие балансы / членство)
Управление командами для группировки игроков и совместного использования балансов:
- Создание/удаление команд
- Управление членством и ролями
- Отслеживание и запрос балансов валюты для каждой команды
Ключевые пакеты/классы:
net.unfamily.iskalib.team.ShopTeamManager
Хуки интеграции валюты магазина
Библиотека хранит балансы по id валюты, но не содержит жёстко заданного каталога валют. Потребители могут предоставлять метаданные и подсказки:
- Список id валют для автодополнения команд и интерфейсов
- Метаданные отображения валюты (ключ перевода, символ), когда доступны
Ключевые пакеты/классы:
net.unfamily.iskalib.shop.ShopCurrencyHooks
Утилиты маркеров мира (на стороне клиента)
Ориентированная на разработчиков отрисовка маркеров и помощники, полезные для отладки областей, выделений, сканирований и автоматизации:
- Отрисовка маркеров для блоков
- Билборды для позиций
- Сессии во время выполнения (непостоянные) для очистки/сброса поведения
- Точка входа отладочной команды для создания/очистки маркеров
Ключевые пакеты/классы:
net.unfamily.iskalib.client.marker.MarkRenderernet.unfamily.iskalib.client.marker.VanillaWorldMarkerClientHooksnet.unfamily.iskalib.marker.MarkerSessionnet.unfamily.iskalib.command.MarkerCommand
Система прогрессивных взрывов (на стороне сервера)
Модульная, менее нагружающая реализация взрывов, которая может выполняться постепенно с течением времени:
- Эллиптические/горизонтальные+вертикальные взрывы по радиусу
- Обработка по тикам (или мгновенное выполнение, когда интервал равен нулю)
- Опциональный урон сущностям и режим «ломать неразрушимое»
- Центральный реестр активных взрывов с помощниками остановки/интроспекции
Ключевые пакеты/классы:
net.unfamily.iskalib.explosion.ExplosionSystem
Утилиты парсинга и преобразования строк предметов
Хелперы для преобразования строк «item argument» в ItemStack (и обратно), совместимые с форматом, который принимает /give:
- Парсинг
minecraft:item_id, а также синтаксиса компонентов в скобках, напримерminecraft:item[component=value,...] - Проверка строк предметов, заданных пользователем, для конфигов/команд
- Форматирование
ItemStackв строку item-argument (id + патч компонентов)
Ключевые пакеты/классы:
net.unfamily.iskalib.item.ItemConverter
Мост для передачи (совместимость с автоматизацией)
Связывает легаси-обработчики предметов с capability передачи предметов NeoForge:
- Оборачивает
IItemHandlerкак транзакционный `ResourceHandler` - Использует журналы снапшотов для отката, когда это возможно (
IItemHandlerModifiable)
Ключевые пакеты/классы:
net.unfamily.iskalib.transfer.LegacyItemHandlerResourceHandler
Отладочные хелперы и команды
Небольшие узкоспециализированные утилиты для разработки и диагностики:
- Хелперы дампа руки/предмета
- Отладочные команды для рабочих процессов маркеров/стадий
Ключевые пакеты/классы:
net.unfamily.iskalib.debug.HandItemDumpnet.unfamily.iskalib.command.IskaLibDebugCommandnet.unfamily.iskalib.command.StageCommand
Liquid API:
net.unfamily.iskalib.liquid
Частые вопросы
Как установить Iskandert's Library?
Установите NeoForge под свою версию Minecraft, скачайте Iskandert's Library под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Iskandert's Library?
У Iskandert's Library есть сборки для Minecraft 1.21.1, 26.1.2.
Нужен ли Iskandert's Library на сервере?
Нужен и в игре, и на сервере