#1.20 Porting
1721 messages · Page 2 of 2 (latest)
yes i've given up on having worlds compatible between MC versions
Modders fuck that concept and ive gotten tired of trying to teach them otherwise
It's ready I need the RB to be built so I can do changelog stuff
you want to rip out that system after it was just added as non-public API?
No. I don't want it public api, which is why it was added in the way it was.
excuse me?
... really.
Sorry that post I just sent bothered you. Deleted it right on cue.
gah, I always forget, what was the new gradle 8 replacement for archivesBaseName
RIGHT I remember the status of the alias stuff
we were supposed to design a API in DR for it
not just 'make the method public'
are you sure that's gone?
Yeah we were discussing it last night
for now, mark it as 1.20 so the depreication checker shuts up.
.
doesnt amtter much as its a private method. But ya
well this is fun, the forgespi dep doesn't seem to pull transitives?
i would be more inclined to do register(Name, Supplier, Set<ResourceLocation> aliases)
DR isnt a builder system
it's definitely in the pom
sure, simple enough
I was concerned that was going to exponential inflate the # of register methods, but there's actually only one register method in DR right now
What there is a lot of is static factories for DRs and ROs
Ya.
That is the concern of doing this vs a builder
Techically this doubles the number of methods 😛
is this the FML subproject?
However, i think that this is something that hasnt been touched in a long enough time that we dont have to worry about the potential future 'what if we add more arguments'
yeah I figured
yeah, you have to manually add all transitives that you need. because the installer requires a flat list.
> Task :forge:validateDeprecations FAILED
21 actionable tasks: 4 executed, 17 up-to-date
Deprecated method net/minecraftforge/common/ForgeMod#addAlias(Lnet/minecraftforge/registries/IForgeRegistry;Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/resources/ResourceLocation;)V is marked for removal in 1.20 but is not yet removed
FAILURE: Build failed with an exception.

