- Add Minecraft vanilla settings from Settings screen
- These settings are sent to server when joining
- Allows to customize skin layers shown to other players
- Most other settings are ignored by servers
- Update language file from 1.9 to 1.10 version
- Minor aesthetic changes in INI file comments
Suggestion by TNT-UP in issue #161 and Splodger1 in MC Forum.
- 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
Fixes#165. Reduced debug info was added in 1.8, and isn't found in 1.7. Since it isn't there in 1.7, the client would crash when it attempts to read it on the join game packet.
The nether doesn't send skylight, so we need to ignore skylight in the nether for it to work. However, that means that dimensions need to be tracked, so the respawn packet is now also tracked (and the forge dimension override packet)
- 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
The first bug is that the list isn't cleared in some cases, meaning new packets get data from the previous packet if it isn't read fully. Most commonly, this happens with a plugin channel message. The second bug happens because lists don't throw IndexOutOfRangeExceptions, but instead throw ArgumentOutOfRangeExceptions. This caused the catch for ignoring message types to not occur, instead causing the client to crash. This only happens in 1.7.10, where the message type is not included.
Most likely, these changes will fix the bugs seen in #114 and #117, although they may be caused by other bugs.
Chatbots may find it useful to send messages over plugin channels. This allows REGISTERing, UNREGISTERing, and sending over plugin channels, with built-in checking if the server also registered the channel (which can be disabled by the bot if needed). Unused channels are UNREGISTERed when a bot is disabled.
I ocasionally see untranslated messages; this should resolve all of them.
The changes to Settings.cs, the core changes, just update the index file used and the normal hash. The changes in ChatParser.cs primarilly fix the name: 1.7.4 used 'lang/en-GB.lang' but 1.7.10 and 1.8 use 'minecraft/lang/en-GB.lang' and 'realms/lang/en-GB.lang' (and realms comes first), meaning that the wrong language file is selected. The name is updated to make sure the right file is used. I also corrected the indentation in that block.
- Determine if we can move to the specified direction
- Add moving ability to the specified direction
- Add /move command for triggering moves
- Add move decomp. into steps (more natural)
- Add pathfinding routines (still WIP)
- SO YES YOU CAN NOW WALK USING MCC!!!
- Optimize readNextUShortsLittleEndian network reading method
- Various coordinate computation issues, negative chunk offsets
- Properly parse negative coordinates for block change events
- Properly reach ground if less than 1 block over the ground
- World is now properly parsed and stored from chunk data
- Block changes are also handled and world updated accordingly
- Added ground checking, the player will move down to reach the ground
- Performance tweaking in Protocol18, using lists instead of arrays
- Fix player look not properly skipped causing invalid location after
teleport
- 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
More percisely, use varshorts for the length of the 3F packet,
as forge makes it longer. Only really matters if a bazillion
mods are installed, which they are with FTB.
This includes making sure plugin channels have their packet.
Also, it fixes a mistake in #92, where brand info doesn't send
length in 1.7.10 (same channel issue). Finally, there's only 1
registry sent to the client in 1.7.10.
Implement Game Join event and send Brand Info only when server
acknowledged game join, as ZizzyDizzyMC did before, else server may
generate an invalid packet error because it was still in "login" mode
and not in "playing" mode. Fix second issue in #95
Brand Information tells the server what client is being used to connect
to the server, possible values are the following:
- none (do not tell anything)
- vanilla (tells that you are using MC vanilla)
- mcc (tell that you are using MCC + version)
This will usually not do anything unless plugins developers use this
information for developing some MCC interoperability eg more chat
interactions instead of using GUIs. This could also be used to block
third party clients, that's why brand information can be disabled or
changed to vanilla.
sendbrandinfo=true|false was added so we can optionally send client
info. Enabled by default.
Added sendbrandinfo into auto-generated ini file.
Edited Protocol18.cs to reflect this with an "if" statement before
SendBrandInfo() is called upon.
Fixed minor mistake of not adding chatbotmessages into Parsemode.
Parsemode.Default was being used.
Some server requires that players install a resource pack, and will kick
them if they doesn't. With this new feature MCC will automatically respond
"successfully loaded" for every "resource pack send" packet it receives.
Suggested by Yoann166 in issue #91
Vanilla minecraft encryption can be unofficially bypassed on pre-1.7
minecraft when connecting to offline-mode servers (now it IS officially
bypassed in offline mode in 1.7+), but BungeeCord 1.5.2 requires
encryption even in offline-mode, so enable encryption even in
offline-mode. Bug report by xp9kus.
- Now scripts can also be written in C#
- C# scripts can access ChatBot API
- Add more methods in ChatBot API
- Add an example of C# script file
- Coding style fixes: method names ucfirst