- /questgui
- Use Utilities-OG more
- Clearer failures for when quests can't be claimed
- Log successful claims to console
- Tell user how many homes they earned
- Leave economy error handling to diamondbank
This doesn't only fail with diamonds, it could also be items that failed to be removed.
No point in being specific here, nothing the player can do anyways
This doesn't only fail with diamonds, it could also be items that failed to be removed.
No point in being specific here, nothing the player can do anyways
I'd say remove the if (successful) check here and put
if(!successful){sender.sendMessage("Something wrong while trying to consume the quest items")
back above it (with perhaps some MiniMessage formatting)
I'd say remove the `if (successful)` check here and put
```kotlin
if (!successful) {
sender.sendMessage("Something wrong while trying to consume the quest items")
```
back above it (with perhaps some MiniMessage formatting)
Sounds good, although maybe it's better to only do this change after that's implemented? Because otherwise there's no way to test quests because it wouldn't be easy to see what requirements you don't meet
Sounds good, although maybe it's better to only do this change after that's implemented? Because otherwise there's no way to test quests because it wouldn't be easy to see what requirements you don't meet
I redesigned /questgui with a new GxUI-OG progress API. There are now layers to it, the first one shows all available homes (with their completion state), and you can click on each home to see a new page with a detailed list of requirements, with hover to see progress for individual items instead of entire quests.
To finish off Quests-OG interaction, I intend to invoke the individual quest pages programmatically from SudoSigns-OG to create interactive NPCs in the mortgage section of the diamond bank under the player market.
We need to switch from Essentials homes to managing homes ourselves, at some point. But that is out of scope with this PR, which I now consider feature-complete. Screenshots of the new GUI are below.
I redesigned /questgui with a new GxUI-OG progress API. There are now layers to it, the first one shows all available homes (with their completion state), and you can click on each home to see a new page with a detailed list of requirements, with hover to see progress for individual items instead of entire quests.
To finish off Quests-OG interaction, I intend to invoke the individual quest pages programmatically from SudoSigns-OG to create interactive NPCs in the mortgage section of the diamond bank under the player market.
We need to switch from Essentials homes to managing homes ourselves, at some point. But that is out of scope with this PR, which I now consider feature-complete. Screenshots of the new GUI are below.
<img width="397" height="285" alt="image" src="https://github.com/user-attachments/assets/5c2b9488-6b87-4c85-b1e3-30e694fe5dfc" />
<img width="385" height="263" alt="image" src="https://github.com/user-attachments/assets/bebfc47e-925a-4407-a8cb-035c2b08ae98" />
<img width="375" height="276" alt="image" src="https://github.com/user-attachments/assets/a04c8dcb-efeb-4ee5-813d-e030dfd8b569" />
<img width="627" height="295" alt="image" src="https://github.com/user-attachments/assets/60ecc70e-d469-425e-88bb-2ad4bd406988" />
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
@@ -7,4 +8,4 @@import org.bukkit.command.CommandSenderimport org.bukkit.entity.Playerclass ClaimQuest : CommandExecutor {This doesn't only fail with diamonds, it could also be items that failed to be removed.
No point in being specific here, nothing the player can do anyways
Not being eligible means you don't meet all the requirements, not that you didn't claim a "lower quest"
See above comments
@@ -7,4 +8,4 @@import org.bukkit.command.CommandSenderimport org.bukkit.entity.Playerclass ClaimQuest : CommandExecutor {Will remove this entirely then
@@ -7,4 +8,4 @@import org.bukkit.command.CommandSenderimport org.bukkit.entity.Playerclass ClaimQuest : CommandExecutor {Updated in latest commit
@@ -7,4 +8,4 @@import org.bukkit.command.CommandSenderimport org.bukkit.entity.Playerclass ClaimQuest : CommandExecutor {I'd say remove the
if (successful)check here and putback above it (with perhaps some MiniMessage formatting)
How will the player know what the requirements are?
@@ -7,4 +8,4 @@import org.bukkit.command.CommandSenderimport org.bukkit.entity.Playerclass ClaimQuest : CommandExecutor {I was planning to have some kind of visual indicator at the home earning room in the bank. On holograms maybe. Or perhaps an NPC. Your thoughts?
@@ -7,4 +8,4 @@import org.bukkit.command.CommandSenderimport org.bukkit.entity.Playerclass ClaimQuest : CommandExecutor {Sounds good, although maybe it's better to only do this change after that's implemented? Because otherwise there's no way to test quests because it wouldn't be easy to see what requirements you don't meet
@@ -7,4 +8,4 @@import org.bukkit.command.CommandSenderimport org.bukkit.entity.Playerclass ClaimQuest : CommandExecutor {Done in 43b291f
@@ -7,4 +8,4 @@import org.bukkit.command.CommandSenderimport org.bukkit.entity.Playerclass ClaimQuest : CommandExecutor {sure I'll work on that part next and do it in this same PR
I redesigned /questgui with a new GxUI-OG progress API. There are now layers to it, the first one shows all available homes (with their completion state), and you can click on each home to see a new page with a detailed list of requirements, with hover to see progress for individual items instead of entire quests.
To finish off Quests-OG interaction, I intend to invoke the individual quest pages programmatically from SudoSigns-OG to create interactive NPCs in the mortgage section of the diamond bank under the player market.
We need to switch from Essentials homes to managing homes ourselves, at some point. But that is out of scope with this PR, which I now consider feature-complete. Screenshots of the new GUI are below.




@@ -12,1 +12,4 @@override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array<out String>): Boolean {val debug = QuestsOG.config.debugif (debug) QuestsOG.plugin.logger.info("/claimquest invoked by ${sender.name}")if (sender !is Player) {Is the debug stuff still needed?
Catching a Throwable?
@@ -0,0 +47,4 @@if (debug) QuestsOG.plugin.logger.info("/questgui dispatching builder.open on main thread")MainThreadBlock.runOnMainThread { builder.open() }if (debug) QuestsOG.plugin.logger.info("/questgui done")} catch (t: Throwable) {Again catching a Throwable?
This can probably go back to how it was before can't it?