#1.20 Porting

1721 messages · Page 2 of 2 (latest)

kind stirrup
#

trying to refresh myself on the discussion. The problem is I dont want to add a way to add aliases directly to the registry to the modders

#

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

hexed stratus
#

It's ready I need the RB to be built so I can do changelog stuff

paper hedge
#

you want to rip out that system after it was just added as non-public API?

kind stirrup
#

No. I don't want it public api, which is why it was added in the way it was.

paper hedge
#

excuse me?

kind stirrup
#

... really.

dusty spruce
flat zealot
#

gah, I always forget, what was the new gradle 8 replacement for archivesBaseName

kind stirrup
#

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'

paper hedge
kind stirrup
#

for now, mark it as 1.20 so the depreication checker shuts up.

paper hedge
#

.

kind stirrup
#

doesnt amtter much as its a private method. But ya

flat zealot
#

well this is fun, the forgespi dep doesn't seem to pull transitives?

kind stirrup
#

i would be more inclined to do register(Name, Supplier, Set<ResourceLocation> aliases)

#

DR isnt a builder system

flat zealot
#

thonk it's definitely in the pom

paper hedge
#

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

kind stirrup
#

Ya.

#

That is the concern of doing this vs a builder

#

Techically this doubles the number of methods 😛

teal plover
kind stirrup
#

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'

flat zealot
#

yeah I figured

hushed sapphire
#

yeah, you have to manually add all transitives that you need. because the installer requires a flat list.

flat zealot
#
> 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.

harold

#

kind of annoying that it prevents me from getting patches

paper hedge
#

I'm working on that rn

#

:P

flat zealot
hushed sapphire
#

question. line in changelog: Forge dummy entries handled by Forge registries have been completely removed.

#

what is that referring to?

paper hedge
paper hedge
hushed sapphire
#

what does this mean too: The Forge common config has been removed from the game itself

flat zealot
#

git is telling me that no patches have changed thinkies

flat zealot
#

now it's an empty file, as before

paper hedge
#

apparently we need to restore the dummy system in ForgeRegistry because it was improperly deprecated for removal

flat zealot
#

can the installer handle classifiers?

paper hedge
#

yeah there's code in there to specialcase them

hushed sapphire
flat zealot
#

use dfu then

#

/jk

#

should I still try to reorder the deprecation and todo commits?

paper hedge
#

That would probably be good

flat zealot
#

this is actually harder than expected because the deprecation and todo commits had vanilla sources harold

paper hedge
#

oof

hushed sapphire
#

Ouch

dusty spruce
#

Eesh

flat zealot
#

yeah I'd be screwing it more

paper hedge
flat zealot
#

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

paper hedge
#

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

flat zealot
#

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

paper hedge
flat zealot
#

thonk ?

#

giga?

paper hedge
#

oh

#

it said giga committed in my ide

#

xD

frail flare
#

My intention was to do both the logging and the throw

flat zealot
#

lol bad shrimp

paper hedge
#

actually it didn't

paper hedge
#

I just assumed "Dennis C" was giga for some reason

frail flare
flat zealot
#

that doesn't sound spanish

#

it sounds very german though, yes

paper hedge
#

you know that probably means I have attributed more commits to giga in my head in the past

#

¯_(ツ)_/¯

frail flare
flat zealot
#

I by now can associate the name of most people that commited to forge to their online usernames

#

don't ask me why harold

#

for the readme, what's the new LTS?

paper hedge
#

could remove it

flat zealot
#

anything remaining for the update?

plush current
#

Regarding this, did you set the project name in the settings.gradle to fix it? <#neoforge-private message>

flat zealot
#

fix what

frail flare
paper hedge
#

what thing

flat zealot
#

can y'all be explicit stabolb

#

stop using "it" or "thing"

frail flare
#

^

flat zealot
#

oh that

#

orion volunteered but he didn't do it

paper hedge
#

we can leave it for now

#

someone can PR

frail flare
#

