From 4147d0dc7594b308b04a055db8db217680028e10 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 19 Apr 2023 16:42:50 +0100 Subject: [PATCH] tools/generate-blockstate-upgrade-schema: give better errors when a weird new blockstate version is found --- tools/generate-blockstate-upgrade-schema.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/generate-blockstate-upgrade-schema.php b/tools/generate-blockstate-upgrade-schema.php index f05243264..6fa2d5b72 100644 --- a/tools/generate-blockstate-upgrade-schema.php +++ b/tools/generate-blockstate-upgrade-schema.php @@ -196,7 +196,14 @@ function generateBlockStateUpgradeSchema(array $upgradeTable) : BlockStateUpgrad if($foundVersion === -1 || $mapping->new->getVersion() === $foundVersion){ $foundVersion = $mapping->new->getVersion(); }else{ - throw new AssumptionFailedError("Mixed versions found"); + $logger = \GlobalLogger::get(); + $logger->emergency("Mismatched upgraded versions found: $foundVersion and " . $mapping->new->getVersion()); + $logger->emergency("Mismatched new state: " . $mapping->new->toNbt()); + $logger->emergency("This is probably because the game didn't recognize the input blockstate, so it was returned unchanged."); + $logger->emergency("This is usually because the block is locked behind an experimental toggle that isn't enabled on the world you used when generating this upgrade table."); + $logger->emergency("You can test this in a vanilla game using the /give or /setblock commands to try and acquire the block. Keep trying different experiments until you find the right one."); + + exit(1); } } }