added color calculator
This commit is contained in:
parent
ecdf3d30eb
commit
029d24ce61
0
src/graph/__init__.py
Normal file
0
src/graph/__init__.py
Normal file
46
src/utils/color_calculator.py
Normal file
46
src/utils/color_calculator.py
Normal file
@ -0,0 +1,46 @@
|
||||
import json
|
||||
import os
|
||||
|
||||
import pygame
|
||||
|
||||
EXCLUDE = {
|
||||
"bottom", "side", "front", "cracked", "on", "stem", "tip", "lit", "inner"
|
||||
}
|
||||
|
||||
|
||||
def main() -> None:
|
||||
pygame.init()
|
||||
win = pygame.display.set_mode((1, 1))
|
||||
path = "/tmp/minecraft/textures/block"
|
||||
with open("/tmp/overrides.json", "r") as f:
|
||||
overrides = json.load(f)
|
||||
colors = {}
|
||||
paths = os.listdir(path)
|
||||
total = len(paths)
|
||||
skipped = 0
|
||||
for i, filename in enumerate(paths):
|
||||
print(f"\r{i+1}/{total} ({i/total*100:.2f}%) {filename}", end="")
|
||||
block, ext = filename.rsplit(".", 1)
|
||||
if ext != "png":
|
||||
skipped += 1
|
||||
continue
|
||||
|
||||
parts = set(block.split("_"))
|
||||
if not parts.isdisjoint(EXCLUDE):
|
||||
skipped += 1
|
||||
continue
|
||||
|
||||
block = block.replace("_top", "")
|
||||
img = pygame.image.load(os.path.join(path, filename)).convert_alpha()
|
||||
color = pygame.transform.average_color(img, consider_alpha=True)
|
||||
colors[f"minecraft:{block}"] = color[:3]
|
||||
print(f"\r{total}/{total} (100%) Finished")
|
||||
print(f"Skipped {skipped} files")
|
||||
|
||||
colors.update(overrides)
|
||||
with open("/tmp/colors.json", "w") as f:
|
||||
json.dump(colors, f, indent=4)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Loading…
Reference in New Issue
Block a user