509 Commits

Author SHA1 Message Date
Dylan K. Taylor
72d8b54188
Merge branch 'next-minor' into next-major 2022-06-24 01:33:15 +01:00
Dylan K. Taylor
9f65fb5f90
Fixed top-side skulls with no-drop flag set being treated as unknown blocks 2022-06-24 01:31:11 +01:00
Dylan K. Taylor
6964012464
fix a bunch of bugs 2022-06-23 19:34:08 +01:00
Dylan K. Taylor
1533fcf8f6
Separate block legacy data upgrading from block deserialization
this commit provides a central place where all block data can go to be upgraded to the latest version (currently 1.19), irrespective of how old it is.

Previously I had issues during debugging, because it wasn't possible to just upgrade a block without deserializing it into a Block object, which isn't currently supported for many blocks.
This commit solves that problem by separating the upgrading from the deserialization.
2022-06-23 16:45:02 +01:00
Dylan K. Taylor
680615eed8
Namespace rename 2022-06-08 15:54:45 +01:00
Dylan K. Taylor
cf7d42b3ea
Fix CS according to new rules 2022-06-07 20:02:24 +01:00
Dylan K. Taylor
1ff69136a3
Merge branch 'next-major' into modern-world-support 2022-06-07 20:01:40 +01:00
Dylan K. Taylor
aa9f8781ff
Merge branch 'next-minor' into next-major 2022-06-07 19:56:26 +01:00
Dylan K. Taylor
5c85aa6e58
Eliminate remaining usages of legacy block ID+meta on disk
flower pots loaded from vanilla worlds should now correctly display the plant inside
2022-06-05 21:49:51 +01:00
Dylan K. Taylor
d2613039ed
Replace BlockLegacyIds usages with BlockTypeIds where possible 2022-06-05 21:17:10 +01:00
Dylan K. Taylor
f97c22c341
Merge branch 'next-major' into modern-world-support 2022-06-05 20:48:49 +01:00
Dylan K. Taylor
f2dc9187f0
Use covariant types for InventoryHolder and Container implementors 2022-06-05 18:49:48 +01:00
Dylan K. Taylor
dab7686656
Merge branch 'next-major' into modern-world-support 2022-06-04 18:43:11 +01:00
Dylan K. Taylor
083a35f970
Modernize property type declarations 2022-06-04 18:16:32 +01:00
Dylan K. Taylor
38d6284671
Use PHP-CS-Fixer to enforce file header presence 2022-06-04 17:34:49 +01:00
Dylan K. Taylor
ef15dc883a
Merge branch 'next-major' into modern-world-support 2022-06-01 15:34:26 +01:00
Dylan K. Taylor
bd8dd48dee
Assign new IDs to every block 2022-05-27 18:07:31 +01:00
Dylan K. Taylor
6d7318af43
Liquid: fixed merge regression 2022-05-26 18:48:45 +01:00
Dylan K. Taylor
adfabca684
Merge branch 'next-major' into modern-world-support 2022-05-26 16:02:32 +01:00
Dylan K. Taylor
4ccae2d1de
BlockFactory: use import aliases to reduce code width 2022-05-26 15:50:29 +01:00
Dylan K. Taylor
03c505aaa7
Merge branch 'next-major' into modern-world-support 2022-05-22 16:21:48 +01:00
Dylan K. Taylor
179cac45f5
Merge branch 'stable' into next-minor 2022-05-22 16:21:05 +01:00
Dylan K. Taylor
a45a96b3ee
ShulkerBoxInventory: fixed inappropriate usage of BlockLegacyIds when comparing item IDS 2022-05-21 15:40:25 +01:00
Dylan K. Taylor
f67104c81e
Merge branch 'next-major' into modern-world-support 2022-05-20 17:50:38 +01:00
ShockedPlot7560
6482aa7c64
Block: introduce logic for face support types (#4886)
fixes #4856
fixes #458
fixes #4529
fixes #3299

Added API method Block::getSupportType(Facing) : SupportType
Added SupportType enum
fixes torch, lantern, door etc. placement on slabs and upside-down stairs
2022-05-20 15:18:34 +01:00
Dylan K. Taylor
68491be847
Merge branch 'next-major' into modern-world-support 2022-05-20 11:21:35 +01:00
Dylan K. Taylor
d4b7f66e15
Promote some constructors 2022-05-17 22:34:58 +01:00
Dylan K. Taylor
071067effb
Fixed flower pot accepting any block 2022-05-17 20:30:02 +01:00
ipad54
1e59679ec2
Implemented Stonecutter (#4732) 2022-05-17 16:01:03 +01:00
Dylan K. Taylor
4c03aabe0f
I'm going to kill myself... 2022-05-12 16:44:21 +01:00
Dylan K. Taylor
3ae9341c52
[BC break] doors don't have a powered flag in Bedrock 2022-05-12 16:43:44 +01:00
Dylan K. Taylor
60d3bddfbc
Merge branch 'next-major' into modern-world-support 2022-05-11 13:14:42 +01:00
Duo Incure
1da6aa40f8
Leaves: drop sticks with a 2% chance (#5019)
as per vanilla
2022-05-10 14:17:18 +01:00
Dylan K. Taylor
0326c4964b
Merge branch 'next-major' into modern-world-support 2022-04-28 21:06:44 +01:00
Dylan K. Taylor
937bb4c6ce
Merge branch 'stable' into next-minor 2022-04-28 21:00:23 +01:00
Dylan K. Taylor
72cff0ee11
Modernize property declarations in pocketmine\block namespace 2022-04-25 13:00:29 +01:00
Dylan K. Taylor
09778e3f1b
Fixed build failure 2022-04-25 12:56:16 +01:00
Dylan K. Taylor
9f5d4180c9
Spawnable: remove dead code, deprecate isDirty() and setDirty() 2022-04-25 12:46:01 +01:00
Dylan K. Taylor
e383f6d8f8
Merge branch 'next-major' into modern-world-support 2022-04-20 14:29:22 +01:00
Dylan K. Taylor
6dbfdd970f
Merge branch 'stable' into next-minor 2022-04-20 14:23:51 +01:00
Dylan K. Taylor
5a98b08ee8
Fixed several crashes on bad data due to inadequate TAG_List type checks 2022-04-19 16:48:18 +01:00
Dylan K. Taylor
be863015bf
Merge branch 'next-major' into modern-world-support 2022-04-19 15:32:44 +01:00
Dylan K. Taylor
4fc712119f
FlowerPot: allow removing the planted item
closes #4896
closes #4898

this is not completely consistent with client-side predictions due to a bug in the client, which I believe is a problem limited to the legacy transaction system.
2022-04-08 23:07:08 +01:00
Dylan K. Taylor
9f4418e01d
Wall: separate connection calculation into its own method
we'll need this once wall connections start actually being stored instead of just being recalculated on every read.
2022-03-24 12:52:51 +00:00
Dylan K. Taylor
334c9daa6a
BlockFactory: change property cache arrays to use regular arrays instead of SplFixedArray
this does come at a performance cost, but is necessary for metadata expansion.

we finally concede that this is not going to happen without BC breaks, however small they might be ...
2022-03-23 15:22:57 +00:00
Dylan K. Taylor
b52bb5016c
BlockIdentifier: enforce that ID and variant must be non-negative 2022-03-23 14:39:02 +00:00
Dylan K. Taylor
310104f786
BlockFactory: change fullList to non-fixed array
when we expand the metadata range, having a fixed array here will present some problems due to significantly increased memory footprint (2x for every bit added).
2022-03-23 14:34:15 +00:00
Dylan K. Taylor
ed95679953
Merge branch 'next-minor' into modern-world-support 2022-03-23 13:42:46 +00:00
Dylan K. Taylor
ab93135b84
Merge branch 'stable' into next-minor 2022-03-22 15:49:58 +00:00
Dylan K. Taylor
879476d8e0
ItemFrame: added missing bounds check for setItemDropChance() 2022-03-09 22:20:04 +00:00