36 Commits

Author SHA1 Message Date
Dylan K. Taylor
ff915b829c StartGamePacket: remove hardcoded cache, move to RuntimeBlockMapping 2020-04-24 20:50:56 +01:00
Dylan K. Taylor
f3d7c320a1 move SkinAdapter stuff to convert package 2020-04-23 15:46:37 +01:00
Dylan K. Taylor
ebcfab4b61 NetworkInventoryAction: move type translation to TypeConverter 2020-04-23 15:40:23 +01:00
Dylan K. Taylor
1b26cf1df9 break the hard cycle between mcpe\handler and mcpe\protocol
preparing to move mcpe\protocol to a separate library
2020-04-23 15:38:11 +01:00
Dylan K. Taylor
18d48869a0 the great airgapping of recipes and itemstacks 2020-04-23 14:11:48 +01:00
Dylan K. Taylor
35d656c6e5 ProcessLoginTask no longer depends on NetworkSession 2020-04-22 13:30:37 +01:00
Dylan K. Taylor
86e051b7bf Merge commit 'a2543ff80d2906bccda1a4e2fdbd9d8e7d147fb3' 2020-04-18 17:33:05 +01:00
Dylan K. Taylor
9bfc1df486 Merge branch 'stable' 2020-04-18 13:19:31 +01:00
Dylan K. Taylor
e86c243db5 NetworkSession: do not expose setPlayerInfo() 2020-04-16 01:55:52 +01:00
Dylan K. Taylor
9ba47f90d1 LoginPacketHandler: account for failure to correctly parse UUID
this will still crash in some circumstances, pending merging bug fixes from stable.
2020-04-16 01:45:00 +01:00
Dylan K. Taylor
83a3adecff LoginPacket: use netresearch/jsonmapper for login data decoding
this makes retrieval static analysis friendly without extra steps.
2020-03-23 22:00:13 +00:00
Dylan K. Taylor
3e5d3a646b Make use of BadPacketException::wrap() 2020-03-23 21:28:38 +00:00
Dylan K. Taylor
c9e8598510 InGamePacketHandler: do not handle inbound ActorEvents that are not for self 2020-03-13 15:19:32 +00:00
Dylan K. Taylor
55e3b9ed91 InventoryManager: avoid feedback loop when closing inventory 2020-02-12 16:35:57 +00:00
Dylan K. Taylor
4014f9a4f2 InventoryManager: be aware of client-side state when syncing slots
this eliminates feedback loops during client-initiated slot changes, and also makes it possible to have a SlotChangeAction anonymous from its initiator.
2020-02-11 21:12:18 +00:00
Dylan K. Taylor
ce42ca958e InGamePacketHandler: do not execute use-item action if already using item, fixes #3246
the useHeldItem() sets the using-item flag back to true immediately after consumeHeldItem() sets it to false, which caused this bug.
stable has the same problem, but the effects don't show due to a well timed MobEquipmentPacket (a happy accident).
2020-02-09 12:13:15 +00:00
Dylan K. Taylor
bfdfa4184b Merge branch 'stable' 2020-02-08 09:33:56 +00:00
Dylan K. Taylor
d2aca6023b add native return types to closures (for phpstan) 2020-02-07 22:05:15 +00:00
Dylan K. Taylor
fb1126797a Merge branch 'stable' 2020-02-07 18:13:55 +00:00
Dylan K. Taylor
e66197036d InGamePacketHandler: drop transactions with 0 actions without trying to execute them
often we throw out actions that have no value, which can lead to an empty transaction and re-syncing the inventory. This happens every time we interact with the creative inventory in 1.13+, which causes items to appear to vanish when taking them from the creative menu.
The correct fix for this is to resend only the slots affected by SlotChangeActions, but this fix will suffice for now without rewriting everything.
2020-01-25 18:10:37 +00:00
Dylan K. Taylor
055b13a6cf strip extra blank lines (php-cs-fixer) 2020-01-22 15:14:10 +00:00
Dylan K. Taylor
67bcc1c0fb phpdoc armageddon for master, pass 1 2020-01-22 11:55:03 +00:00
Dylan K. Taylor
ccdf003c8d ResourcePacksPacketHandler: fixed chemistry being applied to top of stack instead of bottom
it seems like the stack order is reversed, so all 'regular' in-memory stack behaviour goes out of the window.
2020-01-22 08:26:44 +00:00
Dylan K. Taylor
fde888bf59 Merge commit 'f3550446267f975b33219bdde6aec8fbea614cb2' 2020-01-04 16:36:33 +00:00
Dylan K. Taylor
4651bcf8c3 master: imports cleanup
it was easier to make an empty merge and re-run php-cs-fixer afterwards.
2019-12-11 23:23:03 +00:00
Dylan K. Taylor
c85c1c3c3f Merge commit '82d9e481d2a0a389fbbc6dfd3672fc366127febc' 2019-12-11 23:06:35 +00:00
Dylan K. Taylor
3fa628f259 updated NBT dependency 2019-12-09 11:26:43 +00:00
Dylan K. Taylor
464b2116a6 Merge remote-tracking branch 'origin/stable' 2019-10-01 14:41:54 +01:00
Dylan K. Taylor
dbdcabcc56 Player: get rid of CID requirement from player info, CID is still available via extradata if supported by client impl
this is useless for PM and it doesn't have any fit purpose for plugin use either, so it doesn't make sense to expose it to the API.
2019-08-21 18:17:31 +01:00
Dylan K. Taylor
018a4467bf fix bug in LoginPacketHandler (incorrect metadata array in PlayerInfo)
this was intended to make available things like the deviceOS, input method etc without placing an API requirement for custom implementations to provide such information.
2019-08-21 18:06:18 +01:00
Dylan K. Taylor
2d4a32fc77 first look at separating Entity and Location 2019-08-19 17:20:34 +01:00
Dylan K. Taylor
774e6fe8a3 Make chemistry textures always enabled 2019-08-10 17:38:00 +01:00
Dylan K. Taylor
fae6289eb8 protocol: move resource-pack related types to their own subnamespace 2019-08-08 19:58:24 +01:00
Dylan K. Taylor
d87b6f9ff7 Remove resource pack packets dependency on ResourcePack, now supports decoding 2019-08-08 19:36:54 +01:00
Dylan K. Taylor
53ab860db5 first shot making Block not extend Position
this makes some stuff a lot less pretty, but this seems to be the bare minimum necessary to do this task. It can be enhanced later.
2019-08-05 16:44:09 +01:00
Dylan K. Taylor
5499ac620c Removed pocketmine subdirectory, map PSR-4 style 2019-07-30 19:14:57 +01:00