I have an idea for it but it's kinda ugly

plush current
# flat zealot fix what

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

flat zealot
#

@barren snow RB is out, fix ya blog post stabolb (sorry)

frail flare
#

Wrong one harold

paper hedge
#

lol

flat zealot
#

ffs

#

shrimp it's your fault

#

@hexed stratus

paper hedge
#

- [ ] 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

paper hedge
#

wtf

#

snowman didn't run for 1.20 release

flat zealot
#

yeah I did see that

paper hedge
#

it claims no versions to process

#

but it did run

flat zealot
#

baseless claims.. /hj

kind stirrup
#

manifest caching/delay issue?

paper hedge
#

we never cache the version manifest

#

It's running now

flat zealot
#

we need to decide on the next LTS

paper hedge
#

I updated the description of the TC project cuz it was wrong and it prompted a rebuild

paper hedge
#

therefore I say we remove the table entry for release

#

it can be added back later after a decision

livid sequoia
#

Fair enough, my thought would be 1.19, though I don't know whether .2 or .4

flat zealot
#

I vote 1.8.9

#

it's arguably the only version that makes sense

livid sequoia
#

give the retrogradle team more work why don't'cha

undone tulip
#

if 1.19 probably 2 because many big mods didn't update past that

plush current
#

then again that was only semi-supported vs 1.19.4...

paper hedge
# paper hedge It's running now

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

livid sequoia
#

Maybe put a minute delay?

paper hedge
#

@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

flat zealot
livid sequoia
#

Makes sense when you look at what mojang did in .3 with the datagen not in code

flat zealot
#

have you updated deps shrimp?

flat zealot
#

modules are not happening in the initial release

paper hedge
austere surge
#

I will check tomorrow morning.

paper hedge
#

The trigger ran for Release

#

I saw it

#

but the manifest didn't have 1.20 yet

austere surge
#

Well that is weird

paper hedge
flat zealot
#

and the plat types rfc is interesting and still needs discussion

austere surge
#

Since the trigger uses the same manifest

paper hedge
#

¯_(ツ)_/¯

hexed stratus
paper hedge
#

wait wtf

#

mojang messed up the release time for 1.20

#

it's june 2nd in their manifest data

haughty phoenix
flat zealot
#

lol

kind stirrup
#

That would be the only reason it would say that on the git

next maple
#

That makes it hard to port forge on the same day as the release 😃

undone tulip
#

they did it intentional to make you look bad

flat zealot
#

yeah we were only done yesterday

#

this is not right!

#

@signal lion speaking of blog posts, may I join the blog team thinkies 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 harold

signal lion
#

Yes you may

flat zealot
#

that response is really giving me "teacher, may I go to the toilet" flashbacks

kind stirrup
#

Why didn't you go between classes!

flat zealot
#

I was busy working on waifu, mmmkay

#

anywho, bathroom breaks aside... anything left on the todo?

livid sequoia
#

Did shrimp finish the alias thing? If so, it's just removals and renames after push

paper hedge
#

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

kind stirrup
#

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

livid sequoia
#

Then, I don't think there's anything left other than changes after squash

paper hedge
#

well

#

I just said I'm fixing a few things in forgegui

#

it's my last todo bullet point that i use ever update

livid sequoia
#

Oh, I thought there was a desync in snowman, misread

paper hedge
#

wow running forge is super fast now

#

without the double compile and without invoking gradle

flat zealot
#

I was already using gradle

#

so no difference for me harold

paper hedge
#

change to intellij then

flat zealot
#

oh PSS in forgedev

#

fun

livid sequoia
#

PSS?

signal lion
#

ProjectScopeServices

livid sequoia
#

Ah

flat zealot
#
* 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

thonk

flat zealot
#

I don't think it's needed currently

#

froge is on hold anyways

kind stirrup
#

On hold?

#

oh froge not forge

#

god its a funny name but fuck...

flat zealot
#

lol

dusty spruce
hexed stratus
worn bison
#

