Paginated Advancements & Custom Frames

Paginated Advancements & Custom Frames

2M Downloads

Non-debug tooltip

Madis0 opened this issue ยท 9 comments

commented

The debug tooltip is useful for debugging, yes, but many users could actually use a simpler tooltip, that:

  • Doesn't show the main ID
  • Doesn't have the main ID copying ability
  • Would localize the requirement names from vanilla where available (basically anything with minecraft: prefix, but if possible - could also work for non-vanilla names)
  • Would skip the then-redundant Group: prefix
commented

Adding an option to surpress the ID + copying ability will be quick and can do, sure. โœ…

Adding localisation and more in detail front-facing details of what the player has to pick up to trigger a specific advancement criteria is a complex endeveaor (even just the minecraft: ones) is a whole can of worms that cannot be easily expressed in a few words. Unless putting in countless hours of work, these will be incomplete and misleading even then. Just see on how well mods like loot table parsers for REI/EMI work: they work for basic use cases, but fall apart quickly with more complex triggers.

commented

Adding localisation and more in detail front-facing details of what the player has to pick up to trigger a specific advancement criteria is a complex endeveaor (even just the minecraft: ones) is a whole can of worms that cannot be easily expressed in a few words.

Hmm, really? I was thinking of the implementations of https://modrinth.com/mod/advancementinfo and https://modrinth.com/mod/better-advancements
although you're right in the sense that both of them don't have all advancement requirements localized.

commented

What about simple formatting tweaks instead:

  • minecraft:apple -> Apple
  • minecraft:complexRequirementHere -> Complex Requirement Here
  • metalmod:silver -> Silver (metalmod)
  • datapackx:do_this_and_that -> Do This And That (datapackx)
commented

Absolutely. They do output some basic info about each criterion, but they are unable to paint the full picture of each unlock, only painting a bare minimum.

For example:

  • they will show info such as "pick up copper block", but are unable to show additional requirements if present, such as "be on flames while doing that", "be in a specific biome while doing that" (thus, the player will think the advancement is bugged?)
  • localising something like "pick up an item with this nbt", "pick up an item with this enchantment", or "pick up an item with this tag" will be incomplete or very wonky (since tags themselves have no localisation)
commented

Adding something like "(and other prerequisites)" would be a valid option. Not a great one, but better than simply omitting it. I'll think about it.

commented

Added an option to not show the advancement ID.

commented

Here's my proposal for a simpler requirements tooltip taking inspiration from AdvancementInfo and Better Advancements.

  • The requirements on the sidebar offers a simple way to list out advancements below each other without a large block of text.
  • For longer lists of requirements such as the "A Balanced Diet" advancement, it can be scrollable.
  • The design is vanilla-like in that it keeps the same style as vanilla advancements. The x and check icons are based on other assets within Minecraft. I used the colors from "beacon.png" within texture > gui > container since there are x and check icons there.
  • The examples below are just concept art. If any requirements have longer names, then the requirements window can be adjusted to be wider by default to fit them or requirements can be listed on more than one line if necessary. Just some options.
  • If an advancement's icon is clicked, then the sidebar's contents can remain there until the user clicks out of it or onto another advancement icon. Otherwise, the sidebar menu can just show the contents of whatever advancement is currently being hovered over. Shows no content when no advancement is being hovered over/an advancement wasn't just clicked on.
  • You could also have some kind of description text in the sidebar when there are no advancements hovered over such as "When looking at an advancement, the requirements to obtain that advancement will appear here" or something along those lines. Just something for new users who aren't familiar with the mod or who happen upon it in a modpack.

Scrolled up:
example v1

Scrolled down:
example v1 (scrolled down)

When no advancement is selected:
Requirements

commented

That idea looks interesting, though I'd note a few things.

  • I think some people were overwhelmed with the permanent presence of the sidebar. Maybe it could only appear when hovering an advancement.
  • Size considerations... some advancements are long and non-vanilla ones would definitely need to mention their source. Does it need to cover the entire height when there are not so many of them? How flexible should the width be depending on the length of the advancement name?
  • Perhaps also apply formatting tweaks per my suggestion above.
  • How would you design the tooltip when the user needs to do one of many options, e.g. Monster Hunter? Maybe something like ":x: Option1 / Option2 / Option3 / ...".
commented
  • On the idea of the sidebar's presence, I do believe this is a much nicer sidebar option than AdvancementInfo's. Less technical feeling, which should be a better alternative for users who may find a sidebar overwhelming to begin with. However, if you were to have it only appear when hovering over the advancement, you could have the main advancement menu dynamically adjust to fill the screen depending on if there's a sidebar present or not. Otherwise, you'd have an off-center advancement menu at all times apart from when hovering over an advancement. Another proposal is that the advancement pop-up could just cover the right side of a full-size advancement menu like this example, which turned out nicer than I was expecting:
    example v2
  • Height could possibly expand downwards from the top and fit to the requirements. Also, I incorporated a one of many options idea into example images below for with and without the height that fits to the requirements. I used yellow text and without an icon for that as an icon for each may make them seem more like separate conditions at least in my opinion:
    example (one requirement necessary + pop-up over full-size menu)
    example (one requirement necessary + fit to requirements)
  • As for width, the text can wrap and perhaps there can be a config option for the user to set the requirements width as well since I don't believe there can be a one-size-fits-all answer for that.
  • In regard to non-vanilla advancements, the mod that the advancements are from can be included below the advancement description and above the requirements. Being in the main title might take up too much space. Or another bar at the bottom of the advancement can say what the mod it's from is. Here's an example for that with the given mod example name "Advancementcraft":
    example v1 (one requirement necessary + mod name)
    If the mod name is too long, It could either shrink to fit or take up multiple lines in a larger blue box.
  • I do believe a lot of these are great as configurable choices for the user to select what they prefer.