Sale 40% off 106 products · ends Oct 15, 2026 Shop the sale
All Products / Minecraft / Plugins / zQuestRank | Quest-Based Ranks

v1.4.4: 1.4.4 | New quest types, unlimited quests per rank, and TowerTrials support

27 September 2026

zQuestRank v1.4.4
Three new quest types, one quest can target many things at once, ranks can hold as many quests as you like, and TowerTrials is connected.

🧱 Three New Quest Types

PLACE_BLOCK counts blocks put down in the world. Every spot counts once, so breaking a block and placing it back on the same square gives nothing, while a fresh square counts. That is progression.anti-replace-cheese, on by default.

SMELT_ITEM counts cooking in furnaces, blast furnaces, smokers and campfires. Set output for what comes out, and optionally input for what has to go in.

FIND_HEAD is a head treasure hunt. Hide player heads around the world, players right-click them to collect, and each head counts once per player. The heads live in a new heads.yml, named by texture value, URL, hash or a real player's name, and a quest can use the whole file, a chosen few, or any head in the world.

Read more here: greenarrowlol.github.io/zQuestRank
🎯 One Quest, Many Targets

A quest used to name one block or one mob, so "break any log" meant a quest per wood type. Now it takes a list, a game tag, or a modded id:

YAML
material: DIRT                        # one, as before
materials: [DIRT, GRASS_BLOCK]        # a list
material: "#minecraft:logs"           # a game tag, every log type
material: itemsadder:myitems:ruby_ore # an ItemsAdder block or item

Any tag the game knows works, like #minecraft:coal_ores or #minecraft:fishes. A wrong tag is skipped with a console line and the rest of the quest still loads.

KILL_MOB does the same with entities: [ZOMBIE, HUSK, DROWNED], and takes custom mobs too: mythicmobs:SkeletonKing or itemsadder:namespace:id.

ItemsAdder blocks only count for an itemsadder: entry. The vanilla block underneath a custom ore never counts for the vanilla material, so custom blocks cannot be farmed as note blocks.
📖 Unlimited Quests Per Rank

A rank used to show only as many quests as there were slots in the menu. Now it pages on its own, with arrows either side of the claim button that appear only when there is more than one page. Delivering and claiming work the same on every page, and the menu stays where you were.

Slots are gui.quest-previous-page-slot and gui.quest-next-page-slot in config.yml, and -1 hides an arrow.
🌍 World Filters

Any quest can be limited to certain worlds with worlds: [island_world], and anything done elsewhere is ignored. Put the list on a rank instead and it covers every quest of that rank that has no list of its own. Filtered quests show a small "Only counts in" line in the menu.
🗼 TowerTrials Support

Tower progress is read straight from TowerTrials now, no placeholders in between.

  • TOWER_FLOOR asks for a given floor of a given tower. The menu shows their highest cleared floor out of it, and a floor cleared before the quest existed already counts
  • TOWER_CLEAR counts floors as they are cleared, across every tower or just one, with first-clear: true so nobody farms the same floor
  • Rank requirements take the same two, alongside money and playtime, and show on the claim button with their current number
  • Floor gates in config.yml close a floor and everything above it until the party leader holds a rank, with your own message

TowerTrials is optional. Without it the plugin runs exactly as before, tower quests just never fill.
🎨 Custom Lore on Rank Icons

Every rank icon showed the same three lines with no way to add your own, so listing a rank's rewards was not possible. Each rank in ranks.yml can now carry its own text, one list per state: lore while it is the current rank, lore-locked while it is locked, and lore-completed once passed.

YAML
lore:
  - "{status}"
  - "&7Quests: &e{completed}&7/&e{total}"
  - ""
  - "&dREWARDS"
  - " &7- &f5x Diamond"
  - "&eClick to view your quests!"

{status}, {completed}, {total} and {rank} all work, plus colours, hex and PlaceholderAPI. Your lore replaces the normal lines rather than adding to them, and a rank with no lore looks exactly as it did.
🔧 Fixes

  • An admin with a wildcard permission was thrown onto the highest rank the moment they opened the menu, since the wildcard answers yes to every rank node. Wildcard holders are now left where they are. There is also progression.permission-ranks to ignore rank nodes for everyone
  • Cooking now counts the moment each item finishes, so nobody has to stand at the furnace. Credit goes to whoever loaded the raw items by hand, hopper fed items count for nobody, and items taken back out before they cook are dropped from the tally. progression.smelt-counts-when: collected brings back counting on pickup
  • Items already sitting cooked in a furnace no longer count when picked up, so an old furnace cannot finish a quest in one click
  • Placements that another plugin cancels and redoes itself, common on island and custom block plugins, count now if the block really stayed in the world
  • MythicMobs kills that the mob does not credit, like kills through skills, fall back to whoever landed the hit
  • general.debug: true prints one line for every action that did not count, saying exactly why: wrong rank, wrong world, wrong block, or already done

