* 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>
Add documentation to make the invoke mechanism easier to understand
Make it clear in documentation that code is invoked synchronously
Use Action and Func<T> for minimizing the amount of code to write
Use type parameter T to automatically adjust return value type
Throw exceptions on the calling thread, not the main thread
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>
* First implementation
* Improve chunk reading performance
* Fix indentation
* Remove debug information
* Update MultiBlockChange packet
* Move skip varint to a method
* Fix crash when not using block palette
* Fix DataTypes.cs not compiling on .NET 4.0
Binary (0b) values not handled so converted to Hexadecimal (0x)
* Use the 1.16 chunk parsing code for 1.15 too
Document the differences in padding and factor the code
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
* adds villager trading support
Adds handler for tradeList packet and selectTrade packet
* added extra line at end
* removed tab; removed size and hasSecondItem
removed a mistakenly added tab instead of 4 spaces. SelectTrade was already added in 1.13. Removed unnecessary size and hasSecondItem from trade dataType.
* Added VillagerInfo class and capitalized vars in Trade class
* Update VillagerInfo.cs
* Small formatting/naming adjustments
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