Minecraft 1.14 is now fully supported.
- Implement NBT parsing to skip NBT field in chunk data
- Update lighting data format in Chunk Data parsing
- Move Chunk Data parsing into Protocol18Terrain.cs
- Improve PaletteGenerator to greatly reduce palette files sizes
- Re-Generate Palette113.cs to reduce its size (378 Kib -> 50 Kib)
- Generate Palette114.cs (57 Kib instead of 516 Kib with prev format)
- Update Material.cs and MaterialExtensions.cs for new block types
- Protocol18: Handles Vanilla packets
- Protocol18Forge: Handles Forge packets
- DataTypes: Handles packet field encoding/decoding
- SocketWrapper: Handles encryption and basic R/W operations
This commit should not change anything for end users, only devs.
See also #704 for discussions about this.
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
- Add DnDns library for performing DNS queries
- Add query method for SRV record
- Resolve Minecraft services
This allows resolving actual server addresses for
servers using SRV records on their domain names
SRV records are basically DNS redirection eg:
myserver.net -> srv1.myserver.net:12345
Should solve #186 reported by sammyvsparks and many others.
- Tab display names should hold display name but...
- Server sends <UUID, name, null> x Player count
- TabListPlus sends <SlotID, ???tab#01, SlotText> x Slot Count
- So we don't have player display names, only worthless slots
- So the whole feature was useless, reverting to name only.
- 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
- 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!!!
Taken from Bukkit's Material class, with credits.
Allows to know types and properties of blocks.
+ Use database for "is solid" checks
+ Add "can harm players" method
+ Faster movements, falling seems natural now
+ Shorter error message when ping failed
- 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
Move handling code in a separate file
Add caching ability for low-power devices (rpi..)
Use a distinct API with MCC.MethodName()
Stop script execution only on specific API calls
This bot allows users to add a bot that can detect and respond to
certain text.
The bot can be enabled/disabled via the ini file. (disabled by default)
The bot uses 2 files to let the user set what to pickup and what to
respond.
Mono Framework does not handle CFB-8 AES encryption mode. So now MCC
will now use borrowed code from the BouncyCastle project for handling
AES when running on Mono framework, instead of using a dirty workaround
to try getting Mono encryption working. Regular .NET framework
encryption module will still be used when not running under Mono (eg on
Windows or using Wine)
Should hopefully fix all the issues encountered on Mono including #41
and finally achieve full compatibility of MCC with Mac and Linux.
Lots of changes in 1.8 protocol so a new protocol handler was necessary
Packet (de)compression done with dotNetZip Zlib compression engine
1.4.6-1.7.10 support is still there thanks to app refactoring
- log <text> will print '[BOT] text' to the console
- logged [BOT] lines can be written to a logfile
- chatbotlogfile INI setting is used to set the log file
- Created specific namespaces and folders for each app brick
- Added proxy support using Starksoft's Biko Library
- App bricks: Main, ChatBots, Crypto, Protocol, Proxy
- Each class is now in its own file (Aes streams, chatbots)
- Used "Bridge" design pattern for Crypto, Protocol, Proxy
- Added back support for Minecraft 1.4.6 to 1.6.4 (MCC 1.6.2)
- Need to fully re-test everything and fix bugs
- To Fix : Server pinging is slow on SpigotMC
- To Do : Add Minecraft 1.2.5 (MCC 1.3) and maybe 1.3 to 1.4.5
Encryption Key Request is now fully processed using .NET RSA
capabilities
-> Good news, that was the last step for removing IKVM dependencies!
-> So now MCC does not need to use any external library. Yay! :)
-> MCC should now be compatible with Mono (Mac, Linux).
+ Removed no longed needed DLL files (9 MBytes!)
+ State MC 1.7.5 as a supported version.
+ Update version number to MCC 1.7.2
- Some last minute changes made just before releasing 1.6.0 to Minecraft
Forums
- Added changes from pull #13 allowing to remove the BouncyCastle
library