Commit Graph

13477 Commits

Author SHA1 Message Date
745f455bd2 Door: change thickness to match MCPE
since MCPE-19214 still hasn't been fixed after all these years, it's safe to say they won't fix it in the near future, and this causes placement glitches in PM.
2021-06-18 19:10:50 +01:00
d96fc17339 World: Check placed block collision boxes after place()
since we write these into a transaction instead of actually modifying the world directly, we can use the transaction to verify that the placement location is OK before setting the blocks.
closes #4248
2021-06-18 19:07:38 +01:00
735c656f9d Merge remote-tracking branch 'origin/stable' 2021-06-18 18:52:04 +01:00
155e516f74 phpstan 0.12.90 2021-06-18 18:46:30 +01:00
ea0a47dff7 Updated transitive composer dependency junk 2021-06-18 18:42:08 +01:00
f1583f44df LightArray: Avoid allocating 7 useless arrays for every node processed
instead, use a const array of the offsets and add them to the coordinates, which avoids the allocations.
In synthetic benchmarks, this method takes 40-50% less CPU time by eliding ZEND_INIT_ARRAY and ZEND_ADD_ARRAY opcodes. In practice, the benefit will likely be much smaller (perhaps even irrelevant).
2021-06-17 22:21:58 +01:00
15e5bdb210 BaseInventory::addItem(item1,item2,item3) now has the same behaviour as multiple separate addItem() calls (#4237)
fixes #1412
2021-06-17 21:05:24 +01:00
71a4ea2a95 FastChunkSerializer: remove useless variable initialization 2021-06-17 20:59:40 +01:00
0a6ce18322 CrashDump: Sort plugins list 2021-06-17 20:56:49 +01:00
43f71d0d63 FormatConverter: Copy worlds for backup if rename fails
this can fail if the backups directory points to a different drive than the original worlds location. In this case, we have to copy and delete the files instead, which is much slower, but works.
I REALLY advise against putting backups on a different mount point than worlds if you plan to convert large worlds.
2021-06-17 20:46:34 +01:00
ec6103d61e Leaves can now be silk touched, closes #3714 (#4240) 2021-06-17 15:37:02 +01:00
11d73e5bb8 Bump phpstan/phpstan-phpunit from 0.12.19 to 0.12.20 (#4273)
Bumps [phpstan/phpstan-phpunit](https://github.com/phpstan/phpstan-phpunit) from 0.12.19 to 0.12.20.
- [Release notes](https://github.com/phpstan/phpstan-phpunit/releases)
- [Commits](https://github.com/phpstan/phpstan-phpunit/compare/0.12.19...0.12.20)

---
updated-dependencies:
- dependency-name: phpstan/phpstan-phpunit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-17 15:30:01 +01:00
61c59be299 Replace hardcoded block metadata shifts and masks with constants
we might want to make these bigger than 4 bits in the future.
2021-06-16 12:48:09 +01:00
c22f793521 RakLibInterface: Log a message when a non-0xfe packet is received 2021-06-15 19:20:31 +01:00
2ee86f0edf Improved UPnP exception handling 2021-06-13 23:02:42 +01:00
ec7ea98ead UPnP: expose more functionality 2021-06-13 22:48:38 +01:00
80bf948588 Separate UPnPNetworkInterface from UPnP implementation 2021-06-13 22:41:36 +01:00
3d0b21f30c Denoise NetworkSession with typed properties 2021-06-13 22:27:23 +01:00
e5dd5a5745 NetworkSession: Fixed missing nullable declarations
phpstan doesn't report these because .. reasons .. @ondrejmirtes this is causing bugs to go unfound :(
I'm aware of the irony that I just silenced the bugs that were exposed by this commit .. that's an architectural problem for another day
2021-06-13 22:24:12 +01:00
04a6e89d6f Change encryption to use CTR instead of GCM
despite MCPE claiming to use GCM, it omits the auth tag, which defeats the whole point of using GCM.
CTR can be used instead, with the final 4 bytes of the IV being 0002.
2021-06-13 21:57:23 +01:00
0df2677464 EncryptionContext: Allow passing encryption algo as a constructor parameter 2021-06-13 19:57:48 +01:00
492ad6bb66 3.21.1 is next 2021-06-13 15:38:22 +01:00
82e8eb46ac Release 3.21.0 3.21.0 2021-06-13 15:38:22 +01:00
c7868a810d Move PHP minimum to 7.4
7.3 isn't actively tested anymore, and since 7.4 has been out for so long already, it doesn't make sense to keep pandering to users who can't be bothered to update their PHP binaries.
In most cases, these users are also experiencing problems caused by older versions of pthreads that were long since fixed.
In addition, pthreads is no longer tested or supported on 7.3, so users can't get newer bug fixes even if they wanted to.
2021-06-13 15:34:24 +01:00
cc00b3e19b Merge remote-tracking branch 'origin/stable' 2021-06-13 15:27:29 +01:00
4df536fee7 Bump Snooze to 0.3.0 2021-06-13 15:22:12 +01:00
d8b56a1219 Update transient composer junk that we don't care about, but have to update so that it doesn't slip in to some other commit 2021-06-13 14:48:51 +01:00
a676dba9f0 Updated ClassLoader dependency 2021-06-13 14:48:51 +01:00
2cc22a29c1 Update composer dependencies 2021-06-13 14:40:46 +01:00
6fb364b16f Store ender chest viewer count on the tile, instead of relying on the inventory's viewer count (#4238)
Fixes #4021
2021-06-13 14:37:09 +01:00
8e2829bdd4 Remove movement workaround from 1.14.30 (#4246) 2021-06-13 14:32:40 +01:00
408e29da90 Removed PermissionRemovedExecutor
this interface is just about the most pointless code in all of PM or Bukkit. In over 4 million lines of code on Poggit, a Google search and a GitHub search, I didn't find a single usage of it that wasn't just bukkit internals code copy pasta, a spoon, a port of PM/Bukkit/whatever into a different language, or someone's generated javadoc.
2021-06-12 21:55:59 +01:00
b525f45bf8 Fixed CS 2021-06-12 21:51:08 +01:00
8e1d27a719 Constrain types to PermissibleInternal on internal permission subscription methods 2021-06-12 21:28:19 +01:00
bfcf4a25d4 Automatic cleanup of permission subscriptions on PermissibleBase destructor calls
this has gotten too complex ...
2021-06-12 21:12:39 +01:00
0ebafbd224 .... adding the most important part would probably help 2021-06-12 20:46:53 +01:00
7dcc4891ca Block: added getDropsForIncompatibleTool() 2021-06-11 19:09:14 +01:00
e4ed7bc4ea Fixed Mushroom Stem blocks never dropping anything 2021-06-11 19:04:12 +01:00
22b5e5db5e AsyncPool: Do not drop pending tasks on shutdown
this creates an extra element of uncertainty for async pool usage.
2021-06-11 18:30:32 +01:00
f245147c11 AsyncPool: make collectTasks() return value more accurate
during onCompletion() anything may happen, including scheduling new tasks, which the previous code did not account for.
2021-06-11 18:30:32 +01:00
af79e787ea Bump phpstan/phpstan from 0.12.88 to 0.12.89 (#4262)
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 0.12.88 to 0.12.89.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Commits](https://github.com/phpstan/phpstan/compare/0.12.88...0.12.89)

---
updated-dependencies:
- dependency-name: phpstan/phpstan
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-10 15:10:45 +01:00
532d57eec7 Arrow: Save and load critical state (#4241)
Fixes #3596
2021-06-09 14:00:36 +01:00
920eb7cce5 Merge branch 'stable' 2021-06-09 13:46:00 +01:00
65c53e6512 actions: use PHP 7.4.20 2021-06-09 13:44:00 +01:00
38a32c6540 changelog: remove mentions of unsupported / corrupted world handling
the fixes for these problems were backported to PM3 during the PHPStan integration.

[ci skip]
2021-06-09 13:19:40 +01:00
2fff3fa60c changelog: be more specific about the range of Bedrock worlds supported
this was written 2 years ago, before 1.13 was released to disrupt everything all over again.

[ci skip]
2021-06-09 13:16:57 +01:00
5503fadf13 3.20.1 is next 2021-06-08 20:21:55 +01:00
99964709c9 Release 3.20.0 3.20.0 2021-06-08 20:21:55 +01:00
b85f3bd149 make-release: abort on no changelog changes 2021-06-08 20:20:30 +01:00
2bbb24fab7 Merge branch 'stable' 2021-06-08 20:00:08 +01:00