Fixed a bug that would cause players to get stuck in a client crash loop when logging out inside of a POH
Fixed a bug that let players reach objects that shouldn't be reachable
General disconnection reliability improvements
Adjusted the color of global chat for HD mode, the new color is #f1b04c
Error logs now properly print to stderr when possible
Colour-coded logs
Addressed a scenario in which outgoing packet writes could get hung up
Fixed interface incorrect definition message on server startup
Added global chat feature, so players can still maintain global communication while being in their own clan chat
An individual player can opt out of global chat by using the ::muteglobal command
Implemented automatic message splitting for clan and global chat
Implemented colour selection for global chat (prefix your message with hex colour code, e.g. //%690420 before the message)
Implemented authentic script/interaction queues
This does now mean we have a total of 3 interaction systems, but this additional system is necessary to fix certain categories of bug and implement some authentic features
Converted mining to new system
Converted fishing to new system
Converted woodcutting to new system
Provided an example of soft-queued scripts with GrandTreePodListener
Implemented tick-eating (it is now possible to eat a shark, drink a potion, and eat a karambwan all on the same tick)
Can now eat and drop items while stunned
Fixed an issue that prevented teleblock from being used in PvP
Removed redundant code that prevented PvP looting in some instances
Improved strictness of grave generation rules in regards to PvP
Added nothing drop to the RDT (50% chance)
Implemented ring of wealth effect on rare drops (removes nothing drop)
Improved handling of nothing drops, preventing dwarf remains being awarded instead of nothing in some instances
Added impling IDs to the ImplingNPC definition so all implings behave like implings
Crystal shield and crystal bow now degrade
Made cyclops room kickout on disconnect more reliable
Fixed MTA Enchantment Zone items not adhering to the zone's rules
Unified kotlin and java into just src/main
Unified the rs09 and core packages
Took all content out of the core package, and placed it into the new content package
Reorganised all source code relating to content to be easier to find and explore