Skip to content

What it can do

This page is a simple map of CampAPI's main features, written from a mod author's point of view.

Event hooks

CampAPI gives you hooks for moments around the game client:

  • client instance lifecycle
  • input events
  • screen rendering
  • splash text replacement
  • resource-pack manager creation

Typical things people do with these hooks:

  • block a screen from rendering
  • react to a specific key press or touch action
  • swap the splash text during startup
  • run setup code when the client instance becomes available

Native helpers

The native side gives you helpers for address-oriented work:

  • getLibBase() to find a loaded library base address
  • getVtableClass() to find a vtable slot address by class name
  • slideAddress() when you want an offset turned into a real address
  • Android-only export and helper macros in Macro.h

Typical uses:

  • resolve a function pointer for a hook
  • anchor native code to a specific library image
  • keep platform-specific code limited to Android builds

JavaScript mods

The script side is made for fast iteration.

You get:

  • module loading from a scripts/ folder
  • metadata from manifest.json
  • entry-file selection with entry or main
  • exported namespace imports with @namespace/...
  • console logging from JS
  • fetch support
  • sigscan support
  • mod-info lookup helpers

Typical uses:

  • write gameplay automation in JS
  • split a mod into reusable files
  • share utilities across multiple mods
  • pull remote config or version data

Logging and debugging

The JS layer writes console output to Android log output and a mod log file.

That is useful for:

  • checking startup behavior
  • printing mod metadata
  • inspecting fetch results and signature scan output

Small example bundle

js
import { getModInfoByNamespace } from 'internal:mod'
import { fetch } from 'internal:network'

console.log(getModInfoByNamespace('example'))
const res = fetch('https://example.com/api/status')
console.log(res.status)