Dylan K. Taylor
4bcc7e09cb
PacketSerializer: fix unnecessary FQN
2021-05-29 14:24:48 +01:00
Dylan K. Taylor
8171b18002
Separate ItemTypeDictionary implementation from initialization
...
we're not going to want implementation details like how it's setup getting in the way when we separate protocol from the core.
2021-05-29 14:24:05 +01:00
Dylan K. Taylor
f68b9e79e1
Use typed properties in block namespace
2021-05-22 23:52:31 +01:00
Dylan K. Taylor
73c229a236
Block: fixed LSP violations in blocks using BlockIdentifierFlattened
...
a property's type can't be changed by a subclass
2021-05-22 23:40:54 +01:00
Dylan K. Taylor
285ad25168
BlockFactory: use the vars we already have, instead of repeated method calls
2021-05-22 12:45:08 +01:00
Dylan K. Taylor
f655d262be
Added stripped all-sided-log variants
...
again, these should be dynamic; but right now it's not possible.
2021-05-22 12:43:07 +01:00
Dylan K. Taylor
ac04911e88
BlockFactory: fix potential crash
2021-05-21 21:44:17 +01:00
Dylan K. Taylor
24405b63c1
Coarse is now a state of Dirt, instead of a separate block
2021-05-21 21:36:49 +01:00
Dylan K. Taylor
df260034cd
BlockFactory: Fill default state for all variants covered by bitmask when mismatch occurs
2021-05-21 21:12:34 +01:00
Dylan K. Taylor
e7b21cf9dc
World: remove obsolete TODO comment
...
[ci skip]
2021-05-21 13:10:48 +01:00
Dylan K. Taylor
2ab751f985
World: fixed potential bug scheduling async light updates multiple times
2021-05-21 13:09:38 +01:00
Dylan K. Taylor
f6f0938b3b
Merge branch 'stable'
2021-05-21 01:27:35 +01:00
Dylan K. Taylor
61077c48f1
Worker: fixed quit() usually being useless
...
Worker::isRunning() returns false after it exits the run() function, even if tasks are stacked and it isn't shutdown.
While this is mostly harmless (since the internal destructor will join the thread anyway), this should be fixed anyway.
2021-05-21 01:24:07 +01:00
Dylan K. Taylor
7968a72f0e
Eliminate some duplicated breakinfos
2021-05-20 23:18:33 +01:00
Dylan K. Taylor
376d2c4cd4
Consistently declare BlockBreakInfo at the constructor call site
...
instead of inside the class
2021-05-20 22:49:51 +01:00
Dylan K. Taylor
e0c61071e1
3.19.3 is next
2021-05-19 22:53:31 +01:00
Dylan K. Taylor
813d431208
Release 3.19.2
3.19.2
2021-05-19 22:53:30 +01:00
Dylan K. Taylor
8b4aa36e16
Merge branch 'master' of github.com:pmmp/PocketMine-MP
2021-05-19 22:50:15 +01:00
Dylan K. Taylor
af678f985d
All types of coral now have fully dynamic types
2021-05-19 22:49:44 +01:00
Dylan T
4a367b4b0e
...
2021-05-19 00:49:10 +01:00
Dylan T
821c9c550b
github web editor sucks
2021-05-19 00:48:25 +01:00
dependabot[bot]
ee112b992d
Bump phpstan/phpstan from 0.12.87 to 0.12.88 ( #4222 )
...
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan ) from 0.12.87 to 0.12.88.
- [Release notes](https://github.com/phpstan/phpstan/releases )
- [Commits](https://github.com/phpstan/phpstan/compare/0.12.87...0.12.88 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-19 00:18:48 +01:00
Dylan K. Taylor
69fa8e8db7
Added documentation to BlockFormEvent
2021-05-19 00:17:39 +01:00
Dylan K. Taylor
f8cfa191dd
Fixed confusing hierarchy of BlockGrow/Form/SpreadEvent, closes #2792
2021-05-19 00:17:38 +01:00
Dylan T
4122517292
[ci skip] update changelog
2021-05-18 23:51:58 +01:00
Dylan K. Taylor
1d8680aaa9
Update to released versions of BinaryUtils, Log, LogPthreads, NBT, RakLib and RakLibIpc
...
these all had to be updated in tandem because of the dependency tree - RakLib, RakLibIpc and NBT -> BinaryUtils, RakLib and LogPthreads -> Log, RakLibIpc -> RakLib.
2021-05-18 23:25:19 +01:00
Dylan K. Taylor
f5da91b42a
changelog: added a Configuration section
...
this might be incomplete.
[ci skip]
2021-05-17 23:49:47 +01:00
Dylan K. Taylor
e4750ad2cd
WorldTimings: apply native typehints
2021-05-17 23:23:46 +01:00
Dylan K. Taylor
7217ff5ff5
World: added an extra subtiming for random chunk updates
2021-05-17 23:18:56 +01:00
Dylan K. Taylor
4736b5968d
WorldTimings: change some idiotic timer names
2021-05-17 23:14:30 +01:00
Dylan K. Taylor
cdaf734470
World: Clean up ticking chunk loader tracking
2021-05-17 23:07:48 +01:00
Dylan K. Taylor
643c3ed14e
World: Require all adjacent chunks to a ticking chunk candidate to be unlocked, generated, loaded and light-populated
...
this should address the remaining problems with grass spread/death.
2021-05-17 20:59:40 +01:00
Dylan K. Taylor
7abf50f503
World: Extracted a tickChunk() method from tickChunks()
...
most of what's left in tickChunks() is just selecting the chunks, rather than actually ticking them.
2021-05-17 20:54:51 +01:00
Dylan K. Taylor
bab76f4a6e
World: extract some blocks of logic from tickChunks() into their own methods
...
the amount of nested loops, cx/dx/chunkx/etc clusterfuck in this code makes it very difficult to work with...
2021-05-17 20:50:46 +01:00
Dylan K. Taylor
10391be615
Remove useless class
2021-05-17 20:06:28 +01:00
Dylan K. Taylor
5a14c1cb89
Entity: don't rebuild metadata every tick unless an associated property changed
...
this should improve performance back to PM3 levels.
2021-05-17 20:05:52 +01:00
dependabot[bot]
c9b33e2b9f
Bump phpstan/phpstan-phpunit from 0.12.18 to 0.12.19 ( #4214 )
...
Bumps [phpstan/phpstan-phpunit](https://github.com/phpstan/phpstan-phpunit ) from 0.12.18 to 0.12.19.
- [Release notes](https://github.com/phpstan/phpstan-phpunit/releases )
- [Commits](https://github.com/phpstan/phpstan-phpunit/compare/0.12.18...0.12.19 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-13 15:17:18 +01:00
dependabot[bot]
2f2be84b12
Bump phpstan/phpstan from 0.12.86 to 0.12.87 ( #4217 )
...
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan ) from 0.12.86 to 0.12.87.
- [Release notes](https://github.com/phpstan/phpstan/releases )
- [Commits](https://github.com/phpstan/phpstan/compare/0.12.86...0.12.87 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-13 12:25:25 +01:00
Dylan K. Taylor
bdce781c6d
Chunk: do not close preexisting tiles in addTile()
...
if it's desired to actually replace a tile, the old tile should be explicitly removed and closed first.
2021-05-12 12:32:36 +01:00
Dylan K. Taylor
b2e806e2fa
World: Harden chunk loading against bad data in entity/tile NBT
2021-05-12 12:26:41 +01:00
Dylan K. Taylor
80e4da85df
Fixed PHPStan build
2021-05-12 12:12:29 +01:00
Dylan K. Taylor
42e915b902
Player: added locking variable to prevent reentry into respawn() while awaiting spawn terrain generation
2021-05-12 12:10:32 +01:00
Dylan K. Taylor
34ee1c2354
pocketmine.yml: update preset example for worlds
...
preset is now supported as its own key, and it's less confusing to present it separately, since that's how it's displayed in the server.properties also.
2021-05-12 12:00:52 +01:00
Dylan K. Taylor
4a68e0219e
shut
2021-05-11 19:29:30 +01:00
Dylan K. Taylor
4c4db1836f
Merge remote-tracking branch 'origin/stable'
2021-05-11 19:28:09 +01:00
Dylan K. Taylor
dfdd59734c
[ci skip] update changelog
2021-05-11 19:26:01 +01:00
Dylan K. Taylor
ab0500ae4f
Player: Fixed a multitude of bugs with respawning
...
the following things are changed:
- Player->getSpawn() no longer returns a safe spawn by default. Instead, if the player doesn't have a spawn set, it returns the world's stored spawn directly. This allows consistent behaviour of locating safe respawn positions without double calculation of safe spawn position, and also fixes crash issues during the login sequence if the player's spawn position referred to ungenerated terrain.
- Player->respawn() is now asynchronous, using the promise returned by orderChunkPopulation() to complete respawn after the terrain is generated. This allows consistently selecting a safe respawn position and fixes crashes when respawning if the spawn location was in ungenerated terrain.
There remains a problem that ragequit respawns are still only handled right after PlayerJoinEvent, which leads to the original spawn terrain being sent to the player, which is obviously very wasteful. However, that's a problem for a later commit.
2021-05-11 19:15:31 +01:00
Dylan K. Taylor
094c949e86
Entity: fixed extremely stupid bug with player respawning after ragequit
2021-05-11 19:08:56 +01:00
Dylan K. Taylor
5a7736b179
actions: go with PHP 7.4.19
2021-05-10 20:30:08 +01:00
Dylan K. Taylor
e648f1c91e
Remove unnecessary script copy
2021-05-10 17:55:52 +01:00