337a254768
Use NetworkBroadcastUtils for broadcasting packets
...
this eradicates all but 4 usages of Server in Entity, which is extremely cool.
2023-03-15 22:28:51 +00:00
cc8660629b
First look at shared EntityEventBroadcaster,
...
this improves performance in PvP servers and other areas where lots of players or entities exist in one space.
fixes #5622
2023-03-15 18:22:56 +00:00
5a4550a4fc
CS
2023-02-08 18:55:49 +00:00
3ba662f64f
1.19.60
2023-02-08 18:46:37 +00:00
b2017c8462
and more
2022-12-18 22:14:31 +00:00
bf44edd179
Constify a bunch of NBT keys, pass 1
2022-12-18 22:12:15 +00:00
c5d716dc9d
Added keep on death methods for items ( #5395 )
2022-12-15 20:10:20 +00:00
3a2a23b236
Fixed totem activating when having 1HP instead of 0HP ( #5380 )
2022-11-07 13:54:14 +00:00
a9361b3f8b
Changes for 1.19.40
2022-10-25 23:11:41 +01:00
5e3b3a0700
Fix assert spam on debug clients
2022-07-24 17:51:02 +01:00
06655bee78
Updated to 1.19.10
2022-07-13 00:59:49 +01:00
38d6284671
Use PHP-CS-Fixer to enforce file header presence
2022-06-04 17:34:49 +01:00
89cc449808
Update exhaustion values for 1.18.30 ( #5034 )
2022-05-17 18:28:19 +01:00
937bb4c6ce
Merge branch 'stable' into next-minor
2022-04-28 21:00:23 +01:00
c085bf0db4
Changes for 1.18.30
2022-04-20 13:59:50 +01:00
90a369f0b6
Humans can now do emotes ( #4610 )
...
added the following API methods:
- Human::emote()
2022-03-03 18:19:30 +00:00
8f525ab399
Replace disallowed operators in src/entity/
2022-01-20 19:14:28 +00:00
eedea38669
Improve performance of loading player inventories
2022-01-01 15:26:42 +00:00
5c7125f190
Improved error handling for loading broken entity / tile data
2021-11-23 17:41:26 +00:00
c77829f4ad
Migrate packet creation to use ::create() methods in all but one case
...
MovePlayerPacket doesn't yet have a ::create() due to a complication with fields that aren't always present.
2021-10-23 01:46:01 +01:00
c773e43eda
Updated BedrockProtocol to pmmp/BedrockProtocol@97fa88e9ef
2021-10-23 01:16:45 +01:00
cc00b3e19b
Merge remote-tracking branch 'origin/stable'
2021-06-13 15:27:29 +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
176ca3fd2f
shut
2021-05-02 14:56:56 +01:00
b8645f5c15
Clean up EnderChestInventory implementation
...
now, EnderChestInventory is just a temporary window, much like anvil/enchanting windows. It provides a gateway to the player's PlayerEnderInventory.
This removes one of the remaining obstacles to disallowing null World in Position constructor.
2021-05-02 14:26:27 +01:00
1e6d97a157
Merge branch 'stable'
2021-04-07 21:25:39 +01:00
72de45f0e9
Drop pocketmine/uuid for ramsey/uuid
2021-03-16 23:03:00 +00:00
c70c0b55df
Separate held item index change listener logic from PlayerInventory
2021-01-12 16:44:25 +00:00
01c867b608
Human: make held item sync on inventory content change more consistent
...
before this change, setContents() wouldn't trigger a held item sync, nor would setItem(heldItemIndex, someItem).
2021-01-10 20:30:39 +00:00
053a7a1a61
Entity: split getSyncedNetworkData() into two functions
...
to avoid opaque boolean parameters
2021-01-08 13:59:52 +00:00
e53b57732b
Entity: replace separate height/width/eyeHeight fields with an EntitySizeInfo structure
...
this will make it easier to implement stuff like sleeping (properly), swimming and gliding without needing to duplicate all the fields.
2021-01-08 00:11:01 +00:00
d76883a5f8
Merge branch 'stable'
2020-12-29 18:00:09 +00:00
8be0c0da0d
Implemented a silent property on entities and Entity->broadcastSound()
...
fixes #3516
2020-10-31 16:07:18 +00:00
a01c086481
Introduced VanillaEnchantments registry
2020-10-23 20:48:19 +01:00
b0b08d45d5
Entity: clean up sendData() handling, remove send-to-self hack
2020-10-08 21:35:36 +01:00
279abb871d
Remove all usages of CompoundTag->hasTag()
...
in pretty much every case, these usages really wanted to read the tag's contents anyway, which can be combined with a getTag() and instanceof call for more concise and static analysis friendly code.
In the few cases where the tag contents wasn't needed, it still wanted to check the type, which, again, can be done in a more static analysis friendly way by just using getTag() and instanceof.
2020-07-10 21:01:43 +01:00
600ef033ab
PlayerSkinPacket: added ::create()
2020-07-09 13:24:31 +01:00
d585081c22
Separate consumable item interfaces from general consumable interfaces ( #3595 )
...
I wonder if there's a way to generalise item consuming beyond just eating/drinking. Stuff like lava bucket in a furnace needs the same kind of "leftover" logic.
2020-06-28 17:53:03 +01:00
87ce92d87e
Entity: some cleanup of network position hacks
2020-06-27 23:16:04 +01:00
d38c17835d
Properly switch to string entity IDs
2020-06-20 13:43:31 +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
1205432c34
Extract mandatory parameters into constructor parameters
...
the goal is obviously to ditch NBT entirely here, but there's more work to be done before that becomes possible.
2020-06-19 10:51:27 +01:00
ced89add3c
Human: remove dead function
2020-06-19 01:13:00 +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
4437756987
Inventory: reduce API duplication by using a Set for viewers
2020-05-14 14:13:28 +01:00
b7cf4f01f9
remove utils\UUID, switch to pocketmine/uuid package
2020-05-11 10:46:48 +01:00
8682ea35f7
Introduce some (not great) API for entity animations
...
while this API is a bit yucky, it's a step forward for protocol isolation and offers the possibility of controlling animations by adding events.
2020-05-01 13:57:26 +01:00
f9a587d40e
imports cleanup
2020-04-28 17:27:38 +01:00
6dd31cc3f5
break cycle between block and inventory packages
2020-04-24 23:53:49 +01:00
4fbf4dcdc6
Rename InventoryChangeListener -> InventoryListener
2020-04-24 23:44:38 +01:00