Compatibility
Minecraft: Java Edition
1.21.11
Platforms
Supported environments
Details
Licensed MIT
Published 2 days ago
Updated last week
Atomicoffe
Atomicoffe is a Fabric mod that embeds a full LuaJ scripting engine into your Minecraft server and client. Write scripts once, reload them live with /atomicoffe reload no restarts, no recompiling, no Java required.
What can you do with it?
- Custom commands register Brigadier commands directly from Lua
- Event hooks react to player join/leave/death, block interactions, entity kills, chat, ticks, and more
- Recipes add or modify shaped and shapeless crafting recipes at runtime
- Loot tables inject drops into any vanilla loot table
- Scoreboard create objectives and read/write scores from scripts
- Per-player persistent data save and load arbitrary key/value data per player UUID
- Scheduling run callbacks after N ticks or on a repeating interval
- Networking send custom packets between server scripts and client scripts
- Tags add items/blocks to vanilla tags at startup (affects recipes, mechanics, etc.)
- Mob effects apply, remove, and query potion effects from Lua
- Client HUD draw text and rectangles on the player's screen
- Client keybinds register keybinds that trigger Lua callbacks or send packets to the server
Script Phases
| Folder | When it runs |
|---|---|
startup_scripts/ |
Before the server starts for tag/registry changes |
server_scripts/ |
When the server starts and after every /reload |
client_scripts/ |
On the client HUD, keybinds, client-side events |
All scripts live in your instance's config/atomicoffe/ folder and are hot-reloadable.
Quick Example
-- config/atomicoffe/server_scripts/welcome.lua
onEvent("player.join", function(e)
e.player.tell("§aWelcome, §e" .. e.player.name .. "§a!")
e.player.give("minecraft:bread", 8)
end)
command.register("ping", function(ctx)
ctx.reply("Pong! TPS: " .. server.getTps())
end)
schedule.every(6000, function() -- every 5 minutes
server.broadcast("§b[Info] §fNeed help? Check our Discord!")
end)




