Проблема перекодировки цветов

Версия Minecraft
1.21.4
API
Fabric
Доброго времени суток! На днях столкнулся с проблемой:
Использую мод PlayerAutoma под версию 1.21.4, он записывает движения игрока в файлы и после в точности воспроизводит.
Примерно половину файла сохранения (вариант в формате .json - 4096 строк) занимает попиксельная запись превью (скрин 1)

1741559840373.png

У меня возникла необходимость прочитать и перезаписать эти цвета не трогая сам файл (только превью). В родном языке майнкрафта я не силён поэтому решил реализовать на VBA. Насколько понял из результата, это представление RGB в LONG с непонятным домножением (скрин 2)

1741560153730.png

И, что бы я с этими цветовыми кодами не делал, в нормальный вид они никак превращаться не хотят. Пример нормального цветового расположения ниже (скрин 3)

1741560277475.png

Пожалуйста, подскажите какую формулу использовать для нормального отображения или где найти соответствующую литературу. Заранее спасибо!
 
Решение
Видимо перепутаны красный канал и синий. Попробуй сделать примерно такую функцию:
Код:
 r = (color >> 11) & 0x1F
 g = (color >> 5) & 0x3F
 b = color & 0x1F

r = (r * 255) // 31
g = (g * 255) // 63
b = (b * 255) // 31

r = (r * 31) // 255
g = (g * 63) // 255
b = (b * 31) // 255

return (b << 11) | (g << 5) | r
Видимо перепутаны красный канал и синий. Попробуй сделать примерно такую функцию:
Код:
 r = (color >> 11) & 0x1F
 g = (color >> 5) & 0x3F
 b = color & 0x1F

r = (r * 255) // 31
g = (g * 255) // 63
b = (b * 255) // 31

r = (r * 31) // 255
g = (g * 63) // 255
b = (b * 31) // 255

return (b << 11) | (g << 5) | r
 
Назад
Сверху