Quests icon indicating copy to clipboard operation
Quests copied to clipboard

Integrated placeholders broken after update

Open Nesseley opened this issue 1 month ago • 20 comments

Description of Bug

All placeholders used to work before I updated the plugin, now they break sometimes and works for one player, but another might not. Then they fix themselves randomly. Once they fix themselves, they stay fixed.

Example: {mobkilling:complete} &7ᴅʀᴇᴘ %math_0:1_20-{mobkilling:progress}% ɢᴏᴀᴛ in config shows me this when hovering the quest:

Image

Then it will fix itself randomly and show as it should. Reloading the plugin or restarting the server doesn't fix it.

Steps to Reproduce

Create a new quest and hover the quest.

Environment

  • Minecraft version: 1.21.8
  • Server software: Paper version 1.21.8-60-main@29c8822
  • Quests version: 3.15.2-b8ef62d

Agreements

  • [x] I am running the latest version of Quests
  • [x] I am certain this issue is unique and a similar issue is not currently open
  • [x] I am using a version of Minecraft which is supported by Quests

Other

No response

Nesseley avatar Nov 05 '25 12:11 Nesseley

Probably regression after #760 fix.

Not really an issue - it's just that, placeholder renderer isn't meant to generate blank quest progress. It happens when you add a new task to a quest while having it already started.

Getting progress or restarting the quest (possibly with moddata reset?) will get your progress display back.

Krakenied avatar Nov 28 '25 16:11 Krakenied

aha yeah, it does seem to behave like that.

Nesseley avatar Nov 29 '25 21:11 Nesseley

It's happening to me right now, I have tried everything and it's just not working

Image

Environment Minecraft version: 1.21.10 Server software: Paper version 1.21.10 Quests version: 3.16.1-430c34a

Kepler616 avatar Dec 02 '25 04:12 Kepler616

It's happening to me right now, I have tried everything and it's just not working

Image

Environment Minecraft version: 1.21.10 Server software: Paper version 1.21.10 Quests version: 3.16.1-430c34a

qc isn't a Quests placeholder expansion identifier. Ensure that your placeholders in menus are enabled (config.yml) and that you have necessary external qc (not related to Quests) PlaceholderAPI expansion installed.

Krakenied avatar Dec 02 '25 04:12 Krakenied

aha yeah, it does seem to behave like that.

Hm maybe not, a player that just got to this quest (unlocked by a previous quest) reported to seeing the placeholders wrong. Even when the quest was added before last restart, and the player didn't have the quest already started or even visible to them.

Weird that this used to work 100% of the time, and its not working like it used to

Nesseley avatar Dec 02 '25 11:12 Nesseley

aha yeah, it does seem to behave like that.

Hm maybe not, a player that just got to this quest (unlocked by a previous quest) reported to seeing the placeholders wrong. Even when the quest was added before last restart, and the player didn't have the quest already started or even visible to them.

Weird that this used to work 100% of the time, and its not working like it used to

In %% or {} placeholders?

It used to work because the plugin no longer generates internally "empty" progress for placeholder resolutions (as it caused some concurrency issues with quest completer).

However I don't really know how to reproduce it - need some repro case to fix it.

I will do some investigation on this issue on my own though, maybe I will be able to repro it.

How did your player start that quest? There is a possibility that the GUI is refreshed too early after starting it. Do you use auto start feature? Do you use it globally or per quest? Has the issue disappeared after some time?

Krakenied avatar Dec 02 '25 16:12 Krakenied

It's the previous quest that unlock the next one, it has autostart true per quest.

I will continue to monitor and see if I fond a pattern to this issue.

Nesseley avatar Dec 03 '25 12:12 Nesseley

I guess that's some issue with autostart as I don't use it on my server and players haven't reported that issue.

  • In which menu that happened (regular quests GUI, started GUI or another)?
  • Is the previous quest opening the quest menu on completion?
  • Is the previous quest an NPC delivery quest?

Krakenied avatar Dec 03 '25 13:12 Krakenied

A player just reported that the placeholder didn't update even when he killed something. :/

Image

The placeholder {mobkilling:complete} works (green checkmark) but the {mobkilling:progress} doesn't seem to register as it used to.

