Welcome to Katton 0.3! This version could bring a major upgrade to your scripting experience with Katton! Besides more efficient APIs, we also introduced some security mechanism to our mod.
What's New
Security & Remote Script Trust
Added remote script trust pipeline for client-synced server packs.
- Added Ed25519 signature verification for remote packs (RemoteScriptSignatureVerifier).
- Added persistent trust store at /.katton/remote-script-trust.json (RemoteScriptTrustStore), including trusted server buckets, trusted signing keys + fingerprints
- Remote bundle handling now: i.verifies signatures, ii.caches verified packs, iii.checks trust state, iv.only executes scripts after explicit trust. Untrusted/invalid remote scripts are rejected; client can be disconnected on signature failure.
- Added blocking remote trust screen for unknown servers/keys with:
Signing Toolchain
Added new Gradle module :sign-plugin (top.katton.sign) with tasks:
- generateKattonSigningKey (Ed25519 keypair generation)
- signKattonPack (writes signature metadata into manifest.json)
Paper Platform Support
Katton now runs as a standard Paper plugin alongside the existing Fabric and NeoForge mod variants. 14 event bridge classes mirroring the Fabric/NeoForge event system, all backed by Bukkit @eventhandler listeners and converted to NMS types via PaperNmsBridge
Warning
Client APIs are NOT supported on Katton paper plugin.
Modification API
Katton now enables developers to modify some attribute of registered items or blocks in minecraft.
Managed Event System
A new abstraction layer for registering any platform-native event listener directly from scripts. Listeners are tracked by ScriptPackScope and automatically cleaned up on reload or server stop
Data Channel between Client and Server
Scripts can now send custom serialized data between client and server.
Script Config System
Script packs can define structured configuration blocks.
KattonConfigApi—kattonConfig { ... }block in scriptsKattonConfigManager— persistent storage and rehydration of config values- ScriptPackManifest — extended with a config field in manifest.json
Item Marker
Item render markers are lightweight client-side item models shown in the world. They are useful for hologram-like rewards, previews, quest targets, temporary pickups, and animated markers. Markers are not entities. They have no collision, selector target, persistence, or vanilla entity sync.
Custom Post Effects
Post effects are full-screen shader passes controlled by client scripts or by server packets. They are useful for temporary visual states such as grayscale, tint, blur, scanlines, pixelation, or a custom shader chain. Katton allows developers to create their custom post effects, and also provides a lot of presets include invert, grayscale, sepia, tint, color adjustment, vignette, chromatic aberration, pixelate, posterize, scanline, and blur.
Multi-Language support
Texts or messages in Kattonnow supports Simplified Chinese and Traditional Chinese.
UI
- Now Katton will display a warning screen when compilation errors occur, instead of just printing them in log files.
For full change logs please refer to
Full Changelog: 0.2.0...v0.3.0
Happy coding!