#1.20.2

1 messages ยท Page 11 of 1

frail oriole
#

Task :forge:neoFormJoined1.20.2-20230921.152923DownloadAssets FAILED

#

running setup

kindred fractal
#

yeah you need to create the directory

frail oriole
#

why?

kindred fractal
#

in the error message it should tell you that you're missing some downloadAssets directory and you need to create it then do setup again

frail oriole
#

yes. i get that. but why doesn't it create it automatically?

#

that's always been a sign of a significant issue previously

#
Some problems were found with the configuration of task ':base:neoFormMergeMappings' (type 'Execute').
  - In plugin 'net.neoforged.gradle.common.CommonProjectPlugin' type 'net.neoforged.gradle.common.runtime.tasks.Execute' property 'multiRuntimeArguments' is annotated with @PathSensitive but that is not allowed for 'Input' properties.
#

new error

mental carbon
#

On it

frail oriole
#

ah ok

mental carbon
#

It is a bug in the caching engine

frail oriole
#

ah ok

#

i'll give it another whirl in a bit

mental carbon
#

@frail oriole Try again after pulling

#

Shit

#

Nevermind

kindred fractal
#

you left a ton of spaces in dynproject irritatered
PS: tis a joke ^^

#

I'll push my stuff on a different branch just so we have forgedev stable-ish for idea

#

alright, pushed my stuff

#

we still need to do a lot of renaming, but it should just be moving neoforge classes around and not have any other impact on other parts of the toolchain

#

