mirror of
https://github.com/eaglerforge/EaglerForgeInjector
synced 2025-07-25 07:01:20 -09:00
4.6 KiB
4.6 KiB
EaglerForge ModAPI Documentation
The EaglerForge ModAPI is housed in a global JavaScript object stored on globalThis
, called ModAPI
or PluginAPI
. (both are identical)
The global object has the following properties:
ModAPI.player: EntityPlayerSP
- Only accessible after
ModAPI.require("player")
is called, this is the local player entity. It is regenerated every time theupdate
event is called.
- Only accessible after
ModAPI.network: NetHandlerPlayClient
- Only accessible after
ModAPI.require("network")
is called, this is the client's networking handler. It is regenerated every time theupdate
event is called.
- Only accessible after
ModAPI.settings: GameSettings
- This is the Minecraft client's settings. It is generated upon init.
ModAPI.items: Map<String, Item>
- This is a key-value dictionary of all of the items in the game. It is generated upon init from the static variables of the
Items
class. - For example, to access the item class for
acacia_door
, you can useModAPI.items["acacia_door"]
- This is a key-value dictionary of all of the items in the game. It is generated upon init from the static variables of the
ModAPI.blocks: Map<String, Block>
- This is a key-value dictionary of all of the blocks in the game. It is generated upon init from the static variables of the
Blocks
class. - For example, to access the block class for
bedrock
, you can useModAPI.blocks["bedrock"]
- This is a key-value dictionary of all of the blocks in the game. It is generated upon init from the static variables of the
ModAPI.materials: Map<String, Material>
- This is a key-value dictionary of all of the blocks in the game. It is generated upon init from the static variables of the
Material
class. - For example, to access the material class for
portal
, you can useModAPI.materials["portal"]
- This is a key-value dictionary of all of the blocks in the game. It is generated upon init from the static variables of the
ModAPI.enchantments: Map<String, Enchantment|Object>
- This is a key-value dictionary of all of the enchantments in the game. It is generated upon init from the static variables of the
Enchantment
class. - For example, to access the enchantment class for
knockback
, you can useModAPI.enchantments["knockback"]
- As the enchantment class has other static variables,
Object.keys
will also return non-enchantment keys such asenchantmentsBookList
.
- This is a key-value dictionary of all of the enchantments in the game. It is generated upon init from the static variables of the
ModAPI.minecraft: Minecraft
- This is the minecraft instance for the client, generated upon init.
- It can also be accessed using
ModAPI.mc
ModAPI.mcinstance: Raw<Minecraft>
- This is the raw minecraft instance for the client, generated upon init.
- It can also be accessed using
ModAPI.javaClient
- It can also be accessed using
ModAPI.minecraft.getRef()
ModAPI.server: MinecraftServer
- This is the dedicated minecraft server in the service worker, generated when the
serverstart
. - It can only be accessed in the dedicated server's context. (See
ModAPI.dedicatedServer
) - It can also be accessed using
ModAPI.serverInstance
- This is the dedicated minecraft server in the service worker, generated when the
ModAPI.rawServer: MinecraftServer
- This is the dedicated minecraft server in the service worker, generated when the
serverstart
. - It can only be accessed in the dedicated server's context. (See
ModAPI.dedicatedServer
) - It can also be accessed using
ModAPI.server.getRef()
- This is the dedicated minecraft server in the service worker, generated when the
ModAPI.hooks
- This is the internal hooking map for ModAPI and can be used to patch, intercept, or rewrite internal functions, and more.
- More: HooksDocumentation
ModAPI.util
- This contains utilities for using
ModAPI.hooks
,ModAPI.reflect
, and more. - More: UtilDocumentation
- This contains utilities for using
ModAPI.reflect
- This is a wrapper around
ModAPI.hooks
,ModAPI.hooks._teavm
andModAPI.hooks._classMap
that makes accessing and using internal java classes in mods much easier. - More: ReflectDocumentation
- This is a wrapper around
ModAPI.dedicatedServer
- This object is used to push code for use in the dedicated server.
- Once the dedicated server worker has started, it is unuseable.
- More: DedicatedServerDocumentation
ModAPI.version: String
- The version of ModAPI.
ModAPI.flavour: String
- The flavour of ModAPI. Hardcoded to be
"injector"
.
- The flavour of ModAPI. Hardcoded to be
The ModAPI object has the following methods:
addEventListener(eventName: String, callback: Function) : void
- More: EventDocumentation
require(componentName: String) : void
- Import required modules, such as
player
andnetwork
. - Usage:
ModAPI.require("module")
- Import required modules, such as
displayToChat(message: String) : void
- Displays client-side message to user's ingame chat gui.
- Usage:
ModAPI.displayToChat("Hello World.")
clickMouse() : void
- Triggers a left click ingame.
- Usage:
ModAPI.clickMouse()
rightClickMouse() : void
- Triggers a right click ingame.
- Usage:
ModAPI.rightClickMouse()