360 Commits

Author SHA1 Message Date
ipad54
77dfbc4e23
Implemented pink petals (#5940) 2023-08-09 11:33:33 +01:00
Dylan K. Taylor
c1638ffaab
Ban foreach by-reference at the PHPStan level 2023-08-08 17:08:13 +01:00
ipad54
83d11c7429
Implemented Big & Small dripleaf (#5835) 2023-07-17 16:30:52 +01:00
Dylan K. Taylor
dca752c72f
Stem: implement facing property
fixes #5858

technically speaking, the sideways states for non-fully-grown stems shouldn't exist, but they do in Bedrock, and changing this code to split non-fully-grown stems from fully grown ones would likely require BC breaks.
This was the minimum necessary to achieve the desired functionality.
2023-07-13 14:50:26 +01:00
Dylan K. Taylor
02ffb04b92
Merge branch 'minor-next' into stable 2023-07-04 14:43:23 +01:00
Dylan K. Taylor
588a754f1c
Merge branch 'legacy/pm4' into stable 2023-07-01 13:33:59 +01:00
Dylan K. Taylor
f8e6f036af
AsyncPoolTest: added failing test case for AsyncTask::__destruct() reentrancy bug 2023-07-01 13:24:50 +01:00
ace
bccda4fe44
Implement Piglin Head (#5839) 2023-06-19 12:07:49 +01:00
Dylan K. Taylor
1533dc4e56
Added cherry leaves 2023-06-10 13:21:21 +01:00
Dylan K. Taylor
0f8e61eda4
Implemented new cherry-wood blocks 2023-06-09 18:04:52 +01:00
Dylan K. Taylor
ab8386ed5a
Tests: verify that ItemTypeIds/BlockTypeIds constants match their corresponding VanillaItems/VanillaBlocks registrations 2023-06-09 15:49:10 +01:00
Dylan K. Taylor
833f9401f9
Merge branch 'stable' into minor-next 2023-06-07 22:03:34 +01:00
Dylan K. Taylor
73ee94b62c
Fixed BlockStateData::CURRENT_VERSION 2023-06-07 21:58:21 +01:00
Dylan K. Taylor
e747478afd
and one more 2023-06-07 20:58:15 +01:00
Dylan K. Taylor
92c45dd7e1
Fixed PHPUnit deprecation warnings 2023-06-07 20:57:43 +01:00
Dylan K. Taylor
57cbc25080
Merge remote-tracking branch 'origin/stable' into minor-next 2023-06-04 16:10:07 +01:00
IvanCraft623
6d7f44d8fe
Implement glow lichen (#5401) 2023-06-04 16:04:08 +01:00
Dylan K. Taylor
f9818efff4
Fixed PHPUnit deprecation warnings 2023-06-04 14:00:26 +01:00
Dylan K. Taylor
9c6d4093ae
Fixed crash when getting an item from a block which came from an item which came from a block
had a stroke yet?
2023-06-02 16:16:54 +01:00
Dylan K. Taylor
8744032ab6
Fixed empty block handling after blockstate ID XOR change 2023-05-29 18:26:23 +01:00
Dylan K. Taylor
bdb0ed0701
Consistently use 'mob head' terminology in the API
previously, we were sometimes using 'mob head' and other times 'skull', sometimes even within the same file.
2023-05-26 15:08:00 +01:00
Dylan K. Taylor
24e897f813
Updated blockstate registry consistency check 2023-05-25 16:48:34 +01:00
Dylan K. Taylor
4aba9d9725
Absorb pocketmine/classloader into the core code
the only use for this class is to facilitate random runtime plugin loading, and it's not complete even for that purpose.

Since nothing but PM uses pocketmine/classloader anyway, it doesn't make sense to have it outside the core. As with LogPthreads, it's just adding more maintenance work.
2023-05-22 22:52:48 +01:00
Dylan K. Taylor
815b4e2bab
Fix PHPStan 2023-05-21 16:48:07 +01:00
Dylan K. Taylor
69273f3ff7
AsyncTask::setResult(): permit returning ThreadSafe objects to the main thread
this is now supported thanks to the object rescue feature implemented in pthreads 5.1, making returning of thread-safe values from async tasks possible.
This needs to be explicitly supported, since otherwise it will attempt to serialize them, which isn't supported anymore.
2023-05-21 16:37:41 +01:00
Dylan K. Taylor
9621836e36
Clean up confusing mess around block and item overriding
right now, I don't see an obvious reason to do this. If it turns out I was wrong later on, we can add functionality back, but we can't remove functionality after release.
2023-05-17 15:21:49 +01:00
ipad54
fa719f37d5
Implement Cave Vines & Glow Berries (#5424) 2023-05-08 19:24:23 +01:00
Dylan K. Taylor
289ede669d
BlockTranslator: use less ambiguous function names 2023-05-05 14:47:23 +01:00
Dylan K. Taylor
32e6fdd95a
Rename RuntimeBlockMapping -> BlockTranslator 2023-05-03 22:18:27 +01:00
Dylan K. Taylor
01f340985a
Centralize all conversion-related stuff under TypeConverter
instead of having singletons for everything, which are a nightmare to manage for multi version
2023-05-03 16:33:17 +01:00
Dylan K. Taylor
263e1e9950
Fixed bogus test expectations 2023-04-28 20:05:51 +01:00
Dylan K. Taylor
d4ca566fd0
Move block permutation generation into Block
this allows sealing off a whole bunch of internal APIs.
2023-04-21 20:38:28 +01:00
Dylan K. Taylor
1c626baf1a
Fixed dodgy custom block registration test 2023-04-13 12:27:55 +01:00
Dylan K. Taylor
a42a67fc50
Update consistency check 2023-03-04 15:53:56 +00:00
Dylan K. Taylor
95c18ef99a
Block: change confusing naming of decode/computeStateData
these actually accept a combination of type and state data, so it's a bit inconsistent with other references to 'state data'.
2023-03-02 17:42:44 +00:00
Dylan K. Taylor
7c974a12e1
Revert "ItemBlock: drop the charade about overriding built-in block types"
This reverts commit f64dc01bd1c14ff3f79bd6c18d0c337dbc0e87e0.

I forgot that the ItemBlock constructor implicitly strips off any states
of the origin block, which is something that we unfortunately can't do
any other way right now, since the blocks don't remember their default
states.
2023-03-02 15:51:55 +00:00
Dylan K. Taylor
f64dc01bd1
ItemBlock: drop the charade about overriding built-in block types
this allows cleaning up a whole lot of abusable mess from the API, and we never properly supported overriding built-in block types anyway.
2023-03-02 15:50:18 +00:00
ipad54
75f74454c6
Implemented reinforced deepslate (#5553) 2023-02-15 15:15:04 +00:00
Dylan K. Taylor
0a3ecfdae9
Clean up terminology around block state IDs and their handling 2023-01-25 19:01:15 +00:00
Dylan K. Taylor
2f469ef4a0
Added mangrove, azalea and flowering azalea leaves 2023-01-25 18:50:14 +00:00
Dylan K. Taylor
7abfc46567
First look at 3D biome support 2023-01-17 21:41:30 +00:00
Dylan K. Taylor
ca1f1bf09f
Fixed glowing item frames
due to technical limitations, this requires separating them back into two different block types. However, this isn't too egregious since it's just one flag, and actually simplifies some code.

closes #5478
2023-01-12 21:52:52 +00:00
Dylan K. Taylor
c2918709a3
Merge branch 'next-minor' into next-major 2023-01-06 01:59:04 +00:00
Dylan K. Taylor
3baa5ab712
InGamePacketHandler: removed obsolete workaround 2023-01-06 00:41:57 +00:00
ipad54
85231215e7
Implemented Sculk (#5489) 2023-01-04 20:10:46 +00:00
ipad54
b3473960b4
Implemented chain (#5454) 2022-12-22 15:22:04 +00:00
Dylan K. Taylor
4d79aced07
Merge branch 'next-minor' into next-major 2022-12-15 19:50:27 +00:00
Dylan K. Taylor
99996b62d6
Align PhpDoc @param tags according to PHP-CS-Fixer 2022-12-06 13:21:20 +00:00
ipad54
858d3dce8e
Implement Weeping & Twisting vines (#5396) 2022-11-15 15:29:42 +00:00
Dylan K. Taylor
7bcc663b60
Migrate core code to using symfony/filesystem
webmozart/path-util is retained for plugin compatibility, but is dropped in 5.0
2022-10-14 21:51:29 +01:00