1
0
Commit Graph

288 Commits

Author SHA1 Message Date
Alexander Harkness
ad22922393 Rename cEntity swim states (#3996)
* Replace cEntity:m_IsSubmerged with m_IsHeadInWater
* Replace cEntity:m_IsSwimming with m_IsInWater
* Add API documentation for new symbols
* Apply SetSwimState to all entities, not just mobs and players
* Pickups now use IsOnFire to check if they are on fire before destruction

Fixes #3987
2018-01-14 18:44:45 +00:00
Alexander Harkness
6309c6a97f
improve rain simulation (#4017)
* Uses vanilla logic to decide which blocks rain falls through.
 * Rain falls infinitely above the world, and stops at y=0.
 * Entities will now be extinguished if they are under rain-blocking
blocks, and fire will now be extinguished by rain similarly.
 * Create IsWeatherWetAtXYZ to identify wetness at a particular location. 
 * Use new code for enderman rain detection.
 * Fixes issue #916
 * Disable warnings for global constructors in the fire simulator.
2017-12-26 21:25:57 +00:00
peterbell10
0bacda3269 Implement horse inventory (#4053)
* Implement horse inventory

* Fix sign conversions

* Add API doc for ItemCategory::IsHorseArmor

* Improve HandleOpenHorseInventory comment and style fixes.
2017-10-21 17:56:09 +01:00
Lane Kolbly
30c8470a52 Changed BroadcastSoundEffect, SendSoundEffect, and CastThunderbolt parameters to vectors (#3959)
* Made BroadcastSoundEffect take vector parameters.

* Added docs for new vectored methods

* Removed old code

* Fixed lua warnings

* Made old BroadcastSoundEffect not an override.

* m_Block to m_BlockPos, used Vector3d constructor where prettier.

* a_Block to a_BlockPos

* Changed thunderbolt a_Block to a_BlockPos
2017-09-19 15:12:54 +01:00
Lane Kolbly
b12f4ef7d5 Made world data paths adjustable, and added API to temporarily disable saving chunks to disk. (#3912) 2017-09-07 13:41:16 +01:00
Alexander Harkness
b5a23e5cd9 Lighting now generally consistent with vanilla (#3988)
* Lighting now generally consistent with vanilla

Skylight is now dispersed by some blocks, instead of passing
through unimpeded.

Some blocks which were not marked as transparent are now marked as
such.

Water and other such blocks now attenuate light with the correct
intensity.

Generally changes were based on documentation in the Minecraft
Wiki: https://minecraft.gamepedia.com/Opacity#On_block_light ,
however during play-testing on vanilla lava was found not to
attenuate sky or block-light so the attenuation was removed.

This fixes #3849

* Add API documentation for IsSkylightDispersant

* Rename m_SkylightDispersant to m_IsSkylightDispersant

* Update comment for m_Transparent property of Blocks
2017-09-07 11:56:17 +01:00
Alexander Harkness
e33eb529ad Fire effect now shown for creative and spectator mode players (#3998)
* Fire effect now shown for creative and spectator mode players

Fixes #3989

* Add documentation for IsFireproof
2017-09-07 09:59:08 +01:00
Lukas Pioch
ed7adef1ca Updated APIDoc (#3985) 2017-09-07 10:33:46 +02:00
Bond-009
104f9e127b Changed some int parameters to vector parameters (#3937) 2017-09-07 10:25:34 +02:00
Alexander Harkness
09dfe0d811 Update Core plugin
/spawn command now works.
2017-09-01 11:48:17 +01:00
Alexander Harkness
c6bc822054 Update core plugins to latest version (#3951)
* Update core plugins to latest version

* Update Core again
2017-08-30 10:32:53 +01:00
Lane Kolbly
1f9788a801 Added ShouldSendRespawn parameter to ScheduleMoveToWorld (#3979) 2017-08-30 02:35:53 +03:00
Lukas Pioch
d5c4b3af6b APIDump: Removed unneeded Globals prefix 2017-08-29 15:49:29 +02:00
satoshinm
6bc5031517 Implement Forge protocol handshake support (#3869) 2017-08-27 23:10:20 +02:00
peterbell10
f4f2fc7c3d Add cUUID class (#3871) 2017-08-25 13:43:18 +01:00
mathiascode
02775e52c4 Minor changes (#3909) 2017-08-24 11:19:40 +02:00
Pablo Beltrán
b18f6637b6 Fully implemented leashes (#3798) 2017-08-21 10:46:41 +02:00
peterbell10
b8dda388e0 Represent cItem::m_Lore as an AStringVector (#3882)
* Replace cItem::m_Lore with AStringVector

* Reword deprecation warning

* Fix lua bindings
2017-08-18 11:29:54 +01:00
Lane Kolbly
1ec85a2b2c Add cLuaWindow OnClicked Callback (#3901) 2017-08-17 16:27:43 +02:00
Lane Kolbly
7bdbfad1bb Changed int parameters to vector parameters in cCuboid and simulators (#3874) 2017-08-17 15:48:38 +02:00
William 'psyFi' Hatcher
09e94bd947 Updated docs to mention InfoDump for creating README.md, etc. (#3895) 2017-08-15 05:32:28 +02:00
Tiger Wang
fdd4b6e7c4 Merge pull request #3897 from peterbell10/PlaceSound
cBlockInfo: Remove/deprecate place sound
2017-08-13 12:37:37 +01:00
William 'psyFi' Hatcher
ee14344c05 Update TestLuaRocks.lua (#3903)
Changed LOG to LOGWARNING when a library was not found
Made log text more descriptive
Removed unnecessary semicolons
2017-08-13 12:29:24 +01:00
peterbell10
9472380494 cBlockInfo: Deprecate place sound 2017-08-07 09:31:36 +01:00
Lukas Pioch
f53cf5d130 APIDump: Class types in variables and hooks are now linkified (#3892) 2017-08-03 15:40:40 +02:00
Lukas Pioch
ec08bf6255 Updated plugin Core 2017-07-30 22:58:41 +02:00
Lane Kolbly
790e15f2e6 Added anvil enchantment handling. (#3857)
+ Added anvil enchantment handling.
2017-07-28 18:00:20 +01:00
Lane Kolbly
5402b214b3 Check for intersection between placed blocks and entities. (#3850)
* Check for intersection between placed blocks and entities.

+ Implemented GetPlacementCollisionBox, to permit custom placement collision boxes for blocks.

* Factored block-entity placement checking into another function in cPlayer.

- Removed vector min/max functions

* Use GetWorld to get the world in DoesPlacingBlocksIntersectEntity.

+ Added block height checks, allow different cEntity subclasses to decide whether they will prevent block placement.
2017-07-28 17:59:21 +01:00
Lane Kolbly
87af95b67c Updated armor cover calculation. (#3858)
* Updated armor damage calculation.

+ Added lua docs, added casts from float to int.

* Changed verbage in docstring and comment.
2017-07-23 10:46:38 +01:00
Mattes D
64561175ab BlockArea: Added the GetBounds function. 2017-07-22 19:57:25 +02:00
peterbell10
41d016cf5b Handle middle mouse drag (#3847) 2017-07-13 15:43:48 +02:00
Lane Kolbly
b61898c30c Lua plugin cColor (#3833) 2017-07-12 12:30:43 +02:00
Lane Kolbly
793acd267f Changing pickup lifetime and combining semantics, making these adjustable in the lua api. (#3843) 2017-07-12 12:13:27 +02:00
Lane Kolbly
a561886bf3 Implemented draggingitem API. 2017-07-10 05:46:04 +02:00
peterbell10
bbf5bec817 BigFlower fixes (#3826)
* BigFlowers fixes

* Correct upper part meta
* Documented parameters to DoesIgnoreBuildCollision
2017-07-07 16:37:53 +02:00
Lukas Pioch
885d828712 Added bed entity (#3823)
* Added bed entity

* Export cBedEntity to lua
* Set color of bed through item damage value
* Added bed entity to APIDoc
* NBT: Added loading and saving
* Crafting recipes for the colored beds
2017-07-07 09:31:45 +02:00
Bond-009
7fd3899796 Added 1.12 blocks (#3760) 2017-06-30 10:46:58 +02:00
peterbell10
33527067ed Update tolua and export EffectID 2017-06-29 18:58:48 +02:00
Lane Kolbly
3f7bf88e30 Updated cItemGrid API docs to reflect required GetInventory() calls. 2017-06-28 12:22:37 +02:00
Lukas Pioch
9c25520b69 Corrected APIDoc for cBlockArea and exported missing functions (#3808) 2017-06-26 09:02:06 +02:00
Mattes D
fe42538349 cBlockArea supports block entities. (#3795) 2017-06-24 11:58:06 +02:00
Lukas Pioch
9b0eb118b3 Corrected check for level of subcommand and fixed multiple levels not working (#3758)
* Corrected check for level of subcommand
A message instead of an error is printed, if the sub command is unknown

* Multiple levels of sub commands now works, too
2017-06-12 12:59:46 +02:00
Lukas Pioch
486ae0e832 APIDoc: Corrected param in cBoat:MaterialToString 2017-06-11 14:59:29 +02:00
Mattes D
3c4e443ddc Fixed handling Lua errors in nested callbacks (#3755) 2017-06-09 12:16:31 +02:00
Mattes D
226272fc63 Debuggers: Added the "/come" command to test mob pathfinding. (#3734) 2017-05-27 19:22:09 +02:00
Heiko Hund
a0341d561a Add rank prefix and suffix to player name in chat (#3730)
Fixes issue #1721
2017-05-27 02:15:56 +01:00
Lukas Pioch
73a3c4e3be Exported boat
- NBT: Added saving / loading of material
- Added the material in the item handler of the boat
- Drop the correct boat if destroyed
- APIDoc: Added desc and functions
2017-05-24 19:02:18 +02:00
Pablo Beltrán
84bdba345d Off-hand/shield slot functional, save and load slot, bow + arrow functional (#3725)
Fixes #3714.
2017-05-24 08:09:58 +02:00
Mattes D
2c3c1f1527 Tracer replacement (#3704)
* Replaced cTracer usage with cLineBlockTracer.

* Exported new cLineBlockTracer utility functions to Lua API.
2017-05-11 13:34:36 +01:00
Lukas Pioch
7c4576a025 Exported cFallingBlock and cExpOrb (#3700) 2017-05-09 14:24:41 +02:00
Mattes D
17ba5be852 Updated Core and ProtectionAreas to latest. 2017-05-09 11:48:07 +02:00
Lukas Pioch
7127058930 APIDump: Add missing 'My' to generated function hook example. 2017-05-09 05:50:55 +02:00
Lukas Pioch
5580d558a5 Added missing checks for Initialize function and updated APIDoc 2017-05-08 06:31:45 +02:00
Lukas Pioch
41bfb22834 Corrected brewingstand and added support for fuel 2017-05-08 06:30:54 +02:00
Lukas Pioch
f709f74aeb APIDoc: Removed non-existent functions and added missing return types 2017-05-02 06:10:36 +02:00
Lukas Pioch
9842896574 APIDoc: Replaced incorrect param cMonster with eMonsterType 2017-04-30 10:08:03 +02:00
Mattes D
85f11694da Build Lua in C++ mode, use exceptions for error-raising. (#3680)
Fixes #3678 .
2017-04-26 23:02:57 +02:00
Lukas Pioch
7960d142ca APIDoc: Corrected a few links 2017-04-07 21:26:59 +02:00
Lukas Pioch
6c420ce557 API: Removed function GetChar (#3664) 2017-04-05 22:31:42 +01:00
Lukas Pioch
1614aa17d3 APIDoc: Added missing IsStatic flags and corrected param types. 2017-04-05 16:43:57 +02:00
Lukas Pioch
fb20517435 APIDoc: Documented missing functions and variables. (#3634) 2017-04-04 07:53:14 +02:00
Lukas Pioch
e0435f27bb APIDocs: Corrected param types in cBoundingBox (#3624) 2017-03-16 15:10:09 +01:00
Lukas Pioch
d0b956d8c4 Added is static flag and removed is static info from text. (#3616) 2017-03-05 02:44:16 +01:00
Lukas Pioch
6ee0e4cafa Added missing IsStatic flag to functions. (#3613) 2017-03-02 12:05:11 +01:00
mathiascode
330d66097f Removed a few default plugins (#3580) 2017-02-24 10:11:38 +01:00
Alex
9cb1ad546f Changed fish launching mechanism (#3520)
Fish and other fishing loot now correctly fly towards played when reeled in.
2017-02-20 10:03:19 +01:00
mathiascode
dae2adde65 Updated sounds and effect IDs (#3422) 2017-02-15 06:05:24 +01:00
mathiascode
4311f4a658 Added some blocks and items (#3503) 2017-02-14 11:13:55 +01:00
Lukas Pioch
e6b1942fb5 APIDump: Corrected luacheck file to load a plugin's luacheck if exists 2017-01-28 14:05:30 +01:00
Mattes D
01d9beee9e Debuggers: Added /clientversion command to display protocol version. 2017-01-28 10:31:04 +01:00
Lukas Pioch
f8bf6a752f ApiDump: Added merge code to .luacheckrc 2017-01-27 13:14:26 +01:00
Mattes D
49e05d8cfe Debuggers: Added a deadlock simulation command. 2017-01-18 09:02:56 +01:00
Bond-009
20c8e7474b Added 1.11 smelting recipes and fuels (#3526) 2017-01-09 12:13:45 +01:00
Pokechu22
28cc26c54c Track skin part and main hand preferences (#3498) 2017-01-03 13:11:26 -08:00
sweetgiorni
78b6d54bf8 Api Documentation
Added API documentation for GetShutdownMessage.
Style fix in Root.cpp
2017-01-03 12:18:53 -08:00
Mattes D
45ce828a16 Debuggers: PluginStats are now output only on request. (#3513)
The stats are no longer output on plugin startup, instead there is a new console command "pluginstats" for that.
2017-01-01 22:44:13 +01:00
Mattes D
b3b723b453 Refactored to put URL Encoding / Decoding in a single place. (#3491) 2016-12-25 18:29:21 +01:00
mathiascode
efc7fed05b Updated links and docs (#3488) 2016-12-19 17:08:19 +01:00
Mattes D
dddfb921ee Reverted temporary redirect to LuaAPI docs (#3487) 2016-12-18 19:32:35 +00:00
Mattes D
a3b352550e Updated ProtectionAreas. 2016-12-17 06:42:41 +01:00
Mattes D
506ce33101 APIDump: Load the official undocumented from alternate location.
This fixes the CI builds until the apidocs.cuberite.org subdomain gets functional again.
2016-12-15 21:25:33 +01:00
Mattes D
3516edff5b APIDump: Make "apicheck" errors stand out in the log. 2016-12-15 20:22:19 +01:00
Mattes D
f5adb67f2f APIDump: Proper error messages on apicheck failures. 2016-12-15 14:13:09 +01:00
Mattes D
e8fb85be88 Fix meta mirror (#3470) 2016-12-09 12:29:04 +01:00
Mattes D
7e8f66cf94 APIDesc: Fixed wrong cBlockArea parameter descriptions. 2016-12-04 18:13:26 +01:00
Mattes D
12071bc51a Debuggers: Added commands to investigate item's custom Lua properties. 2016-11-26 20:45:01 +01:00
Mattes D
56f8dedb6b Debuggers: Added commands to investigate item's custom name. 2016-11-26 19:24:24 +01:00
Mattes D
3872e813f3 Debuggers: Added commands to investigate item's Lore. 2016-11-26 17:52:33 +01:00
Mattes D
3c8affeee8 Debuggers: Sorted the Info.lua commands. 2016-11-26 16:47:15 +01:00
Lukas Pioch
d929fbe665 Added API export for LuaCheck. 2016-11-22 18:25:49 +01:00
Mattes D
3a89e9959b Updated the Core. 2016-11-16 14:26:46 +01:00
mohe2015
a990a6d133 Add Lua API export for titles. (#3408) 2016-11-13 16:04:18 +01:00
Mattes D
9c7e18bf9b Updated Core. 2016-11-10 16:59:48 +01:00
mohe2015
32b38fb264 Anticheat fastbreak (#3411)
Added block hardness checks when breaking blocks.
2016-11-06 19:30:19 +01:00
Mattes D
9eff6f390d LuaJson: Report serialization errors instead of crashing. 2016-10-27 23:47:36 +02:00
Mattes D
5552feafca CI: API test defaults to failure, unless explicitly succeeded.
This fixes problems with the CI build succeeding when the API description has a syntax error in it and the APIDump  plugin won't even load.
2016-10-25 18:49:58 +02:00
Lukas Pioch
b088123d18 Added SendMessageRaw for sending json string. 2016-10-21 11:17:39 +02:00
NiLSPACE
f8f0dc4558 APIDump: Added missing syntax to cUrlClient (#3407)
Added the simple single-callback versions of the methods.
2016-10-17 21:19:20 +02:00
Mattes D
be916bc7e8 APIDump: Fixed cWorld:QueueTask signature, moved to separate file. (#3400) 2016-10-13 19:48:15 +02:00
bibo38
cb640ffea4 Spectators added (#2852) 2016-10-12 14:38:45 +02:00
LogicParrot
1e8cae6415 cChunk::SetAlwaysTicked implies cChunk::stay (#3361) 2016-10-09 15:46:09 +03:00
Mattes D
cab09f54d3 Updated the Core plugin. 2016-10-08 11:25:43 +02:00
Mattes D
71d46bbbd8 APIDump: Fixed descriptions for cPluginManager:ForEachPlugin(). 2016-10-06 22:34:47 +02:00
Mattes D
59c77ca3db APIDump: Fixed descriptions for cWorld:ChunkStay. 2016-10-06 22:34:19 +02:00
Mattes D
e0f158bba9 Fixed cRankManager API docs. 2016-10-06 21:24:31 +02:00
Mattes D
437ac874a0 APIDump: Check param and return types. 2016-10-03 16:24:47 +02:00
Mattes D
334de0db64 APIDump: Fixed description for schematic file loading. 2016-10-02 17:48:48 +02:00
Mattes D
b7d992d211 APIDesc: Reformatted ConstantGroups to match the enum names. 2016-10-01 22:27:04 +02:00
Mattes D
a893c53d46 APIDump: Fixed description for tolua functions. 2016-09-27 14:28:37 +02:00
Mattes D
e169043a84 Fixed cCompositeChat's constructor LuaAPI bindings.
The tolua-generated constructor would return an extra string value.
2016-09-25 12:42:05 +02:00
Mattes D
af4e88030b InfoReg: Don't fail if there are no commands to register. 2016-09-22 12:54:13 +02:00
Mattes D
95b9a00eb5 InfoDump: Trim description string before outputting to README.md. 2016-09-22 12:53:56 +02:00
Mattes D
815acd56ac APIDump: Fixed descriptions for "array table of strings". 2016-09-19 11:25:23 +02:00
Mattes D
f9a01897c1 APIDump: Replaced "callback" type with "function". 2016-09-16 18:19:04 +02:00
Mattes D
26769c6113 InfoReg: Fixed cPluginManager usage. 2016-09-16 16:30:52 +02:00
Mattes D
7f8a4eb726 APIDesc: Fixed modifiers for sqlite3 functions. 2016-09-15 21:57:00 +02:00
Mattes D
06c0ebee6d APIDesc: Fixed some leftover "<unknown>" types. 2016-09-14 01:12:21 +02:00
Mattes D
2622a8622a APIDump: Reformatted the docs to include type information.
Also fixed a bit of documentation in the CPP source.
2016-09-12 23:21:15 +02:00
Mattes D
08861becc3 APIDump: Support structured parameter info.
Ref.: GH#3375
2016-09-09 11:19:22 +02:00
Mattes D
d3cf47cc5d APIDump: Removed trailing whitespace. 2016-09-08 23:05:52 +02:00
Mattes D
e8c84519da APIDoc: Allow to create a link to an object. (#3371) 2016-09-06 22:03:18 +03:00
Mattes D
f7029eddd4 Merge branch 'master' of https://github.com/cuberite/cuberite 2016-09-05 15:05:54 +02:00
Mattes D
d273c9bad3 APIDump: Fixed documentation for cPluginManager:GetPluginsPath(). 2016-09-05 15:05:05 +02:00
LogicParrot
7e9e7f7911 Configurable dirty unused chunk cap to avoid RAM overuse (#3359)
Configurable dirty unused chunk cap to avoid RAM overuse
2016-09-03 18:38:29 +03:00
Mattes D
5ca371bb9a cUrlClient: Exported to Lua API. 2016-08-23 13:20:43 +02:00
Mattes D
891c57bc02 Removed Decoda project files, no longer used. (#3320) 2016-08-18 12:48:38 +02:00
ElNounch
343531bafa Added cWorld:SetSpawn() API and Lua binding (#3316) 2016-08-15 10:41:32 +02:00
ElNounch
503a79f19a Typo in IniFile:GetNumKeys() code sample (#3317) 2016-08-14 12:11:52 +01:00
Alexander Harkness
c563611543 Updated Core. 2016-08-10 18:47:53 +01:00
Mathias
9fe4333f56 Canonical tag (#3300)
Added a canonical tag to the API docs, which should prevent duplicate pages on search engines
Changed the newsletter link
2016-08-07 09:06:44 +02:00
Alexander Harkness
56a0c48580 Added additional examples to the documentation for HOOK_BLOCK_SPREAD. (#3277)
Fixes issue #3274
2016-07-29 14:44:39 +01:00
Mattes D
0e24a0beae APIDump: Added explicit IsStatic flag to static functions. 2016-07-18 22:11:41 +02:00
Mattes D
f8e1df2476 Updated API documentation. 2016-07-18 22:11:40 +02:00
Mattes D
9b388cd239 APIDump: Changed not to use globals, added more doxycomments. 2016-07-18 22:11:37 +02:00
Lukas Pioch
87a7d3ec64 Changed Hopper to wtHopper and adjusted .gitignore. 2016-07-12 16:21:20 +02:00
Mattes D
5095a9f48b Fixed Lua Json serializing a bool.
Fixes #3257.
2016-07-10 08:16:44 +02:00
Mattes D
b7e1a66815 Changed world tasks to use cLuaState::cCallback. 2016-06-27 20:51:49 +02:00
Mattes D
af8c96026d Removed cWebPlugin, WebAdmin uses cLuaState::cCallback. 2016-06-27 20:51:48 +02:00
QUSpilPrgm
33cd7f4e75 - Add a activation flag to droppers and dispensers. Previously droppers and dispensers shot items with every block update.
- Fixes a range check inside cIncrementalRedstoneSimulator::Simulate
2016-06-15 10:33:49 +02:00
Mattes D
ce30e3f666 Normalized Vector3 API to use the same capitalization as all else. 2016-06-10 17:59:33 +02:00
Mattes D
c2759186c0 Bindings: Fixed cBoundingBox API. 2016-06-05 18:23:16 +02:00
QUSpilPrgm
706257f8fb Update Dispensers and let them act more like in Vanilla
- Added code to make bonemeal, potions, minecarts, XP bottles and boats work inside dispensers
- Dispensers are now able to place TNT if the block is transparent but not air
- Added return value that indicates the success of pumpkin, melon, sugarcane and cactus growing functions
- Changed return value of "GrowRipePlant" so that it actually indicates if the block was able to grow
- Fixed "GrowSugarcane" and "GrowCactus" in "GrowRipePlant" so that it only grows them a single block
2016-06-03 15:45:49 +02:00
Mattes D
beb3660c42 Debuggers: Added the forgotten Inject.lua file.
This works as a test for inter-plugin calls, the "testcall" command injects this file into the Core plugin.
2016-06-02 14:43:19 +02:00
Mattes D
5618e453e6 LuaState: Inter-plugin calls now support simple tables. (#3220) 2016-05-31 00:01:55 +01:00
PlasmaPower
b4d9732fe9 Added GetTeamNames to cScoreboard (#3217)
Resolves #3210
2016-05-29 19:12:18 +02:00
Pokechu22
a4f327118b 1.9 / 1.9.2 / 1.9.3 / 1.9.4 protocol support (#3135)
* 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
2016-05-14 20:12:42 +01:00
LogicParrot
4c3eed7ec4 Updated the Core submodule (#3172) 2016-04-30 11:23:29 +03:00
LogicParrot
a431b45641 Improved player freeze code 2016-04-05 14:20:50 +03:00
LogicParrot
9e796f4e62 MoveToWorld defaults to spawnpoint 2016-03-30 11:42:06 +03:00
LogicParrot
8b184e8083 Bed's world is now saved 2016-03-29 15:50:29 +03:00