PxIgnis
No reviews yet
A Lua framework for Minecraft Fabric servers with instant hot reload. Define chat commands, events, and server logic in Lua, no Java/Kotlin required using API made for humans.
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
A Lua runtime for Fabric servers, with hot-reload. Edit scripts in config/ignis/,
run /ignis reload, and changes apply instantly.
Full documentation at ignis.pyxiion.ru.
About
PxIgnis is developed in tandem with a fully Vanilla custom Roguelike server. The API reflects what the project itself needed.
Key Features
- Hot-reload Lua runtime —
/ignis reloadre-runs scripts in milliseconds. Commands are re-registered into the live Brigadier dispatcher without restarting the server. - Command registration —
register("cmd <name:type> [<name:type>]", handler, permission?). Built-in argument types:int,double,float,bool,text,word,player,block_pos,choice=.... Tab completion and permissions (admin.cmd) are part of the API. - Events, with cancellation — 15+ hooks:
player_block_break,player_chat,player_attack_entity,entity_hurt,entity_death, and more. Returningfalsecancels. - Regions and scripted mob AI — spatial areas with enter/exit/move/death events, and API for custom mob AI.
- Coroutines, persistence, UI —
mc.fetch/mc.sleepfor sequential async code,player.data/mc.data/ storage backends for persistent state, plus holograms, sidebars, and thechestguilibrary for custom containers.
And more, and more.
Examples
1. Region + async
local arena = world:createRegion(vec(-50, 64, -50), vec(50, 80, 50))
arena:on("entity_enter", function(entity)
if entity:isPlayer() then
mc.broadcast(entity.name .. " entered the arena")
coroutine.wrap(function()
local res = mc.fetch("https://api.example.com/arena/log")
if not res.ok then
mc.broadcast("log failed: " .. res.error, true)
end
end)()
end
end)
2. Mob AI
--# nova syntax
-- enabling cool custom syntax for trailing lambdas (just like Kotlin)
mc.registerBehaviour("zombie_chase") \{ self, mob ->
local p = mc.players[1]
if p then
local pos = p.pos
mob:navigateTo(pos.x, pos.y, pos.z, 1.0)
end
}
mc.on("entity_spawn", function(entity)
if entity:isMob() and entity.type == "minecraft:zombie" then
entity:setAI("zombie_chase")
end
end)
3. Command with permission
register("pay <amount:int> <target:player>", function(ctx, amount, target)
ctx.player.data.balance = (ctx.player.data.balance or 0) - amount
target.data.balance = (target.data.balance or 0) + amount
target:sendMessage("Received " .. amount .. " from " .. ctx.player.name)
end, "pxrp.economy")
Installation & Requirements
- Install Fabric Loader ≥0.19.2, Fabric API ≥0.141.4+1.21.11, and Fabric Language Kotlin ≥1.10.8.
- Place
pxignis-*.jarinto themods/folder of your server. - Start the server.
config/ignis/demo.luais created on first boot. - Edit scripts under
config/ignis/, then run/ignis reload.
License
GNU Lesser General Public License v3.0
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers