Tags
Creators
Details
0.3.0
Compatibility
Changes
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: https://github.com/Alumopper/Katton/compare/0.2.0...v0.3.0
Happy coding!
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:KAYYDcyu:IrWQeoVV"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:KAYYDcyu:IrWQeoVV"
}

