Antique Atlas/CraftTweaker API Adapter: связующее звено между скриптами и картографией
Модификация Antique Atlas давно полюбилась исследователям Minecraft за атмосферную карту, которая заполняется по мере путешествий, а не показывает всё сразу. Но что, если хочется автоматически расставлять на ней метки через скрипты, не создавая отдельный мод? Именно эту задачу решает Antique Atlas/CraftTweaker API Adapter — небольшой, но мощный инструмент для авторов модпаков и опытных игроков, знакомых с ZenScript.
Адаптер выступает прослойкой между гибкой системой скриптов CraftTweaker и MarkerAPI из Antique Atlas. Он открывает доступ к методам добавления маркеров прямо из ZenScript, позволяя привязать появление отметок к любым игровым событиям: клику по руде, использованию предмета, достижению координат и многому другому. По сути, вы получаете возможность программировать поведение атласа без написания Java-кода.
Какие возможности даёт адаптер
В арсенале мода — несколько ключевых методов, работающих с миром, типом маркера, меткой и координатами. Все они интуитивно понятны и хорошо задокументированы в вики Antique Atlas. Разработчик предусмотрел два варианта перегрузок: для целочисленных координат и для чисел с плавающей точкой — последние автоматически округляются, что удобно при использовании позиций игрока, получаемых через crafttweaker.player.IPlayer.
- putMarker — добавляет маркер в конкретный атлас по ID (обычно это метаданные предмета атласа в руке).
- putGlobalMarker — создаёт глобальный маркер, видимый на всех атласах в мире.
- putMarkerI / putGlobalMarkerI — аналогичные методы, возвращающие целочисленный идентификатор созданного маркера для последующего удаления.
- deleteMarker / deleteGlobalMarker — удаляют маркер по ID, позволяя динамически управлять отметками.
Параметр visibleAhead определяет, будет ли маркер виден даже сквозь неисследованные области карты, а markerType задаёт иконку из стандартного набора атласа: «diamond», «skull», «google» и десятки других. Благодаря этому каждая метка может нести не только текстовую подсказку, но и узнаваемый символ.
Требования и совместимость
Для работы адаптера необходимы строго определённые версии модов: CraftTweaker не ниже 12.2-4.1.13 и Antique Atlas 1.12.2-4.5.0. Сборка ориентирована на Minecraft 1.12.2 — одну из самых стабильных и богатых модами версий. Перед началом работы в скрипты нужно импортировать классы адаптера:
import mods.AAMarkerAPI;import mods.AAMarker;
Без этих строк ZenScript не увидит методы MarkerAPI, и скрипт не сработает. К счастью, сам адаптер очень лёгкий и не конфликтует с другими модификациями, поэтому его смело можно добавлять даже в плотно упакованные модпаки.
Живой пример: метки по клику на блок
Представьте, что вы хотите, чтобы при нажатии правой кнопкой по спаунеру с атласом в руке на карте появлялась отметка с черепом, а по алмазной руде — с драгоценным камнем. С адаптером это реализуется десятком строк на ZenScript. Вот упрощённый, но рабочий фрагмент:
events.onPlayerInteract(function(event as crafttweaker.event.PlayerInteractEvent){
if (<antiqueatlas:antique_atlas:*>.matches(event.player.currentItem)) {
var atlasID = event.player.currentItem.metadata;
var x = event.player.x;
var z = event.player.z;
if (!event.world.isRemote()){
if ((<minecraft:mob_spawner>.asBlock()) in (event.block)){
mods.AAMarkerAPI.putMarker(event.world, false, atlasID, "skull", event.block.displayName, x, z);
event.player.sendMessage("Маркер добавлен");
event.cancel();
}
if ((<minecraft:diamond_ore>.asBlock()) in (event.block)){
var mkI = mods.AAMarkerAPI.putMarkerI(event.world, false, atlasID, "diamond", event.block.displayName, x, z);
event.player.sendMessage("Маркер добавлен, ID: " + mkI);
event.cancel();
}
}
}
});
Этот код проверяет, держит ли игрок предмет Antique Atlas, и при клике по спаунеру или алмазной руде ставит соответствующую метку на карте. Метод putMarkerI возвращает числовой идентификатор, который можно сохранить для дальнейшего удаления — например, если игрок передумает. Адаптер позволяет строить куда более сложные сценарии: автоматическую разметку данжей, отметку мест смерти, интеграцию с квестами и многое другое.
Кстати, установить такой набор модов проще простого, если под рукой есть современный лаунчер. Например, через foxygame.net можно буквально в пару кликов добавить CraftTweaker, Antique Atlas и сам адаптер в сборку, а затем сразу редактировать скрипты через удобное меню — лаунчер сам следит за совместимостью и обновлениями, избавляя от рутины.
Для кого этот инструмент
Antique Atlas/CraftTweaker API Adapter — находка для создателей модпаков, которые хотят оживить картографию без глубокого погружения в Java. Он снижает порог входа в программирование модов до уровня ZenScript, знакомого многим игрокам по настройке рецептов. Даже если вы не собираете публичную сборку, адаптер поможет добавить персональные «фишки»: отмечать дом, шахту или портал в одно нажатие, делая атлас по-настоящему интерактивным дневником приключений.
Сочетание мощи CraftTweaker и атмосферной карты Antique Atlas открывает простор для творчества. А лёгкая интеграция через ZenScript означает, что любую идею можно воплотить за вечер, не отвлекаясь на компиляцию и настройку среды разработки. Попробуйте — и ваша карта заговорит на языке скриптов.