Dylan K. Taylor
5f3a2a5096
BlockStateUpgrader: fixed undefined array key when flattening a block whose new ID is the same as the old
...
this came up during 1.20.50 testing, where minecraft:stone[stone_type=stone] continues to have an ID minecraft:stone without the stone_type property.
This could have appeared in other ways, such as with an invalid legacy blockstate.
2023-11-08 18:52:22 +00:00
Dylan K. Taylor
8ccaf907d1
tools/generate-blockstate-upgrade-schema: do not optimize state remaps with unchanged IDs
...
processRemappedStates() needs to know about the full set of states to generate reliable mappings.
Without it, it may generate flattening rules or state matching criteria that unintentionally match states that it's not aware of.
Sadly, this does make some schemas bigger, but it's for the best.
2023-11-08 15:19:02 +00:00
dependabot[bot]
6b5c405939
Bump shivammathur/setup-php from 2.26.0 to 2.27.1 ( #6142 )
...
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php ) from 2.26.0 to 2.27.1.
- [Release notes](https://github.com/shivammathur/setup-php/releases )
- [Commits](https://github.com/shivammathur/setup-php/compare/2.26.0...2.27.1 )
---
updated-dependencies:
- dependency-name: shivammathur/setup-php
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-08 12:06:43 +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
bbe66e8e09
Block: Improve performance of encodeFullState()
...
if there's no state data to encode, we can avoid useless calls and object allocations.
For the best cases (blocks which don't use state data at all) this improves the performance of getStateId() by more than 10x.
Blocks which use one or the other benefit by a smaller but still significant margin.
2023-11-06 17:04:39 +00:00
Dylan K. Taylor
457660235e
Crops must have access to a light level of at least 9
2023-11-06 16:02:57 +00:00
ipad54
9fc9609694
Fix ancient debris not being fireproof ( #6138 )
2023-11-06 15:01:43 +00:00
dependabot[bot]
1055b7580a
Bump phpstan/phpstan from 1.10.40 to 1.10.41 ( #6139 )
...
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan ) from 1.10.40 to 1.10.41.
- [Release notes](https://github.com/phpstan/phpstan/releases )
- [Changelog](https://github.com/phpstan/phpstan/blob/1.11.x/CHANGELOG.md )
- [Commits](https://github.com/phpstan/phpstan/compare/1.10.40...1.10.41 )
---
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>
2023-11-06 15:00:06 +00:00
ipad54
3385087c56
Fix Iron & Gold ores not affected by fortune ( #6134 )
2023-11-04 10:57:53 +00:00
Dylan K. Taylor
d3b7861d1a
Constify bootstrap options
2023-11-02 16:15:57 +00:00
Dylan K. Taylor
a6b36d6c3c
CropGrowthHelper: avoid unnecessary checks
2023-11-02 15:32:22 +00:00
Dylan K. Taylor
109673382d
Implemented modifiers for crop growth speed
...
closes #6070
there are some unresolved questions about the growth speed of beetroots, pitcher plants and torchflower crops, but that's a topic for another commit.
this change also doesn't account for the light levels.
2023-11-02 15:16:11 +00:00
Dylan K. Taylor
1e4a1565bb
Stem: fixed not attaching to grown pumpkin/melon
...
no idea how this got missed ...
2023-11-02 14:48:45 +00:00
Dylan K. Taylor
8aaa6dd176
Stem: do not disable ticking when the stem is not attached to a pumpkin
...
fixes #6131
2023-11-02 14:47:55 +00:00
Dylan K. Taylor
07dff9c9e8
5.8.2 is next
2023-11-01 17:55:23 +00:00
Dylan K. Taylor
75a39491be
Release 5.8.1
5.8.1
2023-11-01 17:55:22 +00:00
Dylan K. Taylor
a10e4b6481
Merge branch 'minor-next' into stable
2023-11-01 17:51:52 +00:00
Dylan K. Taylor
68c6b87678
5.8.1 is next
2023-11-01 17:49:56 +00:00
Dylan K. Taylor
e20c031aa1
Release 5.8.0
2023-11-01 17:49:53 +00:00
Dylan K. Taylor
9832fe899f
Merge branch 'stable' into minor-next
2023-11-01 16:39:44 +00:00
Dylan K. Taylor
55f3477ed9
5.7.2 is next
2023-11-01 16:37:46 +00:00
Dylan K. Taylor
2c17f82eb8
Release 5.7.1
5.7.1
2023-11-01 16:37:46 +00:00
Dylan K. Taylor
e6e2c54ec9
Fixed various reentrant-unsafe 2D array element unsets (similar to previous commit)
...
this pattern was used in various places
2023-11-01 16:28:59 +00:00
Dylan K. Taylor
abce512860
Merge branch 'stable' of github.com:pmmp/PocketMine-MP into stable
2023-11-01 16:13:44 +00:00
Dylan K. Taylor
0093732d49
PermissionManager: fixed non-reentrant-safe permission unsubscribing
...
during unset(), the destructors for other objects with cyclic references can get triggered, resulting in the functions being reentered before the count() call. This leads to a crash because the offset no longer exists.
Instead, we check if only the given PermissibleInternal is present, and clean everything up with a single unset instead of two.
This could also have been solved by adding extra isset() checks before checking the counts, but this way seemed more elegant.
This is similar to an issue with AsyncTask thread-local storage a few months ago, which was also caused by GC reentrancy.
closes #6119
2023-11-01 16:13:28 +00:00
Dylan K. Taylor
9eb2a46942
World: remove useless isChunkLoaded checks
...
getChunkEntities() will return an empty array if the chunk isn't loaded anyway, so this is just wasting CPU cycles.
2023-11-01 15:53:37 +00:00
dependabot[bot]
1402571055
Bump phpstan/phpstan from 1.10.39 to 1.10.40 ( #6126 )
...
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan ) from 1.10.39 to 1.10.40.
- [Release notes](https://github.com/phpstan/phpstan/releases )
- [Changelog](https://github.com/phpstan/phpstan/blob/1.11.x/CHANGELOG.md )
- [Commits](https://github.com/phpstan/phpstan/compare/1.10.39...1.10.40 )
---
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>
2023-11-01 15:26:46 +00:00
dependabot[bot]
34bb86d2bf
Bump phpstan/phpstan-strict-rules from 1.5.1 to 1.5.2 ( #6125 )
...
Bumps [phpstan/phpstan-strict-rules](https://github.com/phpstan/phpstan-strict-rules ) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/phpstan/phpstan-strict-rules/releases )
- [Commits](https://github.com/phpstan/phpstan-strict-rules/compare/1.5.1...1.5.2 )
---
updated-dependencies:
- dependency-name: phpstan/phpstan-strict-rules
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>
2023-11-01 15:26:30 +00:00
Dylan K. Taylor
b41960dfec
Merge branch 'stable' into minor-next
2023-10-26 12:55:47 +01:00
Dylan K. Taylor
0b2fc84827
5.7.1 is next
2023-10-26 12:51:45 +01:00
Dylan K. Taylor
22b9e70372
Release 5.7.0
5.7.0
2023-10-26 12:51:45 +01:00
Dylan K. Taylor
a222636476
Merge branch 'legacy/pm4' into stable
2023-10-26 12:47:19 +01:00
Dylan K. Taylor
fb586cc562
4.25.1 is next
2023-10-26 12:43:16 +01:00
Dylan K. Taylor
f3f22ba48b
Release 4.25.0
4.25.0
2023-10-26 12:43:16 +01:00
Dylan K. Taylor
a2e6e2e5b9
Update PHPStan
2023-10-26 12:39:45 +01:00
Dylan K. Taylor
1aaaadb909
1.20.40 changes (PM4)
2023-10-26 12:36:12 +01:00
Dylan K. Taylor
53a740433f
Changes for 1.20.40
2023-10-26 12:32:59 +01:00
Dylan K. Taylor
8491d3c6c0
Merge branch 'stable' into minor-next
2023-10-24 11:56:51 +01:00
Dylan K. Taylor
d637370b83
Wipe internal block AABB cache only for specific blocks that need it
...
the vast majority of blocks don't need this cache erasing, so it's costing performance for no good reason.
2023-10-23 17:38:04 +01:00
Dylan K. Taylor
f655eda3b3
Player: bypass slow function call
...
for some reason the isSpectator() call here can take upwards of 2 microseconds, for no obvious reason. Subsequent calls are much faster, so I think there's some weird cache thing going on here.
2023-10-23 16:05:13 +01:00
Dylan K. Taylor
af432c1a7f
Give neighbour block updates its own timer
...
this way we aren't conflating them with scheduled updates, which are usually caused by e.g. water
2023-10-23 12:33:36 +01:00
Dylan K. Taylor
9fcc9f4338
StringToItemParser: added missing blocks
...
closes #6108
2023-10-23 12:24:02 +01:00
Dylan K. Taylor
41c5f63565
World: remove dead code
2023-10-23 12:17:41 +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
1f461977d4
Block: Avoid useless Vector3 allocations in getHorizontalSides and getAllSides
2023-10-20 17:28:19 +01:00
Dylan K. Taylor
e4888d7102
ÂCONTRIBUTING.md: restructure, reword and reorganize
...
[ci skip]
2023-10-20 12:12:14 +01:00
Dylan K. Taylor
450ad42202
Added some new recommendations to CONTRIBUTING.md
2023-10-20 11:37:58 +01:00
Dylan K. Taylor
eb935ca80f
ÂLeaves: use a constant for max distance from wood
2023-10-20 11:20:30 +01:00
Dylan K. Taylor
1c5d3b43be
5.6.2 is next
2023-10-20 10:30:50 +01:00