#1.21.11 Snapshots

1 messages Β· Page 2 of 1

devout vault
#

yup yup

rare lynx
#

I'll have to deal with that

devout vault
#

we also need to change Neoform

split oak
limpid coral
#

But good news, you have a whole update cycle to make the changes

rare lynx
#

need to use jst to rewrite the sources to the new mappings merged into the old classes

#

it's automatable, just painful

limpid coral
#

how many patches are there? is it worth automating?

hallow chasm
#

I'm waiting for a vineflower release before releasing neoform for 25w44a because I am not patching more than 200 annotations

rare lynx
#

yes lol, there are hundreds

limpid coral
#

Oh well yeah go ham lol

gloomy axle
#

yeah, ok, locals are confirmed (see #789950127774105602 message), which will make many parts sooo much less pain

#

looking at stuff like FogRenderer#setupColor

rare lynx
#

www.minecraft.net/en-us/article/removing-obfuscation-in-java-edition

Congratulations to who I assume are Mojang's programmers for finally pushing this through. When I started work on alternate community-sourced Minecraft mappings in 2016, I did not imagine that it would start a domino chain culminating in Mojang's legal team finally conceding that the charade of binary obfuscation for one of the most reverse engineered games in the world is no longer beneficial to maintain.

Now let's hope Fabric finally lets Yarn go independent, as they should have done long ago.

limber osprey
gloomy axle
#

did you try clicking on it thinkies

limber osprey
#

now it works

gloomy axle
#

it's a message in fabricord

limber osprey
#

it turned into unknown and now it works

gloomy axle
split oak
limber osprey
#

it doesn't matter though, it works now! πŸ˜…

gloomy axle
#

discord jank Β―_(ツ)_/Β―

dreamy frost
gritty moat
#

πŸ₯³

limpid coral
#

Great time to move to mixins instead of patches

split oak
#

how much will this speed up gradle refresh

limber osprey
limpid coral
#

that's theoretically possible right?

spring junco
#

OBFUSCATION IS DEAD

limpid coral
#

just a bit of a pain

dreamy frost
#

And even if we had source-visible mixins, there are some things you simply cannot do with mixins while patches can

limber osprey
gloomy axle
#

yeah, there was at least talk about doing that

rare lynx
lone cairn
#

^ mojang right now

fallow dagger
devout vault
#

this actually has the incredible benefit of making our patches super readable lol

fallow dagger
#

Yes that's a very good point

devout vault
#

(and reducing rejects, once we're over the initial hump)

next wolf
#

im late to everything... whats this about mojang no longer obf mc? thats crazy

#

are they like releasing sources (would love to have comments/javadocs in vanilla code mojang please)
or just the compiled jar skipping the obf proguard step they currently do

lethal ice
#

no sources

#

only jars with real class/method/field names and LVTs

gloomy axle
#

no docs

echo pendant
#

no capes!
-# wait, wrong reference

gloomy axle
#

I mean, that's also not wrong kek

#

when deobf cape

lethal ice
#

deobf capes implies the current capes are obfuscated

#

which means they contain some meaningful information and aren't just pixel art

gloomy axle
#

I meant capes because java edition is now no longer obfuscated

worthy ember
split oak
#

capes for everyone who had to deal with obfuscated jars and stuck around

next wolf
#

how different will vanilla code look now that we wont have to deobf everything
will we see all the magic numbers and stuff turn into static final references and such?

split oak
#

no

#

those are inlined

#

the only real difference is the names of things

#

local variables and parameter names

#

its still the compiled code, not the source files (for now)

next wolf
#

local var names will be real sweet, could get param names via parchment but i guess aside from javadocs thats now dead

split oak
#

yes parchment and yarn are reportedly EOL

next wolf
#

hehe yarn that should have died when offical mappings released

#

also i hope parchment doesnt full die

#

i like the javadocs it provides

split oak
#

well

#

I hope parchment dies

#

in the way forge did

#

replaced

#

I want the yarn people and the parchment people to merge into a big javadoc group

#

and make the best javadocs

next wolf
#

i mean if mojang drops some kind javadoc jar that we can merge during setup
that would be great, having mojang comments and such would be real nice

#

would love to see what kind of cursed comments mojang makes

split oak
#

I suppose thatd be similar to release deobf mappings

#

its not a full sources jar its just the docs

gloomy axle
#

Parchment won't die

#

It will just be docs only

#

most likely

devout vault
#
  • unpick + annotations
#

hopefully

#

maybe

split oak
#

annotations?

#

I thought we have those

#

did they not ship annotations before

#

unpick will be nice tho

gloomy axle
gloomy axle
split oak
#

I thought unpick was fabric

next wolf
#

built by and used by fabric, but that doesnt mean we cant use it

turbid dune
#

There was already talks of including the unpick data in parchment, the news has just moved up the timeline on that

split oak
#

now that they dont have to worry about silly things like the reason they began the project

onyx rivet
#

can we deal with the lambda problem please

#

this feels like a good time πŸ˜”

#

i don't know how well it's dealt with right now

echo pendant
#

the lambda problem? squirr

onyx rivet
#

patches offset the name of lambdas, making the same injection wrong between fabric and neoforge

#

such as lambda$addMainPass$8 having different index on Neo because all of the LevelRenderer patches

#

however, I haven't checked in a bit and I don't know if this has somehow been fixed

hidden forum
#

My understanding is that it's kinda impossible to fix. It'd require a lot of manual work to to write mappings for fixing it

onyx rivet
#

yeah, makes sense

#

or just forbid lambdas in patches

worthy ember
devout vault
#

Vineflower also decompiles in a different order from bytecode order

#

you get reordered lambdas just because of that alone

#

patches just add to it

elfin kelp
#

doesn't neo not change classes that are unpatched in prod?

shrewd violet
devout vault
#

yes, since if we did not, you'd have a delta between neo moddev environments and prod for mixins

echo pendant
devout vault
#

yup

hardy perch
#

Ok im reading this thread

#

So in a nutshell we get the jars unobfuscated but there's no documentation so we gotta figure it out

jade plume
#

we get the jars unobfuscated

#

πŸ‘Œ

#

we do get param names now which should be a huge help

echo pendant
#

what we'll getting next snapshot compared to this snapshot is all the parameter names and local variable names

hardy perch
#

The 1.12.11 modding scene iis going to be crazy

#

however...

gloomy axle
jade plume
#

lotta times I'd override some method and have no idea what the param names were so I just made shit up

hardy perch
#

we're gonna stay in 1.21.1 until the new popular version drops

#

1.22.1 is gonna be the next one, i just know it

gloomy axle
#

we already had params via parchment, but not locals, and having those is gonna make stuff nicer

jade plume
gloomy axle
#

but yeah, parchment obviously didn't cover everything

#

jellybiscuits kek

lofty wedge
#

Egg on your face when it turns out that's also what Mojang called it :P

gloomy axle
#

maybe they did Β―_(ツ)_/Β―

hardy perch
gloomy axle
#

we'll know next week

hardy perch
#

yeah

split oak
#

mojang we love u please make this new era of unobfuscation 1.22 so I can stop being pressured to lag behind πŸ™

plush mortar
#

you can also make your own decision to use whatever version you want

jade plume
#

it's going in 1.21.11 so 1.22 will have unobfuscation, yes

#

but yeah you can just ignore the pressure

#

when people ask me to backport the new stuff I did in the minor versions to 1.21.1 I just throw bricks at them

#

reason I'm doing new stuff in the minor versions is so that when we finally get 1.22, all of my stuff will be nice and settled down and stable too and I won't have to worry about breaking my own apis or save compat mid-version

#

like four out of five dentists in user-support are crashing because some mod's dependency made a breaking change in the middle of 1.21.1

split oak
#

my players r pressuring me

#

cuz 1.21.1 has create and all the big mods that have decided theyre staying on 1.21.1 for the forseeable future

plush mortar
#

well, its your project, do with it what you want

split oak
#

no point if there's nobody to play it

#

i did eventually decide to port

#

but it is unfortunate that I lose that mod availability

fallow dagger
#

well that's on you for deciding to port 🀷

#

it's clear that 1.21.2+ versions are not gonna stabilize atm

#

I will start porting my bigger mod (MI) but I expect very few players on new versions for now

#

so I am first taking the time to add a few more features to 1.21.1

split oak
#

there are fewer players on newer versions because there are fewer mods on newer versions

#

its a cycle

fallow dagger
#

given the version churn it's obvious that it just cannot be stable

split oak
#

when will it be stable?

#

the new drops system is very successful i doubt theyll stop it

#

there will always be a new update every 3 months

hybrid perch
split oak
#

if its not rendering they have plenty of other things to refactor

fallow dagger
#

whenever 1.22 gets released and people stick to it (instead of moving to 1.22.1+/1.22.2+), is my best guess

plush mortar
#

it'll probably be more rendering too

split oak
#

the new update cycle does not allow for "stable" releases

#

we dont even know if 1.22 is a thing

#

ur looking forward to a hypothetical

devout vault
#

what does stable mean anyway

#

if there's enough incentive in terms of accumulated features, ppl will port

split oak
#

1.22 could be 3 years out or not coming at all

fallow dagger
#

stable = enough "big modders" agree on sticking to a version πŸ˜›

devout vault
#

i.e. java 25 is an incentive

#

proper parameters and local variables throughout the entire vanilla codebase?

hybrid perch
devout vault
#

DEFINITELY an incentive

#

πŸ˜„

fallow dagger
split oak
#

I think (hope and pray) if this release ends up being Java 25 + deobf jars, it will become the next major modding version

fallow dagger
#

the problem is that 1.21.11 just doesn't sound catchy

#

1.22 is a different story πŸ˜„

hybrid perch
#

is ae2 updated? generally it's one of the mods that starts porting saga

lethal ice
#

there's a certain group of modders that are refusing to participate in the "drops" system altogether and are waiting for the next hiccup to cause minecraft updates to have a gap of at least 1 year

split oak
#

cuz they also said the rendering stuff doesnt have much left to go

devout vault
#

we dont release though

devout vault
#

it was also updated to .5, .6, .8

split oak
#

hold on lemme get it

hybrid perch
devout vault
#

main is still 1.21.1 for AE2

#

ppl PR to 1.21.1

split oak
# plush mortar source?

This work is mostly complete for entities, block entities, particles and the UI. Next, we plan to tackle chunks and small leftovers.

hybrid perch
#

oh don't want additional burden of maintaining 2 branches ig

split oak
#

chunks and small leftovers are what's left according to this

plush mortar
#

can you link the article?

split oak
#

its when they moved from the VV discord

plush mortar
#

afaict, that specifically talking about the state extraction for a render thread

#

not renderer work in general

devout vault
#

yup that's also how i took that

#

given that currently that work doesnt even have much benefit I think given the submission still happens on the same thread

plush mortar
#

it can help batch up the submit better

devout vault
#

true, yes

#

but in terms of parallelism

#

i gathered that they'd move submission to another thread?

#

once it's actually all using that approach (extract/submit)

plush mortar
#

doing that means moving OpenGL (assuming they stick with GL) to another thread

devout vault
#

or the other way around πŸ˜„

split oak
#

so its gonna be like 3 years before modders decide on a stable version? wah

#

hoping wishing praying that 1.21.12 (inevitable hotfix) has enough appeal that a good amount of people move

plush mortar
#

but still GL getting its own thread

devout vault
#

wait mac was only affected by first thread message pumping

#

not rendering

#

(I thought)

#

yes definitely, given that we render from different threads too

plush mortar
#

thats correct, so really its whatever thread processes the event queue that matters and has to stay as the first thread

#

idk how timing with the two threads would be handled there though, so it could go either way really

solar stone
twin viper
#

likely no

solar stone
#

Ah rip

twin viper
#

theres a big difference between 'heres the compiled code' and 'heres the source code', especially for saying that you actively try make sure people dont steal it

solar stone
#

I do wonder if this changes everything tho, for future server software like Bukkit...

limpid swan
#

Method-coded param names and inlined magic constants are still going to be an annoyance

trail mesa
#

I think Paper has already been running with mojmap in prod, or at least has done all the enablement work for it, so probably not a huge deal for them

solar stone
#

Yeah

limpid swan
solar stone
#

Wdym?

limpid swan
#

As long as selling licenses to JE still makes money I don't think legal and/or corporate will let them publish sources

stark crane
#

Crash logs will be easier yay

random gust
gloomy axle
#

We already had that

#

We had half the information already ever since mojmaps exist

#

Now we have the other half

sweet prism
lone cairn
vestal tundra
#

would it take a year to remove a couple lines of gradle related to obfuscation ?

twin viper
#

then get it through the legal department

vestal tundra
#

indeed πŸ˜…

lone cairn
#

would be funny if they used ANt to build all of it harold

devout vault
#

Makefiles

lethal ice
#

I feel like it's more like 15 years to get it through legal

deep iris
#

Microsoft hasn't even owned Minecraft for that long

lethal ice
#

however long ith as been :P

deep iris
#

There's a good chance it's been in the works for a decent time since they provided mojmap originally though

deep iris
lethal ice
#

10 years then :P

sweet prism
#

Fascinating

fallow dagger
#

MDG-Fabric when?

devout vault
#

(I was thinking the same thing lol)

#

One Cute Elephant to rule them all

viral nacelle
fallow dagger
#

I mean, don't we all obviously agree that MDG is the nicest Gradle plugin? 😁

rare lynx
#

totally unbiased opinion

devout vault
#

How can you not with such a cute mascot.

dreamy frost
# fallow dagger MDG-Fabric when?

I would love that, simply because Loom has been pissing me off every time I've updated AtlasViewer to a new MC version. Update FAPI? Sorry, need new loader. Update loader? Sorry, need new Loom. Update Loom? Sorry, need new Gradle. And, oh, btw, can't update Gradle without reverting absolutely fucking everything...

fallow dagger
#

The biggest problem atm would be the recomp cycle messing up the lambda names

rare lynx
fallow dagger
#

But otherwise running fabric loader shouldn't be too difficult without obf

rare lynx
#

it should be possible to remap the lambdas post comp, not sure if luke has already managed to finish doing it, but technically it should be possible to figure out the correct name of the lambda by cross-referencing what method is calling it

edgy river
#

Much easier

twin viper
obtuse igloo
#

It's not just the names

#

(i tried this to be clear πŸ˜›)

forest stag
#

Newer loader requiring new Loom and new Loom requiring new Gradle is a reasonable point

split oak
#

fabric loader is supposed to be version independent

#

as is MDG, idk about loom

forest stag
twin viper
#

this is what everyone says but what they mean to say is that its backwards compatible

forest stag
#

That only means new versions work on old versions

twin viper
#

and no one seems to understand the difference

split oak
#

oh

#

backwards compatible is very different

#

is MDG backwards compatible or version independent?

twin viper
#

MDG is version independent provided mojang doesnt change some stuff, like suddently deciding to remove obfuscation

split oak
#

makes sense

split oak
#

ah right

#

loader has to update every snapshot cycle

devout vault
#

Oh we'd love to

#

Have to do it in Neo first, though

#

Or rather, Neo is split

#

We have to publish it split, though

fallow dagger
#

Not really no

devout vault
#

yeah we do

fallow dagger
#

No πŸ˜›

#

We can split in NFRT

devout vault
#

no we can't

#

we don't actually want to process neoforge-universal jar

#

we just wanna put it onto the classpath using gradle

fallow dagger
#

It's not particularly slow to process if it's just splitting two jars up

devout vault
#

I do not want to process the NF jar at all

#

(and yes, yes, you are right, we are right now, but that's really due to legacy)

fallow dagger
#

It also depends if we want to have NFRT just pass it through unchanged or if we also want to add special logic to MDG

devout vault
#

pass through what?

fallow dagger
#

NFRT needs the universal jar to compile Minecraft

devout vault
#

yes, as a classpath item, but merging it into a merged jar is shit

fallow dagger
#

Ah right we are still doing that

#

Heh yeah that does suck

devout vault
#

I also apologize for completely derailing this thread lol

next wolf
#

Pack news in snapshot 25w44a include changes to game rules and environment attributes and a new system of slot sources for loot tables! Here is a video showcase! #minecraftemployee

slicedlime works as a Technical Director for Minecraft at Mojang, but the YouTube and Twitch channels are personal projects run entirely in his spare time. This is a...

β–Ά Play video
#

0:35
huh game rule command does not accept the namespace
that feels wrong, what if 2 game rules have the same path but diff namespace

twin viper
#

neo patch?

next wolf
#

mayhaps

#

if not using it already should be just swapping the arg out to use the RL arg type

twin viper
#

ideally it would support the short form w/o namespace too if it doesnt conflict

next wolf
#

thats built into the suggestion provider

#

someone recently PRd it so RLs match substr from both parts + full

#

and i think vanilla yoinked it too iirc

latent ivy
#

The thing with the game rule command is that because you can either have integer or boolean game rules, you can't know which argument type to expect if you just use the resource argument. So game rules are currently just literals with the corresponding type argument coming after. Literals do not support partial matches (unless what you write starts the same way), so if namespaces were allowed, you couldn't type /gamerule advance_time to get autocomplete suggestions because the argument is a literal minecraft:advance_time.

twin viper
#

thinkies can you not resolve the previous dynamic (non-literal) parameter to provide the suggestions for later ones

solar stone
#

Brigadier limitation πŸ€”

#

Each suggestion is an individual command (sub command)

latent ivy
#

It's that the argument that you use for setting the game rule value is fixed when you register the command. But which argument it is (int or boolean) depends on which game rule you select while writing the command at which point the argument types are already fixed.

solar stone
#

Yea

twin viper
#

Ah, because you specify the argument type in the command registration

latent ivy
#

Yes

solar stone
#

If not done already, prob could do a search bar for the game rule menu

#

Atleast

twin viper
#

the hack then would be double register each gamerule, once namespaced and once just as the path (if no conflicts)

latent ivy
#

And then your suggestions go
agamerule
gamerule1
gamerule2
minecraft:agamerule
minecraft:gamerule1
minecraft:gamerule2
minecraft:zgamerule
zgamerule

#

Ain't that fun

solar stone
#

The real solution is to design brigadier to use codecs! XD

twin viper
#

youd need to use a different sort, assuming brigadier allows that

solar stone
#

A key/value sub cmd system

twin viper
#

yeah that is a problem

#

entire command is a greedy string that gets manually parsed: problem solved

solar stone
#

xD

twin viper
solar stone
#

Hmm

edgy river
edgy river
#

It was just, it works? Cool. Throw away

next wolf
#

pixfrog tomorrow y’all know what that means first unobf’d jar

#

Oh and the shenanigans that comes with a new snapshot but that should be expected

solemn furnace
#

Java 25 tomorrow, maybe?

twin viper
#

nah java 26 with value preview obviously

lethal ice
#

"we have decided to go back to java 5"

next wolf
#

Oh gods no

solemn furnace
#

Is it Java 5 or Java 1.5?

lethal ice
#

I don't know when their public naming changed from 1.x to x

#

1.4 -> 5

#

the internal version remained 1.x until 1.8, then java 9 was 9.0

devout vault
#

"We migrated everything to Kotlin"

lone cairn
#

pffff

#

at least could have done scala

lime oyster
#

You know, I like how they shuffled around gamerules and its still only really limited to ints and bools

#

At least if you want to use other features

gleaming ore
#

Who's to say that isn't prep work?

lime oyster
#

Maybe? But I'm not confident on that

#

They merged the type and key into one unit, which makes me think it's just some simplification work

atomic fern
#

also, iirc, scala support in forge was originally ChickenBones's suggestion. So blame him for scala.Arrays :) (for those who know what that pain was)

lone cairn
#

Scorge was the second iteration, AFAIK
made by, back then Illy

atomic fern
#

yeah, i'm meaning when it was included in forge, circa 1.4/1.5

#

maybe 1.6, not sure on the timeline

#

famously, uses a lot (or used to) of bandwidth for forge maven

lone cairn
#

yes
eh, I might revive it at some point for forge (and perhaps neo, who knows)
or just a general gradle plugin, dunno

atomic fern
#

mm, there was another language loader for it

viral nacelle
#

scalable cats force right?

atomic fern
#

I don't remember the name

#

thats the one

#

but, scala is very academic, its not particularly friendly

#

nor does it promote good memory/gc patterns

lone cairn
#

can still be fun πŸ˜›

atomic fern
#

oh absolutely, traits were based af

#

i still also miss implicit functions

#

i remember a lot of sensitive code in fmp explicitly using java collections everywhere to avoid the immutable collections lib

gleaming ore
#

still waiting for someone to make a C# lang loader

#

Don't care if it gets transpiled 4 times, I want one lol

viral nacelle
#

wasn't there somebody working on a WASM loader

atomic fern
viral nacelle
#

that'd basically allow everything

thorn hatch
next wolf
#

Heh the snapshots not dropped yet, champ must be on the ball

lone cairn
lime oyster
#

Some sampler additions, block/terrain split in pipelines, game rule changes, slot sources, and jspecify

next wolf
#

Unless he’s only just now posting last weeks?

lone cairn
#

orrrrr

#

he works for mojang, and gives us secret insights

next wolf
#

If that’s the case tell us champ, fucked are we with the unobf’d jar tomorrow xD how broken are our tools gonna be

jade plume
#

RenderPipelines that were used by both a standalone block and the terrain has been split into separate pipelines: one with prefix _BLOCK and _TERRAIN, respectively. This includes the solid, cutout, translucent, and tripwire pipelines. No block variant exists for the translucent pipeline.
thonk how do I render translucent blocks in renderers then

gleaming ore
#

Comm if you figure that out lemme know, Gander 21.10 is still broken on that aspect

jade plume
#

oh uhh

#

in 21.10 if I have a SubmitNodeCollector and I'm trying to render blocks that are naturally transparent just do submitBlock and they work

gleaming ore
#

Yes but submitBlock does not tesselate (try rendering a bunch of glass)

jade plume
#

hmm

fallow dagger
#

It does not what?

jade plume
#

to render solid blocks transparently I extend ModelBlockRenderer (so I can unhardcode the alpha) and call tesselateBlock on it

gleaming ore
#

submitBlock:

jade plume
#

woah

thorn hatch
#

nano

gleaming ore
#

WRONG copy, sorry

jade plume
#

please this is a christian minecraft server

thorn hatch
#

I am at the office...

shrewd violet
gleaming ore
#

I firmly blame Discord for its copy paste there, and can't take that back. Deleted as fast as possible.

deep wadi
#

Where message log

jade plume
#

I checked message logs (in case I needed to delete it from there too) but didn't see it, maybe the log bot doesn't do threads?

deep wadi
#

BIG oversight

atomic fern
gleaming ore
#

ANYWAY MOVING ON

#

Rendering glass with submitBlock does this

jade plume
#

is that wrong?

gleaming ore
#

But if you look at more correct rendering:

atomic fern
#

looks fine to me, just no culling

gleaming ore
#

Notice the lost translucency

#

You should see the red concrete through the glass

atomic fern
#

it is translucent, just obscured faces are not culled

#

your second one is incorrect, you should see the red, and the sides of the command block

jade plume
#

I'm confused, is the picture labeled "more correct rendering" the incorrect rendering?

gleaming ore
#

It's more correct in that it removes additional geometry but incorrect on translucency

atomic fern
#

the first is closer to correct than the second imo

jade plume
#

yeah when I saw the first I was like "yes this is what I would expect it to render like"

gleaming ore
#

While submitBlock does translucency correctly but does not tesselate and remove the additional geometry (since it's one block upload per call)

thorn hatch
gleaming ore
#

No, that was from someone in FC, not mine

#

But Gander is mine so shareable

atomic fern
#

Seems like we should provide an overlaod to submitBlock which takes a side mask for occluded faces, seems quite easy

#

it boils down into ModelBlockRenderer.renderModel, line 452, that for loop

thorn hatch
#

well they did say that they are not done with static block model rendering

atomic fern
#

there specifically

gleaming ore
#

What would be more useful is a renderBatchedBlock or renderBatched submit call

#

Which is a combination of tesselate and submitBlock

atomic fern
#

Submitting them individually is fine, they will use caced buffers

#

it should really not be any different

gleaming ore
dreamy frost
gleaming ore
#

Switch to Zorin, team Linux is nice :>

dreamy frost
#

Multiplayer games and Intel Quartus would like a word with you

gleaming ore
#

I can play plenty of games just fine

#

And Intel is too busy shooting themselves in the feet to make me care lol

dreamy frost
gleaming ore
#

M'kay

#

I've got Rocket Lab, Portal, Minecraft, Factorio, Shapez, over half of Steam... think I'm good. And the more things that work with Steamdeck and Linux, the more pressure is put on all the AAA companies to give a shit

atomic fern
#

they will literally never give a shit

#

they only want profits

gleaming ore
#

'kay. Hope companies making stuff like Silksong eat them alive

atomic fern
#

3% of the userbase is not profit

#

once the market share is like 70/30, we can probably expect them to start caring a tiny bit

gleaming ore
#

Anyway. Topic. Rendering sucks. What do y'all think tomorrow will bring?

atomic fern
#

MORE RENDERING!

gleaming ore
#

...besides that, we KNOW that'll happen

atomic fern
#

very excited to diff asm dumps of obf remapped an unobf

#

i have been bashing my head against RT errors in CG for a while, and i want to know if i'm insane or not

deep wadi
#

Minecraft will drop Linux support!

atomic fern
#

(my 3% was from the latest steam hardware survey)

gleaming ore
#

TG, now update that for the year and a half since

dreamy frost
lime oyster
#

Curious how linux changed once steam decks became a thing

deep wadi
lime oyster
#

oh

gleaming ore
#

So

atomic fern
#

3% is fucking huge, fyi, linux was at sub 1% for yeeeaars

gleaming ore
#

Win 10 is dead. That's a LOT of market that might suddenly move

jade plume
#

linux is less than "none of the above" thinkies

gleaming ore
#

And I know a ton of people reaaaaal mad at MS right now, and willing to try Linux...

atomic fern
#

yeah, come to linux, we have good customizable de's, and cracked translation layers :)

next wolf
deep wadi
#

β€œImma try linux!”
Sees 100+ different flavors of Linux and gets overwhelmed

Goes back to windows

atomic fern
#

just use ubuntu, its fine

gleaming ore
#

Ubuntu, Mint, or Zorin

atomic fern
#

if your starting, it doesn't matter

gleaming ore
#

All are very very friendly

atomic fern
#

i used ubu for like a year then moved to arch

lime oyster
#

The only windows computer I have that's not decomissioned at this point is my main work computer, though that's only because the apps I need only exist for windows/mac and wine isn't good enough

#

The rest is like 5 different distros of linux because of testing things

lunar storm
#

Wsg everyone what did I miss

#

Is the snapshot in 5 mins?

next wolf
#

your a day early

lunar storm
#

Oh wait I'm an idiot 😭

next wolf
#

and it would have been ~50mins ago

#

if it was today

lunar storm
#

πŸ˜…πŸ˜…

next wolf
#

for reference snapshot drops in ~<t:1762268400:R>

solar stone
#

Frog day tomorrow?

#

🀞

lethal ice
#

likely

hybrid perch
#

neofrog?

solemn furnace
#

FXAA in Minecraft pls 🀞

low kraken
hybrid perch
split oak
#

im looking at it rn it actually looks really nice

#

and it supports windows apps with is my main issue with switching to linux i might actually try this one out

hybrid perch
split oak
#

none of the linux things i tried supported windows and they felt gross to use, very basic looking no polished look

hybrid perch
# split oak what's wrong with zorin?
  1. uses heavily modded shell of a different project and is prone to breakage
  2. uses and ships outdated software
  3. tech advertised on their website is not even their own
split oak
#

i want windows without the microsoft of it all that still supports windows games and apps

#

(probably not for this thread but plz enlighten me in #squirrels-🦊)

hybrid perch
lethal ice
#

zorin isn't special in tech, they just package things to be less annoying to people that have used windows all their life

#

that's their whole selling point

#

above all, it's one of the few distros that supports nvidia proprietary drivers out of the box without having to go through 50 hoops to get them installed and working

#

almost everything else whines about them not being foss

#

I wonder if there's any distro that includes the best choice for any purpose even if that choice is paid software and it adds to the price of a license πŸ€”

twin viper
#

(this moved to #squirrels-🦊)

solemn furnace
#

Frog day!

devout vault
#

The anticipation is killing me!

rare lynx
#

wrong answer, you were already dead!

split oak
#

mojang is killing me with the snapshots actually

#

but i love it

atomic fern
split oak
#

and J25!

#

and Vulkan!

solemn furnace
#

and DirectX 12!

#

oh wait no

next wolf
#

pixfrog todays the day

split oak
#

6 hours foxsit

next wolf
#

~<t:1762268400:R> to go

split oak
#

is it not an hour after that

next wolf
#

always been 3pm my time

split oak
next wolf
#

which is in ~5hrs

split oak
#

ig its between 10 and 11 est

split oak
#

guess it was late

next wolf
#

i mean they try to release around that time sometimes they are later some times earlier

next wolf
solemn furnace
#

If Mojang adds Vulkan, I think it will be via bgfx.

next wolf
#

ngl im not rly expecting much this week since they are also shipping the unobf jar

split oak
#

i am

#

shipping the unobf jar probably doesnt require much effort

#

all they have to do is disable the proguard thing and upload a new jar

next wolf
#

not saying it does, im just expecting that to be the focus of this week

split oak
#

yeah probably nothing super big like a new backend

#

but i think some more rendering changes and maybe J25

#

since J25 is also trivial

#

and would make a nice break in the versions

#

so the newer versions could simply start with J25

polar kernel
low kraken
split oak
#

i forgor

low kraken
#

Both show up as 15:00ish for me in the uk

split oak
#

does sweden not do DST

low kraken
#

It does
Cet(UTC+1) -> cest(UTC+2) in the summer

#

Apparently

#

But since the UK changes by the same amount in the same direction at the same time, the relative change is 0

next wolf
#

but should still be around the time i posted

thorn hatch
#

it's Tuesday 16:00 mojang time when they have the release scheduled, it just takes a few minutes to show up

#

which is in ~3h 15min

low kraken
#

<t:1762268400:R>
<t:1762268400:f>

next wolf
#

~< 25mins to go

atomic fern
#

~T- 5 mins

next wolf
#

inb4 mojang is late

atomic fern
thorn hatch
#

T-1 min

lethal ice
#

I'm watching an exam

echo pendant
#

as in, proctoring/invigilating? thinkies

thorn hatch
atomic fern
#

what kind of exam?

echo pendant
#

gimme bongocat

solemn furnace
#

T+1

next wolf
#

they late πŸ™ /j

atomic fern
#

afjklhsdf\

solemn furnace
#

25w45a

next wolf
#

Minecraft Snapshot 25w45a finally brings Netherite Horse Armor to the game, along with a new Coral Zombie Nautilus variant and more! Check it all out here! #minecraftemployee

slicedlime works as a Technical Director for Minecraft at Mojang, but the YouTube and Twitch channels are personal projects run entirely in his spare time. This is an unof...

β–Ά Play video
crystal plumeBOT
#

[Reference to](#mojira message) #mojira [➀ ](#mojira message)Version 25w45a has been released.

25w45a
Affected
Fixed
Released

2025-11-04

thorn hatch
#

where da unobf at

lone cairn
#

WJOOOO

#

time to harold

shrewd zealot
#

Our final set of features for Mounts of Mayhem

lone cairn
#

With this week's snapshot, we're also introducing a new concept for data packs called timelines, that can modify game behavior based on the in-game day time – more about that in the full changelog below.

gloomy axle
#

there it is thinkies

lone cairn
#

jesus christ mojang

jade plume
lone cairn
#

timelines

dark nacelleBOT
#

New version detected: 25w45a.

lone cairn
#

what is this, Doctor Who - Minecraft edition??

atomic fern
#
As we are preparing to remove obfuscation from Java Edition, you can also get a non-obfuscated experimental version of this snapshot using the Minecraft Launcher:

Download this zip file
Unpack the folder into your "versions" folder of your local Minecraft application data folder
Start (or restart) the Launcher
Create a new launch installation and select the "unobfuscated 25w45a_unobfuscated" version
Start the game and the remaining files will be downloaded
echo pendant
#

so not in the manifest

atomic fern
#

its not

#

zip contains another version manifest

echo pendant
#

good, we don't have to worry about that pain

#

for now

#

alright, time to change toolings to accept custom version manifests

gloomy axle
lone cairn
#

Sci, can I task YOU to work on the timeline stuff?

#

sounds perfect for you /s

gloomy axle
#

thinkies items atlas

thorn hatch
#

Item textures were split out of the blocks atlas into a separate new items atlas

lime oyster
#

Does the non-obfuscated not come with the source?

echo pendant
#

more sledgehammers to rendering!

echo pendant
#

they're just unobfuscated

#

no name mangling

lone cairn
gloomy axle
lime oyster
#

I mean, at that point, the only thing they're not giving us is any javadocs they have

#

Assuming the LVT is not mangled

gloomy axle
#

I assume snowblower can't access those since they're not in the manifest thinkies

gloomy axle
turbid wedge
#

We got a data-driven animation system for the server-side, now can we get one for the client?

#

And yes Ik NeoForge has one, but that's only for modded entities

gloomy axle
#

I thought vanilla has one

#

ah way, data driven

gloomy axle
#

I wanna see locals

atomic fern
#

its real

#

the LVT is alive

turbid wedge
atomic fern
#

its all there

gloomy axle
#

I guess I could run the server jar through a standard decompiler

turbid wedge
next wolf
#

-# Note that SnowMan is still Obf->Obf

#

so remember how i said i wasnt expecting much this week....
wtf are timelines blobconfused

jade plume
gloomy axle
#

oh, the server jar has an interesting structure

lime oyster
#

Oh hey, item atlas

next wolf
#

oh.. thats concerning

worthy ember
#

What’s in it?

next wolf
#

contained so many help utilities that are just gone

jade plume
#

1170 lines of helper methods

#

was it renamed?

next wolf
#

or moved eslewhere?

gloomy axle
#

but hey, I see locals, I'm happy

lime oyster
#

Did ResourceLocation really get renamed to Identifier?

dark nacelleBOT
#

Greetings from the Tuesday snapshot shipping room! Our final set of features for Mounts of Mayhem brings the game's strongest armor tier to your favorite mount – with Netherite horse armor! As well as making your steed more stylish, Netherite horse armor w...

next wolf
#

we are not yarn

echo pendant
#

they did

#

the mad lads actually renamed it

turbid wedge
#

THEY WHAT

next wolf
#

well time to retire i suppose /j

lime oyster
#

And Util still exists

gloomy axle
#

this decompiler also can't handle records kek

echo pendant
lime oyster
#

In net.minecraft.util

turbid wedge
#

No way

next wolf
turbid wedge
#

I preferred ResourceLocation

next wolf
#

this is a neat new class tho

turbid wedge
#

That's not new

next wolf
#

its not?

#

new to me atleast

turbid wedge
#

I don't think it's new

echo pendant
#

that's not new

#

can you guess what it was previously called harold

lime oyster
#

Was originally ResourceLocationPattern

turbid dune
gloomy axle
wise seal
#

I like the new timeline stuff...
It looks to be more about time of day based events... but I could see it being used for longer running story stuff....
Imagine a slowly crumbling unstable dimension....

echo pendant
#

alright boys, I'm announcing my retirement from Minecraft modding /j

next wolf
gloomy axle
#

official were a ruse, they used yarn all this time

echo pendant
#

Beardifier, iirc a specifically not Yarn name, is still in

lime oyster
#

Welp, I'll start primer work tomorrow

#

Definitely not because I'm dreading all the renames

turbid wedge
#

Noo the skybox field of a dimension is an enum

echo pendant
#

the sheer amount of changes alone the ResourceLocation to Identifier rename did thinkies

gloomy axle
lime oyster
#

It's going to be the jspecify hell all over again

#

Except worse

echo pendant
turbid wedge
lime oyster
#

Wait, they fixed spelling???

chrome shore
echo pendant
#

perfect, thank you for that kek

gloomy axle
chrome shore
#

(also popping in to say Identifier forever! hope you guys don't mind it...)

turbid dune
turbid wedge
#

This is going to be absolutely so painful for multiversion mods

gloomy axle
lime oyster
lunar storm
lone cairn
echo pendant
#

all the Yarn maintainers were in fact alts ofβ€”

lunar storm
#

What do mojangstas say about this, like what's the reason

gloomy axle
#

My best guess is that this a tribute to yarn thinkies

lunar storm
#

Identifier forever I guess

turbid dune
#

Could also be several Mojangsters prefering the name as well

lunar storm
#

Yh but the timing is suspicious

lone cairn
#

Modmuss being a secret Mojang emplyee, and this is just a stab at all the haters

lunar storm
#

Like why now and not before

lone cairn
#

tbf, some people were extremely toxic that Yarn was sunsetted..... so I can see Mojang just stabbing those who were like that

gloomy axle
lunar storm
#

I want them to reply, if they're online rn

thorn hatch
#

was just RL renamed to the yarn name or anything else too?

turbid wedge
#

Everything that was named after RL

next wolf
#

some classes moved locations too

turbid wedge
#

Actually where is the class anyway?

#

I don't remember where it is

hallow chasm
#

has anyone else checked the "preparing to remove obfuscation from Java Edition" link at the bottom of the blog post

lunar storm
#

Did Identifier move locations btw?

turbid wedge
#

I could've sworn it was n.m.data

next wolf
lone cairn
gloomy axle
turbid wedge
#

Ah

next wolf
#

yeah Identifier is still where RL was

lunar storm
#

But RL just made sense

next wolf
#

smh they renamed RL to identifier but didnt do IdentifierKey or some shit

lunar storm
#

They did RLPattern to identifierpattern

lone cairn
#

that is my theory

gloomy axle
#

they didn't fix the error messages tho kek

lone cairn
#

or that Modmuss is just Jeb /s

hallow chasm
#

not the best snapshot in terms of patches that need to be fixed

next wolf
gloomy axle
#

depends, if it's yellow, sure, but if it's orange, no kek

next wolf
#

i see the word warn i ignore, simple as that blobxd

lunar storm
fallow dagger
#

Is Identifier the only rename?

lunar storm
#

RLpattern turned into IdentifierPattern as well

thorn hatch
echo pendant
#

so about 75%-80% of the codebase got affected kek

gloomy axle
#

except ResourceKey apparently, what is/was the yarn name for that one?

fallow dagger
#

RegistryKey?

lunar storm
#

Registry key yeah

next wolf
#

see that one makes sense

#

since the keys are mostly for registires

fallow dagger
#

Yeah

lunar storm
#

Mostly being the operative keyword

spare hearth
next wolf
spare hearth
hallow chasm
#

on the bright side

echo pendant
#

huzzah!

next wolf
#

now who wants take to take the unobf jar and spit out a new parchment version with all the new param names

#

gimme those early unobf param names in my 21.10 workspace

#

uhh is this just another class being moved or do dimensions not have special effects anymore?

gloomy axle
#

I mean, that shouldn't be too hard to setup

proper rover
#

how is the unobf decomp?

next wolf
#

i just know its something alot of modded dimensions used so kind concercning if its gone

gloomy axle
proper rover
#

that's good though

#

but i was meaning about the decompile quality :p

#

I'm still working on getting my tools changed to the new stuff, but I'd love to know if there is any bugs that needs addressing

#

i want to release vf 1.11.2 if not

hallow chasm
#

I will do the neoform update later since there are many patch failures due to mojang renaming stuff

rare lynx
#

the fuck you mean they renamed it to identifier screm

proper rover
#

alright

rare lynx
#

who do I stab

proper rover
#

it's fewer characters!

latent ivy
devout vault
#

Identifier is so much better

turbid dune
#

enough batter to make several cakes?

next wolf
hallow chasm
north summit
rare lynx
#

this is such a mojnt moment

ocean flower
#

What makes a name like ResourceLocation or Identifier good or bad outside of being used to them?

proper rover
#

is the obfuscated jar part of the version manifest?

devout vault
#

There's a separate link at the bottom to a special manifest

proper rover
#

alright

devout vault
#

So, not part of the "production" manifest, no

proper rover
#

thanks!

devout vault
#

contains the version manifest for the unobfuscated version

wild junco
rare lynx
#

I mean, since we have mojnts here anyway, could someone clarify whether 1.21.11/1.22 or whatever the release version is named will be the first one that's unobfuscated or whether the first snapshot in the new cycle will be the first

gloomy axle
#

they said the latter

#

Starting with the first snapshot following the complete Mounts of Mayhem launch, we will no longer obfuscate Minecraft: Java Edition.

deep wadi
#

Mojang should’ve used Id instead, even fewer characters

latent ivy
#

missed opportunity

gloomy axle
#

They should have just used the obfuscated names, saves so many keystrokes

wild junco
#

Depending on the definition it's not even an identifier, since the resource that is located there can change at any time thonk

gloomy axle
#

Why write ResourceLocation.fromNamespaceAndPath(…) if you can just write like akd.h(…)

gloomy axle
proper rover
#

by the way, are all params final now?

solemn furnace
#

Ty

next wolf
#

orion sniped me pinning that

proper rover
#

i heard that somewhere so I was interested in whether development of the unfinaling vf plugin was going to happen

gloomy axle
echo pendant
#

based

lone cairn
next wolf
#

i mean thats fair for this channel, the pins can get spammy during ports

#

-# which again is why im asking for snapshot dedi channels/threads/forum or something, but i dont think that will happen

vestal tundra
jade plume
#

or 1.16.5 to 1.17

vocal ivy
#

Is it possible that they will change back to ResourceLocation in the next snapshotharold

vocal ivy
#

They also keep three location references in Identifier, which seem to have been not checked at allconcern

next wolf
#

some exceptions also still use RL

atomic fern
#

wiat, the fuck happened to ResourceLocation

edgy river
#

it got a little stringy

#

cought up in the yarn

vocal ivy
#

yarn hacked mojang(JK)

atomic fern
#

this is completely unnaceptable

shrewd violet
#

Somebdoy needs to run git revert real quick

atomic fern
#

but the mojang gods do as they choose i guess

next wolf
#

covers your late to the party ablobheadshake

deep wadi
atomic fern
#

i can only do so many things

vocal ivy
#

ResourceLocation has been around for longer than I've been in the game, do they really understand what they're doingkek

vestal tundra
#

LOL then make it remap mixins aswell...

solar stone
#

Add back ResourceLocation 😭

vocal ivy
#

mcp againharold

vestal tundra
solar stone
#

🀣

jade plume
#

time is now data-driven: *crickets*
ResourceLocation is now Identifier: *confused screaming*

vocal ivy
#

not enough locationskek

vestal tundra
#

shame on them

edgy river
worthy ember
vocal ivy
#

replay mod have a remap tool that support remap kotlin and mixin

#

but loom seem only support javathinkies

edgy river
#

yeah. if I decide I want to die in gradle and gpl I may package that into a loom extension that doesn't actually have anything to do with loom

lone cairn
next wolf
vestal tundra
lone cairn
#

are you asking for mojang to change everything to Yarn, to spite neo?
stabolb

next wolf
#

make Identifier sealed
add new class ResourceLocation
extend Identifier
add static bouncers

ez patch

ember galleon
vestal tundra
#

yoo finally

ember galleon
#

all of them, including some third party annotations

vestal tundra
#

i had to fix 70 mixins by hand last time

edgy river
#

last time Mojang released a fully deobfuscated copy of the game?

#

did I sleep in on a day?

next wolf
#

that will be when 21.11/22.0 drops (well mounts of mayhem)

#

we get obf and unobf jars for each snapshot until then

vestal tundra
#

what will Parchment become

next wolf
#

dead or just javadocs

vestal tundra
#

:(

next wolf
#

it has no purpose shipping param names if mojang is giving us them

#

which was its main purpose

solar stone
#

Variable names?

atomic fern
#

and var names, yes

next wolf
#

those are included too afaik in unof jar

atomic fern
#

full lv table is now available

next wolf
#

and i think method params are also final everywehre now

proper rover
#

In my internal testing, it looks like the new (unobf) version has ~20 fewer compile errors when compared to the last snapshot

vestal tundra
#

it's this snapshot ?

next wolf
#

yes 45a is todays snapshot

vocal ivy
#

full local variable ,but not good as parchment

next wolf
#

what does parchment give that the unobf doesnt?
other than javadocs

lethal ice
#

nothing

#

parchment has a few javadocs, zero local variables
unobf has zero javadocs, all the local variables

#

solution: parchment becomes a javadoc provider

next wolf
#

yeah i see no reason for parchment to stick around
i mean the javadocs are nice but i could understand it dieing out too

atomic fern
#

can intellij staple javadoc jars onto binary jars? may be able to just literally publish a javadoc jar on maven

lethal ice
#

technically it has another potential feature: manage unpick definitions

vestal tundra
lethal ice
#

(unpick as in de-inline)

next wolf
#

so many of them

#

no more magic numbers

#

like why do this, just AT the constant public and use it
so much more readable imo and if mojang changes it for what ever reason
we dont have to remember to update this random 1

stark crane
#

In 1.22 do we think we will have a lts version that all mods will settle on?

proper rover
#

for what it's worth we're working on a decompiler-level solution for unpick, based on unpick v4

next wolf
#

doubt it

#

with mojag pushing more frequent updates now

gloomy axle
#

fabric discord said something about merging, but idk

unreal jacinth
#

oh identifier wasnt a joke

worthy ember
#

Unfortunately not.

spare hearth
echo pendant
#

"there is no queen of england" /j

lunar storm
#

net.minecraft.resources.Identifier just sounds too wrong

atomic fern
#

this is the world we live in now

#

or rather, level

#

world went away many years ago

split oak
#

what the hell no please

#

resource location makes so much more sense they couldn't have paid homage with Cat#meow or something why this

#

this is going to require so much refactoring for everyone

devout vault
#

They use these for many things that are not resources.

split oak
#

everything is a resource so that's simply not true

#

whether it's a file resource or a registry resource

edgy river
#

It still works from mojmaps -> mojmaps

#

As long as the intermediary name doesn't change

split oak
#

all my names revolve around rl

#

modLoc and things

#

now they have to be converted to modId

hybrid perch
#

thats gonna cause some confusion

next wolf
#

modId(<modId>) ->modId:<modId> ah totally not confusing at all

split oak
#

actually

#

modId(path) -> modid:path

#

but modLoc is just such a nicer name

#

idk if this change will grow on me I genuinely really don't like Identifier

#

and now the code base is a mess of both forms bc they didn't change everything

#

Identifier location just kill me

lone cairn
lunar storm
lone cairn
#

you say that
but soon they will come with something stupid like SPWorld, MPWorld, ThreadedLevel

lunar storm
#

what are those supposed to be

split oak
#

I would prefer world to identifier

lunar storm
#

Yea identifier is just weird

lone cairn
lunar tapir
#

not sure why, but part of me is kinda surprised they would name a parameter "thing", I always feel unprofessional when I do it lol

gloomy axle
#

I mean, it's fairly correct in this context kek
but I get what you mean

lunar tapir
#

a few lines down they use element instead

gloomy axle
#

Well, that's not T, that's ResourceKey<T>

#

They could have called it value, but I guess that's not that much better than thing

split oak
#

hello people with src access

#

what the blits looking like geeked can i see

lunar tapir
split oak
#

day 1 param names i prayed for times like this

next wolf
# next wolf # Snapshot 25w45a - **Primer**: <https://github.com/ChampionAsh5357/neoforged-g...

Minecraft Snapshot 25w45a finally brings Netherite Horse Armor to the game, along with a new Coral Zombie Nautilus variant and more! Check it all out here! #minecraftemployee

slicedlime works as a Technical Director for Minecraft at Mojang, but the YouTube and Twitch channels are personal projects run entirely in his spare time. This is an unof...

β–Ά Play video
gloomy axle
#

for me locals are the more interesting part, no more f3, flag1, i2

twin viper
#

given rl is called id now, renaming modid anyone?

split oak
#

modNamespace

#

or just namespace

twin viper
#

yeah namespace was my thought

sour torrent
#

Dude Im so happy that its Identifier I have maintained its my least favorite part of Mojmap

twin viper
#

Identifier.fromNamespaceAndPath heh

#

love to see it

split oak
#

RL is better fight me

twin viper
#

i dont like identifier as much as the next guy, but this is one hell of a method name that i kinda wish they changed with the class rename

split oak
#

i support the of overloads

sour torrent
#

It is literally an id I will stand on that hill

split oak
#

no it is not

#

a texture location is not an ID

#

all IDs are RLs but not all RLs are IDs

jade plume
#

it's the id of a texture

twin viper
#

its the location of resources such as textures and sounds.
Its also the id of registry onjects like items

split oak
#

it is the location of the resource in the registry

sour torrent
#

The way I see it, the blocks arent registered in the resource part of my code they are registered in the code part of my code

#

I will ragebait on this I dont care

split oak
#

...what

#

resources are not just assets

#

anything can be a resource even things in code

devout vault
#

did anyone bother doing a snowblower with the deobf?

devout vault
next wolf
#

asking as the smooth brain that i am, what does final on method params do exactly?
i mean me the dev creating the method, its like final on class fields, cant modify the param
but for a caller, does it rly change or do anything?

devout vault
#

no, it has no effect on callers

next wolf
#

so whats the benefit of removing final?

#

like its vanilla code we are removing them from
so we arnt inside the method bodies, we are the callers
whats the benefit?

devout vault
#

we are removing them now

#

generally they make the signatures less readable if you're just trying to understand what is going on

next wolf
#

im just trying to understand why/what the benefit is?
i mean in neodev i suppose its helpful, where you can modify the bodies
but as a general modder whos mostly calling the methods
im strugling the see a benefit/reason behind removing final

next wolf
jade plume
#

as a modder it makes the vanilla source file easier to read because the list of parameters has less boilerplate words in it

devout vault
#

and yes, if remove them from neodev, we have to remove them from moddev

#

but generally it's both, I'd say, so we have been removing them as soon as they showed up in the obfuscated jars 1+y ago

twin viper
#

does final params affect mixin?

devout vault
#

no

dreamy frost
#

Do final params even have any runtime checks?

devout vault
#

no

dreamy frost
#

That's what I thought

devout vault
#

The flag that makes them final is in the same block as the parameter names (which is optional, anyway)

#

The tables you get when you compile with -parameters

#

That started showing up in 2024 in the obf'd jars

#

we're currently stripping those access flags in ART during the remapping from obf->named

#

but assuming we'd want to continue doing that when we directly decompile the new jars without any prior bytecode processing

#

then we need a vineflower plugin (or do it afterwards in JST)

#

Well, JST would be bad, since we patch the sources before JST, if I remember correctly. And the patches should be based on the non-final parameters.

gleaming ore
#

screms in late to the party, and also Identifier

#

meanwhile, in Mojland.. I imagine there's a bit of amusement happening

#

^ Yarn rn

#

also Moj already announcing they aren't going back smh /s

edgy river
#

πŸ‘€ ResourceKey

#

-# You're next

gleaming ore
#

oh lawd

#

buffalo buffalo buffalo buffalo..

echo pendant
#

don't worry, once we go unobf all the pain will go away PatPat

gleaming ore
#

...that sounds threatening

#

sci do you have a gun