[SUGGESTION] A script command to blacklist certain biomedict types
Sunconure11 opened this issue ยท 14 comments
Basically what it says on the tin. It'd allow for more precise control over tweaks done to the biomedictionary involving generation.
Maybe I'm misunderstanding what you mean, but couldn't you just do
types = forBiomesOfTypes("TYPE")
types.remove()
#etc...
That would remove all biomes with dictionary type "TYPE" from generation.
Basically like the command for preventing stuff from generating or spawning in certain biomes, but, applied to the biomedictionary.
Basically though, look at the current blacklist for generation and spawning in biomes, and apply that instead to the dictionary
types = forBiomesOfTypes("TYPE")
except = forAllBiomesExcept(types)
except.doStuff()
That doesn't do what you want...?
If you wanted to do stuff for biomes 1,53,42,32, and make sure you don't modify any biomes with types "TYPE1" and "TYPE2", you could do
biomes = forBiomes(1, 53, 42, 32)
types = forBiomesOfTypes("TYPE1", "TYPE2")
noTypes = subtractFrom(biomes, types)
noTypes.doStuff()
There's also intersect and union... Pretty much every logical quantifier can be made.
I'll write down what I've come up. I was able to get stuff like Erebus and Twilight Forest mobs spawn in the overworld, there was a syntax error stopping them from spawning.
I think I got it... I think. I probably did something wrong, but, I'll test it.
Edit 1: Trying this script out now: http://pastebin.com/GMdmKbFU
Edit 2: Getting there...
Edit 3: http://pastebin.com/bHjGKyw4
You can't pass dictionary types to forAllBiomesExcept
. I think you want something like this
withBison = forBiomesOfTypes("PLAINS", "SPARSE", "MESA", "DRY", "SAVANNA", "MOUNTAIN", "HILLS", "COLD", "FOREST")
noBison = forBiomesOfTypes("JUNGLE", "WASTELAND", "SPOOKY", "BEACH", "END", "NETHER", "OCEAN", "RIVER", "MUSHROOM", "DEAD")
bison = subtractFrom(withBison, noBison)
bison.addSpawn("totemic_commons.pokefenn.entity.animal.EntityBuffalo", "CREATURE", 15, 1, 4)
I already managed to figure that out.