Files
runelite/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java

664 lines
13 KiB
Java

/*
* Copyright (c) 2016-2017, Adam <Adam@sigterm.info>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.rs.api;
import java.util.Map;
import net.runelite.api.Client;
import net.runelite.api.IndexDataBase;
import net.runelite.api.SpritePixels;
import net.runelite.api.World;
import net.runelite.api.widgets.Widget;
import net.runelite.mapping.Construct;
import net.runelite.mapping.Import;
public interface RSClient extends RSGameEngine, Client
{
@Import("cameraX")
@Override
int getCameraX();
@Import("cameraY")
@Override
int getCameraY();
@Import("cameraZ")
@Override
int getCameraZ();
@Import("plane")
@Override
int getPlane();
@Import("cameraPitch")
@Override
int getCameraPitch();
@Import("cameraPitch")
void setCameraPitch(int cameraPitch);
@Import("cameraYaw")
@Override
int getCameraYaw();
@Import("world")
int getWorld();
@Import("FPS")
@Override
int getFPS();
@Import("mapAngle")
@Override
int getMapAngle();
@Import("tileHeights")
@Override
int[][][] getTileHeights();
@Import("tileSettings")
@Override
byte[][][] getTileSettings();
@Import("clientVarps")
@Override
int[] getVarps();
@Import("varcs")
RSVarcs getVarcs();
@Import("energy")
@Override
int getEnergy();
@Import("weight")
int getWeight();
@Import("baseX")
@Override
int getBaseX();
@Import("baseY")
@Override
int getBaseY();
@Import("boostedSkillLevels")
@Override
int[] getBoostedSkillLevels();
@Import("realSkillLevels")
@Override
int[] getRealSkillLevels();
@Import("skillExperiences")
@Override
int[] getSkillExperiences();
@Import("changedSkills")
@Override
int[] getChangedSkills();
@Import("changedSkillsCount")
@Override
int getChangedSkillsCount();
@Import("changedSkillsCount")
@Override
void setChangedSkillsCount(int i);
@Import("gameState")
int getRSGameState();
@Import("mouseCurrentButton")
@Override
int getMouseCurrentButton();
@Import("selectedSceneTileX")
int getSelectedSceneTileX();
@Import("selectedSceneTileY")
int getSelectedSceneTileY();
@Import("draggingWidget")
@Override
boolean isDraggingWidget();
@Import("draggedWidget")
@Override
RSWidget getDraggedWidget();
@Import("draggedOnWidget")
@Override
RSWidget getDraggedOnWidget();
@Import("draggedOnWidget")
@Override
void setDraggedOnWidget(Widget widget);
@Import("widgets")
RSWidget[][] getWidgets();
/**
* Gets an array of widgets that correspond to the passed group ID.
*
* @param groupId the group ID
* @return the widget group
* @see net.runelite.api.widgets.WidgetID
*/
RSWidget[] getGroup(int groupId);
@Import("scene")
@Override
RSScene getScene();
@Import("localPlayer")
@Override
RSPlayer getLocalPlayer();
@Import("npcIndexesCount")
int getNpcIndexesCount();
@Import("npcIndices")
int[] getNpcIndices();
@Import("cachedNPCs")
@Override
RSNPC[] getCachedNPCs();
@Import("collisionMaps")
RSCollisionData[] getCollisionMaps();
@Import("playerIndexesCount")
int getPlayerIndexesCount();
@Import("playerIndices")
int[] getPlayerIndices();
@Import("cachedPlayers")
@Override
RSPlayer[] getCachedPlayers();
@Import("localInteractingIndex")
int getLocalInteractingIndex();
@Import("groundItemDeque")
RSDeque[][][] getGroundItemDeque();
@Import("projectiles")
RSDeque getProjectilesDeque();
@Import("graphicsObjectDeque")
RSDeque getGraphicsObjectDeque();
@Import("username")
@Override
String getUsername();
@Import("username")
@Override
void setUsername(String username);
@Import("playerOptions")
@Override
String[] getPlayerOptions();
@Import("playerOptionsPriorities")
@Override
boolean[] getPlayerOptionsPriorities();
@Import("playerMenuTypes")
@Override
int[] getPlayerMenuTypes();
@Import("mouseX")
int getMouseX();
@Import("mouseY")
int getMouseY();
@Import("menuOptionCount")
int getMenuOptionCount();
@Import("menuOptionCount")
void setMenuOptionCount(int menuOptionCount);
@Import("menuOptions")
String[] getMenuOptions();
@Import("menuTargets")
String[] getMenuTargets();
@Import("menuIdentifiers")
int[] getMenuIdentifiers();
@Import("menuTypes")
int[] getMenuTypes();
@Import("menuActionParams0")
int[] getMenuActionParams0();
@Import("menuActionParams1")
int[] getMenuActionParams1();
@Import("worldList")
@Override
RSWorld[] getWorldList();
@Import("addChatMessage")
void addChatMessage(int type, String name, String message, String sender);
@Override
@Import("getObjectDefinition")
RSObjectComposition getObjectDefinition(int objectId);
@Override
@Import("getNpcDefinition")
RSNPCComposition getNpcDefinition(int npcId);
@Import("scale")
@Override
int getScale();
@Import("viewportHeight")
@Override
int getViewportHeight();
@Import("viewportWidth")
@Override
int getViewportWidth();
@Import("Viewport_xOffset")
@Override
int getViewportXOffset();
@Import("Viewport_yOffset")
@Override
int getViewportYOffset();
@Import("isResized")
@Override
boolean isResized();
@Import("widgetPositionX")
@Override
int[] getWidgetPositionsX();
@Import("widgetPositionY")
@Override
int[] getWidgetPositionsY();
@Import("itemContainers")
RSHashTable getItemContainers();
@Import("getItemDefinition")
@Override
RSItemComposition getItemDefinition(int itemId);
@Import("createSprite")
RSSpritePixels createItemSprite(int itemId, int quantity, int thickness, int borderColor, int stackable, boolean noted);
@Import("getSpriteAsSpritePixels")
@Override
RSSpritePixels getSprite(IndexDataBase source, int archiveId, int fileId);
@Import("indexSprites")
@Override
RSIndexDataBase getIndexSprites();
@Import("widgetFlags")
@Override
RSHashTable getWidgetFlags();
@Import("componentTable")
@Override
RSHashTable getComponentTable();
@Import("grandExchangeOffers")
RSGrandExchangeOffer[] getGrandExchangeOffers();
@Import("isMenuOpen")
@Override
boolean isMenuOpen();
@Import("gameCycle")
@Override
int getGameCycle();
@Import("packetHandler")
void packetHandler();
@Import("chatLineMap")
@Override
Map getChatLineMap();
@Import("revision")
@Override
int getRevision();
@Import("mapRegions")
@Override
int[] getMapRegions();
@Import("instanceTemplateChunks")
@Override
int[][][] getInstanceTemplateChunks();
@Import("xteaKeys")
@Override
int[][] getXteaKeys();
@Import("gameDrawingMode")
@Override
int getGameDrawingMode();
@Import("gameDrawingMode")
@Override
void setGameDrawingMode(int gameDrawingMode);
@Import("cycleCntr")
int getCycleCntr();
@Import("chatCycle")
void setChatCycle(int value);
/**
* Get the widget top group. widgets[topGroup] contains widgets with
* parentId -1, which are the widget roots.
*
* @return
*/
@Import("widgetRoot")
int getWidgetRoot();
@Import("mapAreaType")
@Override
RSArea[] getMapAreas();
@Import("mapscene")
@Override
RSIndexedSprite[] getMapScene();
@Import("mapIcons")
@Override
RSSpritePixels[] getMapIcons();
@Import("mapDots")
RSSpritePixels[] getMapDots();
@Import("modIcons")
@Override
RSIndexedSprite[] getModIcons();
@Import("modIcons")
void setRSModIcons(RSIndexedSprite[] modIcons);
@Construct
@Override
RSIndexedSprite createIndexedSprite();
@Construct
@Override
RSSpritePixels createSpritePixels(int[] pixels, int width, int height);
@Import("destinationX")
int getDestinationX();
@Import("destinationY")
int getDestinationY();
@Import("audioEffects")
RSSoundEffect[] getAudioEffects();
@Import("queuedSoundEffectIDs")
int[] getQueuedSoundEffectIDs();
@Import("soundLocations")
int[] getSoundLocations();
@Import("unknownSoundValues1")
int[] getUnknownSoundValues1();
@Import("unknownSoundValues2")
int[] getUnknownSoundValues2();
@Import("queuedSoundEffectCount")
int getQueuedSoundEffectCount();
@Import("queuedSoundEffectCount")
void setQueuedSoundEffectCount(int queuedSoundEffectCount);
@Import("rasterProvider")
@Override
RSBufferProvider getBufferProvider();
@Import("mouseIdleTicks")
@Override
int getMouseIdleTicks();
@Import("keyboardIdleTicks")
@Override
int getKeyboardIdleTicks();
@Import("lowMemory")
void setLowMemory(boolean lowMemory);
@Import("sceneLowMemory")
void setSceneLowMemory(boolean lowMemory);
@Import("audioHighMemory")
void setAudioHighMemory(boolean highMemory);
@Import("objectCompositionLowDetail")
void setObjectCompositionLowDetail(boolean lowDetail);
@Construct
RSItem createItem();
@Import("intStackSize")
@Override
int getIntStackSize();
@Import("intStackSize")
@Override
void setIntStackSize(int stackSize);
@Import("intStack")
@Override
int[] getIntStack();
@Import("scriptStringStackSize")
@Override
int getStringStackSize();
@Import("scriptStringStackSize")
@Override
void setStringStackSize(int stackSize);
@Import("scriptStringStack")
@Override
String[] getStringStack();
@Import("friendManager")
RSFriendManager getFriendManager();
@Import("clanMemberManager")
RSClanMemberManager getClanMemberManager();
@Import("loginType")
RSJagexLoginType getLoginType();
@Construct
RSName createName(String name, RSJagexLoginType type);
@Import("getVarbit")
int getVarbit(int varbitId);
@Import("varbits")
RSNodeCache getVarbitCache();
@Import("preferences")
@Override
RSPreferences getPreferences();
/**
* This is the pitch the user has set the camera to.
* It should be between 128 and (pitchUnlimiter?512:383) JAUs(1).
* The difference between this and cameraPitch is that cameraPitch has a lower limit, imposed by the surrounding
* terrain.
*
* (1) JAU - Jagex Angle Unit; 1/1024 of a revolution
*/
@Import("cameraPitchTarget")
int getCameraPitchTarget();
@Import("cameraPitchTarget")
void setCameraPitchTarget(int pitch);
@Import("pitchSin")
void setPitchSin(int v);
@Import("pitchCos")
void setPitchCos(int v);
@Import("Rasterizer3D_zoom")
int get3dZoom();
@Import("Rasterizer3D_zoom")
void set3dZoom(int zoom);
@Import("renderOverview")
RSRenderOverview getRenderOverview();
@Import("changeWorld")
@Override
void changeWorld(World world);
@Construct
@Override
RSWorld createWorld();
@Import("animOffsetX")
void setAnimOffsetX(int animOffsetX);
@Import("animOffsetY")
void setAnimOffsetY(int animOffsetY);
@Import("animOffsetZ")
void setAnimOffsetZ(int animOffsetZ);
@Import("getFrames")
RSFrames getFrames(int frameId);
@Import("minimapSprite")
RSSpritePixels getMinimapSprite();
@Import("minimapSprite")
void setMinimapSprite(SpritePixels spritePixels);
@Import("drawObject")
void drawObject(int z, int x, int y, int randomColor1, int randomColor2);
@Construct
RSScriptEvent createScriptEvent();
@Import("runScript")
void runScript(RSScriptEvent ev, int ex);
@Import("hintArrowTargetType")
void setHintArrowTargetType(int value);
@Import("hintArrowTargetType")
int getHintArrowTargetType();
@Import("hintArrowX")
void setHintArrowX(int value);
@Import("hintArrowX")
int getHintArrowX();
@Import("hintArrowY")
void setHintArrowY(int value);
@Import("hintArrowY")
int getHintArrowY();
@Import("hintArrowOffsetX")
void setHintArrowOffsetX(int value);
@Import("hintArrowOffsetY")
void setHintArrowOffsetY(int value);
@Import("hintArrowNpcTargetIdx")
void setHintArrowNpcTargetIdx(int value);
@Import("hintArrowNpcTargetIdx")
int getHintArrowNpcTargetIdx();
@Import("hintArrowPlayerTargetIdx")
void setHintArrowPlayerTargetIdx(int value);
@Import("hintArrowPlayerTargetIdx")
int getHintArrowPlayerTargetIdx();
@Import("isDynamicRegion")
@Override
boolean isInInstancedRegion();
@Import("itemPressedDuration")
int getItemPressedDuration();
@Import("itemPressedDuration")
void setItemPressedDuration(int duration);
@Import("flags")
int getFlags();
@Import("compass")
void setCompass(SpritePixels spritePixels);
@Import("widgetSpriteCache")
RSNodeCache getWidgetSpriteCache();
@Import("oculusOrbState")
@Override
void setOculusOrbState(int state);
@Import("oculusOrbNormalSpeed")
@Override
void setOculusOrbNormalSpeed(int state);
RSItem getLastItemDespawn();
void setLastItemDespawn(RSItem lastItemDespawn);
@Construct
RSWidget createWidget();
@Import("revalidateWidget")
void revalidateWidget(Widget w);
@Import("revalidateWidgetScroll")
void revalidateWidgetScroll(Widget[] group, Widget w, boolean postEvent);
}