DeluxeMenus Fabric

Quick rating

Community listing page, reviews may not be monitored by the author.

DeluxeMenus Fabric

No reviews yet

Unofficial Fabric port of DeluxeMenus: custom chest GUI menus made in YAML, with click actions, requirements and placeholders. Server-side only, one jar for 1.21–1.21.11.

Mod Loaders
Minecraft

About

Description

DeluxeMenus (Fabric)

Custom chest menus for your server, written in YAML. Buttons that run commands, items players only see when they qualify, shops, warps, kits, rule books — all without a client mod.

Works on every Minecraft 1.21 release, from 1.21 to 1.21.11.

⚠️ This is an unofficial port. DeluxeMenus (Fabric) brings the DeluxeMenus Bukkit/Paper plugin to Fabric. It is based on HelpChat's MIT-licensed source code, but it is not made, endorsed or supported by HelpChat. Please don't report issues with this mod to them.

🎮 No client mod. Your players join vanilla.

DeluxeMenus (Fabric) is 100% server-side. Drop it in your server's mods/ folder with Fabric API and you're done: nothing for players to install. Menus open as normal chest (or hopper, dispenser, furnace…) screens that every vanilla client already knows how to show.

📋 Your Plugin Menus Work Here

It reads the same menu files as the plugin. Copy plugins/DeluxeMenus/gui_menus/ to config/deluxemenus/gui_menus/, list them in config.yml, and they open. The DeluxeMenus wiki is the manual for both.

menu_title: '&8» &6Warps'
open_command: warps
size: 27
items:
  spawn:
    material: GRASS_BLOCK
    slot: 13
    display_name: '&aSpawn'
    lore:
      - '&7Click to teleport'
    left_click_commands:
      - '[console] tp %player_name% 0 64 0'
      - '[sound] ENTITY_ENDERMAN_TELEPORT'
      - '[close]'

🧩 Menus

  • Any size chest (9–54 slots), or 19 other screens: hopper, dispenser, dropper, workbench, furnace, blast furnace, smoker, brewing stand, anvil, grindstone, smithing table, cartography table, loom, enchanting table, beacon, barrel, ender chest and shulker box.
  • Open commands that players see and tab-complete, with arguments (/shop diamond → {item}) and their own checks.
  • Open requirements — only VIPs, only above level 30, only in the nether.
  • Live updates — items with update: true refresh their placeholders every few seconds; refresh: true re-checks the whole menu.
  • Priorities — several items can share a slot, and the first one whose requirements pass is shown. That's how one slot becomes "Buy" / "Too poor" / "Sold out".
  • Nothing can be taken out. Every click is cancelled and the screen is resynced, so menus can't be used to duplicate items.

🎨 Items

Every plugin item option: names and lore with & colours and &#hex, player heads (head-<name>, basehead-<base64>, texture-<id>), the item in your hand or armor slots, potions with colours and effects, banners and shields, armor trims, dyed leather, enchantments (old Bukkit names too), item flags, custom model data, item models, tooltip styles, rarity, enchantment glint, light blocks, and more.

New on Fabric: any /give item as a material — diamond_sword[enchantments={sharpness:5}] — so even modded items and components work.

⚡ Actions

What happens when someone clicks. Each can run after a <delay=ticks> or with a <chance=percent>.

Action Does
[player] / [console] Run a command as the player / the console
[message] [broadcast] [actionbar] Send text (with & colours)
[minimessage] [minibroadcast] Send MiniMessage text: gradients, rainbow, hover, click
[json] [jsonbroadcast] Send raw JSON text
[openguimenu] [close] [refresh] Switch menu, close, rebuild
[sound] [broadcastsound] [broadcastsoundworld] Play a sound (Bukkit names or ids, with volume and pitch)
[giveexp] [takeexp] XP points, or levels with L
[givemoney] [takemoney] Pay or charge through your economy mod's commands
[givepermission] [takepermission] Change LuckPerms permissions
[meta] Store numbers, text and toggles on players (saved with the world)
[ephemeralcooldown] Per-player cooldowns: "one free diamond every 30 minutes"
[connect] Send the player to another server behind BungeeCord or Velocity
[chat] [log] [placeholder] Chat as the player, write to the console, parse placeholders

