Skip to content

Conversation

@viciscat
Copy link
Collaborator

@viciscat viciscat commented Jul 16, 2025

Opening as a draft. I want opinions, I do not want to touch this ever again. Please go ham on reviewing

Left to do

  • Snapping to other widgets
  • Option to deactivate the auto anchor thing
  • Fancy Tab Widget
  • Add options to some widgets
  • Data fixer for previous config oh boy that's gonna be fun

How does one implement widgets with this dang thing?

If you directly extend HudWidget you just need to implement 3 methods huzzah!

  • renderWidget
  • renderConfig
  • getInformation Contains: id for config, name for the config screen, where it can be added with right click.

then you register your widget with the annotation or by adding it manually.

You can extend the getOptions method to add options duh. They will be accessible when right clicking a widget in the config screen. These options will be common to every location and layer. For per location and layer you can extend getPerScreenOptions (might change to just per location perchance but that would mean changing positioning since that's stored in there)

I added some options to ComponentBasedWidget if you want to check that out.

Other stuff

PlayerListManager was changed you can check it out, TabHudWidget was changed so implementations don't need to change anything.

May add more to this PR message

viciscat and others added 20 commits June 24, 2025 21:45
…/SkyblockCraftingRecipeResults.java

Co-authored-by: Yasin <[email protected]>
# Conflicts:
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/HudWidget.java
# Conflicts:
#	src/main/java/de/hysky/skyblocker/compatibility/ResourcePackCompatibility.java
#	src/main/java/de/hysky/skyblocker/config/categories/FarmingCategory.java
#	src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java
#	src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java
#	src/main/java/de/hysky/skyblocker/config/categories/OtherLocationsCategory.java
#	src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java
#	src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
#	src/main/java/de/hysky/skyblocker/skyblock/itemlist/recipebook/SkyblockRecipeResults.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/WidgetManager.java
@LifeIsAParadox LifeIsAParadox added the wip This PR is a work in progress label Jul 16, 2025
@AzureAaron AzureAaron added the new feature This issue or PR is a new feature label Jul 17, 2025
viciscat added 5 commits July 22, 2025 00:56
# Conflicts:
#	src/main/java/de/hysky/skyblocker/skyblock/fishing/FishingHudWidget.java
# Conflicts:
#	src/main/java/de/hysky/skyblocker/skyblock/ItemPickupWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ComponentBasedWidget.java
@LifeIsAParadox LifeIsAParadox added the merge conflicts This PR has merge conflicts that need solving. label Nov 2, 2025
@LifeIsAParadox LifeIsAParadox removed the merge conflicts This PR has merge conflicts that need solving. label Nov 2, 2025
# Conflicts:
#	src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java
#	src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/galatea/TreeBreakProgressHud.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsConfigurationScreen.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsElementList.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/entries/WidgetEntry.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/preview/PreviewTab.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/preview/PreviewWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/WidgetManager.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ComponentBasedWidget.java
#	src/main/java/de/hysky/skyblocker/utils/render/gui/DropdownWidget.java
@LifeIsAParadox LifeIsAParadox added the merge conflicts This PR has merge conflicts that need solving. label Nov 19, 2025
# Conflicts:
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/preview/PreviewTab.java
#	src/main/java/de/hysky/skyblocker/utils/render/gui/DropdownWidget.java
@LifeIsAParadox LifeIsAParadox removed the merge conflicts This PR has merge conflicts that need solving. label Nov 19, 2025
viciscat and others added 15 commits November 21, 2025 23:00
# Conflicts:
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsElementList.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsListScreen.java
# Conflicts:
#	src/main/java/de/hysky/skyblocker/SkyblockerMod.java
#	src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java
#	src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
#	src/main/java/de/hysky/skyblocker/skyblock/galatea/TreeBreakProgressHud.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsElementList.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsListScreen.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PositionRule.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerListManager.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ComponentBasedWidget.java
#	src/main/java/de/hysky/skyblocker/utils/CodecUtils.java
# Conflicts:
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsConfigurationScreen.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerListManager.java
# Conflicts:
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsConfigurationScreen.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsListScreen.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/preview/PreviewTab.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/preview/PreviewWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/WidgetPositioner.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerListManager.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java
# Conflicts:
#	src/main/java/de/hysky/skyblocker/config/categories/FarmingCategory.java
#	src/main/java/de/hysky/skyblocker/config/categories/ForagingCategory.java
#	src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java
#	src/main/java/de/hysky/skyblocker/config/categories/HuntingCategory.java
#	src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java
#	src/main/java/de/hysky/skyblocker/config/categories/OtherLocationsCategory.java
#	src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java
#	src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
#	src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java
#	src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java
#	src/main/java/de/hysky/skyblocker/mixins/GuiMixin.java
#	src/main/java/de/hysky/skyblocker/mixins/HandledScreenProviderMixin.java
#	src/main/java/de/hysky/skyblocker/skyblock/ItemPickupWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonSplitsWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/dwarven/PickobulusHudWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/dwarven/profittrackers/PowderMiningWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/fishing/FishingHudWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/galatea/SweepDetailsHudWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/galatea/TreeBreakProgressHud.java
#	src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/hunting/LassoHud.java
#	src/main/java/de/hysky/skyblocker/skyblock/slayers/hud/SlayerHudWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/TabHud.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsConfigurationScreen.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsElementList.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/WidgetsListTab.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/entries/WidgetEntry.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/preview/PreviewTab.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/preview/PreviewWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/WidgetManager.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/WidgetPositioner.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerListManager.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/CommsWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ComponentBasedWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ComposterWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDeathWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDownedWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonPlayerWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonPuzzleWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonSecretWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonServerWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EffectWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/HudWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/JacobsContestWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/MinionWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PowderWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/TabHudWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/TableWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/VisitorsWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/Components.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java
#	src/main/java/de/hysky/skyblocker/skyblock/waypoint/AbstractWaypointsScreen.java
#	src/main/java/de/hysky/skyblocker/utils/render/gui/AbstractWidget.java
#	src/main/java/de/hysky/skyblocker/utils/render/gui/DropdownWidget.java
# Conflicts:
#	src/main/java/de/hysky/skyblocker/skyblock/dwarven/PickobulusHudWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ComponentBasedWidget.java
#	src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/Components.java
@LifeIsAParadox LifeIsAParadox added the merge conflicts This PR has merge conflicts that need solving. label Dec 17, 2025
# Conflicts:
#	src/main/java/de/hysky/skyblocker/skyblock/ItemPickupWidget.java
@LifeIsAParadox LifeIsAParadox removed the merge conflicts This PR has merge conflicts that need solving. label Dec 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new feature This issue or PR is a new feature wip This PR is a work in progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.