6eac2ea7a5
Modernize private property declarations in src/network
2022-05-17 21:22:33 +01:00
741182c55f
InGamePacketHandler: skip processing movement if the player's position
...
was changed during processing other properties (#4913 )
fixes #4952
2022-04-10 21:02:45 +01:00
ea677154cb
InGamePacketHandler: rely exclusively on prediction mismatch checking to re-sync slots during bad transactions
...
fixes #4894
closes #4926
relying on the core code to guess which slots should be synced is unreliable at best.
2022-04-04 21:58:19 +01:00
90a8595a40
Check for mismatched inventory slot predictions in transactions
...
this should limit the problems caused by mismatched gameplay features that result in ghost items, such as #4896 .
2022-03-22 17:42:19 +00:00
4f25ab10e9
InventoryManager: Do not sync slots the client correctly predicted during using items
...
closes #4825
2022-02-22 16:46:23 +00:00
b26b1cd32f
Fixed swimming hitbox glitch
...
fixes #4815
relates to Sandertv/gophertunnel#88
2022-02-19 20:14:17 +00:00
d9ea647925
InGamePacketHandler: add a hack for swimming AABB client bug
2022-01-27 00:28:54 +00:00
82f1c2766c
Merge branch 'stable' into next-minor
2022-01-22 01:00:40 +00:00
c10eda5eae
InGamePacketHandler: limit depth of form responses to 2
...
form responses should only contain string|int|float|bool|null. Arrays or objects appearing in here are likely malicious.
2022-01-21 19:11:58 +00:00
387c13beff
InGamePacketHandler: fixed invalid JSON being treated as form close
2022-01-21 18:32:58 +00:00
56fe71d939
InGamePacketHandler: fixed crash in form handling when invalid JSON is given
2022-01-21 17:34:13 +00:00
be1996752a
Replace disallowed operators in src/network/
2022-01-20 19:11:32 +00:00
853ecd2408
InGamePacketHandler: fix function ordering
2022-01-16 16:16:42 +00:00
33421258b6
Silence MovePlayerPacket debug spam
2022-01-16 15:40:18 +00:00
42d07c74d7
added missing redstone power flag logic
2022-01-15 22:19:47 +00:00
1366c49f1f
Implemented Lectern ( #4708 )
...
Co-authored-by: Covered123 <58715544+JavierLeon9966@users.noreply.github.com >
Co-authored-by: Dylan K. Taylor <dktapps@pmmp.io >
2022-01-15 21:21:29 +00:00
ee6548aa50
Merge branch 'stable' into next-minor
2022-01-14 00:45:49 +00:00
f126479c37
InGamePacketHandler: check the validity of facing values given by the client
2022-01-13 21:21:15 +00:00
fb29653ed7
Merge remote-tracking branch 'origin/stable' into next-minor
2022-01-06 22:43:57 +00:00
3ed57ce49a
Merge pull request from GHSA-p62j-hrxm-xcxf
...
This checks the following things:
- Validity of UTF-8 encoding of title, author, and page content
- Maximum soft and hard lengths of title, author, and page content (soft
limits may be bypassed by uncancelling PlayerEditBookEvent; hard
limits may not be bypassed)
- Maximum number of pages. Books with more than 50 pages may still be
edited, but may not have new pages added.
2022-01-04 20:39:02 +00:00
8532e9c8e0
Merge remote-tracking branch 'origin/stable' into next-minor
2022-01-04 14:38:15 +00:00
e43e0189df
InGamePacketHandler: do not pass bare integers from BookEditPacket directly into event
...
while these currently happen to be identical, they may not be in the future.
Really this should be represented by an enum.
2022-01-03 20:20:32 +00:00
bcc0f1e733
Fixed desynchronization of hunger when cancelling food-related events ( #4691 )
2022-01-03 19:11:32 +00:00
0a0de018a5
InGamePacketHandler: fixed player jump handling
2021-12-29 18:28:22 +00:00
a1d217e12b
InGamePacketHandler: fixed missing synchronization of metadata when plugins cancel PlayerToggle*Event
2021-12-29 18:23:05 +00:00
e102339637
InGamePacketHandler: remove dead code from PlayerActionPacket handling
2021-12-29 17:29:19 +00:00
18e26d975b
Fixed swimming and gliding for PlayerAuthInputPacket
2021-12-19 17:31:47 +00:00
d41f933e7b
Implement swimming/gliding including AABB recalculation ( #4446 )
...
- The following events have been added:
- PlayerToggleGlideEvent
- PlayerToggleSwimEvent
- The following API methods have been added:
- Entity->getSize()
- Living->isSwimming()
- Living->setSwimming()
- Living->isGliding()
- Living->setSwimming()
- Player->toggleSwim()
- Player->toggleGlide()
2021-12-19 17:10:41 +00:00
44e8603a6d
InGamePacketHandler: fixed borked sneak/sprint after switch to PlayerAuthInputPacket
...
closes #4659
2021-12-19 00:52:53 +00:00
d487e43766
InGamePacketHandler: fixed block breaking borked by enabling PlayerAuthInputPacket
2021-12-15 04:01:40 +00:00
292827a311
Switch to PlayerAuthInputPacket for movement handling
...
sticking with the non-rewind version for now, for simplicity's sake.
We do want the rewind version at some point for server side knockback, but that's a job for later.
For now, using this packet fixes various problems with slightly-incorrect positions and rotations (e.g. AimTP no longer requires you to jump to get the exact correct rotation; previously it would hit the wrong block at long distances due to errors of a fraction of a degree due to the client not sending its position.
Note that this might cause some performance degradation since the packet is sent every tick. This has yet to be assessed, but the advantages offered are undeniable in any case.
2021-12-09 13:53:53 +00:00
c7beb0a702
Clean up inventory auto close mess from PM3
...
on PM3 there was no concept of 'current window', we had no idea which window the player was actually looking at.
2021-11-08 23:51:25 +00:00
6fdcfb01c8
Seal up main inventory open/close logic inside InventoryManager where it belongs
2021-11-08 22:58:06 +00:00
45edb94607
Crafting tables now work the same way as anvils and enchanting tables
...
Removing almost all special-case logic for crafting tables.
2021-11-07 16:20:07 +00:00
f066199971
Implement emote support ( #4523 )
2021-11-02 23:04:55 +00:00
c580bb2434
InGamePacketHandler: mark player as not using item in more cases
...
fixes #4355
2021-10-31 14:41:31 +00:00
04aedc6494
Updated BedrockProtocol
2021-10-23 23:54:49 +01:00
c773e43eda
Updated BedrockProtocol to pmmp/BedrockProtocol@97fa88e9ef
2021-10-23 01:16:45 +01:00
817ab88c70
Properly handle errors decoding network item NBT
...
since the NBT is now decoded immediately now, any incorrect NBT will cause exceptions to be thrown that we weren't handling, causing server crashes.
2021-10-05 19:10:55 +01:00
7701e1ff98
InGamePacketHandler: fix regression in movement handling since 82c8fa696a
...
fixes #4291
fixes #4398
2021-09-10 16:52:46 +01:00
c5abae9eaa
Fixed merge error in bbf3f4c476
...
the corresponding code on PM3 was originally removed here: 485f573955 (diff-cf181dff0292664e4aa13c8a1731dc62131489fa404f4ac1357493d320264cceL2263)
2021-07-17 22:59:45 +01:00
9d1b2c839d
this managed to get lost in the merge
2021-07-09 19:39:15 +01:00
0910054c41
NetworkSession: Fixed InventoryManager nullability disaster
...
fixes #4277
fixes #4275
fixes #3139
2021-06-26 17:44:42 +01:00
652de2632a
Rough OffHand implementation
...
this doesn't do stuff like taking arrows from offhand yet.
2021-05-05 14:46:51 +01:00
593a8ac529
Added Loom blocks
...
these don't support doing patterns yet, but their inventories work.
2021-04-29 19:51:09 +01:00
66fdf526d4
Remove GarbageServerboundPacket
...
it's not the protocol implementation's job to decide what's garbage. It should only indicate that a packet MAY be sent by the client. It should then be up to the handler to decide what to do with it.
2021-04-19 01:07:21 +01:00
6845cbb2b3
Silence LevelSoundEventPacket noise
2021-04-19 01:02:22 +01:00
1e6d97a157
Merge branch 'stable'
2021-04-07 21:25:39 +01:00
b7a6c9dc17
Renamed BadPacketException -> PacketHandlingException
...
this better describes the intent, instead of just vaguely describing a packet as 'bad'.
2021-03-30 01:15:28 +01:00
25998720ce
Fixed server crash on invalid gamemode in SetPlayerGameTypePacket
...
this really ought to be detected at the decode layer, but right now that's a bit difficult ...
2021-03-28 21:11:07 +01:00