1
0
Fork 0
Commit Graph

5282 Commits

Author SHA1 Message Date
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
LogicParrot 51a7465ae1 ChunkLayers now stored in std::map 2016-04-23 11:48:16 +03:00
LogicParrot 3283a9613c ClientHandle destruction thread safety 2016-04-23 10:22:48 +03:00
LogicParrot 77bf00a599 Out of world blocks are now always considered air blocks 2016-04-23 09:54:34 +03:00
LogicParrot 7f5757eccf Reduced unnecessary block updates 2016-04-23 00:30:00 +03:00
Woazboat 0d5a219eff Fix minecart block collision on curved rails 2016-04-22 22:56:40 +02:00
LogicParrot 109a07fd95 Updated vector hashing bit operations 2016-04-22 17:45:45 +03:00
LogicParrot 9b60ee6e43 Auto clean bad world linkages 2016-04-19 12:06:52 +03:00
Alexander Harkness e0e3f396f2 Proper fix for #3136 (#3143) 2016-04-18 23:04:13 +01:00
LogicParrot 250e50c01e Fix issues below y = 0 2016-04-18 21:58:57 +03:00
LogicParrot c921f47d85 Prevented snow from killing grass 2016-04-16 21:54:35 +03:00
LogicParrot 373d9f92a4 Updated cChunk::SetMeta, fixed grass growth, reduced markDirty/setMeta usage 2016-04-16 19:04:45 +03:00
Marvin Kopf 01a100dc97 Add speed limit enforcement for minecarts 2016-04-15 01:59:18 +02:00
LogicParrot df145ca0f3 Revert "Issue3136" 2016-04-14 12:40:46 +03:00
LogicParrot 9bec04ab1e Fix occasional freeze bug 2016-04-13 15:44:08 +03:00
Alexander Harkness 8658d4ddd6 Fixed port override code. 2016-04-12 21:40:09 +01:00
LogicParrot c9e80cdeae Revert "Move mob tick code to cChunk" 2016-04-06 12:16:14 +03:00
LogicParrot 5bbf033a65 Move mob tick code to cChunk 2016-04-06 09:33:43 +03:00
LogicParrot 56a855d599 Manual mob burn code 2016-04-06 09:18:33 +03:00
LogicParrot bb0e885589 Minor improvements to player freeze 2016-04-05 21:47:49 +03:00
LogicParrot a431b45641 Improved player freeze code 2016-04-05 14:20:50 +03:00
LogicParrot 4678dbbba3 Prevent Nether teleportation loops 2016-04-04 17:53:08 +03:00
LogicParrot dd0ce3287f Players never fall through unloaded chunks or end up inside solids on teleport 2016-03-31 21:35:43 +03:00
LogicParrot 13195cd207 Fix adding players to world 2016-03-31 20:40:58 +03:00
LogicParrot e223eec1c0 Player death crashfix 2016-03-31 19:55:59 +03:00
LogicParrot 630ceed2c0 Entities are never lost 2016-03-30 14:56:47 +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
Mathias 83c4cba1fd Updated icons and logo 2016-03-28 19:42:14 +03:00
LogicParrot a3d9bd8ba0 Fix passive mob destruction crashes 2016-03-28 18:37:43 +03:00
LogicParrot ebd80805ca Rewrite mob tick code 2016-03-23 10:32:09 +02:00
Mattes D e3d34d9917 Revert "Lua callback" 2016-03-21 09:58:15 +01:00
Lukas Pioch 5fa9c47f77 Fixed misuse of comma. 2016-03-18 20:20:30 +01:00
Blitz Rakete 4e0f829729 Fixed leaping potion not giving jump boost 2016-03-18 11:54:28 +01:00
Mattes D af200dfaae Changed cLuaWindow callbacks to use cLuaState::cCallback. 2016-03-17 19:29:03 +01:00
Mattes D 5dfcc15d1f Removed the cPluginLua::cResettable class.
The functionality provided by that class has been superseded by cLuaState::cCallback, with better multithreading support.
2016-03-17 19:29:02 +01:00
Mattes D d0a04a7a82 Changed world tasks to use cLuaState::cCallback. 2016-03-17 19:29:02 +01:00
Mattes D eb044e140e Changed plugin hook registrations to use cLuaState::cCallback. 2016-03-17 19:29:01 +01:00
Mattes D 62d81eb763 Removed cWebPlugin, WebAdmin uses cLuaState::cCallback. 2016-03-17 19:29:01 +01:00
Mattes D 3aa7656823 Added cLuaState::cCallback for representing (resettable) Lua callbacks. 2016-03-17 19:29:00 +01:00
Mattes D 72467fe0d4 HTTP: Added missing HasAuth flag initialization. 2016-03-11 10:44:35 +01:00
Mattes D 6f174b99bf HTTP: Fixed header parsing. 2016-03-03 16:20:11 +01:00
Mattes D 4bf2dd2d2b WebAdmin: Finish HTTP responses. 2016-03-03 13:46:45 +01:00
tonibm19 27968aa958 fixed horse bug
horse could be "controlled" without a saddle or being tamed
2016-03-01 19:52:21 +01:00
Mattes D 6ff389f6d4 HTTP: Fixed typos and bad leftovers. 2016-03-01 16:20:00 +01:00
Mattes D 71a1fa81f0 Renamed HTTPResponse to HTTPOutgoingResponse. 2016-03-01 16:19:59 +01:00
Mattes D 52d18b4559 WebAdmin uses the new HTTP parser framework. 2016-03-01 16:19:58 +01:00
Mattes D 12d95ab047 HTTP: Fixed response parser, unified API. 2016-03-01 16:19:58 +01:00
Mattes D 52c5ce6598 Fixed HTTP parsing when in insecure mode.
Parsing would ignore the size of data already buffered, resulting in bad_alloc exception.
Fixes #2898.
2016-03-01 16:19:57 +01:00
Mattes D fea556ca1b Renamed HTTPServer folder to HTTP.
It contains client code as well.
2016-03-01 16:19:56 +01:00
Mattes D fce68dc8f3 Added HTTPResponseParser. 2016-03-01 16:19:56 +01:00
Mattes D b92346e3cc Moved cHTTPRequest to a separate file, renamed to cHTTPRequestParser. 2016-03-01 16:19:55 +01:00
Mattes D 2dbc54a148 Renamed the HTTP classes to indicate they're for server. 2016-03-01 16:19:55 +01:00
tonibm19 91072e1d62 Mobs no longer spawn at the top of the nether.
I don't really know if this is the right place for the check, but it
works.

