v1.4.4: 1.4.4 | New quest types, unlimited quests per rank, and TowerTrials support
27 September 2026
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:
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: trueso 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.ymlclose 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.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-ranksto 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: collectedbrings 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: trueprints 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
| Version | Focus |
1.4.4 | Custom lore per rank icon, with a separate list for current, locked and completed. |
1.4.3 | Cooking counts as each item finishes rather than on pickup, with a setting to keep the old way. |
1.4.2 | Already cooked items stop counting, and TowerTrials quests, requirements and floor gates arrive. |
1.4.1 | Partial furnace take-outs, redone block placements and uncredited MythicMobs kills all count, plus the debug lines. |
1.4.0 | PLACE_BLOCK, SMELT_ITEM and FIND_HEAD, many targets per quest, world filters, paged quest menus and the wildcard rank fix. |
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
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-previewthe line in the rank menupreview-notethe look-only line inside the quest menupreview-onlythe 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.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
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.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: 4works too - page or pages which page it shows on. Use
page: 2,pages: [1, 3], orpage: all - icon a plain material, a material with model data (
OAK_SIGN:1234), or an ItemsAdder item - name and lore with
&and&#rrggbbcolours, 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-reachcommands 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.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
| Version | Focus |
1.3.3 | Settings 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.2 | Keys 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.1 | Decorations 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.0 | Introduced decoration items: any item in any slot of the rank menu, with a name and lore, that does nothing when clicked. |
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
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: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
| Version | Focus |
1.2.0 | PlaceholderAPI now resolves in rank and quest menu text, so ItemsAdder emojis and any other placeholder work in display-name, description, and lore. |
1.1.0 | New description option for quests, cleaner icons (no vanilla junk lines), no more duplicate quest text, and an optional update checker. |
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
zArrowTan
Quest-based rank progression: finish per-rank quests, meet requirements, claim the rank and rewards.
$2.69
$4.49 40% offDigital product, delivered instantly, no refunds · Terms
No versions available
Share and earn
How referrals work
- Your link is remembered for 30 days.
- 10% of each sale, paid to you as points.
- Yours to spend 30 days later.
- Ask your buyer to turn a VPN off, or the sale will not count.
Earn on every sale you send here
10%
81 pts / sale