Memulai
Cara paling gampang buat mikir tentang CampAPI adalah begini: pilih dulu hal yang mau kamu tangani, lalu tempelkan logic kamu di sana.
1) Pilih fitur yang memang kamu butuh
Beberapa pilihan yang paling sering dipakai:
BeforeRenderScreenEventkalau kamu mau menghentikan atau mengganti render layarAfterRenderScreenEventkalau kamu mau jalanin kode setelah layar selesai digambarOnKeyEventdanOnTouchEventkalau kamu mau merespons input pemainGetSplashTextEventkalau kamu mau ganti splash text saat startupRPMConstructorkalau kamu mau memantau pembuatan resource-pack managergetLibBase()dangetVtableClass()kalau kamu butuh alamat native
2) Simpan listener di dalam scope
ModuleScope bikin listener lebih rapi. Begitu scope selesai, listener di dalamnya ikut dibersihkan otomatis.
cpp
CampAPI::ModuleScope scope;
scope.AddListener<OnKeyEvent>([](OnKeyEvent& event) {
if (event.isKeyDown && event.keyCode == 66) {
event.Consume();
}
});3) Bikin mod JavaScript
Struktur mod JS biasanya seperti ini:
text
{Akar Folder Data CampAPI}/scripts/ExampleMod/
manifest.json
scripts/
index.js
utils.jsContoh manifest.json:
json
{
"name": "Example Mod",
"author": "Alvin",
"version": "1.0.0",
"namespace": "example",
"export": true,
"entry": "index.js"
}Contoh scripts/index.js:
js
import { getModInfoByName } from 'internal:mod'
import { sigscan } from 'internal:modding'
import { fetch } from 'internal:network'
console.log('Loaded:', getModInfoByName('Example Mod'))
const addr = sigscan('libminecraftpe.so', '48 8B ?? ??')
console.log('Signature result:', addr)
const res = fetch('https://example.com/version.json')
console.log(res.status, res.ok)4) Import file dari mod export
Kalau mod ditandai "export": true, mod lain bisa import file-nya pakai format @namespace/path.
js
import { helper } from '@example/utils.js'Cocok buat utility bersama, konstanta, atau bootstrap kecil yang dipakai berulang.
Tips praktis
Mulai dari yang kecil dulu. Mod yang cuma ganti splash text atau merespons satu tombol biasanya jauh lebih gampang dites dibanding mod besar yang semua halnya dicampur jadi satu.