Mod Antique Atlas/CraftTweaker API Adapter by targrenmods

  • Antique Atlas/CraftTweaker API Adapter by targrenmods

    A simple API adapter to allow CraftTweaker scripts to add markers to Antique Atlas maps
    • 6.19 KB
    • 1.12.2
    • May 26, 2018
    • January 15, 2019
    • API and Library
      Map and Information
    Antique Atlas/CraftTweaker API Adapter
Mod Information
NameAntique Atlas/CraftTweaker API AdapterAuthortargrenmodsDescriptionA simple API adapter to allow CraftTweaker scripts to add markers to Antique Atlas maps
InformationDownloads:
Version: 1.12.2
Size: 6.19 KB
Updated at: January 15, 2019
Created at: May 26, 2018
Tags
API and Library
Map and Information

A simple API Adapter to allow CraftTweaker ZenScripts to access the Antique Atlas MarkerAPI methods to add markers and global markers to in-game Atlases. This is primarily a tool for modpack makers who wish to use the MarkerAPI without having to write a new mod - for example, to add a tool that automatically adds map markers when clicked on certain ores (see example), though Zenscript-savvy players may find it useful to add quality-of-life tweaks to their own local games. 

 

Requires:
CraftTweaker (12.2-4.1.13)
Antique Atlas (1.12.2-4.5.0)

You will probably need to import the adapters into your ZenScript

 

import mods.AAMarkerAPI;
import mods.AAMarker;

 

Methods

 

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)

 

 

The "double" overloads round off the given double-precision coordinates (such as those retrievable from crafttweaker.api.player.IPlayer) to integers, but otherwise function identically.

 

For more details on markerTypes and labels, see The Antique Atlas wiki

 

A Quick and Dirty Example ZS

import crafttweaker.events.IEventManager;
import crafttweaker.player.IPlayer;
import mods.AAMarkerAPI;
import mods.AAMarker;

//Clicking (left- or right-) on a the specified blocks with an Antique Atlas item in-hand will add a marker to that atlas
//Clicking on a spawner will add a marker with the "skull" icon, and the diamond ore will use the "diamond" icon

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("Marker added");
                    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("Marker added");
                    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("Marker added");
                    event.player.sendMessage("Nah, nevermind");
                    mods.AAMarkerAPI.deleteMarker(event.world, atlasID, mkAAM.getId());
                    event.player.sendMessage("Marker Deleted");
                    event.cancel();
            }
        }
    }
});