Here you can see the same math placeholder works perfectly for zombie villager.. Image

Regular GUI No, it does not open the menu. All are normal mobkilling, walking etc quests.

Nesseley avatar Dec 04 '25 12:12 Nesseley

So, the progress increases properly but the placeholder is broken? Is it still an autostart quest?

Krakenied avatar Dec 05 '25 03:12 Krakenied

yeah, still autostart quest. And it never updated for the player throughout 3 different days of playing, with multiple server restarts

Nesseley avatar Dec 05 '25 14:12 Nesseley

Maybe it's caused by that the autostart quests are never truly internally started

Krakenied avatar Dec 05 '25 16:12 Krakenied

Maybe, just so weird that it isn't all the tasktypes, and sometimes mobkilling1 works and mobkilling2 doesn't.

Nesseley avatar Dec 11 '25 11:12 Nesseley

Well, it's a really weird issue as from what I can see, the blank quest progress apparently is ALWAYS generated synchronously properly here

https://github.com/LMBishop/Quests/blob/430c34a2ba442df30c223f362ca092a4923bf018/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/element/QuestMenuElement.java#L71

so there is actually no possibility for it to be caused by that. The regular expression also seems to be fine.

Image

Are you sure it's a thing on 3.16.1 too?

Krakenied avatar Dec 12 '25 01:12 Krakenied

A player just reported that the placeholder didn't update even when he killed something. :/

Image The placeholder {mobkilling:complete} works (green checkmark) but the {mobkilling:progress} doesn't seem to register as it used to.

Here you can see the same math placeholder works perfectly for zombie villager.. Image

Regular GUI No, it does not open the menu. All are normal mobkilling, walking etc quests.

Btw, what's your code for this lore? If it's %math_0:20-{mobkilling:progress}% then it's not a valid format and it's just that your placeholder is incorrect. Quests internal placeholder seems to be applied properly as I don't see it here.

Krakenied avatar Dec 12 '25 01:12 Krakenied

I use the same math placeholder for every task, %math_0:20-{mobkilling:progress}% can work, while %math_0:20-{mobkilling2:progress}% does not. All these placeholders used to work 100% of the time before I updated the plugin. (even when I made changes in the quest while I had it active) Does the {mobkilling:progress} placeholder use decimals or something now maybe? That is the only thing I can think of that would mess up the math part

As seen here: Image

Nesseley avatar Dec 12 '25 23:12 Nesseley

It outputs format from the config, however your placeholder still isn't correctly formatted. Refer to the math papi docs for more information. The placeholder shown on the first screenshot of the issue seems to be the correct one.

%math_<expression>%
%math_[decimals]:[rounding]_<expression>%

To test your placeholders directly you can use /papi parse me %... placeholder% and just replace the internal placeholder with some expected value.

Krakenied avatar Dec 13 '25 00:12 Krakenied

It's happening to me right now, I have tried everything and it's just not working Image Environment Minecraft version: 1.21.10 Server software: Paper version 1.21.10 Quests version: 3.16.1-430c34a

qc isn't a Quests placeholder expansion identifier. Ensure that your placeholders in menus are enabled (config.yml) and that you have necessary external qc (not related to Quests) PlaceholderAPI expansion installed.

Yes I realized a guy I paid to set that up a couple of months back put an external plugin that handles all the format outside Quests, and when I updated to 1.21.10 everything got messed up. Since I couldn't find any info about that dev anymore I had to find another solution. Thanks for the answer though!

Kepler616 avatar Dec 13 '25 05:12 Kepler616

Urgh, thank you for your patience and help! I accidentally removed the _ in some of the math placeholders when setting up the quests... Thanks for the great support as always!

Nesseley avatar Dec 14 '25 20:12 Nesseley

Do not close it as it still needs to be fixed

Probably regression after #760 fix.

Not really an issue - it's just that, placeholder renderer isn't meant to generate blank quest progress. It happens when you add a new task to a quest while having it already started.

Getting progress or restarting the quest (possibly with moddata reset?) will get your progress display back.

Krakenied avatar Dec 15 '25 01:12 Krakenied