#1.20.5/6 Snapshots

10792 messages ยท Page 11 of 11 (latest)

elder swallow
#

the problem with registering components in neoforge is that they get the neoforge namespace

#

it would be better for mods to register their own component in their own namespace

fallen igloo
elder swallow
#

it would potentially be weird for mods to have a few random neoforge-namespaced components and then other components in their own namespace

#

on the other hand we're already doing that for ingredients and nobody complains ๐Ÿ˜›

#

I suppose that ingredients such as neoforge:compound are a very generic concept, whereas data components are necessarily centered on a specific use case (e.g. storing the contents of a tank)

fallen igloo
elder swallow
#

right now we do not provide any

#

do you have specific ones in mind?

fallen igloo
#

huh? I thought we moved the itemstack attachments to components

elder swallow
#

we did not provide AttachmentTypes before (as far as I know?)

fallen igloo
#

hmmm....

#

why did we have the discussion about needing a milk fluid like thing at all? (not today but before)

elder swallow
#

for FluidHandlerItemStack and FluidHandlerItemStackSimple

#

this is now solved by requiring a Supplier<DataComponentType<SimpleFluidContent>> componentType to be passed in the constructor ๐Ÿ˜‰

#

@wild pine getOrDefault shouldn't be nullable ๐Ÿ˜„

misty crow
elder swallow
#

we also had the discussion for the fluid handler item stack helpers

#

I didn't follow the structure one

fallen igloo
elder swallow
#

it can't, it's not nullable

fallen igloo
#

but then the param needs to be nullable too

elder swallow
#

furthermore, compare:

fallen igloo
#

so either both are or none

elder swallow
#

making the return nullable is stupid

misty crow
#

Agreed

elder swallow
#

the entire point of getOrDefault is to avoid the nullable return

#

I wonder if T can be @Nullable Something though thonk

#

say we had <T extends @Nullable Object> T getOrDefault(..., T defaultValue)

#

technically that should be generic over nullability

fallen igloo
#

T can't be nullable in the component type

elder swallow
#

maybe you could clear the nullability away using <? extends @NotNull T>

fallen igloo
#

please no

wild pine
# elder swallow <@201070433280196608> `getOrDefault` shouldn't be nullable ๐Ÿ˜„

ah yeah, my mistake, i believe thats a copy paste error
pasted the supplier get and just gave it the T defaultValue param forgot to remove the anno

well it should because the default could be null
also while yes tecthinicly true, default value is not supposed to be null
guess its rly @UnknownNull or could use the
@Contract anno to have be null if default val is null but im unsure how that annos params works tbh

elder swallow
#

It's best to keep things simple IMO

#

Nullable objects and codecs generally don't play nice together anyway

wild pine
median wasp
#

How do I depend on any version of a dependency? I don't want to have to deal with snapshot version IDs

#

I'll just use [20,) for neoforge and [1,) for Minecraft

prisma locust
frail hatch
#

I may look at it at some point before the RB/release, but I still think we should move the attachment in IAttachmentCopyHandler to the first parameter, and the lookup provider in IAttachmentComparator to the last parameter so that it is easier to just do method references

elder swallow
#

Sounds reasonable yeah

frail hatch
#

also IAttachmentSerializer didn't lose the deprecated for removal method and make the other read method non defaulted yet

#

I will try to look at the proposed ingredient changes sometime in the next couple days

elder swallow
#

Also I haven't deleted the comparison logic yet

frail hatch
#

why is IDataComponentHolderExtension#getOrDefault marked nullable??

wild pine
#

it shouldnt be now, tech merged the pr to fix that, didnt he?

frail hatch
#

ah think I checked it out just before that was merged

slow prism
#

i'll collect a list of interaction events and open a brainstorming thread

boreal flint
#

if you're gona do that I'd appreciate some consideration for what the return values do in each situation

#

cus atm it's basicaly just magic values with an arbitrary name attached

#

and modders have no idea what to return half the time

#

maybe some helper overload return methods or something idk
or just better javadocs

slow prism
#

why does that have its own event..

true jacinth
#

arrow events are a bit of a mess

#

they're necessary for custom arrow functionality

#

but holy shit are they a clown fiesta

frail hatch
#

am I correct in assuming nothing changed from initially and data components are still immutable? And if so what is the way we are recommending for people to implement caps on their items. Given at least in 1.20.4 the cleanest way was to attach the cap with the data and then provide it as a capability for other mods to interact with

slow prism
#

i put a pls remove next to ArrowNockEvent as that's actually useless

summer furnace
#

you can use capabilities still, as a means to provide an API that understands the components and the data they hold

frail hatch
#

hmm I will think on it more. Not sure how feasible it is to wrap it for my uses given how far down it would go. Though maybe... will be a bit messy though

#

and we may want to consider exposing wrappers in neo

slow prism
#

starting to regret this

summer furnace
#

that's why we need immutability, or at least pseudo-immutability

#

(eg you can have a mutable object that ONLY gets mutated in response to loading configuration data / datapack data)

frail hatch
#

I understand why

#

it just causes the api to be taking a few steps back after having taken a ton of steps forward in 1.20.3 with attachments and the cap rework

#

so caps for item stacks are back to being pretty bleh

summer furnace
#

yeah I was hoping we'd have BOTH components and attachments on itemstacks

slow prism
#

and when i thought i got through the bad part (right clicks), THE LEFT CLICKS ARE EVEN WORSE

#

this is such a mess

slow prism
#

welp, i'm done

elder swallow
#

The tradeoff is that item stacks become much cheaper to copy

#

Which I personally find a massive step forward hehe

prisma locust
#

this only applies to attachment-style use cases, I don't know what components on itemstacks were like before so I can't comment on that

lime galleon
#

