Implement palette generation and investigate palette changes between
versions. Turns out 1.13- has legacy IDs, 1.14 switches to entity
palette and 1.15 refreshes the whole palette just to insert Bee.
Also refactor entity handling code here and there.
Special thanks to @TheSnoozer and @vkorn for their help!
- Implement global block Palette mechanism
- Add class generation tool from blocks.json
- Regenerate Material.cs and redefine solid blocks
- Migrate previous Material.cs into Palette112
- Generate Palette113 from MC 1.13.2 blocks.json
- Improve Block class to handle up to 65535 block states
- Adjust terrain parsing, small fixes in packets
- Remove unused snapshot-related protocol cases
Solves #599
Had 2 versions of the ConsoleIO class, one here inc MCC (the original),
and another one in SharpTools, more generic, for use in other projects.
Both had diverged, this commit imports changes from the other repository.
This should not have any particular effect on MCC, besides adding more
documentation and settings in the source code of the class.
If any issue arises, as always, please report it :)
- Change SessionCache.db to SessionCache.ini
Allows users to view and edit session cache
- Automatically import previous SessionCache.db
But this file is only read, not updated
- Automatically import Minecraft session
If you are logged in in Minecraft, no need to login again
This is only done if Disk session cache is enabled
See #232 and #430 for more information
- Disk session cache becomes default
The feature is no longer experimental and now recommended
as the Mojang login servers now have a severe rate limit
Previous default was Memory session cache, not saved to disk
When the Mojang API responds with "Invalid username or password", this may
also be caused by IP blacklisting (too many logins or using a proxy/vps)
See #422#415#406#394#366#359#353#279#271#232 ...
Unicode characters are becoming quite common within minecraft servers (especially the large ones) nowadays. As of now MCC creates a System beep every single time one of these characters are processed by ConsoleIO.
I'm no expert in C#, so I'm unsure if ANSI is required for anything, but I've been perfectly find with UTF-8 so far.
This adds support for Minecraft 1.12's protocol, and also abstracts out outgoing packet IDs. I include packet IDs for some 1.12 snapshots, even though snapshot versions aren't supported, because I already had written the code (though in a far more messy variant) for my MC-106551 test script; while they won't be used right now, they may be useful if snapshots are ever formally supported in the future.
- Add 1.10.1 and 1.10.2 in supported version list
- Store both player name and player display names
- List command will sort players by player name
- List command will now display by display name
- Ability to use /list raw to display by real name
Suggestion by Johngreen123
- Memory session cache will be used by default
- Verbose messages are now hidden by default
- Improve ping procedure's Forge handling
- Fix 1.8.9 and 1.9.0 in mcversion setting
- SessionCache.cs: fix LF into CRLF
- Use 1.9 translations instead of 1.8
- Retrieve player location from the server
- Send back player location from the server
- Requires that a specific setting is enabled
- Should allow items to be picked up by the player
- May also trigger some anti chead plugins
When no mods are installed, FML client/server will skip mod negociation
phase and act as a vanilla client/server. MCC should do the same else
login will not work properly. See #100 : Forge Support