Add bedrock check

fix typo

Using code provided by NiLSpace and fixed a horse's bug

-Horses can no longer be "controlled" if they're not tamed and saddled

removed unrelated horse code

Fixed mobs spawning above bedrock
2016-03-01 12:07:46 +01:00
Mattes D be9f24d942 Fixed LinearUpscale's bounds checking. 2016-02-24 14:57:36 +01:00
Mattes D 4457110579 Made ProtIntGen's max size compile-time-configurable. 2016-02-24 14:57:35 +01:00
Mattes D 191140dd5e Removed old and wrong code from Globals.h. 2016-02-24 14:57:34 +01:00
Mattes D 1540f8fb5e Fixed includes in IntGen. 2016-02-24 14:57:33 +01:00
LogicParrot 8077c49593 Fixed removing entities from parent chunks 2016-02-22 10:30:24 +02:00
Mattes D 98d3bdebb4 LuaTCPLink: Report data received via SSL just before connection closed. 2016-02-21 10:44:34 +01:00
Marvin Kopf f9506f6405 Add check if entity is in chunk before changing tick status 2016-02-21 00:07:58 +01:00
Alexander Harkness e628908a7d Fix #3030
Logicparrot's instructions
2016-02-20 18:42:43 +00:00
worktycho 4495dd62b9 Merge pull request #3026 from iam10K/master
Stop Tamed Wolf from following player when he is flying
2016-02-19 22:08:41 +00:00
Tyler Encke f29908ce77 Stop Wolf from following player when he is flying
Check to make sure player is not flying before allowing wolf to move to player.

Fixed isFlying to IsFlying
2016-02-19 13:07:07 -05:00
LogicParrot 83459d0d89 Proper entity destruction in non-ticking chunks 2016-02-19 07:05:22 +02:00
Lukas Pioch dc4ea39755 Don't remove water after ice block has been destroyed 2016-02-18 08:16:34 +01:00
Marvin Kopf f96903c661 Fix minecart entity collision
* Minecarts no longer handle a collision if the entity is behind them.
* Minecarts will leave the pushing after a collision on a straight rail to the entity.
2016-02-16 17:02:05 +01:00
LogicParrot f405c8820e Fix unicode handling in StringUtils::TrimString 2016-02-16 16:58:27 +02:00
Tiger Wang 3c272b55ea Merge pull request #2985 from marvinkopf/poweredrail
Update RedstoneSimulator to delete unused cached PowerData
2016-02-09 22:02:50 +00:00
Marvin Kopf af514acd8c Update RedstoneSimulator to delete unused cached PowerData
When a new block was placed that has a corresponding RedstoneHandler the PowerData for the position was cached, but never deleted and remained unchanged when the block got destroyed. The RedstoneSimulator now erases all cached PowerData for positions where the block doesn't have a RedstoneHandler (i.e. Air).
2016-02-09 22:19:29 +01:00
LogicParrot 3fb32a5535 Write to console when autofixing linkages 2016-02-09 10:02:36 +02:00
LogicParrot f3e0a5f656 Add forum link to linkage error message 2016-02-09 09:30:22 +02:00
LogicParrot 91fd275c0b Improve world linkage error message 2016-02-09 00:40:26 +02:00
LogicParrot 6e269de274 Prevent player from falling when block breaking is denied 2016-02-08 14:10:51 +02:00