#1.21.9 Snapshots
2936 messages Β· Page 3 of 3 (latest)
Done, the only things that stay dead for now are the DimensionSpecialEffects weather render hook and RenderHighlightEvent.Block. I have an idea for making the latter work again but that'll be a PR once we go public. The DimensionSpecialEffects hooks should probably get a complete re-design or at the very least each be split into extraction and submission to match vanilla
we need to update the PlayerSetSpawnEvent to use the full LevelData.RespawnData
is that class strictly for Player?
yes since it's for spawnpoints and extends PlayerEvent
I guess my days of not being able to release a port immediately are coming to a middle https://commoble.s3.us-east-1.amazonaws.com/images/morered/and_gate_preview.png
Going public in this case refers to making a porting PR that is still on a pre-release or RC, not the first release on the full MC release, so you can still release a port immediately if my PR gets merged fast enough
do we want to fix these things or go public first?
Fix what specifically?
what you left
No, I left it specifically because it requires a more substantial rework that should be done in a public PR
does sound like those features would benefit from more eyes and not warrant keeping things "hidden"
Correct
ok so I'll move the rejects gen patches and create a squash branch
π
I think you should edit down the commit message to a simple Port to 1.21.9-pre1 and remove the rest (except the co-author tags, obviously)
Otherwise "+4267 -3778", that's not even that bad 
Hm.
Honestly, this is an artifact of our process, we'll clean it up in post I guess. This shouldn't be a patch to begin with
That looks like it's left over from the split sources change
since NeoForm still ships with that broken start patch
We should take the opportunity and remove that in 1.21.9
Speaking of which: we should probably add that offline mode flag in both neodev and userdev to shut up the Realms warning, potentially conditional on an auth token being provided such that testing with auth is still possible
yes
or rather, no. π
-> FML refactor
There's no difference between startup in neodev/userdev/production anymore in that
BTW; this looks like a formatting artifact or am I just blind?
Yeah, that's just a formatting artifact
We probably have a bunch of those again, they slip in regularly
There are a few more of that, can I just go in and fix that?
@ember lintel are you actively working on the squash?
It also seems to be complaining about the generated ATs being outdated
Doesn't surprise me
I already pushed to port/1.21.9-pre1 on the main repo
No clue, that patch has existed for ages
That if can't be hit
We should yeet that
Oh it's half true, I suppose you could pass --username "", I have to check if it accepts that
1.21.9-pre1 PR is available: https://github.com/neoforged/NeoForge/pull/2639