📦 Upgrading

Stop the server, swap in the new jar, start it again. The new config.yml keys and language lines merge into your files on their own and your values stay, heads.yml is created on first start, and your ranks.yml is never touched.
📋 Version Breakdown
VersionFocus
1.4.4Custom lore per rank icon, with a separate list for current, locked and completed.
1.4.3Cooking counts as each item finishes rather than on pickup, with a setting to keep the old way.
1.4.2Already cooked items stop counting, and TowerTrials quests, requirements and floor gates arrive.
1.4.1Partial furnace take-outs, redone block placements and uncredited MythicMobs kills all count, plus the debug lines.
1.4.0PLACE_BLOCK, SMELT_ITEM and FIND_HEAD, many targets per quest, world filters, paged quest menus and the wildcard rank fix.

Need help or found a bug? Join the Discord.
Read the documentation | Join the Discord

Enjoying the plugin? A ⭐ review goes a long way!

v1.3.4: 1.3.4 | Preview any rank's quests without changing your own

21 August 2026

zQuestRank v1.3.4
A new permission lets staff open any rank's quest menu, so you can check a rank is set up right without putting yourself on it.

👁 Open Any Rank's Quests

Clicking a rank you are not on used to do nothing useful. A locked rank told you to finish your current one first, and a rank you had passed told you it was done. Fine for players, awkward when you just want to check Rank 5's quests and icons came out right.

The new zquestrank.viewall permission opens every rank in the /rank menu, locked and finished alike. Operators have it by default, and you can hand it to your staff through your permission plugin.

Normal players see no change at all. Their menu behaves exactly as it did before.
🔍 What You See In Preview

  • An extra line on every rank you are not on, telling you it can be opened for a look
  • The full quest menu of that rank, with its icons, objectives, info item and claim button
  • A note on the info item and the claim button making clear this is a look only, not your own progress
  • Quests always show as fresh, on purpose. The progress saved against you belongs to the rank you are really on, so showing it under another rank would give you wrong numbers
  • The requirement list is checked against you for real, which is the useful part. You can see straight away whether a money line, a playtime line or a placeholder line is written correctly, without setting yourself to that rank
  • Nothing can be claimed or delivered from that view. Clicking the claim button or a delivery quest tells you it is a preview. Nothing leaves your inventory and no rank is given

💬 New Wording

Three new lines under rank in your language file, added automatically on this update with your own edits kept:

  • click-preview the line in the rank menu
  • preview-note the look-only line inside the quest menu
  • preview-only the chat line when you click claim or a delivery there

📦 Install

Stop the server, replace the old jar in plugins/ with zQuestRank-1.3.4.jar, and start it again. New keys are added to your files automatically and your own edits are left alone.
Need help or found a bug? Join the Discord.
Read the documentation | Join the Discord

Enjoying the plugin? A ⭐ review goes a long way!

v1.3.3: 1.3.3 | Decoration items, custom menu text, and your config edits finally survive updates

07 August 2026

zQuestRank v1.3.3
Decoration items in the rank menu, per-page and per-rank menu text, new ranks that unlock by themselves, and an updater that never touches your edits again.

🛡 Your Config Edits Are Safe

Updating the plugin used to cost you work. Keys you had added yourself were dropped, and keys you had written in a different shape to the defaults were replaced. Anyone using a per-page arrow map or a custom menu title had it reset on every update.

From this build the updater can only add. New keys from a newer version still land in your files with their comments, at the right place. Anything already in your file stays exactly as you wrote it, in whatever shape you wrote it, including your own extra keys and notes.

There is now a safety net as well. Whenever an update is about to change config.yml or a language file, the old file is copied to plugins/zQuestRank/backups/ first, named after the version it came from, such as config.yml.9.bak. Nothing is copied on a plain restart, only on a real update.
🖼 Decoration Items

You can now place any item you like in the /rank menu purely as decoration. Give it a name and as many lines of text as you want, and it just sits there. It opens nothing, says nothing, and clicking it does nothing at all. Use it for a title across the top, an explanation of how ranking up works, server information, or a row of glass to separate sections.