kind of annoying that it prevents me from getting patches
on what
question. line in changelog: Forge dummy entries handled by Forge registries have been completely removed.
what is that referring to?
that's kinda the point
bleh I'll just stash this then
what does this mean too: The Forge common config has been removed from the game itself
git is telling me that no patches have changed 
the common config was deprecated, it was only previously used by resource caching
now it's an empty file, as before
apparently we need to restore the dummy system in ForgeRegistry because it was improperly deprecated for removal
can the installer handle classifiers?
yeah there's code in there to specialcase them
probably not. it was deprecated by lex's choice. i think it's still useful in certain scenarios, but lex disagrees.
That would probably be good
this is actually harder than expected because the deprecation and todo commits had vanilla sources 
oof
Ouch
Eesh
yeah I'd be screwing it more
revert the sources removal commit then and try again 
it doesn't really work though
like if we want to squash those commits, those commits need not to contain the vanilla sources
because the removal of sources would be squashed in the first commit
the point is to put them on top of the squash. you can fix them by genning patches and not commiting the changes to the source
ah it gets even better.. there's conflicts with the commits after.. yeah I don't see this doable now, and since the primer documents all changes, we can do the split commits next time
@eager roost https://github.com/MinecraftForge/MinecraftForge/commit/3de22ffba3c5325f29c39b66c0c8a02e2d86f9e4 so do we just change the LOGGER.fatal to throw?
My intention was to do both the logging and the throw
lol bad shrimp
actually it didn't
^ btw
I just assumed "Dennis C" was giga for some reason
Nah, that's me 🤣
you know that probably means I have attributed more commits to giga in my head in the past
¯_(ツ)_/¯
It's not even the German spelling though, that would be with a single n for some reason 😄
I by now can associate the name of most people that commited to forge to their online usernames
don't ask me why 
for the readme, what's the new LTS?
could remove it
anything remaining for the update?
Regarding this, did you set the project name in the settings.gradle to fix it? <#neoforge-private message>
fix what
Nothing pressing, but that lighting thing in ChunkAccess is still open 
what thing
^
I have an idea for it but it's kinda ugly
I'm going by the commit message here. Assuming you changed the build.gradle to the non-deprecated one for setting the archiveBaseName. Ideally you would get rid of that entirely and set the project name correctly in the settings.gradle
@barren snow RB is out, fix ya blog post
(sorry)
Wrong one 
lol
- [ ] Update ForgeGui to match Gui changes did this get checked at all
is there any new gui features this update?
in 1.17 with powdered snow they added the frozen hearts and frozen overlay and we broke that
no
yeah I did see that
baseless claims.. /hj
manifest caching/delay issue?
we need to decide on the next LTS
I updated the description of the TC project cuz it was wrong and it prompted a rebuild
Curle wanted to possibly involve the community
therefore I say we remove the table entry for release
it can be added back later after a decision
Fair enough, my thought would be 1.19, though I don't know whether .2 or .4
give the retrogradle team more work why don't'cha
if 1.19 probably 2 because many big mods didn't update past that
then again that was only semi-supported vs 1.19.4...
I don't understand why it didn't work earlier. It ran the moment the version was published (9:59 am CST my time) -- the teamcity start time matches this. So perhaps it ran too fast?
And the snapshot one didn't run at all
Maybe put a minute delay?
@austere surge this would be your area of expertise. Also, the snapshot snowblower hook should still run on releases as that is part of the git history
most mods have skipped 1.19.4
Makes sense when you look at what mojang did in .3 with the datagen not in code
have you updated deps shrimp?
Trigger can be broken
modules are not happening in the initial release
I will check tomorrow morning.
Well that is weird
why is it saying 1.20 released 5 days ago
and the plat types rfc is interesting and still needs discussion
Since the trigger uses the same manifest
¯_(ツ)_/¯
I know doing some formatting is all
wait wtf
mojang messed up the release time for 1.20
it's june 2nd in their manifest data
Same for the mcage command, moja messed up
lol
That would be the only reason it would say that on the git
That makes it hard to port forge on the same day as the release 😃
they did it intentional to make you look bad
yeah we were only done yesterday
this is not right!
@signal lion speaking of blog posts, may I join the blog team
I also need to update my optifine post because I've realised I've linked the fabric version of a mod, not the forge one 
Yes you may
that response is really giving me "teacher, may I go to the toilet" flashbacks
Why didn't you go between classes!
I was busy working on waifu, mmmkay
anywho, bathroom breaks aside... anything left on the todo?
Did shrimp finish the alias thing? If so, it's just removals and renames after push
lex said change it to 1.20 deprecation
probably so it can be fixed separate to the squash commit
I'm currently touching forgegui using snowman as a reference cuz there are a few desyncs but nothing major
There is nothing to 'fix' about the alias thing
Its a API that needs to be designed and addressed later
the deprecation is on a private method as a reminder, which evedently got forgotten
Then, I don't think there's anything left other than changes after squash
well
I just said I'm fixing a few things in forgegui
it's my last todo bullet point that i use ever update
Oh, I thought there was a desync in snowman, misread
wow running forge is super fast now
without the double compile and without invoking gradle
change to intellij then
PSS?
ProjectScopeServices
Ah
oh curle can you approve my join request. https://github.com/orgs/MinecraftForge/teams/bloggers
* What went wrong:
Could not determine the dependencies of task ':forge:filterJarNew'.
> Joined SRG jar not found
great
Error getting artifact: net.minecraft:joined:1.20-20230608.053357:srg@jar from MCPRepo
java.net.SocketException: Connection reset

