1
0
Commit Graph

5323 Commits

Author SHA1 Message Date
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
LogicParrot
bcbfd3348d Merge pull request #2990 from LogicParrot/defaultWorld
Add DefaultWorld to newly generated INI
2016-02-08 12:49:20 +02:00
LogicParrot
dd34243521 Add DefaultWorld to newly generated INI 2016-02-08 12:26:21 +02:00
LogicParrot
3efdfca61d remove cWorld::createAndInitializeWorld 2016-02-08 12:17:10 +02:00
LogicParrot
ed97946bb9 Merge pull request #2961 from LogicParrot/enforce
[PhantomWorlds - 4] Prevent server from starting if there's bad world linkage
2016-02-08 11:57:57 +02:00
LogicParrot
8fd2cb5db2 Merge pull request #2953 from LogicParrot/worldRebuild
[PhantomWorlds - 3] Regenerate worlds with proper dimension types and linkages
2016-02-08 11:57:42 +02:00
LogicParrot
aefacbd3cd Merge pull request #2969 from LogicParrot/ini
Ignore trailing and leading spaces in INI values
2016-02-08 00:33:16 +02:00
Tiger Wang
f76a964f65 Merge pull request #2981 from Drahoslav7/master
Fix Pickups of BlockFlower
2016-02-07 14:27:34 +00:00
Drahoslav Bednář
d85c3590fc Fix Pickups of BlockFlower
BlockMeta is handled correctly, when converting to pickups, so flowers
now drops right flower type.
2016-02-06 22:04:00 +01:00
LogicParrot
0709f76478 Style checker - Prevent whitespace-only lines 2016-02-06 19:07:03 +02:00
Julian Laubstein
6fdd7194c8 Merge pull request #2974 from LogicParrot/perl
Bulk clearing of whitespace
2016-02-06 11:37:34 +01:00
LogicParrot
2b81759bdc Merge pull request #2958 from LogicParrot/fence
Pathfinder now properly treats nonsolids above fence
2016-02-06 10:25:06 +02:00
LogicParrot
96f9afa278 Proper world linkages and dimension types for newly created world.ini's 2016-02-06 10:18:13 +02:00
LogicParrot
ca6ef58b1e Bulk clearing of whitespace 2016-02-05 23:50:18 +02:00
LogicParrot
87a31e3a2d Merge pull request #2972 from marvinkopf/PlayerAutoComplete
Tab completion for player names now case insensitive.
2016-02-05 22:42:20 +02:00
LogicParrot
e3fe15ca59 Merge pull request #2954 from kevinr/implement-acacia-block-height
Implement acacia block height
2016-02-05 22:32:44 +02:00
Marvin Kopf
0b826b0e52 Tab completion for player names now case insensitive. 2016-02-05 21:27:31 +01:00
LogicParrot
e51a139035 Ignore trailing and leading spaces in INI values# Please enter the commit message for your changes. Lines starting 2016-02-05 21:59:46 +02:00
Alexander Harkness
ac5170c7c4 Correct typo in documentation. 2016-02-05 16:45:55 +00:00
LogicParrot
d8861da599 Prevent server from starting if there's bad world linkage 2016-02-05 15:34:16 +02:00
Julian Laubstein
cb28aaface Merge pull request #2960 from LogicParrot/interspecies
Prevent interspecies breeding
2016-02-04 20:51:44 +01:00
LogicParrot
6661e5d27f Prevent interspecies breeding 2016-02-04 20:44:55 +02:00
LogicParrot
1376743e47 Pathfinder now properly treats nonsolids above fence 2016-02-04 13:53:59 +02:00
LogicParrot
8f7d929140 Fix unexpected world creation introduced by #2821 2016-02-04 10:06:07 +02:00
Kevin Riggle
e4a8c681b0 implement height logic for Acacia blocks 2016-02-04 01:20:31 -05:00
LogicParrot
4aade202e0 cMonster::m_Target safety across worlds 2016-02-03 22:50:17 +02:00
LogicParrot
a5403c8976 Merge pull request #2941 from LogicParrot/chunkBug2
[Attempt 2] Fixed cChunk::m_Entities corruption upon world travel
2016-02-03 20:19:11 +02:00
LogicParrot
fd91932a8b Merge pull request #2903 from marvinkopf/FixTabAutoComplete
Fix TabAutoComplete
2016-02-02 22:14:22 +02:00
Marvin Kopf
9840cc8218 Fix TabAutoComplete
For tab on '/command s' the server now returns 'subcommand' instead of '/command subcommand'.
2016-02-02 18:59:50 +01:00
LogicParrot
07b7fd4ad3 Fixed cChunk::m_Entities corruption upon world travel 2016-02-02 17:55:00 +02:00
Marvin Kopf
a1c48f4853 Fix cPawn pushing
cPawn instances can no longer push an entity they are attached to. cEntity now has a IsAttachedTo method.
2016-02-02 14:57:20 +01:00
Mathias
89f3dec7ac Updated old forum links 2016-01-31 02:25:03 +02:00
Mathias
752d99c8b8 MCServer to Cuberite 2016-01-29 21:47:00 +02:00
Mathias
152c7c064a Front-end update 2016-01-28 20:01:42 +02:00
Mattes D
a62e7ff2c2 LuaTcpSsl: Disabled cert verification due to missing CA chain. 2016-01-24 17:22:05 +01:00
Mattes D
f14c6d3c7e Fixed HTTP parsing when in insecure mode.
Parsing would ignore the size of data already buffered, resulting in bad_alloc exception.
Fixes #2898.
2016-01-22 23:33:18 +01:00
LogicParrot
439b3304f4 Improved tamed wolf pack cooperation and projectile reactions 2016-01-22 21:16:27 +02:00
LogicParrot
30b95fcc4e Merge pull request #2894 from LogicParrot/spider
Spiders now friendly at daylight, new cChunk functions
2016-01-22 20:53:34 +02:00
Anthony Birkett
d75168ca03 Fix running as a service.
Two problems identified, both traced to commit 4315a11