YAML
gui:
  decorations:
    - slots: [4]
      page: all
      icon: OAK_SIGN
      name: "&6&lServer Ranks"
      lore:
        - "&7Complete the quests of your"
        - "&7current rank to move up."
        - ""
        - "&eYou are &f%zquestrank_rank_name%"

  • slots which slots it fills, counting from 0 at the top left, left to right. List several and the same item is drawn in each. A single slot: 4 works too
  • page or pages which page it shows on. Use page: 2, pages: [1, 3], or page: all
  • icon a plain material, a material with model data (OAK_SIGN:1234), or an ItemsAdder item
  • name and lore with & and &#rrggbb colours, PlaceholderAPI placeholders, and ItemsAdder images. Leave the name out for a nameless filler

Write them as a list or as named blocks, whichever you find easier to keep tidy. On start the console prints how many decorations it loaded, and warns you if two sit on the same slot of the same page or if a slot falls outside the menu.

Two things to know. Decorations are drawn over the ranks, so in auto menu mode a decoration will cover whichever rank lands on that slot. Either place decorations after the last rank or switch to manual mode and leave gaps for them. The page arrows are always drawn last, so you can never hide them and get stuck on a page.
🆙 New Ranks Unlock By Themselves

A player who has claimed the last rank in ranks.yml sits at the top of the ladder with nothing left to do. The day you add another rank and reload, every one of those players picks it up on their own:

  • The new rank's on-reach commands run for them, so their permission group follows
  • They get a chat line telling them a new rank is out, configurable as rank.new-rank-available
  • An open menu redraws on the spot

Online players get it within a few seconds of the reload, everyone else the next time they join. No manual command for anyone, however many players are waiting at the top.

Players are also no longer pulled backwards. The plugin now remembers which rank a player actually claimed, so still holding the permission group of a finished rank cannot drag them back onto it with their quests reset. Demoting someone on purpose still works exactly as before.
🎨 ItemsAdder Images Everywhere

An ItemsAdder image inside a rank name now renders as a picture in every place the plugin writes that name, chat included. The promotion message, the broadcast everyone sees, and the quest messages all show it properly, and the broadcast is sent to each player individually so it renders for all of them.

Both ways of writing an image work everywhere, in menus and in chat: %img_yourimage% through PlaceholderAPI, and ItemsAdder's own :yourimage:, which works even without PlaceholderAPI. Console lines stay as plain text.
✏️ Menu Text You Control

Page arrows can say something different on each page. menu.previous-page and menu.next-page stay the general text, and adding the page number targets one page. Arrows can carry lore lines now too, general or per page.

YAML
menu:
  next-page: "&eNext page"
  next-page-1: "&eOn to the high ranks"
  previous-page-2: "&eBack to the first ranks"
  next-page-lore-1:
    - "&7Ranks IV to VI"

The quest menu can have a title per rank. menu.quest-title stays the general one, and a rank can override it by position (quest-title-1) or by its key (quest-title-vip). If a rank has both, the one by name wins, and ranks you do not list keep the general title.

You can force a page count. The next-page arrow only appears while there is a page after the current one, so it hides on your last page. Set gui.rank-menu-pages to keep it working past the end, useful when the next batch of ranks is still being written. Leave it at 0 to count pages from ranks.yml as before. A decoration placed on a later page also counts as a page on its own.
📈 Metrics

zQuestRank now reports anonymous usage stats: server version, player count and plugin version, nothing about your players. It runs on a background thread and never touches the main one. To turn it off, set enabled: false in plugins/ArrowStats/config.yml.
🧪 Compatibility

Minecraft 1.18 and newer. Plain Spigot is fine, Paper is not required. Everything works on Spigot: menus, quests, requirements, rewards, Vault, PlaceholderAPI, ItemsAdder and permission commands. The one thing Paper adds is item and mob names following each player's own game language, so on Spigot those names show in English.
📝 Upgrade Notes

Stop the server, replace the old jar in plugins/ with zQuestRank-1.3.3.jar, and start it again. New keys are added to your files automatically and your own edits are left alone.

If an earlier update reset your settings, this is the build to set them up on for the last time. Put your decorations and per-page arrows back once here and they will ride through every future update. Keep a copy of your config and language files before you swap the jar, as you always should, and check plugins/zQuestRank/backups/ afterwards.