✅ Requirements

Show items only to the right people, and stop clicks that shouldn't happen — with deny messages.

has permission · has permissions · has item (name, lore, model data, armor, offhand) · has exp · has money · has meta · is near · string equals / contains (and ignore-case, and negated) · > >= == != <= < · regex matches · string length · is object · javascript · has ephemeral cooldown

Combine them with optional, minimum_requirements and stop_at_success, and run success_commands or deny_commands.

🔤 Placeholders

There's no PlaceholderAPI on Fabric, so the common ones are built in:

Placeholder Shows
%player_name% %player_displayname% %player_uuid% Who's looking
%player_level% %player_health% %player_food_level% %player_gamemode% Their stats
%player_world% %player_x% %player_y% %player_z% %player_biome% Where they are
%player_has_permission_<node>% %player_is_op% yes / no
%server_online% %server_max_players% %server_tps% %server_motd% The server
%deluxemenus_meta_<key>_<type>_<default>% Stored player meta
%deluxemenus_ephemeral_cooldown_<id>% Seconds left on a cooldown

With Text Placeholder API installed, every %namespace:name% placeholder from other mods works too — balances, ranks, playtime, whatever your other mods register.

💬 Commands

/deluxemenus, also /dm and /dmenu.

Command Who Does
/dm open <menu> [player] [-p:<player>] op Open a menu, for someone else, or with another player's placeholders
/dm list [page|all] op Loaded menus and their commands
/dm reload [menu] op Reload everything or one menu, no restart
/dm refresh <menu> op Rebuild a menu for everyone looking at it
/dm execute <player> <action> op Run any action on a player
/dm meta <player> <set|add|subtract|switch|remove|show|list> ... op Read and change player meta

Each /dm command has its own permission node (deluxemenus.open, deluxemenus.reload, …). LuckPerms works out of the box — the Fabric Permissions API is built in. Without a permissions mod, ops get everything, the same as Bukkit.

💰 Economy

Fabric has no Vault, so you point the money features at your economy mod in config/deluxemenus/config.yml:

economy:
  balance_placeholder: '%impactor:balance%'      # for "has money"
  give_command: 'eco give {player} {amount}'      # for [givemoney]
  take_command: 'eco take {player} {amount}'      # for [takemoney]

🔁 Differences From the Plugin

  • javascript requirements run on a built-in evaluator: comparisons, && || !, maths, string methods like .equals and .contains, parseInt, Math.*. Full scripts with variables or loops aren't supported.
  • Items from other Bukkit plugins (HeadDatabase, ItemsAdder, Oraxen, Nexo, MMOItems, ExecutableItems…) show as stone. Use the /give syntax for modded items instead.
  • /dm dump and the nbt_* options (gone in Minecraft 1.21.4 anyway) aren't included.
  • Open commands are always registered, so players always get tab-completion.

📦 Versions

One jar, every 1.21 release. DeluxeMenus-Fabric-<version>.jar carries one build per group of versions (1.21–1.21.1, 1.21.2–1.21.3, 1.21.4, 1.21.5, 1.21.6–1.21.8, 1.21.9–1.21.10, 1.21.11), and Fabric Loader picks the one that matches your server.

Features that need a newer Minecraft simply do nothing on older ones: item models and tooltip styles start at 1.21.2, and the full custom-model-data component at 1.21.4.

Requires: Fabric Loader 0.16+ and Fabric API. Optional: LuckPerms, Text Placeholder API.


Contact me in my discord server if you need porting to other versions or to adjust the mod to your server