8540 Commits

Author SHA1 Message Date
Dylan K. Taylor
93b8a6c44a Level: fix light removal bugs caused by 48a5eeb3a459cb90b302990d3f243a34b0bb7da0 and 19e68f98a707536866c33bb1e9fad9f7c280447d
BlockFactory::\$lightFilter and Block->getLightFilter() are not equivalent.
2018-10-19 18:52:42 +01:00
Dylan K. Taylor
7642298b4f Merge branch 'release/3.4' 2018-10-19 15:56:07 +01:00
Dylan K. Taylor
646c8970b8 Merge branch 'release/3.3' into release/3.4 2018-10-19 15:56:01 +01:00
Dylan K. Taylor
58067b2ad1 Merge branch 'release/3.2' into release/3.3 2018-10-19 15:55:53 +01:00
Dylan K. Taylor
0c9946621c Level: Do not tick chunks which have unloaded adjacent chunks
Grass can cause issues here by requesting blocks randomly offset away from itself, which can cause silent chunk loading on chunk ticking. It also causes crashes if chunk autoloading is taken away, which is obviously undesired.

It was also noticed that player chunkloaders cause chunks to start getting ticked as soon as they load their first chunk, which is before the entity is visible to everyone else on the server. This is probably undesired behaviour.
2018-10-19 15:48:46 +01:00
Dylan K. Taylor
39808dd94f Actually merge branch 'release/3.4' this time 2018-10-19 15:35:23 +01:00
Dylan K. Taylor
d88b32da91 Drop useless numeric IDs for attributes, use strings instead 2018-10-19 15:29:01 +01:00
Dylan K. Taylor
20b87b7875 Level: reduce complexity of populateChunk() 2018-10-19 15:29:01 +01:00
Dylan K. Taylor
a2a6286e1c ItemFactory: clean up some unnecessary code
this try/catch isn't needed because the list offset derivation function will deal with invalid IDs anyway.
2018-10-19 15:29:01 +01:00
Dylan K. Taylor
e7494fff96 - the fix didn't fix
this is a mess

