Dylan K. Taylor
fe06bfcda0
Import alias cleanup courtesy of newest php-cs-fixer
2024-02-07 12:50:37 +00:00
ShockedPlot7560
6bb84bc46c
Add Promise::all
( #6152 )
2024-02-06 12:42:24 +00:00
Dylan K. Taylor
8372c9efc2
Merge branch 'stable' into minor-next
2024-01-09 12:27:25 +00:00
dependabot[bot]
f83280ece6
Bump tests/plugins/DevTools from 411fd5b
to c6dca35
( #6216 )
...
Bumps [tests/plugins/DevTools](https://github.com/pmmp/DevTools ) from `411fd5b` to `c6dca35`.
- [Release notes](https://github.com/pmmp/DevTools/releases )
- [Commits](411fd5bdc0...c6dca357c7
)
---
updated-dependencies:
- dependency-name: tests/plugins/DevTools
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-08 16:11:18 +00:00
Dylan K. Taylor
57f3a04bc5
data: Use statically analyzable ways of ensuring all cases are registered
...
PHPStan will verify that these matches cover all cases, which guarantees that all cases will be covered.
In addition, if PHPStan is not used, the constructors will immediately bail out when they hit a case that isn't covered.
The only downside is the extra indentation :(
2023-12-20 16:07:05 +00:00
Dylan K. Taylor
6b66cbfb1c
Merge branch 'minor-next' into major-next
2023-12-20 15:26:57 +00:00
Dylan K. Taylor
58ce746ae1
Remove dead PHPStan ignored error
2023-12-20 14:44:24 +00:00
Dylan K. Taylor
74cb0be868
Noise: give PHPStan some help understanding SplFixedArray
2023-12-20 14:43:36 +00:00
Dylan K. Taylor
4d337add7c
Merge branch 'minor-next' into major-next
2023-12-14 14:03:09 +00:00
Dylan K. Taylor
06b2e61d3c
Merge remote-tracking branch 'origin/stable' into minor-next
2023-12-14 14:02:15 +00:00
Dylan K. Taylor
2f1d6115a0
Merge branch 'legacy/pm4' into stable
2023-12-06 14:55:18 +00:00
Dylan K. Taylor
2a136c7804
Update composer dependencies
2023-12-06 14:37:27 +00:00
TheNewHEROBRINE
2420dee8be
AsyncTask: Fix retrieval of null data from the thread-local storage ( #6176 )
2023-12-06 13:40:09 +00:00
Dylan K. Taylor
67ad2bad17
World: fixed edge case that could lead to crash during block update sending
2023-11-17 13:24:06 +00:00
Dylan K. Taylor
9d75c45bf5
Merge branch 'minor-next' into major-next
2023-11-09 18:06:06 +00:00
Dylan K. Taylor
d09af2e30d
World: don't assume that random Vector3 are int vectors
...
we can safely assume this for blocks (though the type info doesn't reflect it) but this is not safe to assume for random APIs that might be used by plugins.
2023-11-06 17:15:17 +00:00
Dylan K. Taylor
d565be93a8
Merge branch 'minor-next' into major-next
2023-10-24 11:57:30 +01:00
Dylan K. Taylor
8491d3c6c0
Merge branch 'stable' into minor-next
2023-10-24 11:56:51 +01:00
Dylan K. Taylor
73b1fba53c
Fixed Promise<null> calling rejection handler given after being successfully resolved
...
closes #6110
this is a weird use case, but it should work nonetheless.
2023-10-23 11:46:08 +01:00
Dylan K. Taylor
8e17aed4f4
Fix build
2023-10-20 17:43:04 +01:00
Dylan K. Taylor
dbb5a32a96
Liquid: eliminate unnecessary Position allocations and getSide() calls
2023-10-19 17:09:13 +01:00
Dylan K. Taylor
ada37899aa
Liquid: improve code legibility and fix a bunch of PHPStan errors
2023-10-19 17:02:22 +01:00
Dylan K. Taylor
f1440324a7
Update PHPStan baselines
2023-10-19 16:56:15 +01:00
Dylan K. Taylor
114f444ec3
Update PHPStan baseline
2023-10-19 13:28:40 +01:00
Dylan T
48dcf0e32c
Farmland: Remember relative location of nearby water in blockstate data ( #6090 )
...
Farmland can end up scanning up to 162 blocks looking for water in the worst case. This is obviously not great for huge farms where there are thousands of blocks of the stuff.
In most farms, the water won't be moved, and nor will the farmland. This means that we can avoid this costly search on random updates.
This PR implements a cache using blockstate data (only possible in PM5) which stores an index mapping to a coordinate offset where water was previously found by this farmland block. This allows the farmland to avoid water searching entirely in most cases.
This is a colossal improvement as compared to scanning the whole 9x2x9 area every time, which, on average, scans about 40 blocks to find water if the water is at the same Y coordinate. In real terms this translates into about a 8x performance improvement for farmland (see timings below).
2023-10-17 16:25:13 +01:00
Dylan K. Taylor
63fcf9879a
Block: Use xxhash'd XOR mask to improve state data lower bits distribution
...
xxhash is generally well known for its hash key properties, so this is a suitable use case.
We XOR the state data with a partial hash of xxh3(typeID), which provides sufficient hash distribution regardless of the size of state data.
The previous method started to break down as the number of bits exceeded the number of significant bits of type ID (about 10 currently).
As well as being better for hash distribution regardless of state data size, this also reduces the load factor of RuntimeBlockRegistry to 1.08 (previously around 1.24), which is a nice bonus.
2023-10-17 15:21:22 +01:00
Dylan K. Taylor
d4d7d02067
Merge branch 'minor-next' into major-next
2023-10-16 21:29:11 +01:00
Dylan K. Taylor
006f78c0a7
Updated block consistency check
2023-09-29 12:57:39 +01:00
Dylan K. Taylor
31cd096b4b
Implement torchflower, its seeds and its crop
2023-09-28 17:13:33 +01:00
HimmelKreis4865
d94391af57
Implement Chiseled Bookshelf ( #5827 )
2023-09-28 15:56:46 +01:00
Dylan K. Taylor
56d7039086
Implemented budding amethyst and amethyst clusters
2023-09-27 17:02:37 +01:00
Dylan K. Taylor
6ec340359b
Implemented crimson and warped roots
2023-09-27 13:07:46 +01:00
Dylan K. Taylor
a45e143e81
Merge branch 'minor-next' into major-next
2023-09-21 13:29:58 +01:00
Dylan K. Taylor
04b815a87a
Merge branch 'stable' into minor-next
2023-09-21 13:27:11 +01:00
Dylan K. Taylor
d138a15a32
Merge branch 'legacy/pm4' into stable
2023-09-21 13:27:04 +01:00
Dylan K. Taylor
912fd3f5c6
PHPStan 1.10.35, plus workarounds
2023-09-21 13:22:14 +01:00
Dylan K. Taylor
3906600d44
Fix CS
2023-09-20 19:44:53 +01:00
Dylan K. Taylor
3f7abf29a8
Added PHPStan rule to flag usages of legacy enum accessors provided by LegacyEnumShimTrait
...
closes #6061
2023-09-20 19:42:21 +01:00
Dylan K. Taylor
16d8522245
Farewell EnumTrait, you served us well
2023-09-08 11:26:11 +01:00
Dylan K. Taylor
e96e68d221
Merge branch 'minor-next' into major-next
2023-09-07 20:33:35 +01:00
Dylan K. Taylor
07194e3884
CS again
2023-09-07 20:33:30 +01:00
Dylan K. Taylor
f1a6d71cc1
Merge branch 'minor-next' into major-next
2023-09-07 20:30:58 +01:00
Dylan K. Taylor
58278f22f3
Remove deprecated API usages from tests
2023-09-07 20:30:45 +01:00
Dylan K. Taylor
258038c9a9
Merge branch 'minor-next' into major-next
2023-08-21 16:08:32 +01:00
Dylan K. Taylor
47b448965d
Merge branch 'stable' into minor-next
2023-08-21 16:08:27 +01:00
Dylan K. Taylor
8572311bf4
Remove dead PHPStan stub
...
closes #6003
2023-08-21 14:57:26 +01:00
Dylan K. Taylor
b3c740081e
Merge branch 'stable' into minor-next
2023-08-18 12:28:45 +01:00
dependabot[bot]
b65b7a7f74
Bump tests/plugins/DevTools from 83f0db3
to 411fd5b
( #5998 )
...
Bumps [tests/plugins/DevTools](https://github.com/pmmp/DevTools ) from `83f0db3` to `411fd5b`.
- [Release notes](https://github.com/pmmp/DevTools/releases )
- [Commits](83f0db3f9e...411fd5bdc0
)
---
updated-dependencies:
- dependency-name: tests/plugins/DevTools
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-16 09:38:16 +01:00
Dylan K. Taylor
32d67080e5
Merge branch 'minor-next' into major-next
2023-08-09 16:35:32 +01:00
ipad54
77dfbc4e23
Implemented pink petals ( #5940 )
2023-08-09 11:33:33 +01:00