
Antique Atlas/CraftTweaker API Adapter
Активный0.0
Установок
Последнее обновление
Antique Atlas/CraftTweaker API Adapter
Этот адаптер предоставляет удобный мост между CraftTweaker и Antique Atlas, позволяя создателям сборок и опытным игрокам добавлять маркеры на карты через ZenScript без необходимости разработки отдельного мода.
Основное назначение
Модификация открывает доступ к методам MarkerAPI из Antique Atlas через скрипты CraftTweaker. Это идеальное решение для автоматизации добавления маркеров на карты - например, можно создать инструмент, который автоматически отмечает месторождения определенных руд или другие важные точки при взаимодействии с ними.
Требования к совместимости
Для работы необходимы:
- CraftTweaker версии 12.2-4.1.13 или выше
- Antique Atlas версии 1.12.2-4.5.0 или выше
Перед использованием методов API потребуется импортировать соответствующие адаптеры в ваш ZenScript:
import mods.AAMarkerAPI;
import mods.AAMarker;
Доступные методы API
// Добавление маркеров для конкретного атласа
AAMarker mods.AAMarkerAPI.putMarker(IWorld w, boolean visibleAhead, int atlasID, String markerType, String label, int x, int z)
AAMarker mods.AAMarkerAPI.putMarker(IWorld w, boolean visibleAhead, int atlasID, String markerType, String label, double x, double z)
// Добавление глобальных маркеров
AAMarker mods.AAMarkerAPI.putGlobalMarker(IWorld w, boolean visibleAhead, String markerType, String label, int x, int z)
AAMarker mods.AAMarkerAPI.putGlobalMarker(IWorld w, boolean visibleAhead, String markerType, String label, double x, double z)
// Альтернативные методы с возвратом идентификатора
int mods.AAMarkerAPI.putMarkerI(IWorld w, boolean visibleAhead, int atlasID, String markerType, String label, int x, int z)
int mods.AAMarkerAPI.putMarkerI(IWorld w, boolean visibleAhead, int atlasID, String markerType, String label, double x, double z)
int mods.AAMarkerAPI.putGlobalMarkerI(IWorld w, boolean visibleAhead, String markerType, String label, int x, int z)
int mods.AAMarkerAPI.putGlobalMarkerI(IWorld w, boolean visibleAhead, String markerType, String label, double x, double z)
// Удаление маркеров
void mods.AAMarkerAPI.deleteMarker(IWorld w, int atlasID, int markerID)
void mods.AAMarkerAPI.deleteGlobalMarker(IWorld w, int markerID)
Методы с параметрами типа double автоматически округляют координаты до целых чисел, что удобно при работе с координатами игрока.
Практический пример использования
Вот пример скрипта, который добавляет маркеры при взаимодействии с определенными блоками, если у игрока в руках находится атлас:
import crafttweaker.events.IEventManager;
import crafttweaker.player.IPlayer;
import mods.AAMarkerAPI;
import mods.AAMarker;
// Добавление маркеров при клике на определенные блоки с атласом в руке
events.onPlayerInteract(function(event as crafttweaker.event.PlayerInteractEvent){
if (<antiqueatlas:antique_atlas:*>.matches(event.player.currentItem)) {
var atlasID as int;
var x as double;
var z as double;
var mkI as int;
var mkAAM as AAMarker;
if (!event.world.isRemote()){
atlasID = event.player.currentItem.metadata;
x = event.player.x;
z = event.player.z;
// Маркер с иконкой черепа для спавнера
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)){
mkI = mods.AAMarkerAPI.putMarkerI(event.world, false, atlasID, "diamond", event.block.displayName , x, z);
event.player.sendMessage("Маркер добавлен");
event.cancel();
}
// Демонстрация добавления и удаления маркера
if ((<minecraft:dirt>.asBlock()) in (event.block)){
mkAAM = mods.AAMarkerAPI.putMarker(event.world, false, atlasID, "google", event.block.displayName , x, z);
event.player.sendMessage("Маркер добавлен");
event.player.sendMessage("Нет, передумал");
mods.AAMarkerAPI.deleteMarker(event.world, atlasID, mkAAM.getId());
event.player.sendMessage("Маркер удален");
event.cancel();
}
}
}
});
Этот инструмент открывает широкие возможности для кастомизации игрового процесса и создания уникальных механик в ваших сборках.