Mastering In-Game Cartography with the Antique Atlas/CraftTweaker API Adapter
Minecraft mods that add rich world maps have always captured the imagination of explorers. Antique Atlas stands out by giving you a beautifully styled, hand-drawn atlas that fills in as you travel. But what if you could programmatically drop custom markers onto those pages, tying them to specific blocks, quests, or player actions? That’s exactly what the Antique Atlas/CraftTweaker API Adapter makes possible. It’s a bridge that lets ZenScript scripts talk directly to the atlas, opening up a whole new layer of automation for modpack creators and tinkerers alike.
What Exactly Is This Adapter?
At its core, this is a lightweight API adapter that exposes Antique Atlas’s MarkerAPI to CraftTweaker. Without it, adding markers through scripts would require writing a separate mod. Now, anyone comfortable with ZenScript can call a handful of simple methods to place, delete, or manage markers on any atlas in the game. Whether you want to mark ore veins, highlight dungeon entrances, or create a dynamic quest log on your map, the adapter handles the heavy lifting behind the scenes.
How It Connects Two Powerhouse Mods
Antique Atlas gives you an immersive, customizable map system. CraftTweaker lets you tweak recipes, alter game mechanics, and script complex interactions. The adapter sits between them, translating ZenScript commands into atlas marker operations. Once you import the necessary classes into your script, you gain access to a set of functions that feel like native parts of the game. The result is a seamless experience where a single right-click can etch a diamond icon onto your atlas, or a quest completion can automatically drop a global marker visible to everyone on a server.
Core Methods for Marker Manipulation
After importing mods.AAMarkerAPI and mods.AAMarker, you can start calling methods that accept an IWorld object, visibility settings, atlas IDs, marker types, labels, and coordinates. Here are the key functions you’ll use:
- putMarker – Adds a marker to a specific atlas. Overloads accept either integer or double coordinates (doubles are rounded). Returns an
AAMarkerobject. - putGlobalMarker – Places a marker visible across all atlases, perfect for server-wide landmarks.
- putMarkerI / putGlobalMarkerI – Variants that return the marker’s integer ID instead of the full object.
- deleteMarker – Removes a marker from a specific atlas using its ID.
- deleteGlobalMarker – Deletes a global marker by ID.
Marker types like “skull”, “diamond”, or “google” (a quirky icon) correspond to the icons defined in Antique Atlas’s own asset system, and labels can be any string you like. This gives you complete creative control over what appears on the map and why.
A Real-World ZenScript Example
Imagine you want players to mark spawners or diamond ore simply by clicking on them while holding an Antique Atlas. The script below listens for player interactions, checks if the held item is an atlas, and then places a marker with the appropriate icon at the player’s location. If they accidentally mark a dirt block, the script even demonstrates how to instantly delete that marker for a playful undo effect.
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 = event.player.currentItem.metadata;
var x as double = event.player.x;
var z as double = 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("Marker added");
event.cancel();
}
if ((<minecraft:diamond_ore>.asBlock()) in (event.block)){
mods.AAMarkerAPI.putMarkerI(event.world, false, atlasID, "diamond", event.block.displayName , x, z);
event.player.sendMessage("Marker added");
event.cancel();
}
if ((<minecraft:dirt>.asBlock()) in (event.block)){
var mkAAM = mods.AAMarkerAPI.putMarker(event.world, false, atlasID, "google", event.block.displayName , x, z);
event.player.sendMessage("Marker added");
event.player.sendMessage("Nah, nevermind");
mods.AAMarkerAPI.deleteMarker(event.world, atlasID, mkAAM.getId());
event.player.sendMessage("Marker Deleted");
event.cancel();
}
}
}
});
This snippet shows how easily you can tie block interactions to atlas annotations. The putMarkerI method returns an ID you can store for later deletion, while putMarker gives you the full object for immediate use. Such flexibility lets you build sophisticated mapping features without ever leaving the comfort of ZenScript.
Setting Everything Up
To get started, you’ll need Antique Atlas version 1.12.2-4.5.0 and CraftTweaker version 12.2-4.1.13, as the adapter relies on specific API hooks from both. Once those are in your mods folder, drop in the adapter JAR and you’re ready to script. If you’re using a modern launcher that streamlines mod management, the whole process becomes even smoother. For instance, the foxygame.net launcher offers a convenient, flexible way to browse and install mods right from its built-in menu, letting you grab the adapter and its dependencies without manually hunting down files. After installation, remember to import the adapter classes at the top of your ZenScript files, and you’ll have full access to the marker API.
Why Modpack Makers Swear by This Tool
Manually placing markers in a pre-generated world is tedious and static. This adapter allows dynamic, context-sensitive mapping that reacts to player behavior. You can create tools that auto-mark ores, quest mods that reveal locations as objectives are met, or even server events that broadcast global markers during special occasions. The API’s simplicity means you spend less time wrestling with Java and more time designing immersive experiences. Plus, because everything runs through CraftTweaker, you can tweak marker logic on the fly without restarting the client—a massive time-saver during development.
Taking Your Atlas to the Next Level
The Antique Atlas/CraftTweaker API Adapter transforms a beautiful cartography mod into an interactive, programmable canvas. By bridging the gap between scripting and mapping, it empowers you to craft adventures where the world itself leaves a trail of breadcrumbs. Whether you’re building a sprawling modpack or just adding personal quality-of-life tweaks, this adapter is the missing piece that turns your atlas into a living journal of your Minecraft journey.