a7eaec13b9
Merge branch 'release/3.4'
2018-10-24 15:53:13 +01:00
f61e099828
Merge branch 'release/3.3' into release/3.4
2018-10-24 15:52:04 +01:00
925da62afa
Merge branch 'release/3.2' into release/3.3
2018-10-24 15:49:09 +01:00
09985c5763
Fixed async light population producing garbage when generator isn't registered, closes #2488
2018-10-24 15:49:00 +01:00
011b9ae159
Update to latest NBT lib version
2018-10-23 16:47:00 +01:00
a49abff099
Merge remote-tracking branch 'origin/release/3.4'
2018-10-22 17:46:37 +01:00
cac21c2caf
SubChunk: implement branchless read/write for nibble arrays ( #2489 )
...
this was inspired by https://hub.spigotmc.org/stash/projects/SPIGOT/repos/spigot/browse/CraftBukkit-Patches/0121-Branchless-NibbleArray.patch
2018-10-22 17:46:14 +01:00
90482e79bc
Merge branch 'release/3.4'
2018-10-21 18:23:54 +01:00
6dd2597934
Merge branch 'release/3.3' into release/3.4
2018-10-21 18:17:07 +01:00
5e68858ebf
Merge branch 'release/3.2' into release/3.3
2018-10-21 18:16:59 +01:00
45c9caa38c
Fixup some formatting issues
2018-10-21 18:15:25 +01:00
159c3a1a91
Merge branch 'release/3.4'
2018-10-20 19:20:22 +01:00
8ac1b18b17
Level: add API method isInLoadedTerrain()
2018-10-20 19:09:53 +01:00
fb128d0276
Merge branch 'release/3.4'
2018-10-20 16:43:25 +01:00
43426a4c5c
Level: Add API method getViewersForPosition()
...
This returns all players who have the given position within their view radius.
2018-10-20 16:25:56 +01:00
9f8a2dc61a
Make use of new API method getChunkAtPosition()
2018-10-20 15:58:29 +01:00
d9ebe6f321
Level: Added API method getChunkAtPosition()
...
This returns the chunk containing the given vector.
2018-10-20 15:54:13 +01:00
605e7e08ed
Remove some deprecated methods
2018-10-20 15:29:43 +01:00
e035be8498
Remove some master-only usages of addGlobalPacket()
2018-10-20 15:27:08 +01:00
831a35ec69
Merge branch 'release/3.4'
2018-10-20 15:26:17 +01:00
cb1eb1ee09
Level: Rename addGlobalPacket() to broadcastGlobalPacket()
...
this name makes the intention more clear and consistent with other functions.
2018-10-20 15:24:33 +01:00
d563b9e31b
Level: Added API method broadcastPacketToViewers()
...
This supersedes addChunkPacket() in most cases, and has a more clear name. It broadcasts the given packet to every player who has the target position within their chunk load radius.
2018-10-20 15:14:41 +01:00
517a21c418
RegionLoader: remove unused constant
2018-10-20 14:19:27 +01:00
d60c19551b
Merge branch 'release/3.4'
2018-10-19 18:53:24 +01:00
7c44eea625
Merge branch 'release/3.3' into release/3.4
2018-10-19 18:53:18 +01:00
d749f19c73
Merge branch 'release/3.2' into release/3.3
2018-10-19 18:53:12 +01:00
41fd03f329
LightUpdate: fixed double-updated nodes not getting light propagated appropriately
...
This can happen when a light source is removed and later encountering another light source to fill the gap. A higher light level may get set and then not propagated. This bug is difficult to explain, but fairly easy to reproduce.
2018-10-19 18:53:04 +01:00
93b8a6c44a
Level: fix light removal bugs caused by 48a5eeb3a4
and 19e68f98a7
...
BlockFactory::\$lightFilter and Block->getLightFilter() are not equivalent.
2018-10-19 18:52:42 +01:00
7642298b4f
Merge branch 'release/3.4'
2018-10-19 15:56:07 +01:00
646c8970b8
Merge branch 'release/3.3' into release/3.4
2018-10-19 15:56:01 +01:00
58067b2ad1
Merge branch 'release/3.2' into release/3.3
2018-10-19 15:55:53 +01:00
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
39808dd94f
Actually merge branch 'release/3.4' this time
2018-10-19 15:35:23 +01:00
20b87b7875
Level: reduce complexity of populateChunk()
2018-10-19 15:29:01 +01:00
4221e274d6
Merge branch 'release/3.3' into release/3.4
2018-10-16 18:20:14 +01:00
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
70054de575
Clean up garbage in Tree populators
2018-10-15 19:42:16 +01:00
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
2e265423c7
Fixed NBT leveldata fixer never getting called
2018-10-10 04:44:45 -04:00
e2af394c81
Revert "Level: Identify chunk loaders by their object ID"
...
This reverts commit 3bb450244f
.
PhpStorm you lying piece of shit... you only showed me the usages in Level!
This change should be revised and redone later.
2018-10-10 03:59:07 -04:00
3bb450244f
Level: Identify chunk loaders by their object ID
...
chunkloader ID is completely unnecessary extra complication. spl_object_hash() would be fine for this as well, but a number is better. Since it's unique for the object lifetime (and the Level keeps a ref to loaders) this system should work just fine.
2018-10-09 16:32:34 +01:00
8d1400115e
fixed unsupported leveldb format versions crashing the server
2018-10-07 15:42:59 +01:00
7c1432526f
Remove pointless ID maths from Level
2018-10-07 15:28:10 +01:00
706082deb1
Fixed Flat generator using item ID/damage to build block layers
2018-10-07 12:01:43 +01:00
14ef4558c2
Allow BlockFactory to handle position setting of newly created blocks
2018-10-06 19:06:49 +01:00
a430f7f4f7
Allow static properties and state masks to vary based on variant
2018-10-06 17:33:28 +01:00
495a0b1dc2
Merge branch 'release/3.3'
2018-10-05 18:11:33 +01:00
1dd6591ac1
Migrate a bunch of PluginManager->callEvent() usages to Event->call
...
This has the triple bonus effect of a) making a lot of code easier to read, b) reducing Server::getInstance() usages, and c) removing a whole bunch of Server dependencies.
The network and block namespaces are untouched by this commit due to potential for merge conflicts. These should be dealt with separately on master.
2018-10-05 17:30:06 +01:00
47f43c5e6b
Remove some internal constants from public API
2018-10-04 20:03:11 +01:00
b407eba1a3
Apply typehints to level\format\io namespace
2018-10-04 19:59:26 +01:00