it would be nice not to have to start the server to find these kinds of bugs >.<
2018-10-19 15:29:01 +01:00
Dylan K. Taylor
f81849e550 ItemFactory: fix special case handling for durable items, close #2483 2018-10-19 15:29:01 +01:00
Dylan K. Taylor
9284e53f9e Added failing test case for #2483 2018-10-19 15:29:00 +01:00
Dylan K. Taylor
ec5af0398e VersionString: use appropriate regex for number matching 2018-10-19 15:29:00 +01:00
Dylan K. Taylor
f1cd6940f9 Merge branch 'release/3.3' into release/3.4 2018-10-16 22:56:46 +01:00
Dylan K. Taylor
af5637e050 PlayerListEntry: remove dead fields 2018-10-16 22:56:21 +01:00
Dylan K. Taylor
4221e274d6 Merge branch 'release/3.3' into release/3.4 2018-10-16 18:20:14 +01:00
Dylan K. Taylor
a524b0e447 3.3.1 is next 2018-10-16 18:19:49 +01:00
Dylan K. Taylor
88a5e92c20 Release 3.3.0 3.3.0 2018-10-16 17:47:35 +01:00
Dylan K. Taylor
b876ae4ef8 Merge branch 'release/3.2' into release/3.3 2018-10-16 17:26:46 +01:00
Dylan K. Taylor
1983964f9e 3.2.6 is next 2018-10-16 17:26:04 +01:00
Dylan K. Taylor
c4c55a45c9 Release 3.2.5 3.2.5 2018-10-16 17:17:53 +01:00
Dylan K. Taylor
c5cd813b76 bump PM version 2018-10-16 17:15:49 +01:00
Dylan K. Taylor
bc2dff3f51 version numbers 2018-10-16 17:15:26 +01:00
Dylan K. Taylor
839d5eab7b Protocol changes for 1.7
there's also some new cases in stats, but we don't care about those anyway.
2018-10-16 17:13:52 +01:00
Dylan K. Taylor
cd506bb443 shuffle back to 3.4 to make space for new MCPE release 2018-10-16 17:11:46 +01:00
Dylan K. Taylor
4c8ffce86f Merge branch 'release/3.2' into release/3.3 2018-10-16 16:46:39 +01:00
Dylan K. Taylor
78923177f9 VersionString: use appropriate regex for number matching 2018-10-16 16:46:27 +01:00
Dylan K. Taylor
7d74ebbebc Merge branch 'release/3.3' 2018-10-16 09:51:30 +01:00
Dylan K. Taylor
df6bb2ea0e Merge branch 'release/3.2' into release/3.3 2018-10-16 09:51:19 +01:00
Dylan K. Taylor
b7062e7bff CrashDump: don't try to report code that doesn't exist
this can happen when eval() is used, and then we get a big blank mess with nothing on it. eval() is a special case that should be handled separately, but for now this is just fixing a bug.
2018-10-16 09:50:59 +01:00
Dylan K. Taylor
70054de575 Clean up garbage in Tree populators 2018-10-15 19:42:16 +01:00
Dylan K. Taylor
cfee0a4e0b Merge branch 'release/3.3' 2018-10-14 11:08:50 +01:00
Dylan K. Taylor
ba68192206 Fixed bad event handlers (whose errors get caught) breaking recursion protection for future event calls
This was observed in a recent crashdump where a plugin triggered a recursion error, but the stack trace did not contain any sign of a recursive event call. I conclude that this must have been caused by previous event handlers triggering errors 50 times in order to make the recursion detection break, because the recursion detection did not decrement the counter in cases where an exception was thrown.
2018-10-14 11:07:16 +01:00
Dylan K. Taylor
1b572d3e40 Level: rename unload to onUnload()
again, this is an intentional rug-jerk, along with a clearer naming.
2018-10-13 15:43:43 +01:00
Dylan K. Taylor
bb286dea91 Server: more elegant isLevelGenerated() check 2018-10-13 15:37:26 +01:00
Dylan K. Taylor
39d1196e4c Leaves: fix performance issue introduced by block meta nuke 2018-10-13 12:28:33 +01:00
Dylan K. Taylor
f671da99a6 BlockFactory: fix failing test 2018-10-12 21:40:45 +01:00
Dylan K. Taylor
7af7783cc8 BlockFactory: Register block to id|variant without setting state to allow non-zero default states
This will be needed to deal with things like chest/furnace which don't use 0 as a valid state (these both use facing horizontal for rotation, and vertical is invalid, so 0 would mean downwards facing which is invalid.
2018-10-12 20:05:44 +01:00
Dylan K. Taylor
0520598584 BlockFactory: skip blockstates which corrupt the metadata
if the metadata doesn't match what was inputted when reading back, it's an invalid state and should not be registered.
2018-10-12 19:49:26 +01:00
Dylan K. Taylor
873b64259d Torch: remove trailing comma 2018-10-12 19:07:43 +01:00
Dylan K. Taylor
d151a89037 Vine: don't break when a supported vine is above, closes #2452 2018-10-12 18:38:52 +01:00
Dylan K. Taylor
c96203b528 Set immobile flag on player pre-spawn
The client likes to fall involuntarily as soon as PLAYER_SPAWN PlayStatus is sent, which causes debug spam on the PM side and then movement reversions if falling far enough. This now prevents the client moving until the server knows the client has spawned.
2018-10-12 17:08:22 +01:00
Dylan K. Taylor
acb794e728 Remove garbage from Entity(De)SpawnEvent
These methods:
a) add concrete dependencies
b) are pointless (event->getEntity() instanceof Creature, anyone? an IDE can better understand this as well...)
c) encourage bad code (they don't enforce type contracts the same way an instanceof check does - oh, and why not let's add an is*() for every new mob that gets added ever?
2018-10-12 16:35:51 +01:00
Dylan K. Taylor
97c836f199 Remove nasty network crap from API 2018-10-12 16:31:17 +01:00
Andrew
a944641509 Torch: Fix placement issues when clicking the bottom of a block, closes #2453 (#2474) 2018-10-12 12:26:44 +01:00
Dylan K. Taylor
6579930638
Revamp MetadataStore API (#2477)
This would be a lot less messy if we had generics, but no tango.
2018-10-12 12:16:21 +01:00
Dylan K. Taylor
9901e61d65 Merge branch 'release/3.3' 2018-10-12 09:32:17 +01:00
Dylan K. Taylor
a0ab996b9f Merge branch 'release/3.2' into release/3.3 2018-10-12 09:31:48 +01:00
Dylan K. Taylor
97980d4516 Update composer dependency versions 2018-10-12 09:31:19 +01:00
Dylan K. Taylor
9ac7c75e5b Merge branch 'release/3.3' 2018-10-11 19:44:06 +01:00