Commit graph

189 commits

Author SHA1 Message Date
ReinforceZwei
9a9245f193
Update version to 1.18 (#1836) 2021-12-02 21:07:57 +08:00
ORelio
8de7618027 Update README and URLs
Moving to a GitHub organization!
2021-10-10 20:56:39 +02:00
ReinforceZwei
029762e0a9
Update to 1.17.1 (#1672) 2021-07-08 14:10:54 +08:00
alex-huff
8bd221c248
Add support for 1.17 (#1630)
* 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>
2021-06-11 21:45:33 +08:00
ORelio
172e25fef0 Parse settings from the command line (#1578)
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
2021-05-20 21:40:57 +02:00
ORelio
9af9fe78ee Realms: Allow direct server ID, handle invalid ID (#1533) 2021-05-20 19:09:41 +02:00
ReinforceZwei
0400ad89ac
Add ability to perform clean-up code before quitting (#1561)
* Add ability to perform clean-up code before quitting
* Move to WinAPI namespace
2021-05-01 16:56:31 +02:00
LesterLian
621e5e2200
Implement Realms support (#1533)
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>
2021-04-12 19:46:33 +08:00
ReinforceZwei
71eb1dca17
Implement browser sign-in method (#1447)
* Implement browser sign-in method

* Handle empty link

* Improve

* Handle user cancel login
2021-02-06 09:29:14 +08:00
ReinforceZwei
0cbe543c30
Update to MC version 1.16.5 (#1417)
* Update to MC version 1.16.5

* Remove comments about protocol number
2021-01-16 21:33:40 +08:00
ReinforceZwei
c04c597aba
Implement Microsoft account login (#1397)
* 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>
2021-01-06 21:14:51 +01:00
DanisDGK
bea5161d6f
Add support for 1.16.4 (#1311) 2020-11-03 19:04:34 +01:00
ORelio
d3f150ba12 Allow force-enabling Forge support for 1.13+ (#1184)
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.
2020-10-18 13:09:49 +02:00
ReinforceZwei
2017d5d652
Add support of language files (#1273)
* 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
2020-10-17 13:41:31 +02:00
ReinforceZwei
9bfb2bf6c7 Update supported version to 1.16.3
Nothing got changed in 1.16.3
2020-09-11 23:00:48 +02:00
ReinforceZwei
6bbb7236e3
Add support for Minecraft 1.16.2 (#1214)
* 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>
2020-08-17 17:08:50 +02:00
ORelio
b4d99eb8a3 Add color test in debug mode (#1187) 2020-08-09 18:38:24 +02:00
Grant Emsley
9370064072
Return exit codes for specific failures when in non-interactive mode (#1120) 2020-07-10 19:55:21 +02:00
Bas950
d06f14d055 Added 1.16(.1) support 2020-06-27 16:48:46 +02:00
ORelio
4cc29a6ee6 Adjust dig block API
Attempt to automate dig start and dig complete (#1077)
2020-06-20 21:30:26 +02:00
ORelio
2add4030f4 Rename McTcpClient to McClient for clarity
+ Fix compile error in #1071
2020-06-20 15:01:17 +02:00
ORelio
d7b7ba85a4 Player head icon fixes (#1049) 2020-06-09 23:31:37 +02:00
ORelio
b2bcfca8ec Allow Forge detection with manual MC version (#1004) 2020-05-24 19:53:31 +02:00
ORelio
bd85c46663 Implement entity types (#1001)
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.
2020-05-24 18:21:22 +02:00
5tanly
a018304f99
Strip Minecraft Color Codes (§) in BasicIO-NoColor mode (#995)
Strip Minecraft color codes and formatting (§) if in BasicIO mode by using BasicIO-NoColor.
2020-05-14 19:36:56 +02:00
ORelio
fe020c74c7 Catch exceptions from ChatBots for new API events 2020-04-02 23:31:00 +02:00
ORelio
00112e4c6a Give access to AutoRespond matches inside scripts
Available as %match_u%, %match_1% and so on
See #770 for initial suggestion
See #772 for in-progress implementation
2020-03-27 21:39:06 +01:00
rvankammen
921ec5aaf5 Added the 1.15.2 protocol 2020-02-09 14:27:26 +01:00
ORelio
aba2ec79d1 Add 1.15.1 (1/2) 2019-12-25 11:11:55 +01:00
ORelio
c6f00ce686 Add support for Minecraft 1.15
See #834
2019-12-14 14:22:24 +01:00
0Jumpero
e50ee940f2 Add 1.14.4 support 2019-07-20 20:40:57 +02:00
Sheldon Rupp
81261c96f2 Add 1.14.3 support 2019-07-16 17:12:42 +02:00
xdavidwu
49e1e76538 Add 1.14.2 support
Yet another version bump for Minecraft bugfix release.
Chat support tested and worked.
2019-05-30 11:25:45 +02:00
xdavidwu
f99fb5886b 1.14.1 support 2019-05-14 19:53:29 +02:00
ORelio
295d6546b8 MC 1.14 Basic/Chat support (#703)
Implement MC 1.14 baseline protocol support
Terrain and movements not supported yet for 1.14
2019-04-29 00:26:32 +02:00
ORelio
5f83ff0958 Fix dev build numbering, add update notes
Add newline in AssemblyInfo to fix dev build number in exe (#456)
Add remarks on how to implement newer MC versions (from #145, #599)
2019-04-28 15:58:10 +02:00
ORelio
c04b17cabc Implement Terrain and Movements for MC 1.13
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
2019-04-25 22:19:50 +02:00
LinTx
950fc42118 general 1.13.2 support(v404 protocol) 2018-11-07 22:25:48 +01:00
TheSnoozer
32667f8d5d general 1.13.1 support (v401 protocol) - there doesn't seem to be any packet changes since 1.13 (v393) 2018-10-07 08:27:31 +02:00
TheSnoozer
aad3d8b2ef https://github.com/ORelio/Minecraft-Console-Client/issues/525: general 1.13 support (v393 protocol). Note that terrainandmovements might cause some issues 2018-10-07 08:27:31 +02:00
ORelio
ecf0114f62 ConsoleIO: Sync with SharpTools
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 :)
2018-05-28 22:09:50 +02:00
ORelio
b5c8bf683f Add build info inside MCC executable
Should help when submitting bug reports. See #456.
2018-05-28 20:54:58 +02:00
ORelio
143fcf7155 Move SessionToken.cs 2018-05-25 20:27:31 +02:00
ORelio
a75710b501 Fix online-mode server login
Fix session checking on server login as described in issue #451
2018-05-23 23:08:17 +02:00
ORelio
18fd24d2d5 Improve session caching
- 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
2018-05-03 23:51:56 +02:00
ORelio
a37e340613 Include blacklisted IP in failed login reasons
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 ...
2018-04-18 22:38:36 +02:00
ORelio
26716512c1 Fix Windows version detection for UTF-8 console
Built-in Environment.OSVersion does not work on Win10.
2018-02-11 15:43:58 +01:00
ORelio
6e1ee784d8 Fix encoding for Windows 7/8
Old CMD.exe does not handle UTF-8,
so UTF-8 is enabled only on Windows 10 and Mono.
2018-02-09 21:42:46 +01:00
Pokechu22
b1a66791a1 Add support for 1.12.2
While there are protocol changes to the keep alive packet, the way MCC implements it should mean that the changes do not affect us.
2017-09-19 08:06:22 +02:00
Barnehhh
5edb8f9024 Moved encoding out of the basicIO if statement. 2017-09-11 08:51:34 +02:00