btw I never copied this over https://github.com/MinecraftForge/MinecraftForge-Private/commit/654828be0a7f91fcdab0f9ece755e441dd02ab04
lol
He means that Forge is on hold.
can we rename it it kicks my dyslexis right in the teeth :P
tode?
yes we need to rename it, if it ever becomes a production system
so I think a squash is in order
well we should rebase on the 1.19.4 RB commit
if maty/whoever wants to do the squash I will let them otherwise I can do it; just needs to have the proper info as a highlight summary of all of our commits + all the co-authors
There was one addition, so probably worthwhile
oh yes I've been waiting to do a squash for a while
Wait no, that was 1.19.2
should I rebase or cherry pick
rebase first I think would be cleaner
though actually it needs to be a rebase, nvm
don't squash until you push the commit updating the readme
you can probably force push the rebase to 1.20-dev
we don't really use the rebase/1.x thing and it doesn't fit the branch scheme, although it's all a suggestion. but generally it should be 1.xx.xx-(dev|rebased|final)
I started to organize my branch in folders, so I just sorta went, yeah, we would probably rebase at random points in time, so let's just make a timestamp
well fair enough ig
ah yes, intellij is throwing up because it's attempting to reload gradle after every rebased commit
cli ftw
stabby
it threw up on the first commit and that was it
for me at least
go ahead and do the squash if you want and put it on 1.20-final
I forcepushed to 1.20-dev shh
when you pushed that my rebase was done lol
xP
it is done
what happened
#neoforge-private I somehow managed to push my branch instead of pulling
thanks gh desktop
what did you do
I checked out the branch with gh desktop and instead of promopting me to pull it promopted me to push
do you need me to do some gitfu and split it into a branch?
everyone is screwing up here :P
pushed the wrong local branch 
my prior force push just deleted commits
infact it was the 32 commits that you pushed
the folder strategy could be nice
at least in intellij it sorts by folder
so like 1.20/dev 1.20/final? idk
u r squashing rn yes @flat zealot? also push the readme changes 
no I thought you were
lol
it's fine
give me one extra second
thonk, I spent 30 seconds looking for the readme, why's it in docs/ 
idk but github finds it all the same
if you're not going to contribute anything useful please go to other channels thanks 👍 this isn't for normal users, it's our channel for development that happens to be public so that the public can know what's going on
maybe you should check if anything got lost during the rebase and push mistakes
?
if your force push removed a commit that maty didn't push afterwards
I force pushed the wrong local branch, maty's client recognized it cuz the history was still matching their local for 1.20-dev, and then I fixed it afterwards
nothing is missing
maty is squashing, and hopefully writing a good commit message attributing all co-authors, and then there is testing to do
if you need help testing I'm here
we'll see. I assume we will give an installer jar in squirrels at some point; we've done that in the past
- Creative mode tabs are now a registry; renamed the
BuildContentsevent toBuildCreativeModeTabContentsEventand moved it in its own class ScreenUtilswas removed in favour of aGuiGraphicsextension- Update to Gradle 8 and FG6
- Rename
SaplingGrowTreeEvent->BlockGrowFeatureEvent - Remove the Forge common config
- Remove registry dummy entries
- Fix
RemappingVertexPipelinenot forwardingendVertex()call
hmm, I feel like that's the highlights
screenutils was not removed
ash reverted some of his removals/changes
and it's still SaplingGrowTreeEvent
I thought I reverted his revert
no don't
- Creative mode tabs are now a registry; renamed the
BuildContentsevent toBuildCreativeModeTabContentsEventand moved it in its own class ScreenUtilswas deprecated in favour of aGuiGraphicsextension- Update to Gradle 8 and FG6
- Remove the Forge common config
- Remove registry dummy entries
- Fix
RemappingVertexPipelinenot forwardingendVertex()call - Remove Forge tool tags in favour of vanilla ones
what was in the forge common config
Update to Gradle 8 and FG6 - this could mention the MDK update
the old stuff for resource caching
ah maybe mention that cuz it's confusing, like it had no more properties so it was removed for the time being
And also maybe mention the pack format is now 15 for both server and client resources
Do resource pack and data pack version actually match again?
Yep
when was resource caching removed?
Remove the Forge common config - I'm just weary to word it this way as people will take it as "OH NO COMMON SYSTEM IS GONE ENTIRELY!!!"
can someone go find out
why
- Creative mode tabs are now a registry; renamed the
BuildContentsevent toBuildCreativeModeTabContentsEventand moved it in its own class ScreenUtilswas deprecated in favour of aGuiGraphicsextension- Update to Gradle 8 and FG6
- Remove the Forge common config file (it only contained the deprecated old fields for resource caching, which was removed in 1.19.3)
- Remove registry dummy entries
- Fix
RemappingVertexPipelinenot forwardingendVertex()call - Remove Forge tool tags in favour of vanilla ones
- The pack format is now 15 for both resource packs and data packs
better?
the 2nd bullet point is inconsistent in wording
and the pack format bullet point could go closer to the top cuz the bottom bullet points all seem like "fix" or "remove"
I wonder whether I should use passive for all bullet points
that's usually how commits are written
- Creative mode tabs are now a registry; the
BuildContentsevent was renamed toBuildCreativeModeTabContentsEventand moved it to its own class - The pack format is now 15 for both resource packs and data packs
ScreenUtilswas deprecated in favour of aGuiGraphicsextension- Forge and the MDK were updated to Gradle 8 and FG6
- The Forge common config file was removed (it only contained the deprecated old fields for resource caching, which was removed in 1.19.3)
- Registry dummy entries were removed
RemappingVertexPipelinewas fixed to forward theendVertex()call- Forge tool tags were removed in favour of vanilla ones
this is everyone, right?
missed a the in second to last
looks like it is everyone
push to 1.20-final
what was just deleted I wasn't paying attention? :o
nvm apparently nothing was my eyes deceive me
wait
"favor"
we use american english
did you review my MDK changes btw 
I think it should be good but
Also we have been calling the main commit msgs Forge 1.xx since 1.19
so maybe you want to go for that too
how do I exit the ammend thing 
idk
lol
hmm
the git ignore was changed to allow committing rejects, just now noticed, I guess that's fine?
yeah
Ok time to build an installer and test things and give it to squirrels
applyPatches is also verbose
thought arguably it should've been verbose from the start
oh that got kept? that's fine yeah
what's this prelaunch thing
Huh?
Oh
yeah that was a thing I did we discussed it I don't fully remember
basically the hashmap ordering in jpms/sjh/somewhere was different in forgedev and caused the modlauncher log4j2.xml to be loaded instead of fmlloader's
so it subtly changed the way logging looks
I saw those
you know what's now missing from the mdk. mixingradle
let's not have that discussion rn 
a quick look over the patches and nothing stands out, so I'm going to shut down my laptop and go to bed 
Oh ok bye thanks for ur work!
I'll compile the installer then
(well, I already was)
nothing changed that would mean the MDK wouldn't be compiling, yes?
?
yes something changed and the mdk wouldn't compile (tabs). but I fixed that
good good
yeah, we still don't have the necessary configuration to test that with a task 
I wrote it in the forge sourceset
ok then
I wanted to add it as a sourceset or something and add a configuration to launch a mdk client, but that's more work
also, just to confirm, there's no errors in the test sourceset either? since our tasks don't poke that much either (outside of test or the test run configs)
I'll double check
#squirrels-🦊 message
we should really make a porting and new version checklist at some point 
yeah true
I hope it works fine, I don't want to lose my squash 
my intellij is erroring

