899da1b7f7
Merge commit '42e14f749'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/Player.php
# src/pocketmine/item/Bow.php
# src/world/World.php
2020-06-03 12:31:17 +01:00
bbf3f4c476
Merge branch 'next-minor'
2020-05-31 18:40:19 +01:00
81d11ea4e3
Player: make selectChunks() non-dependent on the player's current view distance & location
2020-05-24 18:59:43 +01:00
fe649d8d70
Extract ServerConfigGroup from Server
...
this API isn't very nice, but it's pretty much the same as the original, and at least this can be _kinda_ unit-tested...
2020-05-24 15:48:03 +01:00
6257f717b1
Entity: make networkProperties private
...
this reduces the temptation to use it in high-level code, as well as making syncNetworkData() more useful (now it can export to many data collections, which means we can start to think about having a property cache per network session, which is more flexible)
2020-05-21 20:29:06 +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
3a6cdba281
Implemented server-side block-break FX handling, closes #3485
...
this had been planned for a long time already, just never finished.
It's not fully done, because there needs to be synchronization of block-break handlers between different players attempting to break the same block, but this should resolve a lot of the bugs that previously existed, while also opening the doors to making the logic more flexible.
2020-05-11 21:16:30 +01:00
b7cf4f01f9
remove utils\UUID, switch to pocketmine/uuid package
2020-05-11 10:46:48 +01:00
9cf410d484
Player: fixed broken behaviour of entity spawning on chunk send, closes #3355
2020-05-05 18:55:13 +01:00
d3dcb8a4e3
moving entity attack sounds to server-side
2020-05-04 11:50:42 +01:00
b1021315b0
World: remove protocol-specialized broadcastLevelEvent()
2020-05-04 02:28:34 +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
9615186afd
rename PunchBlockParticle -> BlockPunchParticle
2020-05-01 12:36:31 +01:00
2964a4be35
making BlockPunchSound server-controlled
2020-05-01 12:23:00 +01:00
d1b28ce17a
NetworkSession: allow sending an arbitrary set of attributes for an entity
2020-04-29 16:45:09 +01:00
f6f714c158
NetworkSession: do not mark shared attributes as synchronized, they don't necessarily belong to us
...
if we decided to start sending entity attribute changes to viewers too, this would have caused some unexpected behaviour.
2020-04-29 16:38:10 +01:00
5a33dbd4c6
Player: drop isAdmin from kick(), closes #3275
2020-04-19 18:27:37 +01:00
163c3855eb
Merge branch 'next-minor'
...
# Conflicts:
# resources/vanilla
# src/plugin/PluginBase.php
# src/plugin/PluginDescription.php
# src/pocketmine/Player.php
# src/pocketmine/network/rcon/RCON.php
# src/pocketmine/network/rcon/RCONInstance.php
# src/pocketmine/scheduler/AsyncTask.php
# src/pocketmine/tile/Spawnable.php
# src/scheduler/AsyncPool.php
# src/utils/Config.php
# src/utils/Timezone.php
# src/utils/UUID.php
# src/utils/Utils.php
# src/world/format/io/region/RegionLoader.php
2020-04-19 11:13:41 +01:00
86e051b7bf
Merge commit 'a2543ff80d2906bccda1a4e2fdbd9d8e7d147fb3'
2020-04-18 17:33:05 +01:00
a95426c373
Merge branch 'stable'
2020-03-18 13:17:38 +00:00
ca909ebc1d
Merge branch 'next-minor'
2020-03-10 13:05:37 +00:00
995309424e
updated pocketmine/nbt dependency
...
this is going to need work on exception handling, but right now it's so inconsistent that it doesn't matter anyway.
2020-03-04 17:53:37 +00:00
4c51f1dda3
Scrap TextContainer, make TranslationContainer immutable
...
TextContainer provided zero real value as a base of TranslationContainer, given that it required its own logic to be handled wherever accepted. As such, it's no better than a simple string.
Removing it also allows fixing an ambiguity when embedding translations inside other translations, allowing it to be made immutable.
2020-02-08 13:38:27 +00:00
17fc49db8a
Player: fix regression in disconnect caused by 66a1134ca1
2020-02-08 09:07:09 +00:00
66a1134ca1
Player: avoid another empty() usage
2020-02-07 22:13:43 +00:00
ec9ece56f5
Player: fetch world via location
...
this code caters for the possibility of the world being null.
2020-02-07 22:11:14 +00:00
aac7da6c96
eliminate remaining empty() usages
2020-02-07 21:51:50 +00:00
fb1126797a
Merge branch 'stable'
2020-02-07 18:13:55 +00:00
9c33ea8dd1
EnumTrait: use a better method to initialize enums
...
this method is simpler, and is also safe at the native type level.
Coincidentally, it also eliminates 30 PHPStan false-positives.
2020-02-01 20:33:30 +00:00
ff63f6d055
fill in more iterable types (master)
2020-02-01 20:19:57 +00:00
055b13a6cf
strip extra blank lines (php-cs-fixer)
2020-01-22 15:14:10 +00:00
1b33143f4f
pass 2, manual removal of incorrect non-nullable phpdoc types
2020-01-22 12:06:47 +00:00
67bcc1c0fb
phpdoc armageddon for master, pass 1
2020-01-22 11:55:03 +00:00
3ee6887792
populate remaining missing return types, using native returns where possible
...
this is done separately to stable so that stable changes can be integrated easily using an empty merge.
2020-01-19 10:26:35 +00:00
59793d4b68
Player: mark networkSession field as nullable
...
while we do null this to break cycles, we also null it for other purposes, and it's null-checked in a few places.
2019-12-04 22:54:04 +00:00
7276eda0e5
Moved SetTitlePacket usage to NetworkSession ( #3186 )
2019-11-09 19:56:06 +00:00
1866de269b
OfflinePlayer: fix reading wrong NBT type in getFirstPlayed(), close #3112
...
This bug was introduced by 65927e6965
.
2019-09-04 07:59:28 +01:00
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
122238d57e
add NetworkSession->onEnterWorld() hook
2019-08-20 16:25:20 +01:00
794c7b2469
clean up imports
2019-08-20 15:59:27 +01:00
6b22f68674
Player: remove sendDataPacket()
2019-08-20 15:50:34 +01:00
2d4a32fc77
first look at separating Entity and Location
2019-08-19 17:20:34 +01:00
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
1cd955c216
Entity: added getEyePos()
2019-08-02 17:29:32 +01:00
cc4b2959a7
Player: ditch deprecated dataPacket()
...
it doesn't make sense to deprecate this on a major version, particularly given all the other changes that plugin devs will have to accommodate.
2019-08-02 16:43:45 +01:00
7e4236a3ec
add a more flexible hook system to EffectManager
2019-08-01 19:36:13 +01:00
d09e79e682
Player: update properties when assigning game mode, fixes #3005
2019-08-01 19:02:06 +01:00
4818e04540
Player: fix possible comparison bug in setGamemode()
2019-08-01 18:57:47 +01:00
5499ac620c
Removed pocketmine subdirectory, map PSR-4 style
2019-07-30 19:14:57 +01:00