Outdated ChatLineBreaker 3.1
Breaks long messages into lines, player-side customizable, compatible to all plugins existing!
The database (plugins/ChatLineBreaker/players.dat) is in binary in order to make the size compact. For every 9 bytes, the first 8 are, in binary, the client ID of the player. The 9th byte is in this form, in binary:
"b" is whether the player enabled (didn't disable) the line breaker. "l" is a 7-digit binary number for the chat line length. The max length, therefore, is 127 since the database cannot save any larger numbers.Code:blllllll
Future changes, starting from version 3.1 (not yet released)
- The database will have a 1-byte prefix indicating the API version. (The databases generated in v3 will be recognized by the modular operator % to see if the database length is divisible by 9)
- If I can confirm that the max size of the client ID is integer or not signed, I will change the format of CID.
The config file is in YAML by default. However, if you like JSON more, you can enable it by creating a JSON file with blank content (but still correct syntax) and it will be automatically updated. The setting of this will be improved in future updates.
- default-enable: Whether to enable the line breaker for the player by default (default true)
- default-length: The default CLB length (default 50)
Lang file: (3.1+, not yet approved)
The lang file is in the format of properties. Please only edit the values not the key to ensure it working.
This plugin uses DataPacketSendEvent::register() to handle the message, so all messages, except those whose packets are directly passed into the socket bypassing the API method, will be handled. Therefore, even if you use the raw $player->dataPacket(new MessagePacket) method, the message will still be wrapped.