this is all wrong https://i.imgur.com/hLyKhz4.png
Me too.

iirc, Adoptium makes a tracking issue with some sort of copy-pasted template text that has a load of checklists and such
and because people who work on it have write access to the repo, they can just check stuff off as they go along
didn't you manage to build an installer?
thonks to thonks
yeah thru gradle

I deleted the out folder, trying again
your intellij is fucked
installer borked
we really need a "convertToUpdateRepo" and reverse task in the gradle. to automate some of that
reproducible by me as well
how is srgutils even there 
want logs?
Yeah that makes no sense cuz srgutils shouldn't be an installer lib
ah
"jar": "net.minecraftforge:installertools:1.3.0",
"classpath": [
"net.md-5:SpecialSource:1.11.0",
"net.sf.jopt-simple:jopt-simple:5.0.4",
"com.google.code.gson:gson:2.8.7",
"de.siegmar:fastcsv:2.0.0",
"net.minecraftforge:srgutils:0.4.11",
"org.ow2.asm:asm-commons:9.3",
"com.google.guava:guava:20.0",
"com.opencsv:opencsv:4.4",
"org.ow2.asm:asm-analysis:9.3",
"org.ow2.asm:asm-tree:9.3",
"org.ow2.asm:asm:9.3",
"org.apache.commons:commons-text:1.3",
"org.apache.commons:commons-lang3:3.8.1",
"commons-beanutils:commons-beanutils:1.9.3",
"org.apache.commons:commons-collections4:4.2",
"commons-logging:commons-logging:1.2",
"commons-collections:commons-collections:3.2.2"
],```
But also, 0.4.11 exists
not in this case :>
so this is expected behaviour? 
oh I think I have a local version of srgutils 0.4.11
so it desynced the checksum

this is why CI exists
and if anything breaks, you can blame it on me because that's how git blame works
moment
we what
lol what

how did you just realise now
Because
and why did no-one notice it before
Which version do you want?
Yes
I want all of them!
the more versions the better
so never?
ASM 1.0 or bust
you could do another squash of the fixup commit
I could
but then he can't blame me
but this requires updates to our libs or a change in how we declare classpath deps in the installer profile
and he would love to blame me
imagine a happy shrimp blaming me for anything that went wrong during porting
yes, git blame
shared blame! team work!
I think this should be fixed before forge 1.20 is published
too bad git is totalitarian
the team that works together, gets blamed together
it's a minor issue, it just means bloat on people's pcs. Also, it's already been an issue for a while
#squirrels-🦊 message
so uh
maty
are you the one that did this mergetool shit?
it broke
define broke
[16:31:48] [main/FATAL] [cp.mo.mo.LaunchPluginHandler/MODLAUNCHER]: Encountered serious error loading launch plugin service. Things will not work well java.util.ServiceConfigurationError: cpw.mods.modlauncher.serviceapi.ILaunchPluginService: Provider net.minecraftforge.fml.loading.RuntimeDistCleaner could not be instantiated
Caused by: java.lang.NoClassDefFoundError: net/minecraftforge/api/distmarker/OnlyIn at net.minecraftforge.fml.loading.RuntimeDistCleaner.<clinit>(RuntimeDistCleaner.java:42) ~[fmlloader-1.20-45.1.1-1.20-final.jar%2367!/:1.0] {}

[16:31:48] [main/ERROR] [cp.mo.mo.TransformationServiceDecorator/MODLAUNCHER]: Service failed to load fml cpw.mods.modlauncher.api.IncompatibleEnvironmentException: Missing DistCleaner, cannot run!
[16:31:48] [main/ERROR] [ne.mi.fm.lo.FMLLoader/CORE]: Dist Cleaner is missing, we need this to run
There are infact a lot of errors to check for this
lol
it's in the installer 
installer is kill 
why is OnlyIn missing 
I present to you: modules!
mergetool should've been downloaded and put on the CP 
ohno 
are you joking

how wrong these words are so quickly
Error occurred initializing CoreMod
java.io.FileNotFoundException: null
I also get this




you love to see it
very bad things
he performed the noble act of lying /jk
it does
launching works

that's probably cuz you have mods installed
[16:38:00] [main/ERROR] [ne.mi.co.CoreModEngine/COREMOD]: Error occurred initializing CoreMod
16:38:00.083
java.io.FileNotFoundException: null``` this part is real tho
someone deleted intrinsic_tag_appender_binary_compat without removing it from the json
@flat zealot hey u wanna resquash?
yeah I can, but is it actually going to work 
btw it was maty who did that unironically
and what's with mergetool and servers
how did that not error out in forgedev
idfk
you know it probably did
and we just didn't see it
well yeah we need to wait to resquash until we fix mergetool too
creating new world works
:catjam:

