Commit Graph

12061 Commits

Author SHA1 Message Date
9fd9428377 Merge commit '0f6dc9082a781fcc6f70f3d3e05bd261c6f6c203'
# Conflicts:
#	composer.lock
#	resources/vanilla
2020-06-26 18:49:11 +01:00
111f4b3778 Merge commit '2b6dcbc2e2f1dc8d629225c19cbcedfb9ae969c4'
# Conflicts:
#	resources/vanilla
2020-06-26 18:46:29 +01:00
abe4f1bf25 Merge commit '763c8ebfe3bb8a597768d86040fee130c8fc7ab8'
# Conflicts:
#	resources/vanilla
#	src/pocketmine/Worker.php
#	src/thread/CommonThreadPartsTrait.php
2020-06-26 18:46:01 +01:00
b8bbfdb181 Merge commit 'c572e9bb6a787d0573e7999b38f4651fc48cec58'
# Conflicts:
#	resources/vanilla
#	tests/phpstan/configs/l7-baseline.neon
2020-06-26 18:43:43 +01:00
17054e1001 Merge commit '89521f166d8b43f2fd2af99f367888a34b44c492'
# Conflicts:
#	resources/vanilla
#	src/world/Explosion.php
2020-06-26 18:42:30 +01:00
d8a8f5b77a phpstan: ignore a new error caused by 52fd1a8c1d 2020-06-26 13:54:30 +01:00
0f6dc9082a lock phpstan at 0.12.29
0.12.30 starts reporting non-ignorable errors for overriding Thread::start() due to outdated stubs for pthreads that I can't replace
2020-06-22 20:57:12 +01:00
2b6dcbc2e2 BaseLang: fixed passing onlyPrefix to str_replace()'s count reference parameter 2020-06-22 20:34:23 +01:00
52fd1a8c1d CommandSender: export getLanguage()
this currently serves as a proxy to the server main language, but it can be used by third party implementations to choose a non-Server language.
2020-06-22 20:05:23 +01:00
097fc7e6cb phpstan: clean out some more dead error patterns 2020-06-22 19:59:57 +01:00
5c3d39f4e2 phpstan: clean out some level 8 error patterns that no longer apply 2020-06-22 19:56:00 +01:00
137605ab8c Position: make World constructor parameter required 2020-06-22 14:15:27 +01:00
5e0d635562 Resource packs: modules field is required in manifest.json 2020-06-21 23:19:15 +01:00
763c8ebfe3 Thread/Worker: drop nullability flag from start() (fixed in pthreads 3.2.0, which we require as a minimum) 2020-06-21 19:07:01 +01:00
c572e9bb6a phpstan: regenerate l7 baseline 2020-06-21 18:58:41 +01:00
a920baa295 resource packs: use JsonMapper for manifest parsing 2020-06-21 18:47:27 +01:00
89521f166d Explosion: account for multi-block structures, fixes #2767 2020-06-21 17:28:38 +01:00
1ef6e5e17b TileFactory now only manages loading tiles from NBT, not direct creation
my objective is to make this use proper constructors like entities, but there's a couple of obstacles to get around first.
2020-06-21 00:47:02 +01:00
1f90aa07aa Merge branch 'stable'
# Conflicts:
#	resources/vanilla
#	src/command/defaults/TeleportCommand.php
#	src/pocketmine/event/entity/EntityDespawnEvent.php
#	src/pocketmine/event/entity/EntityInventoryChangeEvent.php
#	src/pocketmine/event/entity/EntityLevelChangeEvent.php
#	src/pocketmine/event/entity/EntitySpawnEvent.php
#	tests/phpstan/configs/actual-problems.neon
2020-06-21 00:30:45 +01:00
49d3a42120 phpstan: make EntityEvent generic, fix a bunch of 'actual-problems' ignored errors 2020-06-21 00:27:32 +01:00
c523595e85 Rewrite TeleportCommand (sadly I can't make this commit any smaller)
this pile of shit was overdue a rewrite. The new version is much easier to understand.
2020-06-21 00:04:18 +01:00
7c7e4f2093 WhitelistCommand: fixed silence on unknown subcommand 2020-06-20 23:05:39 +01:00
88c1014f03 TimingsCommand: fixed silence when using a nonexisting subcommand 2020-06-20 23:04:08 +01:00
a16de8747e Explosion: stop using Vector3->setComponents()
this kills two birds with one stone: this inlined version of the logic should be faster than the vector-abusing version.
2020-06-20 22:19:37 +01:00
bf5c06f285 World: get rid of temporalPosition too (entirely unused) 2020-06-20 21:45:35 +01:00
fc7672c6ba World: remove temporalVector (premature cold path optimisation again) 2020-06-20 21:44:05 +01:00
80e150c803 Entity: get rid of temporalVector mutation
except for checkBlockCollision, these are all cold paths ... this gets us one step closer to immutable Vector3
2020-06-20 21:41:19 +01:00
42637f97c6 Liquid: eliminate some unnecessary Vector3 field mutations 2020-06-20 21:32:24 +01:00
d38c17835d Properly switch to string entity IDs 2020-06-20 13:43:31 +01:00
a988578ee0 protocol: move PotionType and PotionContainerChange recipes to types/recipe namespace 2020-06-20 11:43:47 +01:00
0784bfa2fb phpstan: drop another pattern that was fixed by recent changes 2020-06-20 11:30:14 +01:00
032dc57090 phpstan recognizes the existence of parallel\bootstrap now 2020-06-20 11:29:45 +01:00
6be56de3ed clean some newly fixed errors from phpstan baselines 2020-06-20 11:24:39 +01:00
d5db163208 protocol: added proper object wrappers for gamerules 2020-06-20 11:24:39 +01:00
d2089afbc3 ItemBlock: get rid of -1 meta check (meta is never -1 in this code path now) 2020-06-20 09:52:02 +01:00
62e7b0e2b1 (Splash)Potion: do not assume that META == potion ID
it probably will be, but meta might not be accessible anymore soon.
2020-06-20 09:31:06 +01:00
d62d0762ff item: remove some unnecessary CompoundTag usages 2020-06-19 22:59:19 +01:00
4e8e10ca45 EntityFactory: remove obsolete indirection (class mappings are redundant here now) 2020-06-19 22:18:42 +01:00
0a43fd816c EntityFactory: drop unnecessary @param 2020-06-19 22:10:35 +01:00
47baaf4c72 move NBT helper functions from EntityFactory to EntityDataHelper 2020-06-19 22:04:36 +01:00
1a3445f4b5 EntityFactory: drop automatic provisioning of short class name as save ID 2020-06-19 22:03:22 +01:00
012acdd4cb move runtime entity ID counter from EntityFactory back to Entity
EntityFactory is specialized for the purpose of deserializing data from worlds, and runtime ID assignment isn't related.
2020-06-19 21:55:49 +01:00
6d3750994b EntityFactory: remove dead function 2020-06-19 21:54:23 +01:00
954e8e6e6f update pocketmine/math dependency 2020-06-19 11:33:10 +01:00
fb4a99a0ef Position: x,y,z parameters are now mandatory 2020-06-19 11:21:47 +01:00
9f89f2887a Location: x,y,z parameters are now mandatory 2020-06-19 11:19:05 +01:00
4b0bf34adb Location: add native typehints 2020-06-19 11:17:20 +01:00
60a6b4b10d Entity: use EntityFactory helper function to deserialize Motion 2020-06-19 10:51:27 +01:00
4b528aa637 NBT is no longer needed to create an entity
it's still able to be provided, but shouldn't be needed in the majority of cases (constructor args and/or API methods should be sufficient).
2020-06-19 10:51:27 +01:00
0a1bb0041b Player: avoid using NBT for onGround hack 2020-06-19 10:51:27 +01:00