#DawnLib [V80]
1 messages · Page 7 of 1
was the image hosted on imgur?
if so, not possible to view in the uk fyi xD just thought id let you know.
yeah its fine, just.. i d k why exactly, probably related to the age restriction stuff, but imgur has some alert when someone from the uk goes to their site saying its not possible to view bla bla bla, and just means anyone from the uk cant actually see the picture. xD
me having to enable a VPN so i can view the super illegal lunxaras menu theme for lethal company (i'm going to jail forever)
i k r
Well there goes my mods' readme. Thanks UK
yw ❤️
open up a trello and post to it
thats what I do for my images
it's the only use the biodiversity trello has anymore LMAOOO
So many mods don’t have viewable images anymore
if you have to consider json you should do as the BepInEx dev said and go to yaml instead...
same flexibility of json, but a lot more user friendly ( it's based on indentation )
also YAML parsers can parse jsons
@oak linden ya said ye wanted to make DL the main lib everyone uses
But what about the stuff ya don't register for now then
Cuz i think there was moons and scraps you do but not interiors
I hate things that base on indentation. One of my gripes with Python
you can't deny it's a lot easier to understand for non programmers than json tho 🙃
yeah 😔
also as i said above, noone stops you from rewriting your yaml as a json
or even do some weird mix 😈
tbh yaml is still non-obvious
though it's probably not as bad if you aren't writing it all from scratch
as far as i know it's the most user friendly we have rn
especially considering all the freedom you have with comments
the most user friendly solution is not one where the user is directly touching the file
with what lc mods do with config stuff it just really needs some sort of actual ui
also, this is pretty fun https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell
As a data format, yaml is extremely complicated and it has many footguns. In this post I explain some of those pitfalls by means of an example, and I suggest a few simpler and safer yaml alternatives.
I do think that TOML is probably the best in like 95% of the cases, and yes I pulled that number out of my ass
honestly, yeah
if you need to change things frequently toml has the best readability-parseability ratio
that is out of the context, we're talking of config files.
the best solution is a DB and a frontend. and there is no discussion on that.
if you have to expose a config file what would you consider the easiest to understand format ( from a end-user perspective , definitely not from a programmer perspective )
if you have to expose a config file what would you consider the easiest to understand format
depends on how many things there are to change
cause for majority of mods the bepinex .cfg (which is just TOML) is great
huh? mine was specifically in context
but - for larger content mods - json will always be the best when it comes to parsing
and people don't really want to make custom UIs for that
cause it's hard
afaik a lot of these config solutions in general are built to either empower pretty specific "arbitrary" values (eg. settings) or as a way to serialize data thats read and written via code
# 🚨 Anyone wondering why their first seven Kubernetes clusters deploy just fine, and the eighth fails? 🚨
- 07
- 08
# Results in
[ 7, "08" ]
lol
for LC where we have massive rarity tables in bulk, no solution is gonna be good enough when its a user having to touch that raw
i have to setup yaml files regularly for homeassistant configs
the person responsible for that insanity needs to be punished
i did know about most of that. but some of this 🤣
someone has to take a page from the psycho bethesda modding devs and build a program directly to handle configs
load up the assetbundles and everything do it
BepInEx Configuration Manager would be probably the closest thing we have as a universal solution at least in game as a convenient way to edit configs. And then ofc mod managers.
lethalquantities having the guts to make a custom UI:
but refusing to work with any other mods:
that was a great read, thank you for that 😆
naah
Items are able to clip into the floor it looks like, Matty's Fixes fixes this from happening but I assume DawnLib overrides
They don't sink in the SSS, it's just the floor fix that is being overridden
hmmmmmmm i suppose you have out of bounds config enabled to say that? and/or General improvements?
i doubt i override that
when is this happening
on loading save? because matty fixes still runs
like i need more information
like some items are clearly not sinking in the ground, and there's no reason for items to randomly sink in the ground, and where is this, second story?
it was on the first tory
first story*
there is not separate fix for the floor issue
on save i shift stuff by their vertical offset plus a smidge for safety
@blazing nacelle dont post 3 images without context
It's the fact that they are links to existing attachments
ah right
context was the message above. but sry 😅
got automodded and timed out
Sorry but that's how we catch the Mr Beast and Elon Musk image scammers
its fine, just a regex that we have that usually prevents a lot of those scams
yeah. definitely keep that. it's better to be strict on thoose things
And we catch a lot of them btw
yeah god we do, i stole it instantly to apply the same rule to all my servers
The__Musk
var newPos = position;
newPos += Vector3.down * grabbable.itemProperties.verticalOffset;
newPos += Vector3.up * MattyFixes.PluginConfig.OutOfBounds.VerticalOffset.Value;
amd the config is at 0.01f by default
Oh is it ShipWindows doing a funny again maybe?
lol
DawnLib definitely skips my code as it replaces thw save system
i switched to a harmony patch
so i might still be overriding but no idea tbh
oh lol
i could patch DawnLib myself if it ever becomes needed, but i think you'll want to embedded the fix inside DawnLib natively
There are two issues I've noticed for unlockables, their position is indeed bugged for clients and clients have a different unlockable ID than hosts for some reason (which causes more issues)
Fun, I’m glad my bug report helped reveal a larger problem 
That do be important to fix
At least items placed inside or on the furniture still sync up okay
yeah that part wouldnt change
lmao different ID????
yeah im not 100% sure whats causing it but i noticed some redundant code related to the ID so getting rid of that
afaik its only for when the clients try to sync the position of the unlockable
redundant code in DawnLib?
which is why no one noticed it
yeah i coded the unlockables a while ago so i forgot that the shop unlockable ID = number in the spawned dict
and i stored that number separately
damn, at least its just that
ah
it's just clients running stuff differently than host
order of operations is wacky
yeah okay its what i thought lol
now the question is, how do i do this without it being super messy lmao
it's documented here for the most part if you're interested
https://discord.com/channels/1168655651455639582/1191246381634043995
i should run it again now in v73 tho i doubt anything has changed
nah not that, the difference is that the client is spawning the object AFTER i set the values into the prefab
or well, before i meant
so basically host has the right unlockableID's onto the autoparenttoship and placeableshipobject
well clients will spawn all network objects on connection
so if you have something you want to set before you'll have to prefix NetworkBehavior.OnNetworkSpawn
i do that for GrabbableObjects i belive in MattyFixes
icic
Matty coming in to save the day 
Btw Xu since he’s here did you also figure out the item clipping stuff he was trying to help you with yesterday?
no
cuz my question still stands
and also patching the onnetworkspawn wont help me here anyway
Your presence is still required 
ill ping matty if i need him, im still figuring stuff out myself
Fair 
yeah fixed it
v0.3.12
- Added
ContentOrderattribute to apply to content handlers if you'd like them to run in specific order. - Fixed client/host desync in unlockable skins and unlockable id causing position desyncs.
- Touched up UI a little bit.
Did it in a clean-ish way atleast

I blame the moresuits compat
It delayed unlockable registration and caused clients to be late on something that needed to be done like a tick earlier, but I just rewrote that code in a bit of a different way
Ah lol, yeah I had a feeling it was something finnicky with the id or when clients were registering it, my initial fix I tried to do was changing the fix Science Bird Tweaks does for furnitures to be client sided instead of networked
Which tbh I can probably disable the parenting fix SBT does for Furniture since DawnLib handles that now right?
Like items parenting to furniture?
Uh I don't think so
btw, idk if this also affects modded furnitures, but there is no need to to that for the SSS since it's parented automatically thanks to science bird, the cool bird, who explained it to me
Neat
Oh can you explain the problem rq to someone who has no idea
well, if the furniture is not parented to the ship, it will still be fine but the hitbox of that said furnitures (interact triggers for examples, colliders, etc) will move when the ship is landing on a moon/ leaving the moon, so you will see it "jittering" a bit when this happens
For example the teleporter buttons will be harder to press when the ship is moving
and another example is, without the code i made, the interact area from the SSS to put items in will be moving as well
items that are placed inside shelves of cupboards will also move and jitter since they are parented to the furniture and the furtniture is not parented to the ship
so yeah, you need to make it parent to the ship when it's spawned, and same things for items in the shelves
thats why this fix is there in Science bird tweaks, because it's fixing vanilla furnitures (but idk if its touching modded ones, but this shouldnt be needed for the sss, idk for the others, like in melanie mod?)
Do you know if the parenting all applies to the same gameobject?
Cuz I can do this very simply embedded after the save system spawns all unlockables
i dont know more, you should ask science bird
newest dawnlib
not sure if its this or furniture lock
FL didnt do any of its positioning or unlocking when starting a new save
if you're using updated dawnlib after previously using an older version, try hosting a lobby with the save systems disabled in config, then relaunching with them enabled again (seems to clear any invalid save data stuff when I had a similar issue come up)
does this apply when the lobby in question is a new save
ye, part of the issue with dawnlib was persistent stuff saved across sessions if I understand correctly, I had this same issue upon hosting a new save too
lobby loaded correctly with dawn save system off, then broke again when i reenabled them
though im also seeing lethalthings throwing startofround errors now so maybe it is conflictging?
new save each time? rough, it fixed it for me but there might be some other stuff at play I guess
To fix it, I parent all unlockables to the Environment/HangarShip game object in the ship scene (technically I group them in my own furniture game object at that path for organization). This is where non-unlockable furniture goes (e.g. cupboard, terminal), but when unlockable furniture is spawned in, I think it just spawns with no parent or some higher hierarchy point.
If you're totally taking over all the unlockable stuff, you might be able to just change the path at which the unlockable prefab is instantiated.
Also while I'm here, there's still a little issue using the most recent patches of DawnLib and FurnitureLock: if you start a new save with some furniture spawned unlocked with FurnitureLock, then quit and reload that save, the unlocked furniture will be locked again (not sure if this would happen if you did multiple days, but I imagine it would probably come up some other places)
You're gonna need to hold off on using Lethal Things til eba removes the config option for the dart board
could i go back to the fork then
this wasnt happening on the fork but i updated lethal things and dawnlib at the same time
so
the fork has an issue that breaks furniture for clients that late join
I would just wait
hmm okie ill look into that
multiple days and same day would be the same i imagine
can i get da profile
i think i know whats happening but just wanna be sure
gotta run your profile with some debug logs to check what's causing that error
019a34a6-2dee-8554-1ff2-200ff8b2d912 be warned its a mess
i cant reproduce this with your pack, you'll have to reproduce again but turn on bepinex debug logging and turn on all the extra logging in dawnlib
i reproduced an error in the saving system but the extra logging wasnt enabled cuz gale forgor to give me the right cofnigs nice
Great
Why do gale and r2 have such a hard time reading each other's profile codes anyway
I'll do this tomorrow
oky so two things, melanie's oven erroring and melanie's walls etc arent saving
Melanie also has to fix the pocket rooms, so just a few things to inform her about prob
what i mentioned are me issues afaik
ik, but u dont have any logging so that isnt helpful for me rn but im looking into it
again, no logs, isnt helpful
I assume it's the logging for Save manager and unlockables that needs toggled on
I'll also turn it on for items cus why not, it's related
probably yeah
that warning idk, not related
for the rest, the more im looking into it the more im convinced mel screwed up a bit when registering her items through LL
I'll test with Mel's furniture off
idk im checking now, it shouldnt be an issue though, all it means is that her stuff doesn't work with dawnlib's internal data
pure dawnlib, nothing more, nothing less
(the monitor on the screenshot is on)
yeah i think i got that fixed, lobby reload did have a small issue from last update
I see
I'm trying to address as much as possible 🥺
thats fine
even made a test on 6-modded modpack with just dawnlib & it's configs
first lobby enter - replaced furnitures in random places
lobby reload - furnitures came back to it's default places & monitor broke
so yeah 
Yeah issue repros with Mel's furniture off
the lobby reload issue yeah, but the saving stuff is weird, half of mel's furniture doesnt exist when leaving the lobby
mel's furnitures are just substitutes, the vanilla furnitures acts exactly the same as mel's
wut, no im saying im aware of the lobby reload issue and fixed that, but mel's furniture isn't getting saved to the save file because her furniture is getting removed from the unlockables list
i see the issue
🤔 Is this in your code or Mel's?
my code
it didnt, it was just unlucky enough that it happened to be mel's furniture to only be affected
Ahhhh
oh
We love funny rng problems
At least you isolated it
I do wonder why Kiszony was getting lag everytime he reloaded his lobby though
☠️
I couldn't repro that
just kiszony things 
idk kiszony things yeah
v0.3.13
- Fixed a lobby reload softlock issue.
- Fixed issue where only half of the unlockables would save.
- Removed facility's
#naturaltag.
i think some of the item saving issues still exist due to incompat with better saves but i havent checked that stuff out yet
and i'd rather make dawnlib's own impl of bettersaves later like i planned to
im hoping this is fixed now, i cant test it since i gtg but i was basically skipping every odd numbered index in the unlockables list when saving
v0.3.14
- Made unlockables parent to the ship to remove a stuttering issue when landing or leaving.
- Fixed an issue with replacements where the rotation sometimes isn't accurate depending on parent.
lol
this would fix issues in coderebirth actually now that i think about it with like redwood's skin
Should be
Neat
oh, was that the issue where some unlockables don't have AutoParentToShip?
Yeah SBT has had a fix for it for ages now and now DawnLib has it integrated
nah that doesn't parent anything, that just sets it to a specific position on start
oh, alright 😅
all unlockables have that component (atleast in vanilla)
including suits iirc which is kinda annoying lol
the more annoying thing is the intentionally developed difference of "scene placed" and "spawned" unlockables
the things you start with when you make a lobby are scene placed, they have their own storing system where instead of actually getting deleted they are sent like thousands of meters away
their unlockableitem node also has no prefab for them despite being something that fulfills that requirement
there's inconsistency that is intentionally coded in, but :Shrug
🙉
two systems developed at different times
hacked together to work somehow
at least it looks like it
yeah, the worst part is that some unlockables DONT have a buy node associated in their UnlockableItem despite being purchase-able
so it exists, its just not assigned
and i dont think this is entirely true in vanilla, but it is in lethallib
GOD the amount of fucking SHIT i had to do to make it work for terminalformatter
lol yeah
it took me a while to realise that everything zeekerss does is simply based on their position in the unlockables list
Lol Atlas dies on Oxyde
their autoparenttoship, their buy node id, their placeableshipobject
i need the debug logs above this
lol, that's not actually the proper way to check that
there's a bool and an int you're supposed to look at iirc
spawnPrefab is the bool that dictates whether its supposed to spawn a prefab
but checking if suitMaterial is null is basically same thing anyway
its just you'll have to handle the sceneplaced unlockables that dont have spawnPrefab ticked iirc
oh, good to know
Does Atlas not debug log what it tries to set the sky to?
Let me check my player log wtf lol
it has some debug logs, if none ran that also gives me info
lol i think there's an int as well that dictates that something is a decor
the unlockableType
I'll prolly just blacklist Oxyde from it for now lol
i think LLL doesnt recognise oxyde as a moon or smthn
oh does it not generate its ExtendedLevel?
thats like the only null ref i can see happening
I think Oxyde already has a custom skybox anyways I think Atlas was likely trying to apply the Company one
yeah oxyde has its own paid skybox
I added the moon to the blacklist that should theoretically make it happy I hope lol
uh probably wont but u can try
Ah yeah it still errors damn
Lunar Config also fails to detect Oxyde for obvious reasons
It just goes "Hey this doesn't exist" basically
XD
Also interesting
Btw 
uh, wait. Thats a scopo error. Not lethallib. related to if enemy exists or not. Probably means he's not in the level
Why is Scopo logging under LethalLib? Didn't you migrate to DawnLib?
XD
Ah yeah you didn't migrate to the DawnLib stuff for spawning him yet got it
That's gonna be such a neat config cleanup to see
It was a hacked together fix for v73, im doing his unity side rn. But yeah, thats a scopo / lethallib log from ShyGuySettings, and yep.
Ah yeah makes sense
Wow @weary imp I can't believe you put null AudioReverbTriggers on Oxyde
oops all reverbs
(im still waiting on the audioclips that i lost the reference to from your project :p)
oh right I'll check in a sec
tanks
just another update on the issues I said in git, after last patch the vanilla moons turn out to not be straight not listed but actually hidden like artifice
(I was able to make them listed with darmuh's)
for whatever reason upon reloading a lobby it tags all the vanilla moons as hidden
Hmm okay
luckily I have found a workaround to the issue so its not a big deal till then
can just use displayallmoons from mrov
until then
this bug is still there 🥀
This bug?
the one that we talked about 6 hours ago
oh wait
it might be something else actually
lemme investigate further, I'm very confused rn
later 
Can I get that code for that pack, I wanna see some of the mods you have
vro forgot the changelog@oak linden
vro forgot the fix 🥀 (the changelog is there btw
)
Also reported the issue on the Github
actually it does work if you have the right mods
That doesn't make any sense
oh wait you're talking about leaving and rehosting
lol yes
yeah im testing it now
well
i had no issues in my end
lol
ig ill look at lunxara's logs
dunno, might be a bit of LL ship upgrades tbh
lebron won't be delaying this time 
-# Unless? 
We will be starting a bit later regardless cus we're getting a pick up order today and I'll need to help bring in Groceries
But yeah unless anything major we need to wait on drops there shouldn't be any other delays
ill be looking at a couple other issues today before dropping but ill drop it soon
@cerulean gale i cant reproduce your issue with just the moonsplus page dawnlib and LLL, i'll need a profile
oh whoops i didnt follow teh steps properly, ill try again
deleting the save causes it
@white finch i can only reproduce with LLL 
Whar 
Oh wha
it doesnt happen without DawnLib, so what is LLL checking to make these routes hidden?
I doth be checking
Checks if the moon's keyword result text actually contains the name of the moon, I think?
is there no where else?
i can check their nodes ig but that's a lil odd
also where is moonsKeyword coming from
Oh it's just the moons terminal command
okay is anyone still having save retaining issues?
because apparently purple is but i cant reproduce it at all
v0.3.15
- Fixed another issue created by some unlockables that caused errors.
- Fixed an incompat between LLL, DawnLib and DarmuhsTerminalStuff that made every moon hidden.
- Added a config to disable achievements button in the main menu.
I don't believe there are any more issues people have?
is Oxyde registered in DawnLib only? (ie, not in LLL at all), if, so, then i think i got my changes working, sadly i think im forever dependent on LLL, unless i implement my own sorting system, or another sorting system independent of LLL arises, but I can at least support DawnLib registered moons now (i think).
although the only moon I have to test with is Oxyde, I dont know of another moon that registers in DawnLib 🙂
Only oxyde for now ye
well, oxyde doesnt appear in the moons list, but i see it in my logs and in my custom config, so yeah, seems i got it working 🙂
thanks for the help with it all
That's a lil worrying lol
that it doesnt appear on the moons list? let me double check, maybe i just didnt see it
Ye, what moons list are u looking at too?
yup, doesnt show in the moons list, but appears in my config.
well, i update the ratings by getting StartOfRound.Instance.levels by postfixing StartOfRound.Start
I dont touch the actual moons being loaded (so in theory, i disable my mod.. the moon list will be the same, just my ratings system wont be used)
Can I get a modpack code
one sec
so, without my mod.. also.. not showing in the moons list..
019a3a40-c4d3-f91c-b9fd-ae401bd6f272
my mod is a manually added DLL so I assume wont be included, but thats the code as i ran it just now, afaik, all mods are default settings.
ah, isnt the issue in code rebirth the setting "oxyde enabled from start"?
its defaulted to false.
nevermind, still cant see Oxyde.
yeah that config isnt relevant rn
okay its a terminal formatter thing
@spiral axle whats TF using to detect what moons exist and show? cuz oxyde isnt showing in the moon catalogue
I mean Oxyde not showing up isn't the biggest deal, since Gordion also doesn't iirc
Company moons not showing up I'm cool with
i mean its right there
isnt Galetry a company moon? xD
In my opinion if you document how to use DawnLib, converting an LLL moon over probably wouldn’t be that bad
yeah it's very similar concepts
so was looking at the code TF uses to get moons
it seems that two scenarios arise.
if LLL is installed, it gets the moons from LLL
https://github.com/AndreyMrovol/LethalMrovLib/blob/1b41b4c488440e66bbfc7096f4da657e0e2b5d11/MrovLib/Compatibility/LethalLevelLoader.cs#L31
if LLL is not installed, it checks the vanilla list.. and does something different with "company moons", which im guessing doesnt apply to Galetry.
https://github.com/AndreyMrovol/LethalMrovLib/blob/1b41b4c488440e66bbfc7096f4da657e0e2b5d11/MrovLib/LevelHelper.cs#L19
when in my mod i was looking at "Company Moons", i was checking for if the moon has scrap... which TF does.. but TF also runs a check for if the moon has time... which i guess the company (Gordion) also doesnt have time.
Galetry is from LLL, so, this time check isnt performed (unless LLL does that check).
but for Oxyde, if LLL is installed, i assume Oxyde is ignored... and if LLL isnt installed, im guessing its treat as a company moon so also ignored (which is possibly what you noticed as you mentioned company moons :D)
actually, i just realised that doesnt account for it being missing from the list... O.o
Xu, does dawnlib provide its own Moons Catalog page? or do you just update Vanilla's?
with TF,DL and LLL installed, I see the TF moon catalog
with just DL and LLL installed, I see a moon catalog I dont recognise... so I am assuming thats modified from vanilla/provided by DL, where in I was expecting LLL's one.
I was trying to see if LLL's sorting would sort Oxyde correctly as I think it wont, but yeah, cant see Oxyde with TF and cant sort without TF because LLL's catalog isnt visible, and the one i see doesnt have sorting.
it's using LLL's moons catalogue
the lobby reload bug seems to be fixed
thank you xu xiaolan 
yeah i modify vanilla's
can i see the code?
and LLL does not recognise moons not registered by it?
i think yours are added after LLL's, i had to move my patch later to see Oxyde in my config.
the fool-proof solution for me would be to just get the levels from vanilla arrays
that would be nice
but then you would be facing the issue im having right now, and also, the issue we kinda discussed before... custom sorting, because i dont think LLL would sort moons it cant see.
but that's gonna be a pain to include with LLL's insanity 😭
yeah, exactly
no, not really
this means I would finally need to make custom sorting stuff on my end
im at a point where im using the vanilla moons list, but my updating of ratings, and updating the sort order, is relying on LLL's sorting.
that was my idea as well - to reference anything I can from LLL and to use vanilla list
but god that's gonna be fucked to implement and use
well virus doesn't need any info from LLL, only the sorting functionality, afaik anyway
well.. yeah.. cause non-lll moons not showing up is going to be a problem xD
just needs a seperate sorting system.
mrov do you use anything from LLL's moon stuff like extended levels?
Only in LLL-dependent classes
which there are a few, but they have vanilla replacements when there's no LLL
so how does your vanilla sorting work?
there's no sorting 😳
xD when you said you had vanilla replacments, i thought you meant that too.
I've had a few attempts at making it, all failed
hmm, being honest, i have no clue how the terminal stuff works.. well.. basic understanding.. but in theory, if the data can be sorted, then all it is is outputting the data, to the terminal... so is it just the sorting of the data that is not working?
yeah, it wouldn't be hard to sort stuff
but it would be harder to integrate commands to do so
(especially when LLL is present and using the same commands)
oh god I'm starting work on 5th project simultaneously 🙉
lol
well yeah, from my pov, any "independent" catalog would need to patch out other mod's commands x.x
yeah i need to come up with a good solution for that
and im down to integrate some stuff if you need me to on my end for both of you if need be
the problem (for me) is, I would want to support all aspects.
namely... Vanilla Only
Vanilla + LLL
Vanilla + DL
Vanilla + LLL + DL
Vanilla + some new mod that comes along and tries to do the same (unlikely i know, but hey..)
which is why i say an independent catalog is better (for me at least) to have a dependency on, because then LLL/DL/whatever could rely on the new catalog, rather than coming up with their own versions... but i think whatever catalog, as long as it supports all moons registered on any mod that allows registering of moons, and allows the functionality needed (sorting and displaying variables) it will be all good.
I am sort of already doing the custom ordering thing, but that relies on using LLL's sorting command and mechanic, so if i can assist with making sorting work, do let me know (in either of your cases)
well the unlikely thing you said might not be so unlikely, i know jacob plans on making another API instead of all of us working on a central maintained API lol
and yeah I'm sure I could come up with ways to hijack LLL's sorting command in DawnLib to also do my own sorting if I could find ways to implement different sorts
honestly i think that putting an effort into a separate terminal-sorting-managing mod does make a lot of sense
since - as you've said - when it's a part of bigger API it's gonna create another multi-dependency solutions down the road
rip xD
I have seen the effects of people being pulled in different directions because of 3 options (of the basically same option) existing instead of just 1.. I dont predict (at least in what im witnessing elsewhere) that all 3 of those will survive.. people always choose one option.. and the others wither, or all wither.
yup
agreed tbh
yeah like with LL and LLL they both handled different stuff so there was no tearing apart in different places, but since a lot of what jacob wants to do is basically the exact same thing im doing there's just gonna be a lot of repeats and compat hell 🙃
there's already a bit of compat hell in different places, i gotta get people to change some tag looking to also consider DawnLib too
speaking of which cough @white finch if itolib is doing stuff in places that uses a moons' tags etc, i'd appreciate a dawnlib soft depend that also grabs the tags from there
oh i would have to do the same thing 😅
so registry and others can get your tags
yea, it's all strings so its not really that bad
I wonder if it'd be possible to create a core lib every major content addition API would use to make compat simpler lol
living in the utopia
🥲
i mean how would that even look like
Every major lib looks at what they need, everyone discusses how to make a unified backend, 12 months later nothing has been done
oh we've done that already 😳
amazing
Murv
frov
that sounds like trying to get everyone on one central major api
yep, except everyone can have their own API
yeah but at that point why?
kinda like the plan to lobotimize LethalLib
yeah i should do that soon too
did you know LL makes a node that every unlockable has but only for decor? that was fun to find out
it will simplify the life of people having to integrate support for major APIs
no as in like, at that point why isnt everyone working on one major api
why do we need multiple
oh nice (I have no idea about the terminal systems btw)
because afaik what me and jacob are making are almost completely identical
it's just a thing that points to a price
That would be ideal, but if this modding community can't come up with a community project like R2API, it's not happening
we'd need every API maintainer to agree to make a project or move to a project that will be the API
such a project needs decisions to be done, and ContentLib failed because we couldn't decide how to do things and act on it, but damn I learned so much
ContentLib also failed cuz i was super experienced and we were doing a lot that was unnecessary
inexperienced*
actually yeah it failed because i was too good for it 😎
lol
oh also about this, I'd say delay that until DawnLib has been free of issues for long enough. I'd say that a good plan would be to put out a LL fork out which is lobotomized and that'll work for testing out if everything works out smoothly, then it can be done for real
Yeah that's fair
I do not actually, but I shall keep that in mind 
-# hey xu
Hi cheese
forgot to mention this update or the one before it fixed the problem i was having
Yippee
I just need to fix LCBetterSave compat and dawnlib will be in a stable state
I do need a maintainer to work on vehicle and interior stuff tbh while I work on documentation or the other way around T_T
It overrides the delete file button
So none of the vanilla functions run that I patch
So me trying to delete my own save file wouldn't work
Cuz my code would never run
Yea I just gotta understand what's going on there lol
yeah
tempted to just make my own
but it'll take a bit so i gotta make normal compat first
v0.4.0
- Fixed incompat with LCBetterSave.
bumped to v0.4.0 because i think thats all major issues gone
Yes, please
I really hope you figure out the fix for the items falling through the ship floor, after like 2 or 3 lobby reloads things are pretty much completaly sank
Since Matty hasn't replied you might be able to check his code on his Github for it
https://github.com/mattymatty97/LTC_MattyFixes/blob/matty_fixes/Plugin/src/Patches/ItemPatches.cs Should be in here
Oh wait it's actually this patch
I was checking the config and the Out of Bounds section is for the items falling under the ship problem
reminder that my OutOfBounds fix ( and DawnLib's if it uses my approach on save ) is not compatible with mods like GI that completely remove item falling.
that will indeed cause items to slowly shift into the ground on each save they are not picked up and dropped again
I only have the rotation setting enabled in GI unless that also messes with it, but it didn't before DawnLib overwrote your stuff

So Xu should implement your Out of Bounds fix into DawnLib or you should probably make your Out of Bounds fix work with DawnLib
Idk which would be preferred that is up to you 2
Idek if the rotation setting in GI is needed anymore though
I think Xu is already saving rotations
I will test that rq on a seperate save
Yeah DawnLib does indeed save them
Lmao I swear if this cause issues to the SSS (like Matty said incompatible with GI) I'll destroy Oxyde
The SSS is fine, it's just the floor stuff
i mean MattyFixes has been incompatible with GI's items falling option for a while 😅
Yeah but these 2 Im already handling it
I just don't really get the out of bounds fix
Why would it incrementally get worse every lobby reload
How can items sink into the ground
Not a question for u lunxara
I'm asking matty
Oh I know, I just know it's some whack Vanilla issue
I think Matty described it in his thread once but it was uhhh
Ages ago
So yeah asking him again is good
Because the raycast should just put it on top of the collider, the raycast can't hit the collider whilst inside it no?
@blazing nacelle
Again, it's a question for matty
Oh yeah btw Xu, your fix for scraps on furnitures only works for 1 lobby reload, if they aren't picked up and dropped again they then fall onto the floor I've reprod it with Maxwell on the Electric Chair and Gazpachos by the Ship Lever
lolol
Not too sure why, I think the same sinking thing might happen that is going on with the floor stuff perhaps
raycast has to be strictly above the collider. below, inside, inline will all result on the raycast missing
you could fix it the opposite way if you wanted tho Xu
instead of fixing the save positon you could fix the raycast location 😅
yeah but then how are items progressively getting deeper and deeper into the ground? if the raycast misses what position is it using?
there are multiple issues with items at spawn
one is the raycast starting from the origin instead of the vertical offset position
another is that the game saves the origin instead of the offset
3rd is that not all items will fall on spawn depending on a flag in itemProperties ( in vanilla only the apparatus has that flag set )
4th is that items will fall twice for clients, once on the host a second time when client joins and gets the host positions
it misses meaning it does not move, but when you save it again you still subtract the vertical offset as if the item had moved. therefore sinking it even more
i see
you could mitigate it by only shifting items with negative vertical offset
but thoose would still have the same issues
plus items would break if anything changes the vertical offset while offline ( eg: mod update )
so when spawning the item i need to add the vertical offset to the spawn position?
honestly i gotta check the spawn code i wrote earlier i forgot what it had tbh
the reliable solution is to do the shift during save
so you ensure the origin is always above the collider and it doesn't matter what other mods do
hmm i thought i already removed vertical offset from the position when saving
you'll most likely have to add that small fixed offset like it do (0.01f up )
just removing the vertical offset puts it still inline with the collider and unity is not smart enough to deal with that condition
Ideally prolly should make it configurable like you do as well just incase it'd ever need adjusted for some reason but your value has never caused me issues
i made it configurable just because i could. there is no reason to change it. even float.Epsilon would work
yeah true
i don't think it's in DawnLib scope to fix point 3 and 4 tho
host: loads a save -> joins the game
host: items spawn at post x
host: GrabbableItem.Start() -> item fall to pos y
client: joins the game -> items spawn at pos y
client: GrabbableItem.Start() -> item fall to pos z
host: item pos y
client: item pos z
y != z
all of this because there isn't a single NetworkTransform in the entire game 😅
all clients are supposed to repeat exactly the same options of the others and if they don't you get desyncs
icic lol
maybe im wrong but i think there shouldnt be raycast at all when loading save (or raycast only for items that was pocketed/held before server close)
like why would you calculate ground pos if you already saved it
-# i didnt read all of it if it was already said
most basic answer is that some stuff in the ship might not exist the next time you load up a save, which is something that the dawnlib saving supports
can you give example?
items ( especially modded items ) can change rotations/vertical offset or get removed/added
for that reason i decided to patch them on save instead of on load
also w/o editing the save format you cannot know if a spawned item was previously being held or if it was just placed there
main example is if you drop an item on the file cabinet then move the cabinet
on reload what should happen to thoose items?
saw you changed the UI! looks nice
i'll give some more pointers later
but you probably already know the main one lol
Face reveal
yeah that moon is supposed to be a bit higher lol
the UI in the unity project does NOT match ingame at all, so every change needs me to do a reload, left it as that for now
v0.4.1
- Removed some redundant code.
- Implemented an OutOfBounds fix from MattyFixes into here due to having a saving system.
- Fixed client being able to pull lever during the start of the game that would break the lever.
- Readme and wiki updated with more information about how to create content with DawnLib.
- Started work on a new API with a new maintainer.
also the moon name being a little bit to the right
lol
I thought u wanted it indented 😔
yea like my forehead
oh yeah ig my graphic does show it indented
no that's an incredible mistake but no
New api?
Like a new thing people can make in dawnlib
Oh
this might look slightly cleaner if the dotted line was a little less thick and matched the blue of the routing text
👀
it seems to be a similar color, it's just the letters on the routing text are so thin it crunches em up and makes em look a different color due to LC's post proc effect
well, if i had to guess anyway
still different in practice tho
i guess thats true
do you reckon the color should be changed to not match the text in editor but in game?
whatever ends up consistent
does this mean i should disable the item clipping patch in matty fixes
I noticed items still sink into the ground when using Bigger Ship at least
testing the new update
dunno if it happens with Mel's
I'll take a look
If its the same thing I implemented which I believe it is then yeah
What exactly in Matty Fixes have you all implemented?
Outside of OOB and maybe Item Clipping
lol
Iunno, only the relevant stuff mentioned that's happening during saving/loading
item clipping has nothing to do with what xu implemented.
OutOfBounds does. but you should not disable it as xu only implemented the parts during game save. other fixes are still needed
Mattyfixes save patch doesn't run with DawnLib as DawnLib replaced the save code in its entirety 😅
Neat
@hallow galleon just a fair bit of warning i did make a breaking change that lethalmin wont like, got rid of the AlwaysKeepLoaded field
it's not just handled automatically
mpw*
now**
v0.4.2
- Added support for
PlayerControllerReference,intanddoubleinNetworkVariables - Added components from DawnLib and DuskMod to be visible within the list in the Add Component Menu
- Added
PlanetUnlockera useable grabbable object to unlock a planet that usesProgressivePredicate - Actually implemented the OutOfBounds fix from MattyFixes, I accidently forgot.
- Removed some unneeded obsolete fields like AlwaysKeepLoaded
how far are you on the docs>?
i've got i think most of the setup done
the code template was finished this morning so people can just clone and use it
i made 1 scrap with LL once, how hard is it with dawn 
Code or no code?
no code me think
I mean it's better in both ways really, but it can feel overkill for 1 scrap
just wanna get the feel of it back then but kinda forgor to continue
noisemaker something
i mean hey, if you wanna do it, step 1 is to get a v73 patched project, and thats one thing i gotta write doc for so people know how to do it properly lol
What does that networkvariable point refer to, do they not already work in them?
zeekerss only ever uses NetworkVariable<int> in base game, which is why its the only NetworkVariable that will work in modding, unless you write some manual code (which is also the manual code that is in __GEN and what the netcode patcher code step we used to have does)
Ah modding related
like we no longer need the netcode patcher code step for rpc's, it's just for networkvariables, and even then it's only like two lines of code for each type to be supported so i just manually wrote it instead of having Assembly.GetTypes run
ye
will only be modding related
now add NetworkContentReference
Your also legally obligated to ignore any suggestion i throw at you until i stop being lazy and make actual github issues for them
lol, technically they're already passable via rpc's but not the most convenient since it's just two strings being passed into an rpc
Not convenient and not performant !
yep, which is why i don't use it unless i absolutely need to but yeah it's on the eventual bucket list
I forget the specifics but lll 2.0 does it in a cool way where it uses static lists in generics where the type itself is used to conveniently point towards the right list for indexing
Oh right it’s because of this weird even, circular power dynamic where definitions of ExtendedContent must define a generic value that’s a ExtendedManager that must define a generic value that’s a ExtendedContent that is defined with this manager
So the defined coupling of the ExtendedContent & ExtendedManager allows for some cool relations between them that can be setup in the base class
i have also technically made one scrap but i do code instead of no code, i was just checking your wiki for it earlier and it blank
which is okay
i was just wondering
Basically same steps as lll with some extra/different steps
Also still can use code for it, no big difference
fumoffu
Oh wow it really is, i mustve legit missed it by n hour when i checked before i slept. awesome, thanks
🤔
if documentation was written by the SCP foundation
"The solution to your very specific issue is the following: [DATA EXPUNGED]"

17 year old reddit thread but the solution is from a deleted account
"Nvm I fixed it" *refuses to elaborate*
too fucking real
I did say I kept a couple placeholders I had to check, but also according to someone this part isn't even needed anymore
yeah i just figured id delete the unity template stuff
Which to do first
15
17
2
Documentation/Tutorials for using DawnLib
https://thunderstore.io/c/lethal-company/p/TeamXiaolan/DawnLib/wiki/4101-c1-moons/ im starting to fill up the pages with some super basic and pretty nondetailed explanations for what you need to do as guidelines for different content
i do hate how thunderstore made everythign in one line though, i definitely line breaked
you gotta do <br> twice if you want a space in-between lines
ill give it a try
okay i thought i tried it before, guess not
noice
thx
https://discord.com/channels/1168655651455639582/1434918235291259050 also if anyone's interested
is there a wiki for dawnlib btw?
cuz i don't wanna bother xu by asking what does what
Its in progress afaik
The thunderstore wiki yeah
It's being updated rn but it has the basic info on it
dw, you will
it all comes back around like a circle 😔
https://thunderstore.io/c/lethal-company/p/TeamXiaolan/DawnLib/wiki/4266-f1-utility-scripts/
documentation on utility scripts is also there
should this be ignored?
Yes
@white finch it seems like referencing Oxyde as an ExtendedLevel causes issues? i've noticed this in a few mods errors now
Plugin.Spam($"{LevelManager.CurrentExtendedLevel.NumberlessPlanetName}, {LevelManager.CurrentExtendedLevel.IsRouteLocked}, {LevelManager.CurrentExtendedLevel.IsRouteHidden}, {LevelManager.CurrentExtendedLevel.LockedRouteNodeText}"); errors too for example
Oh whar
im guessing its some incompat with DawnLib as a moonloader but maybe LLL isn't making an extendedlevel for it?
but i feel like that'd cause more issues
I mean yeah I don't think there'd be an ExtendedLevel made for it but I can double check
im wonderin if i gotta inject myself in some places in LLL to make it recognise DawnLib moons as modded moons too
tru tru
It causes cyclic dependency, but I dunno if you have LLL as a soft dependency
@white finch just checked this and yeah there's no ExtendedLevel for it
🌄
v0.4.3
- Fixed incompat with moresuits.
- Gave more configs to moons.
- Fixed a long standing issue with registering no-code mods when you have multiple pieces of content.
more configs to moons? 👀
gotcha
YOU MOTHERFUCKER
shakes you around and spills out your lunch money
This mod was causing my pain and suffering!!!!!!!!!!!!!!!
wait what
HAT DO YOU MEAN IT ISN'T DAWNLIB
IT'S SOLIDLIB
@odd hemlock Ohhhhhhhhhhh Solid
Do you wanna get a treat or blow up
I haven’t had any problems, maybe it’s the Shockwave Drone showing up?
Cus I do use that mod but people usually kill it and bring the scrap back
Lol
Hmmmm
Since you have Terminal Formatter the detailed scan is a good workaround lol, I also wonder if using Lethal Fixes’ exact scan setting fixes it but yeah it’s weird
Does this setting fix it if you enable it in Lethal Fixes?
No I got my results from Imperium
There were physically only around 3 scrap items in the facility usually
Weird, maybe some issue when using SolidLib and Imperium together
🤔
Is it happening on vanilla, custom moons, or both?
All
Well it's an issue specific to moons modified by Lunar
Disable Lunar, and the problem goes away
🤔
Maybe you could enable Extended Logging for SolidLib and then send your log to Solid after reproing it with Extended Logging
Just making sure, if dawn save system is off items using dawn will be saved a different way?
they'll be saved using vanilla yeah
Ok, i do have some conflicts to report but ill have to do more testing haha
okie, let me know
Rn im pretty sure its furniture lock
Furniture Lock has been fine for me
Ejecting spammed errors
And had both the normal ship and 2 story models at once
And furniture locations not saved
@oak linden Is the moon supposed to be on the loading bar?
a bit up but been lazy to move it up
Also, is there still any known issues with dawnlibs item saving? I tried it awhile back, but I was having a lot of item saving issues, like items opened from present kept spawning presents when reopening the save, and items from old saves would appear in new ones.
It works now
altought, a small bug report regarding the rotation of the items.
It kinda bugs out when using reserved slot, if you leave and you have for example, a walkie in your reserved slot, it will appear in a weird rotation, like if it's stand up
not game breaking,but it happens
afaik most if not all issues are resolved
i might not be able to do anything about that
it's likely reserved slot rotating something in your inventory or something similar when its reserved
i just save the position and rotation when the game runs its saving stuff
Okay, last thing. Is this DawnLib's fault or another mod?
I get this when trying to route to Oxyde after unlocking it in my constellation/sector. It used to work before but recently it broke, and I suspect dawnlib might be the cause.
019a4fbb-ad5a-9745-2adf-129b665d024c
it's a fault on LLL afaik, Paco said they're looking into it, so hopefully next LLLU update it's fine
@white finch Is there a ETA on this?

Are the tags here founded on them being <string, string> kvp designed or have you planned for the data tag stuff lll was meant to have yonders ago
As I was saying before my pc crashed, I couldn't think of a good usecase for the data tag stuff, the only time I would've ever thought it to be used was for the ogopogo enemy, but that's also partially not the tags responsibility to fix the issues related to that
So ye rn it's just a NamespacedKey, I.e. lethal_company:natural
I agree that it’s not a good way to fully do it but I disagree that there might not be good use cases for it
On phone and been awake for like 28 hours one sec
Sure take ur time
I think in a perfect world a content lib for unity would actually take an approach similar to the post processing profiles, particle systems and to a lesser extent materials (the latter being a 1:1 usecase for the more primitive datatag idea)
That way vanilla properties, api properties and any additional mod properties could be easily setup as like modules
Inspiration for me bringing this up was I was thinking about that mod i was making that is a dungen api that makes it easier to tap into the generation for stuff like my cool windows and holes and it had me thinking how much of that (if any) should theoretically be an api’s responsibility
That would be cool as an editor tool packaged with the popular libs tbh yeah
Lc api’s have been good and gooder at empowering devs to build ontop of custom content but they for the most part haven’t done tooo much in standardising the way core systems can be expanded upon
Hmm, I honestly don't get your point too much but I'll ask someone to help me understand it lol, and yeah it does feel like I've hit a bit of a point where I can't make something like DawnLib be any better if that makes sense, and I don't mean performance wise
Like if two mods want to expand upon the same system (eg. my dungeon mod and raph's dungenplus) the major api's have no real intended method of properly handling that
a more specific scenario going off that is what if we both want to add serialized data to Tile components
(this is closer to theory than an important practical suggestion)
before I almost forgot.
Setted price for oxyde
appears free ingame
appears free, is it also free or not?
ok, I see what you mean
is there a way to show the price in the moon's catalog?
there is, i might've just forgotten to do that part
is this a custom terminal or vanilla?
the good part is that the price is actually applied and is there, that means its just a tiny problem
oh but i'd appreciate it if you can put this on the github
damruh's moon plus
im writing documentation rn and helping #1263283058266603644 so ill probably forget
took a few hours but
https://thunderstore.io/c/lethal-company/p/TeamXiaolan/DawnLib/wiki/4099-b2-registering-via-unity-editor/
https://thunderstore.io/c/lethal-company/p/TeamXiaolan/DawnLib/wiki/4101-c1-moons/
these two pages are about as polished as i could get them
for documentation
cool!
gogus mentioned
idk what he has to do with this but gogus mentioned
pea brained
the idea was that a tag could contain a position he'd pick for spawning
because, and no offense, the way his whole spawning thing is (how it was back then atleast when i looked at the code, idk about now), not that great
you can already do moon compat w ogo fairly easily as a moon maker tbh
yeah but it's the fact that you gotta do moon compat
don't think it's changed
like yes it's easy, but in an ideal scenario the enemy would work standalone in these scenarios
yee probably
better than nothing and i get why thats a thing but in isolation that is a very bad solution
totally lol
the coordinates have been a thing since release iirc, they're just configurable now
it was a very jank workaround for ogopogo not liking Vow's thin and shallow rivers
current way to implement moon compat tho is good for specifically me cuz I don't get complaints about how the enemy's unfair or anything, since it's on the layout if the enemy doesn't play well
hey @oak linden, still busy to check this?
Good morning to ya too
I got a game dev panel I have to go to in about an hour so imma make food, ill check it out when I'm back lol
Or while I'm eating, will see ig
Config itself is actually a bit dookie
Disabling nancy and scrap-e doesn't disable them so I had to set the weight on 0
They're probably enabled by oxyde or smthn else then
Dunno why I'd keep them enabled for oxyde though, might be an oversight
Maybe
Why is the first hour of this panel "AI story telling"
Oh cool the team who made vampire survivors is here
Apparently someone who worked on inscryption too
Good morning, it was almost midnight when I asked :']
Sorry
Why would you wanna disable Nancy?
I was not fuckin moving
no
Wdym no? 🤔
stop moving kiszony

no it's not rng
Yeah didn't think so, from what I was told it's related to if you move while she heals you
perish
How do you change the scan node colour using dawnlib
ForceScanColorOnItem component 
I underestimated how hard this would be for my pea brain to take in without docs, I should have just used lethallib
words on a page to me bro...
Add that component to the item 
Or uh
Are you doing DawnLib editor stuff or code-only 
code only
Actually yeah you can probably get away with adding just adding it to the prefab and tweaking parameters in code: https://github.com/TeamXiaolan/DawnLib/blob/main/DawnLib/src/Utils/MiscScripts/ForceScanColorOnItem.cs
like prefab.AddComponent<ForceScanColorOnItem>()
ye i forgor to respond but i use it in code too in some places, it's pretty neat
I have a question for you in regards to dawnlibs achievement system, if I were to add them to a particular interior I've created, Can end users use the interior without it installed if they don't want them, or will it's absence cause errors? @oak linden
If dawnlib isn't installed it should be fine, assuming you add interior via LLL
It might have a couple warnings if you use some scripts but nothing error or broken
This is assuming u do no-code registration
neat, thankies
hey @oak linden i'm getting this while debugging a pack (followed by the game just opening in vanilla)
[13:47:29.6452170] [Fatal : BepInEx] System.Exception: Cyclic Dependency:
- MrovLib
- mrov.WeatherRegistry
- com.github.teamxiaolan.dawnlib
- imabatby.lethallevelloader
- AudioKnight.StarlancerMoons
at BepInEx.Utility.TopologicalSort[TNode] (System.Collections.Generic.IEnumerable`1[T] nodes, System.Func`2[T,TResult] dependencySelector) [0x0009e] in <cebe69d7792f4abca78b685257766c60>:0
at (wrapper dynamic-method) BepInEx.Bootstrap.Chainloader.DMD<BepInEx.Bootstrap.Chainloader::Start>()
[13:47:29.6452170] [Message: BepInEx] Chainloader startup complete```
do you know what could it be?
(sorry for the ping)
(this is the profile 019a5e98-2730-2ec4-cde3-46c86ade8b8c)
It's a cyclic dependency issue, basically the mods you see there are soft depending on eachother and it caused the mods to eventually depend on themselves which breaks em
Caused by LLL soft depending on DawnLib but I think mrovlib might just have a ton of unnecessary soft dependencies
So mrov was pinged in #1193461151636398080
I've never had a problem with yours/mrovs/LLL that's why i'm a bit puzzled
Yeah it's something that has only rarely happened before and in some cases non preventable
The idea as well is that a mod soft depends on another so that the other mod loads it's stuff first, but if both mods cause a circle dependency bepinex cries and doesn't know which to load first and breaks
It's no fault of any particular mod but I believe mrovlib has unnecessary soft dependencies declared
i see, i'll wait for mrov to take a look then, thanks xu 
Ye, I'll take a look at his code too just incase later
Worst case scenario @white finch redirects his soft dependencies to dusk instead of dawn
Actually that wouldn't work lol nvm
#1193461151636398080 paco read here when u see this 
dunno if this is something to be put here but just leaving it incase:
[Debug : BepInEx] Skipping loading C:\Users\lloyd\AppData\Roaming\r2modmanPlus-local\LethalCompany\profiles\Acalians Company\BepInEx\plugins\qwbarch-OpusDotNet\opus.dll because it's not a valid .NET assembly. Full error: Format of the executable (.exe) or library (.dll) is invalid.
[Info : BepInEx] 151 plugins to load
[Warning: BepInEx] Skipping [LethalLevelLoader 1.4.11] because a newer version exists (LethalLevelLoader 1.5.3)
[Fatal : BepInEx] Error occurred starting the game
[Fatal : BepInEx] System.Exception: Cyclic Dependency:
- com.github.teamxiaolan.dawnlib
- imabatby.lethallevelloader
- MrovLib
- mrov.WeatherRegistry
- CodeRebirth
at BepInEx.Utility.TopologicalSort[TNode] (System.Collections.Generic.IEnumerable`1[T] nodes, System.Func`2[T,TResult] dependencySelector) [0x0009e] in <cebe69d7792f4abca78b685257766c60>:0
at (wrapper dynamic-method) BepInEx.Bootstrap.Chainloader.DMD<BepInEx.Bootstrap.Chainloader::Start>()
[Message: BepInEx] Chainloader startup complete```
Fixed on newest versions of both MrovLib and LLLU 
Updating only MrovLib will work too, if LLLU update still hasn't shown up in your manager
none of em have yet XD hahaha will it fix the error completley?
fair XD
anyone got an idea what this mean? XD
[Warning: DawnLib] Min (64) is bigger than Max (32), setting Min to 32
it was in my log on startup 39 times in a row one after the other XD
Coderebirth stuff, it's just some config defaults in there that aren't super accurate
Hey! I think I’ve run into a conflict between DawnLib and LethalConstellations, and I’d really appreciate a sanity check or a fix if possible.
Game / setup (short):
- Lethal Company v73
- LethalConstellations v0.3.2 (darmuh)
- LethalLevelLoader v1.4.11 (IAmBatby)
- OpenLib, LethalLib, LethalNetworkAPI, LethalModDataLib
- DawnLib v0.4.4 (TeamXiaolan)
- (plus other mods, but I can reproduce this just by keeping DawnLib + LethalConstellations + their core deps)
What’s going wrong:
With LethalConstellations alone, the terminal behaves as expected:
- Each constellation has its own set of moons.
- When I type
moonsin the terminal, I only see moons belonging to the current constellation. - Moons from other constellations are hidden and can’t be routed to.
But when I enable DawnLib:
- Typing
moonssuddenly shows all vanilla moons (and some extra modded ones), even in a constellation where they shouldn’t be available. - Example: I’m on a constellation where Titan is not supposed to be accessible, but
moonsstill lists Titan.
However, the locking logic still works:
- If I try
route titanfrom that constellation, LethalConstellations correctly blocks it and says that Titan isn’t available / isn’t in this constellation. - So under the hood, the constellation & lock system is still doing its job – it’s just the displayed list in
moonsthat’s wrong.
In short:
With DawnLib enabled, the moons list ignores constellation restrictions, but routing still respects them.
How I narrowed it down:
- I reset configs for LethalConstellations and LethalLevelLoader → no change.
- I tested disabling various “terminal-ish” mods (ChatCommands, gambling mods, etc.) → no change.
- When I disable DawnLib, the problem disappears immediately:
moonsonce again only shows moons from the active constellation.- Moons outside the constellation are both hidden in the list and blocked on
route.
- Moons outside the constellation are both hidden in the list and blocked on
When I turn DawnLib back on, the issue returns.
Because CodeRebirth and some other mods I like depend on DawnLib, I’d really love to keep using it — but the broken moons list makes constellations very confusing to play with.
What I’m hoping for:
If possible, it would be amazing to have either:
- a toggle / config option in DawnLib to not touch the moons catalogue / terminal moon list when another mod (like LethalConstellations) is managing it,
or - some compatibility adjustment so DawnLib’s terminal handling doesn’t override constellation-based moon visibility.
If you’d like, I can also provide:
- my full mod list,
- logs from when I open
moonsand tryroute titanon a restricted constellation,
or test a debug build.
Also, CodeRebirth is pretty core to my pack, so I’d love to keep using DawnLib if we can make it play nice with LethalConstellations.
Thanks a lot in advance 🙏
A modpack code would be amazing yeah
Iirc when I was doing lethal constellations compat it was fine but I didn't go too deep into the mod
I'll ask darmuh about it
here you are 019a74ca-f5df-0647-b70d-c23f13bb6e02, this is a very amateur pack, bc I'm not even a modder
okay
I'm not sure that is dawnlib enabled here, so if it is not, turn it on please
okay
I have all those mods and I’m not getting that issue
I can send my modpack code too
Likely config difference, I'd appreciate a modpack code yeah
@oak linden Welcome to my 1,776th question, because Cost here is defined as get only, I am able to get it's value with .Provide() like you told me almost 4 weeks ago, but to set it, is my only option patching it's constructor?
The same thing is found in things like weights for items and other places I need to reach into an Info class
i think you cant set it at all because its getter only
Actually, i think you can il patch constructor but it will be messy
I think I'm able to, I just don't know how to make an IProvider
Wdym make, its just interface in dawnlib
Oh wait you mean set it?
IProvider<type> variable = new SimpleProvider<type>(value)
Iirc
I didn't test it but it looks like it should work :p
doubt but you can try
that works i think?
how do i register a moon in dawnlib
same thing as everything else?
like just placing everything in the same bundle and making a modinfo bundle for it?
and also is it 1 moon per bundle like LLL?
1 scene per scene bundle
The dawnlib wiki has the information on how to register a DawnLib moon
v0.4.5
- Edited MapObjects in the editor to be much easier to add onto.
- Added Interior priority onto MapObject SpawnWeights.
- Fixed issue with interior registration weights.
- Added blank reference replacing with interior SpawnSyncedObjects, butlerbees, enemy ai nests, haunted mask, sapsucker, lungprop script.
- Fixed another issue with unlockables when saving.
- Gave DawnLib Interiors SpawnWeight configs.
- Gave DawnLib Moons a lot more configs.
- Did more work onto documentation and made the editor experience cleaner.
This might reset people's map object configs
Well since the moon one got replaced by moon + interior then yea probably
trying to get this to work in unity, but i'm getting these errors. loading a save just puts me in the Weed Void. this is on a freshly patched project with only the DawnLib unitypackage + mmhook
Yes you can't use DawnLib in the unity editor to how some stuff is implemented
Apparently DawnLib currently causes an issue where clients can't join host, I think I spotted the reason just gotta test and upload, if you're playing multi etc just downgrade one version
Hello, I was pointed to this thread after some troubleshooting, I think there may be a problem with the new Dawnlib update. Whenever I try to land on a moon the ship skips the landing animation and doesn't open the ship door. My mod code is 019a83bd-0c37-dc8f-bdc4-c3c8728c90ce. Unfortunately I'm on Thunderstore and having trouble figuring out how to copy the logs for you guys, I do have a couple of screenshots but I'm not sure if they'll totally help. Just figured I'd let you guys know about what's going on
You mind if I send a zip to test? Just to see if issue is fixed
Sure, I don't mind
Okay just a minute then
You can downgrade one version for now or test the zip I just sent btw
Ye, downgrading worked, we were able to connect.