current setup:

  • 1.20.2-rebased branch on Kits. you can add commits to this branch, but keep in mind they will appear as-is when we publish (so don't commit the MC sources)
  • neoforge-rename branch on NeoGradle for now

we need to do a bunch of renaming of basically every instance of forge to neoforge (except for tags)... see hackmd https://hackmd.io/@neoforged/SyPzw1Ryp for coordination and things to do in that regard

if you rename a class add it to the list here: https://hackmd.io/@neoforged/rJtC7ucZT

known issues:

  • assets generation needs you to create the directory
  • install works on the client, but not on server
kindred fractal
#

@frail oriole @dull bison @fallow sundial we need to rename any class that contains Forge and update all the resources...

#

I'll be gone tomorrow so I leave this to you guys ๐Ÿ˜„

frail oriole
#

ok

kindred fractal
#

Orion fyi I haven't applied your two latest gradle-related commits because I thought that they depend on the latest NG changes; whenever you think the latest NG fixes are ready just commit them on the rebase branch

#

for the class renames, we shouldn't blindly rename Forge -> NeoForge
ideally we should get rid of generic names like ForgeChunkManager and try to find something better (and IForgeXXX should become IXXXExtension)

kindred fractal
#

ok yeah userdev data doesn't work... somehow the modules didn't get substituted

#

ok nvm I got it to work

mental carbon
#

??????

kindred fractal
#
runs {
    client {
        modSources.add(project.sourceSets.main)
    }

    server {
        modSources.add(project.sourceSets.main)
    }

    data {
        modSources.add(project.sourceSets.main)

        programArguments.addAll '--mod', 'examplemod'
    }
}

this works

mental carbon
#

Yeah ๐Ÿ˜„

#

That is indeed it

kindred fractal
#

a tried a million things that were all more complicated ๐Ÿ˜›

mental carbon
#

You should just have checked the userdev artifact ๐Ÿ˜„

#

It is what I do

kindred fractal
#

I ended up checking dynproj ๐Ÿ˜›

mental carbon
#

Also possible since that generates them ๐Ÿ˜„

#

AND BOOOOOOJA

#

I got NG7s cache fixed for Execute

kindred fractal
#

niiiice ๐Ÿ˜„

mental carbon
#

Pushed

#

@fallow sundial and @frail oriole both of your errors should now be fixed

#

Please pull NG7

#

And reimport

kindred fractal
#

you need to apply my changes to NG and your gradle changes to 1.20.2-rebased on kits too

mental carbon
#

What changes to NG?

mental carbon
#

Ah neoforge-rename

kindred fractal
#

yeah just that

mental carbon
#

I will have to hand reimplement those

#

Because that will be a pain

#

With the new afterEvaluate block

kindred fractal
#

yeah probably manual apply... shouldn't be too bad

frail oriole
#

it's supposed to be working, right?

#

do i need to manually clean anything?

#

FAILURE: Build failed with an exception.

* Where:
Build file '/home/cpw/projects/neoforged/NeoGradle/build.gradle' line: 31
#

this seems to be all i ever get

#

latest checkout

kindred fractal
#

which NG and Kits branches?

mental carbon
frail oriole
#

1.20.2-ngnext and FG_7.0 as usual

#

even clean is erroring

mental carbon
#

You seem to be having a build error in NeoGradle.....

frail oriole
#

yes

mental carbon
#

Can you run a build, from terminal in that project

#

?

frail oriole
#

i'm cleaning all the .gradle and build dirs a second

mental carbon
#

@stray scroll Is GU now ready for Config Cache? Or am I missing something?

frail oriole
#

> Task :vanilla:validatePlugins FAILED
> Task :platform:validatePlugins FAILED

#

building just NG

#

latest FG_7.0

#

brb

kindred fractal
#

yeah it's failing on TC too

mental carbon
#

Wtf

kindred fractal
#

something is missing an input or output annotation

mental carbon
#

Fixed

#

I must have been smoking something

#

Just double checking that it works.....

#

Hold on

#

Pushed

#

@frail oriole You can pull

#

And try again

#

I was missing an annotation

#

If it does not work now

#

Then it will need to wait untill tomorrow

#

My brain is fried

#

From trying to fix all the caching issues

kindred fractal
#

yeah no worries

frail oriole
#

Ok. I'll give it a try shortly. Just getting supper now

mental carbon
#

Okey

#

Have a good night people

#

I am too tired to think further on this

kindred fractal
#

good night!

kindred fractal
#

userdev gametest server is broken because of a wrong path in FML - I'll look for a fix on Monday that gets rid of these useless gametest launch handlers instead of just fixing the path

stray scroll
mental carbon
#

nevermind

#

@dull bison With respect to the 1.20.2 branch in Kits, is that still relevant?

#

I want to unify ngnext, and rename

#

And Wanted to do it in 1.20.2

#

But there are some commits I am failing to find in the ngnext/rename branch

#

So just checking

mental carbon
#

@kindred fractal What was the squashing point for 1.20.2-rebased?

kindred fractal
#

Schurli's commit

#

HEAD~2 now I think

mental carbon
#

It at the earliest can be HEAD~4

#

Because I made 3 and you made 1

kindred fractal
#

Ah yeah it's my commit

#

So HEAD~3

#

You can apply everything gradle as a single new commit on rebased I think

mental carbon
#

So I need to port over the last 3 commits

#

And then make that 1.20.2 Cool ๐Ÿ˜„

kindred fractal
#

Yeah ๐Ÿ˜‰

mental carbon
#

Funny thing is, the only thing relevant there is the last commit

#

The middle one reverts the first one

dull bison
mental carbon
#

Super

mental carbon
#

@dull bison you around?

kindred fractal
#

Remember to look into the server patch generation

mental carbon
#

Yeah currently having a completely different issue

mental carbon
#

Okey build now runs without issue with the config cache

#

@stray scroll Amazing work!

stray scroll
#

i can't believe it actually works coughs I mean, I had no doubts thinkies

mental carbon
#

Installer works

stray scroll
#

but does prod work ๐Ÿ‘€

mental carbon
#

Nope XD

fallow sundial
#
FAILURE: Build failed with an exception.

* Where:
Build file 'P:\NeoForged\NeoGradle\build.gradle' line: 31

* What went wrong:
Configuration cache problems found in this build.

2 problems were found storing the configuration cache.
- Build file '..\NeoGradle\build.gradle': external process started 'C:\Program Files\Git\cmd\git.exe --version'
  See https://docs.gradle.org/8.1.1/userguide/configuration_cache.html#config_cache:requirements:external_processes
- Build file '..\NeoGradle\build.gradle': external process started 'C:\Program Files\Git\cmd\git.exe config --system --edit'
  See https://docs.gradle.org/8.1.1/userguide/configuration_cache.html#config_cache:requirements:external_processes

See the complete report at file:///P:/NeoForged/Kits/build/reports/configuration-cache/7ps9o5erkpl6t981o4yz3hrbw/1hejolm1ijf0s3ovodo726hot/configura
tion-cache-report.html
> Starting an external process 'C:\Program Files\Git\cmd\git.exe --version' during configuration time is unsupported.
> Starting an external process 'C:\Program Files\Git\cmd\git.exe config --system --edit' during configuration time is unsupported.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 6m 45s
mental carbon
#

@stray scroll Did you not fix this?

stray scroll
#

thonk very weird

mental carbon
#

We are not using gradleutils at the moment

mental carbon
#

Ah it is NG

fallow sundial
#

by running setup. it's failing NG

mental carbon
#

Hold on a hot minute

#

That is why I don't get the error

#

I have it precompiled

#

@stray scroll Please publish a new GU version!

#

I forgot that you disabled building

stray scroll
#

uh, that will have to wait since there's still going to be breaks ๐Ÿ‘€

mental carbon
#

See and that is why I don't like manual builds........

stray scroll
#

you don't like people not wanting to push out unfinished versions of projects...?

#

(yes, I am strawmanning a bit, but that's the reason why I've not enabled automatic builds here)

mental carbon
#

But meh

drowsy condor
#

Sorry if I am a bit late to the party, but what are the supposed post release networking changes

#

tl;dr would be great

prime quest
stray scroll
#

do you mean networking in general, behind the scenes? or the networking APIs which you, as a mod developer, will use

drowsy condor
prime quest
#

it's more that we (neo and fabric) created this to be a shared standard, but they happened to release before us :p

#

you can call it porting, but it's more that we agreed beforehand to both do this anyway

drowsy condor
frail oriole
#

Hmmm

#

@mental carbon still not buildable ๐Ÿ˜ฆ

#

is the configuration cache problem supposed to kill the build?

#

it seems that is the cause

#

it's trying to run the git command line here

#
        at org.gradle.configurationcache.initialization.DefaultConfigurationCacheProblemsListener.onExternalProcessStarted(ConfigurationCacheProblemsListener.kt:87)
fallow sundial
#

well the test framework is fully ported to 1.20.2

#

that was quick and painless

frail oriole
#

good

#

i still seem to be crashing face first into a bunch of NG problems sadly ๐Ÿ˜ฆ

fallow sundial
#

i'll push to a new branch

mental carbon
#

We are waiting for sci

frail oriole
#

no worries

kindred hatchBOT
#

[Reference โžค ](#1136320550168436798 message)@stray scroll Please publish a new GU version!

mental carbon
#

Basically GU is on manual builds

frail oriole
#

guess getting a local build isn't gonna happen for a minute

mental carbon
#

Sure it is

#

Just run the build command

#

And ignore the error

frail oriole
#

it fails

mental carbon
#

The error only happens after the task completes

frail oriole
#

no. it fails

mental carbon
#

Log?

frail oriole
#

sure. gimme a minute.

fallow sundial
frail oriole
#

it always fails at that line

#

note that building NG itself works

mental carbon
#

Don't run clean

#

Can you run build

#

With -s

#

?

frail oriole
#

why is clean broken?

mental carbon
#

I actually don't know

frail oriole
#
100 errors
20 warnings
only showing the first 100 errors, of 14492 total; use -Xmaxerrs if you would like to see more

> Task :neoforge:compileJava FAILED
mental carbon
#

Funny enough

frail oriole
#

hmmm

mental carbon
#

running it twice works

frail oriole
#

it is not working very well

mental carbon
#

Which branch are you on

frail oriole
#

1.20.2

#

and NG_7.0

mental carbon
#

Okey

#

Did you run setup?

#

And reimport?

frail oriole
#

no. 1. this is cmd line, not in idea

mental carbon
#

Ah okey

frail oriole
#
  1. you told me to run build, not clean ๐Ÿ˜›
mental carbon
#

Okey

#

Let me test

frail oriole
#

because my usual process is clean -> setup -> assemble

#

that's how this has been for a long time

mental carbon
#

Yeah

frail oriole
#

if clean fails, then it's assumed everything else if fucked too

mental carbon
#

WTF

#

I have the same error

#

ls

frail oriole
#

clean does not work "second time" for me btw

mental carbon
#

Okey, the only way to solve this is when I can take a look at what you are doing

#

This is weird AF

frail oriole
#

1 minute

fallow sundial
#

@mental carbon can I add another mod project as a runtime dep of the tests project. I tried implementation project(':testframework') but it doesn't work thinkies

#

is there another configuration or something

#

well this is annoying but somewhat expected

#

the idea run config doesn't work but the gradle task does

kindred fractal
mental carbon
#

Yes

#

Was trivial

#

But it is still broken

#

Because I need to interpolate the shell scripts still

#

Which is annoying but doable

kindred fractal
#

What? The processor steps are wrong you mean?

mental carbon
#

No

#

When I generate the installer jar in NG

#

I don't interpolate the tokens in the template scripts

kindred fractal
#

Client did work though

#

(it installs and runs)

#

Is this broken now? The issue might just be with the server setup somewhere else

mental carbon
#

No only dedicated server is

#

Somehow:

#

That section is not working

kindred fractal
#

might have a look tomorrow

mental carbon
#

WTF The filter is just not invoked

#

I could puke

fallow sundial
fallow sundial
mental carbon
fallow sundial
#

there's no error

#

the project simply isn't being detected as a mod because of the whole modsources shit

mental carbon
#

Did you reimport?

mental carbon
#

Also server somewhat launching:

fallow sundial
mental carbon
fallow sundial
#

it's not

mental carbon
#

You need to add it as a modSource

#

It is

#

Or actually no

#

It is not

#

Because it is on the CP

fallow sundial
#

when ran by gradle it's got from the classpath, which contains the compiled jar

mental carbon
#

Yeah when you run it with IDEA

#

It is a directory on the CP

#

So it is skipped by the locator

kindred fractal
fallow sundial
#

yay for cursedness

mental carbon
#

Add it as a modSource

kindred fractal
#

I changed forgeVersion and mcpVersion to what the argparser is complaining about

mental carbon
#

And it will work @fallow sundial

#

You did not update the args.txt file XD

kindred fractal
#

the what file? concern

mental carbon
#

I will fix it

kindred fractal
#

oh... didn't know it existed heh

fallow sundial
#

the args.txt file is the bane of forge's server existence

mental carbon
#

We can generate it.....

#

We do it for the client

fallow sundial
#

Can only transition State of build 'NeoGradle' to state BuildFinishHooks from states [Configure, TaskSchedule, ReadyToRun] however it is currently in state ReadyToReset. wat now

mental carbon
#

WTF

#

That is new

#

@kindred fractal

fallow sundial
#

i think i'll get rid of the includebuild locally and use mvnlocal, this is a PITA

mental carbon
#

Please yes

mossy bobcat
#

includeBuild and modding have never played nice

fallow sundial
#
Calculating task graph as configuration cache cannot be reused because init script '......C:Users\rober\AppData\Local\Temp\ijMapper1.gradle' and
 1 more have been removed.```
 thanks IJ, love you too
fallow sundial
#

composite builds are always hell

mossy bobcat
#

It's alright until you want, I dunno, weird things like working IDE integration or whatnot

fallow sundial
#

weird things like working IDE integration
LUL

#

Task 'GameTest' is ambiguous in project ':tests'. Candidates are: 'GameTest ClientIdeBeforeRun', 'GameTest ServerIdeBeforeRun'. hwat

#

i'll just push to a new branch and go to bed, the more i look at it the worse it gets

kindred fractal
#

includeBuild worked fine for me

kindred fractal
mental carbon
#

It crashes right there

dull bison
kindred fractal
fallow sundial
#

why is there a task named GameTest ClientIdeBeforeRun with a space thonk

kindred fractal
#

see my NG PR for gametest

#

I have it working locally

#

do you want to be running gametests?

fallow sundial
dull bison
fallow sundial
#

stab

kindred fractal
#

alright pushed it for you ๐Ÿ˜›

#

tbh the space is another issue

#

CreateLauncherJson is failing now what

kindred fractal
#

and the installer assets are now broken

#

let's try to get back to the NG_7.0 branch first and see if I need to fix the runs there too

#

yeah I do

#

gametest server doesn't actually run a gametest server?

#

alright it was my fault ๐Ÿ˜„

kindred fractal
#

now userdev is broken

#

feels like playing whack a mole

#

ok it was my NG changes

rich void
#

sounds like a fun time here xD

kindred fractal
#

yeah....

mental carbon
kindred fractal
#

it was the assetIndex -> assets rename... NG branch has it

#

ok now the assetsIndex is incorrect in the launcher json

mental carbon
#

?"?

#

I did that because I derped

kindred fractal
#

no I mean this:

#

"assetIndex":{} yeah...

mental carbon
#

Why is that there?!?

#

Am I setting it somewhere

kindred fractal
#

the serialization deserialization roundtrip messes it up I think?

mental carbon
#

It shouldn't

#

It only writes when the property is set

#

And only sets the property if the field is present

kindred fractal
mental carbon
#

Shit

#

I am setting it

kindred fractal
#

shouldn't this be convention ?

mental carbon
#

Am I

#

Well no

#

Because I need to set it

#

Because of the stupid shell handling

kindred fractal
#

idk, it should be inherited from in the actual launcher

mental carbon
#

Yeah

#

It should not write the values if the object is empty

kindred fractal
#

I think the assetindex is empty but the property is obviously set

#

so convention might fix it

#

(at least for that field)

mental carbon
#

No

#

Because convention won't work on the script

#

I think

#

@dull bison Did we ever merge Mixin support?

mental carbon
mossy bobcat
mental carbon
#

There is

mental carbon
#

We have an open PR for it

kindred fractal
#

it just adds the MixinConfigs manifest entry and the --mixin.config run flag apparently

mental carbon
#

Yeah

#

It is just a QoL thingy

#

It also provides debugging mappings I think

#

Even though they are just passthrough

kindred fractal
#

not sure what that does

#

BTW for NG7 publishing the TC config is still being sourced from the FG_6.0 branch so it didn't update the git revs

dull bison
mental carbon
#

Perfect

mental carbon
#

Sadly

#

If a convention is set

#

Then the property technically is not empty

#

Okey fixed

#

@kindred fractal Pull and rebuild the json

kindred fractal
#

Ok thanks, I'll be on the move for ~30 mins then I'll check

kindred fractal
dull bison
mossy bobcat
#

Assuming it's a gradle property that is

mental carbon
#

It is a conflict between GDI and Out serialization code

feral moat
#

is there potentially some fix that can be made in GDI to make it play nicer?

mental carbon
#

Not really

#

Well with a lot of work maybe

kindred fractal
#

Groovy magic not working with other kinds of groovy magic is a well-known problem ๐Ÿ˜›

dull bison
#

mixin is ready (it is still missing automated tests tho)

mossy bobcat
mental carbon
#

No it is actually groovy ๐Ÿ˜„

mossy bobcat
#

Well, groovy magic in gradle

dull bison
#

GDI is groovy

mossy bobcat
#

Ah yeah, I see what you mean.

kindred fractal
#

Btw do we need checkAts, checkExcs etc back?

mental carbon
#

Some for sure

#

But I don't want them in Forge nor NG7

#

I want them in like a "StyleChecker" addon plugin

#

That does most

#

checkExcs can go

#

Not sure about checkPatches

#

Personally I would suggest we setup a formatter

#

And run that over the decompiled source

kindred fractal
#

I think the style in the patches isn't too relevant

#

Maybe not worth more build complexity

#

Some task to validate ATs against a MC jar should exist in NG imo

quiet talon
#

Does the excs file even exist anymore now that moj is everything?

kindred fractal
#

It's for param names apparently so yes

#

We still need to add parchment support to forgedev heh

#

Obviously not before the release

kindred fractal
#

@mental carbon prod client works again!

mental carbon
#

Goo d:D

kindred fractal
#

server crash was just the eula

#

idk why it doesn't appear in the logs

#

I think the log4j config is fucked

mental carbon
#

Interesting

#

Possible

kindred fractal
#

there's a ton of log markers scattered all over the place, blergh

kindred fractal
#

apparently jarjar is pulling in an old version of slf4j

kindred fractal
#

fixed!

#

installing thus works in all configurations ๐Ÿ™‚

#

tomorrow I'll continue with the class renames then

mental carbon
#

@kindred fractal :

  1. Did you do any renames, which you have not yet pushed already?

  2. Are you tracking your renames somewhere?

kindred fractal
#

Didn't have time today, I don't have anything locally

#

The todo list has a high level breakdown already

mental carbon
#

Very nice! ๐Ÿ˜„

#

Thank you

mental carbon
#

Initial pass done

#

About 20 are still open for renaming tomorrow

kindred fractal
#

Nice

#

Do we want to prevent import changes in patches again?

mental carbon
#

We can easily fix those later

#

There is an option in the IDE

kindred fractal
#

yeah ofc - we can probably add a spotless rule for this

#

it won't autofix sadly

mental carbon
#

Probably

#

I would really like to have like a styling system for the patches

#

That we can run after they are decompiled

#

On both NeoForm as well as NeoForge

#

To get a decently looking setup

#

And something that is easier for everybody

kindred fractal
#

hmmm I wonder how that can be checked nicely

#

cause honestly we could tell people to follow standard java style in the patches and autoformat the normal forge source code

mental carbon
#

We just need to agree on a specific format

#

And then find a formatter that gradle can work with

kindred fractal
#

we should use spotless as the formatter, IMO, it is very nice

#

format will be a bit of a bikeshed ๐Ÿ˜„

mental carbon
#

The actuall formatter is not relevant

#

As long as it can do a format

#

Yeah it will be

mossy bobcat
#

Ah, spotless, having annoying caches that stop it from running since... I don't actually know when. But yeah, it's well known and commonly used for a reason

#

I had an idea for patches a while back I may poke if I have some free time; basically, I suspect it's possible to make a tool that automatically "inlines" added imports while making them patches, before making them, or after the fact depending on what ends up being most sensible

mental carbon
#

I am not sure the IDEs can deal with spotless

mossy bobcat
mental carbon
#

Oke so intelliJ and VSCode plugins exist

#

How about Eclipse?

mossy bobcat
#

No clue. Eclipse isn't known for being compatible with stuff

#

But spotless is pretty common so it would surprise me if there isn't a plugin

#

Besides that, you don't necessarily need one - you can list violations and fix some of them with the relevant gradle tasks

#

Besides spotless and checkstyle, not sure what's out there

kindred fractal
#

spotless uses the eclipse formatter so eclipse better support it

#

even then, you just do gradlew spotlessApply to fix style

mossy bobcat
#

And hope that spotless's caches aren't so fucked up that that does nothing

kindred fractal
#

I've been using spotless for years and don't remember this happening so /shrug

mental carbon
#

I will do some research

mossy bobcat
#

Or rather, I'd run spotless and it would tell me everything was fine when it definitely wasn't. Had to watch the CI output and fix violations manually

kindred fractal
#

yes but it's also the 5th time you bring it up and it's getting old ๐Ÿ˜›

mental carbon
#

My idea is that the system:

  1. Applies the format to the decompiler output so that we can properly have comparative patches
  2. Runs a check using a ratchetOffset to validate that a PR has the correct formatting
mossy bobcat
#

And I'm going to bring it up every time spotless is recommended. Never had any issues with checkstyle

kindred fractal
#

checkstyle doesn't autoformat so that's immediately a nope for me

mental carbon
#

We need a formatter

#

Not a checker

mossy bobcat
tranquil salmon
kindred fractal
#

you just run a formatter on them ๐Ÿ˜›

mossy bobcat
#

I assume it would apply post neoform patches

#

Because otherwise you're assuming the formatter can format possibly invalid code

mental carbon
mossy bobcat
#

Which seems iffy, though maybe fine as it's probably fine syntax wise

kindred fractal
#

the intellij checkstyle plugin doesn't handle all checkstyle rules unfortunately

mossy bobcat
#

It covers most of the ones likely to actually pop up in practice

#

That are difficult to fix at least

kindred fractal
#

do we really need to autoformat the patches

mossy bobcat
#

And with any good style guide, there's going to be rules an auto formatter can't sensibly fix

kindred fractal
#

usually patches are quite small... sure some people might forget a space like if(...) but it's not the end of the world

mossy bobcat
kindred fractal
#

yeah very true

mossy bobcat
kindred fractal
#

I don't think anyone would object to standard java code style

#

import order etc I don't care about

mossy bobcat
#

Someone will disagree on either direction there

#

Same as they currently do with whether to keep the I prefix on interfaces

#

Let's see what will cause debate:

  • bracket position
  • use of var
  • I prefix on interfaces
  • tabs vs spaces
    Yeah suffice to say I'm glad there's a dedicated channel for it
kindred fractal
#

I prefix will definitely stay

#

bracket position falls under standard java code style

mossy bobcat
#

If you're keeping "standard Java code style" you'd yeet the I prefix too...

kindred fractal
#

yes but that is an exception because we have so much code using the I prefix already, and changing it is really pointless

mossy bobcat
#

We have tons of code with newline brackets too

kindred fractal
#

changing that doesn't affect mods

mossy bobcat
#

(note that I'm in favor of switching brackets; I just think the fact that it's standard doesn't mean anything if you're not applying that consistently)

mossy bobcat
#

Also, "standard Java style guide" unfortunately could mean a lot of different things

#

Doesn't google's style guide still recommend 2-space indentation or something?

kindred fractal
#

meh I don't know you're trying to start a debate when there clearly isn't one...

mossy bobcat
#

What's clear to you isn't clear to everyone

#

I'd say it's clear that neo should yeet the I prefix

kindred fractal
#

what is clear to me is that the port shouldn't be delayed because of pointless debating

mossy bobcat
stray scroll
kindred fractal
#

we need the code to be formatted before the port, otherwise we'll disrupt all PRs again

mossy bobcat
#

If you want to get through all the various style debates before having a 20.2 port... you're going to be waiting a bit

#

Easiest is to just leave it in the current style for now

#

Enforce style on some future version switch

#

(heck, you could make breaking changes like removing I from interfaces then too if you wanted!)

kindred fractal
#

maybe we could write a custom intellij plugin for patch import changes ๐Ÿ˜„

mossy bobcat
#

Custom IntelliJ plugin? That would be hell. Much easier to process the files before generating patches with something that can inline added imports

#

(custom IntelliJ plugins are really awful to write. Ask maty)

kindred fractal
#

in theory it just has to diff the import section between the neoforge and base projects

mossy bobcat
#

But a checker is simpler

kindred fractal
#

the most annoying thing is unused import removals - IDEs like to remove unused imports

rich void
dull bison
#

ohno it snapshot day again

arctic sphinx
#

Yep

arctic sphinx
mossy bobcat
rich void
kindred fractal
#

automatically adjusting code to fix imports etc sounds too complicated

kindred fractal
#

they have to be added back if the IDE removed them, yes

rich void
#

why do they need to be added back if you don't use them?

#

(just wondering why)

lean warren
#

Because removing them would create unnecessary patch lines

rich void
#

If u say so xD

kindred fractal
#

you don't seem to understand...

#

the point is that the .patch files are source code patches and can thus contain import changes if we are not careful

dull bison
#

we'd need a gradle task that replaces any imports that were added with fqns and replaces the imports block with the original before creating the patches

kindred fractal
#

I don't know if changing the source code is that trivial

#

I would prefer a task that just replaced the import block, then you can check if it still compiles

#

many renames...

wise forge
#

It might be with the clean and Forge version, though I think there's also an edge case I can't remember

mossy bobcat
mossy bobcat
#

And spoon has the sorts of tools we'd want for this, in theory

arctic sphinx
#

(The blog post just went live)

fallow sundial
#

TICK COMMAND
Added a new tick command. This is an adminstative and debugging command that allowsto control the ticking flow and measure the performance of the game.The command requires elevated permissions (admins and above) and so it is not by default available in command blocks and datapacks.

rich void
#

new bat model?

stray scroll
#

hmm, the properties of that Copper Bulb block kinda reads like a light-emitting T-flip flop to me

#

toggles on or off on a pulse, and a comparator reads full power when its on

rich void
#

Mojang has confirmed that, yes

dull bison
#

a 2 block T-flip-flop

stray scroll
#

did I miss that part of Minecraft Live kek

#

...probably

dull bison
#

and tick step <time>

arctic sphinx
#

Looks like Gnembon pulled in Carpet mod

rich void
dull bison
lean warren
#

The tick command sounds amazing

daring ginkgo
stray scroll
#

i'm curious how they implemented that command thinkies

arctic sphinx
tacit vale
#

That's crazy

#

I never thought the day would come where vanilla would have Carpet

lean warren
tacit vale
#

I bet they already had this command for a while for internal testing but didn't release it until now, probably with more polish

arctic sphinx
fallow sundial
#

still no more work on block types abolbsad

tacit vale
#

the way they said "This is very useful for testing time sensitive gameplay elements" and stuff like that is just an example of why they probably had this beforehand

fallow sundial
#

the properties codec is still unit(::of)

arctic sphinx
fallow sundial
dull bison
tacit vale
#

It shouldn't have

#

Cuz nothing changed this time

#

It shoulda been just a new commit

lethal bane
#

Does /tick freeze actually freeze most/all ticks?

fallow sundial
stable zephyr
#

How can someone get snowman access ๐Ÿ‘€

rich void
lethal bane
stable zephyr
#

Can I get the link for it?

arctic sphinx
stable zephyr
#

Thx

wise forge
dull bison
#

what happend to snowman?

#

the bot just nuked everything since february

arctic sphinx
#

I'm seeing up to 23w12a (March)

#

There's a Snowblower run still going, it looks like it triggered multiple times?

dull bison
#

I think it is rebuilding everything since february

arctic sphinx
#

Something for someone who knows TC to poke harold

dull bison
#

looks like technician did something

lethal bane
#

tc blame squirrelhat

daring ginkgo
#

what if they just add carpet mod without any of the feature gamerules

rich void
#

I would really like movable tile entities

#

and the chain link

#

which I think are part of carpet

#

so would be nice

tacit vale
tranquil salmon
#

bat animations got moved to the net.minecraft.client.animation.definitions package

#

the checkbox gui component got a builder

#

mojang added a total of 53 blocks in this snapshot with 40 of those being related to copper

fallow sundial
tranquil salmon
#

The TeamcityTestReporter class has been removed

gaunt breach
#

so where's the AzureDevOpsTestReporter

tranquil salmon
#

nowhere currently, there is only the JUnitLikeTestReporter and LogTestReporter remaining

gaunt breach
#

ah fun

mental carbon
#

I did not understand why they had that in the first place

#

I mean, TeamCity properly processes the JUnitLike anyway

stray scroll
#

i would assume the TC reporter came first, then the JUnit one came afterwards
and only now did someone have enough time to switch out the TC one with the JUnit one

dull bison
#

what! again

arctic sphinx
#

Looks like a couple of crash fixes according to the blogpost

#

2 changes of Files.createDirectories to FileUtil.createDirectoriesSafe
A move of a setScreen call in RealmsConfigureWorldScreen
Plus changing a getMillis to a getNanos in the MinecraftServer, looks like they just missed it when they did the rest of those changes for the tick stuff

kindred fractal
#

I wonder if they enjoy changing the structure files for every update kekw

fallow sundial
#

that's automated more than certainly

kindred fractal
#

of course but it seems like such a waste

vapid ledge
kindred fractal
#

class renames are done

#

next up resources

kindred fractal
#

ID/resource renaming done hopefully

kindred fractal
#

@velvet plover updated zip ^

dull bison
#

I don't think it is a good idea to post this publicly

kindred fractal
#

meh idk... better not just in case

mental carbon
#

Don't

#

There is a strict policy in place to not share kits with outsiders

kindred fractal
#

any reasons besides not sharing MC source code?

inland mesa
#

IMO, no

#

that's the whole reason to have a private repo

#

in forge we did the whole porting in the private repo until it was ready for public release but IMO that's unnecessary

#

as soon as the patches can do a successful round-trip, the mc sources should be removed and the code should be moved to a public porting branch

#

but I think some people from the team would prefer to keep it private so that users don't start building from the porting repo then running into issues and reporting them.... when the code is still being ported and those issues would have been resolved by the time it was released

dull bison
#

tech shouldn't the licensing stuff be in the forge subproject

kindred fractal
#

see the first commit - it needs a bit of a hack for the licenser

#

and spotless actually needs the sources to be in the project's tree so I figured we could put license and spotless in the root project

dull bison
#

NG7 mixin support verified in production

kindred fractal
#

excellent

mental carbon
#

Perfect

kindred fractal
#

remapping script is ready

mental carbon
#

Okey

#

So tehre is one thing still on my plate:

#

Check the publishing system for NG7 UserDev

#

We should not be leaking our custom dependencies into that

kindred fractal
#

ah yeah that would indeed be annoying

mental carbon
#

Ng6 had this issue

#

So what we need is to figure out how to deal with it

kindred fractal
#

is this a blocker?

#

also, if it's just the neoforge dependency... couldn't we exclude just that from the pom?

mental carbon
#

Yeah we can rip it from the pom

#

Or replace it with something that makes sense

kindred fractal
#

there is also schurli's mixin support PR for you to look into

mental carbon
#

Yep

#

That is a blocker for sure

mossy bobcat
# mental carbon Yeah we can rip it from the pom

Can we like, not do it that way? That means you can't easily publish the module metadata and is generally a hacky way to go about it, I would say. Is it possible instead to shove the dependencies in question in a configuration that is on runtimeClasspath and compileClasspath but not runtimeElements or compileElements?

#

That's how I solve the issue for GroovyDuvet's weirdness at least

mental carbon
mossy bobcat
kindred fractal
#

well the user does implementation <neoforge>

mental carbon
mossy bobcat
#

So why don't we just provide a configuration with those properties I specified ?

mental carbon
#

If that is implementation then it is that, if it is api or some other sourceset name then it will be that

mossy bobcat
#

All they have to do is put it in that configuration and it'll be excluded from the pom and module metadata

mossy bobcat
# mental carbon Why do we need to?

Because if we do, then all they have to do is put neoforge in that and suddenly this isn't an issue and there's nothing to hackily clean out of the pom

mental carbon
#

Actually that does not work

#

Because even if I recreate the minecraft classpath

#

It would then be up to every single user to put that configuration where they need it to

#

And then to declare a dependency in that configuration to have it setup minecraft

#

Additionally this would result in the configuration still being part of the resolveable runtime classpath in the pom / module data

mossy bobcat
mental carbon
#

Cause that would be terrible in cases where people have multiple sourcesets

#

Or any configurations where it goes across more then one project

kindred fractal
#

would it be? people would still get the dependency via the classpaths

mental carbon
#

To my statement that it is terrible in multi sourceset or multi project setups? Yes

#

It is terrible

#

The whole point of NG7 is to not do any of that what so ever

#

And to treat Forge / Minecraft as a normal dependency

#

Yes I need to check what I can do about the Maven publishing

mossy bobcat
#

Then I'd argue you shouldn't strip stuff from the pom either

kindred fractal
#

well it is not quite a normal dependency, so we have to choose where we put the special handling for it

mental carbon
mossy bobcat
#

The proper way to avoid publication of a dependency is what I've described

mental carbon
#

It just needs to be readded

#

or enabled

#

If needed

mossy bobcat
kindred fractal
#

I don't know much, but wouldn't it be better to not add a dependency in the first place VS removing it after the fact?

mossy bobcat
mental carbon
#

Simply said: NG7 simply adds the dependency to what ever it is told to

#

It is as simple as that

mossy bobcat
#

It's something gradle is designed to do

mental carbon
#

If luke wants to use the pattern above, that is perfectly fine

#

He is more then welcome to do so

kindred fractal
#

we could put it in the mdk if we wanted to

mental carbon
#

NG7 is not putting a single thing in his or her way

mossy bobcat
mental carbon
mental carbon
kindred fractal
mossy bobcat
mental carbon
#

Yeah we are not going back to magic configurations

kindred fractal
#

we don't need pom stripping if we tell people to use a separate configuration

mental carbon
mossy bobcat
#

Good. As long as we don't have the MDK having to opt out of default NG behavior in order to do this the right way

kindred fractal
#

speaking of MDK someone has to update it ๐Ÿ˜…

#

I'll write the blog post this afternoon

mossy bobcat
#

The other option is to strip it on dependency resolve from the runtimeElements and compileElements configurations. That... gets a bit funkier

mossy bobcat
kindred fractal
#

configurations are quite confusing if you're not familiar with them IMO

mossy bobcat
#

That implementation has no special behavior besides being extended by the relevant classpath stuff

mossy bobcat
kindred fractal
#

we could, with some comments to explain what is happening I think it would be sensible

mossy bobcat
#

I guess in the end I don't really care as long as the MDK doesn't use hacky pom stripping, and, importantly, as long as we encourage people to start actually publishing useful module metadata which nobody can currently do

mental carbon
#

So right now, I am going to be hones: Gradle Module data is not supported by NG7

#

And that will stay for now

mental carbon
#

Because right now there are issues with the dynamic dependencies

mossy bobcat
#

If people use the approach I'm describing there's literally nothing else that needs done for the dependencies to not show up there

mental carbon
#

Because right now the module data can generate wrongly if it is used in a multi sourceset or multi project setup

mossy bobcat
mental carbon
#

So right now we severely discourage modders from publishing gradle metadata in the first place

mental carbon
mossy bobcat
#

Oh, cross project dependencies you mean

mental carbon
#

Yes

mossy bobcat
#

Those work fine unless people aren't doing fuckery with base.archivesName or the like, and as long as they follow gradle good practice and make their project version and the version of their publication the same, which they really ought to be

mental carbon
mossy bobcat
#

The base archives name one is still fairly hard to break

mental carbon
#

And as such

kindred fractal
#

well we should encourage best practices if we can

mental carbon
#

We should

kindred fractal
#

NG7 is already a big step towards that

mossy bobcat
mental carbon
#

But we should also not turn ourselves in a twist to make features possible which can be done on a later date when gradle gets its head out of its arse!

kindred fractal
#

luke I don't think anyone wants to not follow them

mossy bobcat
#

And if they know enough gradle to write multiproject build systems, they can figure out how to do good practice

kindred fractal
#

but we also don't have infinite time

mossy bobcat
kindred fractal
mental carbon
#

IMHO I am for now going to do the POM cleanup

#

Cause I have the code

#

Know the concequences

#

And can trivially test it

#

The configuration setup can be added later as a better work around

mossy bobcat
#

Can't NG just not touch the module metadata at all?

kindred fractal
#

yeah let's do that for now

mossy bobcat
#

Multiproject builds that don't want it can disable it themselves

mental carbon
#

It literally takes in your modules dependency data

#

And finds stuff it needs to replace with dynamic dependencies

#

If you do not like it

#

Then sorry but there is no way to setup the MC and Forge dependencies

mossy bobcat
mental carbon
#

NG Does not break in those scenarios

#

But that was a comment on your: "Can't NG just not touch the module metadata at all?" statement

#

Hell NG does not break at all if you just clean the damn pom

mossy bobcat
mental carbon
#

One way or another

#

So summary

#

Right now I noted lukes suggestion

#

But I decided not to follow it for the current implementation iteration

#

And research its concequences later on

kindred fractal
#

๐Ÿ‘

mossy bobcat
#

Basically, as long as this all is configurable, and NG doesn't rip out the system entirely so I can still publish this stuff and we can encourage others to by having it published correctly in the MDK. I'm fine with it. I don't expect it to work by default in weird multiproject scenarios, as it wouldn't in base gradle either

mental carbon
#

Of note: His requested configuration setup, can dynamically be generated based on the requested setup, however it does require a significant amount of testing, and will need a decent set of unit tests to cover the basics

#

Which I have no time to write or create right now

mossy bobcat
#

Yeah, that can always be something to poke later. No big deal

mental carbon
#

Again: The data published by gradle in its module file will always be broken unless you apply the fix you just suggested

#

Given that for now that won't be the default behaviour

#

We will keep on suggesting to not publish gradle module metadata, and will enable the cleaning by default

mossy bobcat
mental carbon
#

Given that the cleaning only happens on the POM

#

And that it is not mutually exclusive with your configuration approach

#

It can be enabled by default without further issues

#

And without further intervention of a modder

mossy bobcat
#

(even if like Tech suggested those are set up in the MDK)

mental carbon
#

The definition of correctly is what I just set within the context of NG7

#

For now doing this correctly means that it should just work with maven metadata

#

Regardless of the configuration used by the modder

mossy bobcat
#

The MDK should promote gradle good practice

#

Gradle good practice here is to do this via a configuration

mental carbon
#

Since that has been the preminition under NG4+, was the preminition when we implemented the cleaning under NG6, does not interfere with people using the weird configuration setup, and does not interfere with gradle module data

#

In other words, it is the most compatible setup, as of speaking

mossy bobcat
#

And to publish the module metadata. If other projects want to not do that and NG provides tools to do it other ways easily - I see no issue with that, do long as the MDK is doing it the good practice way

mental carbon
mossy bobcat
mental carbon
#

For you it is trivial

#

The behaviour of runtimeElements is only known to most experienced modders, if they even know it.

And given that they can deal with this themselves. I see no reason for now to make the MDK more complicated just because of the fact that it is the "right"/"correct" way of doing this in gradle.

mossy bobcat
#

Is the NG 7 branch public? I'm willing to PR behavior to add that configuration to every source set

mental carbon
#

Again we are not accepting magic configuration management as of now

mossy bobcat
#

If it means the MDK publishing module metadata

mossy bobcat
mental carbon
#

Again not right now

#

We will revisit this on a later date

#

And then I am happy to figure this out properly

mossy bobcat
#

You're saying that even though we know how to solve this, and even though said solution is all of 5 lines of code, we're going to stick with a hacky definitely-not-good-practice solution and encourage modders to do the same? Okay then, as long as I understand your stance on this right

mental carbon
#

For now yes,

fallow sundial
#

have we updated all deps we've transformed to neo?

#

and if so, someone should give ATs and coremods a bump because I updated antrl and nashorn

mental carbon
#

@kindred fractal can you take care of that before you sign of?

kindred fractal
#

yeah

#

alright fixed the beta warning hehe

rich void
#

really awesome to see all the progress towards neoforge 20.2, looks like it is really close.
||just a bit annoying for me, since I am about to get into a testweek xD||

stray scroll
dull bison
#

@mental carbon signing off on 20.2
everything that is left is for the public repo

mental carbon
#

Ok. Thank you.

stray scroll
#

๐ŸŽ‰

#

closer and closer we go, bois

dull bison
#

we just missing techs signoff and orions approval

kindred fractal
#

updated the todo list for the last few tasks

#

@mental carbon I'm signing off on 20.2 too - I can handle the blog post whenever you ping me to, I'll be around

frigid bolt
#

Super excited to finally see this (almost!) cross the finish line! ๐Ÿ˜„
Big congrats to all the team during what I'm sure has been a very stressfull time ๐Ÿ˜„

dull bison
#

@frozen vapor @long cobalt How's the porting guide?

frozen vapor
long cobalt
#

yeah I agree with Monica

frozen vapor
#

I have some free time later today so I can work on it

dull bison
#

you two have 3 hours /s

frozen vapor
mental carbon
#

@kindred fractal did you add gu3 to kits?

kindred fractal
#

yes

mental carbon
#

Perfect I saw the commit come in

#

Just wanted dtoncheck

mental carbon
#

Eating dinner then we will release ๐Ÿ˜„

fallow sundial
#

did you feed the release too

mental carbon
#

Well not yet

#

But I will now

#

In voice

#

So lets do this

glass ferry
#

vote on how badly something will break during release yortfuckinhaw

frigid bolt
#

Shh, it'll be fine, totally totally totally

shell torrent
#

um...

glass ferry
#

yes

glass ferry
#

orion leaves the server the second 1.20.2 appears on the site

kindred fractal
#

we have an entire team that can fix issues ๐Ÿ˜‰

#

I'll watch but only loosely; no sound or mic ๐Ÿ˜›

shell torrent
#

It may contain bugs that are difficult to identify.

#

๐Ÿคž

glass ferry
#

life contains bugs that are difficult to identify

prime quest
#

you ever tried identifying a bug?

glass ferry
#

i have

prime quest
#

they're creepy

dull bison
#

tech do you want to do your capabilities stuff first or do you want to wait for the registries?

glass ferry
#

mosquitos existing is a bug in earth's source code

kindred fractal
#

I'll happily review registries but not do most of the work there

shell torrent
inland mesa
#

has anyone prepared a guide on how to move from FG5 to NG7? because all my projects are fg5 still :V

stray scroll
#

can't wait for the big bug squash

dull bison
kindred fractal
#

maybe yeah - caps will need a lot of review

dull bison
kindred fractal
#

true true

frigid bolt
# shell torrent It may contain bugs that are difficult to identify.

for me, I'm just waiting for something I can build with, since I have full intention to have NeoForge supported in CraftPresence day-one once they pull the trigger on releasing.
Plus, there's not much Neo could break that would also break CraftPresence (I'd be impressed if CraftPresence did break in Neo)

shell torrent
kindred fractal
#

already removed

shell torrent
#

k

glass ferry
#

how many issues so far

#

like 3?

#

someone needs to count

kindred fractal
#

nothing bad so far ๐Ÿ˜›

glass ferry
#

can't access discord voice, proxy moment agony

stray scroll
#

i excitedly wait for 20.2 to release

#

if only so I can start making PRs kek

fallow sundial
#

@kindred fractal i love how you haven't made us coauthors of the 1.20.2 commit stabolb

stray scroll
#

kekw

fallow sundial
#

thanks for caring about us

dull bison
#

not cool tech

shell torrent
#

Is there no longer a 1.20.1 branch?

glass ferry
#

TeamCity thinks that the build will take 48m

lean warren
fallow sundial
#

he commited a serious crime

nova sundial
#

that just means he takes all the git blame now harold

glass ferry
#

true

shell torrent
glass ferry
#

run this on the entire repo with tech

stray scroll
#

@mental carbon once the build finishes, are we clear for PR takeoff

mental carbon
#

Yes

kindred fractal
#

lmao

kindred fractal
#

@mental carbon I can update the blogpost

#

remember to update the timestamps

glass ferry
#

Build finished

kindred fractal
#

remember to update the timestamp for the blog posts

knotty harness
#

public build complete, does that mean we can start porting our mods?

kindred fractal
#

and eventbus is still a draft

prime quest
#

if you can figure out how, yes lol

#

remember: major redesign.

#

treat it like a new modlauncher

#

with no documentation ๐Ÿ™ˆ

kindred fractal
#

there's the updated MDK

mossy bobcat
prime quest
#

yes

#

also keep in mind most of the changes are yet to come - we wanted to keep the git history and changelogs completely clear as to what we're doing

mossy bobcat
#

thinkies and this happens right as I have a bunch of work to do. Ah well, Biome Squisher will be released tomorrow instead I guess

prime quest
#

so it's, uhhh

#

chaos!

true pivot
#

wait there's no 1.20.1 branch?

prime quest
#

there will be one if we need it

#

but not right now no

true pivot
mental carbon
#

We use the same versioning strategy for the branches so 1.20.x is the curretn

dull bison
kindred fractal
#

you can start porting but expect a few changes still

mossy bobcat
#

might break. Depends how much of it is just mixins

glass ferry
#

trolley if your entire mod is mixins, no update can break your mod

mossy bobcat
#

You'd be surprised. Patches and mixins conflict in unexpected ways at times

arctic sphinx
#

Patches can change the bytecode quite a bit in areas

#

(Lambda names are another one)

stray scroll
#

time to setup my local dev workspace

arctic sphinx
#

Also we may remove your target if for example we add an event in place

feral moat
#

sad having to port a PR that doesn't touch vanilla code because of the class renames screm

kindred fractal
#

we need an announcement now

feral moat
#

though it was expected

dull bison
mossy bobcat
#

I'll try to port my resource grouping changes PR in the next couple or so

mossy bobcat
mossy bobcat
#

Yeah, that's fair. Anything using registries for one

stray scroll
#

@mental carbon what's the task to setup the workspace again

kindred fractal
#

gradlew setup

stray scroll
#

oh right, the subproject name changed

feral moat
stray scroll
#

gonna be a while to strange forge: outta my muscle memory

kindred fractal
mental carbon
sly anvil
mental carbon
#

Simply type it out without a project and you are good ๐Ÿ˜„

stray scroll
#

does this mean it doesn't try to decompile MC twice

#

in parallel, I might add

stray scroll
#

because my laptop is still not prepared for that kek

mental carbon
#

Ehm

dull bison
kindred fractal
#

full setup works

fallow sundial
#

stab

kindred fractal
#

๐Ÿ˜›

fallow sundial
#

did you forget that

mental carbon
#

Maybe in your case you should do :neoforge:setup

dull bison
mental carbon
#

Because your laptop might indeed be crap

stray scroll
sly anvil
# kindred fractal huh

Perils of using content { includeGroup(...) } for buildscript repositories is you find what weird groups people use for dependencies.

stray scroll
#

I have 7GB of (OS-available) memory, of which a healthy amount is taken by my OS and other apps

sly anvil
mental carbon
#

It is not under neoforged ๐Ÿ˜„

mental carbon
#

We might not have updated it ?

prime quest
#

have we built and released since changing that :p

sly anvil
mental carbon
#

Ah yeah

#

those will need updating

sly anvil
#

Yeah, it's not a major problem, just surprised me. There's also a dependency on Forge's srgutils and groovydslimprover.

#

Was "gdi" deliberately chosen so it can be read as "God damn it"?

dim sonnet
#

nope, it was a quick name maty thought up of "GroovyDSLImprover"... except it's Gradle-specific and can't be used to improve Groovy DSLs outside of that

mossy bobcat
#

Because only gradle needs it's DSLs improved that badly, because it's gradle

dim sonnet
#

The choice of name was merely to get something out quickly rather than worrying about names

fallow sundial
rich void
#

is there a primer for neoforge 20.1 to .2?

dim sonnet
#

I stand corrected, wasn't thought up by maty

kindred fractal
frozen vapor
#

there's a whole chunk of notes already but they're poorly formatted

prime quest
frozen vapor
#

and probably outdated too

#

since a chunk of stuff happened like in neogradle

long cobalt
fallow sundial
#

i believe i did a quick rundown of the networking changes in #project-talk

dim sonnet
fallow sundial
#

forgecraft harold

feral moat
#

well

prime quest
#

i did

feral moat
#

cpw/curle proposed

prime quest
#

fc just agreed with me :p

feral moat
#

and we gave feedback on potentials

dim sonnet
#

What's forgecraft?

kindred fractal
#

hehehe

#

bunch of crazy modders