shipit time
Whait, is that the server working?
if someone wants to run the server, they can just install the client and invoke the server main class with the client command line /jk
can't shipit unless server is fixed
What's the issue on the server?
Downloading library from https://piston-data.mojang.com/v1/objects/15c777e2cfe0556eef19aab534b186c0c6f277e1/server.jar
java.net.SocketTimeoutException: Read timed out
I'll install a server and test
something with mergetool
Oh, that fun
it'll break immediately
Why does mergetool and forgespi have the same distmarker package anyways?
how on earth did it break is the question
it did, now it doesn't
now it works on clients
but not on servers
a "wth" moment
which one has the distmarker package?
mergetool
and is mergetool api/distmarker included in the set of libraries we pack into the installer?
it is definitely not
have you checked if mergetool is on the classpath
hmmmm
wth
wait
fucking hell fuck
D:\Minecraft Servers\Forge1.20Testing\libraries\net\minecraftforge\mergetool\1.1.5-api
vs proper:
D:\Minecraft Servers\Forge1.20Testing\libraries\net\minecraftforge\mergetool\1.1.5
libraries/net/minecraftforge/mergetool/1.1.5/mergetool-1.1.5-api.jar
this is what is in win_args.txt
and where is it downloaded?
Forge libraries are downloaded by the installer, iirc
server fails to start https://pastebin.com/JSAYn3Nx
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
so, if I understand this right, the installer has its own copy of Artifact (from FG)
and instead of using the artifact path as encoded in the profile JSON, it constructs the path based on the artifact string (Artifact#getPath()), which means net.minecraftforge:mergetool:1.1.5-api converts to [...]/1.1.5-api
because of the -api part
so the json is wrong
were the artifact string net.minecraftforge:mergetool:1.1.5:api -- with the classifier set apart appropriately with : rather than - -- then Artifact would construct the same path as is stored in the version JSON
wait but if there are 3 : in the artifact name, would it properly parse it?
@paper hedge r u taking notes? 
I'm confused
"path": "net/minecraftforge/mergetool/1.1.5/mergetool-1.1.5-api.jar"
this is in our version.json that the launcher loads
and it finds it
that TODO in util is what is breaking it 
if I read the MC 1.20 JSON right, it already has library names which have three : -- for LWJGL and netty-transport artifacts
but it breaks the server
we need to reinvestigate cuz it was still broken the last time and that's not a perfect indicator
what if you.. test it
I can do a new squash without the todo.. and if it works everyone is happy
what about that
then test it 
Back, what did yall break?
The server
what about it?
It seems mergetool is being incorrectly referenced such that the runtime cleaner fails when trying to reference any of this classes
classified artifacts are instead convrted with a version suffix
because the vanilla launcher is/was broken
and didnt support classifiers
But the installer should be fine with it as we encode the actual url
we've been doing this for ages for all the other classified things
the artifact name change causes the expected path to change
but the path doesn't change
which breaks the server
there doesn't seem to be anything else with classifiers.. at least not on servers
it might work fine in the launcher, but it breaks servers
the good thing is that the client seems to work 
I guess we should test whether we need this fix anymore
the server should be fine
as it has the file path hardcoded
so... whats the issue?
seems like a simple change, but also dont we already use classified artifacts?
why is this one special?
not on the server
ok so the ender dragon is broken too (no error in log)
it is stuck at its spawn position over the gateway and is not hitable
https://github.com/MinecraftForge/Installer/blob/2.0/src/main/java/net/minecraftforge/installer/json/Artifact.java#L70 and yeah it uses the version in the dir name, which "wrongly" contains the classifier
If I had to guess, the ender dragon is an issue with updating multiparts
Its not wrong, its intentionally working around a bug in the vanilla launcher
more info on the dragon issue: the dragon is probably moving on the serverside but stuck on the client
I have a heavy heavy feeling the problem is in DownloadUtils
since that does workaround the classifier issue, but only for libraries downloaded from the Mojang libraries maven: https://github.com/MinecraftForge/Installer/blob/389603193163d1d9416b0b7e7affdd5c807235e6/src/main/java/net/minecraftforge/installer/DownloadUtils.java#L175C1-L180
since that's the only time it uses download.getPath()
otherwise, the target output is the artifact.getLocalPath() from https://github.com/MinecraftForge/Installer/blob/2.0/src/main/java/net/minecraftforge/installer/DownloadUtils.java#L56
Ya.. thats not what that code does.
Anyways, its a simple fix. Use the correct paths in the java args text
then what does the code do? if I'm reading this properly, then libraries which are not from the Mojang maven and use that classifier-in-version trick use the path as derived from that classifier-in-version, rather than the path from path section of the library download information
first it does it for libraries NOT downloaded from the mojang repo
it also does NOT use the version in path string
it uses the REAL string
Which should be in the 'path' variable in the json
Again, we've been using classified artifacts for ages, there shouldnt be anything you need to touch on this.
Maty: If you wanna give me the actual rundown of the simptom/issues let me know.
only now do I see that small ! before url.startsWith(LIBRARIES_URL) 
damn that rabbit hole
gohkingytp#0922 was muted. | Stop spamming the porting thread
So I left for a bit, anyone got a fix yet?
I guess that ender dragon problem is indicative that we should probably do a patch audit
I did one early on and after that looked at all patches I commited. that one sliped through because it was extremely easy to miss
I've gone to bed, so yall can figure out the server classifier stuff, I most probably won't be able to squash again so someone else can do it
rip
Hmm, for some reason ChunkSerializer#write() can receive ProtoChunks which are marked as ChunkStatus.ChunkType.LEVELCHUNK, which causes them to bomb out when the chunk cap save patch tries to cast them to get the cap data: https://github.com/MinecraftForge/MinecraftForge-Private/blob/1.20-dev/patches/minecraft/net/minecraft/world/level/chunk/storage/ChunkSerializer.java.patch#L31-L39.
Link to stacktrace: https://gist.github.com/PlatinPython/3a8aee889dd2f5ebc57aa6d99aa52d1e
The patch looks identical to the one in 1.19.4 and I can't explain why a proto chunk would be marked as a full chunk 
are you sure forge doesn't somehow make a protochunk normal
Iirc, something changed in the ordering of chunk statuses for lighting, so it might be a cast that was fine in 1.19.4 can’t be assumed anymore
The only difference I can find is that LIQUID_CARVERS (came after CARVERS) are gone, INITIALIZE_LIGHT (comes before LIGHT) is new and HEIGHTMAPS (came before FULL) is gone. Other than that, the chunk statuses appear to be the same Maybe not, the ChunkStatus#generate() method works differently now, that seems like a possible source of this
Give me a sec to get to a computer
Ok, my best guess after a quick gander is that the chunk status set now set after the execution of the work rather than before
Which means we're probably doing something where the chunk was promoted to full status before it actually was
I have a slightly different hypothesis: it looks like previously the "generation task" of each chunk status had to set the status of the proto chunk itself and ChunkStatus.FULL specifically seems to have not done that. Now, this is instead done in ChunkStatus#generate(), which means it also happens for ChunkStatus.FULL. If my understanding is correct, then this should be as simple as changing the patch I linked earlier to check instanceof level chunk
We should be doing that anyways
And I agree with that, especially since the previous code block explicitly checks if it is a protochunk
If there are no objections, I would implement that check and then I'll be off to bed as well
Alright, kid dropped off. Whats going on?
The way chunk generation states are updated changed slightly, which meant that ProtoChunks marked as full could land in the Forge patch that saves chunk caps, which does an unchecked cast and throws now
Who is working on that?
Champ and I looked into it. My suggestion is to just add an instanceof check to avoid it. I was just waiting to see whether anyone had any objections to that idea before pushing that fix
Also, doesnt seem like any pushed the server installer fix.
Right now its just on the make it work phase
There is no reason we should be delaying the release
Fair enough, then I'll push it 👍
It sounds simple enough issue, a misisng type check
Pushed. I'll be off to bed as well now.
@flat zealot -^
Oh didnt see he went to bed
the generation of win/linux_args.txt uses artifact.path which does not match what goes into the libraries folder
I'm not sure why we have the path desync besides for the URL
but it doesn't match in version.json to where it ends up in libraries folder yet the minecraft client/launcher still finds it
so maybe that's part of the bug?
The launcher should be using the 'path' entry in the json
which is where we should be pushing things.
But that may not be 'Artifact.getPath' because that is based off the artifact coords
I think the issue might be a deduplication issue?
artifact.path is a groovy map access thing, it's the same data that goes into version.json, it's just that it's regenerated for the args.txt with different parameters
Like I said we've had classified things working for a while now, But what i suspect is that one of our processors uses the api jar, and that path overrides the one in the main downloads
in voice if you wanna share/debug
hehe
gotta get my mic setup hold
@kind stirrup I'm definitely talking so I think it's a you issue
So 1.20 porting is completely done and so I'm gonna close this post. but it can still be searched in the future by the public 👍
<@&1067092163520909374> 1.20.1-rc1
https://www.minecraft.net/en-us/article/minecraft-1-20-1-release-candidate-1
FFS
Aghhghgh

yes
yes
ParchmentMC uses the in-house Axe trigger, which polls the manifest for changes and releases a notif internally
Ugh, I'll worry about it in a bit
(+ Blackstone)
there it is
and there's the usual notif in our channel
And Snowblower is broken right now, damnit
I changed the url to piston-meta and it broke downloads
for some reason, the phrase "sucks to suck" floated through my mind
gahhhh
oh hey, I forgot that Snowblower uses Axe as well
poor coeh
oof

this is my chance to squash again! 
well, back to Feather-induced madness
Ok, only thing that matters was that AbstractWidget#renderWidget is now protected, which someone shouldn't be calling manually anyways
Besides from all the bug fixes
I don't think this needs a primer
coeh's mcpconfig action should run in 2 minutes 
Actually it doesn't run when the target version isn't set
#tooling-dev message
Only one change needed in Connection. It doesn't seem like there were any issues I noticed otherwise
Meh, since it's a bug fix release, uncommenting the forge source wasn't necessary
also that's generally done as a separate commit before you start the update
thus we have easy diffs of what Mojang changed, even if we also have snowblower. Also it means viewing the update commits don't kill your web browser
standard procedure is a track forge subprojects commit (optional) -> update mcpconfig and mc versions commit -> actually fix errors
Gotcha, I will remember this for next time
I doubt 1.20.1 is probably going to break most mods.
It's just like 1.16.4 and 1.16.5 that are just rather minor updates fixing bugs.
There’s nothing of consequence for the changes, so probably
Rebased on latest Forge and cleaned up the git history so that it matches what shrimp mentioned
👍
1.20.1 literally has no code changes
Was this the chunk status issue that was giving problems here?
That's the belief, although I don't know if anyone here confirmed it
It was the leading hypothesis yeah
Wow 1.20.1 is already released.
OnlyIn