tode?

kind stirrup
#

yes we need to rename it, if it ever becomes a production system

paper hedge
#

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

livid sequoia
flat zealot
livid sequoia
#

Wait no, that was 1.19.2

flat zealot
#

should I rebase or cherry pick

paper hedge
#

rebase first I think would be cleaner

flat zealot
#

though actually it needs to be a rebase, nvm

paper hedge
#

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)

flat zealot
#

yeah dunno why champ did it this way

livid sequoia
flat zealot
#

well fair enough ig

#

ah yes, intellij is throwing up because it's attempting to reload gradle after every rebased commit

livid sequoia
#

cli ftw

paper hedge
#

I did the rebase thinkies

#

if urs is throwing up I just went ahead and pushed it

flat zealot
#

stabby

paper hedge
#

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

flat zealot
#

when you pushed that my rebase was done lol

paper hedge
#

xP

flat zealot
#

fuck

#

curleee

#

I blame you

hexed stratus
paper hedge
#

what happened

flat zealot
#

#neoforge-private I somehow managed to push my branch instead of pulling

#

thanks gh desktop

paper hedge
#

what did you do

flat zealot
#

I checked out the branch with gh desktop and instead of promopting me to pull it promopted me to push

hexed stratus
#

do you need me to do some gitfu and split it into a branch?

paper hedge
#

its fine I'll just force push again

#

wait I messed it up last time anyways

#

@.@

hexed stratus
#

everyone is screwing up here :P

flat zealot
#

wait

paper hedge
#

pushed the wrong local branch lul

#

my prior force push just deleted commits

#

infact it was the 32 commits that you pushed

flat zealot
#

that's why gh desktop wanted me to push

#

double screw-up

#

classic forge fashion!

paper hedge
#

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 thinkies

flat zealot
#

yeah I'm squashing

#

what readme changes

#

oh you didn't change the readme?

paper hedge
#

no I thought you were

flat zealot
#

lol

#

it's fine

#

give me one extra second

#

thonk, I spent 30 seconds looking for the readme, why's it in docs/ hmmm

paper hedge
#

idk but github finds it all the same

dusty spruce
#

My oh my.

#

It's ok by the way.

paper hedge
#

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

undone tulip
#

maybe you should check if anything got lost during the rebase and push mistakes

paper hedge
#

?

undone tulip
#

if your force push removed a commit that maty didn't push afterwards

paper hedge
#

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

undone tulip
#

ah ok

#

so forge 1.20 public when /s

paper hedge
#

maty is squashing, and hopefully writing a good commit message attributing all co-authors, and then there is testing to do

undone tulip
#

if you need help testing I'm here

paper hedge
#

we'll see. I assume we will give an installer jar in squirrels at some point; we've done that in the past

flat zealot
#
  • Creative mode tabs are now a registry; renamed the BuildContents event to BuildCreativeModeTabContentsEvent and moved it in its own class
  • ScreenUtils was removed in favour of a GuiGraphics extension
  • Update to Gradle 8 and FG6
  • Rename SaplingGrowTreeEvent -> BlockGrowFeatureEvent
  • Remove the Forge common config
  • Remove registry dummy entries
  • Fix RemappingVertexPipeline not forwarding endVertex() call

hmm, I feel like that's the highlights

paper hedge
#

screenutils was not removed

#

ash reverted some of his removals/changes

#

and it's still SaplingGrowTreeEvent

flat zealot
#

I thought I reverted his revert

paper hedge
#

no don't

flat zealot
#
  • Creative mode tabs are now a registry; renamed the BuildContents event to BuildCreativeModeTabContentsEvent and moved it in its own class
  • ScreenUtils was deprecated in favour of a GuiGraphics extension
  • Update to Gradle 8 and FG6
  • Remove the Forge common config
  • Remove registry dummy entries
  • Fix RemappingVertexPipeline not forwarding endVertex() call
  • Remove Forge tool tags in favour of vanilla ones