so previously, caps did implement copies (via serialize + deserialize, which is slow in this own right), now they implement explicit copy functions, but are immutable. so really the question is copy() being called more, or are item stacks' components' being mutated more, because the intensive operation moved from the former to the latter with immutability.

true jacinth
#

copy is being called more

#

like way way way way more

#

data mutation only happens when something changes, copy happens transiently for tons of operations

fallen igloo
#

to clarify the component itself is not copied but passed as an instance when the stack is copied

true jacinth
#

Yes, rather ItemStack#copy is being called substantially, which transiently means that (prior to components) capability copy was happening just as often

#

data mutation (cheaper on a capability) requires a full copy of the immutable component, but this operation is less frequent

fallen igloo
#

also with the size of the biggest components it is negligible

true jacinth
#

Realistically some of the largest modded components would have previously been large backpacks storing many items

#

Since you have to copy all the itemstacks to copy the component [for mutation], it sounds expensive, but since itemstack copy is now "free", its actually cheap

#

You would need to end up with a huge component composed of non-cheap-to-copy types

#

and be mutating it very frequently (say on all items on inventory tick or something) before you even think about the component system being less performant

stray bay
#

you mostly wouldn't even need to copy the itemstacks in the backpack case

#

like, unless you're making a copy of the whole backpack itself, it should be safe to just copy the list [and keep the references to the current itemstacks in all the slots you're not mutating], so you're spared even the cheap copy

#

hmm no, you'd... you could do that but you'd have to copy them whenever mutating one of the itemstacks inside?

#

now i'm having trouble reasoning about this at 4am

#

yeah you couldn't allow mutating an itemstack inside anyway [without also making a copy of the list] on the principle that the component is deeply immutable, but given nothing ever does that you'd be safe to do a shallow copy of the list when mutating the component

#

you would have to make a copy when extracting an itemstack from the list, and while mutating the stack returned by getStackInSlot is technically ill-defined now, that'd become a real concern for item handlers backed by data components attached to itemstacks

#

[and god knows what the gui code does]

fallen igloo
#

Todo before merge to 1.20.x:

  • Fix/address porting todos
  • Check removal deprecations
  • Finish and merge critical refactors
elder swallow
#

If we miss a few todos it's fine

blazing valve
#

@elder swallow remember to put the eventbussubscriber and bus.forge->bus.game change in the blog

misty crow
true jacinth
#

kk, looking over it now

#

lgtm, I have some stylistic nitpicks I might apply but they aren't super relevant

#

i.e. in makeClientboundPacket the list creation can just be Arrays.asList

misty crow
#

How would that work? The loop wraps the payloads in ClientboundCustomPayloadPacket

true jacinth
#

oh right it does do that

#

I guess you could do a stream transform

#

Arrays.stream().map().toList()

misty crow
#

That would work, yes

slow prism
misty crow
#

Hmm, yeah, that's a good point. That should be doable, give me a second

blazing valve
#

I really don't see the point of the vararg anyway

#

How often do you send multiple statically?

misty crow
#

The vararg allows you to send multiple payloads as a bundle

blazing valve
#

Wait, it only batches in that case?

misty crow
#

Yes, that's the only case where it can batch

blazing valve
#

That makes no sense

#

you are just calling listener.send(payload); ๐Ÿ˜„

#

Ah

#

In the playerbound case

elder swallow
#

clientbound*

blazing valve
#

yeah yeah the method is called sendToPlaeyr ๐Ÿ˜›

#

not send to client ๐Ÿ˜‰

misty crow
#

Yeah, the serverbound helper is "special" since there is no serverbound bundle packet

blazing valve
#

Okay, IDK. My personal take is:

  • either you send one
  • or you send a dynamic amount of packets
#

So, I'd personally prefer

send(X)
send(Collection<X>)

true jacinth
#

Having to manually make the collection is fairly clunky though

#

plus it means you need 2x methods

#

for the overloads

slow prism
#

it's blegh

elder swallow
#

yeah 2x the methods is ugly ๐Ÿ˜›

blazing valve
#

Well, as I said -> if you have a dynamic amount

#

vararg sucks

elder swallow
#

it's just an array ๐Ÿ˜„

true jacinth
#

vararg is fine, the entire thing is currently vararg, lol

blazing valve
#

yes, meaning you first make a list, then do the godawful .toArray(BlahBlah[]::new) ๐Ÿ˜›

#

Anyway. I gave ma 2ct, now you can ignore me ๐Ÿ˜„

slow prism
#

should just be std::vector& obviously

blazing valve
#

Ahem. &&?

true jacinth
#

stabs in c++

blazing valve
#

Or maybe not? Who knows! I gotta sacrifice a goat to be blessed with the knowledge

elder swallow
#

nah just do std::vector const&

#

everything can bind to const& even rvalues

misty crow
summer furnace
#

why are you all talking about C++ stuff in the 1.20.5 channel, should I be concerned about 1.20.5? XD

slow prism
#

it's the C update

#

the Components update

misty crow
true jacinth
#

Moving to A a, A... extras is fine

#

it makes handling it a bit weird though

#

since the data comes in as <obj> + <obj[]> instead of one <obj[]>

#

That said, it should reason that the single vararg parameter with an exception if empty may be beneficial for code flow

wild pine
#

just pulled in the new networking changes via pr published jar
i noticed RegisterPayloadHandlersEvent.register takes in a version now (used to tbe the namespace/modid)
how is this version different from calling PayloadRegistrar.versioned?

true jacinth
#

versions are mandatory

wild pine
#

feels like .versioned is pointless now if the main register takes in the version

true jacinth
#

.versioned lets you change it

#

since versions are recorded on the individual payload level

#

you can do

registrar(1.0.0)
<payload 1>
<payload 2>
versioned(1.1.0)
<payload 3>
#

