Open SkaliberWasTaken opened 3 years ago
384x256 value has to be customizable. The world height has a theoretical 4096 height limit. Not that I would ever go that high but I do plan to use 512.
I completely agree, I honestly think that a new system should be implemented allowing for custom heights, and custom namespace IDs in the .properties file.
And actually, it would be better to have the ability to expand horizontally as well if for example you have a pack that changes more than 256 biomes (not that anyone would.. but a safety net in the end)
please note that with datapacks you can make worlds over 4k blocks tall, so that would mean a 4k tall image????
Yes.
On the topic of custom biomes, given that each biome has a set namespaced ID (unlike the numerical IDs, which are randomised every time you open the game), I suggest maybe adding two lines for each biome in the .properties file to assign a namespaced ID to a column number. It could work something like this:
biome.1=<biome id>
column.1=<column #>
biome.2=<biome id>
column.2=<column #>
Biomes that are not specified would default to the column based on their numerical ID, how it currently works.
This could also allow vanilla biomes to be moved around on the grid, as well as allow multiple biomes to use the same column.
numerical ids are not randomised each time you open the game. here is a list of the mappings
Biome ID
minecraft:the void 0
minecraft:plains 1
minecraft:sunflower_plains 2
minecraft:snowy_plains 3
minecraft:ice_spikes 4
minecraft:desert 5
minecraft:swamp 6
minecraft:forest 7
minecraft:flower_forest 8
minecraft:birch_forest 9
minecraft:dark_forest 10
minecraft:old_growth_birch_forest 11
minecraft:old_growth_pine_taiga 12
minecraft:old_growth_spruce_taiga 13
minecraft:taiga 14
minecraft:snowy_taiga 15
minecraft:savanna 16
minecraft:savanna_plateau 17
minecraft:windswept_hills 18
minecraft:windswept_gravelly_hills 19
minecraft:windswept_forest 20
minecraft:windswept_savanna 21
minecraft:jungle 22
minecraft:sparse_jungle 23
minecraft:bamboo_jungle 24
minecraft:badlands 25
minecraft:eroded_badlands 26
minecraft:wooded_balands 27
minecraft:maedow 28
minecraft:grove 29
minecraft:snowy_slopes 30
minecraft:frozen_peaks 31
minecraft:jagged_peaks 32
minecraft:stoney_peaks 33
minecraft:river 34
minecraft:frozen_river 35
minecraft:beach 36
minecraft:snowy_beach 37
minecraft:stony_shore 38
minecraft:warm_ocean 39
minecraft:lukewarm_ocean 40
minecraft:deep_lukewarm_ocean 41
minecraft:ocean 42
minecraft:deep_ocean 43
minecraft:cold_ocean 44
minecraft:deep_cold_ocean 45
minecraft:frozen_ocean 46
minecraft:deep_frozen_ocean 47
minecraft:mushroom_fields 48
minecraft:dripstone_caves 49
minecraft:lush_caves 50
minecraft:nether_wastes 51
minecraft:warped_forest 52
minecraft:crimson_forest 53
minecraft:soul_sand_valley 54
minecraft:basalt_deltas 55
minecraft:the_end 56
minecraft:end_highlands 57
minecraft:end_midlands 58
minecraft:small_end_island 59
minecraft:end_barrens 60
You should know I am very much aware of the vanilla biome IDs, and if you read the post, it clearly states that this issue only comes into play when datapacks (and mods) add new biomes to the game. They don't use this fixed numerical ID system which optifine is reliant on, but a named system in the format of "datapack:biome_name".
Yep, I was referring strictly to non-vanilla biomes when I said that the numerical IDs are randomised.
Nether and End Inconsistencies OptiFine currently uses set values to control the colour of the fog in the Nether and End, however, the overworld uses a colourmap, which actually includes columns for the biomes from the Nether and End in it in the first place (see below image).
Now that the Nether has multiple distinct biomes (and with the end having had multiple biomes for some time now) it'd make more sense for "fog.x=" to be removed entirely, and for the biomes in the dimensions other than the overworld to also use a fog colourmap. Given the naming convention of fog0.png, these colourmaps would presumably be fog1.png and fog-1.png.
Impossible Datapack Biomes It's also worth noting that the new system introduced in datapacks in 1.16 that allows creators to introduce additional dimensions and biomes completely breaks OptiFine's colourmap system.
Additional biomes introduce a seemingly random biome ID, and therefore a random column within a typical OptiFine grid colourmap. I propose a new system, in which we can specify individual biomes by name using a .properties file, so that we can include datapack (and even modded) biomes within our resource packs. The current system means that it's impossible to predict which column of a grid colourmap a datapack or modded biome will use, as the game assigns them seemingly randomly based on the number of mods or datapacks installed.
The new colourmaps would function much like the current ones, however, instead of the column of the grid representing the biomes numerical ID (from 0 to 255) it would simply be a single pixel wide, with the accompanying .properties file having the name of the datapack, and custom biome ID. An example can be seen below:
1.17 Changes Required On a final note, the changes to world height in 1.17 will mean that colourmaps will have to be 384x256.