package main import ( "github.com/kch42/gomcmap/mcmap" "github.com/mattn/go-gtk/gdk" ) var bioList = []mcmap.Biome{ mcmap.BioOcean, mcmap.BioPlains, mcmap.BioDesert, mcmap.BioExtremeHills, mcmap.BioForest, mcmap.BioTaiga, mcmap.BioSwampland, mcmap.BioRiver, mcmap.BioHell, mcmap.BioSky, mcmap.BioFrozenOcean, mcmap.BioFrozenRiver, mcmap.BioIcePlains, mcmap.BioIceMountains, mcmap.BioMushroomIsland, mcmap.BioMushroomIslandShore, mcmap.BioBeach, mcmap.BioDesertHills, mcmap.BioForestHills, mcmap.BioTaigaHills, mcmap.BioExtremeHillsEdge, mcmap.BioJungle, mcmap.BioJungleHills, mcmap.BioJungleEdge, mcmap.BioDeepOcean, mcmap.BioStoneBeach, mcmap.BioColdBeach, mcmap.BioBirchForest, mcmap.BioBirchForestHills, mcmap.BioRoofedForest, mcmap.BioColdTaiga, mcmap.BioColdTaigaHills, mcmap.BioMegaTaiga, mcmap.BioMegaTaigaHills, mcmap.BioExtremeHillsPlus, mcmap.BioSavanna, mcmap.BioSavannaPlateau, mcmap.BioMesa, mcmap.BioMesaPlateauF, mcmap.BioMesaPlateau, mcmap.BioSunflowerPlains, mcmap.BioDesertM, mcmap.BioExtremeHillsM, mcmap.BioFlowerForest, mcmap.BioTaigaM, mcmap.BioSwamplandM, mcmap.BioIcePlainsSpikes, mcmap.BioIceMountainsSpikes, mcmap.BioJungleM, mcmap.BioJungleEdgeM, mcmap.BioBirchForestM, mcmap.BioBirchForestHillsM, mcmap.BioRoofedForestM, mcmap.BioColdTaigaM, mcmap.BioMegaSpruceTaiga, mcmap.BioMegaSpruceTaigaHills, mcmap.BioExtremeHillsPlusM, mcmap.BioSavannaM, mcmap.BioSavannaPlateauM, mcmap.BioMesaBryce, mcmap.BioMesaPlateauFM, mcmap.BioMesaPlateauM, mcmap.BioUncalculated, } var bioColors = map[mcmap.Biome]*gdk.Color{ mcmap.BioOcean: gdk.NewColor("#0000ff"), mcmap.BioPlains: gdk.NewColor("#9fe804"), mcmap.BioDesert: gdk.NewColor("#f5ff58"), mcmap.BioExtremeHills: gdk.NewColor("#a75300"), mcmap.BioForest: gdk.NewColor("#006f2a"), mcmap.BioTaiga: gdk.NewColor("#05795a"), mcmap.BioSwampland: gdk.NewColor("#6a7905"), mcmap.BioRiver: gdk.NewColor("#196eff"), mcmap.BioHell: gdk.NewColor("#d71900"), mcmap.BioSky: gdk.NewColor("#871eb3"), mcmap.BioFrozenOcean: gdk.NewColor("#d6f0ff"), mcmap.BioFrozenRiver: gdk.NewColor("#8fb6cd"), mcmap.BioIcePlains: gdk.NewColor("#fbfbfb"), mcmap.BioIceMountains: gdk.NewColor("#c6bfb1"), mcmap.BioMushroomIsland: gdk.NewColor("#9776a4"), mcmap.BioMushroomIslandShore: gdk.NewColor("#9e8ebc"), mcmap.BioBeach: gdk.NewColor("#fffdc9"), mcmap.BioDesertHills: gdk.NewColor("#adb354"), mcmap.BioForestHills: gdk.NewColor("#40694f"), mcmap.BioTaigaHills: gdk.NewColor("#5b8578"), mcmap.BioExtremeHillsEdge: gdk.NewColor("#a77748"), mcmap.BioJungle: gdk.NewColor("#22db04"), mcmap.BioJungleHills: gdk.NewColor("#63bf54"), mcmap.BioJungleEdge: gdk.NewColor("#40ba2c"), mcmap.BioDeepOcean: gdk.NewColor("#0000b3"), mcmap.BioStoneBeach: gdk.NewColor("#9292a6"), mcmap.BioColdBeach: gdk.NewColor("#c7c7e8"), mcmap.BioBirchForest: gdk.NewColor("#1d964b"), mcmap.BioBirchForestHills: gdk.NewColor("#498045"), mcmap.BioRoofedForest: gdk.NewColor("#075a26"), mcmap.BioColdTaiga: gdk.NewColor("#1b948e"), mcmap.BioColdTaigaHills: gdk.NewColor("#1d7a76"), mcmap.BioMegaTaiga: gdk.NewColor("#1f8f68"), mcmap.BioMegaTaigaHills: gdk.NewColor("#217a5c"), mcmap.BioExtremeHillsPlus: gdk.NewColor("#d76a00"), mcmap.BioSavanna: gdk.NewColor("#b2bc0f"), mcmap.BioSavannaPlateau: gdk.NewColor("#aba60e"), mcmap.BioMesa: gdk.NewColor("#ff6c00"), mcmap.BioMesaPlateauF: gdk.NewColor("#d9691e"), mcmap.BioMesaPlateau: gdk.NewColor("#d95b07"), mcmap.BioSunflowerPlains: gdk.NewColor("#ffd504"), mcmap.BioDesertM: gdk.NewColor("#f4ff3f"), mcmap.BioExtremeHillsM: gdk.NewColor("#8c4500"), mcmap.BioFlowerForest: gdk.NewColor("#e02f4a"), mcmap.BioTaigaM: gdk.NewColor("#0a6148"), mcmap.BioSwamplandM: gdk.NewColor("#58630e"), mcmap.BioIcePlainsSpikes: gdk.NewColor("#ace8e8"), mcmap.BioIceMountainsSpikes: gdk.NewColor("#91cccc"), mcmap.BioJungleM: gdk.NewColor("#30ba07"), mcmap.BioJungleEdgeM: gdk.NewColor("#3e9130"), mcmap.BioBirchForestM: gdk.NewColor("#228548"), mcmap.BioBirchForestHillsM: gdk.NewColor("#2b7547"), mcmap.BioRoofedForestM: gdk.NewColor("#1a5428"), mcmap.BioColdTaigaM: gdk.NewColor("#0f706b"), mcmap.BioMegaSpruceTaiga: gdk.NewColor("#198058"), mcmap.BioMegaSpruceTaigaHills: gdk.NewColor("#156e4c"), mcmap.BioExtremeHillsPlusM: gdk.NewColor("#ba5c00"), mcmap.BioSavannaM: gdk.NewColor("#858111"), mcmap.BioSavannaPlateauM: gdk.NewColor("#87830b"), mcmap.BioMesaBryce: gdk.NewColor("#ff5100"), mcmap.BioMesaPlateauFM: gdk.NewColor("#ba5a1a"), mcmap.BioMesaPlateauM: gdk.NewColor("#ba4e06"), mcmap.BioUncalculated: gdk.NewColor("#333333"), } // TODO: Minecraft 1.7 will let it snow in some medium-cold biomes, depending on the height. We should simulate that. var coldBiome = map[mcmap.Biome]bool{ mcmap.BioOcean: false, mcmap.BioPlains: false, mcmap.BioDesert: false, mcmap.BioExtremeHills: false, mcmap.BioForest: false, mcmap.BioTaiga: false, mcmap.BioSwampland: false, mcmap.BioRiver: false, mcmap.BioHell: false, mcmap.BioSky: false, mcmap.BioFrozenOcean: true, mcmap.BioFrozenRiver: true, mcmap.BioIcePlains: true, mcmap.BioIceMountains: true, mcmap.BioMushroomIsland: false, mcmap.BioMushroomIslandShore: false, mcmap.BioBeach: false, mcmap.BioDesertHills: false, mcmap.BioForestHills: false, mcmap.BioTaigaHills: true, mcmap.BioExtremeHillsEdge: false, mcmap.BioJungle: false, mcmap.BioJungleHills: false, mcmap.BioJungleEdge: false, mcmap.BioDeepOcean: false, mcmap.BioStoneBeach: false, mcmap.BioColdBeach: true, mcmap.BioBirchForest: false, mcmap.BioBirchForestHills: false, mcmap.BioRoofedForest: false, mcmap.BioColdTaiga: true, mcmap.BioColdTaigaHills: true, mcmap.BioMegaTaiga: false, mcmap.BioMegaTaigaHills: false, mcmap.BioExtremeHillsPlus: false, mcmap.BioSavanna: false, mcmap.BioSavannaPlateau: false, mcmap.BioMesa: false, mcmap.BioMesaPlateauF: false, mcmap.BioMesaPlateau: false, mcmap.BioSunflowerPlains: false, mcmap.BioDesertM: false, mcmap.BioExtremeHillsM: false, mcmap.BioFlowerForest: false, mcmap.BioTaigaM: false, mcmap.BioSwamplandM: false, mcmap.BioIcePlainsSpikes: true, mcmap.BioIceMountainsSpikes: true, mcmap.BioJungleM: false, mcmap.BioJungleEdgeM: false, mcmap.BioBirchForestM: false, mcmap.BioBirchForestHillsM: false, mcmap.BioRoofedForestM: false, mcmap.BioColdTaigaM: true, mcmap.BioMegaSpruceTaiga: false, mcmap.BioMegaSpruceTaigaHills: false, mcmap.BioExtremeHillsPlusM: false, mcmap.BioSavannaM: false, mcmap.BioSavannaPlateauM: false, mcmap.BioMesaBryce: false, mcmap.BioMesaPlateauFM: false, mcmap.BioMesaPlateauM: false, mcmap.BioUncalculated: false, }