Перейти к содержимому
Mineforgian

Katton

Next-generation scripting framework for Minecraft

Загрузки
237
Подписчики
6
Обновлён
6 августа 2026 г.
Лицензия
MIT

Опубликован 10 мая 2026 г.

20260226 Katton is a powerful modding framework for Minecraft that allows you to use Kotlin scripts to create and modify game content. With hot-reloadable scripts, you can see your changes in real-time without needing to restart the game.

Katton supports both Fabric and NeoForge. We are trying to keep the API as consistent as possible between the two platforms, but there may be some differences in available events and features.

Why Katton?

  • Ease of Use: Katton's intuitive API and hot-reload feature make it easy for modders of all skill levels to create and test their mods quickly.
  • Flexibility: With Kotlin's powerful features, you can create complex mods that interact with Minecraft in unique ways.
  • Performance: Katton uses Kotlin Scripts to directly interact with Java objects during the runtime of Minecraft, ensuring high performance and seamless integration.
  • Powerful API: Katton provides a comprehensive API that allows you to access and modify various aspects of the game, from blocks and items to entities and world generation, even code injections like mixins, and ALL HOT-RELOADABLE.
  • In-Game Management: Manage your script packs through a built-in GUI (press K!), toggle packs on/off, and monitor registries with diagnostic commands — all without leaving the game.

A simple example:

//nessary imports for the script
import net.minecraft.network.chat.Component
import top.katton.api.KattonEvents

// The function with @ServerScriptEntrypoint is the entry point of the script.
@ServerScriptEntrypoint
fun main(){
   // Register an event listener for when a player joins the server
   KattonEvents.ServerPlayer.onPlayerJoin += onJoin@
   fun(arg: KattonEvents.ServerPlayer.PlayerArg){
      // Get the player who joined and send them a message
      val player = arg.player
      // As same as you would do in a normal mod!
      player.sendSystemMessage(Component.literal("Hello Katton"))
   }
}

Ченджлог

0.3.0Релиз26.1.2 · 6 августа 2026 г.

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.

  • KattonConfigApikattonConfig { ... } block in scripts
  • KattonConfigManager — 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!

0.3.0Релиз26.1.2 · 6 августа 2026 г.

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.

  • KattonConfigApikattonConfig { ... } block in scripts
  • KattonConfigManager — 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!

0.3.0Релиз26.1.2 · 6 августа 2026 г.

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.

  • KattonConfigApikattonConfig { ... } block in scripts
  • KattonConfigManager — 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!

Комментарии

Загружаем…