-
Notifications
You must be signed in to change notification settings - Fork 444
1.20.6 + 1.21 + 1.21.1 - Work in progress #2820
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: pre-release
Are you sure you want to change the base?
Conversation
Fix session cache serializer failure
|
Is their an ETA on this ? |
Nope, I most likely won't be able to finish this any time soon, I work full time while attending an university. |
|
Really appreciate all the work you have done on the MCC, I have used it for almost a year now. Is there any chance you could merge it for 1.21+ and disable inventory as you mentioned? |
|
@milutinke , is it possible to get 1.21.x (preferrably 1.21.7) support by just disable inventory? I second @jpcinqmars request, as something is better than nothing. i hope all is well! |
|
Is there any chance this PR will be completed? |
Heeeey, any news on this buddy? Dying for 1.21.4 :( |
|
@milutinke can you instead merge this on a new branch just so we can consolidate all changes made from both our ends? I already have a repo that merges both our changes so I can continue working on it, although I want to know if you still want to merge this PR on your end. |
Sure, I've created a I've finished my uni year, so I should have more time to work on the MCC again. |
|
Do you have a rough outline on how you implement new versions (new components, new ents/blocks etc.) so we can get 1.21.2+ up and running? I think archive.org has wiki.vg archived, so we can still use that for reference. To be honest with you, I'm still racking my brain on how to implement terminal support that doesn't break all the time 😵💫 (couldn't find libraries that can handle input and output at the same time, not to mention popover support for autocomplete) Was thinking of separating the entire application from the ui layer (mcc will become a library, essentially), and we just have an interface to stdin/stdout. This will make autocomplete a little harder to implement, but will make our life easier in the long run (this will also improve support for docker/ptero since it becomes a first-class citizen essentially) I've also been thinking on how to better resolve issues, maybe we can add a packet comparison with vanilla (matches against expected response) or by unit testing? Would like to have more input on this. |
|
For the inventory crash, I've used SniffCraft for 1.21 to check the root cause. Seems like we're crafting a broken packet as per SniffCraft: A container click packet looks like this on a left click: and after another left click to another slot: This moves the item from slot 22 to slot 22 (clicked twice on the same slot). This is certainly useful information, but it's something that I don't know how to fix myself as I don't know how the system is implemented. I vaguely remember you having notes on implementation somewhere but I couldn't find it. SniffCraft also revealed more information for us, as we seem to be sending way too many MovePlayerPosition when idle, to the point where it seems like it's spamming the server (we seem to send it per tick, as opposed to the vanilla client that sends it at a rate of about 1 per second when idle.) There are also palette issues on 1.21, as a I've been thinking about this for a while, but how about we drop the entire item id system in exchange for namespaces? Compatibility layers can be added for converting pre-flattening ids. Older versions adapt to the newer versions, while the latest version is always the ground truth for data. This would mean a little more work as we'll have to coerce all the old stuff into modern equivalents, but would save us a lot of headaches with compatibility, since we won't need to deal with palettes anymore. |
Hello, sorry for the late reply, I had some health issues. The rough outline would be:
If I can't understand or get some changes from Wiki, I check out other implementations such as |
Thanks for the info, I'll try to fix this issue and merge it. |
|
Personally, I agree about starting from scratch due to the monolithic nature of the code, but I don't know how that would run against the other contributors on the project. Can't have technical debt if you don't have code to begin with 😉 |
|
I agree we should start a new project from ground and deprecate old mcc. We have MCCTeam organization it's easy to start another repository and still under MCC name. But unfortunately I might not have enough free time and motivation to continue contribute on a Minecraft related project, and I don't play Minecraft now. |
Heavy work in progress.
The current state:
✅ 1.20.6
✅ 1.21 (in works)
❌ Full Inventory support (Work in progress)