Commit Briefs
implement recv_buffer size limit and input validation
* Implement recv_buffer size limit and input validation * Add readLengthPrefixedData helper and refactor some read flows * Change error to be more accurate * Add newline to error message * fix long chat messages kicking clients * style nitpicks --------- Co-authored-by: p2r3 <p2r3@p2r3.com> Co-authored-by: p2r3 <41925384+p2r3@users.noreply.github.com>
implement !msg and !help chat commands
* Added the !msg and !help command * Started fixing issues * Rewrote !msg processing in chat system * cleanup --------- Co-authored-by: p2r3 <p2r3@p2r3.com>
implement sheep shearing
* Added shearing sheeps * Added empty line * Changed comment in MobData to say what the middle 1 bit is used for * Replaced if statements with a switch statement and early returns * Send mob metadata to players that join * Fixed mob metadata getting freed when exiting the switch statement * remove currently unnecessary check * use bitwise and in place of modulo * style nitpicks --------- Co-authored-by: p2r3 <p2r3@p2r3.com>
implement player poses (sneak/sprint)
* Added sending player metadata with poses to everyone * Renamed sendPlayerMetadataToAll to broadcastPlayerMetadata * Made entity metadata system flexible * Made broadcastPlayerMetadata create new metadata instead of using a global one * Moved writeEntityData, sizeEntityData and sizeEntityMetadata to procedures * style nitpicks --------- Co-authored-by: p2r3 <p2r3@p2r3.com>
implement cactus damage
* Added cactus damage for players and issues the respective death message. Halts if condition is reached * style nitpicks --------- Co-authored-by: p2r3 <p2r3@p2r3.com>
support 32-bit compilation on windows
* Add support for 32 bit cross compile in mingw64 and windows 98 support * add check to error out on linux * update text * add instructions for 32-bit compilation on windows --------- Co-authored-by: p2r3 <41925384+p2r3@users.noreply.github.com>
support native windows binary compilation
* add winsock2 to globals.c * add winsocket2 compatibility to main function * add winsocket2 to packets.c * and winsocket2 to procedures.c * add winsocket 2 compatibility to tools.c * add winsocket2 to varnum.c * add mingw64 linker options to build.sh * fix build * style nitpicks * remove old_fd * update compilation instructions for windows --------- Co-authored-by: p2r3 <41925384+p2r3@users.noreply.github.com>
implement arm swinging animation
* Added packets to show players swinging their arms * fix misleading comment --------- Co-authored-by: p2r3 <p2r3@p2r3.com>
