9191e75392
LevelDB: quick and dirty hack for air with bad metadata
...
this needs a proper solution, but this is a pressing issue that can't wait.
2020-10-03 16:41:26 +01:00
d0213f99ac
MountainsBiome: fix error from stale PR merge
2020-10-02 12:24:18 +01:00
a77970448e
Emerald ore in Mountains biome ( #3750 )
2020-10-02 12:07:49 +01:00
e17629244c
Merge branch 'master' of https://github.com/pmmp/pocketmine-mp into master
2020-10-02 01:00:21 +01:00
5807a385cc
Added stub classes for Beacon
...
this doesn't do anything yet, it's intended solely to prevent further loss of data.
2020-10-02 00:59:53 +01:00
6734dcc79f
Introduce PlayerDisplayNameChangeEvent (listen only) ( #3847 )
2020-10-01 22:23:02 +01:00
7a436dc47c
updated blockfactory consistency check
2020-10-01 22:10:02 +01:00
4492c80af1
Merge remote-tracking branch 'origin/stable' into master
...
# Conflicts:
# composer.lock
# resources/vanilla
2020-10-01 22:08:27 +01:00
201bdc069c
phpstan 0.12.47
2020-10-01 22:07:43 +01:00
8db7867881
travis: notify about build results
2020-10-01 22:05:12 +01:00
84feec954f
BlockLegacyMetadata: Added constants for mushroom block variants
2020-10-01 21:41:46 +01:00
14c156b162
Added ChemicalHeat block stub
2020-10-01 14:46:14 +01:00
d8f8afe531
Bump phpstan/phpstan from 0.12.46 to 0.12.47 ( #3844 )
2020-09-30 10:51:33 +00:00
7dabf305f8
Bump phpstan/phpstan from 0.12.44 to 0.12.46 ( #3841 )
2020-09-29 07:01:51 +00:00
12087c9850
Wall: use facing as value as well as key in connections
2020-09-26 17:41:00 +01:00
9e3ff21aea
Wall: remove unused import
2020-09-26 17:26:54 +01:00
ec7c5fd669
Added a BrewingStandSlot enum
2020-09-26 17:20:02 +01:00
e192c75019
MemoryManager: Analyze contents of function/method static variables
...
it's possible for stuff to hide inside these things that would cause leaks.
2020-09-26 15:18:34 +01:00
b8e1bdbed4
MemoryManager: Look inside Closure objects to resolve dependencies
...
the lack of closure analysis allowed several memory leaks to be unable to be debugged using memory dumps.
2020-09-26 15:11:47 +01:00
7b02cc3efd
Implemented #3836 : Replace setCancelled() in events with cancel() and uncancel()
...
The motivation for this is to prevent passing a dynamic argument to cancellation, which in almost all cases is a bug in user code. This same mistake also appears in a few places in the PM core (as seen in this commit), but in those cases the mistakes were mostly harmless since they were taking place before the event was actually called.
closes #3836
2020-09-26 14:31:56 +01:00
75e3a0aa0f
Merge branch 'stable' into master
...
# Conflicts:
# composer.lock
# resources/vanilla
# src/command/defaults/StatusCommand.php
# src/pocketmine/entity/Entity.php
# src/pocketmine/level/format/SubChunk.php
2020-09-26 13:27:08 +01:00
ed0053d0ee
Updated build/php submodule to pmmp/php-build-scripts@732ceba847
2020-09-26 13:20:45 +01:00
28255e35d1
Updated composer dependencies
2020-09-26 13:18:38 +01:00
05a94f35d6
Updated composer dependencies
2020-09-26 13:17:54 +01:00
89cce4c749
performance: only calculate light for chunks inside ticking areas
...
this produces a major performance improvement for large render distances, and reduces the impact of lighting calculation to zero on servers which have random blockupdates turned off.
2020-09-26 13:13:12 +01:00
b727972c76
World: remove useless isLightPopulated() check
...
chunks are never light populated when loaded from disk now.
2020-09-26 12:52:28 +01:00
626680c6c1
Use new Location objects instead of mutating Entity->location directly
...
I'm actually not a big fan of needing to recreate the whole thing just to modify the coordinates. This seems kind of stupid.
2020-09-25 18:43:49 +01:00
db7fb25196
Avoid more Vector3 mutations using withComponents()
2020-09-25 18:40:13 +01:00
1d8e7abdd4
Entity: avoid direct mutation of Vector3 in checkObstruction(), use withComponents() instead
...
this ugly code can be simplified quite a lot further, but that's a job for later.
2020-09-25 18:38:41 +01:00
25566c2f1a
Entity: avoid direct Vector3 mutations in tryChangeMovement()
2020-09-25 18:37:29 +01:00
9dda99f844
Updated composer dependencies
2020-09-25 18:36:45 +01:00
38b97dd0b7
Entity: remove useless function
2020-09-25 18:11:24 +01:00
3b4e9eea96
RuntimeBlockMapping: drop useless doc comment
2020-09-25 17:43:00 +01:00
7c192f85e2
protocol: remove final remaining Vector3 mutations
...
this really should be replaced with a network layer BlockPos structure in the absence of a general int-vector structure in math.
2020-09-25 17:41:12 +01:00
a5e21bfaa9
Entity: protect getBlocksAroundWithEntityInsideActions()
2020-09-25 16:40:30 +01:00
3556f26e00
Entity: Rename getBlocksAround() -> getBlocksAroundWithEntityInsideActions()
...
this name is more long-winded, but much less misleading.
2020-09-25 16:39:55 +01:00
8e12693494
Entity: Invalid blocksAround cache when something happens during onEntityInside()
...
this fixes TNT spawning multiple entities when lit by flaming arrows.
The problem here is a bit more complex (entities aren't immediately notified when local block updates happen, so they cache stuff that becomes unusable). The simplest option would be to just lose the cache, but that would have some impacts on performance.
Barring a rethink of the block updating mechanism, this solution seems usable for now.
2020-09-25 16:35:59 +01:00
0fc9170bbf
Bump phpstan/phpstan from 0.12.43 to 0.12.44 ( #3838 )
2020-09-25 13:20:29 +00:00
7e2efae024
Bump phpstan/phpstan from 0.12.42 to 0.12.43 ( #3831 )
2020-09-24 11:23:32 +00:00
e9fa07b550
Bump phpunit/phpunit from 9.3.10 to 9.3.11 ( #3835 )
2020-09-24 09:57:58 +00:00
ae9e931849
LightPopulationTask: Simplify check for chunk loading in onCompletion()
...
we have no business loading chunks here either, although the isChunkLoaded() check should prevent that from happening.
2020-09-20 13:44:02 +01:00
b252c18d34
World: Loading chunks to sync block updates is a bug
...
again, this should never happen, because chunk unloading cleans this stuff out. But if it did happen, loading chunks is not the way to take care of it.
2020-09-20 13:42:27 +01:00
b7471fc77b
Player: Loading chunks to spawn entities is a bug
...
again, this would never happen except in bug circumstances, but if there was a bug, it should crash instead of trying to load chunks to paper over it.
2020-09-20 13:40:44 +01:00
7f43164776
Player: Loading chunks during unloading chunks is a BIG nope
...
this should never happen, but it could have happened if there was a bug in the code for some reason.
Readers note: I know this looks lik I'm undoing the changes I just did, but what really happened is a name change.
2020-09-20 13:39:31 +01:00
716de4d9d6
ChunkCache: we have no business autoloading chunks during sending
...
if the chunk isn't loaded, this is a bug and it should crash.
2020-09-20 13:32:54 +01:00
5096741b29
World::getChunk() behaviour now matches that of a regular ChunkManager
...
Various bugs existed for a while with stuff using chunk managers instead of worlds when interacting with terrain due to a behavioural inconsistency between World::getChunk() (return from cache or load from disk), and SimpleChunkManager::getChunk() (return from cache only). This change brings the two in line.
World::getOrLoadChunk() has been added as a replacement, which has the same behaviour as the old getChunk() and also makes it more obvious that there is an issue with code using it during refactoring.
2020-09-20 13:29:09 +01:00
c9d2edcb4d
Rename SubChunkIteratorManager -> SubChunkExplorer
2020-09-20 12:47:44 +01:00
4879df626d
Reduced LightUpdate dependency on ChunkManager to indirect
...
this opens the gateway for alternative SubChunkIteratorManager implementations which don't use ChunkManager at all.
2020-09-20 12:41:53 +01:00
5661d0496f
RuntimeBlockMapping::toRuntimeId() now accepts a single integer instead of id/meta
...
the expectation is that eventually this will receive arbitrary internal runtime IDs instead of static id/meta, and RuntimeBlockMapping doesn't really care about this crap anyway.
2020-09-20 12:16:11 +01:00
42b184c113
Merge branch 'master' of https://github.com/pmmp/pocketmine-mp into master
2020-09-20 12:01:40 +01:00