paper hedge
#

what was in the forge common config

#

Update to Gradle 8 and FG6 - this could mention the MDK update

flat zealot
#

the old stuff for resource caching

paper hedge
#

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

frail flare
#

Do resource pack and data pack version actually match again?

paper hedge
#

Yep

flat zealot
#

when was resource caching removed?

paper hedge
#

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!!!"

flat zealot
#

can someone go find out

paper hedge
#

why

flat zealot
#
  • Creative mode tabs are now a registry; renamed the BuildContents event to BuildCreativeModeTabContentsEvent and moved it in its own class
  • ScreenUtils was deprecated in favour of a GuiGraphics extension
  • 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 RemappingVertexPipeline not forwarding endVertex() call
  • Remove Forge tool tags in favour of vanilla ones
  • The pack format is now 15 for both resource packs and data packs
#

better?

paper hedge
#

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"

flat zealot
#

I wonder whether I should use passive for all bullet points

paper hedge
#

that's usually how commits are written

flat zealot
#
  • Creative mode tabs are now a registry; the BuildContents event was renamed to BuildCreativeModeTabContentsEvent and moved it to its own class
  • The pack format is now 15 for both resource packs and data packs
  • ScreenUtils was deprecated in favour of a GuiGraphics extension
  • 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
  • RemappingVertexPipeline was fixed to forward the endVertex() call
  • Forge tool tags were removed in favour of vanilla ones
paper hedge
#

that is fine with me

#

what did you edit?

flat zealot
#

this is everyone, right?

flat zealot
paper hedge
#

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

paper hedge
#

"favor"

#

we use american english

flat zealot
#

gah

#

wait I can ammend

#

this is fine

paper hedge
#

did you review my MDK changes btw thinkies

#

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

flat zealot
#

how do I exit the ammend thing harold

paper hedge
#

idk

#

lol

#

hmm

#

the git ignore was changed to allow committing rejects, just now noticed, I guess that's fine?

flat zealot
#

yeah

paper hedge
#

Ok time to build an installer and test things and give it to squirrels

flat zealot
#

applyPatches is also verbose

#

thought arguably it should've been verbose from the start

paper hedge
#

oh that got kept? that's fine yeah

flat zealot
#

thinkies what's this prelaunch thing

paper hedge
#

Huh?

paper hedge
#

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

paper hedge
#

I saw those

flat zealot
#

you know what's now missing from the mdk. mixingradle

paper hedge
#

let's not have that discussion rn thinkies

flat zealot
#

a quick look over the patches and nothing stands out, so I'm going to shut down my laptop and go to bed thinkies

paper hedge
#

Oh ok bye thanks for ur work!

#

I'll compile the installer then

#

(well, I already was)

pearl light
#

nothing changed that would mean the MDK wouldn't be compiling, yes?

paper hedge
#

?

flat zealot
#

yes something changed and the mdk wouldn't compile (tabs). but I fixed that

pearl light
#

good good

paper hedge
#

Did you test it compiled

#

we don't have a way to verify that in forgedev

pearl light
#

yeah, we still don't have the necessary configuration to test that with a task thinkies

flat zealot
paper hedge
#

ok then

flat zealot
#

I wanted to add it as a sourceset or something and add a configuration to launch a mdk client, but that's more work

pearl light
#

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)

paper hedge
#

I'll double check

flat zealot
#

I last built the entire project with big green

#

so there shouldn't be

paper hedge
#

#squirrels-🦊 message

pearl light
#

we should really make a porting and new version checklist at some point thinkies

paper hedge
#

yeah true

flat zealot
#

I hope it works fine, I don't want to lose my squash Kekw

paper hedge
flat zealot
pearl light
#

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

flat zealot
pearl light
#

thonks to thonks

paper hedge
#

yeah thru gradle

flat zealot
paper hedge
#

I deleted the out folder, trying again

flat zealot
#

your intellij is fucked

paper hedge
#

it's wrong of course

#

