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