Разработка AncapStates 2 прекращена 23 марта 2022 года. Проект находится в ожидании полного переписывания с нуля
Запланированные изменения в AncapStates 3:
- Изменение структуры хранения данных (на данный момент, из-за моей некомпетентности на момент начала разработки плагина все данные хранились на диске как будто в оперативке, а поля классов присутствовали от силы в 10% объектов)
- Построение структуры плагина на EventAPI с самого начала разработки
- Новая структура обработчиков команд (как уже реализовано в AncapWars или AncapVKL)
- Переработка структуры городов и наций, объединение их под одним интерфейсом AncapState (этот интерфейс уже присутствует в этой версии плагина, но имеет один или два метода и соответственно нефункционален)
- Переход на более производительную базу данных и возможно добавление возможности выбора из локальной и удалённой
- 90% обратной совместимости аддонов к AncapStates 2 с AncapStates 3 (планируется, что необходимо будет только изменить создание объектов городов/наций на поиск их в StateMap) UPD: нет, так не получится, дай бог 50% совместимости будет
- MigrationTool для переезда со старой версии плагина на новую
- AncapStates 3 будет находится в другом репозитории на гитхабе, здесь останется старый код
Плагин для MineCraft, позволяющий создавать государства и вести войны.
- Создание городов и государств в игре;
- Контроль территорий по гексагонам;
- Войны между государствами за гексагоны;
- Интеграция с DynMap;
- Система привата для полной защиты территорий (14 обрабатываемых ивентов);
- Система приватных чанков для защиты ресурсов от сограждан;
- Иерархия внутри государства;
- Система чистки неактивных городов;
- Продуманная система сражений и система осады замков (каждая битва может идти по несколько часов!)
- Отличная оптимизация (0.01% тика/игрок)
- Чистый и расширяемый ООП-код (качество кода 98.1% согласно codefactor.io)
- Проект полностью OpenSource (лицензия MIT)
- API городов и наций для разработчиков (~100 методов)
- AddonAPI для разработчиков
- Собственное сердцебиение плагина для выполнения действий с определённой периодичностью (API имеется)
- Собственное EventAPI (в разработке, предполагается более 50 cancellable-ивентов)
- Сборка плагина с помощью Maven
Плагин добавляет в игру обширную систему создания городов и государств (наций). Игроки могут cоздавать города, присоединять новые территории к городу, приглашать других игроков в города и многое другое.
Плагин имеет продвинутую систему привата территорий городов, защищающую от любых взаимодействий с территориями города
Единица территории в AncapStates - гексагон с шириной в 100 блоков.
Плагин имеет систему удаления неактивных городов - ежедневно ночью с баланса городов (и наций) списывается некоторая сумма ресурсов. Если у города не хватает денег, он удаляется.
Плагин имеет отличную оптимизацию и предназначен для работы на серверах с высоким онлайном (200 онлайна предположительно нагрузят сервер не более чем на 2%)
Высокая производительность плагина основывается, в основном, на многопоточном выполнении тяжёлых методов.
Базовое API представлено примерно 200 методами у объектов City, Nation и AncapStates.
Player p = e.getPlayer();
CityMap cityMap = AncapStates.getCityMap();
City city = cityMap.getCity(p.getLocation());
city.sendMessage("В вашем городе гуляет игрок "+p.getName())`
Невероятно удобное API для разработчиков аддонов, дающее полный контроль над событиями в плагине. На данный момент находится в разработке. Планируется добавление около 50 ивентов для городов и наций. Примерный вид использования:
@EventHandler (priority = EventPriority.LOW)
public void onCityCreation(AncapStatesCityCreateEvent e) {
AncapPlayer creator = e.getPlayer();
if (creator.getName().equals("Icarus")) {
creator.getPlayer().kickPlayer("Ты мне не нравишься");
e.setCancelled(true);
}
}
AncapStates лицензирован под MIT Licence. Это означает, что кто угодно может скачать исходный код плагина и делать с ним всё, что он захочет.
Скачайте zip-архив main ветки и запустите
mvn package
в распакованной директории.
.jar файл будет в /target.