summaryrefslogtreecommitdiffstats
path: root/src/Protocol/Protocol18x.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 1.9 / 1.9.2 / 1.9.3 / 1.9.4 protocol support (#3135)Pokechu222016-05-141-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Semistable update to 15w31a I'm going through snapshots in a sequential order since it should make things easier, and since protocol version history is written. * Update to 15w34b protocol Also, fix an issue with the Entity Equipment packet from the past version. Clients are able to connect and do stuff! * Partially update to 15w35e Chunk data doesn't work, but the client joins. I'm waiting to do chunk data because chunk data has an incomplete format until 15w36d. * Add '/blk' debug command This command lets one see what block they are looking at, and makes figuring out what's supposed to be where in a highly broken chunk possible. * Fix CRLF normalization in CheckBasicStyle.lua Normally, this doesn't cause an issue, but when running from cygwin, it detects the CR as whitespace and creates thousands of violations for every single line. Lua, when run on windows, will normalize automatically, but when run via cygwin, it won't. The bug was simply that gsub was returning a replaced version, but not changing the parameter, so the replaced version was ignored. * Update to 15w40b This includes chunk serialization. Fully functional chunk serialization for 1.9. I'm not completely happy with the chunk serialization as-is (correct use of palettes would be great), but cuberite also doesn't skip sending empty chunks so this performance optimization should probably come later. The creation of a full buffer is suboptimal, but it's the easiest way to implement this code. * Write long-by-long rather than creating a buffer This is a bit faster and should be equivalent. However, the code still doesn't look too good. * Update to 15w41a protocol This includes the new set passengers packet, which works off of the ridden entity, not the rider. That means, among other things, that information about the previously ridden vehicle is needed when detaching. So a new method with that info was added. * Update to 15w45a * 15w51b protocol * Update to 1.9.0 protocol Closes #3067. There are still a few things that need to be worked out (picking up items, effects, particles, and most importantly inventory), but in general this should work. I'll make a few more changes tomorrow to get the rest of the protocol set up, along with 1.9.1/1.9.2 (which did make a few changes). Chunks, however, _are_ working, along with most other parts of the game (placing/breaking blocks). * Fix item pickup packet not working That was a silly mistake, but at least it was an easy one. * 1.9.2 protocol support * Fix version info found in server list ping Thus, the client reports that it can connect rather than saying that the server is out of date. This required creating separate classes for 1.9.1 and 1.9.2, unfortunately. * Fix build errors generated by clang These didn't happen in MSVC. * Add protocol19x.cpp and protocol19x.h to CMakeLists * Ignore warnings in protocol19x that are ignored in protocol18x * Document BLOCK_FACE and DIG_STATUS constants * Fix BLOCK_FACE links and add separate section for DIG_STATUS * Fix bat animation and object spawning The causes of both of these are explained in #3135, but the gist is that both were typos. * Implement Use Item packet This means that buckets, bows, fishing rods, and several other similar items now work when not looking at a block. * Handle DIG_STATUS_SWAP_ITEM_IN_HAND * Add support for spawn eggs and potions The items are transformed from the 1.9 version to the 1.8 version when reading and transformed back when sending. * Remove spammy potion debug logging * Fix wolf collar color metadata The wrong type was being used, causing several clientside issues (including the screen going black). * Fix 1.9 chunk sending in the nether The nether and the end don't send skylight. * Fix clang build errors * Fix water bottles becoming mundane potions This happened because the can become splash potion bit got set incorrectly. Water bottles and mundane potions are only differentiated by the fact that water bottles have a metadata of 0, so setting that bit made it a mundane potion. Also add missing break statements to the read item NBT switch, which would otherwise break items with custom names and also cause incorrect "Unimplemented NBT data when parsing!" logging. * Copy Protocol18x as Protocol19x Aditionally, method and class names have been swapped to clean up other diffs. This commit is only added to make the following diffs more readable; it doesn't make any other changes (beyond class names). * Make thrown potions use the correct appearence This was caused by potions now using metadata. * Add missing api doc for cSplashPotionEntity::GetItem * Fix compile error in SplashPotionEntity.cpp * Fix fix of cSplashPotionEntity API doc * Temporarilly disable fall damage particles These were causing issues in 1.9 due to the changed effect ID. * Properly send a kick packet when connecting with an invalid version This means that the client no longer waits on the server screen with no indication whatsoever. However, right now the server list ping isn't implemented for unknown versions, so it'll only load "Old" on the ping. I also added a GetVarIntSize method to cByteBuffer. This helps clean up part of the code here (and I think it could clean up other parts), but it may make sense for it to be moved elsewhere (or declared in a different way). * Handle server list pings from unrecognized versions This isn't the cleanest way of writing it (it feels odd to use ProtocolRecognizer to send packets, and the addition of m_InPingForUnrecognizedVersion feels like the wrong technique), but it works and I can't think of a better way (apart from creating a full separate protocol class to handle only the ping... which would be worse). * Use cPacketizer for the disconnect packet This also should fix clang build errors. * Add 1.9.3 / 1.9.4 support * Fix incorrect indentation in APIDesc
* Bulk clearing of whitespaceLogicParrot2016-02-051-80/+80
|
* Changed the format of the MobHead data to allow MobHeads working on MInecraft 1.8bibo382016-01-111-1/+14
| | | | | | The NBT format now carries the texture data and transmit it to the client. See: http://minecraft.gamepedia.com/Head#Block_entity Related to #2674
* Fixed not working packet decompressionbibo382016-01-101-13/+18
| | | | | | | A compressed packed contains always the uncompressed size, but in the code this size was threatened as the compressed data size. This created a failure, when the client compressed a packet. See: http://wiki.vg/Protocol#With_compression Fixes #2841 Fixes #2467
* Fixed Clang warnings.Mattes D2016-01-061-2/+2
|
* allow horse control (still quite buggy)Gargaj2015-12-151-1/+5
|
* implement breedingGargaj2015-11-291-5/+21
|
* fix escaped characters in signs (fixes #1736, fixes #2170)Gargaj2015-11-241-1/+6
|
* Add enum for Sound and Particle EffectsDave Tucker2015-11-241-2/+3
| | | | | | Fixes #2603 Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
* changed mob age from char to intJulian Laubstein2015-11-161-10/+7
|
* idle/deflating creeper should be -1Gargaj2015-11-091-1/+1
| | | | according to http://wiki.vg/Entities#Creeper
* Update Loops required for JsonCPPLukas Pioch2015-10-261-4/+4
|
* Merge pull request #2465 from electromatter/masterworktycho2015-09-271-0/+14
|\ | | | | Added BungeeCord support for Protocol18x
| * Merge branch 'master' into masterelectromatter2015-09-221-61/+5
| |\
| * | added bungeecord support for protocol18xEric Chai2015-09-061-0/+14
| | |
* | | Namechange to CuberiteMattes D2015-09-251-2/+2
| |/ |/|
* | Refactored cProtocol Chat handlingtycho2015-09-211-61/+5
|/
* Merge pull request #2380 from cuberite/travisTiger Wang2015-08-201-1/+1
|\ | | | | Use container-based infrastructure
| * Use container-based infrastructure for TravisTiger Wang2015-08-201-1/+1
| |
* | Fixed food drain bugsTiger Wang2015-08-201-4/+1
|/
* Fix old style casts and implicit conversionsMatti Hänninen2015-08-121-4/+4
|
* Silenced and fixed many warning messages across multiple files.Samuel Barney2015-07-291-89/+90
|
* Added Rabbit Metadata values.bibo382015-07-171-8/+11
| | | | | Added the Rabbit Types and the MoreCarrotTicks value. Types are selected randomly on creation. Fixes #1867
* Merge pull request #2348 from bibo38/customnameTiger Wang2015-07-151-1/+14
|\ | | | | Added CustomName and Health to sended Metadata of Monsters.
| * Added CustomName and Health to sended Metadata of Monsters.bibo382015-07-151-1/+14
| | | | | | | | Fixes #2113
* | Merge pull request #2353 from SamJBarney/DyedArmorJulian Laubstein2015-07-151-2/+12
|\ \ | | | | | | Implements Dyed Leather Armor
| * | Leather Armor can now be dyed.Samuel Barney2015-07-151-2/+12
| |/ | | | | | | * Created new color class to handle dye-related coloring
* | Merge pull request #2349 from cuberite/mapsTiger Wang2015-07-151-44/+15
|\ \ | | | | | | Improved maps
| * | Improved mapsTiger Wang2015-07-141-44/+15
| |/
* / Support ageable mobsHallucino2015-07-141-15/+48
|/ | | | Move ageable stuff in Monster directly
* Fixed warnings generated by 64-bit MSVC.Mattes D2015-07-071-7/+7
|
* Fixed Middle-Click Button in the ClickWindow-Packet.bibo382015-06-251-1/+1
| | | | | | See http://wiki.vg/Protocol#Click_Window The MiddleClick has the button 2 and not 0. Now you can max an item in an inventory in Creative mode, without inventory desync. Bugfix #2260
* Check the return value of InflateStringTiger Wang2015-06-181-2/+1
| | | | Fixes #2256
* Added system and above action bar chat messagesjan642015-06-021-3/+57
|
* Merge pull request #1848 from scottwillmoore/ImplementTitleCommandMattes D2015-05-261-0/+86
|\ | | | | Implement backend for /title command
| * Implement backend for /title commandScott Moore2015-04-131-0/+86
| |
* | Fixed inventory handling.Mattes D2015-05-161-2/+2
| | | | | | | | Fixes #2035.
* | Fixed creative click-outsideTiger Wang2015-05-121-1/+1
| | | | | | | | * Fixes #1995
* | More style checking.Mattes D2015-05-091-2/+2
| | | | | | | | Spaces around some operators are checked.
* | Added support for additional data in the ParticleEffect Packettycho2015-05-071-0/+44
| | | | | | | | Also started refactoring how broadcasts are handled
* | Merge pull request #1938 from jan64/masterMattes D2015-05-041-1/+1
|\ \ | | | | | | Change visual protocol name to include MCServer
| * | Change visual protocol name to include MCServerjan642015-05-041-1/+1
| | |
* | | Entity improvementsTiger Wang2015-05-041-1/+1
|/ / | | | | | | | | | | | | | | •Pathfinder improvements •Fixes #1217 •Fixes #1933 Merge remote-tracking branch 'SafwatHalaby/water2' into fixes
* | Protocol 1.8: Limit the amount of displayed data on NBT parse failure.Mattes D2015-04-201-1/+1
| |
* | Fixed arm swing animationTiger Wang2015-04-171-1/+1
|/ | | * Fixes #1861
* Added VarInt64, normalized cPacketizer datatype names.Mattes D2015-03-221-326/+329
|
* Unified cPacketizer across all protocols.Mattes D2015-03-221-275/+257
|
* Fixed signedness warnings in Protocol.Mattes D2015-03-211-1/+1
|
* Fixed signedness issues in protocols.Mattes D2015-03-211-12/+12
|
* Unified cByteBuffer types.Mattes D2015-03-211-57/+81
| | | | cByteBuffer now reads and writes any of the [U]Int<N> types.
* Merge pull request #1810 from mc-server/paintingsMattes D2015-03-151-9/+1
|\ | | | | Paintings
| * cPainting saving implementedTiger Wang2015-03-141-9/+1
| | | | | | | | Additionally, it now inherits from cHangingEntity.
* | Merge pull request #1734 from mc-server/pistonsMattes D2015-03-141-3/+1
|\ \ | |/ |/| Handle client 'leave bed' request
| * Handle client 'leave bed' requestTiger Wang2015-02-081-3/+1
| | | | | | | | * Fixes #1728
* | 1.8 Protocol: Fixed a possible race condition.Mattes D2015-02-241-5/+9
|/ | | | Fixes #1759.
* Added IsOnGround() to cEntityHowaner2015-02-071-6/+6
|
* Removed cFile::ReplaceFileNameInvalidChars().Mattes D2015-01-271-1/+3
| | | | Its only usage in cProtocol18 has been changed to a simple string replace - only the IPv6's colons were causing problems.
* Protocol18: Fixed failure with invalig logfile names.Mattes D2015-01-271-8/+15
|
* Fixed Linux compilation.Mattes D2015-01-031-1/+1
|
* Protocols: Ignore garbage data at the end of PluginMessage packets.Mattes D2015-01-031-0/+10
| | | | Fixes #1692.
* Refactored all player block placing to go through hooks.Mattes D2014-12-241-2/+2
| | | | Fixes #1618.
* Fixed coverity issues in protocols.Mattes D2014-12-211-2/+6
| | | | Fixes CID 73099, CID 66411.
* Many api fixes, add vanilla names to mob type -> string functions and mob spawner fixes.Howaner2014-11-291-1/+1
|
* Finished mob spawner implementation.Howaner2014-11-181-0/+13
|
* Merge branch 'master' into ChunkLoaderHowaner2014-10-231-4/+4
|\ | | | | | | | | | | | | Conflicts: src/ChunkSender.cpp src/ClientHandle.cpp src/World.h
| * En masse NULL -> nullptr replaceTiger Wang2014-10-231-3/+3
| |
| * Properly exported cItemFrame and cHangingEntity to Lua.Mattes D2014-10-211-1/+1
| |
* | Merge branch 'master' into ChunkLoaderHowaner2014-10-211-1/+1
|\| | | | | | | | | Conflicts: src/ClientHandle.cpp
| * Improved furnacesTiger Wang2014-10-031-1/+1
| | | | | | | | | | | | | | | | * Fixed progress bar on 1.8 * Fixed bugs * Improved code * Fixes #1068 * Fixes #1070
* | Optimized chunk loaderHowaner2014-10-021-0/+1
|/
* Rewritten plugin messages, vanilla are being parsed directly.madmaxoft2014-09-301-13/+73
| | | | This should finally fix the compatibility problems between 1.7 and 1.8 protocols with the changes in the vanilla plugin messages.
* Plugin messages: Vanilla prefixes its payloads with VarInt lengths.madmaxoft2014-09-281-4/+13
|
* Revert "1.8: Fixed plugin messages."madmaxoft2014-09-281-1/+3
| | | | This reverts commit 04ee8c43dd17eb98d1e3d66ff691898e9f269b95.
* Protocol 1.8: Fixed possible crash on malformed packet.madmaxoft2014-09-281-0/+5
|
* Merge pull request #1466 from mc-server/endofsupportMattes D2014-09-281-14/+0
|\ | | | | Removed protocols 1.2 to 1.6
| * Dropped support for <1.7.xTiger Wang2014-09-271-14/+0
| |
* | 1.8: Fixed plugin messages.Howaner2014-09-271-3/+4
|/
* Merge branch 'master' into FixesHowaner2014-09-261-15/+15
|\
| * Merge pull request #1419 from mc-server/redstoneTestsworktycho2014-09-261-15/+15
| |\ | | | | | | Added test mocking to IncrementalRedstoneSimulator
| | * Merge branch 'master' into redstoneTestsTycho2014-09-251-6/+7
| | |\ | | | | | | | | | | | | | | | | Conflicts: src/Simulator/IncrementalRedstoneSimulator.cpp
| | * | Merge branch 'master' into redstoneTestsTycho2014-09-251-15/+15
| | | | | | | | | | | | | | | | | | | | Conflicts: src/Mobs/Monster.h
* | | | Fixed players custom name in 1.8Howaner2014-09-261-16/+5
|/ / /
* | | Protocol 1.8: Fixed plugin message packet.madmaxoft2014-09-251-1/+3
| | |
* | | Merge pull request #1452 from Howaner/FixesMattes D2014-09-251-5/+10
|\ \ \ | | | | | | | | Fixes
| * \ \ Merge branch 'master' into FixesHowaner2014-09-251-6/+7
| |\ \ \ | | | |/ | | |/|
| * | | Use the json writer to write sign texts.Howaner2014-09-251-5/+10
| | |/ | |/| | | | Without this change the client disconnects if the text contains "
* | | Protocol 1.8: Handling packet compression properly.madmaxoft2014-09-251-12/+35
| | | | | | | | | | | | The compression didn't work with CommLog turned on.
* | | Protocol 1.8: Added checks for values presence.madmaxoft2014-09-251-2/+8
| |/ |/| | | | | Reported by @worktycho / Coverity.
* | 1.8 Protocol: Fixed problems with no-payload packets.madmaxoft2014-09-251-6/+7
|/
* Fixed compiler warnings in 1.8 protocol.madmaxoft2014-09-231-2/+2
|
* Merge branch 'master' into EntityCustomNameHowaner2014-09-231-5/+14
| | | | | | | | | | | | | | | Conflicts: src/ClientHandle.cpp src/ClientHandle.h src/Protocol/Protocol.h src/Protocol/Protocol125.cpp src/Protocol/Protocol125.h src/Protocol/Protocol17x.cpp src/Protocol/Protocol17x.h src/Protocol/ProtocolRecognizer.cpp src/Protocol/ProtocolRecognizer.h src/World.cpp src/World.h
* Hotfixed 1.8 item reading.Howaner2014-09-221-5/+5
|
* Changed metadata reading again.Howaner2014-09-221-169/+6
|
* Fixed item nbt reading.Howaner2014-09-221-3/+165
|
* Code improvements.Howaner2014-09-191-4/+4
|
* Exported player list states to extra functions.Howaner2014-09-181-54/+87
|
* 1.8: Simplified item metadata reading.Howaner2014-09-181-7/+3
|
* Simplified WriteUUID()Howaner2014-09-141-9/+9
|
* 1.8: Updated scoreboard packets.Howaner2014-09-131-3/+7
|
* Moved chat json creating to the CompositeChat class.Howaner2014-09-131-170/+3
|
* 1.8: Fixed maps.Howaner2014-09-131-16/+15
|
* Fixed wrong buffer length in the 1.8 protocol.Howaner2014-09-121-10/+4
|
* 1.8: Fixed ReadItem()Howaner2014-09-121-19/+39
|
* 1.8: Added difficulty sendingHowaner2014-09-121-0/+6
|
* 1.8: Fixed block entities.Howaner2014-09-121-8/+2
|
* 1.8: Fixed workbench, enchanting and anvil window.Howaner2014-09-121-3/+19
|
* 1.8: Enderman, byte -> shortHowaner2014-09-121-1/+1
|
* 1.8: Fixed enderman spawning.Howaner2014-09-121-1/+1
|
* 1.8: Fixed inventory open packet.Howaner2014-09-111-3/+2
|
* Removed GetProtocolVersion() from the protocols.Howaner2014-09-111-2/+1
|
* 1.8: Fixed sign placing.Howaner2014-09-111-1/+1
|
* 1.8: Fixed hangings.Howaner2014-09-111-30/+84
|
* 1.8: Added ParticleEffect packet.Howaner2014-09-111-13/+87
|
* 1.8: Added MultiBlockChange packet.Howaner2014-09-091-22/+61
|
* Added the player list to the 1.8 protocol.Howaner2014-09-091-7/+67
|
* PlayerSpawn packet: Send the correct uuid.Howaner2014-09-091-5/+1
|
* 1.8: Added new uuid field.Howaner2014-09-091-0/+17
|
* More fixes.Howaner2014-09-081-0/+5
|
* Recoded cProtocol180 class.Howaner2014-09-081-455/+2402
|
* 1.8: Fixed tab complete.Howaner2014-09-081-0/+17
|
* Fixed more 1.8 packets.Howaner2014-09-081-7/+189
|
* Updated chunk sending to 1.8Howaner2014-09-081-10/+7
|
* Added GetProtocolVersion() to cProtocol.Howaner2014-09-081-1/+2
|
* Implemented packet compression.Howaner2014-09-081-10/+24
| | | ChunkData packet needs this.
* Fixed client errors.Howaner2014-09-041-24/+66
|
* Added more 1.8 protocol things.Howaner2014-09-041-5/+518
|
* Started implementing of the 1.8 protocol.Howaner2014-09-041-0/+385