(main.cpp) ParseArguments() was no longer being called before checking cRoot::m_RunAsService.
This led to m_RunAsService never being set (we use -d on the command line to instigate a service start).

(Root.cpp) Terminate events were being ignored when running as a service.
We only need to ignore the cin.good() call, not terminate events as a whole.
2016-01-21 16:38:13 +00:00
LogicParrot
d344e574de Spiders now friendly at daylight, new cChunk functions 2016-01-21 08:21:29 +02:00
Lukas Pioch
e1ba104359 Fixed race conditions 2016-01-17 20:11:37 +01:00
LogicParrot
9c1cb488db Merge pull request #2887 from LogicParrot/water
Use IsBlockWater in cPath
2016-01-17 13:36:03 +02:00
LogicParrot
18a8caaf6d Use IsBlockWater in cPath 2016-01-17 12:52:00 +02:00
WinfieldSteve
d7bc866c7c No second spawn broadcast necessary 2016-01-17 11:23:42 +01:00
LogicParrot
1379b92edf Fixed wrong knockback direction after explosion damage 2016-01-16 18:48:07 +02:00
LogicParrot
bc4a6ec3ea Merge pull request #2877 from LogicParrot/spawn2
Fixed non-natural spawning near player (egg, breeding, etc.)
2016-01-16 17:02:06 +02:00
LogicParrot
ac2c79f797 Fixed non-natural spawning near player (egg, breeding, etc.) 2016-01-16 16:40:47 +02:00
LogicParrot
8c12227687 Fix crash when tamed wolf is hit by arrows 2016-01-16 16:37:37 +02:00
LogicParrot
5ca2f4fd0c Merge pull request #2875 from LogicParrot/fallDamage
Fix fall damage crash when tamed wolves neabry
2016-01-16 11:56:19 +02:00
LogicParrot
0601adba25 Fix fall damage crash when tamed wolves neabry 2016-01-16 11:29:11 +02:00
bibo38
41aa7cf123 Limited the username length to 16 characters.
This fixes a client crash, because Minecraft requires that a username is not longer than 16 characters.
See also: http://minecraft.gamepedia.com/The_Player#Name
Fixes #2545
2016-01-13 09:55:48 +01:00
LogicParrot
e77af000df Do not spawn mobs too close to player 2016-01-12 15:47:13 +02:00
LogicParrot
062b51c822 Merge pull request #2862 from LogicParrot/creeper
Fixed creeper calling TargetIsInRange with null m_Target
2016-01-12 15:42:39 +02:00
LogicParrot
3a24ed4b61 Fixed creeper calling TargetIsInRange with null m_Target 2016-01-12 15:26:51 +02:00
LogicParrot
41f2b6c99f Fixed crash introduced by #2821 2016-01-12 15:13:53 +02:00
LogicParrot
d4e99aedb1 Merge pull request #2859 from LogicParrot/attack2
Fix mob attack interval
2016-01-12 14:46:02 +02:00
LogicParrot
21df3cb0d8 Fix mob attack interval 2016-01-12 14:20:17 +02:00
LogicParrot
e0f13f9f26 Friendly wolf attack safety checks 2016-01-12 13:27:03 +02:00
LogicParrot
e2a053263f Merge pull request #2857 from LogicParrot/wolf
AI: Tamed wolf defends owner
2016-01-12 12:13:36 +02:00
LogicParrot
359e772dee Tamed wolf assists owner (attack / defence) 2016-01-12 11:47:59 +02:00
Mattes D
e4adf2f9ae Added detailed logging to cBlockArea::Read() bad Y coords.
Ref.: http://forum.mc-server.org/showthread.php?tid=2307
2016-01-12 10:19:44 +01:00
Lukas Pioch
fe72eaaec2 Exported GetSeed to lua and added file extension opendb to .gitignore. 2016-01-12 10:18:24 +01:00
LogicParrot
a4a17a2953 Merge pull request #2821 from LogicParrot/world2
Fix pre - #2815 default world linkage configs
2016-01-12 10:24:44 +02:00
worktycho
7aa0b7299d Merge pull request #2855 from bibo38/mobheads
Changed the format of the MobHead data
2016-01-11 23:52:25 +00:00
bibo38
657b0ed007 Changed the format of the MobHead data to allow MobHeads working on MInecraft 1.8
The NBT format now carries the texture data and transmit it to the client.
See: http://minecraft.gamepedia.com/Head#Block_entity
Related to #2674
2016-01-11 17:55:32 +01:00
Austin Martin
8c7cc3ffe9 Fixed issue #2218 2016-01-10 20:53:02 -05:00
Mattes D
725db4475c Added "core.help" permission to Default rank. 2016-01-10 17:40:25 +01:00
bibo38
a45315ee74 Fixed not working packet decompression
A compressed packed contains always the uncompressed size, but in the code this size was threatened as the compressed data size. This created a failure, when the client compressed a packet.
See: http://wiki.vg/Protocol#With_compression
Fixes #2841
Fixes #2467
2016-01-10 15:16:29 +01:00
Mattes D
491dbda7d3 Fixed Clang warnings. 2016-01-06 16:20:12 +01:00
Mathias
d17c8fa349 Fixed typo 2016-01-03 16:29:04 +02:00
Mathias
8e2b2e7a18 More blocks that can't be mined with silktouch 2016-01-03 16:27:02 +02:00
Arnaud Meuret
e19109465d Fix typo (ammount) 2016-01-02 22:02:02 +01:00
Mattes D
80e1eb37dd Renamed leftover strings to Cuberite / Server, as needed.
Also upgraded the user setting file for MSVC to 2013.
2016-01-01 21:05:09 +01:00
Mattes D
6c9be8df4b Fixed default Nether generator params.
The prefab file is "NetherFort"
2015-12-30 13:37:28 +01:00
Mattes D
0054104017 Fixed problems in cBlockingSslClientSocket. 2015-12-30 13:00:02 +01:00
Mattes D
902f428342 Fixed the monster burn code.
The old code failed when the monster was out of Y range.
2015-12-30 01:15:13 +01:00
Mattes D
78eb4c8ed8 Removed excessive logging in redstone simulator. 2015-12-28 11:06:41 +01:00
LogicParrot
fc8a117a0c Deleted cPath::BlockTypeIsFence 2015-12-27 16:13:44 +02:00
Safwat Halaby
bfafc39576 Merge pull request #2814 from SafwatHalaby/chunk2
Freeze player until chunk is loaded
2015-12-26 21:08:12 +02:00
worktycho
b99b60720a Merge pull request #2820 from cuberite/UrlParser
Added the cUrlParser class, exported to Lua API.
2015-12-26 19:01:37 +00:00
Mattes D
958df6ad91 Added the cUrlParser class, exported to Lua API. 2015-12-25 18:50:25 +01:00
Safwat Halaby
687d1816c4 Update fences and gates list
Update fences and gates list
2015-12-25 19:19:22 +02:00
Safwat Halaby
400f875918 Freeze player until chunk is loaded 2015-12-25 17:47:06 +02:00
Safwat Halaby
6a22605fae Merge pull request #2795 from SafwatHalaby/doors
"Special blocks" handling
2015-12-25 15:03:39 +02:00
Safwat Halaby
74912a2aaf Fix pre - #2815 default world linkage configs 2015-12-25 14:59:54 +02:00
Safwat Halaby
b4649248d1 Nether and End in settings.ini by default, and created at startup 2015-12-25 13:49:13 +02:00
Safwat Halaby
87b2d60a0e Merge pull request #2816 from SafwatHalaby/redstone
Silenced the Redstone Simulator console spam
2015-12-24 18:57:34 +02:00
Safwat Halaby
75fea3cd1e Silenced the Redstone Simulator console spam 2015-12-24 17:58:34 +02:00
Mattes D
122d824a8a Added a Json parser and serializer to Lua API. 2015-12-24 14:00:31 +01:00
Safwat Halaby
dfeced18b2 PF - "Special blocks" handling 2015-12-24 06:20:16 +02:00
Julian Laubstein
d319c9dd58 Added IsBlockFence method to defines 2015-12-24 00:05:49 +01:00
Julian Laubstein
2713577dbf Fixed builds on FreeBSD 32bit 2015-12-23 17:13:47 +01:00
Safwat Halaby
7285a43cf6 Merge pull request #2806 from SafwatHalaby/gargraj-chicken
[Gargaj] - Baby chickens don't lay eggs
2015-12-23 16:31:35 +02:00
Safwat Halaby
1ccf7d9c8a Chicken egg code early bailout 2015-12-23 15:57:26 +02:00
Gargaj
fd2edf3ecf Baby chickens don't lay eggs 2015-12-23 15:54:07 +02:00
Mattes D
8422ada77f Fixed return value description in doxycomment. 2015-12-23 14:17:04 +01:00
Gargaj
8968a7174e add handling of water bottle 2015-12-22 20:25:59 +01:00
worktycho
76cd723867 Added GeoTrust Root Certificate 2015-12-22 16:08:02 +00:00
worktycho
ecb94e0dc6 Ignore == if followed by \
Ignore the space before == rule if immediately followed by a \. If it is imediatly followed by a \, then this is likely the base64 padding at the end of a certificate, which is followed by \n.
2015-12-22 16:08:02 +00:00
Safwat Halaby
d112632d6a Merge pull request #2788 from SafwatHalaby/jump
PF - Improved mob jumping
2015-12-22 07:42:28 +02:00
then0rTh
4d264b8b33 cTeam:GetName returning wrong name 2015-12-21 20:25:33 +01:00
Safwat Halaby
8b4530740e PF - Improved mob jumping 2015-12-21 20:00:25 +02:00
Safwat Halaby
b4874d213c Revert "Changed cPath to have a reset method". 2015-12-21 16:47:43 +02:00
Lukas Pioch
938833bd6b Fixed spawn point. Wrong number for divisions and wrong highest spawn point. 2015-12-20 13:05:43 +01:00
tycho
d4289eee3c Fix race condition 2015-12-20 00:56:55 +01:00
Lukas Pioch
50a908fdc9 Fixes for clang-3.7 2015-12-19 22:43:37 +01:00
Tiger Wang
b8752bb26e Merge pull request #2542 from Haxi52/pinkstone
Reorganised the redstone simulator
2015-12-19 21:20:56 +00:00
tycho
d01562cb7d Use atomic bool for isthread terminate 2015-12-19 19:29:06 +01:00
Alexander Harkness
8b851d5048 Added HTTPS links wherever they are supported. 2015-12-19 14:30:32 +00:00
worktycho
1ee61c4f23 Fix off by two error in ReadString 2015-12-18 15:53:41 +00:00
tycho
456253c651 Check for invalid tags when reading a compound tag 2015-12-18 15:20:24 +01:00
Tiger Wang
5b62c4c314 Reorganised the redstone simulator
-> Many thanks to @worktycho for the idea, and @Haxi52 for the implementation plan!
* Uses classes and inheritance now
* Speed should be improved
2015-12-18 13:17:38 +00:00
Mattes D
086c8b1834 Revised the explosion-related Lua API and docs.
Fixes #2746.
2015-12-18 12:40:34 +01:00
Mattes D
d135e49451 Removed unused class cChunkDataCollector. 2015-12-18 12:24:47 +01:00
tycho
9e6161305d Fixed String Parsing crash bug
Check string length against actual remaining data, not an abitary constant
2015-12-18 12:08:55 +01:00
Mattes D
f060d9f9b0 PieceStructures generator: Fixed wrong merge conflict resolution.
Also improved reporting messages.
Ref.: http://forum.mc-server.org/showthread.php?tid=2256
2015-12-17 19:33:12 +01:00
Lukas Pioch
d620dcdd08 Moved variables into scope, removed unused variables and fixed variables 2015-12-17 10:48:36 +01:00
Safwat Halaby
3c1f9e8a3a Merge pull request #2753 from cuberite/pathFix
Path fix
2015-12-16 18:39:23 +02:00
tycho
2c0ca0b4c3 Changed cPath to have a reset method.
Also reverts "Changed raw cPath to an unique_ptr, fixes memory leak"

