TheDadamb Posted November 5, 2012 Posted November 5, 2012 Hello world ! I will be brief, just asking one question : is it possible, with Minecraft Forge, to change a specific Biome generation without modifying any BiomeGen<BIOME_NAME>.java ? Because I would not like to modify base classes. That's all, thanks for your time ! Quote
Ebilkill Posted November 6, 2012 Posted November 6, 2012 Using access transformers or set new values to the variables there might work. Quote
TheDadamb Posted November 7, 2012 Author Posted November 7, 2012 I am currently learning about access transformers, that seems to be useful. But what do you exactly mean by 'setting new values to the variables there' ? Quote
Ebilkill Posted November 7, 2012 Posted November 7, 2012 In the BiomeGen class (not sure which one, the one where all the biomes are declared) there are some variables. If you set a new value to any of those in the @Init or @PostInit methods of your mod, the biomes will change accordingly. I have no idea how to explain it in another way. biomeGenSky = new BiomeGenSwamp(); would be an example. However, I haven't looked into any biomes for some time, and I can't tell you for certain this will work. Good luck on finding your solution! EDIT: I have been looking around for you, and here it is: BiomeGenBase.*variable of biome you want to overwrite* = *value with which to overwrite* For instance: BiomeGenBase.biomeGenHell = new BiomeGenPlains(); Quote
Odai Posted November 7, 2012 Posted November 7, 2012 im also having problem with my own biome's since 1.4. (worked all fine with older forge version for 1.3) i cant use this anymore: this.theBiomeDecorator.treesPerChunk = -999; this.theBiomeDecorator.deadBushPerChunk = 0; this.theBiomeDecorator.reedsPerChunk = 0; this.theBiomeDecorator.cactiPerChunk = 0; it say the "field not visible"?! Quote
Ebilkill Posted November 8, 2012 Posted November 8, 2012 All I can tell you, is that you'll need to find another way to reference the variables inside the "theBiomeDecorator". I have no clue how, though. Quote
TheDadamb Posted November 13, 2012 Author Posted November 13, 2012 Hey, thanks for your anwers ! Your method seems very good, I also tried another one : BiomeGenBase.biomeLIst[NUMBER] = new BiomeGenX... it seemed to work, otherwise yours seems better, I think I will use it. I didn't know about @Init, @PostInit..., but it seems useful too. @Odai : use access transformers. these awesome things I learnt about thanks to Ebilkill are really, really, really useful. Quote
HoBoS_TaCo Posted November 14, 2012 Posted November 14, 2012 What about this? GameRegistry.removeBiome(BiomeGenBase.oldBiome); GameRegistry.addBiome(ModClass.newBiome); 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.