mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-19 17:36:34 +00:00
Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/11392123557
This commit is contained in:
commit
c4e72c880e
8
.github/workflows/build-docker-image.yml
vendored
8
.github/workflows/build-docker-image.yml
vendored
@ -53,7 +53,7 @@ jobs:
|
|||||||
run: echo NAME=$(echo "${GITHUB_REPOSITORY,,}") >> $GITHUB_OUTPUT
|
run: echo NAME=$(echo "${GITHUB_REPOSITORY,,}") >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Build image for tag
|
- name: Build image for tag
|
||||||
uses: docker/build-push-action@v6.7.0
|
uses: docker/build-push-action@v6.8.0
|
||||||
with:
|
with:
|
||||||
push: true
|
push: true
|
||||||
context: ./pocketmine-mp
|
context: ./pocketmine-mp
|
||||||
@ -66,7 +66,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Build image for major tag
|
- name: Build image for major tag
|
||||||
if: steps.channel.outputs.CHANNEL == 'stable'
|
if: steps.channel.outputs.CHANNEL == 'stable'
|
||||||
uses: docker/build-push-action@v6.7.0
|
uses: docker/build-push-action@v6.8.0
|
||||||
with:
|
with:
|
||||||
push: true
|
push: true
|
||||||
context: ./pocketmine-mp
|
context: ./pocketmine-mp
|
||||||
@ -79,7 +79,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Build image for minor tag
|
- name: Build image for minor tag
|
||||||
if: steps.channel.outputs.CHANNEL == 'stable'
|
if: steps.channel.outputs.CHANNEL == 'stable'
|
||||||
uses: docker/build-push-action@v6.7.0
|
uses: docker/build-push-action@v6.8.0
|
||||||
with:
|
with:
|
||||||
push: true
|
push: true
|
||||||
context: ./pocketmine-mp
|
context: ./pocketmine-mp
|
||||||
@ -92,7 +92,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Build image for latest tag
|
- name: Build image for latest tag
|
||||||
if: steps.channel.outputs.CHANNEL == 'stable'
|
if: steps.channel.outputs.CHANNEL == 'stable'
|
||||||
uses: docker/build-push-action@v6.7.0
|
uses: docker/build-push-action@v6.8.0
|
||||||
with:
|
with:
|
||||||
push: true
|
push: true
|
||||||
context: ./pocketmine-mp
|
context: ./pocketmine-mp
|
||||||
|
@ -496,8 +496,35 @@ function processRemappedStates(array $upgradeTable) : array{
|
|||||||
if($existing === null || $existing->equals($remap)){
|
if($existing === null || $existing->equals($remap)){
|
||||||
$list[$rawOldState] = $remap;
|
$list[$rawOldState] = $remap;
|
||||||
}else{
|
}else{
|
||||||
//match criteria is borked
|
//TODO: ambiguous filter - this is a bug in the unchanged states calculation
|
||||||
throw new AssumptionFailedError("Match criteria resulted in two ambiguous remaps");
|
//this is a real pain to fix, so workaround this for now
|
||||||
|
//this arose in 1.20.40 with brown_mushroom_block when variants 10 and 15 were remapped to mushroom_stem
|
||||||
|
//while also keeping the huge_mushroom_bits property with the same value
|
||||||
|
//this causes huge_mushroom_bits to be considered an "unchanged" state, which is *technically* correct, but
|
||||||
|
//means it can't be deleted from the filter
|
||||||
|
|
||||||
|
//move stuff from newState to copiedState where possible, even if we can't delete it from the filter
|
||||||
|
$cleanedNewState2 = $newState;
|
||||||
|
$copiedState = [];
|
||||||
|
foreach(Utils::stringifyKeys($cleanedNewState2) as $newPropertyName => $newPropertyValue){
|
||||||
|
if(isset($oldState[$newPropertyName]) && $oldState[$newPropertyName]->equals($newPropertyValue)){
|
||||||
|
$copiedState[] = $newPropertyName;
|
||||||
|
unset($cleanedNewState2[$newPropertyName]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$fallbackRawFilter = encodeOrderedProperties($oldState);
|
||||||
|
if(isset($list[$fallbackRawFilter])){
|
||||||
|
throw new AssumptionFailedError("Exact match filter collision for \"" . $pair->old->getName() . "\" - this should never happen");
|
||||||
|
}
|
||||||
|
$list[$fallbackRawFilter] = new BlockStateUpgradeSchemaBlockRemap(
|
||||||
|
$oldState,
|
||||||
|
$newName,
|
||||||
|
$cleanedNewState2,
|
||||||
|
$copiedState
|
||||||
|
);
|
||||||
|
\GlobalLogger::get()->warning("Couldn't calculate an unambiguous partial remappedStates filter for some states of \"" . $pair->old->getName() . "\" - falling back to exact match");
|
||||||
|
\GlobalLogger::get()->warning("The schema should still work, but may be larger than desired");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user