Does it make a ton of sense? Not really; but declared network versions are more or less a stopgap until the handshake protocol can be implemented

wild pine
#

sounds neat and could see a usecase but id just make all my payloads use the same version

magic sierra
#

RC 3?

#

#mojira

fallen igloo
#

probably rc3 today and release tomorrow or wednesday

restive raft
#

what if they roll that into the actual release thinkies

magic sierra
#

Bad idea

restive raft
#

what's the worst that could happen? 1.20.6

clear bane
#

1.20.10

solar zephyr
#

Ship it!

edgy arrow
clear bane
#

RC3 ot

plucky brook
edgy arrow
#

yeah that would explain why it doesnt say future version

clear bane
#

#minecraft-updates its out ๐Ÿ˜›

summer furnace
#

rc3 :P

fallen igloo
#

called it

restive raft
#

Oh look, it's finally Monday! Since we haven't shipped something for several hours, we thought we'd kick the week off with a third and (fingers crossed!) final Release Candidate for Minecraft: Java Edition 1.20.5.
thinkies
one bug fixed

open kindle
#

single bugfix, this shouldn't be too bad

fallen igloo
#

sooo how long until ๐Ÿธ after the release?

river zephyr
#

Reminds me of another two versions with very little fixes between the two

elder swallow
#

Only the bugfix for that one bug

#

Not sure I understand the cause though

stiff galleon
#

it sounds like can_break/can_place block predicates in mcfunction jsons were invoking getOrCreateTag offthread, creating tags offthread

spiral radish
#

hmmm why do I get the feeling this might fix that intermittent tag/crafting issue as well

misty crow
magic sierra
prisma locust
#

unless can_break/can_place are newer than 20.1

stiff galleon
#

they might have changed something in function loading

#

err

#

can_break and can_place are itemstack components, so yes, they are newer than 1.20.1 harold

prisma locust
#

I'm trying to figure out what that fix is actually fixing

#

the map is already COW but I guess there are some race conditions that can occur if the same tag is created multiple times or something

slow prism
#

๐Ÿฎ

azure sparrow
#

fwiw RegistryOps is the main fix here

royal stone
#

It's here (spotted by the fabric bot)

restive raft
#

SQUIRR

last briar
#

!!!!!!!

stiff galleon
#

beat the warning, the sound of the drums

clear bane
#

imma go back to work now
harold

errant lion
clear bane
#

becasue the site updates a slight bit later apparently
likely some cache

#

#minecraft-updates

errant lion
#

Ah

#

Ohh

spiral radish
#

I wonder if Snowblower is going finish before the blog post get's published harold

errant lion
last briar
#

๐Ÿชฎ

bright night
lean anchor
#

oh shi-

errant lion
#

Nano whats the repo for Gander?

lean anchor
summer furnace
#

oh shit it's out

lean anchor
#

welp. what's the state of the pre-release ports?

summer furnace
#

they were far enough along to be usable for development

stiff galleon
#

that's a sentence

lean anchor
#

is it?

summer furnace
#

I accidentally a word

fallen igloo
#

We have a milestone on github

#

I will do some porting fixes and check removal deprecations later

#

If someone wants to help with the porting todos it would be appreciated

kind sable
#

hmm
hOw Do i MaKe MoDS fOR 1.20.5?

fallen igloo
kind sable
dry stumpBOT
#

