Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Script your Paper server in YAML: when something happens, if your conditions are true, run your actions.
OmniEvents
Script your Paper server in YAML: when something happens, if your conditions are true, run your actions.
OmniEvents is a conditional-events plugin with a real expression language, control flow, persistent variables and first-class debugging tools. No Java, no Skript: plain YAML rules that are validated when they load, with the file, the path and a "did you mean?" when something is wrong.
welcome:
trigger: player_join
actions:
- if: "first_join"
then:
- broadcast: "<gold>Please welcome <yellow>{player.name}</yellow>!"
- give_item: "BREAD;8;<yellow>Welcome bread"
else:
- message: "<green>Welcome back, {player.name}!"
Features
- A real expression language:
&&,||,!, parentheses, math, lists and any game value (player.location.block.type,event.damage) in one condition. - Control flow in actions:
if/else,repeat,for_each, weightedrandom,delay,call. - Your own variables, per player and server-wide, saved to disk, with optional expiry, and even stored on blocks, entities and items.
- Real commands with aliases, permissions and tab completion, declared in YAML.
- State rules (
trigger: state): "when health drops below 3" without polling. - Inventory menus, shown to Bedrock players as native forms (Floodgate).
- All-or-nothing costs (money, levels, items, variables) with refunds.
- Tests inside your YAML (
tests:), run on load and with/omni test. - Packs and templates with parameters, version requirements and migrations.
- See why a rule did or did not run:
/omni debug,/omni check,/omni eval,/omni cpu. - JSON schema for autocompletion and errors in VS Code.
- Import from ConditionalEvents:
/omni import conditionaleventsconverts your events. - A complete parkour minigame ships as an example pack, built only with rules: checkpoints, time limit, personal and server records.
Requirements
- Paper 1.21.4 or 26.1.x (verified by an automated in-game test suite on both) and Java 21+.
- Not supported: Spigot/CraftBukkit (it uses Paper's Adventure API) and Folia.
- Optional integrations: Vault, WorldGuard, Citizens, Floodgate/Geyser, ProtocolLib and PlaceholderAPI. OmniEvents works without them.
Getting started
- Drop the jar into
plugins/and start the server. - Edit or add rules in
plugins/OmniEvents/rules/(the bundled examples are in Spanish). - Run
/omni reload. All admin commands are OP-only by default.
Documentation (English): https://leonardos4enz.gitbook.io/leonardos4enz-docs/
Bug reports and suggestions: https://github.com/leonardos4enz/fabrica-de-plugins/issues
Pinned Versions
- R1.21.4–26.1.2
Pages
Members
1Owner