This reverts commit 1515d37684.
2015-12-16 10:49:42 +00:00
Gargaj
68ff0edfde allow horse control (still quite buggy) 2015-12-15 21:14:27 +01:00
tycho
0fb8646198 Delete copy and move constructors from cPath
cPath is not safe to copy or move due to pointers into the std::map m_Map.
2015-12-15 19:18:58 +00:00
Julian Laubstein
5af10b8cd3 Fixed warning regarding an uninitialized value 2015-12-15 17:20:34 +01:00
Julian Laubstein
8d5f4f2160 Fixed warning regarding an uninitialized value 2015-12-15 17:06:32 +01:00
Lukas Pioch
1515d37684 Changed raw cPath to an unique_ptr, fixes memory leak 2015-12-15 01:16:36 +01:00
worktycho
1e5ba8a1bb Merge pull request #2638 from Gargaj/master
Implement block heights + adapt ground checks
2015-12-14 20:31:33 +00:00
Julian Laubstein
378b2b8ca6 Strip meta from hopper on converting to pickup 2015-12-13 15:46:43 +01:00
Gargaj
66e6589883 blockheight mechanism 2015-12-13 15:16:15 +01:00
Safwat Halaby
1540867cb5 Set overgrown wart age to 3 2015-12-13 15:55:09 +02:00
Gargaj
f9008a4860 allow use failures to propagate from the entity/block to the player 2015-12-13 13:27:38 +01:00
Gargaj
e31676fe50 snow golems are "neutral" 2015-12-13 13:13:37 +01:00
Gargaj
0eb519b35a sheep color inheritance 2015-12-13 13:04:18 +01:00
Safwat Halaby
4851f5e2c9 Remove stray "return" 2015-12-13 08:04:41 +02:00
Safwat Halaby
91aec448eb Fixed mobs attacking Creative Mode players 2015-12-13 07:52:11 +02:00
Safwat Halaby
8a5df43e6c Decoupled cMonster and path recalc logic, re-implemented recalc 2015-12-13 07:13:34 +02:00
Gargaj
62265a0850 Stop pathfinding over cobble walls
Also 1.5 blocks high, shouldn't pathfind over it.
2015-12-13 00:02:56 +01:00
Gargaj
115865f845 Nether wart only ages to 3
See http://minecraft.gamepedia.com/Nether_Wart
2015-12-12 00:46:01 +01:00
Gargaj
d05fdbdee9 Test for correct coordinates when fishing
Fun fact: this was able to actually deadlock the server depending on where you were standing :)
2015-12-10 20:54:55 +01:00
Mattes D
b8fe09901b Fixed opposite condition in OreNests finisher. 2015-12-09 08:03:33 +01:00
Gargaj
86ea2ee50c stop creepers from exploding even if they just died 2015-12-08 22:34:32 +01:00
Julian Laubstein
d75ab544f4 Small spelling issues fixed 2015-12-08 21:58:53 +01:00
Gargaj
41761624c2 Tilling dirt should send block update
There are BUD switches that are built on this (https://www.youtube.com/watch?v=Bk_ChvmtCNY) but more prominently, torches placed on dirt blocks should pop off when the dirt block is tilled.
2015-12-06 12:59:38 +01:00
Gargaj
4132ff495c Spawn chickens from eggs as babies
This actually works now with the breeding patch (would also close https://github.com/cuberite/cuberite/pull/2366)
2015-12-05 15:54:34 +01:00
Gargaj
7a7cc1e66f fix wolf collars
I don't know why this had an inversion but it consistently made the wrong collar color (i.e. yellow dye made the collar blue)
2015-12-03 15:13:03 +01:00
Mattes D
ef7c6ea7e7 Merge pull request #2707 from Gargaj/rabbitstew
Merge cItemMushroomSoupHandler into cItemFoodHandler
2015-12-03 15:12:07 +01:00
Gargaj
72b2ab6406 Merge mushroom soup into generic food handler
...and fix eating the bowl when eating rabbit stew
2015-12-03 14:55:32 +01:00
Mattes D
03a972ec55 Use C++11 auto instead of per-platform types.
Closes #2686.
2015-12-03 14:39:36 +01:00
Mattes D
213419a4cc Merge pull request #2699 from SafwatHalaby/breedDocs
Breeding documentation
2015-12-03 13:57:58 +01:00
Mattes D
3de22f5183 Changed Nether defaults to use PieceStructures. 2015-12-01 11:39:02 +01:00
Mattes D
2c3d933349 Added more details to the cubeset format documentation. 2015-12-01 10:35:08 +01:00
Mattes D
b8fbba5eb9 Added PieceStructures generator. 2015-12-01 10:35:07 +01:00
Safwat Halaby
dbda48ead4 Added documentation for breeding code 2015-11-30 12:05:38 +02:00
Gargaj
4ae3b64b07 implement breeding 2015-11-29 20:14:28 +01:00
Mattes D
851ee6a27f Normalized OrePockets generator config names.
All INI values use AllInitialCapsStyle, no underscores.
2015-11-27 12:44:42 +01:00
Mattes D
326f5e04f7 OrePockets finisher is now configurable. 2015-11-25 15:06:32 +01:00
Mattes D
f2a8d5c047 Added OrePockets and DirtPockets finish gens. 2015-11-25 09:22:20 +01:00
Gargaj
1fb89a5409 fix escaped characters in signs (fixes #1736, fixes #2170) 2015-11-24 19:51:39 +01:00
Dave Tucker
83870f9fc0 Add enum for Sound and Particle Effects
Fixes #2603

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2015-11-24 13:21:40 +00:00
Gargaj
853e6e6882 change from single followable item to multiple 2015-11-23 22:20:31 +01:00
Julian Laubstein
5d5f5c9fba Fixed display of helpmessage 2015-11-23 18:20:37 +01:00
Julian Laubstein
9d07be62d3 Changed static_cast to FloorC 2015-11-23 18:10:58 +01:00
Julian Laubstein
b87e0b6b15 Adjusted height validation using cChunkDef::IsValidHeight() 2015-11-23 03:17:32 +01:00
Julian Laubstein
2d8b265133 Added dash to helpstring output 2015-11-23 02:12:19 +01:00
Julian Laubstein
c32b5fcaa9 Removed dashes in help messages for consistency 2015-11-23 02:12:19 +01:00
Julian Laubstein
62b41c351c Added cChunkDef::IsValidWidth() 2015-11-23 01:30:48 +01:00
Safwat Halaby
5fae7a0eee Revert "Changed description to "Cuberite - Minecraft in C++!""
This reverts commit f4406c047e.
2015-11-22 16:30:33 +02:00
Safwat Halaby
f4406c047e Changed description to "Cuberite - Minecraft in C++!" 2015-11-20 09:18:44 +02:00
Thomas Boerger
ffed489156 Include execinfo.h only on __GLIBC__ 2015-11-19 22:46:47 +01:00
Thomas Boerger
a16a9eab4f Define stacktrace functions only if __GLIBC__ is defined 2015-11-19 22:46:47 +01:00
Thomas Boerger
8f3f91d3db Check for __GLIBC__ to detect correct strerror_r version 2015-11-19 22:23:47 +01:00
Julian Laubstein
48f84cc3e9 changed mob age from char to int 2015-11-16 14:13:44 +01:00
samoatesgames
19ea5d5423 Improved spawn location calculations.
- Supports Overworld and Nether spawns.
 - Supports spawning under objects, but still above ground (e.g. under the leaves of a tree).
 - Protects against spawning in oceans.
 - Protects against spawning in water.
 - Uses a radial search about the origin, rather than a linear.
 - Correctly calculates Nether spawn on spawn world generation (fixes: cuberite#2548)
 - Fixes a bug in CheckPlayerSpawnPoint() where the X offset was used in both the X and Z coords (BLOCKTYPE BlockType = GetBlock(a_PosX + Coords[i].x, a_PosY, a_PosZ + Coords[i].x);)
2015-11-13 15:08:16 +00:00
worktycho
5f34097ab3 Blocks outside the world are never solid
Fixes #2539
2015-11-13 11:50:21 +00:00
Gargaj
5e840cf86f Avoid reading out of bounds
as per https://github.com/cuberite/cuberite/pull/2630#discussion_r44377411
2015-11-10 22:22:28 +01:00
Julian Laubstein
98bac62c07 Added cChunkDef::IsValidHeight() 2015-11-10 19:44:30 +01:00
Gargaj
67e6da4627 Avoid division by zero
It won't do much because direction will still be a nullvector, but it at least avoids a CPU spike.
2015-11-10 18:00:14 +01:00
Gargaj
51f8e0e36c fix shallow water + add future code for liquid fall dampening 2015-11-10 00:36:15 +01:00
Gargaj
b5de4a9a6f remove slab from inventory when using it on another slab (fixes #2610) 2015-11-09 21:12:32 +01:00
Gargaj
6d8baa6a75 idle/deflating creeper should be -1
according to http://wiki.vg/Entities#Creeper
2015-11-09 20:06:32 +01:00
Gargaj
4e991f4632 Add comment to Attack() return values 2015-11-09 15:51:35 +01:00
Gargaj
97ddcc1c0a neutral mobs shouldn't chase the player unless aggro'd
code style

neutral mobs shouldn't chase the player unless aggro'd

neutral mobs shouldn't chase the player unless aggro'd

Merge branch 'chilloutyo' of github.com:Gargaj/cuberite into chilloutyo

Conflicts:
	src/Mobs/PassiveAggressiveMonster.h

code style

Merge branch 'chilloutyo' of github.com:Gargaj/cuberite into chilloutyo
2015-11-08 23:42:26 +01:00
worktycho
171867009e Fix memory leak
Fixes CID 132249
2015-11-08 22:34:52 +00:00
worktycho
a1926ca16e Merge pull request #2615 from Gargaj/cavespider-attack
Fix cavespider poisoning even if attack is in cooldown
2015-11-08 22:08:40 +00:00
Gargaj
d413e34475 Fix chicken flying
The gravity might not be correct but my rough timing (with a stopwatch) seems to be close.

Merge branch 'master' into patch-1

Merge branch 'master' into patch-1

Merge branch 'master' into patch-1
2015-11-08 22:34:35 +01:00
Gargaj
392a3d319c fix cavespider poisoning even if attack is in cooldown
make attack function more responsive

fix cavespider poisoning even if attack is in cooldown
make attack function more responsive

Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack

code style

fix cavespider poisoning even if attack is in cooldown
make attack function more responsive

fix cavespider poisoning even if attack is in cooldown
make attack function more responsive

Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack

code style

Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack

Merge branch 'master' into cavespider-attack

Merge branch 'master' into cavespider-attack

fix cavespider poisoning even if attack is in cooldown
make attack function more responsive

fix cavespider poisoning even if attack is in cooldown
make attack function more responsive

Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack

code style

fix cavespider poisoning even if attack is in cooldown
make attack function more responsive

fix cavespider poisoning even if attack is in cooldown
make attack function more responsive

Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack

code style

Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack

Merge branch 'master' into cavespider-attack

Merge branch 'master' into cavespider-attack

Merge branch 'cavespider-attack' of github.com:Gargaj/cuberite into cavespider-attack
2015-11-08 21:01:02 +01:00
Gargaj
2ce2d9b7ce add sound to stone pressure plates
add sound to stone pressure plates
2015-11-08 20:57:05 +01:00
Gargaj
429c896e33 Only send creeper updates when there is a change
Otherwise this keeps spamming the metadata packet for all the creepers on the server.
2015-11-07 21:57:32 +01:00
worktycho
e85082d2f1 Merge pull request #2609 from bibo38/slimeblock
Slimeblock implementation
2015-11-07 18:45:59 +00:00
bibo38
ea55e75672 Refactored code to use vectors in the cPistonHandler class 2015-11-07 17:34:54 +01:00
bibo38
429f615390 Added some code improvements 2015-11-07 17:23:02 +01:00
bibo38
0447af8bcb Renamed GetDirectionVec into VectorFromMetaData to improve code readability. 2015-11-07 17:23:02 +01:00
bibo38
f8c28cc373 Commented the GetDirectionVec method 2015-11-07 17:23:02 +01:00
bibo38
64012bf46f Fixed the style problems and added some comments 2015-11-07 17:23:02 +01:00
bibo38
5fa077f869 Removed unused CanPull method 2015-11-07 17:23:02 +01:00
bibo38
558991a725 Extracted block moving code into a seperate method 2015-11-07 17:23:02 +01:00
bibo38
f35060e8b5 Replaced the usage of pistonMeta with a direction vector to allow better meta value abstraction 2015-11-07 17:23:02 +01:00
bibo38
ceec6c936d Fixed pulling/pushing of breakable blocks, which are not required to be moved 2015-11-07 17:23:02 +01:00
bibo38
ede4eec4c5 Implemented the basic slime block pulling 2015-11-07 17:23:02 +01:00
bibo38
59a9ac5e6f Implemented the SlimeBlock into the CanPush method to allow slimeblocks to work correctly when pushed 2015-11-07 17:23:02 +01:00
bibo38
8f066a16ec Piston extension now works with the new recursive CanPushBlock method. 2015-11-07 17:23:02 +01:00
bibo38
e2d88106a9 Added the CanPushBlock method for the piston push check.
This allows the recursive check for blocks to push, which is needed to implement the slime blocks into the piston system.
2015-11-07 17:23:02 +01:00
bibo38
d92a92d78a Implemented the slime block dropping behaviour.
Fixes #2530
2015-11-07 17:23:02 +01:00
Gargaj
6ce98a702d fix pressure plate power levels 2015-11-07 16:28:37 +01:00
worktycho
7dae50fc14 Merge pull request #2618 from Gargaj/deadmeansdead
Fix mobs firing when already dead
2015-11-07 13:26:31 +00:00
Gargaj
31dac0cb2e don't attack if dead 2015-11-07 13:48:00 +01:00
Gargaj
ad1e24e50b code style 2015-11-07 13:32:52 +01:00
Gargaj
2f28c2f4ff implement pushing/shoving based on @NiLSPACE's suggestion 2015-11-07 13:29:18 +01:00
Gargaj
5bcd4b271e chickens don't take fall damage 2015-11-06 10:22:40 +01:00
Julian Laubstein
056822845d Merge pull request #2593 from cuberite/enderegg
Destroy an ender crystal when hit by an egg.
2015-11-05 18:10:19 +01:00
Alexander Harkness
1d4c6d3fbe Destroy an ender crystal, damage a dragon when hit by an egg. 2015-11-05 16:42:42 +00:00
Mattes D
1abf065953 MSVC: Reviewed warnings, disabled a useless one, re-enabled an old one. 2015-11-05 11:09:37 +01:00
Gargaj
a9579c4f06 Fix being set on fire while directly being under lava
Right now you will be on fire if there is a block of lava right above you, even if it doesn't pour down.
2015-11-04 18:00:29 +01:00
Lukas Pioch
9749c3aac9 Implemented brewing 2015-11-03 18:00:55 +01:00
Cengiz Can
bb48d8a7e8 Use an unreserved qualifier for thread local storage
Fixes #1906
2015-11-03 12:09:40 +03:00
bibo38
19b65ce357 Fixed failed assertation
This was caused by a monster with a negative Y-axis.
Fixes #2336
2015-11-03 08:39:18 +01:00
worktycho
47604cd914 Merge pull request #2591 from cuberite/chunkprepare-deadlock
Fix deadlock, resolves #2521
2015-11-03 00:23:45 +00:00
Tiger Wang
9de3a3f938 Examined a fix for #2588 2015-11-02 22:07:48 +00:00
Alexander Harkness
7e4c56ce0d Fix deadlock, resolves #2521 2015-11-02 18:21:35 +00:00
bibo38
435bae104d Implemented the Water Breathing Potion functionality.
Fixes #2556
2015-11-01 11:50:03 +01:00
bibo38
73b8be0fef Implemented the FireResistence potion effects.
This not only provides fire resistence, but also prevents blaze fireballs.
See #2556
2015-10-31 23:06:10 +01:00
Lukas Pioch
5ae19fb332 Debug mode: Fixed assertion, if player below y < 0 2015-10-31 14:26:24 +01:00
bibo38
ec5c38761f Changed for-loop iterator in File.cpp to a reference type to reduce object copying and fix the clang build.
Fixes #2580
2015-10-30 20:16:45 +01:00
Lukas Pioch
3e48b1f1eb Added cave spider to MobSpawner 2015-10-29 13:35:35 +01:00
Mattes D
a7c75d61ce Revert "Pressure plate fix" 2015-10-29 11:43:01 +01:00
Schwertspize
525b967c93 fixed pressure plate bugs 2015-10-28 22:21:46 +01:00
Alexander Harkness
d14c8fa446 Fix wrong teleport permission. (solves #2369) 2015-10-28 08:24:48 +00:00
Lukas Pioch
079bb7c016 Update Loops required for JsonCPP 2015-10-26 00:16:35 +00:00
Mattes D
da92286da9 Fixed a crash when sending messages too early after connection. 2015-10-21 20:59:48 +02:00
Julian Laubstein
979ab11044 ReTyped block ids 2015-10-15 10:53:32 +02:00
worktycho
183284a2a4 Removed unused typedef 2015-10-12 15:02:25 +01:00
Mattes D
5bd683a86d Fixed a possible crash in HTTPS server. 2015-10-08 19:08:11 +02:00
Mattes D
66e8190ca8 StyleCheck: Check spaces around ==, <=, >= 2015-10-08 17:43:26 +02:00
Mattes D
6c7f51a008 Fixed bindings for cTCPLink:StartTLSClient().
The bindings used to enforce client cert, now it's optional.
2015-10-08 16:14:50 +02:00
Tiger Wang
4a8e7bddcc Merge pull request #2528 from OdnetninI/master
Fixed flight in Spectator Mode
2015-10-05 22:05:37 +01:00
OdnetninI
545aa2a989 Spectator Mode doesn't fly[FIX] 2015-10-05 21:59:15 +02:00
Mattes D
60800655c8 Generator: Fixed missing hitbox assignment.
This had caused village houses to generate too close to each other.
2015-10-05 21:15:08 +02:00
tycho
d8c860ae58 Improved the data structure for storing loaded chunks
Should significantly increase the performance of deciding which chunks to stream
2015-10-05 16:20:07 +01:00
Mattes D
9da404ea2d Fixed a race condition between chunk loader and generator.
When using ChunkWorx to generate multiple chunks, the server would sometimes fail an assert because it would generate a chunk even when it was successfully loaded. This was caused by chunks queued in cWorld's m_SetChunkDataQueue and thus being marked as "InQueue" although they were already loaded.

Solved by adding a new parameter to chunk coord callbacks specifying whether the operation succeeded or failed, and using that instead of the chunk presence flag to decide whether to generate or not.
2015-10-04 14:06:37 +02:00
tycho
e1d5e5e165 Improved types of utf 16 strings 2015-10-02 17:26:53 +02:00
tycho
899955f9e3 Remove a pair of unused broken functions 2015-10-02 17:26:53 +02:00
worktycho
dacab890cc The bottom layer cannot hold a valid spawn point
Fixes #2510
2015-10-01 14:49:26 +01:00
Mattes D
1c8e60f91a Added LuaState tracker and memory stats logging. 2015-09-28 21:30:31 +02:00
Mattes D
5614056640 Made Lua API check strings strictly.
Previously nil was accepted as a string in cLuaState::CheckParamString(), now it's reported as an error.
2015-09-28 14:53:50 +02:00
Tiger Wang
4ddff15710 Merge pull request #2498 from cuberite/UnicodeOnWindows
Enabled Unicode support for Windows
2015-09-28 09:14:09 +01:00
Safwat Halaby
db40172b64 Partial revert of #2446 2015-09-28 08:52:08 +03:00
Mattes D
7d551fe9f6 Added weather intervals to world.ini settings. 2015-09-28 01:02:17 +02:00
Safwat Halaby
fc1633d6e6 Disabled squids and Guardians pathfinding, #2460 2015-09-27 19:48:37 +03:00
worktycho
11c1686092 Merge pull request #2465 from electromatter/master
Added BungeeCord support for Protocol18x
2015-09-27 14:24:15 +01:00
Tiger Wang
803c0c6965 Added the _UNICODE flag on Windows 2015-09-26 22:19:29 +01:00
Mattes D
ad57ce5f99 Extended and fixed the cFile API. 2015-09-26 22:54:18 +02:00
Tiger Wang
a8bfe3a4c1 Prepared ScheduleTask for threading refactor
* Llama-ified and condensed Schedule/QueueTask
- Removed hackery done with piston animations
2015-09-25 18:56:49 +01:00
Lukas Pioch
e56aa4032d Maked it compileable for clang-3.7 2015-09-25 17:09:19 +02:00
Mattes D
741dc78547 Lilypads drop when not on source water.
Lilypad blocks now break and drop as items when the block below them changes to non-water or non-source water.
Fixes #2404.
2015-09-25 14:42:32 +02:00
Mattes D
82d9ac1e1c Namechange to Cuberite 2015-09-25 10:14:17 +02:00
tycho
b4f934b808 fixed cast 2015-09-24 15:54:32 +01:00
tycho
6e86d20f73 Add new "ForEach" function: ForEachLoadedChunk. 2015-09-24 15:54:32 +01:00
electromatter
a24cc01843 Merge branch 'master' into master 2015-09-21 22:44:34 -04:00
tycho
fd7b87741a Refactored cProtocol Chat handling 2015-09-21 12:32:56 +01:00
tycho
3c5ba56aba Ignore Sigpipe 2015-09-19 21:37:07 +02:00
tycho
a0519a487a Fixed wrong assumtion regarding RemoveClient
Remove client can be called with a client that is not present in the chunk
2015-09-19 19:34:20 +01:00
tycho
49724cd427 Fixed erase 2015-09-19 00:32:08 +01:00