From 540f088edaaa24adb604d165ebcfbd7ed2c51f1d Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Fri, 1 Sep 2023 20:51:45 +0100 Subject: [PATCH] tools/generate-bedrock-data-from-packets: make duplicate reporting less spammy --- tools/generate-bedrock-data-from-packets.php | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tools/generate-bedrock-data-from-packets.php b/tools/generate-bedrock-data-from-packets.php index a8ea6554b..ab8a28ced 100644 --- a/tools/generate-bedrock-data-from-packets.php +++ b/tools/generate-bedrock-data-from-packets.php @@ -440,17 +440,22 @@ class ParserPacketHandler extends PacketHandler{ //how the data is ordered doesn't matter as long as it's reproducible foreach($recipes as $_type => $entries){ $_sortedRecipes = []; + $_seen = []; foreach($entries as $entry){ $entry = self::sort($entry); $_key = json_encode($entry); - while(isset($_sortedRecipes[$_key])){ - echo "warning: duplicated $_type recipe: $_key\n"; - $_key .= "a"; - } - $_sortedRecipes[$_key] = $entry; + $duplicates = $_seen[$_key] ??= 0; + $_seen[$_key]++; + $suffix = chr(ord("a") + $duplicates); + $_sortedRecipes[$_key . $suffix] = $entry; } ksort($_sortedRecipes, SORT_STRING); $recipes[$_type] = array_values($_sortedRecipes); + foreach($_seen as $_key => $_seenCount){ + if($_seenCount > 1){ + fwrite(STDERR, "warning: $_type recipe $_key was seen $_seenCount times\n"); + } + } } ksort($recipes, SORT_STRING);