[Reference to](#mojira message) #mojira [โžค ](#mojira message)This ticket has just been resolved as Fixed!

When re-creating a world that was created in the 21w06a snapshot, the world type cannot be changed. It is set to "Custom" and greyed out, regardless of the actual world type.

  1. Create a new world with the "Default" world type.
Status

Resolved as Fixed <t:1713886796:R>

Fix Version

Future Update

Votes

19

Comments

6

Duplicates

1

Created

<t:1613079755:R>

summer furnace
#

depends on how critical they think this is

#

I don't think 1.20.6 will be released right now

fallen igloo
#

๐Ÿธ tomorrow?

summer furnace
#

if this is the only bug, maybe in a week

spiral radish
#

Snapshot / RC on Thursday prehaps?

summer furnace
#

to wait for more bug reports

#

it's not a data loss issue

#

so it's not super critical to hotfix right now

lean anchor
#

TBF it's also "re-created from a snapshot"

inner veldt
#

Created 3 years ago
Yeah, not very critical.

lean anchor
#

If it isn't affecting full release versions, it might wait a while.. maybe even 1.21

summer furnace
#

oh right it says 21w lol

#

I didn't even read the year

#

so it's not a 1.20.5 snapshot at all

#

it's just low-hanging fruit someone picked in the "post-release" wait

spiral radish
lean anchor
#

I wonder what Mojang's triage/priority process looks like

#

Half curious if it's just a big ol' whiteboard with stickies on it for "filler" work

magic sierra
#

Imagine, a snapshot tomorrow...

summer furnace
#

doubtful, unless there's critical fixes

lean anchor
#

kek "so it turns out we have an addiction to releasing stuff, so here's another thing"

dry stumpBOT
#

[Reference to](#maintenance-talk message) #maintenance-talk [โžค ](#maintenance-talk message)In any case we'll have to go on without some of the milestone changes

foggy steeple
#

Donโ€™t forget the tag fixes pr I have up too. Want to make sure thatโ€™s in for the release so people build against the right tags

lean anchor
#

So, given the huge changes involved.. #modder-support-20.5 please

#

Because there's gonna be SO MANY questions

reef parcel
#

would also make it neo-only, no more forge questions harold

summer furnace
#

if someone asks, assume neo

#

if they are actually using forge, then you can just say "oh, I don't know then"

#

:P

summer furnace
#

making the server neo-only would just make the atmosphere less welcoming

reef parcel
#

well yeah :p not saying make everything neo only, but the automatic assumption for a "20.5" channel would be "you're using neo". atm in 1.20 I usually ask "neo or forge" since there's around equal number of people asking for help on either

#

and one person was using fabric!

#

and then they realized they clicked the wrong server :p

lean anchor
#

Also, changing the channel naming to be 20.5/21.0/21.1 will help with all these technical releases :P

#

There's decent changesets between every version now

summer furnace
#

that would mean having a lot more channels

foggy steeple
summer furnace
#

unless we disallow older versions in the main channels :P

foggy steeple
#

1.20.X channel and 1.20.5 channel

#

Just due to how significantly different 1.20.5 is

reef parcel
#

#modder-support-[1.20,1.20.5) and #modder-support-1.20.5

foggy steeple
#

Using version range like that is gonna confuse people

reef parcel
#

#modder-support-[1.20,1.20.4] :p

#

or even better #modder-support-1.20.X-where-1.20<=X<=1.20.4

sand heron
#

make it regex ๐Ÿคฉ

reef parcel
#

the perfect solution

#

everybody can read regex

lean anchor
#

Anyone who isn't on a "legacy" version can then collapse/mute the category

foggy steeple
reef parcel
#

that's too easy to read :p

sand heron
#

#modder-support-one-dot-twenty-dot-x-where-x-is-a-positive-integer-such-that-x-is-less-than-or-equal-to-four

stiff galleon
#

#legacy-modder-support-gradle evilpatrick

sand heron
#

just mix every channel into a single one and watch the chaos descend

#

then give everyone admin

stiff galleon
lean anchor
#

So, you could go the fun route and make all of modder support a forum.. with each forum post a MC version

sand heron
#

Make every message a new forum post

median wasp
#

Will 20.5.1-beta release today?

summer furnace
#

maybe, for varying definitions of "today"

fallen igloo
#

#builds message is this the right one for doing the update?

dry stumpBOT
#

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

Version

1.20.5-20240423.152201

Build Branch

main

Minecraft Version

1.20.5

blazing valve
#

Oh since it passed, it actually pushed one?

#

Interesting

#

So I'd say you can go with that

fallen igloo
#

Eh doesn't the other branch contain fixed missing lambda bodies?

blazing valve
#

I was wondering too, but it looks like the update branch copied over the content from 1.20.5-dev

#

"update branch". I meant update action

fallen igloo
#

Hmmm OK will do when I get home (if you want you can run the workflow)

blazing valve
#

Done

#

I am trying to iron out the FML refactor

blazing valve
#

Hm. Okay?

* What went wrong:
A problem occurred evaluating root project 'actions'.
> Could not find method getTagOffsetVersion() for arguments [] on extension 'gradleutils' of type net.neoforged.gradleutils.GradleUtilsExtension.
fallen igloo
#

@elder swallow @slow prism @restive raft who of you is responsible for that

elder swallow
#

No idea

#

Now fix it:P

restive raft
#

thonk

#

where is this

#

explain

blazing valve
#

Kits

restive raft
#

which branch of Kits

blazing valve
#

Hm

#

I think this is my fault, I'll look into it

fallen igloo
blazing valve
#

Is there no way to actually see the params used to launch the job?

#

I did this (still had these in auto fill) and it checked out 1.20.2 on kits. Hm

restive raft
#

and I can't fathom why

#

anyway, user error: use gradleutils.version, or gradleutils.version.toString() if you must
getTagOffsetVersion on the extension was yeeted on the outset of GradleUtils 3

#

as to which user did it, I'm not going hunting for kek

blazing valve
#

Oh you mean it's no longer going into the non-pre-release branch of that if heh

elder swallow
#

Why tf would I have done that thonk

blazing valve
#

copy pasta?

restive raft
#

it looks to be a squash commit

blazing valve
#

Tech did the initial versioning for snapshots I think

elder swallow
#

Weird

blazing valve
#

rerunning kits

elder swallow
#

I deleted the branch

#

๐Ÿ‘

blazing valve
#

Did it even create one?

#

I thought it didnt get to the commit step

elder swallow
#

well it did push stuff

#

see #neoforge-private

blazing valve
#

huh

elder swallow
#

it commits the mc sources for the previous version

#

I think we'll just merge the two non-draft PRs in the initial release milestone and go for the public release

#

have you started the kits run yet?

blazing valve
#

i retried the previous one

elder swallow
#

smart move, I was gonna do the same

#

ok it's having fun with gradle

blazing valve
#

Succeeded

elder swallow
#

nice

#

no rejects or patch updates then?

blazing valve
#

One update to mappedregistry

elder swallow
#

that didn't get committed?

#

ah yeah no I'm stupid

blazing valve
#

pushed the updated 1.20.5 branch, making squashed now

elder swallow
#

ok good

blazing valve
#

Should I update neoforge_snapshot_next_stable=20.6?

elder swallow
#

might be 21.0 so probably not

#

we'll do it in the next snapshot funโ„ข๏ธ

blazing valve
#

you never know beforehand, so 20.6 ๐Ÿ˜›

#

It'd be wrong to keep the current line with 20.5 in there

elder swallow
#

well it doesn't matter

blazing valve
#

I think it does ๐Ÿ˜„

elder swallow
#

it only matters on snapshot versions? ๐Ÿคจ

blazing valve
#

After snapshot is before the next snapshot ๐Ÿ˜„

elder swallow
#

it's pointless but feel free to do it ๐Ÿ˜›

blazing valve
elder swallow
#

ok I'll merge in a few things and do the release

fallen igloo
#

tech stop rushing things give the PR authors at least 24 hours

elder swallow
#

?

#

breaking changes can come later

#

as for the 3 PRs I just merged, they've been open for more than 24 hours ๐Ÿ˜›

fallen igloo
#

stuff like the events and porting todos are not normal breaking changes

elder swallow
#

the event result is the more annoying of the two but it should not prevent people from already having fun with all the stream codec and component changes

#

the porting todos can be done over time, and even broken up into different PRs if necessary

fallen igloo
true jacinth
#

Schurli where did you get this weird definition of what beta means

#

if the release is "available" in any capacity it can be promoted to beta

#

beta does not guarantee any additional semantics vs alpha, they are both BC window

fallen igloo
#

alpha is what previously happened in the private repo and beta is everything in the BC period after

#

and porting todos and refactors to core systems like events happened on the private repo previously

summer furnace
#

alpha is public commits built from the porting branch, beta is anything after it has been put in the main branch

elder swallow
#

there have been many changes such as the registry rework or caps that have happened on the public repo

summer furnace
#

so whenever you are ready to move porting to 1.20.x, that becomes beta, if we want to be consistent

fallen igloo
elder swallow
#

would it have been better to have them already? yes; is it worth delaying the update for everyone? no

true jacinth
#

major refactors to events should have never happened on the private repo, lol

elder swallow
#

that too

fallen igloo
elder swallow
#

the only thing this shows is that we are not necessarily consistent

#

I would see it as: the things that can be done before the first release are done before

#

the things that cannot be done come later ๐Ÿคท

fallen igloo
#

ffs I just came home and didn't even have time since the release to do anything just stop stressing

blazing valve
#

We have a working version, no?

elder swallow
#

the time to do things was before today ๐Ÿ˜›

fallen igloo
#

I want the forRemoval deprecations and at least some porting todos done in the first beta

elder swallow
#

IMO: too late, they will come when they are ready

#

better than rushing things now

#

and better than delaying the release for a few days

fallen igloo
#

tech we literally only had 1 time that we released the day of the mc release so chill we don't have to release today

elder swallow
#

just do your stuff and it will be merged when it's ready

#

release the day of the mc release is the standard not the exception

true jacinth
#

There's no effective difference against holding beta. It's already available via alpha and the changes will still be made

elder swallow
#

more people will use beta than alpha

#

tbh we just want more people to find issues ASAP

fallen igloo
#

alpha will not be released via installers for users beta will

elder swallow
#

it's a beta for a reason

fallen igloo
true jacinth
#

alpha as a classifier should be reserved for snapshot/pre/rc mc releases, beta for actual mc releases
both are BC-window and identical to a user perspective. We have a beta now, so we can promote it to that

misty crow
true jacinth
#

The difference from prior is that alpha was unreachable to the public

fallen igloo
#

well now alpha is only reachable for modders and beta for everyone

elder swallow
#

there's only you against the release and 3+ maintainers in favor of it so let's do it

blazing valve
#

wait we do not have PR installers? ๐Ÿค”

fallen igloo
#

that was already possible for some time

blazing valve
#

If we had any closer definition of what beta means, it'd be different

#

But given the massive changes that landed in beta in 20.4

#

I really don't see why we should hold a release for changes of the same significance?

boreal flint
#

why would someone be against release at this point?

fallen igloo
#

we do via the PR publishing on the porting PR

boreal flint
#

is it not ready?

misty crow
#

The port was already available through PR publishing for a bit. But as I mentioned above, that's an additional barrier compared to a release so most people wouldn't bother using it

blazing valve
#

We might wanna revisit the alpha-beta-stable progression. OTOH the transition of alpha->beta is such a muddy thing

fallen igloo
boreal flint
#

such as?

magic sierra
#

#neoforge wtf

true jacinth
blazing valve
#

I wasn't here, so no idea? ๐Ÿ˜„

elder swallow
#

EPIC FAIL

magic sierra
#

Yeah

elder swallow
#

the tag didn't go through

true jacinth
#

Deleting the target also broke all of those prs rip

#

I can go reset them to 1.20.x and reopen I guess

blazing valve
#

Oh ffs Tech

true jacinth
#

Actually can I even do that thonk

elder swallow
#

that's hilarious actually ๐Ÿ˜›

blazing valve
#

That one's gona haunt ya

#

Didn't we want to also branch out 1.20.4?

#

blergbelbrglgr

elder swallow
#

well it sucks

#

@wooden tendon @slow prism can you please lift the branch protection rules on the repo?

blazing valve
#

Well. No release soon, Techs gonna take all day fixing this mess ๐Ÿ˜„

elder swallow
#

it takes 2 seconds but I don't have the perms to do it

true jacinth
#

It doesn't look like (at least from the web UI) that I can retarget a closed PR against the new branch

#

we would have to re-branch-out port/1.20.5 and reopen, then retarget

elder swallow
#

well it's annoying that they are closed, but it would suck to merge them in the port branch thonk

#

we could have retargeted before merging?

blazing valve
#

Yes apparently

true jacinth
#

Well we can retarget whenever

elder swallow
true jacinth
#

the issue is that I can't move the target while its closed

#

(which might be an oversight on github's part, idk)

misty crow
restive raft
#

hello

elder swallow
#

hi sci

restive raft
#

what seems to be the problem, officers

elder swallow
#

the branch protection rules

#

can you temporarily disable them so I set the branches and tags correctly for the 1.20.5 release?

blazing valve
#

define "correctly"

elder swallow
#

I need to repush the 20.5 tag and also create the 1.20.4 branch

blazing valve
#

very well

true jacinth
#

We also need to remake port/1.20.5 off of 1.20.x so we can unfuck the prs

restive raft
#

to be clear, temporarily disabling our three branch protection rulesets -- deletion/force-push, status checks, and PRs?

elder swallow
#

yes

blazing valve
true jacinth
#

kk, let me go fix the closed prs

fallen igloo
restive raft
#

@elder swallow rules disabled -- go ham

blazing valve
#

Yeah, agreed

restive raft
#

ping me once finished

blazing valve
#

This needs some action

elder swallow
#

thank you good sir

true jacinth
#

oh dear I have to rebase things against 1.20.x

#

screm

#

I think they should apply cleanly

#

but scREM

elder swallow
#

yeah they should apply cleanly, it's just a fast forward merge

restive raft
#

someone write up the concrete list of things that happen that require lifting branch protections, so we can work on making automations and documenting these things for the futureโ„ข๏ธ

elder swallow
#

omg github did a rebase

blazing valve
#

No, you did ๐Ÿ˜„

restive raft
#

also, as a fun side-note: if the 1.20.5 port PR were merged into the default branch, all PRs targetting that PR branch would have been changed to target the default branch

blazing valve
#

Hah, Tech's the grand rebaser

elder swallow
#

that's unexpected...

restive raft
elder swallow
#

now this explains why the tag vanished

#

well ok fuck me

true jacinth
#

Well we're stuck with that change for now

#

is the status of the branch fine beyond the history mess?

blazing valve
#

If no release or action was built, he can in theory forcepush it

elder swallow
#

should I though?

#

it's probably for the best idk

shut wraith
#

Oh god that was a rebase. Updating PRs is gonna suck

blazing valve
#

We had a history, we agreed to not fuck that history up ๐Ÿ˜…

elder swallow
#

ok fine I'll force push

#

fuck me 10 times

restive raft
#

what about stabs instead stabolb

true jacinth
#

You can either un-rebase and do a merge or I have to fix all the prs; though the fix is "clean" in theory its just some manual labor

blazing valve
#

did anything land on maven is my thought... if it didn't, he can probably force push the last tip of port/1.20.5

shut wraith
#

Fix isn't too bad... lemme test on my own PR and see how much is sucks

digital drum
#

tag delete, tag create, tag delete, tag create so far in #neoforge

true jacinth
#

but if we're undoing the rebase i would hold on that

#

since now I have to re-re-rebase the tick events LUL

blazing valve
#

You'll live ๐Ÿ˜›

elder swallow
#

ok I fixed the history

blazing valve
#

But aaaah yes. Learning and improving process from mistakes

#

I am so happy ๐Ÿ˜„

shut wraith
restive raft
#

once it's all patched up and neat, poke me so I can reenable our rulesets again

true jacinth
#

With the history fixed you should be good to just flip the target on the PR and nothing else

elder swallow
#

ok thanks a lot sci

true jacinth
#

I can do that myself

blazing valve
#

@elder swallow you fixed 1.20.x, yes?

elder swallow
#

just give it a few hours in case something else needs fixing

elder swallow
#

1.20.4 is created as well

blazing valve
#

If that is the case, I will force-push that HEAD to port/1.20.5 now to fix the PRs

#

Or rather, I really don't have to, TBH

#

since they have to be retargeted anyway

analog ledge
#

git blame-someone-else

elder swallow
#

meh you can all blame me ๐Ÿ˜„

#

I'll take it

blazing valve
#

Ah I'll do it anyway

shut wraith
#

Erm... my PR is funky now

#

Ah wait

#

Thanks Shadows

true jacinth
#

it should be fixedโ„ข๏ธ

blazing valve
#

916bfcbc5..feee2a226 port/1.20.5 -> port/1.20.5

true jacinth
#

Its just really wonky since port/1.20.5 is now the "broken" history

blazing valve
#

Not anymore

#

Sadly no way to search for PRs that target a branch

#

Oh wait, you can search for the target branch

true jacinth
#

Well we know all the PRs targetting port/1.20.5

#

they're listed nicely in #neoforge bc they all got closed

blazing valve
#

Ah true

true jacinth
#

they should all be fixed and retargetted

#

crisis avertedโ„ข๏ธ

blazing valve
#

We might really wanna consider just starting 1.20.5 earlier next time and not calling stuff port/ or whatever? IDK ๐Ÿ˜„

#

And just avoid the branch Rochade

#

I should clarify, starting a branch named 1.20.5

elder swallow
#

I tried to bypass the branch protection with a rebase-merge, that was the big issue

digital drum
#

Could someone be bothered to fix this? This was a mistake on my end

true jacinth
#

I think port/nextmcversion is fine, the spaghetti is that we had a port/ for each snapshot which now needs to be cleaned up

blazing valve
#

There is just no way for you without disabling anything to actually get the branch as-is moved into place of 1.20.x

elder swallow
#

I think that a standard merge would have worked

#

because it would have been a fast-forward and the tag was there on the port/1.20.5 branch

blazing valve
#

yeah but if we had named it 1.20.5 to begin with, it would just have been a switch in default branch for the rep

shut wraith
blazing valve
#

Ofcourse it would, there is no real "rename"

#

you are pushing stuff around

#

We'd need an action for that

elder swallow
shut wraith
blazing valve
#

Well that's the other question... how do we determine that. Could just be a prop that makes it alphas and pushes it to /snapshots

digital drum
#

release seems to be done

#

Live on the maven too

elder swallow
#

cool

#

then let's get the blog post out too

digital drum
elder swallow
#

already done, see #side-projects

blazing valve
#

Tell me when (or if even lol) you stopped sweating from the grand rebase, Tech ๐Ÿ˜„

#

I gotta bounce something off of ya for FML

restive raft
#

it's a rite of passage for anyone who does the first push for an MC release to the main repo, that one messes something up (and either claws it back or lives with it) kek

blazing valve
#

Just glad it wasn't me lol

digital drum
#

what was this even for ^

elder swallow
#

however give me a break anyway ๐Ÿ˜„

restive raft
#

thankfully I'm still awake at this hour kek

elder swallow
#

you're the only org owner I didn't ping lol

fallen igloo
#

I removed most of the deprecated for removal methods that had a since < 1.20.5 (the only 1.20.4 I left was onArmorTick)

restive raft
digital drum
#

tech, whens the blog post out?

restive raft
teal epoch
#

gg on the release guys

restive raft
#

now, the churn begins

elder swallow
digital drum
#

srryy

restive raft
#

as all the mod developers start hopping on the new release train, and we start seeing bug reports

digital drum
#

can someone from here merge the parchment mappings for 20.5?

restive raft
#

that PR will take a smol while

#

just a wee bit

elder swallow
#

someone should update the MDK for neoforge.mods.toml ASAP ๐Ÿ˜„

misty crow
digital drum
#

nvm take that back

blazing valve
#

Locators can't specify if a candidate is actually high or low confidence

fallen igloo
elder swallow
#

one day I'll go live in a country called Theory; because in Theory everything is always ready right on time

restive raft
dense mica
#

just become a wizard, a wizard is never late ^.-

elder swallow
#

nor early for that matter

blazing valve
#

Okay, the PacketDistributor changes make it actually nice to use

#

time to ditch my own wrapper

fallen igloo
fallen nymph
restive raft
#

IT BEGINS

fallen nymph
elder swallow
vale holly
#

CraftPresence is also ready, except for unimined likely being broken since it threw checksum errors

blazing valve
#

I am ready to go for 1.20.5 with AE2, but can't release due to the damn shadow plugin being borked for J21

#

I might try to bump asm manually

elder swallow
#

onArmorTick is debatable - ask shadows ๐Ÿ˜„

fallen nymph
#

I'm not hand uploading jars again... NOPERS

#

POGGIES IT WORKED

fallen nymph
#

Thonk What do I port first

fallen igloo
summer furnace
#

something small that makes use of itemstack components

#

for me, that's Packing Tape :P

#

we should probably move the offtopic away from here though

#

this is not #general

restive raft
#

at what point should we close down this thread and move dev. discussion to #neoforge-github

elder swallow
#

do it now it's a good time

summer furnace
#

I would say at the point the beta became available

#

which is some minutes ago

#

to be reopened if a snapshot appears

blazing valve
#

It was a fun time ๐Ÿ˜„

restive raft
#

aight folks, it's time to move discussions on 1.20.5 to #neoforge-github now that 20.5.0-beta is out

if this thread needs reopening, poke one of our Team Members


kind sable
#

(One day I will be the one makign the thread for the update... XD)

solid lake
#

I'm sorry is 1.20.6 releasing for literally 1-3 bugs?

last briar
#

Zam big content update

#

Just like.5

solid lake
#

ok no .5 was actually big technical wise

#

they added all the breaking changes from 1.21

spiral radish
clear bane
plucky brook
#

"a few critical issues", lists one issue

clear bane
#

I love breaking releases harold

spiral radish
wild pine
#

thats a nice little utility thats been added to BlockEntity

 @Nullable
    public static Component parseCustomNameSafe(String $$0, HolderLookup.Provider $$1) {
        try {
            return Component.Serializer.fromJson($$0, $$1);
        } catch (Exception var3) {
            LOGGER.warn("Failed to parse custom name from string '{}', discarding", $$0, var3);
            return null;
        }
    }
plucky brook
spiral radish
#

CustomNames for Containers, now call a parseCustomNameSafe quacksnipe

plucky brook
spiral radish
#

They also made a change to CustomData to add rollback on failure

boreal flint
#

psh this channel is old news

#

1.20.6 is where it's at

spiral radish
#

1.20.5/6 Snapshots

boreal flint
#

crisis averted

magic pivot
#

Literally the method Apex mentioned is the only real change

blazing valve
#

okay the 1.20.5 loading screen in the launcher rocks

summer furnace
#

it is nice that the launcher opens quickly and shows a loading animation

blazing valve
#

I just love the visual ๐Ÿ˜„

last briar
#

a fox should be chasing it

naive hound
#

I noticed with Neo 1.20.5 when you break clay pots, you get the whole pot, but when i play pure vanilla i breaks into clay bricks and sherds (if present). Before I make a bug report, is this intended?

restive raft
#

that sounds unintended

elder swallow
#

Behavior changes are usually not intended ๐Ÿ˜„

naive hound
#

well yes, lol. I was just trying to figure out if it was a Neo bug or a vanilla bug so i put the report in the correct place.

fallen igloo
#

did you use a tool or your hand

naive hound
#

sword in all cases

#

I was testing trial chambers in both versions

fallen igloo
#

hmm could be a tool action patch

naive hound
#

let me switch back to neo and see if i get different behavior with diffent tools

#

okay, hands, pickaxe, another pot, and sword all break the pots instantly and drop the whole pot

#

what's another block that breaks into things instead of the whole thing?

#

bonus if it varies by tool

#

Things tried that dropped the same thing every time (not sure if they are supposed to)

  • amethyst clusters (always dropped amethyst shards)
  • campfires (always dropped charcoal)
    I broke each with itself, bare hand, sword, and pickaxe (and axe for the campfire)
fallen igloo
#

campfire and amethyst cluster is silktouch so that is expected

magic sierra
#

It's weird, because the behavior when you break a cobweb with shears is correct.

foggy steeple
#

This testing in game doesnโ€™t really mean much since the loot table is what should say exactly what is intended. (Unless thereโ€™s special handling in the block itself for its drops)

#

If pot is cracked, drops sherds. If pot is not cracked, drops pot

inner veldt
naive hound
#

so, sounds like that tag is emptied in NF because there was no case in my NF run where the pot dropped anything other than itself

open kindle
summer furnace
#

thinkies there have been no more critical issues since rc1... anyone else thinks 1.20.6 is likely to release today?

fallen igloo
#

rc2 today release tomorrow

summer furnace
#

you think there's more bugs?

fallen igloo
#

they fixed something today so they won't directly release that

jagged yoke
#

Those fixes are for a future update, not hotfix

fallen igloo
#

all of the fixes since rc1? if so we are gonna get the release today and maybe first 1.21 snapshot on wednesday or next week

summer furnace
#

yeah the only thing marked "Future Hotfix" or "1.20.6" or similar, is the one that was already in rc1

#

the rest are "Future Update" instead

elder swallow
#

A hotfix seems likely today but we'll see

digital drum
#

1.20,6 IS OUTTTTTT

#

@restive raft

prisma locust
#

one ping is enough

digital drum
#

srry srry

restive raft
plucky brook
#

So rc1 but renamed?

clear bane
#

Where release alarm thinkies

digital drum
restive raft
#

shush /jk

clear bane
#

No

median wasp
plucky brook
#

is it?

clear bane
#

No?
It's always a new jar

median wasp
#

Yes

clear bane
#

Not a rename

median wasp
#

It's always a new jar, but it's just a rename

#

Pretty much just updates to stuff like SharedConstants and version.json

#

So just a rename

summer furnace
#

they always do a new build

#

with different flags

#

but same code

digital drum
#

is someone kick-starting neoform?

median wasp
#

Yeah, but no code changes

restive raft
#

shartte did it

#

(kick-starting neoform)

blazing valve
#

*retrying.

A failure occurred while executing de.undercouch.gradle.tasks.download.internal.DefaultWorkerExecutorHelper$DefaultWorkAction
java.net.SocketException: Connection reset

#

Assuming downloadServer hit an intermittent failure

solid lake
vale holly
solid lake
#

then why was it so critical

restive raft
#

you mean the Mojang Priority?

#

Mojang prioritizes two things quite a lot: ensuring nothing crashes, and ensuring no level data is lost

blazing valve
#

Urgh it broke mid update

vale holly
magic pivot
#

No changes needed to the primer

median wasp
#

Yeah there were actually like three fixes in 1.20.6

#

Only one of them was actually on Mojira though

blazing valve
#

Running release workflow

#

Done

#

Doing Kits

digital drum
#

is a PR needed for neo update to 20.6?

#

or should someone make a new branch

blazing valve
#

I'll just go through the motions

digital drum
#

ok

blazing valve
#

No one will maintain 1.20.5, let's be real

digital drum
#

true

#

I will go poke the gander devs

elder swallow
#

A maintainer will do the update, please don't send a PR

kind sable
#

Awesome so my freshly made mod is already on an abandoned version notlikebolb /s

blazing valve
#

Vintage

reef parcel
#

Story? thinkies

blazing valve
#

Now to figure out how to get that onto a new 20.6 tag ๐Ÿ˜„

thick jay
#

oh, this is the snapshot thread
wasted five minutes poking around the thread list for the other channels :p

wild pine
#

safe to say first!(?) lol quickest update ever blobxd

stiff galleon
#

thinkies we're still using the MCP banner

lean anchor
#

Crazy ask: why is Minecraft even in this list anymore? I feel like it's super outdated (MCP is dead, right?) and would be better off hidden

#

Since.. you can see the version on the main menu

#

And ofc MC is loaded. You're in the menu.

prisma locust
#

historically minecraft is useful to have as a mod for dependency purposes, but arguably the Neo version conveys the same info nowadays

summer furnace
#

we have a mod container for minecraft, no?

#

so that we can have dependency on it in mods.toml

lean anchor
#

I'm saying keep the mod container, but don't show it in UI

summer furnace
#

but I think it's nice to have there, because so many modpacks like to replace branding

lean anchor
#

But.. you know which MC version you're playing

#

Even in a modpack

#

The only real useful info here is the credits/authors, but that's outdated/misleading

blazing valve
#

I stripped down that info in the FML locator PR

#

And personally I'd rather have it embedded in NeoForm itself, but... later

median wasp
#

I think Minecraft should be in the list, but definitely shouldn't say MCP

#

I think it should just say Minecraft

blazing valve
#

I hope that link deep-links to the file... Just check out MinecraftModInfo.java in that PR for the new info

fallen igloo
#

I would list all mojangsters here in this discord as credits

#

most importantly gegy, boq, fry

blazing valve
#

There's an explicit Mojang credits screen that also includes all the people who work on it that we don't immediately know

#

If anything, we should special case this and link to it

stiff galleon
#

${file.mojang_credits}

blazing valve
#

It's really all a bit pointless

#

People playing Minecraft know who made Minecraft

#

Personally, I'd not show minecraft in the mods list at all

#

Previously it credited the people who actually worked on MCP/Neoform in that entry, by the way. Not the developers of Minecraft itself

shut wraith
#

I think the weird bit is the MCP banner combined with the minecraft info. Especially as, well, vineflower is not MCP technology. And I'm not sure the deobfuscation stuff used any more is either, to speak of?

thick jay
#

neoforM deComPiler ๐Ÿ‘

stiff galleon
#

mini-canid project

thick jay
#

semi-relatedly, it seems weird that Neo doesn't automatically make a basic configuration GUI for mods, or at least provide functionality to enable one
unless it does and I missed that option :p

stiff galleon
#

the story there is

slow prism
stiff galleon
#

up through 1.12.2, there was a basic configuration gui api for forge

elder swallow
#

alright can someone lock this thread now? ๐Ÿ˜›

stiff galleon
#

and after the 1.13 rewrite nobody wanted to rewrite the gui stuff

thick jay