Skip to content

Conversation

@JayemCeekay
Copy link

Broke up UI texture atlases into singular sprite textures where needed.
Fixed several issues regarding changes to codecs in 1.21.1.
Changed the quest description markdown to rely mainly on HTML-like tags.
Fixed Neoforge module.

broke up ui texture atlases into singular sprite textures where needed.
Fixed several issues regarding changes to codecs in 1.21.1.
Changed the quest description markdown to rely mainly on HTML-like tags.
Fixed neoforge module
…stants and added a id() helper to Heracles.java.

Move usages of new NbtPredicate(new CompoundTag()) to a static utility in CustomizableQuestElement.java.
Changed currentType field of MouseButtonMode to use an enum instead of a string.
Changed a UI element in SelectQuestWidget to render using blitSprite()
Fixed QuestMultiLineEditBox formatting notation
Added missing @OverRide to QuestTagProvider
Changed switch statements in HeadingWidget and WidgetUtils to use enhanced switch statements and switch based off enum value rather than ordinal
Reverted unneeded change in ClientLevelMixin
@arc25275
Copy link

arc25275 commented Dec 4, 2025

On a fresh install with just this mod that I built from the latest commit cf8b350 (and latest Resourceful Lib), I consistently encounter a crash when trying to add a task with type "Block Interaction".

The error shows itself ingame as
io.netty.handler.codec.DecoderException: Failed to decode packet 'serverbound/minecraft:custom_payload'
but looking at the logs, it seems to be related to quest parsing.
Caused by: java.lang.RuntimeException: Failed decoding custom payload heracles:main/v1/heracles/update_server_quest: java.lang.RuntimeException: Failed to parse quest task data

Here are the full logs: https://mclo.gs/H9k1VkC

@JayemCeekay
Copy link
Author

On a fresh install with just this mod that I built from the latest commit cf8b350 (and latest Resourceful Lib), I consistently encounter a crash when trying to add a task with type "Block Interaction".

The error shows itself ingame as io.netty.handler.codec.DecoderException: Failed to decode packet 'serverbound/minecraft:custom_payload' but looking at the logs, it seems to be related to quest parsing. Caused by: java.lang.RuntimeException: Failed decoding custom payload heracles:main/v1/heracles/update_server_quest: java.lang.RuntimeException: Failed to parse quest task data

Here are the full logs: https://mclo.gs/H9k1VkC

you likely didn't populate the title field. leaving it blank will crash you. This was the case in previous versions as well

Copy link
Member

@ThatGravyBoat ThatGravyBoat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of the optionalFieldOfs that were changed to lenient should be changed back to normal optionalFieldOf and if any of the fields being switched back cause it to fail to encode or decode that should be looked into let me know if you need help with those

ItemStackCodec.CODEC.fieldOf("item").forGetter(ItemReward::stack)
Codec.STRING.lenientOptionalFieldOf("title", "").forGetter(ItemReward::title),
QuestIcons.CODEC.lenientOptionalFieldOf("icon", ItemQuestIcon.AIR).forGetter(ItemReward::icon),
ItemStackCodec.CODEC.lenientOptionalFieldOf("item", Items.AIR.getDefaultInstance()).forGetter(ItemReward::stack)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this wasnt optional before

@ThatGravyBoat
Copy link
Member

you likely didn't populate the title field. leaving it blank will crash you. This was the case in previous versions as well

Can this be changed in the PR to silently fallback to a blank title as to not throw if not supplied

…ling back to an empty string in order to prevent crashes when a title is not provided.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants