LuaCord
Write real Minecraft plugins in Lua. LuaCord is a modern fork of Lukkit, rewritten in Kotlin with full Paper compatibility.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
LuaCord
LuaCord
LuaCord is a modern plugin framework that lets you create Minecraft plugins using Lua scripting with full Spigot API access. Now with JAR support for easy distribution!
Features
* Full Spigot API - Access to commands, events, permissions, and more * JAR Support - Package plugins as .jar files for CurseForge/Modrinth * Web JAR Generator - Convert .lkt to .jar at luacordmc.github.io/generator.html * Paper Compatible - Works flawlessly on modern Paper servers * Easy to Learn - Lua is much simpler than Java * Hot Reload - Test changes instantly in dev mode * Backwards Compatible - All Lukkit plugins work without changes
Installation
1. Download LuaCord and place in `/plugins/` 2. Add your `.lkt` or `.jar` plugins to `/plugins/` 3. Restart your server
Creating Plugins
Plugins can be: * `.lkt` files (ZIP archives) - for development * `.jar` files (JAR wrappers) - for distribution on CurseForge/Modrinth * Folders - for quick testing
Each plugin contains: * `main.lua` - Your plugin code * `plugin.yml` - Plugin metadata * `config.yml` - Optional configuration
Example plugin:
```lua plugin:onEnable(function() logger:info("Plugin enabled!") end)
plugin:addCommand({ name = "heal", description = "Heal yourself" }, function(event) local player = event:getSender() player:setHealth(20) player:sendMessage("Healed!") end)
plugin:registerEvent("PlayerJoinEvent", function(event) local player = event:getPlayer() player:sendMessage("Welcome!") end) ```
plugin.yml:
```yaml name: MyPlugin version: 1.0 main: main.lua author: YourName description: My awesome plugin ```
JAR Distribution
Want to share your plugin on CurseForge or Modrinth?
1. Create your `.lkt` plugin 2. Go to https://luacordmc.github.io/generator.html 3. Upload your `.lkt` and fill in metadata 4. Download the generated `.jar` 5. Upload to CurseForge/Modrinth!
The JAR generator runs entirely in your browser - your files never leave your computer.
Commands
* `/lukkit plugins` - List loaded LuaCord plugins * `/lukkit dev reload <plugin>` - Hot reload a dev plugin * `/lukkit dev pack <plugin>` - Package folder as .lkt * `/lukkit dev unpack <plugin>` - Unpack .lkt to folder * `/lukkit dev errors` - View error logs
Configuration
```yaml debug-mode: false # Verbose logging bypass-plugin-registration: true # Paper compatibility mode (recommended) lua-debug: false # Enable Lua debug globals ```
Requirements
* Spigot or Paper (any version) * Java 8 or higher
Links
* Website: https://luacordmc.github.io * JAR Generator: https://luacordmc.github.io/generator.html * GitHub: https://github.com/TheGamingMahi/LuaCord * Issues: https://github.com/TheGamingMahi/LuaCord/issues
License
GPL v3
Changelog
0.2.0-BETA (Current)
JAR Support Release!
New Features: * JAR plugin wrapper support - distribute plugins as .jar files * Web-based JAR generator at luacordmc.github.io/generator.html * Public LuaCordAPI for JAR wrappers * Improved error messages with helpful download links
Compatibility: * Works with all Lukkit plugins * Full backwards compatibility with .lkt files * Any Spigot/Paper version * Java 8+
Known Issues: * LuaCord plugins don't show in `/plugins` on Paper (use `/lukkit plugins`) * Hot reload only works for folder-based plugins
0.1.0-BETA
Initial LuaCord Release
Forked from Lukkit 2.2.0 (Also By Me) with major improvements: * Rewritten in Kotlin * Clean console logging (no more class path spam) * Package renamed to `io.thegamingmahi.luacord` * Paper compatibility fix * Bypass mode for Paper restrictions * Improved error handling