53ebe4f9f9
World: added getHighestAdjacentFullLightAt()
2021-04-18 20:20:08 +01:00
51b0685881
World: document getFullLight() and getFullLightAt()
2021-04-18 20:14:16 +01:00
f29ababf8d
World: Rearrange some light-related methods
...
these things are all over the place ...
2021-04-18 20:07:36 +01:00
5dfa6a2296
Fix dragon egg teleporting in creative ( #4180 )
...
closes #4179
2021-04-17 19:11:10 +01:00
a32eb4ebc3
Implemented coral and coral fans
...
this implementation is very rough due to having to hack around lots more MCPE bullshit, and currently doesn't allow dynamic coral types; but it's there. We'll clean this up after 1.13 migration is done.
2021-04-17 02:04:10 +01:00
d5e1b4bd39
Furnace: Separate light/extinguish code into onStartSmelting() and onStopSmelting() hooks
...
this is a preparation for other kinds of furnaces which might not be plain old Furnaces.
2021-04-17 01:36:16 +01:00
9abdcd8ee5
shut
2021-04-16 21:45:22 +01:00
01c3668375
ItemFactory: Check the bounds of durability, instead of trying to catch exceptions
2021-04-16 21:30:48 +01:00
da51f106de
ItemFactory/BlockFactory: give more specific class descriptions
...
these classes both have a very specific purpose now, which is much lesser than it was in PM3.
2021-04-16 21:27:28 +01:00
c979ab8aa0
Be more specific with documentation of ItemFactory::register() and BlockFactory::register()
2021-04-16 21:24:16 +01:00
6071746993
Mark ItemFactory::get() and BlockFactory::get() as @deprecated
2021-04-16 21:16:27 +01:00
81ced66bd0
BlockIdentifier: variant parameter of constructor is now mandatory
2021-04-16 20:14:29 +01:00
8d2ee516f0
Merge branch 'stable'
2021-04-16 18:26:33 +01:00
6f80b8979d
Particle: added some missing IDs
2021-04-16 18:20:47 +01:00
b31b097b8e
LightPopulationTask no longer hard-depends on Server
2021-04-16 15:41:14 +01:00
3c8eb29d4e
Limit blockitem metadata hack to just blockitems
...
for some reason putting NBT on some items makes the creative inventory go haywire. Sadly, we currently need this hack, so I limit it to only stuff which actually needs it (blockitems).
closes #4159
2021-04-16 00:41:19 +01:00
b94bbf6f5e
Merge branch 'stable' of github.com:pmmp/PocketMine-MP into stable
2021-04-16 00:11:01 +01:00
314a8a1297
protocol: updated particle type constants
...
closes #4173
2021-04-16 00:10:48 +01:00
ebd19f5a70
SubChunkExplorer: Protect world field
2021-04-15 23:32:30 +01:00
bf67170504
SubChunk: don't assume 15 sky light when not allocated
...
closes #2533
at long last...
2021-04-15 23:22:53 +01:00
5d83f4670a
RegionLoader: Switch to using named constructors
...
this makes the code more self-descriptive, and also helps to detect potential bugs.
2021-04-15 21:57:23 +01:00
e8dd4de5c8
SubChunk: Lazily allocate LightArrays as needed
...
this is slightly slower, but saves a significant amount of memory (~80 KB per chunk).
Since ext-chunkutils2 doesn't do copy-on-write trickery like the PHP impl did, we need this to get the memory advantages back.
2021-04-15 21:43:46 +01:00
e6ecacbb2b
World: do not access chunks for light if they aren't yet light-populated
2021-04-15 21:21:34 +01:00
ab9615fb9c
World: fixed documentation for getHighestAdjacentPotentialBlockSkyLight()
...
[ci skip]
2021-04-15 21:19:58 +01:00
0f14c589f7
[ci skip] changelog: added a table of contents
...
generated using https://ecotrust-canada.github.io/markdown-toc/
2021-04-15 20:48:54 +01:00
9655cb819d
World: Remove duplicated code
2021-04-15 19:41:03 +01:00
99ed87bc29
NetworkSession: changed misleading debug message in beginSpawnSequence()
2021-04-15 19:27:51 +01:00
ec32848a97
[ci skip] changelog: world spawn generation progress is now logged
2021-04-15 19:27:17 +01:00
a0c3102b05
FormatConverter: add @phpstan-param for newProvider ctor parameter
2021-04-15 19:14:52 +01:00
8e3f5737a0
RegionWorldProvider: fix CS
2021-04-15 15:39:08 +01:00
32c4a165cf
Removed RegionLoader::open()
...
this is nothing but a source of bugs.
2021-04-15 15:38:18 +01:00
edb590f681
missed one ...
2021-04-15 15:23:15 +01:00
08f0c9a244
Separate writable parts of RegionWorldProvider into WritableRegionWorldProvider
2021-04-15 15:20:57 +01:00
e6fb6b1f27
BaseLevelProvider: Remove obsolete proxy methods
2021-04-15 15:15:16 +01:00
be190fc41b
gitignore: add backups
2021-04-15 15:01:01 +01:00
dc5b1efa66
Merge remote-tracking branch 'origin/stable'
2021-04-15 14:04:27 +01:00
8af6b112d2
WorldManager: log after first chunk's generation has been completed
...
this is as close as we can get to the actual start of generation.
2021-04-15 14:01:28 +01:00
506a235d7a
[ci skip] changelog: remove mention of ext-ds
2021-04-15 14:00:45 +01:00
3e1ff2a63b
[ci skip] mention WorldCreationOptions changes in changelog
2021-04-15 13:57:20 +01:00
7b21fc8e9d
WorldCreationOptions are now mandatory during creation of worlds
2021-04-15 13:54:58 +01:00
203cc7fcef
World: Removed noisy debug message
2021-04-13 22:32:00 +01:00
ecf6de3430
WorldManager: Pre-generate a radius of 8 chunks
...
3 is absurdly small. 8 is a more realistic estimation of what the average player's render distance will be (it's also the default server.properties limit).
3 doesn't even fill the default spawn-radius setting, meaning that delays during player connection would occur anyway due to generation.
2021-04-13 22:15:47 +01:00
0f3147f49b
WorldManager: Log progress of spawn terrain generation
2021-04-13 21:28:17 +01:00
c90ca37ea3
Fix CS
2021-04-13 21:10:18 +01:00
ab176264b4
...
2021-04-13 21:06:37 +01:00
9c1b274499
WorldManager::createWorld() now accepts WorldCreationOptions instead of mixed[]
2021-04-13 21:03:25 +01:00
6ce15854af
Clean up generator preset handling
2021-04-13 20:19:53 +01:00
547503e8f4
Normal: Fixed bug that never lets mountainous terrain generate ( #4170 )
2021-04-13 17:56:57 +01:00
bfa1b4384b
Updated composer dependencies
2021-04-13 15:48:14 +01:00
c42a00641f
[ci skip] changelog: mention more Permission API changes
2021-04-12 16:25:50 +01:00