mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-25 20:11:06 +01:00
TextureConverter: Implement grass palette conversion
Source: https://minecraft.fandom.com/wiki/Tint Since the MineClone2 biomes do not entirely match with the Minecraft ones I picked the Minecraft biomes that seem to match them best. This also changes the palette index of the nether to match the desert instead of the mesa biome and changes the color of grass blocks in item form to the default minecraft one.
This commit is contained in:
parent
2607d40f1f
commit
34f329a9d5
3 changed files with 50 additions and 21 deletions
|
@ -365,7 +365,7 @@ minetest.register_node("mcl_core:dirt_with_grass", {
|
|||
overlay_tiles = {"mcl_core_grass_block_top.png", "", {name="mcl_core_grass_block_side_overlay.png", tileable_vertical=false}},
|
||||
palette = "mcl_core_palette_grass.png",
|
||||
palette_index = 0,
|
||||
color = "#55aa60",
|
||||
color = "#8EB971",
|
||||
is_ground_content = true,
|
||||
stack_max = 64,
|
||||
groups = {handy=1,shovely=1,dirt=2,grass_block=1, grass_block_no_snow=1, soil=1, soil_sapling=2, soil_sugarcane=1, cultivatable=2, spreading_dirt_type=1, enderman_takable=1, building_block=1},
|
||||
|
|
|
@ -1496,7 +1496,7 @@ local function register_dimension_biomes()
|
|||
heat_point = 100,
|
||||
humidity_point = 0,
|
||||
_mcl_biome_type = "hot",
|
||||
_mcl_palette_index = 19,
|
||||
_mcl_palette_index = 17,
|
||||
})
|
||||
|
||||
--[[ THE END ]]
|
||||
|
|
|
@ -118,17 +118,6 @@ def colorize_alpha(colormap, source, colormap_pixel, texture_size, destination):
|
|||
colorize(colormap, source, colormap_pixel, texture_size, tempfile2.name)
|
||||
os.system("composite -compose Dst_In "+source+" "+tempfile2.name+" -alpha Set "+destination)
|
||||
|
||||
# This function is unused atm.
|
||||
# TODO: Implemnt colormap extraction
|
||||
def extract_colormap(colormap, colormap_pixel, positions):
|
||||
os.system("convert -size 16x16 canvas:black "+tempfile1.name)
|
||||
x=0
|
||||
y=0
|
||||
for p in positions:
|
||||
os.system("convert "+colormap+" -crop 1x1+"+colormap_pixel+" -depth 8 "+tempfile2.name)
|
||||
os.system("composite -geometry 16x16+"+x+"+"+y+" "+tempfile2.name)
|
||||
x = x+1
|
||||
|
||||
def target_dir(directory):
|
||||
if make_texture_pack:
|
||||
return output_dir + "/" + output_dir_name
|
||||
|
@ -397,20 +386,60 @@ def convert_textures():
|
|||
colorize_alpha(FOLIAG, tex_dir+"/blocks/vine.png", "16+39", str(PXSIZE), target_dir("/mods/ITEMS/mcl_core/textures")+"/mcl_core_vine.png")
|
||||
|
||||
# Tall grass, fern (inventory images)
|
||||
pcol = "49+172" # Plains grass color
|
||||
pcol = "50+173" # Plains grass color
|
||||
colorize_alpha(GRASS, tex_dir+"/blocks/tallgrass.png", pcol, str(PXSIZE), target_dir("/mods/ITEMS/mcl_flowers/textures")+"/mcl_flowers_tallgrass_inv.png")
|
||||
colorize_alpha(GRASS, tex_dir+"/blocks/fern.png", pcol, str(PXSIZE), target_dir("/mods/ITEMS/mcl_flowers/textures")+"/mcl_flowers_fern_inv.png")
|
||||
colorize_alpha(GRASS, tex_dir+"/blocks/double_plant_fern_top.png", pcol, str(PXSIZE), target_dir("/mods/ITEMS/mcl_flowers/textures")+"/mcl_flowers_double_plant_fern_inv.png")
|
||||
colorize_alpha(GRASS, tex_dir+"/blocks/double_plant_grass_top.png", pcol, str(PXSIZE), target_dir("/mods/ITEMS/mcl_flowers/textures")+"/mcl_flowers_double_plant_grass_inv.png")
|
||||
|
||||
# TODO: Convert grass palette
|
||||
|
||||
offset = [
|
||||
[ pcol, "", "grass" ], # Default grass: Plains
|
||||
# Convert grass palette: https://minecraft.fandom.com/wiki/Tint
|
||||
grass_colors = [
|
||||
# [Coords or #Color, AdditionalTint], # Index - Minecraft biome name (MineClone2 biome names)
|
||||
["50+173"], # 0 - Plains (flat, Plains, Plains_beach, Plains_ocean, End)
|
||||
["0+255"], # 1 - Savanna (Savanna, Savanna_beach, Savanna_ocean)
|
||||
["255+255"], # 2 - Ice Spikes (IcePlainsSpikes, IcePlainsSpikes_ocean)
|
||||
["255+255"], # 3 - Snowy Taiga (ColdTaiga, ColdTaiga_beach, ColdTaiga_beach_water, ColdTaiga_ocean)
|
||||
["178+193"], # 4 - Giant Tree Taiga (MegaTaiga, MegaTaiga_ocean)
|
||||
["178+193"], # 5 - Giant Tree Taiga (MegaSpruceTaiga, MegaSpruceTaiga_ocean)
|
||||
["203+239"], # 6 - Montains (ExtremeHills, ExtremeHills_beach, ExtremeHills_ocean)
|
||||
["203+239"], # 7 - Montains (ExtremeHillsM, ExtremeHillsM_ocean)
|
||||
["203+239"], # 8 - Montains (ExtremeHills+, ExtremeHills+_snowtop, ExtremeHills+_ocean)
|
||||
["50+173"], # 9 - Beach (StoneBeach, StoneBeach_ocean)
|
||||
["255+255"], # 10 - Snowy Tundra (IcePlains, IcePlains_ocean)
|
||||
["50+173"], # 11 - Sunflower Plains (SunflowerPlains, SunflowerPlains_ocean)
|
||||
["191+203"], # 12 - Taiga (Taiga, Taiga_beach, Taiga_ocean)
|
||||
["76+112"], # 13 - Forest (Forest, Forest_beach, Forest_ocean)
|
||||
["76+112"], # 14 - Flower Forest (FlowerForest, FlowerForest_beach, FlowerForest_ocean)
|
||||
["101+163"], # 15 - Birch Forest (BirchForest, BirchForest_ocean)
|
||||
["101+163"], # 16 - Birch Forest Hills (BirchForestM, BirchForestM_ocean)
|
||||
["0+255"], # 17 - Desert and Nether (Desert, Desert_ocean, Nether)
|
||||
["76+112", "#28340A"], # 18 - Dark Forest (RoofedForest, RoofedForest_ocean)
|
||||
["#90814d"], # 19 - Mesa (Mesa, Mesa_sandlevel, Mesa_ocean, )
|
||||
["#90814d"], # 20 - Mesa (MesaBryce, MesaBryce_sandlevel, MesaBryce_ocean)
|
||||
["#90814d"], # 21 - Mesa (MesaPlateauF, MesaPlateauF_grasstop, MesaPlateauF_sandlevel, MesaPlateauF_ocean)
|
||||
["#90814d"], # 22 - Mesa (MesaPlateauFM, MesaPlateauFM_grasstop, MesaPlateauFM_sandlevel, MesaPlateauFM_ocean)
|
||||
["0+255"], # 23 - Shattered Savanna (or Savanna Plateau ?) (SavannaM, SavannaM_ocean)
|
||||
["12+36"], # 24 - Jungle (Jungle, Jungle_shore, Jungle_ocean)
|
||||
["12+36"], # 25 - Modified Jungle (JungleM, JungleM_shore, JungleM_ocean)
|
||||
["12+61"], # 26 - Jungle Edge (JungleEdge, JungleEdge_ocean)
|
||||
["12+61"], # 27 - Modified Jungle Edge (JungleEdgeM, JungleEdgeM_ocean)
|
||||
["#6A7039"], # 28 - Swamp (Swampland, Swampland_shore, Swampland_ocean)
|
||||
["25+25"], # 29 - Mushroom Fields and Mushroom Field Shore (MushroomIsland, MushroomIslandShore, MushroomIsland_ocean)
|
||||
]
|
||||
for o in offset:
|
||||
colorize(GRASS, tex_dir+"/blocks/grass_top.png", o[0], str(PXSIZE), target_dir("/mods/ITEMS/mcl_core/textures")+"/default_"+o[2]+".png")
|
||||
colorize_alpha(GRASS, tex_dir+"/blocks/grass_side_overlay.png", o[0], str(PXSIZE), target_dir("/mods/ITEMS/mcl_core/textures")+"/default_"+o[2]+"_side.png")
|
||||
|
||||
grass_palette_file = target_dir("/mods/ITEMS/mcl_core/textures") + "/mcl_core_palette_grass.png"
|
||||
os.system("convert -size 16x16 canvas:transparent " + grass_palette_file)
|
||||
|
||||
for i, color in enumerate(grass_colors):
|
||||
if color[0][0] == "#":
|
||||
os.system("convert -size 1x1 xc:\"" + color[0] + "\" " + tempfile1.name + ".png")
|
||||
else:
|
||||
os.system("convert " + GRASS + " -crop 1x1+" + color[0] + " " + tempfile1.name + ".png")
|
||||
|
||||
if len(color) > 1:
|
||||
os.system("convert " + tempfile1.name + ".png \\( -size 1x1 xc:\"" + color[1] + "\" \\) -compose blend -define compose:args=50,50 -composite " + tempfile1.name + ".png")
|
||||
|
||||
os.system("convert " + grass_palette_file + " \\( " + tempfile1.name + ".png -geometry +" + str(i % 16) + "+" + str(int(i / 16)) + " \\) -composite " + grass_palette_file)
|
||||
|
||||
# Metadata
|
||||
if make_texture_pack:
|
||||
|
|
Loading…
Reference in a new issue