Commit Graph

14792 Commits

Author SHA1 Message Date
Dylan K. Taylor
3f2d51c58a Release 5.1.0 2023-06-07 21:35:10 +01:00
Dylan K. Taylor
2220dc557e 4.22.1 is next 2023-06-07 21:23:57 +01:00
Dylan K. Taylor
b5fc31a781 Release 4.22.0 2023-06-07 21:23:54 +01:00
Dylan K. Taylor
9a67e3d660 PM5-specific changes for 1.20.0.23 beta 2023-06-07 21:08:41 +01:00
Dylan K. Taylor
132330e16f Merge branch 'legacy/pm4' into stable 2023-06-07 21:08:09 +01:00
Dylan K. Taylor
441f1f534f Random change PHP-CS-Fixer wanted to make 2023-06-07 20:59:32 +01:00
Dylan K. Taylor
2538880408 1.20.0 2023-06-07 20:56:59 +01:00
Dylan K. Taylor
57cbc25080 Merge remote-tracking branch 'origin/stable' into minor-next 2023-06-04 16:10:07 +01:00
Dylan K. Taylor
b9bdfe580b Bump version to 5.2.0+dev
next feature release go brrrr
2023-06-04 16:07:10 +01:00
IvanCraft623
6d7f44d8fe Implement glow lichen (#5401) 2023-06-04 16:04:08 +01:00
Dylan K. Taylor
7fef8f0ab6 5.0.2 is next 2023-06-03 21:56:30 +01:00
Dylan K. Taylor
2f43ccea6f Release 5.0.1 2023-06-03 21:56:26 +01:00
Dylan K. Taylor
af1f7e098b Require pmmpthread 6.0.1 2023-06-03 21:42:43 +01:00
Dylan K. Taylor
8d7f8ff3f5 Merge branch 'legacy/pm4' into stable 2023-06-03 21:23:00 +01:00
Dylan K. Taylor
c715efb18e Jukebox: fix music not stopping when destroyed by explosion
closes #5794
2023-06-03 21:22:26 +01:00
Dylan K. Taylor
40be564689 BlockSpreadEvent: document poorly-named constructor parameters 2023-06-03 17:08:02 +01:00
IvanCraft623
4e031e7b3e Always drop spore blossom item when it is broken (#5796) 2023-06-03 16:07:44 +01:00
Dylan K. Taylor
4340c26029 RuntimeDataSizeCalculator: Tidy up junk comments 2023-06-02 16:37:08 +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
73e7201acb 5.0.1 is next 2023-06-01 16:09:52 +01:00
Dylan K. Taylor
b16cc69974 Release 5.0.0 2023-06-01 16:09:49 +01:00
Dylan K. Taylor
de49910e84 Fix CS 2023-05-31 22:18:25 +01:00
Dylan K. Taylor
d2fe537159 Merge branch 'minor-next' into major-next 2023-05-31 22:12:39 +01:00
Dylan K. Taylor
bb31df051d Merge branch 'stable' into minor-next 2023-05-31 22:10:18 +01:00
Dylan K. Taylor
07225df936 Block: fixed tile-stored properties sticking to the item in asItem()
this was enabling duplication of items, since the dropped item object would contain a Block which still referenced the framed Item.
2023-05-31 21:48:06 +01:00
Muqsit Rayyan
3948dc4f75 Remove calls to ReflectionProperty::setAccessible() (#5783)
This is a no-op in PHP 8.1 and up.
2023-05-31 14:03:14 +01:00
Dylan K. Taylor
4f4dca7fc0 Mark WoodLikeBlockIdHelper as internal 2023-05-30 21:41:25 +01:00
Dylan K. Taylor
0ed5e94a72 Merge branch 'minor-next' into major-next 2023-05-30 16:15:56 +01:00
Dylan K. Taylor
3a4e958e84 Merge branch 'stable' into minor-next 2023-05-30 16:08:03 +01:00
Dylan K. Taylor
d343db8750 4.21.2 is next 2023-05-30 14:42:59 +01:00
Dylan K. Taylor
f2df702c67 Release 4.21.1 2023-05-30 14:42:59 +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
5a9cdef40c Chunk: added DIRTY_FLAGS_ALL and DIRTY_FLAGS_NONE 2023-05-29 17:45:19 +01:00
Dylan K. Taylor
a49842278a WorldProvider subsystem no longer depends on Chunk
Instead, it provides the data needed to construct the chunk, which doesn't require the provider to be aware of anywhere near as much logic.
2023-05-29 17:44:00 +01:00
Dylan K. Taylor
d57954dff0 PopulationTask: ensure that unmodified chunks don't get sent back to the main thread for no reason 2023-05-29 17:30:04 +01:00
Dylan K. Taylor
ce5e663a73 Assume chunks are dirty by default
having them be clean by default makes no sense. It only makes sense for them to be clean if they were loaded directly from disk without any alterations.

Default clean is a footgun.
2023-05-29 17:22:39 +01:00
Dylan K. Taylor
c10be0f346 WorldProvider: allow loadChunk() to return additional information about the loaded chunk data
this will be needed for dealing with #5733. I don't plan to fix that before 5.0, but we need to make the appropriate BC breaks now, before release.
2023-05-29 17:03:39 +01:00
Dylan K. Taylor
f5a1a0c9cb ÂInsert PM data version into blockstates, chunks, entities, tiles and level.dat
this information will allow us to correct for any bugs introduced by past versions.

however, we still need to propagate this information to permit actually using it when loading data.
2023-05-29 16:32:24 +01:00
Dylan K. Taylor
7f1550ef04 Revert "Stop using insecure UUIDs from non-XBL players"
This reverts commit 9baf59702b.

I forgot this is also needed for the player list, and for skin updates
to work ... this will need to be revisited
2023-05-27 18:10:55 +01:00
Dylan K. Taylor
9baf59702b Stop using insecure UUIDs from non-XBL players
closes #4076

I opted for the minimal approach of replacing only UUIDs for non-XBL players, since most servers are using XBL anyway (as they should).
2023-05-27 18:00:54 +01:00
Dylan K. Taylor
473c062b40 Improve documentation for BlockTypeIds and ItemTypeIds 2023-05-27 17:28:36 +01:00
Dylan K. Taylor
b8ba2d03ba Added new note instruments up to 1.19
1.20 adds extra ones for each type of mob head, but we're not supporting 1.20 yet.
2023-05-26 16:58:06 +01:00
Dylan K. Taylor
fddab29e87 Move mob head and note instrument save IDs into pocketmine\data\bedrock
to be consistent, these shouldn't be exposed in the API like this...
I'm not very happy with the whole 'type ID map' paradigm (particularly its lack of static analysis guarantees), but the most important thing right now is to get this stuff out of the API so that plugin devs don't try and abuse it. We're not going to change the whole system days before PM5 release.
2023-05-26 15:47:12 +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
edafe9d21f Entity: Rename and document isImmobile() and friends
while I could implement server-side ability to disable entity movement, I don't think that's particularly useful. However, the intended function of this (disabling client sided AI) is useful, so it makes more sense to rename it to match its functionality, rather than changing its functionality to match the name.

closes #3130
2023-05-26 14:01:21 +01:00
Dylan K. Taylor
cc77f18ff0 ÂBlock: added a TODO for getStateId() 2023-05-25 17:38:39 +01:00
Dylan K. Taylor
ffe3556be1 Block: XOR state data with type ID, improve hash distribution
since most blocks have no state data, their lower 8 bits of state data were all zero.
This makes state IDs a bit more distributed for minimal cost.

I considered flipping these around and using type ID in the lower bits directly, but this worsened distribution for walls.

In the worst case, largest number of collisions drops from 11 to 5 with this change, and the number of states with unique hash keys increased from 3518 to 4461 (out of 7638). This is still a long way from perfect, but it's a decent improvement, improving the overall load factor from 1.6 to 1.3.

related to #5604
2023-05-25 16:35:45 +01:00
Dylan K. Taylor
2ebf8757c1 5.0.0-BETA5 is next 2023-05-23 01:53:00 +01:00
Dylan K. Taylor
1c69116717 Release 5.0.0-BETA4 2023-05-23 01:52:57 +01:00
Dylan K. Taylor
9d9c628acd Mark AsyncPoolWorkerEntry as @internal 2023-05-23 01:32:44 +01:00