#1.21.2 Snapshots

1 messages · Page 2 of 1

lunar dagger
#

reading the code somewhat, they seem to be working on translucency frame sorting stuff in Fabulous! mode...?, and a quick breakpoint seems to indicate that something in that chain might be failing to initialize properly causing a null where the code assumes it will never be

#

trying to debug it further is a whole host of rendering which I am woefully unable to deal with at present

drifting ice
#

Ingredients take in holder sets now? That's fun

drifting ice
#

RecipeManager#getSynchronizedRecipes is really going to screw with JEI and the like since any recipe that cannot be placed similar to the recipe book check will not be synced

red jungle
#

Poor EmojiRecipe

dull heron
#

JEI will either end up forcing a sync or doing something manually

drifting ice
#

Ok, that's dumb. BlockEntityType was made private and the builder was removed

#

At least the Type was removed

cosmic acorn
#

o_O

#

oh it's actually not bad

#

simpler, in fact

#

we just need to AT the constructor open that's all

#

then we will be able to simply do ```java
DeferredHolder blah blah MY_BETYPE = BETYPES.register("my_betype", () -> new BlockEntityType(MyBlockEntity::new, Set.of(block1, block2, ...)));

drifting ice
#

Yep

#

It's still annoying, but yeah, much simpler

drifting ice
#

Way too long to document

red jungle
#

wow crazy

drifting ice
#

I feel bad for anyone who updates to snapshots

wise mica
#

why would they un-data provider the recipe provider?

#

whats the logic there

wise mica
#

should be minecart

#

mojangLogo - Gets the render type for the mojang logo thinkies what

drifting ice
#

That's literally it's purpose

#

The mojang logo has its own render type shader

wise mica
#

like the one on startup?

#

the animation?

drifting ice
#

At startup in the loading overlay

wise mica
#

interesting

drifting ice
#

I have no idea

#

It honestly makes less sense since they made the runner abstract for some reason

wise mica
#

$TicksToSave -> $PackedTicks

#

I've seen Packed a few times

#

what does it mean when something is packed?

drifting ice
#

Basically, it’s just the data with any unserializable fields

wise mica
#

could u say it a bit more basically lol

drifting ice
#

It simplifies the codes since before they were constructed with unit values for the unserialized parts

#

Like, if the unpacked version has an int and a runnable, the packed version only has the int as the runnable cannot be written to disk

wise mica
#

ah ok

#

and then when its retrieved does the runnable not matter

#

its just made from scratch?

drifting ice
#

Yep, they’re just fancy helpers more or less

#

For example, the runnable for the poi section just sets the chunk as dirty

wise mica
#

ah ic

heavy raven
#

They screwd up Baby animals in the game harold

toxic river
#

It's fixed in the next snapshot, so we could decompile the next snapshot to see if the bugs are related or not.

toxic river
#

I wonder if there will be emisif items in the next snapshot.

grand crypt
#

I think ores should be emissive by default

#

what's wrong python?

vapid drum
#

The issue was assigned to Gegy

toxic river
#

but will light_emission work for items?

ancient frost
#

getOcclusionShape, getLightBlock, propagatesSkylightDown only takes in the BlockState, not the BlockGetter or BlockPos
rip crammed blocks

vapid drum
toxic river
#

Maybe the fix will be just for blocks rendered as items

round perch
abstract shore
#

bruh wtf is 1.21.2, so im guessing 1.21.1 will be the LTS?

wise mica
#

Yes

#

1.21.2 has a lot of tech changes

#

See the primer

abstract shore
#

yea i saw 😅

#

how do you guys handle so many things changing/updating when working on a new mod. Like im working on a big mod, that will take time, but everything keeps changing, so idk if to keep updating everytime something changes so by the time the mod is "done" it will be the "latest" version available, or if i should stay on like 1.21.1 for example and just finish the mod for that version. i hope that makes sense

ancient frost
fallow nest
#

Work on it when I can, it updates when it updates

#

Do not get pressured

cosmic acorn
#

I usually work in bursts

#

I'll work a few days in a row on a mod, then pause for a while

wise mica
#

i cant seem to stop modding lol

#

its how i waste my time

#

well

#

spend my time ig since it'll eventually become profitable perhaps? harold

#

ofc ive been working on my mod for 2+ years and its not even halfway done with 1.0.0 so

#

could still be considered a waste

#

but i've been ✨ learning ✨

azure bane
#

Wrong channel?

wise mica
#

tho i'm 12 hours late

abstract shore
wise mica
#

well

#

back when i was using mcreator

#

1.16.5 was latest

#

then i ditched mcreator, started fresh, and now we're in 1.21.1

#

the original release

abstract shore
#

ah i see

wise mica
#

so its been in the works since at least 2021

#

(No release yet)

abstract shore
#

😅

wise mica
#

java mod was since 22

#

I picked an AoA level project for my first one, did not have the forsight to see the complexity

#

but that is unrelated to snapshots so I will shut up now

velvet spindle
#

my first project was huge and ambitious as well. now it's stuck in 1.12 because porting would be a complete rewrite that i don't have the energy for.

grand crypt
#

#mojira message we getting more minecart changes tomorrow

clear urchin
#

wait fuck
I need to fill in the bet

#

brb]

drifting ice
#

Ahh, more work!

heavy raven
#

I bet there wont be any Snapshots tommorow but instead a Snapshot on Thursday

cosmic acorn
#

#1250829990195626115

#

(the site is down but best keep the bet discussion there)

heavy raven
#

lol ok

vapid drum
# toxic river Maybe the fix will be just for blocks rendered as items

I don't think that's possible to do because block item models just have the block model as a parent so there's no way to distinguish between block and item models. The code could check for instanceof BlockItem, but I don't know why Mojang would purposely limit the feature like this.

#

We will find out tomorrow (or soon)

toxic river
#

Ok

grand crypt
#

#mojira message redstone is affected too in today's snapshot👀

short irisBOT
clear urchin
#

hmmmm
its not thursday

grand crypt
#

correct

dapper pendant
#

Wednesday is snapshot day. Just because it was delayed last week doesn't mean that's a normal thing

#

It's been delayed before, but it's pretty uncommon

grand crypt
#

yes I know

clear urchin
#

I know
issue is, I like to make dumb jokes

#

I rather it be on Thursday /s

short irisBOT
#

[Reference to](#mojira message) #mojira [➤ ](#mojira message)Version 24w34a has been released.

24w34a
Affected
Fixed
Released

2024-08-21

Project

MC

inland vaultBOT
#

New version detected: 24w34a.

toxic river
inland vaultBOT
#

New version detected: 24w34a.

dapper pendant
#

Wouldn't be surprised if current piston bolts don't work though and would need to be modified

grand crypt
#

Dispensers are allowed to stack Minecarts again
nice

ripe drum
#

<@&1067092163520909374>

clear urchin
grand crypt
clear urchin
#

anyway imma go back to work

lunar dagger
#

CoreShaders hmmmm

ripe drum
#

Framerate has been improved when using higher render distances
Significantly reduced the performance impact when turning the camera

haughty raven
dapper pendant
dapper pendant
#

Wonder what this means for Sodium

kind spade
#

I wonder what the rendering changes are

dapper pendant
#

Well apparently there's an octree involved

inland vaultBOT
#

Hello! Here is the next snapshot for 1.21.2! It contains some much-requested tweaks to experimental features, as well as some technical changes and optimizations.Happy mining!Experimental FeaturesThe following changes only apply when their respective Exper...

lunar dagger
#

Octree class added

toxic river
#

Was it a coincidence that it was fixed at the same time?

lunar dagger
#

they seem to have done a good amount of changes to how they load the core shaders, which were the cause of those recent bugs

toxic river
#

and also the old bug?

lunar dagger
#

the two older bugs were, as far as I understand, caused by transparency/translucency sorting issues

grand crypt
lunar dagger
#

which Mojang then attempted to fix by doing some changes in the translucency section of rendering, which was a bit bugged which caused the recently reported crashes

spiral tapir
lunar dagger
tidal siren
lunar dagger
#

and a "tree" is a data structure wherein you have multiple nodes, each node having a parent, which when visualized looks like a tree with a root note and all other nodes branching off that

lunar dagger
tidal siren
#

I meant the fact it was so quick compared to previously, the past couple of snapshots have taken 40 minutes harold

dapper pendant
#

They're data structures

lunar dagger
#

out of the previous 10 snapshot decompiles, only two have taken more than 5 minutes

dapper pendant
#

Though the thumbnail does appear to be an octree joke

dapper pendant
lunar dagger
#

24w33a and then 1.21.1-rc1

#

hmmm. perhaps some sort of corruption is taking place when the newer snapshot-decompile run preempts the older

#

I'll leave investigating that to the future me, when it happens again and I have a sample set of two that are more identical

ripe drum
tidal siren
#

Some of those children are marked empty

#

It's usually for 3d space optimization iirc (i.e. divide a region in 2 in each dimension to get 8 children, divide the resulting children by 2 in each dimension if it contains something that needs higher resolution, etc)

lunar dagger
#

iirc when I read the code earlier, it's being used in the SectionOcclusionGraph

blazing steppe
#

hmmm @stiff canyon what does rendering girl think of the shader and rendering changes

stiff canyon
#

hello yes

#

the rendering changes don't seem too bad honestly

#

I like the simplification of the shader stuff

timber jolt
#

thinkies I do wonder how mojang made minecarts stay on their tracks even at such high speeds

blazing steppe
#

sooo neoforge adding geometry shaders when? /s

stiff canyon
#

I haven't looked thoroughly at the change, but my guess is that they build a graph of the train tracks to simplify the lookup of "where is the next track"

#

and that makes it a lot easier to figure out which axis you're allowed to move along

kind spade
#

Like not a joke

#

We can trivially allow this, if we wanted to

stiff canyon
#

Mhm

kind spade
#

But right now we don't yet

vapid drum
#

It just requires extending an enum basically

kind spade
#

Yep

#

During MCF we had many tests for this laying around on different machiens

#

In different stages

#

But you know how rendering changes are in this community

#

It lights a fire under people

#

Stronger then the sun

stiff canyon
#

The only issue is that geometry shaders aren't that great for performance so really you shouldn't use them unless you absolutely need them

vapid drum
#

Also BakedQuad's light_emission is now applied to all geometry, including items, which is very good. Unfortunately they still use a separate field instead of encoding the value into the vertex data but that is not the worst thing.

kind spade
#

Because it would prebake the stuff

stiff canyon
#

I hate that they encode the light level into the vertex data, that makes lighting the geometry so much harder

kind spade
#

Into the section

blazing steppe
kind spade
stiff canyon
#

Compute shaders are doable, but less doable since they require GL 4.x

#

at least IIRC

kind spade
#

There are some additional extensions you could use on 3.3

#

But yeah t he really good stuff only arrives with 4.2(?, for sure 4.x) but mac simply does not have it

cosmic acorn
#

it is my understanding that all the features made core in 4.x, were already available through (sometimes vendor-specific) extensions

cosmic acorn
#

including things like instancing

kind spade
#

But for CS specifically, a bunch of stuff that was added in later 4.x versions was not available in the extensions

stiff canyon
#

Instancing is core in 3.2

cosmic acorn
#

is it? I thought it became core in like 4.5

kind spade
#

Or you need to do some pretty heavy lifting yourself

kind spade
#

Which have a different behaviour when under instanced logic

stiff canyon
#

glDrawElementsInstanced is core since 3.1

cosmic acorn
#

honestly I haven't used opengl directly enoguh to remember

#

so I'll trust that I'm wrong :P

stiff canyon
#

The reason why I know this is because Gander is designed to be as compatible with GL3.2 as possible 😛

#

I'm already having to find workarounds for features in GL4.x that I unintentionally used

blazing steppe
#

sooo what would neo have to do to support actual wavy water via resource pack?

stiff canyon
#

Yeah

kind spade
#

So that shader pack makers and modders can actually interface with each other

#

And then create a replacement pipeline to make it more reasonable for those new shader features to be used

#

In short: alot

vapid drum
#

Instancing is available in 3.2 but attribute divisors are 3.3 and SSBOs are 4.x so the best way to use instancing in pure 3.2 is buffer textures, which are somewhat clunky

stiff canyon
#

Can confirm

kind spade
stiff canyon
#

I haven't figured out a solution I like yet

vapid drum
stiff canyon
vapid drum
#

However, Mojang moving the alpha cutout value to the JSON means Sodium/Embeddium can actually use that value without difficult parsing of the fragment shader

stiff canyon
#

Do they still completely clobber the early depth test?

blazing steppe
stiff canyon
#

I haven't looked at the latest shaders

stiff canyon
#

There's a lot of things Gander does that wouldn't be necessary for Neo, and shortcuts that Gander takes which Neo couldn't

drifting ice
#

How did they rewrite shaders again in a single update?

#

Also, food properties are now overengineered and genericized like enchantments

red jungle
#

maybe the real shader code is just the rewrites they made along the way

drifting ice
#

Well, I should be done with the primer today. Just have a few other things to work on first

#

Also, I'd like to question the point of Blaze3D if they are still referencing net.minecraft classes

red jungle
#

interesting how stuff got moved from blaze3d to minecraft

heavy raven
#

Piston bug harold

ancient frost
#

"now kith"

timber jolt
#

I mean, it's no longer random, that's good kek

drifting ice
#

They did rename the starting orientation method from random to initial

lucid totem
#

do we want to deprecate our per-vertex lightmap stuff now or just overlay it on top of the vanilla system?

round perch
#

I've been wondering about that as well, mainly with the thought whether separate values are useful. The new vanilla emissivity is a single value but is used for both skylight and blocklight. We have those separated for reasons I can't remember anymore (might be documented on the PR that split them)

toxic river
dull heron
#

There was an effect I was trying to get which was only possible by maxing one of the two and having the other at zero

round perch
#

In that case we should probably keep it, overlayed on the vanilla system

lucid totem
#

that'll be a mess internally but yeah I agree

round perch
#

Shouldn't be too bad. Ours is baked in when the quad's vertex data is built, vanilla's is set in VertexConsumer#putBulkData(), so we should be able to just Math.max() the values when vanilla applies its value

drifting ice
#

Main changes were shader reorganization and consumables being added, replacing use item logic. Also a few renames in the level height accessor

#

@stiff canyon can yell at me later about how bad the shader example is

red jungle
#

just do a max or something

lucid totem
drifting ice
#

Ah ok

#

Yeah, because getMaxSection was one higher

#

Ok, updated

toxic river
#

There was no activity on Mojira yesterday, was it a public holiday in Sweden?

grand crypt
toxic river
#

true

haughty raven
inland vaultBOT
#

New version detected: 24w35a.

prisma pawn
haughty raven
inland vaultBOT
#

New version detected: 24w35a.

prisma pawn
#

sane enough

inland vaultBOT
#

New version detected: 24w35a.

ancient frost
#

yeee more loot table refactors

lunar dagger
#

i should teach Snowblower to be smarter, one day

sand raven
#

Snowinhaler when

#

Eat the yellow snow

clear urchin
#

nah, thats easy
teach it to eat the brown snow!

grand crypt
#

Raiders must find a place to spawn no more than 96 blocks vertically above or below the village center, or a raid will not start
more raid farm nerfing

cosmic acorn
#

eh

#

the previous behaviour was just broken

#

this is sensible IMO

inland vaultBOT
#

Hello! In this week's snapshot we have addressed some important bugs related to village raid spawns, Bundles and Redstone.Happy mining!Experimental FeaturesBundlesSelecting items in a Bundle is now only done by scrollingDeveloper's Note: In previous snapsh...

cosmic acorn
#

in the past the raiders would try to spawn, then immediately despawn

#

raid farms simply need to have spawnable spaces within the village radius

tropic anchor
#

Registry.getTag() is gone

spiral tapir
#

Huh

tropic anchor
#

and is replaced by get() in a sub interface

blazing steppe
#

Registry is a HolderLookup.RegistryLookup now

blazing steppe
#

what is DependantName used for

haughty raven
#

if i had to guess for defining a dependent name blobxd

#

that is alot of item transforming, feel like result should be stored in a local var

#

@bronze crescent your a bee guy you might like this change
looks as though hive properties are now shown in item tooltips

blazing steppe
haughty raven
#

just seen it used in block properties for decription id and loot table soarynThink

#

neat that blocks can now override the description id without needing to override the getDecriptionId method though

#

also random question but i thought snowman excluded all the json files and such?
but they are showing up in the repo, was this exclusion removed at some point

blazing steppe
haughty raven
#

--exclude "**.nbt" --exclude "**.png" are yeah just textures and structures

#

some reason i thought the whole assets/data folders were excluded

lunar dagger
#

we exclude textures and structures because those are binary files that aren't really great for diffing

#

moreso on the structure NBT

blazing steppe
#

oh god the refactor on Blocks

grand crypt
#

what happened?

haughty raven
#

they using more factory methods it looks like
most now use register(name, properties) instead of register(name, block)

lunar dagger
#

IT BEGINS

blazing steppe
#

a lot of utility methods and Function<BlockBehavior.Properties, Block>

spiral tapir
#

ah, slowly becomes a bootstrap class

haughty raven
#

TrialSpawnerConfigs - trial spawner configs are now a data registry it seems

wise mica
#

Datapack blocks by 1.22 would be nice

#

They should do items at the same time tho

#

Cuz BlockItem

#

Unless it becomes a component that holds the block state

haughty raven
#

i mean there already is a component that holds a block state tbh

blazing steppe
#

or 1.23.4 for the memes

sand raven
#

ShaderComponent when

blazing steppe
#

tele no

haughty raven
blazing steppe
#

I say 1.23.4 releases April 1st 2026

haughty raven
#

sounds perfect and so fitting for that version num

#

wind charge and ender pearls now use the cooldown components
now i can give my self pearls and charges with 0 cooldown blobxd

drifting ice
#

Lots of fun changes

scarlet pawn
#

did Neoform run ?

short irisBOT
#

[Jump to referenced message](#builds message) in #builds

Version

24w35a-20240828.142833

Build Branch

1.21.2-dev

Minecraft Version

24w35a

drifting ice
#

Ah yes, Properties#setId, because why not

blazing steppe
#

I think the person that added that was not the same working on data driven blocks

drifting ice
#

I want to kick them

#

It's just an extra unnecessary step

#

Few changes. Main thing is that Registry now implements the lookup and getter classes, property specifying the block id, EntityRenderer#getTextureLocation being moved to locations its actually used, EntityModel now has a super taking in the root ModelPart

ripe drum
#

setId is so shit, it basically forces people to use deferredregister.block

#

and factory methods australian_tater

blazing steppe
ripe drum
#

haha no Stabby

heavy raven
#

Why would you need deferred register?

ancient frost
#

it's not so much needing DeferredBlockRegister so much as using or making something that sets both the registry id and setId from a single string

#

I'm guessing Intrusive Holders are yeeted but they're not quite ready to migrate every block.getId to a registry lookup?

heavy raven
#

Ah

round perch
ancient frost
#

and the ID set by it is used in the block constructor for determining the block's loot table
ahhhh

cosmic acorn
#

thonk wait what's this id stuff about?

ancient frost
#

which is stupid and redundant

cosmic acorn
#

wut

#

that seems rather pointless, but not a huge deal

#

since Block.Properties.of() no longer has parameters in recent versions, I would assume we'll be changing DeferredRegister.Blocks to have a registerBlock("id", Function<Block.Properties, T>) which receives the ID pre-assigned?

#

or we can just use the one that receives the ResourceLocation

#

actually we do already have such a method, kinda

#

eh we'll worry about it once the prereleases roll around

round perch
#

We already have such helpers, one with only the function and one with a function<props, t> and a properties parameter, though the latter has it's flaws as well when you need other registry objects like sound events to create the properties

cosmic acorn
#

yeah I don't see the point in using that helper so I have never used it :p

#

I guess some people really like to use method references

ancient frost
#

yeah I've had my own helpers forever and I just keep using them

round perch
#

Same

cosmic acorn
#

but like, to me registerBlock("myblock", properties -> new MyBlock(properties, other args...), Block.Properties.of()) is less readable than register("myBlock", () -> new MyBlock(Block.Properties.of(), other args ...) so ...

#

I generally don't use helpers, unless I end up with a lot of repetition

ripe drum
#

what's the ID field used for?

short irisBOT
#

[Reference to](#1250828895616237761 message) #1250828895616237761 [➤ ](#1250828895616237761 message)The ID setter maty is referring to is on the block properties and the ID set by it is used in the block constructor for determining the block's loot table, so there is nothing to look up from the registry yet

red jungle
#

What is that seriously

#

Who came up with that

#

Weren't loot tables already data driven? What happened

scarlet pawn
#

What are we refering to?

red jungle
#

Block.Properties#setId

scarlet pawn
#

Hm

#

I'd do that if I wanted to make a block class reusable by datapack blocks

round perch
ripe drum
#

someone let an intern touch loot tables

round perch
#

I don't think the DependentName thing is necessarily a bad idea, having to set the ID on the properties for it is just really weird when they could have instead resolved this lazily like they did in the past (the loot table getter call in the Blocks static init is gone)

#

If they kept it lazy, then it would even allow us to remove a few patches because we could treat the DependentName like a supplier

ripe drum
#

well I for one hope they yeet setId by release because it's a very weird and annoying thing

#

also the name is just bad anyway

scarlet pawn
#

it might become implicit when it gets turned into a codec

cosmic acorn
#

can't wait for that

toxic river
#

#mojira message nice

short irisBOT
red jungle
#

this is great

#

Gegy seems to think that the former is correct

hallow basin
#

No, the latter. This is an incorrect horse

frigid flume
#

the name is a nice ref btw

cosmic acorn
#

the correct is definitely the second. pants cover the limbs closer to the butt

hallow basin
#

The poor horse lost it's streak

#

that's a battery staple

cosmic acorn
hallow basin
#

If anyone hasn't, then you are in the lucky 10000
https://xkcd.com/936/

frigid flume
clear urchin
cosmic acorn
#

the point there is that 1 word has the same entropy as 3-4 characters of password, so you just need 4 or 5 words to match an okay password, and it's much easier to remember than a weird combination of letters and symbols

#

but it's important to remember that it needs to be multiple words in order for it to be worth

#

if you have 2 words it's a trash password

#

the issue is many websites have stupid requirements

hallow basin
#

Also useful to have random numbers between the reviews

cosmic acorn
#

8-15 characters, must contain 1 lowercase, 1 uppercase, 1 number, 1 symbol

#

just let me have a 50+ character passphrase instead!

dapper pendant
clear urchin
#

4SGKBb9yHW4kEb&xXJVt*b@dmiEQqCk5MMXSWbCdb2X*@re8fwRBQ8A8TYFj8ay6k2YEFQ5AwXnZxivGV2ZMeH9&v4Z3uMfP!NK*3oDdSR#7JD#3siRqRDiZL3S%%*wb
password! harold

cosmic acorn
#

chance to remember it: 0

frigid flume
#

don't need to remember when you have a password manager
also, unless reusing the same password, I wouldn't be able to remember all of them anyways

clear urchin
#

I just generated one, to test that website

fathom compass
#

explicit is the new meta
deal with it

hallow basin
#

What?

weak falcon
clear urchin
#

on the head

#

as you should

red jungle
hallow basin
#

Now the big question is:
Is that sheep they come across dyed or natural?

grand crypt
cosmic acorn
grand crypt
clear urchin
grand crypt
clear urchin
#

no

#

I just look like that when tired

hallow basin
#

Did someone dye it

spiral tapir
#

Snappy's out

ripe drum
#

<@&1067092163520909374> #minecraft-updates message

#

24w36a

prisma pawn
dapper pendant
#

No changelog yet seemingly

clear urchin
#

..

#

was already posted

dapper pendant
#

It's not on mdcfe yet

clear urchin
#

but Ater also posted the MC link 😛

cosmic acorn
#

Hi everyone! In the most exciting Minecraft-related news of the day, we have a new movi- I mean snapshot coming your way!
lul

clear urchin
#

anyway
time to mute this channel until I am home

dapper pendant
inland vaultBOT
#

New version detected: 24w36a.

prisma pawn
#

This week we are adding support for custom equipment with Data Packs and Resource Packs.
rivquat

inland vaultBOT
#

New version detected: 24w36a.

round perch
#

It's hilarious to me that this is the commit message for that particular repo every time a new snapshot comes out kek

inland vaultBOT
#

New version detected: 24w36a.

dapper pendant
#

Overridable item model, nice

tidal siren
#

I think a new version may of been detected

dapper pendant
#

No longer a double unique ID

ripe drum
#

SCREM

#

why n8n why

prisma pawn
#

finally, I can make sticks into elytra

ripe drum
#

from 2 messages to 3 messages

#

it feels like it only gets worse

tidal siren
#

concern I think you broke the cache with stopping the action that was in mid commit push

#

It's now has 191 to decomp harold

ripe drum
#

thinkies?

drowsy python
#

wow that really fancy tooltip mod is now out of business...

tidal siren
#

Ah wait, it was automatically cancelled because of n8n screm

ripe drum
#

ohhh

tidal siren
ripe drum
#

new layout of the blog post

#

looks much better now

round perch
ripe drum
#

mojang is slowly rm -rf net/neoforged/*

#

/hj

drowsy python
#

All equippable items with an equipment model defined support rendering trims, based on the trim component

#

wow

tidal siren
drowsy python
#

They really are making a game engine

dapper pendant
#

I think datadriven items are coming before blocks

#

They're already coming lol

inland vaultBOT
#

Hi everyone! In the most exciting Minecraft-related news of the day, we have a new movi- I mean snapshot coming your way! This week we are adding support for custom equipment with Data Packs and Resource Packs. We have also tweaked the Bundle so that you c...

strong galleon
tidal siren
#

50/191 harold

bronze crescent
#

piglin_safe_armor nice.

#

wait item_model is a thing now, what

#

So people can make items look like different items o.o

#

map makers eatin' GOOD tonight

lunar dagger
#

i blame n8n and, by extension, maty

#

Known Issues

Ender Pearls will not teleport you to the right location
fantastic /j

round perch
bronze crescent
#

inb4 all the custom items in a modpack are sticks, forever

lunar dagger
#

nah, carrots on sticks

#

need that right-click ability

#

unless...? thinkies

ripe drum
spiral tapir
#

Apparently the armor material registry has been removed. Short life as a registry

lunar dagger
#

i'll prepare the funeral this evening /j

hallow basin
heavy raven
ancient frost
#

bats_spawnable_on: Blocks that bats can spawn on
thinkies I always assumed bats spawned in the air

hallow basin
#

Nah they need blocks

lunar dagger
#

phantoms spawn in the air

ancient frost
#

phantoms are just fugly bats

lunar dagger
#

player vultures

clear urchin
#

Ender Pearls will not teleport you to the right location
harold

ancient frost
#

"why am I in ohio"

lunar dagger
#

it seems to be doubling the coordinates of the player on teleport

hallow basin
#

Apparently there is some weirdness if you are over by the world border

undone vortex
# bronze crescent wait `item_model` is a thing now, what

funnily enough this actual removes a feature, afaik you can now no longer have a vanilla item with a custom model that falls back to a vanilla model if the resource pack is not installed. (I have not verified this but what I heard)

hallow basin
#

Did they remove the custom model data component?

spiral tapir
#

No

round perch
spiral tapir
#

What data component is responsible for the defense and such?

round perch
#

Attributes

#

Specifically Attributes.ARMOR for defense and Attributes.ARMOR_TOUGHNESS and Attributes.KNOCKBACK_RESISTANCE for toughness and knockback resistance respectively. Durability is stored in the generic durability data component, enchantment value in the associated data component that was introduced in an earlier snapshot, target slot, equipment sound and model ID in the equippable data component and the repair ingredient in the repairable data component

spiral tapir
#

Hm. I thought that the attributes data component was applied when the player was holding the item, ie for swords?

hallow basin
spiral tapir
#

ah, it has a slot field

wise mica
#

We're so close to data driven items

#

They made the elytra data driven like what else is there

hallow basin
#

registering new items lol

wise mica
#

Nah that's the easy part

#

I meant like what's hardcoded in vanilla that needs to be converted

ripe drum
hallow basin
#

trident behaviour

wise mica
#

Mm

#

True

ripe drum
#

not if they want it to be actually reloadable

wise mica
#

Wym

#

Would it not work as a dynamic registry

round perch
#

Dynamic registries are not /reloadable

#

(Assuming that's the kind of reloadability maty is referring to)

ripe drum
#

well i more meant reloadable as in synced and per world but yeah that too

#

item colours and model properties are still a thing

#

so there's still work to be done

drifting ice
#

Why are there so many dang changes

#

Documenting all this is a pain

wise mica
#

But we appreciate it greatly

#

The primers save lives

drifting ice
#

Well, it's likely going to be finished tomorrow

#

I just spent an hour trying to understand how the ITEM_MODEL data component worked

#

All because I missed an annoying substring

#

But yeah, armor materials are official dead now

#

Only kept around as a delegate to data components

#

I am happy there is a EquipmentModelProvider though

#

Even though its completely useless since it only reads the bootstrapped values!

spiral tapir
#

I wonder how trim overrides work then with armor materials? Did that get reverted back to how it worked before?

#

Trim entity model overrides

#

Not, item model overrides

hallow basin
#

Does anyone know if generally this brings us closer or further to bedrocks capabilities?

wise mica
#

Closer

#

They're actively getting there

drifting ice
#

Technically, this means that any equipment model can have a trim

#

For any layer type

wise mica
#

They should do something like mcaddon files

#

Instead of folders

#

Or even allowing zip folders is fine

spiral tapir
#

Right, but I'm talking about a specific element in the trim material object. The map of armor material -> string

wise mica
#

But in a shared directory so you don't have to split up resource and data packs

#

Now that they work together

drifting ice
#

It's basically the registry system but without the backed registry

kind fractal
blazing steppe
vapid drum
#

Are loot tables a proper registry or their own thing like recipes?

blazing steppe
#

proper registry

#

they are special cased to work with reload

ancient frost
#

there's four kinds of Registries

#
  1. static registries, registered in java (blocks/items/mapcodecs)
  2. worldgen registries, loaded from datapacks, not reloadable (biomes, dimensiontypes, trims)
  3. reloadable registries, loaded from datapacks and reloadable (loot tables, maybe recipes eventually)
  4. the dimension registry (it's a special bunny)
blazing steppe
#

isn't the dimension registry a normal worldgen one in vanilla and neo makes it special?

ancient frost
#

no

solar pagoda
vivid ore
#

Having had to mess with it a bit: the dimension registry is fucked up in so many ways

scarlet pawn
#

isn'T that equippable component actually bad since it means items cannot be dual-use (equippable in two slots)

vivid ore
#

That seems like an extremely uncommon situation

small trellis
#

is custom modelled gear now possible in Vanilla?

vivid ore
#

(Since that's part of what the component handles)

#

...Now, the elytra stuff being a component is awesome

vivid ore
# scarlet pawn ... the first one?

Can you give an actual example of why someone would want such an item? It seems very niche and I imagine in most such cases someone could just make some easy way to switch what slot the item goes on

scarlet pawn
#

i am thinking more along the lines of trinkets, maybe

#

you can shove a wireless terminal in many slots 😛

vivid ore
#

Ah, yeah -- stuff like trinkets should probably not use the vanilla system then harold

#

Oh wait, mainhand is a slot... yeah I can totally see stuff that would make sense in both mainhand and offhand

scarlet pawn
#

I was about to check that! 😄

#

How are they handling shields

vivid ore
#

Shields are offhand

scarlet pawn
#

Offhand only ?

vivid ore
#

Like, not making it mainhand doesn't mean you can't put it in mainhand

scarlet pawn
#

offhand/mainhand are special i suppose

vivid ore
#

It just means that it won't "auto equip" in mainhand, as it were

#

Which for shields is sensible

#

(It also means, presumably, that mobs won't try to hold a shield in their main hand -- which is probably good, as zombies trying to bash people's faces in with shields would, though entertaining, probably not be great design)

wise mica
#

shouldnt this link point to the first 1.21.2 snapshot

#

instead of the latest

#

so they can just click next for the rest of them

drifting ice
#

It all gets bundled together after release, I’m just using it as a method to say that I’ve updated the primer

wise mica
#

ah

small trellis
#

Is custom modelled armor now possible in vanilla?

wise mica
#

Custom textured iirc

#

Not modeled

drifting ice
#

Yep, model is passed in as a parameter

dapper pendant
#

Yeah the model for the armor is an entity model, so not customizable

wise mica
#

Wink wink yet

#

Perhaps in 1.22.2

dapper pendant
#

Animations first hopefully

wise mica
#

Wut

#

Doubt it

#

Well

#

They may have to

dapper pendant
#

The fact that the PR to Neo for it has 3 hearts should say something about people wanting that

wise mica
#

Cuz how r u gonna animate a json entity model in java

wise mica
#

We can want the world

#

Takes time to get there

#

We're getting json everything eventually

#

Perhaps that is Minecraft 2.0

#

Everything is JSON addable and they stop adding things to vanilla

#

Datapacks reign supreme

tropic anchor
#

Equipment model for netherite armour in the new snapshot: p_371586_.accept(NETHERITE, onlyHumanoid("diamond"));

wise mica
#

Yeah they were rushed fs

#

Slicedlime showed all the issues

#

Some of them seem to be easy fixes

lunar dagger
#

i wonder why they were rushed

fallow nest
#

But it works fine server side

#

I’d like a solution to that actually, would it make sense to delay data map loading when on the client in the create world screen? Or maybe just delaying the loading of data maps for the dimension registry until after world creation

tropic anchor
#

Seems like they made enderpearls use the teleport position as a relative position

lunar dagger
#

which would explain why it doubles the coordinates of the player on use

sand raven
drifting ice
#

Ok, time to finish up primer work

#

And that menas more nonsense!

drifting ice
#

I just learned that getSwag was a method, now removed

#

Sad

lunar dagger
#

how dare they

drifting ice
#

Ok, I'm honestly digging all the data component changes, but they suck to write about

#

and now items have the id parameter too!

vapid drum
#

What's it for?

round perch
#

The default item name. All items store their name in the ITEM_NAME component now

drifting ice
#

Even more than that

#

The id also helps determine the default model location and the description id

#

Although the model location boggles the brain on how they're choosing to go about it

#

Ignore the fact that I repeated description id

round perch
drifting ice
#

Yep, I realized that a bit too late

#

I feel like I'm learning a whole bunch of minecraft features writing the primer

#

Didn't know that llamas can wear wool carpets

round perch
#

Same kek

wise mica
#

What does it use for the model data component?

#

it is just a resource location?

timber jolt
drifting ice
#

ResourceKey yep

drifting ice
wise mica
#

interesting

drifting ice
#

Doesn't map one-to-one because of mojang special casing, even though it can technically refer to two models at once

#

Because reasons

timber jolt
wise mica
#

So it's a DataComponent<ResourceLocation> that they just prefix with models/item/

drifting ice
#

Nope

#

It just stores something like minecraft:apple

#

And the ModelDiscovery strips the location by removing the item

#

So, technically, the model location could be either models/apple.json or models/item/apple.json as they would both refer to the same item model location

wise mica
#

hmm

#

interesting

#

So if you pass minecraft:apple it will check both locations?

#

will it prefer the one in item if both exist?

drifting ice
#

Based on what I could tell, it only checks the item location

#

But even if it were to load both locations, it would just store whatever is last

#

Which just happens to be the item location

#

And it wouldn't be hard to have it load both with a separate special model

#

So, just things to be weary of

thin sierra
#

I guess now that tool tip stuff is more visible and transparent, Jade and other related mods are dead? Especially the bee hive/nest info.

lunar dagger
#

wdym by dead? thonk

haughty raven
#

why would jade be dead? some of the tooltip customization mods maybe
as RP can now customize default tooltip style or data components can customize on per item basis

but jade shows detailed info in world, why would the above mean jade is dead?

clear urchin
thin sierra
#

I was thinking this snapshot and 1.21.2 will put an end to the reliance on those indefinately. I guess Jade and mods like that do so much more (all the f3 info?).

lunar dagger
#

there's more to those mods than just the visible F3 info

#

like showing the internal capacity (energy, items, fluids, etc.) of blocks, custom info (for example, the block camo of a Framed Block from FramedBlocks), and others

wise mica
#

Jade is for entities

#

As well

#

The tooltip stuff is just items

drifting ice
#

@round perch , how does extensible enums handle enums with abstract methods? I'm assuming it'll need to be made default?

round perch
#

Yeah, I kept the old approach where the method would be made non-abstract and a custom functional interface is added which is passed as a parameter to the enum constructor for modded entries

drifting ice
#

Cool

random tangle
wise mica
#

see then people would confuse compatible with java and bedrock

#

so it needs to have a different extension

#

for java

random tangle
#

mcjaddon

#

😛

ancient frost
#

The SimpleJsonResourceReloadListener has been rewritten to use codecs instead of pure Gson.
🎺 another thing I can yeet from databuddy

#

The constructor is now protected
nevermind

ripe drum
#

hmm? that makes sense no? so that it acts like an abstract class

ancient frost
#

it shouldn't need to be extended!

round perch
#

SimpleJsonResourceReloadListener only handles the prepare phase, the apply phase is still left to be implemented for post-processing and other checks

ripe drum
#

scratch the acts like, it is abstract and yeah that

#

it's just the reader

random tangle
#

I still wonder why BlockEntityTypes is now private.

spiral tapir
#

some very interesting things I'm seeing in the primer

#

the RGB codec in ExtraCodecs is handy

#

and the DataComponentPredicate stuff is pretty interesting as well

wise mica
#

Oh lord

#

here come 100 "disable the tutorial" datapacks

random tangle
#

Especially with how long the advancement toasts linger.

wise mica
#

yes

#

but it can be one datapack

#

modrinth does not need to be flooded with hundreds

#

that do the same thing

random tangle
#

Or better yet, a world creation option.

wise mica
#

real

dapper pendant
#

The tutorial is supposed to only show once per instance

spiral tapir
dapper pendant
#

Only blatant copies

#

Not multiple people making the same thing

#

But anyway, the tutorial progress is stored in options.txt, so you'll never see it more than once on a single instance unless you delete options.txt

timber jolt
round perch
#

It's Codec.withAlternative(Codec.INT, VECTOR3F, ...)

#

The same thing already exists in 1.21.1 for ARGB with a vec4f

timber jolt
#

that makes sense I guess thinkies

#

not useful for me tho kek

spiral tapir
round perch
#

I'm still salty that plain JSON doesn't support hex literals for ints

spiral tapir
#

yeah 😔

random tangle
#

wtf

#

my god, does Douglas Crockford just hate comfort features?

velvet spindle
dull heron
#

I wonder if json reload listeners will ever catch up to Placebo's DynamicRegistry

vivid ore
dull heron
#

Well for one it doesn't rely on vanilla's registry system, so no mess of trying to pass a registry access to every corner of the world

#

On top of that, it has DynamicHolder, which is retained by the registry and can unbind and rebind to new references as they are loaded

#

and it has automatic network sync, which is nice

vivid ore
#

Ah, nice

grand crypt
#

any frog tweets yet?

cosmic acorn
grand crypt
#

yo curseforge mentioned me

clear urchin
toxic river
#

snapshot alert

#

24w37a

short irisBOT
#

[Jump to referenced message](#minecraft-updates message) in #minecraft-updates

This is a new version. Changes listed from 24w36a.

Links:
client | client_mappings | server | server_mappings

Libraries
  • com.mojang:jtracy: (none) -> 1.0.29
  • com.mojang:logging: 1.2.7 -> 1.3.8
scarlet pawn
#

jtracy 🤔

inland vaultBOT
#

New version detected: 24w37a.

toxic river
#

what is jtrace?

inland vaultBOT
#

New version detected: 24w37a.

#

New version detected: 24w37a.

scarlet pawn
vivid ore
subtle leaf
#

<@&1067092163520909374>

prisma pawn
prisma pawn
#

Ender Pearls will now also load chunks when thrown.

subtle leaf
prisma pawn
#

oh boy

hollow sundial
#

So Etho’s ender porters should work again

vivid ore
frigid flume
#

so vanilla chunkloader are now easy to do

cosmic acorn
#

Ender Pearls will now also load chunks when thrown.
nice!

subtle leaf
#

oh great, loot function changes (again)

cosmic acorn
#

thonk Ender Pearls now unload when a player logs out, and reappear whenever that player logs back in, similar to how mounts currently behave

heady oar
#

Oh my gosh

honest wave
#

How do I unsubscribe to pings from this thread

cosmic acorn
#

that means you can leave an ender pearl on a teleport station indefinitely

heady oar
#

EPs loading chunks is going to ruin speedrunners

cosmic acorn
#

and no one can mess it up while you are offline

cosmic acorn
subtle leaf
honest wave
subtle leaf
#

but giga took it into his own hands

cosmic acorn
#

was quicker

heady oar
#

Wait this means you can now remotely start/stop ticking chunks using an alt account

tidal siren
#

I screm, Snowblower is generating 271 again

subtle leaf
#

brewing_fuel: Items that can be used as fuel in a Brewing Stand
LETS FUCKING GOOOO

tidal siren
cosmic acorn
#

Chickens laying eggs is now controlled by a loot table found at gameplay/chicken_lay
nice.

scarlet pawn
#

huh

sand raven
#

Make chickens lay spawn eggs

#

Galaxy brain time

subtle leaf
sand raven
#

@hoary cipher meme

cosmic acorn
subtle leaf
#

Chickens mod:

grand crypt
#

and a lot of generalization with the tags!

inland vaultBOT
#

Hi everyone! In this snapshot we have fixed the bug with Ender Pearls not teleporting the player to the point of impact. Ender Pearls will now also load chunks when thrown. Happy mining!New FeaturesChangesThrown Ender Pearls now load and tick chunksAdded l...

subtle leaf
#

ooo, Totem of Undying effects are datapackable now

grand crypt
#

and you can make armor resistant to any effect 👀

heady oar
tidal siren
#

15:30:35.246 INFO net.neoforged.snowblower.Generator -- [61, 271] Generating 21w03a
15:30:44.859 DEBUG net.neoforged.snowblower.Generator -- Committing files
15:30:47.782 INFO net.neoforged.snowblower.Generator -- [62, 271] Generating 21w05a
15:30:57.405 DEBUG net.neoforged.snowblower.Generator -- Committing files

lunar dagger
#

screm

#

also, hello Shrimp!

heady oar
#

hi :>

tidal siren
#

N8N keeps firing 3 times, killing the older jobs, one of which got far enough to load the cache (so it was solely just pushing old commits), when that job got killed it also killed the cache, so regenerating time harold

lunar dagger
#

I'm 🤏 this close to adding a sleep 10s step

#

though really, it should be fixed in n8n if possible

tidal siren
red jungle
#

Good stuff

#

More data driven changes hehe

lucid totem
#

bundle special-casing in GuiGraphics harold

jaunty zodiac
#

ender pearl chunk loading ?!!!!!

red jungle
#

lunar dagger
#

WHAT

clear urchin
cosmic acorn
heady oar
#

Funny how that thumbnail is so regular to me because I always make and test armor without adding in the textures first

dapper pendant
#

There's a new "Create Test World" button on the title screen that makes a Redstone Ready flat world with creative, and disables weather cycle, daylight cycle, and mob spawning

round perch
#

I was wondering what that was about when I saw it in the Snowman diff.
Also, I screm at the limitations of the GH app, Minecraft diff is too large to display and after 50 files it's cut off

dapper pendant
#

Clientbound player rotation is now sent as a full float instead of being locked to 256 discrete steps

drifting ice
#

Not sure how much I like the game capturing the screen every tick

spiral tapir
#

Huh

timber jolt
dapper pendant
#

Well you have to do --tracy to enable Tracy support

drifting ice
#

True, and it can only capture the current screen

spiral tapir
#

That's fine then lol

drifting ice
#

Also, this snapshot has been alot of reversing the previous snapshot

#

Ah yes, you know how pointless limiting StreamCodec#composite to six parameters when they add one to accept seven

round perch
round perch
#

They added integration with Tracy which is a frame profiler and it supports associating screenshots with captured frame data, that's the screenshots Champ is talking about

bronze crescent
#

Ah. See it now

#

Minecraft.getProfiler() --> Profiler.get() is nice

drifting ice
#

Yep

bronze crescent
#

If I'm not mistaken, a data component also controls per-item slot highlighting now too?

#

Which means people can "disable" items with a visual now :D

drifting ice
#

I haven't even gotten there yet...

#

Death protection is a data component too

#

I feel like this version is just gonna be the great component migration

spiral tapir
bronze crescent
#

Oh. Misread and combined a component import plus code.. derp

#

But hey Mojang if you're listening that'd be pretty dope

#

Making slots disabled via an item tag or something

#

They could use that in the enchanting table, for example, to disable non-enchanting items and lapis/fuel

#

Or make things like the smithing table dynamic, f.e. once you put a netherite upgrade in it disables all the non-armor/etc

#

DataPackReloadCookie and InitialWorldCreationOptions are both new..

drifting ice
#

Boat Type changes again!

drifting ice
bronze crescent
#

🚣‍♂️

round perch
bronze crescent
#

Oh hey, WRITABLE_BOOK_CONTENT is a thing now, and just having that means it can open the book editing screen... nice

drifting ice
bronze crescent
#

Nice little #is(Items.FILLED_MAP) => #has(DataComponents.MAP_ID) in a couple spots..

#

Might be able to turn a stick into a map, lol

#

Commands appear to check feature flags now.. (GameRules)

round perch
bronze crescent
#

Shearing now takes in an itemstack in the attempt, passing it to the item behavior...

#

More shearable things via dispenser I suppose?

#

FriendlyByteBuf now has read and write methods for ChunkPos eyes2

#

Granted it's just a small wrapper around long, but still

#

Surprising probably nobody, TagKey now has a stream codec method (wrapping ResLoc)

drifting ice
bronze crescent
#

Was Equippable#builder always a thing?

#

Looks like a few things changed in Item around it

#

Okay yeah Equippable.Builder is new, nice

#

ChunkPos.CODEC and ChunkPos.STREAM_CODEC finally exist \o/

#

LOOTR will be happy: BrushableBlockEntity#brush now passes the player and brush itemstack to the loot table (unpackLootTable and brushingCompleted)

#

StateHolder now uses a Ref2ObjectArrayMap internally, nice

#

BlockState properties are now slightly more strict, as getPossibleValues is a List instead of a Collection...

round perch
bronze crescent
#

Foliage/Trees changed again

spiral tapir
#

ah, for the neighbors? I saw apple say in fabricord that it got changed from a Table to Map<Property, T[]>

bronze crescent
#

yes

lucid totem
#

I somehow doubt that's much of an improvement

#

compared to what FerriteCore does

round perch
#

Hmm, I'm curious how they calculate the index into that array 🤔

bronze crescent
#

Aight, hit the end. Bunch of nice little things added here, tho

lucid totem
round perch
#

That at least sounds a bit better than a List#indexOf() 😅

round perch
#

I assume that's the enum property. Where does the max usable ordinal come from?

lucid totem
round perch
#

That feels like something that could be done faster with an array in the property that maps from ordinal to index

lucid totem
#

likely, yeah

round perch
# lucid totem compared to what FerriteCore does

A heap dump suggests that it's actually quite a decent improvement in terms of memory (vanilla 1.21.1 vs 24w37a):

  • 1.21.1: 26.686 blockstates at 2.56 MB shallow/42.08 MB retained
  • 24w37a: 26.686 blockstates at 2.78MB shallow/15.27 MB retained
timber jolt
dapper pendant
round perch
#

To quote YourKit's docs:

Shallow size of an object is the amount of memory allocated to store the object itself, not taking into account the referenced objects. Shallow size of a regular (non-array) object depends on the number and types of its fields. Shallow size of an array depends on the array length and the type of its elements (objects, primitive types). Shallow size of a set of objects represents the sum of shallow sizes of all objects in the set.

Retained size of an object is its shallow size plus the shallow sizes of the objects that are accessible, directly or indirectly, only from this object. In other words, the retained size represents the amount of memory that will be freed by the garbage collector when this object is collected.

dapper pendant
#

So which objects are the roots?

#

Not that the shallow size really matters

round perch
#

The root type is BlockState for these values

lucid totem
#

Oh neat

tropic anchor
#

The log4j file in mojang's logging library hasn't been updated but the one in the version json has been updated to output to tracy

stiff canyon
grand crypt
#

#mojira message yo, the "too expensive" bug is fixed

short irisBOT
wheat mango
#

well the visual bug

#

sadly, too expensive is not a bug 😔

dapper pendant
#

The visual bug may have been fixed by them removing Too Expensive entirely

vapid drum
#

That would be nice

cosmic acorn
#

unlikely, that feature is their way to make people want to get Mending :P

timber jolt
#

and then you can't add mending, because it's too expensive

ancient frost
#

thinkies does mojang not datagen their lang keys?

#

ah no the lang key is fine, the typo was in code

cosmic acorn
#

I suspect they have developer strings, but the actual lang files are done by translation teams

ancient frost
cosmic acorn
#

that said, LanguageProvider is not vanilla

ancient frost
#

ahh

cosmic acorn
#

so maybe they don't datagen them at all

dapper pendant
#

Then that's used as the basis for translators for other languages to use

hallow basin
#

MC-276588: Boat with chest inventory names no longer are suffixed with 'with Chest'

wow focusing on the right things

drifting ice
#

Just as notice, I'm traveling wednesday for an anniversary, so I will be late on the snapshot primer

blazing steppe
#

what do you guys think about starting kits this week?

red jungle
#

🤷

lunar dagger
#

i see no reason why not

red jungle
#

I'd like to split NeoForge and convert it to a new in-repo plugin at some point before the release of MC 1.21.2

#

That doesn't prevent us from already starting to port; we can do that later, it's mostly independent

#

(and splitting NeoForge will make rebasing annoying, so it's best done late, e.g. in the prerelease cycle)

blazing steppe
#

wdym split neo? can we discuss this in #internal-private

#

1.21.2 Snapshots

ripe drum
#

why would it be discussed in private

red jungle
#

It's about splitting sources and patches between client and common

blazing steppe
red jungle
#

it will be outside-facing at some point, but the first step is to split neoforge internally

#

(it will require tweaks to some APIs to eliminate client-only references from common code)

bronze crescent
#

I'm personally a +1 on inlining NG into Neodev and starting to carve off/maintain only the required bits. Means the plugin code can be optimized.

User/Mod dev can still be run with the two gradle plugins independent of Neodev

tropic anchor
#

193 reject files for 24w37a including 15 files for which the class is gone

#

8 of the removed classes are client side, 6 are in the item package, and the last 1 is the ChunkSerializer class

blazing steppe
#

also moving neodev into neo should be as easy as copying the platform plugin from ng into buildSrc and would not require a rewrite just to use MDG instead of NG just because the MDG devs want to do so

stiff canyon
#

I would recommend not completely overhauling NeoForge's build system while porting to a new Minecraft version. It'll just create more work and will be more hassle for everyone. The best time to change it is when we're not making breaking changes

cosmic acorn
#

the best time would be in a version that the community happens to decide they won't use, but given mojang's recent announcement we don't know which versions will be good candidates

azure bane
#

I think most mod and modpack developers will stick with 1.21.1

stiff canyon
#

In any case, we should have a solid target to test against, because if we change the build system, it COULD introduce subtle bugs, and dealing with those while also porting will just lead to burnout

#

don't ask me how I know

frigid flume
azure bane
frigid flume
#

because of the forge/neoforge split and the unknown about the future, modders were wary about the longevity of neoforge

cosmic acorn
#

1.20.1 was popular because 1.19.3/.4 were a mess, and 1.20.2 was a mess too

#

people decided not to update to "tech & preview" updates

frigid flume
#

also, neoforge did bring a few breaking changes in (almost?) each 1.20 minor

cosmic acorn
#

1.20/1.20.1 -> feature bump (stable)
1.20.2 -> tech update (unstable)
1.20.3/.4 -> content preview update (unstable)
1.20.5/.6 -> content preview update (unstable)
1.21/1.21.1 -> feature bump (stable)

#

if they continued the same way as before, 1.21.2 would be a tech update, released before the minecraft live so it wouldn't include any content previews, but it would include many breaking changes in the code

#

but the recent announcement means we have no idea what 1.21.2 will be

#

or even if there will be a 1.21.2 -- they could delay it, announce a few new mobs and features, and call it 1.22

scarlet pawn
red jungle
#
  • get we free testing by the people porting to snapshots
#

what's also not clear is that you say it will "create more work"; more work for whom? if it's for people porting to new snapshots, they are already volunteering to do extra work 😄

ripe drum
#

we have to do split sources during a BC window anyway

blazing steppe
red jungle
#

so let the people who have time do things the way they think is best? 😉

#

inlining NG platform into neodev will make it unmaintainable because of how coupled it is to the rest of NG

thin sierra
#

Other people are saying this is like the really old days in Minecraft's infancy like the alpha and beta with new stuff to mess with every few days, months, weeks?

cosmic acorn
#

they were already doing that before the announcement, so that means it's changing

thin sierra
#

Oh great...

cosmic acorn
#

I expect they will release full versions 2-4 times a year instead, with less features each

thin sierra
#

So like the 1.7 1.8 1.9 etc in fast succession like years ago?

cosmic acorn
#

they just don't want to commit to a schedule wnymore

lunar dagger
#

time to institute a coffee ration

cosmic acorn
#

yeah like that sorta

lunar dagger
#

NF team members who help port get a smol coffee subsidy /j

thin sierra
#

I started back in 1.14.x so it was not as fast as early MC, but not like 1.16+

#

1.15 and 1.16 came rather quick compared to 1.17 and later.

cosmic acorn
#

1.15 was a december update, they tried to have two updates a year, and it kinda didn't work

#

I think they just don't want to add features they didn't announce in a "live"

#

so they will have two announcement videos a year and then release the features piecewise in the months after

#

we'll see what happens

spiral tapir
#

We have a frog post

haughty raven
crimson gull
#

Oooo

inland vaultBOT
#

New version detected: 24w38a.

clear urchin
#

imma go mute this channel until I am home

inland vaultBOT
#

New version detected: 24w38a.

#

Hey! This snapshot brings you dyable Bundles in the Bundles experiment and fully-featured world creation for Realms, including Hardcore mode.Happy dyeing!ChangesShulker Box coloring recipes are now shown in the recipe bookUpdated the world creation screen ...

#

New version detected: 24w38a.

obtuse marlin
#

How many times is it going to say that

timber jolt
#

crafting_transmute recipe type
let's go

haughty raven
#

New Item Component
crafting_transmute recipe type
this sounds interesting

inland vaultBOT
#

Hey! This snapshot brings you dyable Bundles in the Bundles experiment and fully-featured world creation for Realms, including Hardcore mode.Happy dyeing!ChangesShulker Box coloring recipes are now shown in the recipe bookUpdated the world creation screen ...

timber jolt
#

wait, that's not what I need screm

dapper pendant
#

Why didn't they just do dyeing with bundles like how they have with other leather stuff?

red jungle
#

I don't understand what they mean by New Item Component

tidal siren
#

harold Snowman seems stuck waiting for a runner

drifting ice
#

Oh, it’s for crafting

tidal siren
#

Also it did the triple restart again

drifting ice
#

So it’s either the component stores a recipe or a possible item that can be modified through some parameter, or that the recipe just copies the components

#

No idea what, and I won’t be able to diff until tomorrow

cosmic acorn
#

thonk

Enabled hardcore mode for Realms
realms didn't allow hardcore until now?!

#

crafting_transmute recipe type

New crafting recipe type has been introduced: crafting_transmute
When matched, output will copy the input item stack, changing the item type but preserving all stack components

nice!!

cosmic acorn