* Microsoft Sign-in: Migrate to our own client Id
- Drop support of "mcc" sign-in method
- Add nuget packages for decoding JWT
* Remove JWT nuget package
* Remove client secret
It is not needed after changing application type in Azure
* Change token validation method to expiration time
* Revert changes of dropping mcc sign-in method
* Add email pre-fill for browser sign-in
* fix caps
* implement 1.17 without terrain
* properly switch order of Tracking Position and Locked for 1.17
* Update MinecraftClient/Protocol/Handlers/PacketTypesIn.cs
Co-authored-by: ReinforceZwei <39955851+ReinforceZwei@users.noreply.github.com>
Co-authored-by: ReinforceZwei <39955851+ReinforceZwei@users.noreply.github.com>
Allow specifying any setting as --setting=value
Sections other than main: --section.setting=value
Previous positional arguments are still supported
Update user manual with quick usage and examples
Resolve#51
* Realms: update to new API; fix HTTP Get
* Realms: suggested changes
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
* Realms: suggested changes
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
* Add negative number support for JSON parser
* Nice print realms worlds result
* Option to join Realms world with world ID
* Suggested changes
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
* Failure handle
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
* world id paired with index
* fix text
* Clean up the code a bit
* Add setting for displaying Realms worlds
* Rename Realms worlds setting
* Put messages into translation file
Co-authored-by: Zizhen Lian <zizhlian@umd.edu>
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
Co-authored-by: ReinforceZwei <39955851+ReinforceZwei@users.noreply.github.com>
* Implement Microsoft account login
* Create proxied web request class
* Whole bunch of code that doesn't work
* I finally FIXED IT
It took me 2 hours to resolve the problem
* Fill the missed method summary
* Remove some unused code
* Revert http version
* Remove JSON parsing bug workaround
Not needed anymore as per e06438b582
* Remove comment asking about clientID
Client ID is used for session token refreshes. Random UUID without hyphens
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
Skip login step and join even when forge info is missing in server info.
However, this only works for 1.13+. Server info retrieval is required
for enabling Forge support on older Minecraft versions.
* Basic support of language file
Only mapped main part of MCC.
* Translations function imporve
* Change translation file naming
* Fix default translation file naming
* Complete translation file mapping for main part
Command and ChatBot not done yet
* Complete translation mapping for commands
Except Entitycmd
* Complete translation mapping for ChatBots
* Add new method for replacing translation key
Just for Entitycmd. Be proud of yourself. We have a convenient method now.
* Complete all translation mapping
* Add default config and translation file to resource
* Remove untranslatable messages from default translation file
* Implement MC version 1.16.2 basic support
All packets ID update done
Tested in 1.16.2 craftbukkit server
* Implement MC 1.16.2 entity handling
New EntityPalette
* Add back protocol version checking for entity handling
Was removed during testing and forgot to add it back
* Implement inventory handling for MC 1.16+
Item ID got changed in 1.16+ so a palette is needed.
* Fix ChangeSlot command
What a joke
* Handle 1.16 new entity properties name
Convert new naming style to old style
* Revert "Handle 1.16 new entity properties name"
This reverts commit 52c7d29062.
* Update AutoAttack to use the new entity properties key
* Fix item type to ID conversion
* Sort item types by name
* Remove ZombiePigmanSpawnEgg
User ZombifiedPiglinSpawnEgg instead (new name for same item)
* Add missing 1.16.2 version strings
* Remove old ItemTypeGenerator
* Sort entity types by name
* Palette loading, instructions, NotImplemented err
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
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