12373 Commits

Author SHA1 Message Date
Dylan K. Taylor
ff54eae4b2 updated composer dependencies 2020-07-21 11:59:47 +01:00
Dylan K. Taylor
977f9ec497 Merge branch 'stable'
# Conflicts:
#	composer.lock
#	resources/vanilla
#	src/VersionInfo.php
#	src/pocketmine/block/Podzol.php
2020-07-21 11:57:24 +01:00
Dylan K. Taylor
5b9453af43 WhitelistCommand: fixed incorrect implode() parameter order
PHP allows this to work either way for legacy reasons, but glue-first is the canonical way for a long time.
2020-07-21 11:46:11 +01:00
Dylan K. Taylor
213afa42dd BlockFactory: make registerElements() a bit less wide 2020-07-19 13:09:48 +01:00
Dylan K. Taylor
1ba32c98c7 protocol: avoid potential constructor refactoring packet decode bug
if the order of the constructor parameters were changed, it would cause these statements to be reordered, causing packet fields to be decoded in the wrong order.
2020-07-17 23:19:33 +01:00
Dylan K. Taylor
3e2cfd28cc ResourcePackManager: change validity check to is_string() 2020-07-17 23:07:37 +01:00
Dylan K. Taylor
5f70b96081 ResourcePack: do not export getPath()
a resource pack is not required to come from a location on disk (although it's currently the only practical option).
2020-07-17 23:03:10 +01:00
Dylan K. Taylor
915d63a2e8 Button: rename powered property to pressed 2020-07-17 14:54:51 +01:00
Dylan K. Taylor
9872bb4cb8 Enchantment: remove dead classes 2020-07-17 14:41:04 +01:00
Dylan K. Taylor
b09b619a30 updated VanillaBlocks 2020-07-17 14:23:32 +01:00
TheNewHEROBRINEX
8bba25f4f5
Fix wrong hardness value for Podzol (#3709) 2020-07-16 22:07:41 +01:00
dependabot-preview[bot]
f9bd7016aa
Bump phpstan/phpstan-strict-rules from 0.12.2 to 0.12.3 (#3705) 2020-07-16 15:24:42 +00:00
dependabot-preview[bot]
213406fc60
Bump phpunit/phpunit from 9.2.5 to 9.2.6 (#3701) 2020-07-14 16:44:35 +00:00
Dylan K. Taylor
7ff6e5895e added missing 3.14.2 changelog 2020-07-13 11:55:08 +01:00
Dylan K. Taylor
1050485164 MemoryManager: remove class name from object references
it's possible to see this information by looking up the hash, which it's necessary to do in order to see any interesting information anyway.
2020-07-13 11:51:25 +01:00
Dylan K. Taylor
efd67a132e MemoryDump: fixed duplicated properties, reduce useless noise 2020-07-13 11:44:21 +01:00
Dylan K. Taylor
46c4c65022 MemoryManager: remove duplicated information from memory dump 2020-07-13 11:10:22 +01:00
Dylan K. Taylor
e199f403dc MemoryManager: remove useless information from object dumps 2020-07-13 11:08:03 +01:00
Dylan K. Taylor
2e6b62fdec 3.14.3 is next 2020-07-13 10:46:58 +01:00
Dylan K. Taylor
4fc5b9772a Release 3.14.2 3.14.2 2020-07-13 10:46:57 +01:00
Dylan K. Taylor
d9c3ec5f91 Merge branch 'stable'
# Conflicts:
#	resources/vanilla
2020-07-11 20:14:42 +01:00
Dylan K. Taylor
5d4880b0a7 SendUsageTask: fixed json_encode() choking on player list keys 2020-07-11 20:14:04 +01:00
Dylan K. Taylor
d3c90c4dce update block factory consistency check 2020-07-11 18:54:35 +01:00
Dylan K. Taylor
217f9c574a Player no longer implements ChunkLoader
this stops plugins from misusing Player as a ChunkLoader in ways it doesn't know about, causing leaks and god knows what else.
2020-07-11 18:48:10 +01:00
Dylan K. Taylor
180c0e4999 World: rely on Player being a ChunkListener instead of ChunkLoader
ChunkListeners are less dangerous, and also make more sense considering the usages.
Ideally we want to not have to care if a listener is a Player at all, but that's still some work away yet.
2020-07-11 18:20:32 +01:00
Dylan K. Taylor
923ea46476 PlayerPreLoginEvent: implement Cancellable again 2020-07-11 17:47:53 +01:00
Dylan K. Taylor
2226efd7a0 added base data handling for Lab Table, Compound Creator, Element Constructor and Material Reducer
these also have a blockentity which needs to be implemented as well.
2020-07-11 17:44:50 +01:00
SOFe
81b38cda5d
Removed setCancelled from Cancellable (#3685)
* Removed `setCancelled` from `Cancellable`

Before anyone screams, THIS CHANGE WILL NOT AFFECT MOST PLUGINS
(although it allows future changes to break some).

This commit rewrites the documentation of `Cancellable`,
clarifying the concept of "cancelled" from the perspective of the event
framework.

This commit also removes the `setCancelled` method from `Cancellable`.
This does not affect plugins using the (originally standard)
`setCancelled` method on events directly, since the implementation on
classes was not removed. On the other hand, it no longer requires
`Cancellable` events to implement this method, allowing flexibility on
cancelation conditions, e.g. subclasses may require additional
parameters for cancellation without needing to use hacks to check that
the user cancelled the event in the correct way.
2020-07-11 17:42:15 +01:00
Dylan K. Taylor
d4f6dc8179 BlockFactory: make color block registration slightly less painful to look at 2020-07-11 10:50:02 +01:00
Dylan K. Taylor
62815f6c9b Furnace: get rid of entirely unnecessary ItemFactory usage 2020-07-10 21:38:29 +01:00
Dylan K. Taylor
9b52af62b6 Item: skip a step when decoding PC itemstacks 2020-07-10 21:32:39 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
2b1a0e1e72 PlayerRespawnEvent: harden setRespawnPosition()
apparently plugins like to pass around positions which have null worlds, which aside from being quite stupid, also breaks a lot of stuff and makes it look like PM is to blame when it's just trying to make everything work the way it's supposed to ...
2020-07-10 20:37:45 +01:00
Dylan K. Taylor
91b028c208 WorldManager: use ChunkSelector to find stuff to pre-generate 2020-07-10 20:06:26 +01:00
Dylan K. Taylor
cd022f1592 EmotePacket: make FLAG_SERVER constant public 2020-07-10 20:02:32 +01:00
Dylan K. Taylor
c762ec1319 Entity: removed unused field 2020-07-09 14:10:56 +01:00
Frago9876543210
c1a815a458
Sign (block): added setText() (#3100) 2020-07-09 13:43:42 +01:00
Dylan K. Taylor
600ef033ab PlayerSkinPacket: added ::create() 2020-07-09 13:24:31 +01:00
Dylan K. Taylor
b22cc4875e Player: Accept NBT data in constructor, instead of asking for it from the server directly
this allows custom implementations to provide custom data to the constructor (or none at all).
2020-07-09 13:09:46 +01:00
Dylan K. Taylor
f2cf453cd0 World: remove one more unnecessary vector3 field mutation 2020-07-09 12:53:16 +01:00
Dylan K. Taylor
9e1d9768f0 Merge branch 'stable'
# Conflicts:
#	resources/vanilla
#	src/pocketmine/Player.php
2020-07-09 12:37:50 +01:00
Dylan K. Taylor
874fec0a35 Switch back to PM3 spawn-chunk handling, fix pre-spawn death bug caused by 939dfd9269df0feaff5b96d0dd628055b9706b95, close #3513 (properly this time) 2020-07-09 12:35:45 +01:00
Dylan K. Taylor
4ae3fd7734 Player: Reset spawn chunk send count if teleporting pre-spawn 2020-07-09 12:17:19 +01:00
Dylan K. Taylor
36727aabf7 Extracted a ChunkSelector unit from Player
if anyone asks me why not use a static method, it's because I want to make this more dynamic going forward, and statics are anything but.
2020-07-09 11:42:12 +01:00
Dylan K. Taylor
a5d77d5106 LevelDB: remove unused function 2020-07-08 23:24:54 +01:00
Dylan K. Taylor
31fd427710 Entity: remove usages of Chunk->getX()/getZ() 2020-07-08 20:29:30 +01:00
Dylan K. Taylor
92f6967665 Command: validate permissions, require permission registration in advance of commands using them
this fixes #3200.
This causes permissions to be registered before plugin load, which changes some behaviour, but after discussions on #internals-dev we couldn't see any reason to keep the behaviour the way it was, and several reasons to change it to be something like this.
2020-07-08 13:50:38 +01:00
Dylan K. Taylor
6bca38999d scheduler: removing task IDs
These no longer serve any purpose that can't be replaced with a structure like Ds\Set, SplObjectStorage, or just using spl_object_id().
2020-07-08 12:01:48 +01:00
Dylan K. Taylor
d738504e24 TaskScheduler: use a Ds\Set to index tasks internally
this removes all remaining use-cases for taskID.
2020-07-08 11:57:48 +01:00
Dylan K. Taylor
dca4bf424e TaskHandler: change isQueued() to accept TaskHandler instead of int 2020-07-08 11:53:47 +01:00