#Onboarding Mod for Modpack Developers

96 messages · Page 1 of 1 (latest)

rose mirage
#

As one of the main developers for Luna Pixel Studios, the creators of modpacks such as Better MC & Medieval MC, the most common complaint I see amongst players is that certain features do not fit their playstyle.

All of our Medieval modpacks feature EnvironmentZ & Dehydration on Fabric, and Survive on Forge. A lot of people do not enjoy the thirst and temperature features that these mods add, so a possible solution to this is giving players the option to disable certain mods/features from their singleplayer experience as part of a user-friendly, customizable onboarding process.

Another common complaint is that the button to open a backpack is B, and the button to activate Narrator is CTRL + B. If you try to open your backpack while sprinting by holding CTRL, you then have to press CTRL + B twice more to disable Narrator. The fix we have implemented for this currently is the Rebind Narrator mod, but we don't want to change the bind by default for accessibility reasons.

Giving players an option when they first enter the main menu or start a new world to 'disable' certain mods fixes both of these issues. Letting players change the Narrator keybind as part of this onboarding process will let players who need it to keep it enabled, and those who don't to unbind and forget about it. Resourcepacks such as Fresh Animations and Fantasy Ores are relatively intrusive to the player experience, and not everyone will like having them enabled. Having some way of letting players choose between enabling or disabling them without directly opening the Resourcepacks menu could also be a part of the onboarding process. I understand that it's just as easy for a player to manually disable or enable it from the Resourcepacks menu, but our modpacks attract a large variety of people with varying levels of experience. I have helped several people in our Discord who do not know what a file path is.

The onboarding screen itself could be a popup while the world generates in the case of mods that do not add blocks, giving players something to do while the game loads, but I'm not sure how practical this is. I feel it would be optimal for the onboarding screen to appear as part of world creation, possibly after the user finishes the screen for enabling cheats and setting the world name. The screen would need to require user attention so it isn't overlooked, so having it as a 3rd page in the Create World screen would not be practical.

Another use I see for this is editing configs via the Onboarding menu. The Immersive Weathering mod has a feature that makes certain blocks weather over time, which not everyone likes. The image I have in my head is a heading that says "Block Weathering" with a checkbox next to it, and there's a dropdown box which allows individual cases of block weathering to be disabled, as opposed to all blocks. This feature is by no means top priority - I feel that letting players disable mods is much more important.

The biggest hurdle that I see with this is letting players join multiplayer servers after disabling or enabling a mod / config. This shouldn't be an issue if the mod is only disabled for the world, but is still loaded in the game.

rose mirage
#

If disabling mods without a game restart would be too prone to breaking things, I can ask the developers of these mods to add a config option that disables certain features that can not already be disabled via config. This would allow the onboarding process to only edit configs.

sleek wolf
#

this wont work without manual patching of mods

#

you cant disable mods at runtime. theres way too much going on at startup

graceful ingot
#

Yeah, best avenue is to request config options from mods

sleek wolf
#

with there not being a standardized config you'd have to ask authors to implement some way to toggle features in code

#

which also requires work on your side

rose mirage
#

all of the mods I mentioned have very customizable configs

#

well, customizable to the extent necessary for this to be possible

#

disabling the Dehydration mod completely would only require a config option to hide the thirst bar

sleek wolf
#

you'd still have to manually hook into every single mod to change the config

#

which sucks real bad honestly

rose mirage
#

this might sound stupid but if these mods already have modmenu integration couldn't that be used by the onboarding too

sleek wolf
#

technically yes, practically its not a good solution

rose mirage
#

it's really just changing 1-2 config options, i'd assume the biggest issue is making sure the changes don't persist on servers

sleek wolf
#

because it requires the user to go into each config, read through everything, turn off anything they dont want

rose mirage
#

the point of the onboarding is that they dont have to do that

sleek wolf
#

and at this point you might as well just point them towards the modmenu button

sleek wolf
#

do you know how modmenu does what it does?

rose mirage
#

somewhat

#

is there anything stopping a mod from running a script that makes the player's mouse navigate through modmenu to make specific config changes lmao

sleek wolf
#

it provides the mod with a single method to open a screen.

#

thats it

#

nothing else

#

the screen is completely in the mods hands

#

modmenu has no control over them

rose mirage
#

it still means the mods have a way of being communicated with though. is there no way for a mod to automatically make the changes

sleek wolf
#

