Appearance
Mod API
The Mod API consists of a global JavaScript object on the window, called, very simply, ModAPI.
It has the following properties:
player: LocalPlayerData- A
LocalPlayerDatamade fromEntityPlayerSP. Regenerated every time theupdateevent is called.
- A
network: NetworkData- A
NetworkDatamade fromNetHandlerPlayClient. Regenerated every time theupdateevent is called.
- A
settings: GameSettingsData- A
GameSettingsDatamade fromGameSettings. Regenerated every time theframeevent is called.
- A
server: MultiPlayerData- A
MultiPlayerDatamade fromcurrentServerData. Regenerated every time theupdateevent is called.
- A
items: ItemData{}- A
ItemDatadictionary of all item types, and block-item types. [Auto]
- A
blocks: BlockData{}- A
BlockDatadictionary of all block types. [Auto]
- A
materials: MaterialData{}- A
MaterialDatadictionary of all the block materials. [Auto]
- A
enchantments: EnchantmentData{}- An
EnchantmentDatadictionary of all the in-game enchantments. [Auto]
- An
sp: SingleplayerData- A
SingleplayerDatamade fromSingleplayerServerController[Auto]
- A
mcinstance: Object- This is the
Minecraftinstance exposed to JavaScript. It has no wrapping, and so many properties will be illegible. To use it, I would recommend editing thebuild.gradlein the workspace to setminifying: false;[Auto]
- This is the
version: String- The version of the EaglerForge.
clientBrand: String- The brand of the Eaglercraft client, taken from
ClientBrandRetriever.java
- The brand of the Eaglercraft client, taken from
It has the following methods:
addEventListener(eventName: String, callback: Function) : void- Documentation here
require(componentName: String)- Documentation here
displayToChat({msg: String})- Displays client-side message to user's ingame chat gui.
uwuify({string: String})- uwuifys your string...
clickMouse()- Triggers a left click ingame.
rightClickMouse()- Triggers a right click ingame.
getFPS()- returns the current fps
currentScreen()- returns the current screen as a string
getdisplayHeight()- returns screen height
getdisplayWidth()- returns screen width
getFONT_HEIGHT()- returns the FONT_HEIGHT
getStringWidth({string: String}) : int- returns the width of a string based on minecraft's font
drawStringWithShadow({msg: String, x: Integer, y: Integer, color: Integer})- draws your string to screen and needs to be ran when the
drawhudevent is called. the color parameter needs be hex but # is replaced with 0x
- draws your string to screen and needs to be ran when the
drawString({msg: String, x: Integer, y: Integer, color: Integer})- same as drawStringWithShadow but dosnt draw the shadow
drawRect({left: Integer, top: Integer, right: Integer, bottom: Integer, color: Integer})- draws a rect to screen and needs to be ran when the
drawhudevent is called. the color parameter needs be hex but # is replaced with 0x
- draws a rect to screen and needs to be ran when the
update()- Force triggers a Mod API update.
Passing 'Ref' objects
Eg: setCurrentItemOrArmor({slotIn: Integer, itemStack: ItemStackRef}) : void This method's itemStack parameter uses an 'ItemStackRef'. 'Refs' are short for 'references', as they are the root reference to a java object, not just a data wrapper. You can get a ref from a Data by using getRef(), as specified here.
Using non-auto properties
In order to use non-auto properties like ModAPI.player or ModAPI.network, they must be required
Triggering data updates (reload())
To trigger the game to read your updated values, call the reload() method on the object.
Eg:
ModAPI.player.motionY += 1;
ModAPI.player.reload();Frequent calls to reload() may cause lag, so try to limit them
Logger API
Allows you to access the Log4J library from javascript. you can access it from ModAPI.logger.(method).
it has the following methods:
setlogger({name: String})- allows you to set the name of the logger
loginfo({string: String})logerror({string: String})logdebug({string: String})logwarn({string: String})logfatal({string: String})logtrace({string: String})
Platform API
Allows you to shrimply access EagRuntime from javascript. you can access it from ModAPI.platform.(method).
it has the following methods:
isOfflineDownload() : Boolean- turns true if the client that loaded the mod is an offline download and turns false if the client is a website (using web folder)
freeMemory() : Integer- returns free memory
maxMemory() : Integer- returns max memory
totalMemory() : Integer- returns total memory
openLink({url: String})- opens a link in a new tab
getClipboard() : String- gets the user's clipboard
recSupported() : Boolean- checks if recording the screen is supported
toggleRec() : Void- toggles the screen recorder
getUserAgentString() : Void- returns the UserAgent
getGLRenderer() : Void- self explanatory
getGLVersion() : Void- returns the GL version