no idea what happened

flat zealot
#

IDEA

#

that happened

#

(sorry, had to)

undone tulip
#

installer borked

kind stirrup
subtle dirge
flat zealot
subtle dirge
#

want logs?

paper hedge
#

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"
            ],```
paper hedge
#

where is this stuff coming from

#

it's gradle deps of installertools

#

hmm

flat zealot
#

aren't transitives disabled?

paper hedge
#

But also, 0.4.11 exists

paper hedge
flat zealot
#

so this is expected behaviour? thinkies

paper hedge
#

oh I think I have a local version of srgutils 0.4.11

#

so it desynced the checksum

#

this is why CI exists

flat zealot
#

ffs shrimp. ffs

#

stabby you get them

#

the fix here is to just shipit

paper hedge
flat zealot
#

and if anything breaks, you can blame it on me because that's how git blame works

undone tulip
#

shirmp moment

paper hedge
#

ewww

#

we download 3 versions of srgutils

#

per install

#

wtf concern

deft ridge
#

we what

paper hedge
#

And 3 versions of ASM!

#

wow

flat zealot
#

lol what

silk garden
flat zealot
#

how did you just realise now

paper hedge
#

Because

flat zealot
#

and why did no-one notice it before

silk garden
#

Which version do you want?
Yes

flat zealot
#

I want all of them!

meager cape
#

the more versions the better

paper hedge
#

I'm just gonna silently ignore that cuz we already squashed thinkies

#

we can fix that later

silk garden
#

so never?

flat zealot
#

I want 3 versions of asm and nothing is going to stop me from getting them

#

NOTHING!

pearl light
#

ASM 1.0 or bust

undone tulip
paper hedge
#

I could

flat zealot
#

but then he can't blame me

paper hedge
#

but this requires updates to our libs or a change in how we declare classpath deps in the installer profile

flat zealot
#

and he would love to blame me

#

imagine a happy shrimp blaming me for anything that went wrong during porting

paper hedge
#

yes, git blame

flat zealot
#

shared blame! team work!

undone tulip
#

I think this should be fixed before forge 1.20 is published

flat zealot
#

too bad git is totalitarian

pearl light
#

the team that works together, gets blamed together

paper hedge
#

it's a minor issue, it just means bloat on people's pcs. Also, it's already been an issue for a while

flat zealot
#

it doesn't know what collective blame is

#

while being uhm... years?

paper hedge
#

#squirrels-🦊 message

#

so uh

#

maty

#

are you the one that did this mergetool shit?

#

it broke

flat zealot
#

define broke

paper hedge
#

[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] {}

pearl light
paper hedge
#

[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

flat zealot
#

it's in the installer thonk

deft ridge
#

installer is kill Thonk

pearl light
#

why is OnlyIn missing harold

paper hedge
#

I present to you: modules!

meager cape
#

java.lang.ClassNotFoundException: net.minecraft.item.ItemGroup

#

Is what I get

flat zealot
#

mergetool should've been downloaded and put on the CP thonk

paper hedge
#

ohno harold

meager cape
paper hedge
meager cape
#
Error occurred initializing CoreMod
java.io.FileNotFoundException: null
#

I also get this

paper hedge
pearl light
#

you love to see it

flat zealot
#

you said the installer can do classifiers!

#

what the heck is going on thonk

deft ridge
#

very bad things

pearl light
#

he performed the noble act of lying /jk

paper hedge
undone tulip
#

launching works

paper hedge
#

dpeter got into the game

#

me having an old mod be like

pearl light
paper hedge
meager cape
#

Yes I just noticed

#

Then it works

paper hedge
#
[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?

pearl light
#

blame time!

#

spin the wheel of blame to find out who next to stab

flat zealot
#

yeah I can, but is it actually going to work thinkies

paper hedge
#

btw it was maty who did that unironically

flat zealot
#

and what's with mergetool and servers

pearl light
#

how did that not error out in forgedev

paper hedge
#

idfk

paper hedge
#

and we just didn't see it

#

well yeah we need to wait to resquash until we fix mergetool too

undone tulip
#

creating new world works

flat zealot
#

why are servers broken and not clients

#

this makes so much sense

pearl light
#

:catjam:

west lark
pearl light
#

shipit time

livid sequoia
#

Whait, is that the server working?

pearl light
#

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

flat zealot
#

can't shipit unless server is fixed

livid sequoia
#

What's the issue on the server?

meager cape
#
Downloading library from https://piston-data.mojang.com/v1/objects/15c777e2cfe0556eef19aab534b186c0c6f277e1/server.jar
java.net.SocketTimeoutException: Read timed out
undone tulip
#

I'll install a server and test

flat zealot
#

something with mergetool

livid sequoia
#

Oh, that fun

paper hedge
livid sequoia
#

Why does mergetool and forgespi have the same distmarker package anyways?

flat zealot
#

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

pearl light
#

which one has the distmarker package?

flat zealot
#

mergetool

pearl light
#

and is mergetool api/distmarker included in the set of libraries we pack into the installer?

flat zealot
#

yeah

#

I'm telling you, it's the classifiers

paper hedge
#

it is definitely not

flat zealot
#

have you checked if mergetool is on the classpath

paper hedge
#

it is added to the legacy classpath

#

with the right classifier

pearl light
flat zealot
#

wth

paper hedge
#

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

flat zealot
#

ha! it is the classifiers lol

#

what determines that path

paper hedge
#

libraries/net/minecraftforge/mergetool/1.1.5/mergetool-1.1.5-api.jar

#

this is what is in win_args.txt

flat zealot
#

and where is it downloaded?

pearl light
#

Forge libraries are downloaded by the installer, iirc

undone tulip
meager cape
#

How come the installer works 5 minutes later

paper hedge
#

ewwwwwww

#

Util.groovy is written with 3 space tabs

flat zealot
#

lol

#

wait, so where's the issue?

pearl light
#

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

flat zealot
#

so the json is wrong

pearl light
#

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

flat zealot
#

wait but if there are 3 : in the artifact name, would it properly parse it?

#

@paper hedge r u taking notes? stabolb

paper hedge
#

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

flat zealot
#

that TODO in util is what is breaking it thinkies

paper hedge
#

No that todo is necessary

#

the launcher is still broken

pearl light
#

if I read the MC 1.20 JSON right, it already has library names which have three : -- for LWJGL and netty-transport artifacts

paper hedge
#

it has to be done that way

#

wait what

#

@.@

flat zealot
paper hedge
#

we need to reinvestigate cuz it was still broken the last time and that's not a perfect indicator

pearl light
flat zealot
#

what if you.. test it

#

I can do a new squash without the todo.. and if it works everyone is happy

#

what about that

paper hedge
#

no

#

we are going to do this right

#

blindly deleting things isn't the way

flat zealot
#

then test it stabolb

kind stirrup
#

Back, what did yall break?

livid sequoia
#

The server

kind stirrup
#

what about it?

livid sequoia
#

It seems mergetool is being incorrectly referenced such that the runtime cleaner fails when trying to reference any of this classes

kind stirrup
#

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

flat zealot
#

but the path doesn't change

#

which breaks the server

flat zealot
#

it might work fine in the launcher, but it breaks servers

#

the good thing is that the client seems to work harold

paper hedge
#

I guess we should test whether we need this fix anymore

kind stirrup
#

the server should be fine

#

as it has the file path hardcoded

#

so... whats the issue?

paper hedge
#

the hardcoded file path is wrong is the thing

#

it uses artifact.path

kind stirrup
#

seems like a simple change, but also dont we already use classified artifacts?

#

why is this one special?

flat zealot
#

not on the server

undone tulip
#

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

flat zealot
signal lion
#

If I had to guess, the ender dragon is an issue with updating multiparts

flat zealot
#

I know that's why it's in quotes

#

this feels like 1.19 LUL

undone tulip
#

more info on the dragon issue: the dragon is probably moving on the serverside but stuck on the client

pearl light
#

I have a heavy heavy feeling the problem is in DownloadUtils

kind stirrup
#

Ya.. thats not what that code does.

#

Anyways, its a simple fix. Use the correct paths in the java args text

pearl light
# kind stirrup Ya.. thats not what that code does.

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

kind stirrup
#

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.

pearl light
#

only now do I see that small ! before url.startsWith(LIBRARIES_URL) screm

#

damn that rabbit hole

timid kiteBOT
#

dynoSuccess gohkingytp#0922 was muted. | Stop spamming the porting thread

paper hedge
#

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

flat zealot
#

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

paper hedge
#

rip

frail flare
#

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 thonk

flat zealot
#

are you sure forge doesn't somehow make a protochunk normal

livid sequoia
#

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

frail flare
#

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

livid sequoia
#

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

frail flare
#

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

livid sequoia
#

We should be doing that anyways

#

And I agree with that, especially since the previous code block explicitly checks if it is a protochunk

frail flare
#

If there are no objections, I would implement that check and then I'll be off to bed as well

kind stirrup
#

Alright, kid dropped off. Whats going on?

frail flare
#

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

kind stirrup
#

Who is working on that?

frail flare
#

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

kind stirrup
#

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

frail flare
#

Fair enough, then I'll push it 👍

kind stirrup
#

It sounds simple enough issue, a misisng type check

frail flare
#

Pushed. I'll be off to bed as well now.

kind stirrup
#

@flat zealot -^

paper hedge
#

He went to bed too

#

I can fix the server issue just gotta test a solution

kind stirrup
#

Oh didnt see he went to bed

paper hedge
#

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?

kind stirrup
#

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?

paper hedge
#

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

kind stirrup
#

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

paper hedge
#

K

#

forgot I was in voice tbh

kind stirrup
#

hehe

paper hedge
#

gotta get my mic setup hold

#

@kind stirrup I'm definitely talking so I think it's a you issue

paper hedge
#

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 👍

pearl light
paper hedge
#

FFS

livid sequoia
#

Aghhghgh

frail flare
livid sequoia
#

Is it added to the manifest though?

#

Because I didn't see an update message

pearl light
#

yes

silk garden
pearl light
#

ParchmentMC uses the in-house Axe trigger, which polls the manifest for changes and releases a notif internally

livid sequoia
#

Ugh, I'll worry about it in a bit

pearl light
#

(+ Blackstone)

silk garden
#

there it is

pearl light
#

and there's the usual notif in our channel

pearl light
#

for some reason, the phrase "sucks to suck" floated through my mind

flat zealot
#

gahhhh

pearl light
#

oh hey, I forgot that Snowblower uses Axe as well

flat zealot
#

poor coeh

paper hedge
#

oof

pearl light
flat zealot
#

this is my chance to squash again! kEk

pearl light
#

well, back to Feather-induced madness

livid sequoia
#

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

flat zealot
#

coeh's mcpconfig action should run in 2 minutes thinkies

prisma wren
#

Actually it doesn't run when the target version isn't set

prisma wren
#

#tooling-dev message

livid sequoia
#

Only one change needed in Connection. It doesn't seem like there were any issues I noticed otherwise

paper hedge
#

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

livid sequoia
#

Gotcha, I will remember this for next time

golden tusk
#

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.

livid sequoia
#

There’s nothing of consequence for the changes, so probably

livid sequoia
#

Rebased on latest Forge and cleaned up the git history so that it matches what shrimp mentioned

paper hedge
#

👍

livid sequoia
#

1.20.1 literally has no code changes

dusty wedge
pearl yarrow
#

That's the belief, although I don't know if anyone here confirmed it

livid sequoia
#

It was the leading hypothesis yeah

golden tusk
#

Wow 1.20.1 is already released.

winged isle
#

OnlyIn