not without manually hooking into everything

#

which again, sucks

rose mirage
#

would it suck less if the mod creator added integration of some kind which allowed the onboarding mod to easily make the changes

sleek wolf
#

that requires designing some standardized thing and making devs adapt to it

#

aka it would be in FAPI territory

rose mirage
#

the biggest concern is just dehydration & environmentZ which are both by the same dev

sleek wolf
#

but as far as i know that would be way out of scope

#

then it would be perfectly fine to roll your own small mod. this wont and cant be a general QOL mod that modpacks can use

rose mirage
#

i mean editing configs doesn't have to be the only appeal

#

letting users choose resourcepacks & disabling narrator alongside other pages of onboarding as decided by a mod creator is pretty flexible

#

my original idea is basically just packmodes with extra steps

#

if we start from the very beginning - it is absolutely possible for (some) config changes to be made both in the main menu & while ingame, and, with this in mind, i'd assume adding integration would be relatively easy

sleek wolf
#

for vanilla things absolutely

rose mirage
#

it could also just be a gamerule lol

#

i'm assuming that'd be possible, or maybe not

#

/gamerule disableDehydration

#

probably not possible for that to disable the thirst bar though

#

which is a concern. might be confusing for players to have a thirst bar but no thirst

sleek wolf
#

nah

rose mirage
#

i guess my original pitch is just

#

packmodes but for fabric 1.19.2

#

but to be honest i have no idea how packmodes worked in 1.12.2

graceful ingot
#

It’s sounds easy enough to just do “gui with options hardcoded to certain config options on a specific file”

rose mirage
#

yeah

#

that's pretty much what it boils down to

#

alongside the narrator keybind & optional resourcepack selection

#

im imagining the origins mod GUI except on world creation & for things that are not origins

graceful ingot
#

is there anything you’d expect for the ui? Imo that’s the most important part- making a user friendly gui

rose mirage
#

i kind of answered your question while you were typing it

#

literally just the origins gui except each menu requires the user to read it

graceful ingot
#

Yeah

rose mirage
#

"would you like to enable thirst?"
yes
no

#

some level of modpack creator customizability would be good too, maybe with support for adding lang files so it can be translated

#

i've never seen a mod do that before and i feel like theres a reason for that

graceful ingot
#

Imo it best happens after all mods are loaded and configs generated, the mod then shows the gui

rose mirage
#

thatd be fine as well

graceful ingot
#

it’s a bit hard to mess with config files since you don’t know what type they are

#

could be json

sleek wolf
#

chances are mods have read the configs already

#

and wont reload until x happens

graceful ingot
#

could be a custom config

rose mirage
#

most configs can be edited while the game is running & they still update accordingly, though

#

i'd assume it'd work fine for those configs

sleek wolf
#

this relies on updating the file

rose mirage
#

yeah

graceful ingot
#

It can’t be generic, has to be tailored to a modpack

sleek wolf
#

we cant expect mods to read from file for an edit

graceful ingot
#

yeah, getting the mods to reload the config on demand from another is another hurdle

rose mirage
#

hm

wise lintel
rose mirage
#

@near adder said she was interested in this as well, if she'd like to pitch in

rose mirage
wise lintel
#

Oh, for sure

rose mirage
#

a lot of mods already have configs for everything a user would need to disable

#

the only thing we'd need for our modpacks is a way to toggle the thirst bar & i'm sure globox would follow through

wise lintel
#

I mean, if the license allows, you could just hostile fork it (though it'd be a dick move)

rose mirage
#

its a somewhat actively maintained mod

#

so that would be pretty mean lol

wise lintel
#

Yeah lol

#

Doing that also makes it more likely the original developer would stop working on the mod and you'd have to pick up the slack

rose mirage
#

i gotta go to bed, but thanks for the discussion everyone! hopefully we can figure something out here, i actually do 16/7 support in our discord and a mod like this would fix some of the most common complaints we get

graceful ingot
#

I’d be down to try it but I’m not very good with GUIs which is still imo the biggest hurdle: friendly user interaction

#

You get that right and everything else is possible

rose mirage
#

theres a lot of opportunities here imo, i've never seen a modpack with a full on onboarding system and i can see a lot of developers making use out of this in unique ways

rose mirage
#

Fuzs might be, he's on our dev team

#

he's done GUI code before, i know that

#

we also have a couple of artists working on The Abyss for 1.19.2 forge & fabric