1
0
Commit Graph

5655 Commits

Author SHA1 Message Date
Lane Kolbly
aebfbfb8c8 GetPacketID for protocol packet IDs (#3977)
* Added GetPacketId method to protocol, implemented for all protocols.

* Moved GetPacketID methods into a single file, alpha-sorted.

* Fixed 1.12.1 HandlePacket switch statement.

* Added SendLogin to the GetPacketId framework.

* Added SpawnObject to GetPacketId framework.

* Added missing sendEntityEquipment packet ID update for 1.12.1

* Added LeashEntity packet ID change to 1.12.1

* Alphabetized packet enum, added SpawnGlobalEntity to GetPacketId framework

* Fixed clang errors

* Indented cases, expanded comment for GetPacketId

* Changed dyslexic comment.
2017-09-02 17:46:57 +01:00
LogicParrot
49c443896d Revert "Replace ItemCallbacks with lambdas (#3948)"
This reverts commit 496c337cdf.
2017-09-02 08:50:23 +01:00
Alexander Harkness
700bbdabf5 SetSwimState now takes into account head height
This affects m_IsSubmerged and IsSubmerged() for entities of all
types.

Also prevent squids from suffocating in water.
2017-09-01 14:50:02 +01:00
Alexander Harkness
765db880f9 Remove double-checking below world for burning 2017-09-01 14:50:02 +01:00
Alexander Harkness
7f2c0ef0d6 OnLogin now kicks players properly (#3980) 2017-09-01 15:49:35 +02:00
peterbell10
496c337cdf Replace ItemCallbacks with lambdas (#3948) 2017-09-01 13:04:50 +02:00
Bond-009
00d077de1b Drop enderchest when broken by a silk touck pick (#3986) 2017-08-31 17:50:07 +02:00
Tiger Wang
da0778dfaa Merge pull request #3969 from peterbell10/cuboid
cCuboid: restore default copy construct and assign
2017-08-30 15:04:09 +01:00
Lane Kolbly
5d64451f74 Protocol Spawn Position Should Use LastSentPosition (#3929)
+ Added GetLastSentPos

* Fixed spawn position bug in 1.8.
2017-08-30 15:01:33 +01:00
peterbell10
84941bcc9f Update mbedtls to 2.5.1 (#3964)
* Renaming changes:
  * macro prefix "POLARSSL" -> "MBEDTLS"
  * functions now prefixed with "mbedtls_"
  * rename PolarSSL++ -> mbedTLS++
  * rename polarssl submodule

* Use mbedtls' AES-CFB8 implementation.

* Add cSslConfig to wrap mbedtls_ssl_config

* Update cTCPLink and cBlockingSslClientSocket to use cSslConfig

* Use cSslConfig in cHTTPServer

* Use cSslConfig for cMojangAPI::SecureRequest

* CI Fixes

* Set -fomit-frame-pointer on the right target
2017-08-30 15:00:06 +01:00
Lane Kolbly
1f9788a801 Added ShouldSendRespawn parameter to ScheduleMoveToWorld (#3979) 2017-08-30 02:35:53 +03:00
peterbell10
fa5bf7d5cd cUUID: Fix FromHexDigit for digits >= 'a' 2017-08-29 16:09:39 +02:00
peterbell10
1779db1201 cWorld: Add entities without holding of m_CSEntitiesToAdd
* Fixes deadlock when cWorld::AddEntity is called while holding chunk map CS.
2017-08-29 15:46:36 +02:00
peterbell10
96ce841417 Add TOLUA_EXPOSITION for readability 2017-08-28 14:36:23 +01:00
peterbell10
f89becc761 cCuboid: restore default copy construct and assign. 2017-08-28 13:48:10 +01:00
peterbell10
3687ef397c Cleanup Vector3 constructors and Abs 2017-08-28 13:48:07 +01:00
Bastien ADAM
a5869b3c09 Repair the removed constructor of cCuboid cCuboid(otherCuboid) (#3966)
* Repair the removed constructor of cCuboid `cCuboid(const cCuboid & a_Cuboid) : p1(a_Cuboid.p1), p2(a_Cuboid.p2) {}`

* Update Cuboid.cpp

* Update Cuboid.h
2017-08-28 10:01:12 +01:00
satoshinm
6bc5031517 Implement Forge protocol handshake support (#3869) 2017-08-27 23:10:20 +02:00
peterbell10
447d929da1 Implement anvil chunk sparsing 2017-08-26 20:56:44 +02:00
mathiascode
3ebcf0fd5c Leashes work in 1.12.1 2017-08-26 20:56:10 +02:00
Alexander Harkness
0140923c35 Fix mobs not burning in daylight when on snow (#3961)
* Fix mobs not burning in daylight when on snow

or other non-transparent partial blocks.

Fixes #3945

* Change from floor to ceil
2017-08-25 16:26:45 +01:00
Bond-009
3c8712d871 Gives all entities the default airlevel on creation (#3942)
* Guardians don't take damage on land
* Squids suffocate on land
2017-08-25 14:44:36 +01:00
mathiascode
4b84288801 Don't assert when placing beds in older versions (#3916) 2017-08-25 14:52:32 +02:00
peterbell10
f4f2fc7c3d Add cUUID class (#3871) 2017-08-25 13:43:18 +01:00
Lane Kolbly
87c89a1727 Bed piston fix (#3956)
* Threaded world interface into ConvertBlockToPickups

* Changed how cBlockPiston::PushBlocks sets the old block to air, so that the block exists for the DropBlock call.

* Removed unused a_Digger argument.

* Removed incorrect comment

* This time actually removed a_Digger references.
2017-08-25 10:56:01 +01:00
Lukas Pioch
b55e5f5ad1 Use ref instead of pointer 2017-08-24 14:36:29 +02:00
mathiascode
02775e52c4 Minor changes (#3909) 2017-08-24 11:19:40 +02:00
Lane Kolbly
92ac45d27e Added check to deactivate existing entity effects when new entity effects are added. 2017-08-24 11:19:01 +02:00
peterbell10
0854ed01a4 Fix use after move in cItemBowHandler::OnItemShoot 2017-08-24 11:17:51 +02:00
Safwat Halaby
c1b1cb87a1 Removed outdated pathfinder comment (#3955) 2017-08-23 22:05:33 +03:00
Lane Kolbly
af6963f40f Added check in cEntity::TickBurning for whether the entity is planning to change worlds. (#3943) 2017-08-22 15:05:13 +01:00
peterbell10
cc2d719c59 Potential spawn prepare fix (#3924) 2017-08-22 14:34:43 +02:00
peterbell10
096cdac80d Implement protocol level chunk sparsing (#3864) 2017-08-21 17:56:53 +01:00
Bond-009
ad3192d696 Award player an achievement when creating a beacon (#3930) 2017-08-21 15:00:49 +01:00
Bond-009
d510c977f6 Snow only generates on blocks with a block light level of 10 or less (#3931) 2017-08-21 15:13:18 +02:00
Bond-009
ce87b73127 Fixed build for older clang versions (#3935) 2017-08-21 10:40:05 +01:00
Bond-009
a262bacc9d Give arthropods slowness IV when hit with bane of arthropods (#3932) 2017-08-21 10:51:26 +02:00
Pablo Beltrán
b18f6637b6 Fully implemented leashes (#3798) 2017-08-21 10:46:41 +02:00
Lane Kolbly
f81e6f6b6d Changed MoveToWorld to ScheduleMoveToWorld in cPlayer::Respawn (#3922)
* Changed MoveToWorld to ScheduleMoveToWorld

- Removed empty line
2017-08-18 11:40:35 +01:00
Tiger Wang
0e10464ac5 Merge pull request #3921 from lkolbly/removeAssert
- Removed incorrect assert in SendRespawn
2017-08-18 11:36:01 +01:00
Tiger Wang
e7a5e29522 Merge pull request #3918 from peterbell10/GetBlockEntity
cChunk: Don't assume GetBlockEntity coords are valid
2017-08-18 11:33:46 +01: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
8f1ddfa6c3 Changed type of FastRandom in monster drop calculation. (#3920)
* Fixed type of FastRandom in monster drop calculation.

* Distribute dropped items into stacks.

* Moved while loop outside if statement.
2017-08-18 11:23:08 +01:00
peterbell10
5e81024f89 cBeaconEntity fix no world crash 2017-08-18 11:22:22 +01:00
Tiger Wang
72d7027861 Merge pull request #3489 from cuberite/EntityOwnership
* Changed entity ownership model to use smart pointers
2017-08-18 11:17:56 +01:00
Bond-009
05045860c2 Sitting cats block enderchests from opening (#3906) 2017-08-17 16:29:43 +02:00
Lane Kolbly
1ec85a2b2c Add cLuaWindow OnClicked Callback (#3901) 2017-08-17 16:27:43 +02:00
Bond-009
238f5bb338 Add support for 1.12.1 (#3908) 2017-08-17 16:25:53 +02:00
Lane Kolbly
7bdbfad1bb Changed int parameters to vector parameters in cCuboid and simulators (#3874) 2017-08-17 15:48:38 +02:00
Lane Kolbly
4dd2af27e0 Added knockback to arrows, fixed knockback enchantment handling (#3900)
* Added knockback for arrows, fixed knockback enchantment handling.
2017-08-13 12:40:23 +01:00
Tiger Wang
fdd4b6e7c4 Merge pull request #3897 from peterbell10/PlaceSound
cBlockInfo: Remove/deprecate place sound
2017-08-13 12:37:37 +01:00
Lane Kolbly
62bc951474 Shortened DoIntervalsIntersect to two comparisons, made inline. (#3883)
* Shortened DoIntervalsIntersect to two comparisons, made inline.

* Applied DeMorgan's

* a_Max1 => a_Max2

* Moved DoIntervalsIntersect definition into header file.

* Moved DoesIntersect into header.

* Unindented line
2017-08-13 12:36:22 +01:00
Lukas Pioch
743a50014a Replaced includes with forward declarations 2017-08-13 12:31:10 +01:00
Lane Kolbly
9cc48ac2a3 Removed incorrect assert in cClientHandle::SendRespawn. 2017-08-11 11:00:21 -05:00
peterbell10
0979cd8f17 cChunk: Don't assume GetBlockEntity coords are valid 2017-08-10 19:06:37 +01:00
Tiger Wang
4ef47aed62 Changed entity ownership model to use smart pointers 2017-08-07 19:24:16 +01:00
peterbell10
9472380494 cBlockInfo: Deprecate place sound 2017-08-07 09:31:36 +01:00
Lukas Pioch
07f25253a2 Removed unneeded includes (#3902) 2017-08-06 20:57:44 +01:00
Dan Čermák
028ed77ca9 Fixed compilation for clang 4.0 & gcc 7.1 2017-08-04 11:17:39 +02:00
peterbell10
79eb4c3aed Implement invisibility effect 2017-08-03 15:34:38 +02:00
peterbell10
759618b035 Remove double includes part 2 (#3890) 2017-08-03 15:34:19 +02:00
Lukas Pioch
0397535fa7 Removed unused forward declarations (#3888) 2017-08-03 15:10:29 +02:00
peterbell10
2ef8a62339 Fix BSD build 2017-08-02 22:51:16 +02:00
Lukas Pioch
4691bc5a29 Removed double includes (#3885) 2017-08-02 19:57:20 +01:00
Lane Kolbly
dc49092ae5 Handle Teleport Confirmation Packet (#3884)
+ Added code to drop incoming client position packets until the most recent teleport was confirmed.
2017-08-02 15:46:29 +01:00
peterbell10
0d0323608d cBlockHandler: take player by ref 2017-08-01 08:21:20 +02:00
peterbell10
8eb5672920 cWorld::SendBlockTo take player by ref 2017-08-01 08:21:20 +02:00
Lane Kolbly
10d42a2452 Consolidated food effects into EatItem, added all fish type FoodInfos. (#3875)
* Consolidated food effects into EatItem, added all fish types.

* Changed type of NumFishInfos to satisfy clang.

* Removed unused call for a_Item in EatItem
2017-07-30 18:53:21 +01:00
peterbell10
8fbb9dbf53 cParsedNBT: Improved error reporting (#3876)
* cParsedNBT: Improved error reporting

* Fix typos
2017-07-30 17:55:19 +01: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
Tiger Wang
eb4432bb62 Tentative fix for player-limit race condition (#3862)
* Attempts to fix #2257

Derived from d233e9843148313c71fbaba96ccff660e47b07b1

* Changed player count type to int

* Clarified certain actions
2017-07-28 17:54:40 +01:00
peterbell10
e0a44fb3bc Handle incomplete packets in cProtocolRecognizer 2017-07-26 11:04:08 +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
Bond-009
6e8ec2fe34 Creepers explode when burned by flint and steel (#3865)
Fixed an issue where creepers didn't explode when they were burned with flint and steel
2017-07-22 22:05:09 +01:00
Mattes D
64561175ab BlockArea: Added the GetBounds function. 2017-07-22 19:57:25 +02:00
Lane Kolbly
6a261e451d Fixed check to see if block entity is in merge source. 2017-07-21 21:10:39 -05:00
Tiger Wang
6e749dacd3 Increment fire block iterator
* Resolves potential deadlock
2017-07-21 14:42:38 +01:00
peterbell10
7c687b77ee Remove comment 2017-07-21 14:41:51 +01:00
peterbell10
502b726a7b Simplify SizeCheck 2017-07-21 14:41:51 +01:00
peterbell10
55a5ffdf5c Remove stricmp macro in favour of NoCaseCompare 2017-07-21 14:41:51 +01:00
peterbell10
5a5297974b Remove alignment macros 2017-07-21 14:41:51 +01:00
peterbell10
a56cfd1f42 Remove smart pointer macros 2017-07-21 14:41:51 +01:00
Mattes D
895987a111 FastRandom: Remove discrepancy between arg and return value type. (#3846) 2017-07-21 12:06:21 +02:00
Bond-009
f9b56dd859 Break the cactus block when it grows next to a block. (#3851) 2017-07-18 15:14:52 +02:00
Lane Kolbly
93e1690253 Made cBlockHandler OnPlacedByPlayer call OnPlaced, made BlockRailHandler use NeighborChanged instead of OnNeighborChanged. 2017-07-18 15:12:55 +02:00
peterbell10
60dfaa0967 Allocate redstone component handlers upfront 2017-07-17 21:40:43 +02:00
Mattes D
167c4bf2e6 Simulators: Added area-based wakeup. 2017-07-16 10:01:19 +02:00
peterbell10
41d016cf5b Handle middle mouse drag (#3847) 2017-07-13 15:43:48 +02:00
Bond-009
6a19841121 Added basic ocelot behavior (#3829) 2017-07-12 12:42:02 +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
647d9082b8 If entity is a player, send relmove packets. 2017-07-12 12:12:56 +02:00
peterbell10
d6ee1caf4c Remove double delete of PrepareChunk lua callback (#3844) 2017-07-12 11:56:01 +02:00
Lukas Pioch
e38a2a1e8c Send player message when clicking on advancements or green book. (#3845) 2017-07-12 10:11:29 +02:00
Lane Kolbly
67e4bbde0c Made cBlockArea:cChunkReader AreaBounds inclusive on both sides. (#3842) 2017-07-10 11:10:06 +02:00
Pablo Beltrán
7adec790e6 Sound effect horse rejects player when taming 2017-07-10 05:47:04 +02:00
Lane Kolbly
a561886bf3 Implemented draggingitem API. 2017-07-10 05:46:04 +02:00
peterbell10
b2634bade0 cItemGrid bounds check (#3837) 2017-07-09 22:54:56 +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
Lane Kolbly
10a3bd9d12 Changed Lua plugins to only execute files ending in .lua (#3831) 2017-07-07 08:42:35 +02:00
peterbell10
d838ef7ba4 cBlockInfo static initialisation (#3832) 2017-07-03 18:34:27 +02:00
Pablo Beltrán
7606448b05 Fixes double right click on entities till off-hand actions gets implemented (#3821) 2017-07-03 09:37:38 +02:00
Bond_009
070cb0d21f You can't use beds when there are hostile mobs nearby 2017-07-02 17:10:57 +02:00
Lane Kolbly
7c7f85117b Added armor durability reduction when player is attacked. 2017-07-02 07:45:49 +02:00
Bond-009
b1628846d9 Fix horse taming (#3820)
* Horses rear when untamed and right-clicked with an item
2017-07-02 07:40:59 +02:00
Bond-009
cf22bc4e60 Players in creative and spectator aren't affected by cacti (#3824) 2017-07-02 07:39:19 +02:00
Bond_009
445abe001a When right-clicking on a passive mob with 'his' spawn egg spawn a baby 2017-07-02 07:38:41 +02:00
Bond-009
a944ac3b06 Endermen take damage from rain 2017-06-30 23:53:23 +02:00
Bond-009
0c0bfe54bb Spider should attack only when the light level is lower than 11 (#3815) 2017-06-30 10:48:06 +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
Mattes D
399ea0bf1d cNetwork bindings: Use ApiParamError and CheckParam(Static)Self. 2017-06-26 10:52:59 +02:00
Mattes D
e05ca49459 Moved ApiParamError into cLuaState. 2017-06-26 10:52:59 +02:00
Mattes D
f6bab71d05 Fixed memory leak in cClientHandle. (#3794) 2017-06-26 09:11:30 +02:00
Lukas Pioch
9c25520b69 Corrected APIDoc for cBlockArea and exported missing functions (#3808) 2017-06-26 09:02:06 +02:00
Lukas Pioch
beda050341 Added check if datatype is present in block area (#3811) 2017-06-26 08:49:52 +02:00
peterbell10
bd025e2bdb Fix cBlockArea assertion and mis-indexing (#3810) 2017-06-25 11:07:16 +02:00
peterbell10
f0f001c10d Fix cBlockArea null deref 2017-06-24 23:27:26 +02:00
Mattes D
fe42538349 cBlockArea supports block entities. (#3795) 2017-06-24 11:58:06 +02:00
Lukas Pioch
cc3a67b9df Load entities from old and new names 2017-06-23 18:32:51 +02:00
Bond-009
8484d05d65 Pressure plates can be placed on fences and hoppers (#3796) 2017-06-22 21:11:46 +02:00
Mattes D
ea6660721b NetworkSingleton: Fixed a throw warning in VS2017. (#3792)
Also fixed the misleading name.
2017-06-22 21:10:41 +02:00
Bond-009
0e1649a0f1 Fix shears (and vines)
* Shears now lose durability when breaking any block
* Leaves don't drop 2 leaves anymore when broken by shears
* Removed the chance to drop saplings or apples when leaves are broken by shears
* Vines can't be attached to ender chests, pistons and redstone repeaters
2017-06-21 08:09:03 +02:00
Mattes D
99b4c2bd09 Anvil storage: load block entities from both old and new name-styles. (#3784)
* WSSAnvil: Load the sign text from JSON, too.
2017-06-21 07:47:26 +02:00
peterbell10
fbe17a4e8a Lighting Optimisations (#3785) 2017-06-20 09:28:33 +02:00
Bond-009
3d56ad01aa Let water vaporise in the Nether by default 2017-06-20 09:28:00 +02:00
peterbell10
9201c7be7a Generated tall flowers have flower type meta in both blocks 2017-06-19 20:18:44 +02:00
Mattes D
b0f3336533 MSVC Debug builds: Added operator new redirection to provide more info. (#3781) 2017-06-19 11:09:16 +02:00
Mattes D
801084c38c LuaState: Fixed VS2017's throw warnings for destructors. (#3779) 2017-06-19 11:08:08 +02:00
Mattes D
7ac3b0fa0b Removed the LeakFinder for Windows. (#3777) 2017-06-19 11:05:19 +02:00
Mattes D
bb020bbe78 NetworkSingleton: Fixed an object leak upon termination. 2017-06-17 07:14:20 +02:00
Mattes D
0f21bda12c Fixed missing "override" 2017-06-16 16:20:33 +02:00
Mattes D
0dd1cd750b BlockEntities: Support cloning self. 2017-06-16 14:11:28 +02:00
peterbell10
705132011a Change error no data to no name 2017-06-16 14:06:27 +02:00
Mattes D
e4b60b6a26 Protocol: Do not assume anything about unknown packets. (#3647) 2017-06-16 14:03:13 +02:00
peterbell10
f4de38af80 Remove sign conversion 2017-06-16 07:07:02 +02:00
Mattes D
885d80ccdb Entity: Replaced a mutexed counter with a std::atomic. (#3773) 2017-06-15 16:06:50 +01:00
peterbell10
035ecdc9e2 Replace evdns with getaddrinfo and getnameinfo (#3766) 2017-06-15 11:03:49 +02:00
mathiascode
7fa5725f3b Added missing 1.12 packet changes 2017-06-14 21:57:59 +02:00
Mattes D
d61d6b5b96 Protocol 1.12: Fixed missing override specifier 2017-06-14 15:27:05 +02:00
dbhicks
8d5f01530d Double tall grass drops seeds when broken by water (#3763) 2017-06-14 14:23:33 +02:00
Lukas Pioch
5a228fbc16 Added support for protocol 1.12 (#3757) 2017-06-14 11:22:51 +02:00
peterbell10
4dc72fe00b Remove redundant heighmap code 2017-06-14 11:15:44 +02:00
peterbell10
360d8eade0 FastRandom rewrite (#3754) 2017-06-13 21:35:30 +02:00
Mattes D
9c08b4524c Fix assert when clicking blocks at the top of the world. 2017-06-09 13:44:06 +02:00
Mattes D
c82facab1b Fixed skylight going down through transparent blocks. 2017-06-09 12:17:27 +02:00
Lukas Pioch
4e0ae63ec2 Added WriteBlockEntity to 1.10 and 1.11 and fixed mob spawner 2017-06-09 12:16:44 +02:00
Mattes D
3c4e443ddc Fixed handling Lua errors in nested callbacks (#3755) 2017-06-09 12:16:31 +02:00
Lukas Pioch
7922e6addb Fixes problems with windows:
- Changed cPlayer:OpenWindow to accept a ref, tolua adds a nil check
- Close open lua window in destructor, to avoid dangling pointers
2017-06-05 15:14:23 +02:00
Pablo Beltrán
2b699dc749 Avoid pickups to sink into blocks and disappear (#3739)
* Avoid pickups to sink into blocks and disappear
2017-06-04 06:35:02 +02:00
worktycho
832298e7aa Add command line argument for disabling the logfile 2017-06-03 21:40:35 +02:00
peterbell10
36be4a89f8 Fixed double chests (#3741)
Normal and trapped chests next to each other don't open a double chest window.
Slot changes in the secondary chest are broadcast.
Placing a chest in +x of another updates the original chest's metadata.
2017-06-03 21:17:53 +02:00
Pablo Beltrán
8f1e55611e Fixed exp orb (#3744)
Fixes #3740 
Fixes #2667
2017-06-03 21:10:48 +02:00
mathiascode
5f0d2b902e New icon colors (#3675)
* New icon colors
* New Webadmin favicon
2017-06-03 18:49:02 +02:00
Mattes D
bc6e2100c1 LineBlockTracer: Fixed a math rounding error failure. 2017-05-28 20:59:37 +02:00
Mattes D
0551d78dff Fixed tracer usage in Entity physics handling. (#3720) 2017-05-28 20:56:17 +02:00
peterbell10
ad4172d21c Minor cBrewingRecipes cleanup (#3731) 2017-05-28 20:08:23 +02:00
peterbell10
f261a03c14 Double chest window fix (#3735) 2017-05-28 20:07:38 +02:00
mathiascode
de0c86a690 Broadcast mob head changes 2017-05-28 19:37:47 +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
peterbell10
8a890cf945 Store cChunk::m_BlockEntities in a map (#3717)
* Store block entities in a map from block index
* Cleanup ForEachBlockEntity
* Cleanup DoWithBlockEntityAt
2017-05-22 22:27:55 +02:00
Lukas Pioch
fc49ace897 Spawn eggs works again 2017-05-22 18:10:12 +02:00
Lukas Pioch
e35ac1bfb9 Clang 5.0 fixes
- Added override keyword
- Removed inherited member variables
2017-05-21 12:19:06 +02:00
Pablo Beltrán
758622336e Fixed invisible chests (#3722)
Fixes #3479, #3403, #3696
2017-05-21 11:48:33 +02:00
Pablo Beltrán
2359611c57 Don't destroy monster when last target type is a player (#3721)
In current Cuberite version if you are pursued by monsters you just have to disconnect and connect again to get rid of them. If no other player is in your chunk monsters will get destroyed.
2017-05-21 10:29:06 +02:00
mathiascode
8cf48f7682 Allow enabling/disabling of block change limit 2017-05-19 19:51:03 +02:00
mathiascode
b02886a901 Use FastWriter instead of StyledWriter 2017-05-16 21:17:33 +02:00
peterbell10
f0a16e6d28 VarInt metadata written correctly for boats (#3709)
* Varint metadata written correctly for boats
2017-05-15 18:04:53 +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
3d5ee3e5c7 Fixed Lua bindings for const objects. 2017-05-09 14:10:53 +02:00
Mattes D
ed1b78bcb6 BlockHandlers: vertical alignment. 2017-05-09 11:13:44 +02:00
Mattes D
473a4ae226 BlockCrops: Fixed RipeMeta off-by-one error properly.
Ref.: #3691
2017-05-09 11:11:06 +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
dbhicks
dffbf0b510 Adjusted RipeMeta for off by one error (#3691) 2017-05-06 02:41:01 +01:00
josh-parris
05c3e8bed8 Prevent infinite loop when logging fails (#3693)
Prevent infinite loop when logging fails
2017-05-05 13:02:54 +01:00
Mattes D
0de705eb99 Removed binary ToLua++ from build.
A local Lua executable is used instead.
2017-05-04 17:38:05 +02:00
Mattes D
187abe3f5e Gen: Moved PiecePool into a separate file.
Also rewritten the PieceGenerator to use std::unique_ptr.
2017-05-04 09:49:30 +02:00
Lukas Pioch
74e6f41958 Don't return const ref params and removed functions from
ManualBindings.cpp
2017-05-01 11:10:21 +02:00
Bond-009
2a129b01aa Fix fence gates (#3683)
This commit fixes an issue where a pressureplate would only open oak fence gates
2017-04-29 00:15:47 +01:00
Lukas Pioch
36dea62662 Replace double grass and large fern with placed block 2017-04-06 11:14:27 +02:00
Lukas Pioch
6c420ce557 API: Removed function GetChar (#3664) 2017-04-05 22:31:42 +01:00
Lukas Pioch
fb20517435 APIDoc: Documented missing functions and variables. (#3634) 2017-04-04 07:53:14 +02:00
Marvin Kopf
dbdcb85346 Added a nullptr check to cEntity::IsA (#3659)
Fixes #3603
2017-04-01 23:15:08 +02:00
Marvin Kopf
974c054bc9 fix endless loop in StringReplace (#3658)
* Fixed a recursive loop where the replacement would again be searched for the needle.
* Skip if the needle is empty. Find(needle) always matches if needle is empty.
2017-04-01 12:57:51 +01:00
Lukas Pioch
fd6faedd55 NBT: Corrected firework loading 2017-03-22 14:21:48 +01:00
Bond-009
9c9734282d Fireworks can be fired from a dispenser 2017-03-22 11:35:14 +01:00
Bond-009
76c39dad0f Added blocks that can be washed away by water (#3637) 2017-03-21 09:47:03 +01:00
Bond-009
e8de42fcbb Return bowl when eating beetroot soup 2017-03-20 21:21:02 +01:00
Bond-009
ef85c2e686 Deadbushes drop sticks 2017-03-19 21:57:41 +01:00
mathiascode
4656be19b7 Removed development plugins from settings file 2017-03-19 21:54:01 +01:00
Lukas Pioch
74ee255cae Detach player from entity / object if he is dead 2017-03-19 09:48:15 +01:00
Lukas Pioch
043a82344f Boat spawned, remove it from player's hand 2017-03-17 19:33:18 +01:00
johnsoch
f269565e73 Fixed looping when unable to bind port (#3621)
Fixes #3593
2017-03-17 13:44:28 +01:00
Lukas Pioch
4b1bc1cc5c Removed unnecessary check for lower and upper folder 2017-03-16 17:50:19 +01:00
willi123yao
eb7d684aad Allow mobs to walk through dead_bush (#3623)
Fixes #3618.
2017-03-16 08:54:14 +01:00
Pokechu22
19094e7aa6 Add 1.11 entity metadata (#3601) 2017-03-03 10:59:17 +01:00
Bond-009
2a630e8421 Fixed which blocks can be harvested with what type of pickaxe (#3586) 2017-02-26 12:13:53 +01:00
mathiascode
65ee749013 Corrected particles (#3577)
Fixes wrong IDs causing particles to become unknown to the server.
2017-02-26 01:31:08 +01:00
Bond-009
6fe863c2ad Fixed cactus detection and zombie pigman sword (#3584)
Fixes for issues #902 and #2917
2017-02-25 19:14:08 +01:00
Mattes D
7c17f77c84 BlockCrops: Fixed comments and reformatted control flow. (#3576) 2017-02-25 10:54:44 +01:00
mathiascode
330d66097f Removed a few default plugins (#3580) 2017-02-24 10:11:38 +01:00
Bond-009
ca3aa4ca06 Changed world_end to world_the_end #3531 (#3538) 2017-02-24 10:02:16 +01:00
Jacob
f59bd02e0d Finishers now update the heightmap for tall flowers. (#3545) 2017-02-24 09:55:25 +01:00
Gareth Nelson
1c31cb7eec Add support for alternate config file locations (#3578) 2017-02-22 14:10:32 +01:00
mathiascode
c89b20695d Add 1.11.1/1.11.2 protocol (#3575) 2017-02-21 16:11:28 +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
Bond-009
750e2c1944 Dead bushes will generate in mega mega taigas (#3571) 2017-02-15 20:55:32 +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
Mattes D
72e401313b StringUtils: Dropped an unneeded copy in lower-/upper-casing. (#3512) 2017-02-13 19:56:34 +01:00
Mattes D
585571d78c PieceGenerator: Added rotation-aware vertical connectors. 2017-02-13 16:50:35 +01:00
Lawton Mizell
043aa4e574 Made survival the default gamemode (#3563) 2017-02-07 16:00:30 +01:00
Mattes D
cbff1378fd Fixed bindings for cBlockArea:Read and Write. (#3568)
The original bindings accepted nil as the World param, causing a crash.
2017-02-05 16:00:38 +01:00
Altenius
0896b3b079 Changed big flowers so they don't need air above them. 2017-01-28 13:55:38 +01:00
Altenius
2d376304c2 Changed big flowers so they can only be placed on dirt 2017-01-28 13:55:38 +01:00
Mattes D
6b0c795655 Fixed ClientHandle:GetProtocolVersion returning wrong number. 2017-01-28 10:31:04 +01:00
Mattes D
97980d1103 World: Remember the age persistently. (#3556) 2017-01-19 22:45:23 +01:00
Mattes D
dfa8f278ea World: Removed LineBlockTracer test code. (#3555)
The test for LineBlockTracer is already in the Debuggers plugin (/spidey and testtracer commands).
2017-01-19 21:06:42 +01:00
Jacob
0f687c7182 Fixed placing of double tall flowers and an inconsistency with vanilla (#3541) 2017-01-19 17:21:05 +01:00
Mattes D
a4955dfda3 Removed asserts about chunk queued.
The assumption is not needed and was invalid under a stress-test.
2017-01-19 16:25:07 +01:00
Mattes D
dfb5722fb1 WebAdmin: Renamed two neighboring locks for better clarity / style. 2017-01-18 22:44:44 +01:00
Mattes D
20205d33ba Webadmin: Added a missing CS lock.
This fixes an assert when accessing the login-page and the plugin-failure pages in the webadmin.
2017-01-18 16:30:28 +01:00
Mattes D
7cc3fb098d DeadlockDetect now lists some tracked CS's stats. 2017-01-18 09:03:05 +01:00
Mattes D
a52de8e8cd DeadlockDetect: Provide more information for debugging. 2017-01-17 18:35:12 +01:00
Mattes D
e9547101b1 LuaState: Fixed untracking references.
One thread may untrack a ref while another thread was closing the LuaState, which had emptied the tracked refs.
2017-01-15 12:54:58 +01:00
Mattes D
e28cecb3d1 Moved cPrefab parser self-check to the LoadablePieces test. (#3536) 2017-01-15 11:40:10 +01:00
Mattes D
fb0fc07579 Fixed race conditions and forgotten clear in Lua ref tracking. (#3530)
This fixes occasional crashes on plugin reload.
2017-01-13 10:31:05 +01:00
Mattes D
f62711f97c LuaState: Fixed race condition in ref tracking. (#3529) 2017-01-09 15:56:16 +01:00
sweetgiorni
6522385897 Disconnect sent flag added
Truthiness no longer assumed
2017-01-03 13:14:28 -08:00
Mattes D
ff1c0605db TCPLink: call networking callbacks with LibEvent unlocked. (#3515) 2017-01-03 13:11:27 -08:00
Pokechu22
28cc26c54c Track skin part and main hand preferences (#3498) 2017-01-03 13:11:26 -08:00
sweetgiorni
0718d82e1a Player check
Checks if there are any players connected to the server before running
PlayerCallback and waiting 1 second.
2017-01-03 12:31:07 -08:00
sweetgiorni
78b6d54bf8 Api Documentation
Added API documentation for GetShutdownMessage.
Style fix in Root.cpp
2017-01-03 12:18:53 -08:00
sweetgiorni
25e4f15488 Custom Disconnect Message
Adds a m_ShutdownMessage option to the settings. When the stop command
is issued, players are kicked with said message before the server shuts
down.
2017-01-03 11:15:34 -08:00
Fabian Stein
ad476e1cf9 Fix crash after attempting to kill a non-running thread (#3504)
Fixes #3221
2017-01-01 22:43:24 +01:00
LogicParrot
d4353f8084 Disabled anticheat (#3511) 2017-01-01 15:47:17 +02:00
Fabian Stein
c8b1d8a37d Fix crash after calling OnTick on removed effect (#3501) 2016-12-30 00:06:30 +01:00
Fabian Stein
4170ab62c0 Fixed entity effect ticking (#3497)
Fixes #3386
2016-12-29 15:21:41 +01:00
Fabian Stein
90fcf9814f World: Add check for unknown RedstoneSimulator (#3496) 2016-12-29 00:41:20 +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
1a81eb0f07 CMake: Output the binary to Server folder in all configurations. (#3486) 2016-12-18 14:40:27 +01:00
Mattes D
c7ce9909c8 CompositeChat: Use shorter JSON format. 2016-12-16 00:07:23 +01:00
Mattes D
0e3b3be766 Initial support for the 1.11 protocol. 2016-12-16 00:07:22 +01:00
Mattes D
caa05e7935 Fixed minecart destruction using deallocated memory. 2016-12-15 14:57:48 +01:00
Tiger Wang
8c6d0b51c7 Use CMake's Android generators to crosscompile 2016-12-12 14:32:32 +00:00
Lukas Pioch
0c10704d1f Export GetPosition and GetSpeed from cEntity as a copy instead of a pointer to lua. 2016-12-10 13:32:11 +01:00
Marvin Kopf
ff4be64edc Powered rails can kick-start minecarts (#3472) 2016-12-10 09:53:35 +01:00
Mattes D
e8fb85be88 Fix meta mirror (#3470) 2016-12-09 12:29:04 +01:00
Marvin Kopf
d394042694 Fix comparator segfaults
The handler would get called for any BlockEntity, but not every BlockEntity is a BlockEntityWithItems. Downcasting with static_cast is UB on fail.
2016-12-06 19:40:00 +01:00
James Balajan
df5be57c1e Fix floating large trees (#3460) 2016-12-02 10:52:29 +01:00
Mattes D
bb78bd88b5 Fixed villages generating under-water.
The CompoGenBiomal didn't update the heightmap properly.
2016-12-01 17:45:31 +01:00
QuImUfu
fb2eaaa847 Added code to handle signs replacing blocks 2016-12-01 15:20:03 +01:00
Mattes D
6b70574da9 Prefabs: Implemented support for ExpandFloorStrategy. 2016-11-24 15:51:53 +01:00
Mattes D
d17b21da55 cWolf: Fixed targetting a nullptr. 2016-11-22 17:51:53 +01:00
Mattes D
2aecc7d701 Fixed race conditions in cClientHandle's State. 2016-11-19 23:24:01 +01:00
Mattes D
0bffa29358 Removed ClientHandle.h dependencies from common headers. 2016-11-18 20:00:04 +01:00
Mattes D
eedc1174a5 Added NoiseSpeedTest project. 2016-11-15 07:38:00 +01:00
Mattes D
da2ea3c2ff Added missing "override" specifier. 2016-11-13 16:22:03 +01:00
mohe2015
a990a6d133 Add Lua API export for titles. (#3408) 2016-11-13 16:04:18 +01:00
Mattes D
9af17f7c39 LuaState: Fixed stack balance when calling functions (#3428) 2016-11-10 16:46:31 +01:00
Mattes D
0870649994 Fixed TrappedChest saving. (#3423)
Vanilla uses "Chest" in NBT for trapped chests.
2016-11-07 21:16:55 +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
Lukas Pioch
b088123d18 Added SendMessageRaw for sending json string. 2016-10-21 11:17:39 +02:00
mohe2015
502b5ec732 StyleCheck: Add "else has to be on a separate line" (#3412) 2016-10-20 19:09:18 +02:00
bibo38
cb640ffea4 Spectators added (#2852) 2016-10-12 14:38:45 +02:00
LogicParrot
4e33569110 Fixed cProjectileEntity double destroy bug (#3397) 2016-10-09 17:22:34 +02:00
LogicParrot
1e8cae6415 cChunk::SetAlwaysTicked implies cChunk::stay (#3361) 2016-10-09 15:46:09 +03:00
sgtbigman
7bcc3535fd
Initialize m_bIsInBed in cPlayer constructor.
This fixes an issue where the return value from the IsInBed method of
the cPlayer class in the lua API would not return a boolean value.
2016-10-08 00:58:43 -04:00
Mattes D
e0f158bba9 Fixed cRankManager API docs. 2016-10-06 21:24:31 +02:00
Moritz Borcherding
b268db4caa Use cChunkDef::Height for Y coord comparison where applicable. 2016-09-27 14:32:20 +02:00
Mattes D
b1530bb28e LuaAPI: Fixed possible crashes in HTTPRequest bindings. 2016-09-26 12:47:40 +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
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
c83b051c1a Bindings: Fixed some function signatures comments. 2016-09-08 23:06:38 +02:00
Mattes D
d3cf47cc5d APIDump: Removed trailing whitespace. 2016-09-08 23:05:52 +02:00
bibo38
015ab00e12 Enclosed Clang pragmas with ifdef's (#3373)
Fixes a warning in MSVC
2016-09-06 23:00:28 +02:00
Mattes D
f7029eddd4 Merge branch 'master' of https://github.com/cuberite/cuberite 2016-09-05 15:05:54 +02:00
Mattes D
08110ae91b PluginLua: Removed unneeded assignment.
Duplicated in SetLoadError().
2016-09-05 15:05:25 +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
LogicParrot
90be4e7efd Entities now bail out of ticks if destroyed (#3363) 2016-09-03 14:31:27 +03:00
LogicParrot
5625598afa Improve cPlayer::DoMoveToWorld (#3113) 2016-09-03 10:39:52 +03:00
bibo38
61078e8402 Added support for the Minecraft 1.10 protocol(#210) (#3348)
* Added support for the Minecraft 1.10 protocol(#210)

* Fixed the Clang compilation errors

* Fixed wrong sound pitch value and fixed SendPlayerSpawn Metadata value.

* Prefixed each enum item with the appropriate class name.
2016-09-02 20:22:06 +03:00
LogicParrot
dd8daaf63e Remove settings.ini world migration code (#3360) 2016-08-29 17:27:38 +03:00
LogicParrot
c088f7ff0a Proper respawn packets on dimension travel 2016-08-29 11:16:06 +03:00
LogicParrot
d5b3fbcadb Fixed SendUnloadChunk bug (#3353) 2016-08-28 12:42:34 +03:00
ElNounch
40b929c02e Fix breaking ice in survival not giving a water's source (#3356)
Fix #3355
2016-08-28 08:18:32 +03:00
Mattes D
d2e8643607 Fixed type-casting-related warnings. 2016-08-24 22:26:53 +02:00
Mattes D
c45bd4b968 HTTP: Fixed empty headers parsing. 2016-08-24 08:28:44 +02:00
Mattes D
5ca371bb9a cUrlClient: Exported to Lua API. 2016-08-23 13:20:43 +02:00
Mattes D
74918ce805 cUrlClient: Refactored callbacks to use UniquePtr. 2016-08-22 23:44:37 +02:00
Mattes D
641cb063bc cTCPLink supports TLS out of the box. 2016-08-22 23:44:36 +02:00
Mattes D
6c760ee348 UrlClient: Basic HTTP implementation. 2016-08-22 22:16:42 +02:00
Mattes D
11682d1386 cLuaState: Moved function param counting to PushCallPop() template.
The Push() functions can be used not only for function params, but also returns or temporaries, so it doesn't make sense to count the params there.
2016-08-22 20:10:48 +02:00
Mattes D
9493488e48 cLuaState: Added direct support for pushing a nil constant. 2016-08-22 20:09:56 +02:00
Mattes D
89c9c6fe46 cLuaState: Added support for optional params and AStringMap values. 2016-08-22 20:01:23 +02:00
ElNounch
e9d1a942d1 Delay EntityChangedWorld players' callback until Entity fully linked to world (#3330)
Otherwise, some API calls just don't seem to happen
.gitignore tweak for test executables
2016-08-22 19:43:43 +02:00
Mattes D
07c5f09ecf WebAdmin: Report opened ports. (#3333) 2016-08-21 11:03:26 +02:00
Mattes D
d4aff474c2 cLuaState: Added template to push multiple values in a single call. (#3331) 2016-08-21 11:03:10 +02:00
LogicParrot
2f11655f00 Fix minecart destruction crash (#3336) 2016-08-20 23:12:48 +03:00
LogicParrot
7b3a8a535a Fixed minecraft with chest destruction crash (#3335) 2016-08-20 18:19:54 +03:00
Mattes D
7549f468b3 Fixed implicit rounding warnings. 2016-08-19 14:09:10 +02:00
Mattes D
c66bd7e206 Pull the cSettingsRepositoryInterface::noID constant into cIniFile Lua API.
This re-adds the cIniFile.noID constant into the Lua API
2016-08-18 12:12:31 +02:00
ElNounch
787173351d Fix cWorld:QueueTask() Lua's binding
Manual binding expect three parameters : self, a number, a function
And then read self and a function...
Removing the extra check for the broken second argument
2016-08-17 23:27:26 +00:00
ElNounch
d75bbdd03d Fixing string literal catching word letter as hexa-digit
Was sending "\x08C""uberite" as plugin identifier, aka a String of lenght (Varint 0x8c 0x75 ->) 14988 characters but only 7 provided
Now sending "\x08""Cuberite" as plugin identifier, aka a String of lenght (Varint 0x08 ->) 8 characters, with 8 provided
Fix BungeeCord compatibility
2016-08-17 07:37:48 +00:00
ElNounch
343531bafa Added cWorld:SetSpawn() API and Lua binding (#3316) 2016-08-15 10:41:32 +02:00
Mattes D
0f51f7e358 Fixed cWorld:ChunkStay bindings. (#3319)
Introduced new cLuaState::cOptionalCallback for representing optional callbacks (nil from Lua side).
Introduced new cLuaState::cStackTable class for easy access to Lua table's elements.

Fixes #3305.
2016-08-14 16:26:31 +02:00
NiLSPACE
ab6e8b790c Implemented OverworldClumpFlowers 2016-08-14 13:32:39 +02:00
Mattes D
dd5567a90c IPLookup: Fixed a soft memory leak when looking up invalid IPs. 2016-08-13 21:16:21 +02:00
Mattes D
2d58789d66 Converted cLuaState::cTableRef to use cTrackedRef.
This makes the table-based callbacks resistent to LuaState unloads and safer to use.
2016-08-13 21:16:21 +02:00
Mattes D
6a6f0fb9e4 Revert "Added a BasicStyleCheck for virtual functions without override keyword."
This reverts commit a800b5bd9f.
2016-08-13 10:22:41 +02:00
Mattes D
a800b5bd9f Added a BasicStyleCheck for virtual functions without override keyword. 2016-08-13 10:19:55 +02:00
Alexander Harkness
baefed8061 Fix issue #3312
Nether brick fences now drop their item.
2016-08-12 13:55:41 +01:00
Mattes D
ec235e7120 Removed debug log message.
Ref.: #3308
2016-08-11 21:15:54 +02:00
Mattes D
c4578db4df Fixed LuaAPI library registrations. (#3308)
lsqlite3 didn't clean up the stack properly.
lxp didn't register itself properly.
2016-08-11 21:04:29 +02:00
Mattes D
876496c953 Removed "." and ".." from cFile:GetFolderContents(). (#3301) 2016-08-07 12:50:19 +02:00
Mattes D
778b29b6f4 Fixed cFile API bindings. 2016-08-06 22:08:18 +02:00
Mattes D
f07dc71648 Commented out code_out.cpp generating.
Fixes #3296.
2016-08-06 18:28:57 +02:00
Mattes D
d1dee3c909 Fixed RasPi builds of unit tests.
On RasPi with gcc 4.8.2, the asserts wouldn't compile when tests were enabled.
Enforced the assumption that ASSERT code is generated only in Debug builds.
2016-08-04 20:47:53 +02:00
LogicParrot
70e4214a2a Added compile.sh folder check warnings 2016-08-04 18:51:12 +03:00
Alexander Harkness
58b29adc88 Fixed cFastRandom Test. (#3291)
This resolves #3290
2016-08-03 09:35:42 +02:00
Tiger Wang
38368f361d Simplified cChunkMap chunk storage (#2565) 2016-08-03 00:56:53 +02:00
Tiger Wang
d46f7ce2c8 Redstone fixes (#3285)
* Comparators and pistons no longer update instantly
* Fixes #3168.
* Consolidated comparator code
* As a result, fixed an issue where GetPowerLevel didn't consider block
entities behind it (only GetFrontPowerLevel did)
2016-07-31 21:54:35 +01:00
Alexander Harkness
320d1c6151 Fix tab list sometimes not updating after a player leaves. (#3280)
When a player leaves the game, their client handle has its state
changed to csDestroyed.

This should fix issue #3138
2016-07-31 12:02:21 +01:00
Alexander Harkness
62702cab48 Fixed port command line argument. (#3287) 2016-07-30 12:21:11 +01:00
Alexander Harkness
fb2e231f5e Fix the error in #3270. 2016-07-29 19:51:33 +01:00
Mattes D
a3112cdc45 Revert "Redstone fixes" 2016-07-29 07:56:50 +02:00
Tiger Wang
62090e7bed Consolidated comparator code
* As a result, fixed an issue where GetPowerLevel didn't consider block
entities behind it (only GetFrontPowerLevel did)
2016-07-28 23:20:53 +01:00
Tiger Wang
04cc8aa0f5 Comparators and pistons no longer update instantly
* Fixes #3168.
2016-07-28 23:20:52 +01:00
Alexander Harkness
a2a9341c24 Tab completion across worlds (#3270)
Fixes #2563.
2016-07-21 13:00:30 +02:00
Mattes D
fc5fb03fec CMake: Fix system Lua usage for non-5.1 versions. (#3271) 2016-07-21 10:46:31 +01:00
Mathias
e7b4d7a776 Dropped 1.7 support (#3253) 2016-07-21 09:47:42 +02:00
Alexander Harkness
36da108e5d Fix endianness issue with ODROID-C2 Boards (#3268) 2016-07-20 16:34:22 +01:00
Mattes D
8eaa8613da CMake: Remove needless minimum version specifications. 2016-07-18 22:11:42 +02:00
Mattes D
430b623223 Use system Lua, if available, to generate bindings.
Closes #1031.
2016-07-18 22:11:41 +02:00
Mattes D
f8e1df2476 Updated API documentation. 2016-07-18 22:11:40 +02:00
Mattes D
28732bc339 Vector3: Removed useless NormalizeCopy overload from LuaAPI. 2016-07-18 22:11:39 +02:00
Mattes D
abf35f3976 DiffAPIDesc: Support optional params in desc. 2016-07-18 22:11:39 +02:00
Mattes D
f0c53dbad4 LuaAPI: Fixed bindings for cChunkDesc:GetBlockTypeMeta 2016-07-18 22:11:38 +02:00
Mattes D
b11605e951 Bindings: Added a script to generate a diff between APIDesc and ToLua.
This allows a simple copy operation from the DoxyComments into APIDesc.
2016-07-18 22:11:38 +02:00
Mattes D
984c0a2cef Bindings: Don't generate docs for private symbols, mark static symbols. 2016-07-18 22:11:38 +02:00
Mattes D
61f76dd7a5 Bindings: Output description is valid Lua file. 2016-07-18 22:11:37 +02:00
Mattes D
751d0d0736 Bindings: Extract unexported DoxyComments. 2016-07-18 22:11:36 +02:00
Mattes D
c5714f6e4b Bindings: Extract DoxyComments 2016-07-18 22:11:36 +02:00
Mattes D
1a30c2262b Added a Pure-Lua implementation for bindings generation.
The BindingsProcessor.lua script can be opened in ZeroBraneStudio and debugged from there, it invokes the entire ToLua++ processing.
Also added docs-generation to the ToLua++ processor.
2016-07-18 22:11:35 +02:00
beeduck
db65e11d57 Fixes for boat entities (#3265)
protocol for vehicles now properly handled, protocol for boat paddles now properly handled, boats can no longer spawn underwater, boats now properly float, boat metadata now properly broadcasted.
2016-07-18 22:10:00 +02:00
Mattes D
5095a9f48b Fixed Lua Json serializing a bool.
Fixes #3257.
2016-07-10 08:16:44 +02:00
gaurav sehgal
97b9422a3e removed cast from BlockTrapdoor.h (#3256) 2016-07-07 09:55:07 +02:00
Altenius
c54f9cede2 Fixed piston destroying other pistons
Fixes #3251
2016-07-06 08:04:58 -04:00
Altenius
510614e8ef Fixed falling block spawning
Fixes #3222
2016-07-05 17:10:58 -04:00
Mattes D
a184f57eb3 Bindings: Added missing dependencies.
Fixes #3245
2016-07-02 00:30:22 +02:00
Mattes D
0eea5c9fc5 CircleCI: Check for missing Bindings dependencies
This commit fails the CircleCI tests on purpose, so that we know that the check works.
2016-07-02 00:30:22 +02:00
Lukas Pioch
2b78fd6227 Revert "Made redstone handlers static" 2016-07-01 23:23:22 +02:00
Lukas Pioch
9b96c0d18d Close chest window if minecart is destroyed 2016-06-30 11:08:09 +02:00
Mattes D
bf88312a16 Converted cLuaState::cCallbackPtr into a UniquePtr. 2016-06-27 20:51:53 +02:00
Mattes D
7a6670d1d1 Removed dead code related to callbacks. 2016-06-27 20:51:52 +02:00
Mattes D
257c5a1a54 cPluginManager: Use a callback for command handler registration. 2016-06-27 20:51:52 +02:00
Mattes D
24853397ef LuaState: Implemented proper locking for cCallback. 2016-06-27 20:51:51 +02:00
Mattes D
fb4c3fc4d9 Changed cLuaWindow callbacks to use cLuaState::cCallback. 2016-06-27 20:51:50 +02:00
Mattes D
a473725121 Removed the cPluginLua::cResettable class.
The functionality provided by that class has been superseded by cLuaState::cCallback, with better multithreading support.
2016-06-27 20:51:50 +02:00
Mattes D
b7e1a66815 Changed world tasks to use cLuaState::cCallback. 2016-06-27 20:51:49 +02:00
Mattes D
4489a89fde Changed plugin hook registrations 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
Mattes D
1f75d45222 Added cLuaState::cCallback for representing (resettable) Lua callbacks. 2016-06-27 20:51:48 +02:00
Mattes D
1462e4f70e Self tests (#3242)
* SelfTests: Added a cEvent stress-test.

* cNetwork: Fixed startup event hang.

The original code used to hang with a ~ 1:50000 chance, because on Linux the cEvent was destroyed before its "Set()" returned.
2016-06-26 14:51:12 +01:00
Mattes D
8610083a8e cNetwork: Fixed possible hang when terminating immediately after init. 2016-06-18 13:12:12 +02:00
Mattes D
96034810df Flush immediately after each line when running tests. 2016-06-18 13:12:11 +02:00
Mattes D
36eefbf0f2 SelfTests: Removed the unneeded cSelfTests class. 2016-06-18 13:12:10 +02:00
Mattes D
75a81cf753 SelfTests: Moved BoundingBox test to a separate project. 2016-06-18 13:12:09 +02:00
Mattes D
a781be5456 SelfTests: Moved SchematicFileSerializer test into a separate project. 2016-06-18 13:12:08 +02:00
Mattes D
db17f585af SelfTests: Moved cCompositeChat test to a separate project. 2016-06-18 13:12:08 +02:00
Mattes D
ab6f68b42c SelfTests: Moved ByteBuffer test to a separate project. 2016-06-18 13:12:07 +02:00
Mattes D
3184433756 Moved NetworkInterfaceEnum test to a separate test project. 2016-06-18 13:12:06 +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
Mattes D
fbe9866524 Bindings: Add a const-ptr variant to all stack getter functions 2016-06-05 17:20:50 +02:00
QUSpilPrgm
f1192c6860 Makes tall grass and large flowers bonemealable
Adds the bonemeal particle effect to some more places
2016-06-03 15:45:49 +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
Tiger Wang
a5ec2d8ca2 Fixed fall damage
* Fixes #3216
2016-06-01 23:46:24 +01: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
QUSpilPrgm
a567b36a8a Don't let redstone blocks power adjacent blocks. (#3214)
* Don't let redstone blocks power adjacent blocks.
This fixes issue #2966
2016-05-28 21:48:36 +01:00
Tiger Wang
98cc2a9987 Made redstone handlers static
* Improvements to performance? Maybe. Can't hurt (he says).
2016-05-28 15:06:57 +01: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
b3d4e0fca6 Fixed death on teleportation or leaving Minecart (#3181) 2016-05-03 10:48:39 +03:00
LogicParrot
adac9cb68e Fix crash on world travel (#3180) 2016-05-03 10:05:48 +03:00
LogicParrot
36754f20f8 Fix Crash on stopping the server (#3176) 2016-05-02 00:18:21 +03:00
LogicParrot
5265c6aaf6 Proper minecart DoSetSpeed Override (#3174)
Closes #3173, Introduced in #3037.
2016-04-30 13:07:35 +03:00
benf516
3b64719f55 Disable Enderman Spawn (Issue #3108) (#3170)
Temporarily disabled enderman spawning until the glitches can be fixed
2016-04-30 07:57:10 +03:00
LogicParrot
7c7a0a0085 ChunkLayers now stored in std::map 2016-04-24 20:02:24 +03:00
LogicParrot
00e7b65d87 Fixed some logout crashes 2016-04-24 19:09:44 +03:00
LogicParrot
b48b61eca4 Revert "ChunkLayers now stored in std::map" 2016-04-24 17:40:37 +03:00