Name the branch port/1.21.9
I checked the naming that was used in 1.21.6
that had a branch per version and closed the PR each time
Hm, you searched for longer than I did then. I also tried to find how we did that for 1.21.6 π
I just opened the branches view on the main repo
Ok? I only see port/1.21.6 there
I do see that I made a PR from a pre1 branch, then deleted that and moved to a suffix-less π€
Whatever, it's fine until it builds
We need to resolve conflicts to get a published version
on the prs I find this
I have no idea how resolving conflicts in patches works, but I'm surprised we only have 5 conflicting patches
The short version is: it sucks.
You could try an interesting experiment π
Try to find the PRs that are missing, and try to use the backporting bot to port them to the porting branch.
shartte, if you don't mind, I would like to take over the patch cleanup (once the PR is rebased), looking through the squashed commit I found a couple more issues
Yes, go ahead
I'll try to hammer out some stuff on the FML refactor since we're under time pressure again π
Did you notice any other formatting artifacts beyond the two in the mouse handler?
Nope, just the one and the one further down
I'm trying my hand at rebasing the porting PR right now
Welp, here goes nothing, let's hope the PR survives this 
A first pre-release is out for Minecraft 1.21.9 - the Copper Age Drop, with fall damage reset for end portals, copper golem bug fixes and more! Check it all out here! #minecraftemployee
slicedlime works as a Tech Lead for Minecraft at Mojang, but the YouTube and Twitch channels are personal projects run entirely in his spare time. This is an un...
There we go, PR rebased, ATs, patches and formatting fixed and it finally builds and publishes. The JUnit tests appear to get stuck though
the test framework is accessing a null serverWorld, at least when I tried the tests in my mod with the pr-published junit
the test would hang trying to access the locked temp world folder
https://www.minecraft.net/en-us/article/minecraft-1-21-9-pre-release-1
https://pastebin.com/daAJ2QAv
Plushies: https://www.makeship.com/shop/creator/phoenix-sc
Merch: https://phoenixsc.store/
Cape: https://store.badlion.net/shop/PhoenixSC
This channel is powered by Shockbyte ...
Hmm, interesting. My best guess is that it's a bug in the EphemeralTestServerProvider. JUnit, IDEA's integration or Gradle is being a piece of garbage though, all I get is "Test events were not received" in IDEA and gradlew test finishing almost immediately in a terminal, so I can't even debug this 
log in case it's helpful
Perfect, that pointed me in the right direction. The latest commit should fix it
I'll try with the pr publish tomorrow then
Tests succeed now, so it did indeed fix it. Thank you a ton for the hint
yep, that works. thanks
did someone forget to bump a version number?
why is the 21.9 pr puublished as 21.5.0-alpha....
someone forgot since 1.21.6
I'll bump it when doing pre2
(just remind me)
did we break scrolling in the mods screen?
if i have an entry selected i cant scroll the list with my scroll wheel
i mean it tries to but after scrolling it resets back to the top
Check a vanilla scroll list if it is a general bug
in the snapshot? I mean the entire input system was redone, so VERY LIKELY I#d say :d
yeah, i just set my workspace to the pre1 pr publish
i can scroll the resource pack (selected) list just fine even when an entry is selected
but the mods screen is unscrollable when a entry is selected
can scroll just fine when nothing is selected
ignore weird window size, had to make it small to make resource packs list scrollable 
Ok I'll start with working on an api for the management api stuff
mojang why did you merge ParticleEngine.crack into ClientLevel.addBreakingBlockEffect
had to extract it back out to keep my multiblock cracking progress
Mojang is funny sometimes
I have started my work on the extensibility of the jsonrpc api here:
https://github.com/Minecraftschurli/NeoForge/tree/feature/jsonrpc-api
Does anyone have any ideas for what jsonrpc methods neoforge can add?
First thing that comes to mind is probably just basic reporting like mods and mixins
my snapshot modding challenge failed...
On the frog?
It's far too late to be doing this but here goes nothing:
- Re-implement additional metadata in atlas loading: https://github.com/neoforged/NeoForge/pull/2641 (@graceful ibex, this is for you since you implemented the previous incarnation of this)
- Implement key mapping category registration and sorting: https://github.com/neoforged/NeoForge/pull/2642 (@cyan ether, this is for you since you wanted category sorting)
- Re-implement support for custom block outlines: https://github.com/neoforged/NeoForge/pull/2643 (not sure I'm fully happy with this solution but it should work fine, will be testing this tomorrow)
- Provide access to data-driven keyframe animations in item models: https://github.com/neoforged/NeoForge/pull/2644 (this came up in the PR fixing the order between the animation loader and entity renderer creation)
- Provide custom sprite sources access to the additional metadata set: https://github.com/neoforged/NeoForge/pull/2645 (I might be the only one who cares about this, but not being able to properly load metadata in a custom sprite source sucks)
I'm also working on a PR to makeLevelRenderStateextensible similar toEntityRenderStates and adjustRenderLevelStageEventandIDimensionSpecialEffectsto more closely match the two-stage architecture vanilla is using now.
oh you accept PR requests? where do I send that 10 page list
tbh I'm meh at the toposort, I'd say it's overkill
How would you sort them instead?
Sure, that works fine if all we want is a stable order. If we want to provide the option to specify an order between categories (which the PR currently does), then a simple comparator is not sufficient
just a stable name-based order, I don't think mods will actually care about the relative order and I don't think the feature will actually be used
For your information, the game crashes when the player tries to open the NeoForge client settings menu.
I agree. I think if a modpack author or user deems the screen too difficult to navigate they will install a mod that allows searching the list instead of reporting to mods that add to it to reorder their categories
the culling box of the copper golem statue is incorrect, and F3+2 crashes the game
F3+2
debug_subscription_request 
Fair enough, I'll nuke the custom order stuff then
Does the key bind screen have a method to search for categories or key mappings?
Okay then
Fixed all three issues, thank you
NeoForge still uses OpenGL Core 3.2.0 instead of OpenGL Core 3.3.0.
Yes
hmm what info should we expose for the modlist? just modid + version or more?
Datapack 87.1 from 1.21.9 Pre-Release 1 brings us world spawns in any dimension and news for Mannequins and Player Heads! Check it out here! #minecraftemployee
slicedlime works as a Tech Lead for Minecraft at Mojang, but the YouTube and Twitch channels are personal projects run entirely in his spare time. This is an unofficial update video that...
There'll be more later (i.e. SHA-256 checksum as a replacement for the signing stuff), but I'd say filename/path (?), mod-id, version at the very least
hard to tell whether it should really be called "modlist" or if it should include plugins/services? (
for the read only access is this enough information to offer over jsonrpc
So, in general: We should at least have a use case for exposing something
If there isn't one, this is just extra maintenance for nothing
seconded
Querying modlist, config and registry contents do seem useful to me
I feel like configs should be opt in
What if someone is storing sensitive info in there?
The whole management api is opt in by the server admin and it is authenticated
Several config types are not synced by default, so could technically contain sensitive info.. but yeah, it's authed, so TBH that seems fineβ’ in my opinion
Can we make it a one-line on ModContainer or the config classes? Like mod.enableConfigApiCalls()
Look at the modern modpack landscape. Most packs are lazy kitchen sink packs with little configuration, nor deep knowledge of all the mods. Someone WILL turn this on for one mod and not realize they've opened up an attack vector
Uh wait, how is that whole thing authed? I've not played with this enough
If it's opt in we can just not put it in anyway since nobody will activate it
Api token of a fixed length
TBH I still think server configs are useless anyway
We have gamerules, commands, datapacks, and so many other ways to get info into the game now..
Ahh is that how it works by default? Yeah seems fine then.
The api already is an attack vector in vanilla, they expose the whitelist, blacklist and ops through it
Sure, but a whitelist isn't as dangerous as, say, a stream key or some API token
All I'm saying is be very very very prepared that if it happens, I will immediately point to this conversation
No they let you modify those, right? Which, yes, should be assumed to be just as dangerous
Why should the server know a stream key?
Yes
Discord Integration, Twitch chat bots, etc
PLENTY of situations where baby's first mod ends up getting attacked
In a sufficiently-large modpack with certain mods, having high enough command permissions on a server lets you do RCE and access arbitrary data on the server
So if you can add to the server operator list, you should already assume that level of access in practice.
Still, changing those is a usecase for the api (if i manage to design how to do modifying a config)
It's not modifying that's the problem
But you can't modify what you can't read
If I can read any config key, I can pop onto a server and keybash until I get into the API, then loop a bunch of vulnerable targets
So what's stopping me from attacking Twitch Integration Spawn-Your-Friends mod, and grabbing some poor streamer's key? RIP your stream, I got you banned now.
The fact that the API is authenticated?
You know damn well that dumb people will hand over an auth token for trivial reasons
Social engineering exists
One mistake on stream exists
If you add this functionality there NEEDS to be a way for people to shut it down externally to close vulnerabilities
That way as soon as an issue is discovered both community and modder can be stopping it at the same time
Sure, but my point is -- if you have the level of access to do the stuff vanilla allows, in a modded context, you should already assume that anything on the host machine is potentially exposed
That does not mean we need to open up a new attack vector
Keep it sane by default, we can be better than vanilla.
I guarantee that if someone finds an RCE or attack vector in vanilla, it'll get patched REAL fast
Look at Heartbleed or Log4Shell
No, you misunderstand me. The vanilla API allows someone with access to the API to give themselves maximum command permissions, by whitelisting and op-ing themselves and then using /operator_user_permission_level/set to set the operator permission level to 4. In vanilla, this already exposes a fair bit of stuff (stop, for one).
However, in a modded context, it should be assumed that this gives arbitrary access to the servier. Permission-level-4 commands could do... all sorts of stuff, and may have reason to. It's the highest permission level for a reason, after all
The API token is required to be exactly 40 characters matching [a-zA-Z0-9]
I mean seems fairly reasonable? That's, what, on the order of ~200 bits?
Is it a random string generated by the system, or a user-provided string, though?
there are about 5 * 10^71 combinations
Yeah so around that scale. That seems about like what I'd expect for an API key of some sort?
I mean I guess another option is to say, effectively, that modders shouldn't be exposing commands that are any more powerful than the vanilla commands, at all, period, in the sense that the worst they could do is mess with the MC server itself, even at high permission levels, and they should not expose any information not otherwise sync-able to clients. And then just use this new API as an excuse to make that the expectation; that would solve stuff too
But so long as modders do make such commands at permission-level-4, anyone with access to the API already has implicit access to anything mods expose that way, which could be a lot -- whether you're talking access to configs or whatever else
It can be manually set but by default it's generated using SecureRandom
Well sounds like any other API key to me then, cool
it uses a random port number by default and is also disabled by default
Yeah I am really... not worried about exposing mod configs through this
If there's no way to opt out at a mod or config key level, then I'm hard vetoing and raising a maintainer vote
Because it's begging for someone to abuse it
All it takes is one mistake with an API key or a clueless modder to wreck the whole ecosystem's day
A server owner giving away the api key is just as likely to just give away the secrets directly
Whoops, accidentally showed a key in a stream, didn't have time to change it yet (because stream)...
Accidents happen. It's pretty simple to add an opt-out system, c'mon
Idk what the use case even is
I could see it being used for like, configured ports or some kind of external event (imagine a mod has a toggle for some kind of tournament or a raffle?)
My point is that there are WAY more mods out there from modders of all skill levels, and there's no possible way to audit all of them. Who knows what kind of crap is lying in your modpack if you turn this on?
changing configs via the management api, that would allow server hosts to use the api to actually manage the server
Once again, the moment it happens I WILL point to this conversation and say "I tried to point that out, but nobody else seemed to care"
It's preventative security and a low bar for implementing it. I'm not saying the config feature is useless, I'm saying we need an opt-out for the secure stuff
but server configs are synced to the client anyway
And we should have an opt-out for THAT, too
we should have it's own type for that
but that's not the feature being discussed here
Fair
At that point, I can think of far more ways this can end up being harmful over it being useful
I'd rather see a generic system Neo exposes to let modders add their own commands and queryables
that's already possible because it's a registry
By downloading the raw contents, parsing it as toml, modifying it, and then sending it back as raw content?
I have not decided on a way to do it yet
Having a use case would inform you on the best API design
Let's not have Config Screen 2.0
If there's a need, the community will trickle in and comment on it
Configs can just be modified on disk and changes will take effect immediately. If you want to manage the configs just change the file π
well that isn't so nice if the server runs in a docker container
That's docker 101
How else did you upload the mods on the server in the first place
You DON'T expose your saves and configs folders to an external disk? smh
Good luck updating anything
I can see it being easier to go via an RCON like interface
the modlist has the nice effect of being able to query what actually got loaded
configs... hmm... it can be interesting to be able to write them, but then again, we could only expose our own config system there
MOJANG 
or more accurate JAVASCRIPT 
why is the authentication in the jsonrpc over websockets api done via a header... you can't set headers in the js websocket api
Intentional? π
wdym? the js api is ancient and never got any auth and mojang just implemented the easiest kind
I can't even test it using postman because I'm to stupid to establish a connection
... postman should not be bound by web at all
Check if they have an API on top that allows to set headers
I think the postman problem is my ability not its ability
I am doing a websocket request using postman with the Authorization=Bearer ... header
I just get
well, there's your problem? π
apparently the js api supported basic auth but it was deprecated and has bee nremoved from all browsers
have you even enabled the API....
yes the console says Json-RPC Management connection listening on localhost:2357
IPV4 vs. IPV6?
try actually using localhost as well in postman
I am
no I started it in neodev
I can set it... should I just publish the port by using 0.0.0.0
No, try setting 127.0.0.1
rather than localhost on the MC side
Futile attempts π But hey
It may just as well be us setting weird-ass preferIpvvSomething CLI options
Or Postman unable to use an IPV6 localhost addr
using localhost worked for me using neoform
We do set an option specifically related to IPV4/IPV6
Which is absent in NeoForm, so it might be that
I don't even have ipv6 in my home network
but... it works
{
"name": "neoforge:modlist",
"description": "Get a list of all mods installed on the server",
"params": [],
"result": {
"name": "modlist",
"schema": {
"items": {
"$ref": "#/components/schemas/mod"
},
"type": "array"
}
}
},
{
"name": "neoforge:registries",
"description": "List all registries on the server",
"params": [],
"result": {
"name": "registries",
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
{
"name": "neoforge:registry",
"description": "List all keys in the given registry",
"params": [
{
"name": "registryId",
"schema": {
"type": "string"
},
"required": true
}
],
"result": {
"name": "registry",
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
so Mojang made the json-rpc thing basically unusable if you use the language websockets were made for?
websockets now are used by a lot more than just the browser though
So I don't really find that surprising
the modlist query works
{
"jsonrpc": "2.0",
"id": 1,
"result": [
{
"modId": "minecraft",
"version": "1.21.9-pre1",
"displayName": "Minecraft",
"description": ""
},
{
"modId": "neoforge",
"version": "21.5.0-alpha.1.21.9-pre1.20250919.085707",
"displayName": "NeoForge",
"description": " NeoForge, a NEW broad compatibility API.\n "
}
]
}
New version detected: 1.21.9-pre2.
<@&1067092163520909374>
what
Danm thats early
-# IT CONTINUES
stop developing

It doesn't really begin. It just doesn't end. Until release 
We heard Friday would be a Pre-tty cool day to release the second Pre-Release for Minecraft: Java Edition 1.21.9, so here we are! This pre-release contains fixes to various issues introduced in previous snapshots, as well as a missed bump to the Data Pack major version.
smh, they're shipping on a Friday
so they heard
heh i was busy, its not
day
mojang releasing on the wrong day smh
So no J25 until 1.21.10/1.22 
Sad
1.21.9 - Pre Release 2
- Primer: https://github.com/ChampionAsh5357/neoforged-github/blob/update/219-or-22/primers/1.21.9/index.md
- Article: https://www.minecraft.net/en-us/article/minecraft-1-21-9-pre-release-2
- Changelog: https://misode.github.io/versions/?id=1.21.9-pre2
- Notion: https://apexmodder.notion.site/2524f070f88880648482e3cbdcba566a?v=2524f070f88880b29f60000c52785ecb&p=2734f070f888805b8b08f6668256f779&pm=c
- SnowMan: https://github.com/neoforged/Snowman/commit/9227cd8311deeabb438138822d1c24e6c59edbd0
SlicedLimes Videos:
- Main: https://www.youtube.com/watch?v=nPOcXAzS3Uk
- Pack: N/A
A second pre-release is out for Minecraft 1.21.9 - the Copper Age Drop, fixing spawning in the Nether & End, copper golem bugs and Mannequin hitboxes! Check it out here! #minecraftemployee
slicedlime works as a Tech Lead for Minecraft at Mojang, but the YouTube and Twitch channels are personal projects run entirely in his spare time. This is an...
Maybe pre3? 
maybe
no ms sdk for java 25 yet: https://learn.microsoft.com/en-us/java/openjdk/download
plz no too soon
right, they're dependent on that
iirc ms openjdk is derived from temurin? which isn't out yet
wait
it is
Are you sure?
They have a fork on GH and already have patches up
Fork of upstream JDK
you mean microsoft?
java.io.IOException: Failed to download https://resources.download.minecraft.net/28/2842bba36bc93963247f5311e576b6247e737705: HTTP Status Code 304
Why is the asset server returning a 304?
Yeah
Is that the NFRT based download?
yes
Then we have a potential bug
I wonder what the changes were for deadmau5, whether they lowered the name tag or added the ears back or what
Although I have to double check. Requesting with if modified since makes little sense
Not sure we are even setting the headerr
I guess the ms openjdk may appear on the downloads site in a day or 2 (maybe monday)
Yeah that is also my hope
lol
classic
I'm not currently caching the assets
[Jump to referenced message](#builds message) in #builds
Still no Java 25 bump π
Microsoft OpenJDK 25 isn't out yet
Ahhh
not publicly at least 
They're probably not gonna bump java in the prerelease cycle
@thorn sable Primer time: https://github.com/neoforged/.github/pull/29/commits/19266fd632d5344a8655a4c91f23b9308386f3bc
Ignoring the bug fixes, mainly just a y offset for submitting name tags and some minor changes to creating schemas for JSON-RPC
most likely not, but who knows
but yeah, I'd expect the bump to on the next drop branch 
let's get this merged before doing pre2 since I know pre2 will break it and it will be easier to fix on kits
we could but working in gitignored files is a pain since you don't know what changed until you gen patches
also who broke :neoforge:createChangelog
It looks like it should get proper review
So you'll probably have to fix it when you rebase on top of pre2
will neo have/need a way to extend the server management thing
or is it already extensible enough
look at the last embed in this thread
I just made a PR to add that
Yes, but genPatches takes like.... 1 second?
Here's the LevelRenderState PR I alluded to: https://github.com/neoforged/NeoForge/pull/2648.
I also tested the block outline stuff, works as expected and feels fine to use.
A second pre-release is out for Minecraft 1.21.9 - the Copper Age Drop, fixing spawning in the Nether & End, copper golem bugs and Mannequin hitboxes! Check it out here! #minecraftemployee
slicedlime works as a Tech Lead for Minecraft at Mojang, but the YouTube and Twitch channels are personal projects run entirely in his spare time. This is an...
Pressing F3+F5 opens the F3 menu editor when the player is already in a chest's inventory, unlike in Minecraft Vanilla.
With regards to the reworked RenderLevelStageEvents: we should consider combining the AfterEntities and AfterBlockEntities into one event that fires a couple lines later instead. Currently they are fired after the respective list has submitted its geometry but before it's actually rendered which defeats the purpose of happening after them
Implementing this change is trivial, I'm currently just stuck on finding a name for such an event. From the profiler sections it would make sense to call it AfterFeatures but that's an awfully non-descript and confusing name IMO
could u not just call it AfterEntities
folding block entities in
since they could be included in entities
I have thought about that, I'm just worried that it may be confusing with respect to the currently existing AfterEntities since it behaves differently to a certain degree.
AfterDynamicsRendered?
AfterEntitiesAndBlockEntities
AfterDeferredEntities?
how different is it?
like what would simply changing AfterEntities break
cuz u said its a few lines later
and is the event changing enough that things will break anyways like via parameters or something
cuz if so theyll have to look over the change anyways and can be told about the shift
otherwise they may not read the blog post π
so are we expecting 21.9 full release tomorrow? saw lime was working on the full release video on stream yesterday at least
(pre-)releases aren't on the normal Tuesday cadence, so maybe it's tomorrow, maybe not 
i don't think they also released a specific date
If I was a betting man Iβd put money on this weekend.
yeah, i was thinking since mc live is this weekend iirc
that 21.9 would be dropping sometime this week
and
day would make more sense than any other
I would expect at least one RC before full release
New version detected: 1.21.9-pre3.
<@&1067092163520909374>
the render rewrites will continue until morale improves
1.21.9 - Pre Release 3
- Primer: https://github.com/ChampionAsh5357/neoforged-github/blob/update/219-or-22/primers/1.21.9/index.md
- Article: https://www.minecraft.net/en-us/article/minecraft-1-21-9-pre-release-3
- Changelog: https://misode.github.io/versions/?id=1.21.9-pre3
- Notion: https://apexmodder.notion.site/2524f070f88880648482e3cbdcba566a?v=2524f070f88880b29f60000c52785ecb&p=2764f070f8888073bd6ac0a62aba2dfb&pm=c
- SnowMan: https://github.com/neoforged/Snowman/commit/e4a838591c62bf24669ccf9db40a8f321efb6c58
SlicedLimes Videos:
- Main: https://www.youtube.com/watch?v=kYTw2qmEU6o
- Pack: N/A
A third pre-release is out for the Copper Age Drop with... uh... several bug fixes! Here's the video! #minecraftemployee
slicedlime works as a Tech Lead for Minecraft at Mojang, but the YouTube and Twitch channels are personal projects run entirely in his spare time. This is an unofficial update video that aims to be the most comprehensive guid...
pre3 :gasp:
rc1 this week (tomorrow maybe) and release this or next week (saturday is minecraft live so around then)
tiny changelog
I guess rc1 on thursday has gone up to like 90% chance
maybe even tomorrow
rc1 tomorrow is at ~40%
No primer since it's all just bug fixes in new classes
primer typo: otherwise, an error will be through whenever
yes we know
This feels like a really odd way to fix the occlusion issue considering that BlockBehaviour.Properties#noOcclusion() exists π€
noOcclusion may have other effects? π€
maybe the code is so convoluted that even mojang devs make mistakes π
the codebase is so huge that the average mojang dev is aware of about as much of it as the average modder
It additionally sets a flag indicating whether the block can occlude or not which seems desirable to have set to false in this case
this seems to be the only place where the flag is used
in 1.21.8 that is
I don't have a 1.21.9 at hand
There are three more related to spawning particles (crying obsidian, wet sponge, leaves)
yeah but those are already implemented in Block classes
so not side-effects that would matter here
Fair
inb4 mojang will also introduce 3 different methods for Item#use with different prefixes because everyone keeps forgetting the others exist
maty, go look at keybinds 
That is worrying
I refuse.
gradle really likes to download alpine linux jdks on linux distributions that are not alpine linux
The context provided by the event is changed rather significantly since it has to be changed to adhere to the same split architecture (extract first, render later) that vanilla uses now. With that said, I forgot a crucial detail last night when I mentioned the difference in timing: I only took into account the current, problematic state of the port, not what it looks like in 1.21.8. The difference to 1.21.8 in terms of timing is actually very low since it fires after rendering there as well. Re-using AfterEntities is therefore, contrary to my prior statement, not bad at all and I'll go with that for now.
when 1.21.9 gets released should we make a new channel for it and above?
as 1.21.3 and 1.21.9 has lot of difference by now
we don't want to have too many channels
most people that are modding in 1.21.2+ are modding in the latest version
yeah the channels r for LTS versions
despite neo supposedly not having those 
its a good indicator
not LTS, just like, whatever people are actively modding on that deserves one
Good idea, let's just delete all channels beyond modder-support -others
for context old forge's LTS policy was like
- a version is declared LTS by forge for a period of time
- backports are permitted to LTS versions only
- nobody is allowed to ask questions about any version except latest and LTS
That's what LTS means
forge did a lot of weird stuff
right, which is why making sure everyone is talking about the same thing is important
i just want a version people know its safe to stick to
which rn is 1.21.1 and has been for years
except its 2 years old
No need for Neo to step in
im not having this argument again jesus
Get the community to agree on which next version to mod for
neo did step in
21.1 is still LTS because there have been massive refactors and there hasn't been a particularly stable version yet
You are the one that keeps bringing it up
tbf, most of the same people here, used to work on forge
I'd argue incorrect - 21.1 is no more LTS than any other 21.x version is
Lots of people are trying, but as long as the huge changes are coming we probably won't see another LTS until vibrant visuals
We support all of them equally, we backport to all of them equally etc
yeah its less the people and more the ideals im referring to
Historically LTS meant a version that modders and community both settled on and built packs and stable features
a while back a bunch of modpacks went "okay let's stay on 1.21.1 until 1.22 comes out"
Based on that definition, 1.7.10 is still LTS
mod loaders are part of the community
And I'd argue that's incorrect
and 1.22 hasn't come out yet
idk why u act like they dont or shouldnt get a say in things
theyre run by the community
for the community
if they're run by the community then the community doesn't need to go through the modloader to declare a stable version
They're two different things
they can just declare a stable version without involving the modloader, which they have
Anyway, a bunch of modders (myself included) are starting to get up to speed on 21.8 and 21.9, so we might see some new movement. I guess people are realizing more and more that Mojang isn't slowing down any time soon
doesnt change the fact that it happened and set the LTS
now being silent is taken as keeping the modloader-determined LTS where it is
It also doesn't change the fact that it shouldn't happen again, IMO
Would you prefer an announcement of "people, port to whatever version you want"?
Modders will port whenever they damn well please
That's the point, Nano
and modpacks will use whichever version they want
If you try to control that, you WILL become an enemy in many peoples' eyes
Tommy is arguing that we should tell people when it's better to port
And IMO that's a no-no
Agreed, Silk. "LTS" or not, modders won't care. They see a new version with features they want or can use, it's going to happen
sure, something to say that neo no longer recommends sticking to 1.21.1 as the future of stable/major versions are uncertain and that neo does not have a specific LTS
(probably after MC Live when 1.21.9 is released as they just might announce a major and make my point moot)
The fact is, we accidentally did that in 1.21.1 because Tech said "do not neglect 1.21.1" or something like that
And many people in the team didn't really like it
thats not true, some modders want something to follow, which is sometimes big mods like create or sometimes the mod loader's recommendation
not all modders wont care
im not one of those modders lol
im porting when my deps r done
im saying for others

people ive spoken to
Let me give you a reality check: every country has laws or rights that people don't agree with, too, and those get argued about all the time too. And some of those have existed for hundreds of years.
And yet...
Otherwise it feels like just arguing for the sake of arguing
For a target audience that might be idk five modders lol
im just saying it was an announcement that set an LTS so there should be one to un-set it imo 
The past happened. Some people liked the "LTS" and some people complain. Some agree, some disagree. It's in the past though. Hindsight.
Most people I know that are on 1.21.1 are staying there voluntarily not because of Neo but because "can't be fucked keeping up with Mojang refactoring everything every two months"
If people want to port their mods to latest, they do. If they don't, they don't. Nothing we say will change that
So the LTS has already been "unset" by the fact that people are not following Neo
They are following their laziness
As they should, I might add
I have mods on 1.21.8. What is neo going to do, punch me in the face?
I can punch you in the face for free if you want to
already tested that hypothesis, getting punched in the face doesn't make me stop doing things
What about getting punched in other areas?
time to go shake a cane at all these people that aren't staying on LTS /s
A third pre-release is out for the Copper Age Drop with... uh... several bug fixes! Here's the video! #minecraftemployee
slicedlime works as a Tech Lead for Minecraft at Mojang, but the YouTube and Twitch channels are personal projects run entirely in his spare time. This is an unofficial update video that aims to be the most comprehensive guid...
i ain't even on the list smh
Oh, nice, time to update my integration :D! Sorry, very off-topic, but keep meaning to ask β is there any tips for migrating from the old API to exmachina, or is the best option just to look at the git diff between old and new versions?
I think it's become increasingly finagled
I need to write up docs for it yet so I can try to make it make sense but I haven't yet
in any case everything has javadocs
also behaviors are assigned through blocks via a datamap instead of capabilities now
Yeah, it was more about mapping concepts rather than the individual components.
okay so first there's the exmachina:signal_component datamap
there's a registry for SignalComponent types
Ahh, thank you. Yeah, I hadn't fully appreciated that until reading the docs. Okay, that sounds like it's going to be more than one evening's work. I will figure it out, dw :). Thank you!
oh I found some docs I forgot I wrote, they're not very comprehensive though https://moddedmc.wiki/en/project/morered/latest/docs/mod_development/api_reference#The_Signal_Graph
in any case, by these means I did finally resolve that issue you opened re: the block updates are too damn high 
Any reason not to push the update to pre3? I just did it, no rejects.
I just didn't get to it yet, I would have looked into it tomorrow. From my side, feel free to push it, just please fix the version to not say 21.5 
I think you should not care about version
It's your mod
I've had people say to me, "You should set the version of your mod to recommended," but I think it's best to ignore the strange reactions they get because the version is different.
hmm no πΈ
@graceful ibex since you implemented the previous version of this API, do you mind taking a look at https://github.com/neoforged/NeoForge/pull/2641?
New version detected: 1.21.9-pre4.
1.21.9 - Pre Release 4
- Primer: https://github.com/ChampionAsh5357/neoforged-github/blob/update/219-or-22/primers/1.21.9/index.md
- Article: https://www.minecraft.net/en-us/article/minecraft-1-21-9-pre-release-4
- Changelog: https://misode.github.io/versions/?id=1.21.9-pre4
- Notion: https://apexmodder.notion.site/2524f070f88880648482e3cbdcba566a?v=2524f070f88880b29f60000c52785ecb&p=2774f070f8888007a519d5aa58bfc898&pm=c
- SnowMan: https://github.com/neoforged/Snowman/commit/63cf18bd3e1bf5feb65bc04d6e43be6ecd92eb32
SlicedLimes Videos:
- Main: https://www.youtube.com/watch?v=_A9Fhb8zmII
- Pack: N/A
||<@&1067092163520909374>||
A fourth pre-release is out for Minecraft 1.21.9 with a new round of fixes - and a changed keybind! Here's a quick overview! #minecraftemployee
slicedlime works as a Tech Lead for Minecraft at Mojang, but the YouTube and Twitch channels are personal projects run entirely in his spare time. This is an unofficial update video that aims to be the ...
uwu
Another pre release???

Huh π
incoming
we all thought full release but mojang be like, what about 2nd 4th pre release
Hopefully there's a good reason in the code
This not being the full release was to be expected since there hasn't been an RC yet
does mac hardcode F3+F5 to do something else
No, it apparently hardcodes Fn+F5 to some system function when the system is configured to require holding Fn to use the "raw" F keys instead of their special functions (the idiotic default that's also used by a lot of Windows laptops nowadays)
@thorn sable Take your primer: https://github.com/neoforged/.github/pull/29/commits/70168a76906d0ff11e188707621a0e45f25d9dd1
Basically, special model renderers now take in the outline color
that's why I prefer toggle style fn
Those still have the stupid default though
So, the code looks fine but I can't for the life of me figure out where RegisterTextureAtlasesEvent is fired to check how it's used, and GitHub isn't being helpful either 
It's fired in the constructor of AtlasManager
Ah, under gatherTextureAtlases? I seeeee
Yup
It's actually convenient because you use function keys for things like spotlight or music playback more often than raw buttons
I wonder if it wouldn't be better to make the backing data structure a LinkedHashMap<RL, config> so that we don't have to do the loop/compare every time
At least on the event side, when it gets passed back to vanilla we can translate it to a List<AtlasConfig>
We could do that, yes
I dunno if it's necessarily worth it though
At the very least, it would make the check for duplicate atlases easier
Shrug. Either way, I'm fine with the change as is, so I'll approve it, and if you want to tweak it to use a map go ahead
so, pre4 today, huh? I guess rc1 thursday.
I don't 
Decided to change it to a map. Didn't invalidate the approval though.
Neat
A fourth pre-release is out for Minecraft 1.21.9 with a new round of fixes - and a changed keybind! Here's a quick overview! #minecraftemployee
slicedlime works as a Tech Lead for Minecraft at Mojang, but the YouTube and Twitch channels are personal projects run entirely in his spare time. This is an unofficial update video that aims to be the ...
||is a mod formerly by vazkii||
Will the fix for MC-161917 be reimplemented or not?
Not sure yet, though definitely very unlikely to happen before the 1.21.9 release.
As far as I'm aware, IMS has found a way to fix it in the new particle system but I'm not just gonna copy that into Neo without at the very least asking him.
Iris is LGPL, so it's fine 
It's still not nice tho?
It depends; there are always two sides to every story.
On the one hand, a developer kindly makes their work available to others without any restrictions.
On the other hand, you are using someone else's work without asking their permission.
Everyone has their own pov.
pre release 4?
it causes Some Weirdness with custom (non-quad) particles
notably, I had to hardcode the second pass to ignore item pickups otherwise they'd be drawn twice
(which is... fine for Vanilla, if not performance costing, but caused issues with shaders)
we simply wait for fabulous mode to be removed and vanilla will add it
Release candidate today?
or tomorrow, it's 50/50
1.21.9 - Release Candidate 1
- Primer: https://github.com/ChampionAsh5357/neoforged-github/blob/update/219-or-22/primers/1.21.9/index.md
- Article: https://www.minecraft.net/en-us/article/minecraft-1-21-9-release-candidate-1
- Changelog: https://misode.github.io/versions/?id=1.21.9-rc1
- Notion: https://apexmodder.notion.site/2524f070f88880648482e3cbdcba566a?v=2524f070f88880b29f60000c52785ecb&p=2794f070f8888023b59bd08e9f8eca27&pm=c
- SnowMan: https://github.com/neoforged/Snowman/commit/9857185387079527a8606cbaa4a587040e344fc5
SlicedLimes Videos:
- Main: https://www.youtube.com/watch?v=VNM8xiegswc
- Pack: N/A
||<@&1067092163520909374>||
Minecraft 1.21.9 now has a Release Candidate with a couple of last fixes - here's a quick showcase! #minecraftemployee
slicedlime works as a Tech Lead for Minecraft at Mojang, but the YouTube and Twitch channels are personal projects run entirely in his spare time. This is an unofficial update video that aims to be the most comprehensive guide ...
π€£ π€£ π€£
50% of the time, every time
What R the chances of rc2?
STOP THE SNAPSHOT THING
JUST RELEASE
IT
Well this is RC so....
uwu
Pre release and now release candidate?? Whatβs next? Pre-publish??
New version detected: 1.21.9-rc1.
Then publish-candidate
And that's usually the release
Do you want them to have to release more hotfix versions?
No thanks π
Thatβs what I thought.
I js want them to eork more than 1 hour a day
Thing is hotfixes aren't even hotfixes anymore they are complete rewrites
They do, Iβm sure.
Do you think they don't work between snapshots?
yay rc1, my guess was correct!

ITT people never having been around for a minecraft release.
Monday release
btw. learning: dont make the same mistake next time and dont include the pre1 in the next porting branch π
now you made it, as I had done the last time around hehehe
Pin it in the next version post so we don't forget
quite low unless there are critical bugs
live release
21.9 release tomorrow in time for mc live on 27th?
no, during mc live
java 25 when????? π‘ 
1.21.10/1.22

whenever MS has created a public build
there is no microsoft java build yet
21.12 when
and mojang has started to port it
500 days
we getting 21.9 soon but nano is out here living in the future where 21.10/11 has dropped
There is and has been for longer than Adoptium
I'm a robot of course I'm living in the future
for J25 I mean?
Yes
well, not here https://learn.microsoft.com/en-us/java/openjdk/download
The JDK selection in IDEA listed it when I checked a couple days ago

well, ok, doesn't change the fact that it's gonna the be in the next mc version at the earliest
only java 21 π’
a robot furry? /j
I mean.. yeah? I don't hide anything there. Nanite swarm gryphon. @robotgryphon. Thought it was kinda obvious.
Welp, seems like I can't read, it's indeed just J21. Ignore me then π
I do wonder if they already have a J25 branch using a different JDK
@thorn sable Take your update: https://github.com/neoforged/.github/pull/29/commits/f1e3eb0a9df4179f74e53cf095a600c0926e4972
One revert and a new delegate
no need to ping me on primer updates anymore btw
ive changed from linking the commit changes for a given version
to linking to the primer md file at latest revision
-# also i see the primer updates via github notifs for the prs
Gotcha gotcha
Minecraft 1.21.9 now has a Release Candidate with a couple of last fixes - here's a quick showcase! #minecraftemployee
slicedlime works as a Tech Lead for Minecraft at Mojang, but the YouTube and Twitch channels are personal projects run entirely in his spare time. This is an unofficial update video that aims to be the most comprehensive guide ...
Minecraft 1.21.9 now has a Release Candidate with a couple of last fixes - here's a quick showcase! #minecraftemployee
slicedlime works as a Tech Lead for Minecraft at Mojang, but the YouTube and Twitch channels are personal projects run entirely in his spare time. This is an unofficial update video that aims to be the most comprehensive guide ...
rc1??
yes, they often release rc1 on thursday and then release on tuesday
(I wouldnt be totally shocked if they did a release on Saturday, but I expect tuesday per normal)
yeah
I was kindof expecting rc1 on tuesday and release on thursday ahead of the Live
How likely we thinking 21.9 drops during mc live tomorrow?
Iβve got a wedding to attend all day and wont be able to post usual pin if it drops
releasing tomorrow would mean the mojang employees have to be at work on a saturday
ready to put out the fires
Counterargument: would be funny
the Path of Exile devs always release major updates on friday for some reason
and literally every time they have to hotfix stuff over the weekend
ok see.
tomorrow 1.21.9 then mojang announces 1.22
so 1.21.9 will be last version of 1.21.x and from then mojang will develop 1.22
???
Profit
Hope
I mean....
if they are at MC Live, they are liekly working already, and it is very likely they will be there regardless
no wait, why not 1.21.10?
the "Live" isn't actually live, so far as I know, it's all prerecorded
Then why call it mc live wtf
also if they are at the Live they aren't at the offices doing development work
they were live when they recorded it 
Well do you want Minecraft Dead or Minecraft Live?
well it used to be actually a massive event
where people all over the world came to it
Some parts are prerecorded some are live and they are not live from the mojang offices where java edition is developed but from the US office
then I believe covid hit the scene, and then yeah, things went way more digital
no no, we need 1.21.12 first
minecon stopped before then
2016 was the last actual event
it was called different things after
minecon earth, then minecon live, then minecraft live
fair
speaking of earth, I never got to play Minecraft Earth
my phone at the time didn't support ARKit at all
or ARCore whichever the android one is
and then when I upgraded to a new phone (early 2022) it was already dead
ArCore
I can get you an APK file
should be on FileDroid or whatever that site was called
only problem might be account
I didn't wanna bother 
my current phone does have ARCore
oh you mean Earth
well if you can't access the servers anymore then uh
I didnβt even realize it was a phone thing. I thought it was attached to glasses I knew I could never afford
yeah, I could have played it at the time, but didn't want to
I do not know, they likely still work, because the app mostly works offline, its just the auth, which happens through MS accounts
worth a try, ngl
then again,
sites with apk's exist
is both an option?
Minecraft SchrΓΆdinger
MInecraft Cat
SchrΓΆdinger's mine
1.21.9 = 1.(21.5).9
??
wat?
1.21.8 was a hotfix for 1.21.6, but 1.21.6 was not 1.21.5, and neither is 1.21.9
what should i change if i want to continue from $BRANCH version
java -jar snowblower-2.0.28-all.jar --output output/$BRANCH --branch $BRANCH --start-over-if-required --start-ver $START --exclude "**.nbt"
wrong channel peobably
Only until you start watching it.
Mojang will probably release Minecraft 1.21.10 before 1.22.
it is likely that there will be a hotfix for 1.21.9
Just you wait, in a few hours they're gonna announce 1.22 and stop the update drop system
unwarranted hope just leads to disappointment
so J25 in 1.21.11/1.22
if my guess is correct
not gonna happen. Drop system is here to stay
they made even a video on there channel explaning what drops are
modding community has to adapt
Let me dream, realistically its gonna be 1 mob and 2 items
really the only annoying thing is that there's no point of stability for the more conservative modders to target
the current tech progress is great
September 30
this upcoming Tuesday (<t:1759244400:R>)
yeap
the spear is more like a lance with how it's used
That animation on the nautilus from minecraft live is very clever
And based on what I can tell, the spear just seems like a reskinned trident apparently my mind blanked, ignore
Though, I'm not sure what the recipe for that will be if there is one, mabye two sticks and an ingot diagonally?
Well, for the nautilus, I hope they at least refactor PlayerRideable since the happy ghast implementation just does its own thing
they showed it, its that
Huh, definitely missed that
Wait, I missed the entire spear section
How'd that happen
would neo exist if source control wasn't a thing
very likely not, at least not in its current form
Ok, what's the state of the loader stuff? I think that should go in before release.
How are the reviews for my ManagementApi PR coming along?
It already did go in
Only loader stuff that's still in the pipeline iirc is my transformer work and that's all ready for review and whatnot.
Speaking of which -- @fringe summit or someone else, can you re-open https://github.com/neoforged/NeoForge/pull/2655 pointing at the 1.21.9 port branch? It got closed when the FML staging PR was merged
Or I can just open a new PR, lemme know if that's easier
done
The transformation stuff is in https://github.com/neoforged/FancyModLoader/pull/358 with corresponding neo PR https://github.com/neoforged/NeoForge/pull/2655 and is ready for review
The relevant modder-facing changes are some adjustments to how you write coremods, though in general your java coremods won't change too much. I've got a gist with the changes you'll need.
Minecraft tomorrow
tomorrow
true mayhem would be releasing the update and the next snapshot at the same time
Next week?
1.21.11 let's go
i may or may not miss 21.9 release tomorrow, all my shit decided to shit the bed and not work
my truenas server is down, which also means all my hosted services too (cause storage), my pc wont boot and for what ever reason my isp blocks iso downloads on my laptop, never blocked them before on my gaming pc
so ive got a fun time ahead of me diagnosing all this and getting all my stuff back up and running 
I'm definitely missing it
#1378294669053792337 message Is it possible to fix this?
who did the keybind stuff?
I did, why?
Maybe. I intended to look into this but I haven't had time yet
- will you be able before tomorrow?
- is this a release blocking bug?
- Almost certainly
- No
it's just a bit annoying (if that)
Meh, pressing F3+F6 while in a screen is very unlikely to happen accidentally
There is the same bug with F3+F4
What about the other debug keys?
I've narrowed down the cause to our patch in AbstractContainerScreen#keyPressed():
In vanilla this method returns true:
- When
super.keyPressed()returns true - When the inventory key (E by default) is pressed
- Unconditionally after checking offhand swap hotbar slot, pick and drop keys
With the patch the unconditional return is changed to only return true if any of the checked "handlers" actually did something. This is necessary to makeScreenEvent.KeyPressed.Postwork and as such this cannot be fixed without breaking an API.
In contrast to this, any non-container screen can be "overwritten" by the debug config screen (except ones returning false fromScreen#canInterruptWithAnotherScreen()), the gamemode switcher or any other screen in both vanilla and NeoForge.
And yes, this applies to all debug keys, not just the debug config screen and gamemode switcher
@keen cloak are there a few highlights from vanilla changes that we'd want in the 21.9 blog post?
or any big change to some neoforge API?
I am already planning sections for FML and the transfer rework
These are the most important ones I can think of off the top of my head:
- Entity renderers and BERs now submit to a "collector" which then handles the rendering later for improved batching
- BERs now have separate extraction and submission like entity renderers
- Custom block outline rendering works a bit differently now (https://github.com/neoforged/NeoForge/pull/2643)
- Level rendering in general is separated into an extraction and a render phase with various render states
One change that's not merged yet but which I'd like to get in either before release or shortly after is reworking our level render hooks to match the split level rendering (https://github.com/neoforged/NeoForge/pull/2648)
ok thanks that should be enough for me to work with
what about key mapping? Where did that end up, do custom categories still require an enum extension? Or did mojang switch it to a registry for us or something
Key mapping categories are a record now and RegisterKeyMappingsEvent has a register method for them
But yes, good point, I completely forgot about that


I'd say T-29 minutes until release
the articles have always been corbed for me
it's just those few snapshots
Hey, does anyone have issues with container menu synchronization in 1.21.9-rc1?
It seems that there is a race condition with neoforges system to handle custom container GUIs
and the stuff related to 1.18
make an issue with more details on github so we don't miss it
Ok, i just wanted to make sure if its not caused by my incompetence π
they are late
wouldnt say so, they just said they are releasing today, no time
only snapshots are tuesday ~3pm (my time) afaik
otheres are whenever
Or decided to yolo bump to J25
i wonder if theyre waiting to release bedrock at the same time
they are not late
you are early
1.21.9 - Copper Age
- Primer: https://github.com/ChampionAsh5357/neoforged-github/blob/update/219-or-22/primers/1.21.9/index.md
- Article: https://www.minecraft.net/en-us/article/minecraft-java-edition-1-21-9
- Changelog: https://misode.github.io/versions/?id=1.21.9
- Notion: https://apexmodder.notion.site/2524f070f88880648482e3cbdcba566a?v=2524f070f88880b29f60000c52785ecb&p=2754f070f88880b4b4e3e4e5d98e5b33&pm=c
- SnowMan: https://github.com/neoforged/Snowman/commit/cf8e953561315c86d91e68174bbd9163ebbacf9f
SlicedLimes Videos:
||<@&1067092163520909374>||
The Copper Age is here - Minecraft 1.21.9 brings us the Copper Golem, Copper Armor and Tools, Shelves, new decorative copper blocks and much more. Here's the ultimate guide to all the news! #minecraftemployee
This guide was made for Minecraft Java Edition. Many new features and some smaller changes also apply to Bedrock Edition.
slicedlime wor...
Minecraft 1.21.9 brings us plenty of new technical functionality in new Pack versions - including Mannequin entities! Here's a comprehensive guide to all the news! #minecraftemployee
This guide applies for Minecraft Java Edition. Technical details are unlikely to apply to Bedrock.
slicedlime works as a Tech Lead for Minecraft at Mojang, but th...
Lovely
eyyyyy
Neo when

GAHAHAHAHJAHA
less than an hour
Good boy
π₯
New version detected: 1.21.9.
there it goes

why the stabs? if you dont want pings, dont have the role
No changes in the primer
I weep
ππ
no
zombies break wooden doors but not iron ones
thats a good way for them to protect their chests
do they break copper doors?
doubt
big uwu

ok update checklist:
- βοΈ rebased
- βοΈ neoform
- βοΈ maty pushes onto main
- βοΈ no blockers
Neoflorb good friend for baby
- yes
- building
- I'll do it as soon as neoform finishes and I get the game decompiled and running locally (with any eventual patch offset updates if the release isn't identical to the last rc)
- no
(the game is currently decompiling locally, neoform built)
Put baby in neoforp mouth
alright time to continue writing the blog post
will probably be delayed by a few hours
We'll do the announcement when the post is ready
one day we should fix that
I think that's a #moddevgradle-dev issue
It's more complex than it seems, but we should check if that doesn't just need a bump
mojang...
it's likely a neodev-exclusive issue
but I cannot say for sure π
doesn't mean more people know how to fix it
I don't think so but yeah we've looked at it in the past and it's more complicated
was there already an entity render state in 1.21.8?
Yes
woo 1.21.9!
IIRC, entity render states were introduced in 21.6
alright, that's a decompile done, opening in intellij 
is all level rendering migrated to various forms of render state?
Yes, except for debug renderers
That's why our level render hooks need to get the same treatment
which is confirmed to change in the next drop again
Yup
of course it is, allocations would be worse there
You can expect most of them to become immutable in the future. I expect that the only ones staying mutable are item stack, entity and block entity render states, the latter two due to how multiple classes in the inheritance chain of a given renderer fill in some of the data
can someone ping me once there is a 1.21.9 build of neoforge
there will be an announcement once the post is done
I can reproduce this, the reason why it happens is also very simple: in previous versions the main thread packet handling was done via the "standard" task queue of the relevant side (i.e. either the MinecraftServer or Minecraft) and Neo's handling of custom payloads submitted to that queue as well. In 21.9 vanilla changed this to instead schedule packet handling to a dedicated PacketProcessor per side whose tasks are handled before the "standard" task queue while Neo kept using the "standard" task queue. This means that the custom open screen packet gets handled on the main thread after the vanilla packets related to container content and data. The fix is relatively simple but annoyingly invasive. I'll make a PR fixing this once the initial build is done.
Perfect! Thanks a lot for looking into it!
I had those for the whole snapshot cycle, just ignore them
right, it isn't
Yes, but the fix is not to suppress them at the logger level again, we should instead set --offlineDeveloperMode in dev
add it to the list of things to look at after release
we should really keep track of such things in a hackmd pinned in here
I'll probably do it myself if my motivation doesn't make continue to work on my simple and yet annoying mc server protocol implementation for camelot 
What is it, then?
I mean, that image isnβt a title screen, but presumably it depicts something that was, in fact, a title screen.
ok, run the gametests, gen patches and were done
Dammit maty, you deleted the porting branch, nuking all PRs made against it in the process 
yeah that's going to keep happening

we have that option turned on to automatically delete head branches
I guess I'll have to add it to the list of things to temporarily disable
can't you restore it from the PR?
that won't restore the PRs
The PRs still exist, they just can't be re-opened nor retargeted without restoring the branch
I guess we can either temporarily disable that option in the future or retarget all port prs to main before pushing
tsss the classic mistake
just don't delete the branch next time π
ah it deleted itself?
I guess that's ok then just π€·
we have that option turned on to automatically delete head branches
huh
ew turn it off turn it off
automatically deleting head branches is usually good
Automatically?
retargeted the PRs that were closed
#neoforge all the "needs rebase"
sign of an invasive update 
#builds message stupid webhook
[Jump to referenced message](#builds message) in #builds
21.8.65
1.21.x
Release 1.21.9
uh oh
the webhook version is computed quickly with a js action so it managed to ran before I pushed the tag
eh, whatever
habemus 1.21.9
and as promised
update within an hour (quite exactly so)
That won't include the transfer rework right?
I can give you one in a moment
Minecraft has entered The Copper Age! Express yourself in every shade of copper as you transform this versatile metal into tools, light sources, smart storage, and even mechanical companions known as copper golems.
Check Minecraft.net for more!
https://www.minecraft.net/
See above, that's just the webhook being stupid
There ya go, that's all there is to it from the user end
@ashen bison I am already fixing stuff locally there's no point reviewing the blog post rn
so this is only for categories?
For key mappings only the category handling changed
At least as far as mods care. Internally there were some changes to how vanilla handles overlapping key mappings but those don't affect mods
@keen cloak https://github.com/neoforged/NeoForge/pull/2667 quick approval
Wouldn't it be better to do it at the toolchain level in order to support auth in dev? If I haven't overlooked anything, then that flag kills auth entirely so you can't test with auth anymore if you wanted to
that's an.. annoingly fair point
and I don't think you can manipulate runtype-provided args
but I also would really like not having mc version specific stuff like this within the plugins, they're really not meant to be the ones adding options

so uhm
what if we just go back to ignoring those errors in dev again...
Looks at additionalRuntimeClasspath's presence being version dependent
I'm serious, I'd argue it's less hacky than hardcoding stuff into plugins
or
better idea
-this.offlineDeveloperMode = p_91084_.game.offlineDeveloperMode;
+this.offlineDeveloperMode = p_91084_.game.offlineDeveloperMode || (!FMLEnvironment.isProduction && authShitIsNotSet);
I'm actually buying that a lot
I can't help but notice that you stopped writing xfact
Sure, that sounds reasonable. Anything is better than hiding the log message of something that (at least in the past) sometimes causes a stall during boot.
I had to check something quickly 
I'm also talking the liberty to yeet this code
reason: it literally doesn't work
(in modern versions the first parameter, which is the username, is forced as a jopt default to a value)
so that code hasn't done anything for a number of years probably greater than 4
Oof
@keen cloak https://github.com/neoforged/NeoForge/pull/2667
now you can approve
The Copper Age is arriving - Minecraft 1.21.9 brings us the Copper Golem, Copper Armor and Tools, Shelves, new decorative copper blocks and much more. Here's the ultimate guide to all the news! #minecraftemployee
This guide was made for Minecraft Java Edition. Many new features and some smaller changes also apply to Bedrock Edition.
slicedlime...



