Cyan Posted December 13, 2016 Posted December 13, 2016 Hi, I am attempting to update my dimension from 1.8.9, and have a few questions/concerns on something I am doing wrong involving the BiomeProvider, or perhaps maybe even the WorldProvider itself. I have a multibiome dimension with all custom biomes, and yet everytime I try to set the BiomeProvider for it, I seemingly end up with a world that is only made up of Plains and Ocean biomes. My working understanding of how world generation works has led me to believe that the world is defaulting to these biomes because it cannot get the list of new biomes, whiiiich is where I run into trouble. Also for reference, I have tried plugging in the BiomeProviderSingle class with all of my custom biomes, and it works flawlessly, save for of course only being the single biome, so I know my problem lies somewhere within the realm of my new biomeprovider. My guess is that I am missing something pretty obvious, or there has been some kind of major change to the world generation code other than the WorldChunkManager becoming the BiomeProvider that I have completely overlooked. Below is the relevant code from each of the files. I didn't figure the rest of it needed to be included as it is either vanilla, or does not pertain to the generation of the dimension itself. WorldProviderCustom public class WorldProviderCustom extends WorldProvider{ @Override public IChunkGenerator createChunkGenerator() { return new ChunkProviderCustom(this.worldObj, this.worldObj.getSeed(), true, worldObj.getWorldInfo().getGeneratorOptions()); } @Override protected void createBiomeProvider() { this.biomeProvider = new BiomeProviderCustom(worldObj.getWorldInfo().getSeed(), worldObj.getWorldInfo().getTerrainType(), ""); } //Vanilla things BiomeProviderCustom public class BiomeProviderCustom extends BiomeProvider { public static List<Biome> newBiomes = Lists.newArrayList(CustomBiomes.ruins,CustomBiomes.volcano,CustomBiomes.crag); private GenLayer genBiomes; private GenLayer biomeIndexLayer; private final BiomeCache biomeCache; private final List<Biome> biomesToSpawnIn; protected BiomeProviderCustom() { this.biomeCache = new BiomeCache(this); this.biomesToSpawnIn = Lists.newArrayList(newBiomes); } public BiomeProviderCustom(long seed, WorldType worldTypeIn, String options) { this(); GenLayer[] agenlayer = GenLayerCustom.makeTheWorld(seed, worldTypeIn); //At the moment is just a copy of GenLayerIsland, so no issues there... agenlayer = getModdedBiomeGenerators(worldTypeIn, seed, agenlayer); this.genBiomes = agenlayer[0]; this.biomeIndexLayer = agenlayer[1]; } public BiomeProviderCustom(WorldInfo info) { this(info.getSeed(), info.getTerrainType(), info.getGeneratorOptions()); } //Vanilla things ChunkProviderCustom At this point in time, is just more or less a straight copy from vanilla and shouldn't be causing any issues, but I can provide it should I have missed something that's changed here that might be causing my problem. Disclaimer: It's entirely likely that I have missed something pretty obvious, as my programming skills are certainly not the best, but this is the first issue I have actually had with dimensions since first making one around 1.6 or so, so if I have missed something obvious please try not to beat me over the head too much Thank you in advanced for any insight you all may have in this matter! Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.