Dylan K. Taylor
96d8790028
rename Entity->propertyManager -> Entity->networkProperties
2019-07-29 18:24:29 +01:00
Dylan K. Taylor
52412e9c21
remove remaining dependencies on Bearing
2019-07-29 17:45:23 +01:00
Dylan K. Taylor
e06ab0869a
mostly rewrite internal entity metadata handling
...
- Only sync the metadata set when needed for sending
- Don't use metadata set for storing data, add properties instead
- Use objects inside metadata sets instead of arrays
2019-07-28 19:40:47 +01:00
Dylan K. Taylor
379a40c13a
break up the pocketmine\network\mcpe\protocol\types namespace
...
this namespace nesting is getting out of hand, but it's more manageable this way.
2019-07-27 19:19:48 +01:00
Dylan K. Taylor
c9ecd04353
rename DataPropertyManager -> EntityMetadataCollection
2019-07-27 19:10:18 +01:00
Dylan K. Taylor
ac12911561
move network entity IDs to network namespace
...
we're going to need a dedicated data package, because this stuff isn't just network-specific.
2019-07-19 15:33:30 +01:00
Dylan K. Taylor
0ba3121c43
Merge branch 'stable'
2019-07-14 19:19:33 +01:00
Dylan K. Taylor
50d71809e1
Entity: fixed onfire flag being set when setting fire ticks to zero, closes #3031
2019-07-14 19:03:06 +01:00
Dylan K. Taylor
a883c35fd0
clean up yesterday's mess
2019-07-13 18:15:14 +01:00
Dylan K. Taylor
6a93eb8361
Merge branch 'stable'
2019-07-13 18:08:45 +01:00
Dylan K. Taylor
c58a1bf9b7
Protocol changes for 1.12.0.28
2019-07-12 19:00:15 +01:00
Dylan K. Taylor
e07523056d
Merge branch 'stable'
2019-07-03 16:35:29 +01:00
Encritary
3c7f68dc1e
Fix Entity::isNameTagAlwaysVisible() was returning the wrong value ( #2990 )
...
* Fix Entity::isNameTagAlwaysVisible() was returning the wrong value
* "> 0" to "=== 1"
2019-07-02 10:44:41 +01:00
Dylan K. Taylor
ee72680f44
Removing "metadata": overengineered useless Bukkit copy-pasta
...
the intentions of this are good, but the usability is terrible and it's not fit for purpose. Since there are a total of zero plugins on Poggit which use this garbage, it makes more sense to eliminate the technical debt. See #2766 for discussion about replacing this.
2019-06-26 14:43:21 +01:00
Dylan K. Taylor
2559f5ec2b
Moved Player-related classes to pocketmine\player namespace
2019-06-18 18:51:36 +01:00
Dylan K. Taylor
287c8c2dd4
Added static create() functions for many packets
...
There are a few motivations here:
1) Less boilerplate code (this can be written inline)
2) It's possible to provide multiple constructors for different packet variations to reduce the chance of errors.
3) It makes things catch fire on updates in ways that static analysers can understand.
2019-06-05 15:00:08 +01:00
Dylan K. Taylor
cf0c0e72a9
Assume the player is online when they are, uh, assumed to be online
...
the checks removed here should never be hit under normal circumstances. If they were hit, they'd just conceal bugs which would cause a crash to happen later anyway.
2019-05-07 19:49:06 +01:00
Dylan K. Taylor
66481fedeb
Entity: Protect internal methods setPosition() and setPositionAndRotation()
...
teleport() should be used instead (or setRotation() for rotation-only changes).
2019-05-07 17:38:33 +01:00
Dylan K. Taylor
00944eff72
Removed EntityWorldChangeEvent
...
there's nothing that can be done with this event that can't be done with EntityTeleportEvent. Having this extra event needlessly increases system complexity.
2019-05-07 17:37:10 +01:00
Dylan T
3cd6e12e71
Renaming "Level" -> "World" ( #2907 )
...
This has been a pain point for a long time due to the misleading nature of the name "level". It's also confusing when trying to do things like getting the XP level of the player or such, and also does not translate well to other languages.
This transition was already executed on the UI some time ago (language strings) and now it's time for the same change to occur on the API.
This will burn a lot of plugins, but they'll acclimatize. Despite the scary size of this PR, there isn't actually so many changes to make. Most of this came from renaming `Position->getLevel()` to `Position->getWorld()`, or cosmetic changes like changing variable names or doc comments.
2019-05-07 14:47:28 +01:00
Fabian Faßbender
c5498bb3fa
Implement a locking variable to circumvent a infinite regression ( #2901 )
...
closes #2876
2019-05-03 14:46:51 +01:00
Dylan K. Taylor
0317b0f22d
Merge branch 'next-minor'
2019-05-02 15:07:38 +01:00
Dylan K. Taylor
d7a35a5302
Entity: fixed motion not being initialized when Motion
NBT tag is missing
...
fixes CA 2355485
2019-05-02 14:00:28 +01:00
Dylan K. Taylor
67e75d6c0a
Moved DataPropertyManager to network namespace
...
this is _extremely_ network-focused code.
2019-04-26 18:57:44 +01:00
Dylan K. Taylor
854a2f5135
Move a giant heap of network garbage out of Entity
2019-04-26 18:52:38 +01:00
Dylan K. Taylor
c5ca623124
Merge branch 'stable'
2019-04-25 15:27:13 +01:00
Dylan K. Taylor
fa70127241
1.11.0 protocol changes
2019-04-24 19:54:16 +01:00
Dylan K. Taylor
5913d5038b
Cleaned up Entity->close() handling
2019-04-18 17:23:48 +01:00
Dylan K. Taylor
5f23fffdda
Merge remote-tracking branch 'origin/3.7'
2019-04-12 18:33:13 +01:00
Dylan K. Taylor
95313e0a90
Updated some entity metadata properties
2019-04-08 14:42:33 +01:00
Dylan K. Taylor
9ec62643d5
Player construction now happens when we're ready to create the player entity
...
this fixes a wide range of bugs with the initial spawn sequence, and allows to simplify a whole lot of player setup logic.
2019-03-23 10:13:14 +00:00
Dylan K. Taylor
89c0836047
Fixed paintings dropping multiple times, closes #2774
2019-03-21 19:46:43 +00:00
Dylan K. Taylor
8c536c248d
Updating for latest PocketMine-NBT changes
2019-03-21 15:58:22 +00:00
Dylan K. Taylor
6f54b53f7a
thanks for being useless PhpStorm
...
these problems didn't show up in any inspections until I opened the fucking files...
2019-03-17 15:53:59 +00:00
Dylan K. Taylor
0659d2fbef
Backport 6bd43a8215
: Firehose auto-tick-rate anti-feature, closes #2665
2019-03-09 19:20:53 +00:00
Dylan K. Taylor
6bd43a8215
Firehose auto-tick-rate anti-feature, closes #2665
2019-03-03 13:24:53 +00:00
Dylan K. Taylor
6c8fa8ae28
More nullable and void typehints
2019-03-02 10:29:11 +00:00
Dylan K. Taylor
c2735286ab
Merge branch '3.6'
2019-02-17 11:35:07 +00:00
Dylan K. Taylor
e16d8e31af
Merge branch '3.5' into 3.6
2019-02-17 11:33:46 +00:00
Dylan K. Taylor
3c93a57397
Entity: add a hack to prevent client-side movement when entity is not moving
...
this fixes #2227 .
2019-02-17 11:33:34 +00:00
Dylan K. Taylor
9ebd559907
Merge branch '3.6'
2019-02-10 13:59:44 +00:00
Dylan K. Taylor
9da7c6af27
new metadata properties
2019-02-10 13:59:21 +00:00
Dylan K. Taylor
c6a5829a92
Entity: remove dead function
2019-02-04 19:54:18 +00:00
Dylan K. Taylor
c872b120d0
Entity->entityBaseTick() is now protected
2019-02-04 19:54:06 +00:00
Dylan K. Taylor
ac551cf248
Entity: add addMotion() to allow updating motion vector
...
this allows updating motion without needing to create new objects for the task.
2019-01-27 15:43:57 +00:00
Dylan K. Taylor
bccc07633c
Entity: Allow disabling gravity for a mob
2019-01-27 15:42:46 +00:00
Dylan K. Taylor
6ee484e401
ChunkLoader: remove getLoaderId() (take 2)
2019-01-25 18:58:01 +00:00
Dylan K. Taylor
4ae6428641
Level: rename getCollisionCubes() -> getCollisionBoxes()
...
these aren't cubes! shoghi, please read the dictionary.
2019-01-20 18:11:20 +00:00
Dylan K. Taylor
425ad6101f
Block: rename onEntityCollide() -> onEntityInside()
...
this better describes what the hook is for.
2019-01-20 18:09:47 +00:00
Dylan K. Taylor
6df983da3e
Merge branch '3.5'
2019-01-19 16:24:41 +00:00