Skip to content

feat(compat): Stella Mod Compatibilty - #920

Open
Eclipse-5214 wants to merge 2 commits into
Polyfrost:v1from
Eclipse-5214:v1
Open

feat(compat): Stella Mod Compatibilty#920
Eclipse-5214 wants to merge 2 commits into
Polyfrost:v1from
Eclipse-5214:v1

Conversation

@Eclipse-5214

@Eclipse-5214 Eclipse-5214 commented Aug 5, 2026

Copy link
Copy Markdown

Description

Adds compatibility for the stella mod versions 1.0.6 beta 4 and up on Minecraft 26.1 - 26.2. Feature list includes creating a config screen in the one client menu for stella, and all of its Huds in the Hud editor.

Checklist

  • I made a clear description of what was changed
  • I stated why these changes were necessary
  • I updated documentation or said what needs to be updated
  • I made sure these changes are backwards compatible
  • This pull request is for one feature/bug fix

@Eclipse-5214 Eclipse-5214 changed the title feat(compat) Stella Mod Compatibilty feat(compat): Stella Mod Compatibilty Aug 5, 2026

@awruff awruff left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

lgtm

@Eclipse-5214

Copy link
Copy Markdown
Author

usually my commit names are just bs, might have to adapt this format for stella

import org.polyfrost.oneconfig.internal.ui.hud.CompatOverlayRenderer
import java.awt.Color

object StellaCompat {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

does this actually have hud saving anywhere? keep in mind oneconfig compat huds should redirect completely to the original mod's positioning stuff

CompatOverlayRenderer.register(::renderExamples)
}

private fun renderExamples(ctx: GuiGraphicsExtractor) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

hopefully you guys have it so when oneconfig Edit HUD/UI is open, Stella hud rendering cancels?

public class Mixin_Stella {
@Inject(method = "onInitializeClient", at = @At("TAIL"), require = 0)
private void oneconfig$registerStella(CallbackInfo ci) {
StellaCompat.ensureRegistered();

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

please move this to use CompatLoader.requireTranslations elsewhere (look at SkyCubedCompat), also make sure the config is actually loaded before running this


object StellaCompat {
private val LOGGER = LogManager.getLogger("OneConfig/Stella-Compat")
private val tree = Tree.tree()

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

where's your custom_save impl


// Hud
private class StellaHudWrapper(private val element: HUDElement): OneConfigHudWrapper {
override var id: String = element.id

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

it should be stella/$element.id

// Hud
private class StellaHudWrapper(private val element: HUDElement): OneConfigHudWrapper {
override var id: String = element.id
override var name: String = element.id

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

why are you using your id as the display name

}

// Hud
private class StellaHudWrapper(private val element: HUDElement): OneConfigHudWrapper {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

your hud settings should show in the hud designer too

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

This is a thing I want your opinion on. Some of my huds have there own subcategory like the room name hud, some of my huds have entire config categories dedicated to them like the map, and some of my subcategories have more than one hud. So I cant really think of a way to automatically group related settings and have them be 100% accurate. is it worth it?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is a thing I want your opinion on. Some of my huds have there own subcategory like the room name hud, some of my huds have entire config categories dedicated to them like the map, and some of my subcategories have more than one hud. So I cant really think of a way to automatically group related settings and have them be 100% accurate. is it worth it?

yes its worth it for ux


config.registerListener { _, _ ->
for (node in tree.map.values) {
(node as? Property<*>)?.revaluateDisplay()

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

is this performant

is TextParagraph -> Properties.dummy(id = key, name = name, description = desc)
.apply { visualizer = Visualizer.InfoVisualizer::class.java }

is Keybind -> null

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

why null

@Wyvest Wyvest moved this to In progress in OneConfig Aug 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

3 participants