One config gotcha worth knowing: the default file ships with an empty decorations: [] in the example. If you add your own decorations above it and leave that line in, YAML sees the key twice and the empty one wins, so nothing shows. Delete decorations: [] when you start using decorations.
📋 Version Breakdown
VersionFocus
1.3.3Settings you had written in your own shape (decorations as named blocks, per-page arrow maps) are no longer replaced by the defaults on update, and your files are backed up before any update touches them. ItemsAdder images now render in chat messages as well as menus, and :yourimage: works alongside %img_...% everywhere.
1.3.2Keys you added yourself are no longer deleted on update. Players sitting on the last rank pick up a newly added rank automatically, and a permission group from a finished rank can no longer pull them backwards. Added gui.rank-menu-pages to force a page count.
1.3.1Decorations can be written as named blocks as well as a list, span several pages with pages:, and report load counts and slot clashes in the console. Added per-page text and lore on the page arrows, and a per-rank title for the quest menu.
1.3.0Introduced decoration items: any item in any slot of the rank menu, with a name and lore, that does nothing when clicked.

Need help or found a bug? Join the Discord.
Join the Discord

Enjoying the plugin? A ⭐ review goes a long way!

v1.2.0: 1.2.0 | Placeholders in menu text + cleaner quest icons

21 July 2026

zQuestRank v1.2.0
PlaceholderAPI now resolves inside rank and quest names, plus cleaner icons and a new description option.

🎨 PlaceholderAPI in Menu Text

Rank names, quest names, and their menu text (description and lore) now run through PlaceholderAPI before they're shown. Any %...% placeholder you drop into a display-name or lore line is filled in live for the player looking at the menu, mix and match player name, balance, quest stats, whatever fits.

  • ItemsAdder emojis work now: the chat shortcut (:20:) is a chat-only thing, but the placeholder form (%img_20%) resolves in the menu just like it does in chat
  • Backward compatible: ranks with plain names look exactly the same, and if PlaceholderAPI isn't installed the names simply show as before with no errors

📝 New "description" Option for Quests

Quests can now carry a description block in ranks.yml, which shows up right under the title. Perfect for a short explanation in your own words:

YAML
golden_apples:
  type: CRAFT_ITEM
  material: GOLDEN_APPLE
  amount: 20
  description:
    - "&7Craft golden apples at a"
    - "&7crafting table to progress."

Leave it out and the icon just shows the title, progress, and status.
✨ Cleaner Quest Icons

The extra vanilla junk on icons is gone: the "when eaten" hunger lines on food, the durability and attack damage numbers on tools and swords, and the enchant glow text. Menu icons now show only what matters, the title, your text, progress, and status.

Note: the small blue italic "Minecraft" line at the very bottom of a tooltip is a client-side thing (your Minecraft client shows it), no plugin can hide it.
🐛 Fixes

  • No more duplicate quest text: quests without a custom lore used to show the objective twice (once as the title, once as the first lore line). The extra line is gone, quests now read title, progress, status, no repeat. The shipped example quest is fixed too.

If you write your own lore for a quest, don't put the objective as the first line, the title already shows it. Just write the extra text you want below it.
🔔 Update Checker

The plugin now checks once on startup to see if a newer version is out. If there is, it prints a line in the console and quietly notifies admins (zquestrank.admin) when they join. It never downloads or installs anything, just a heads up. Turn it off with update-checker: false under general in config.yml.
📦 Install

Replace the old jar in plugins/ with zQuestRank-1.2.0.jar and restart, or run /rank admin reload. Your configs are unchanged, existing ranks and quests behave exactly as before.
📋 Version Breakdown
VersionFocus
1.2.0PlaceholderAPI now resolves in rank and quest menu text, so ItemsAdder emojis and any other placeholder work in display-name, description, and lore.
1.1.0New description option for quests, cleaner icons (no vanilla junk lines), no more duplicate quest text, and an optional update checker.

Need help or found a bug? Join the Discord.
Read the documentation | Join the Discord

Enjoying the plugin? A ⭐ review goes a long way!

v1.0.0: Initial release

20 July 2026

Initial release

zQuestRank | Quest-Based Ranks

v1.4.4 5.0 (1)
zArrowTan

zArrowTan

Quest-based rank progression: finish per-rank quests, meet requirements, claim the rank and rewards.

$2.69

$4.49 40% off
Instant download · Updates included · Lifetime licence
$2.30 cheaper than on BuiltByBit $4.99 there, $4.49 here every day, $2.69 in this sale.

Digital product, delivered instantly, no refunds · Terms

5
Views
0
Purchases
5.0 / 5
Avg Rating
Sep 27, 2026
Release Date
Sep 27, 2026
Last Update Date
plugin
spigot plugin
crates
japanese
gui
cosmetics
scoreboard
icons

Share and earn

Earn on every sale you send here

10%

81 pts / sale

© zArrowTan Resources 2026
Forked and customised by zArrowTan · Powered by Light Store