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.
Added
vanillaandfactionsmessages setting that enables / disables detection of
vanilla / factions public chat messages.
Setting has been added to the auto-generated MinecraftClient.ini and has
been commented with respective chat format of "<user> message" and
"<*faction user>: message"
Clause added to ChatBot.cs that makes use of the new setting.
Added
[someone @ me] message
so that remote control could be used on more servers.
Added back Hero Chat Messages with a default config option of;
herochatmessagesenabled=false
which safely disables it for everyone and has to be explicitly enabled
for it to goof anything up.
How this happened was me downloading the "source" from minecraft forums
and modifying that source then trying to merge it back to the main
github fork of mine.
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
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
The main fix is the change to ProtocolHandler's jsonEncode method. Previously,
it used 'char.IsLetterOrDigit' to see if it needed to be escaped, but some
chars, such as "Ð", count as a letter but still need to be escaped. The fix is
to check if it's in the right range, rather than using that method.
There's also some changes to those methods for performance and clarity reasons.
Most of this is using a StringBuilder rather than appending to the string. Not
too important, but it makes things clearer.
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.
- Allow defining function for use into the script
- Allow defining a ChatBot for loading it into MCC
- Improve sample script and add more examples
- Todo add new documentation into the readme file
- Automatically add [BotName] tags to log lines
- Fix case handling and actionPrivate used for public messages
- Add a sample file for basic and regex matches
- 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
- Add improvements from pull request #76
- Add support for regexes instead of simple matches
- Add support for internal MCC commands eg script
- Add support for flexible INI file containing matches
TODO: Testing, sample INI file, proper documentation
Player list updates on MC 1.8 handler did not take into account the
amount of items in the list and were only processing the first item,
including when there wasn't any item to process. Unfortunately some
weird servers were sending useless empty tab-list updates, causing a
crash. Should fix issue #78 and forum posts 1267, 1269, 1284. Thanks
dbear20, link3321, gerik43, Darkaegis, k3ldon and Ryan6578 for their bug
reports! :)