Commit Graph

11932 Commits

Author SHA1 Message Date
88715c7055 extracted a HeightArray type from Chunk 2020-05-16 18:41:27 +01:00
a31240f60b FastChunkSerializer: added constants for internal flags 2020-05-16 18:06:00 +01:00
82d361d75f extract a BiomeArray unit from Chunk
this now also properly validates data read from disk.
2020-05-16 17:36:22 +01:00
c30dd9f1b6 Entity: add abstract getNetworkTypeId(), remove NETWORK_ID constant
this now requires that subclasses supply a proper NETWORK_ID.
2020-05-16 16:08:12 +01:00
67666db827 Task: Remove currentTick parameter (#3498)
This parameter is not used for the vast majority of task use cases and just serves as extra useless boilerplate code, especially for closure-based tasks.
This use case can be replaced using Server->getTick() in the cases where it matters.
2020-05-16 15:28:45 +01:00
5a8917f6f2 TaskScheduler: queue contains TaskHandler, not Task 2020-05-16 15:27:20 +01:00
38e28f91e8 PermissionParser: move default string mappings to const array instead of switch
this allows them to be used for validation in stuff like Respect In() rule.
2020-05-16 11:26:00 +01:00
3fb34ad18e remove particle/validator dependency, require respect/validation, close #3228
this fixes a few crashes that could appear from invalid plugin_list.yml setups, which was the reason #3228 was opened to begin with. Respect also has nicer error messages, as long as you don't use the static API :)
2020-05-15 22:57:38 +01:00
f3e436592a ZippedResourcePack: detect location of manifest.json if it's not in the root
this isn't quite as bulletproof as I'd like it to be, but it should work...
2020-05-15 19:41:45 +01:00
129a7c1b3e LoginPacketHandler: avoid trashing variables in foreach 2020-05-15 11:19:14 +01:00
31e4fc6fcb fixing incompatible protocol handling, do not explode immediately on bad clientdata, login encode/decode is now symmetrical 2020-05-15 10:55:29 +01:00
86db3af896 remove utils\Color, use new pocketmine/color class
we're so close to separating protocol from core !!!
2020-05-14 20:38:08 +01:00
4437756987 Inventory: reduce API duplication by using a Set for viewers 2020-05-14 14:13:28 +01:00
3dafee6aa6 NetworkSession: explicitly unregister effect manager hooks on dispose,
close #3455
2020-05-14 10:59:10 +01:00
36c5d9117d LoginPacketHandler: properly handle failure to base64_decode stuff from JWT
previously this might just return false and blow up in your face.
I considered fixing this on stable too, but it's less useful there because so much stuff on stable just explodes at the first wrong thing anyway.
2020-05-14 09:46:44 +01:00
35747874f6 Cocoa: fix drops, closes #3326
this doesn't really do a whole lot, but I want this issue off my tracker, it's worthless...
2020-05-14 00:56:39 +01:00
59445902b8 Entity: do not spawn to players who haven't received the target chunk yet, closes #3355
this might cause some delays on chunk resend as documented on master, but entities all get respawned on a resend, so this doesn't matter much. It's better than whatever side effects might come with spawning an entity in a chunk that the player doesn't have yet.
2020-05-14 00:46:54 +01:00
2eb62c85f6 Server: cast network.compression-level to int, closes #3393 2020-05-14 00:37:54 +01:00
ad2a39bf13 Merge #3489: fix spawn protection check for placement checking the wrong block, close #3488, close #3489 2020-05-14 00:30:11 +01:00
955b23cc8e Merge branch 'stable'
# Conflicts:
#	resources/vanilla
2020-05-14 00:23:36 +01:00
0847358070 SkinImage: fix inverted auto-detect height/width, closes #3490
it seems like the client doesn't care if the h/w are inverted for skins anyway, but this is still wrong anyway...
2020-05-14 00:22:12 +01:00
e9ecb9a9fd fixed build failure 2020-05-13 22:54:24 +01:00
97a4a53e59 added legacy string item mappings that were unknowingly removed
these are returned for the sake of backwards compatibility for plugins.
2020-05-13 22:48:08 +01:00
84291e7980 Throw a more specific exception for JWT handling errors 2020-05-13 21:23:04 +01:00
486e0e710b JwtUtils: fix minor formatting issue 2020-05-13 20:51:24 +01:00
44a7829536 VerifyLoginException: fixed rogue usage in JwtUtils 2020-05-13 20:50:41 +01:00
d7eb4f9651 Extract more general-purpose logic to JwtUtils
this code could now be reused for creating custom login packets.
2020-05-13 20:46:01 +01:00
161ac468f3 ProcessLoginTask: properly cater for key parsing errors 2020-05-13 19:23:12 +01:00
bbc249ff0d Merge branch 'next-minor'
# Conflicts:
#	composer.lock
#	resources/vanilla
#	src/VersionInfo.php
2020-05-13 13:54:29 +01:00
1b47970e71 Merge commit 'b0445504754a2f4cd0414e25851718235aeac089' 2020-05-13 13:52:34 +01:00
cc8aed5979 Merge commit '56883f9ff9d2a0934dd3585e565d109ea322f583'
# Conflicts:
#	resources/vanilla
2020-05-13 13:51:55 +01:00
a37cf6f5b2 Merge commit '7cdd26add5a13b2bb0afcf69b4bd3b8fd87c264c' 2020-05-13 13:49:32 +01:00
4c5fb1371d Merge commit 'a70fa1569027b5a77979ae513f753e71b4454b05' 2020-05-13 13:48:51 +01:00
fada0d57ce Merge commit 'bd1d7b8d75976966c5480b18b91e9d8ff176612e' 2020-05-13 13:38:13 +01:00
934f85841c asserts 👏 are 👏 not 👏 error 👏 checking 2020-05-13 13:37:49 +01:00
8c2878fe5b Added JwtUtils::parse(), make ProcessLoginTask more robust 2020-05-13 13:36:42 +01:00
c69411c984 Merge commit 'c4150d45207a8681ea1f181c7ee4ca75109a21de'
# Conflicts:
#	composer.lock
#	resources/vanilla
2020-05-13 13:30:31 +01:00
934a18df3c Merge commit '2f47597d75b514944a2f3f5d293f2fb72dd7fb56' 2020-05-13 13:28:47 +01:00
45f9c61d0f forward-port of 2f47597d75 as best it fits 2020-05-13 13:28:35 +01:00
8766d4050c Merge branch 'stable' into next-minor 2020-05-13 13:18:55 +01:00
54f41dc145 3.12.2 is next 2020-05-13 13:10:25 +01:00
ded45bddfe Release 3.12.1 3.12.1 2020-05-13 13:10:10 +01:00
b044550475 Player: duct tape for yet another login sequence bug in the shitty net architecture 2020-05-13 12:59:43 +01:00
a70fa15690 phpstan 0.12.25, drop some bug-filtering error patterns 2020-05-13 12:51:52 +01:00
bd1d7b8d75 asserts 👏 are 👏 not 👏 error 👏 checking 2020-05-13 12:39:55 +01:00
1513a0e092 VerifyLoginTask: beware wrong number of parts when splitting JWT 2020-05-13 12:39:53 +01:00
84f41153e9 silence another phpstan bug 2020-05-13 00:25:16 +01:00
11ef9fb0c0 Item-from-string parsing no longer depends on ItemIds
after this is done I'm banning the constant() function.
2020-05-13 00:18:49 +01:00
ec13aa659a ItemFactory: do not explode on invalid damage values for durables
just treat them as unknown items instead
this might break some use cases, but at least this way they won't crash the server when read from disk and they won't get lost either.
2020-05-12 23:28:17 +01:00
ac4c1c9086 Clean up to SurvivalBlockBreakHandler internals - don't create a handler if it won't be used anyway 2020-05-12 22:45:42 +01:00