Dylan K. Taylor
5c5fe15483
tests: remove unused script
2020-11-03 14:42:29 +00:00
Dylan K. Taylor
315962c12c
Added __clone() for Chunk and SubChunk
...
we need this because the flatworld generator uses clone to produce new chunks, so we don't want the chunks getting fucked up.
2020-11-01 16:14:25 +00:00
Dylan K. Taylor
1d551af54a
Merge remote-tracking branch 'origin/stable'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/level/Level.php
# src/pocketmine/level/format/Chunk.php
# tests/phpstan/configs/l7-baseline.neon
2020-11-01 15:58:16 +00:00
Dylan K. Taylor
11434f3a27
World::setBiomeId() now bails when trying to modify a non-generated chunk (or chunk locked for generation)
2020-11-01 15:00:48 +00:00
Dylan K. Taylor
fec42f16ba
Level: properly define type of generator field
2020-11-01 14:36:05 +00:00
Dylan K. Taylor
19bc879dc1
lose useless blank line
2020-11-01 14:24:02 +00:00
Dylan K. Taylor
be1da07ee5
tests: phpdoc cleanup
2020-11-01 14:23:44 +00:00
Dylan K. Taylor
d6d9dde0b2
imports cleanup
2020-11-01 14:23:21 +00:00
Dylan K. Taylor
73a8c90bee
Merge remote-tracking branch 'origin/stable'
...
# Conflicts:
# resources/vanilla
# src/world/Explosion.php
# tests/phpunit/item/ItemTest.php
# tests/phpunit/world/format/io/region/RegionLoaderTest.php
# tests/plugins/TesterPlugin/src/pmmp/TesterPlugin/tests/AsyncTaskMainLoggerTest.php
# tests/plugins/TesterPlugin/src/pmmp/TesterPlugin/tests/AsyncTaskMemoryLeakTest.php
2020-11-01 14:21:47 +00:00
Dylan K. Taylor
c312c8ddd6
fix build
2020-11-01 00:11:41 +00:00
Dylan K. Taylor
c39a1407a2
Move heightmap calculation logic to SkyLightUpdate
2020-10-31 23:34:04 +00:00
Dylan K. Taylor
05470d0621
phpstan: regenerate level 8 baseline (again)
2020-10-31 23:17:03 +00:00
Dylan K. Taylor
40f9cd16cb
phpstan: drop a bunch of obsolete ignoredErrors from l8 baseline
2020-10-31 22:52:00 +00:00
Dylan K. Taylor
d94877f5d2
fix build
2020-10-31 22:51:24 +00:00
Dylan K. Taylor
f0d62cf4ce
World: don't try to load chunks to read light levels
...
sync chunk load is useless here because lighting isn't immediately calculated anyway and it isn't available directly from the chunk when loaded.
2020-10-31 20:38:15 +00:00
Dylan K. Taylor
f67ab094f2
fix build
2020-10-31 16:51:14 +00:00
Dylan K. Taylor
092a69e415
update phpstan baseline
2020-10-29 12:18:29 +00:00
Dylan K. Taylor
340881d590
remove superfluous newline
2020-10-26 15:59:57 +00:00
Dylan K. Taylor
e2e960e43d
tests: add missing function imports
2020-10-26 15:59:42 +00:00
Dylan K. Taylor
500fd2d842
tests: strip useless phpdoc
2020-10-26 15:59:17 +00:00
Dylan K. Taylor
d6ed542fcd
Merge remote-tracking branch 'origin/stable' into master
...
# Conflicts:
# composer.json
# composer.lock
# src/CrashDump.php
# src/pocketmine/Server.php
# src/pocketmine/level/format/io/region/McRegion.php
# tests/phpstan/configs/check-explicit-mixed-baseline.neon
# tests/phpstan/configs/l7-baseline.neon
# tests/phpstan/configs/l8-baseline.neon
# tests/travis/setup-php.yml
2020-10-26 16:18:53 +00:00
Dylan K. Taylor
3f254bd49c
Separated effects' MCPE ID registration from VanillaEffects
2020-10-24 18:52:20 +01:00
Dylan K. Taylor
47976bac34
Moved enchantment ID handling to pocketmine/data/bedrock package
...
this permits plugins to register their own enchantments mapped to MCPE IDs again.
2020-10-24 17:59:46 +01:00
Dylan K. Taylor
1424114cf2
Clean phpstan baselines
...
some of these are dead, others are FPs fixed by newer PHPStan versions.
2020-10-24 17:22:49 +01:00
Dylan T
69aa7c5ac1
Support for Composer v2 ( #3880 )
2020-10-24 16:42:38 +01:00
Dylan K. Taylor
a01c086481
Introduced VanillaEnchantments registry
2020-10-23 20:48:19 +01:00
Dylan K. Taylor
0f9d5f7011
ext-morton is now required and used for World::chunkHash() and World::chunkBlockHash()
2020-10-17 16:09:30 +01:00
Dylan K. Taylor
2d839db47e
fixed build failure
2020-10-17 16:05:38 +01:00
Dylan K. Taylor
792f38f474
Carpet and Wool now have dynamic colours
2020-10-15 14:45:28 +01:00
Dylan K. Taylor
0ef0848c44
Concrete and ConcretePowder colour is now dynamic
2020-10-15 14:30:07 +01:00
Dylan K. Taylor
44e446b621
Merge remote-tracking branch 'origin/stable' into master
...
# Conflicts:
# build/php
# composer.lock
# phpstan.neon.dist
# resources/vanilla
# src/pocketmine/Server.php
# src/pocketmine/VersionInfo.php
# src/pocketmine/entity/Entity.php
# src/pocketmine/lang/locale
# src/utils/Timezone.php
# tests/phpstan/bootstrap.php
# tests/phpstan/configs/custom-leveldb.neon
2020-10-13 17:51:49 +01:00
Dylan K. Taylor
03837c1b71
ZlibCompressor: use libdeflate if available
...
I may make libdeflate mandatory later on, but right now we haven't been able to ship it on all platforms yet.
2020-10-13 17:30:27 +01:00
Dylan K. Taylor
8564912149
phpstan: define LEVELDB_ZLIB_RAW_COMPRESSION if it doesn't exist (for phpstan)
...
this improves the analysis quality by informing phpstan of the type of whatever should be there.
2020-10-11 23:01:21 +01:00
Dylan K. Taylor
15cd354b98
fixed phpstan run again
2020-10-08 21:58:22 +01:00
Dylan K. Taylor
cc3947058a
updated phpstan baseline
2020-10-06 18:11:13 +01:00
Dylan K. Taylor
309d23acfb
regenerated blockfactory consistency check
2020-10-04 19:12:36 +01:00
Dylan K. Taylor
6fb45de405
fixed phpstan baseline
2020-10-04 19:12:04 +01:00
Dylan K. Taylor
d3a3a41d2b
Revert back to separated floor/wall sign
...
the conditionally useless properties are problematic.
2020-10-04 17:52:23 +01:00
Dylan K. Taylor
388a19ef5d
Persistent block metadata may now have mutable parts
...
Not allowing this makes stuff like anvil damage, colour, wood type, live/dead bit, wet/dry etc all too much hassle to deal with.
Naturally I want to get rid of this shit altogether, but first it's necessary to construct a new system that we can shift into before all this bullshit can be addressed fully, so for now we have to work within the bounds of the old system.
This change will permit dynamic colours for concrete/concrete powder etc, dynamic wood types where the wood type isn't embedded in the legacy ID, and so forth. Allowing full flexibility requires either more old system hacks or completing the migration to a new system which doesn't have these limitations. I prefer to do the latter, but this change will make it somewhat easier to do.
2020-10-04 11:40:05 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
7a436dc47c
updated blockfactory consistency check
2020-10-01 22:10:02 +01:00
Dylan K. Taylor
ec7c5fd669
Added a BrewingStandSlot enum
2020-09-26 17:20:02 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
4a88db7f43
travis: update pthreads to pmmp/pthreads@b81ab29df5
2020-09-11 14:30:22 +01:00
Dylan K. Taylor
03de2bcc67
Chunk: simplify heightmap calculation
2020-09-08 23:03:52 +01:00
Dylan K. Taylor
c7070788f9
Rename and repurpose Block->diffusesSkyLight to blocksDirectSkyLight
...
this new form allows skipping some useless checks during sky light calculation and also allows getting rid of the last hard dependency on core Block classes.
We're getting real close to native light now.
2020-09-08 22:40:05 +01:00
Dylan K. Taylor
773069d1cc
fix travis build
2020-09-08 21:09:39 +01:00
Dylan K. Taylor
ec6ac59b9c
BlockLightUpdate: actually use lightEmitters
...
I accidentally added this during a separation of my local changes, but it's useful anyway, so we should use it.
This removes BlockLightUpdate's implicit dependency on Block, which is a
step towards native light.
2020-09-08 18:21:03 +01:00
Dylan K. Taylor
01f8116cdd
Fix some of the implicit immutability issues of EmptySubChunk
...
it's useful to have an immutable stub around for the sake of feeding back dummy read values, but for write values it has to barf instead of being quiet.
There's still some issues with LightArray which I don't currently have a solution for, but I'm thinking about separating light storage from chunks anyway.
2020-09-07 14:43:26 +01:00