Closed WinX64 closed 1 year ago
Yeah, when I was writing it, I didn't put much effort in finding a non-convoluted way to make this work with versions prior to the codebase merge, but it can be done, one way or another. More importantly, I couldn't get a hold of any of the snapshots from 2012 (only 13w+), so they were pretty much left untested. Where could I find them?
You can find the snapshots at https://web.archive.org/web/*/assets.minecraft.net/* (the filter results field helps). Note that 12w18a and 12w19a are minecraft.zip instead of minecraft.jar.
Are you planning on updating this to make use of the additional information from the version topping you added in #46?
I will do that soon. I was also wondering if we should bother handling it if the user uses the server .jar, or just fail silently. It seems a bit pointless, and would just increase the amount of code. What do you think?
I don't think there are any versions with plugin channels that could only be found in the server jar. Though some of the debug ones might only be found in the client jar (e.g. MC|DebugPath
or stuff like that), I think (but that's more due to them only being server -> client and the server code that sends them not being present in actual server builds).
If it's a lot of extra work, then I'd be fine with throwing an exception in that case (which would among other things disable any toppings that depend on plugin channels, though there probably won't be any of those). Silently ignoring it seems like the wrong choice to me.
That should be everything. I also added a fix for a previous change that I made on the version topping (that ended up breaking it by accident for some versions, sorry for not thoroughly testing it).
Which versions were broken by it?
The same versions that the commit claimed to fix (12w18a through 13w41a), all those that used the "Outdated server!" disconnect message. Note that in my previous commit, on the if branch handling this case, I never set the protocol variable. So in the end, we got the id/name, but lost the protocol.
Adds a topping for plugin channels. Even though they rarely change, it tends to go unnoticed when they do.