{"action":"created","issue":{"url":"https://api.github.com/repos/SpongePowered/SpongeAPI/issues/582","labels_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/issues/582/labels{/name}","comments_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/issues/582/comments","events_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/issues/582/events","html_url":"https://github.com/SpongePowered/SpongeAPI/issues/582","id":69508435,"number":582,"title":"Problems with the global biome populators","user":{"login":"Deamon5550","id":1249030,"avatar_url":"https://avatars.githubusercontent.com/u/1249030?v=3","gravatar_id":"","url":"https://api.github.com/users/Deamon5550","html_url":"https://github.com/Deamon5550","followers_url":"https://api.github.com/users/Deamon5550/followers","following_url":"https://api.github.com/users/Deamon5550/following{/other_user}","gists_url":"https://api.github.com/users/Deamon5550/gists{/gist_id}","starred_url":"https://api.github.com/users/Deamon5550/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Deamon5550/subscriptions","organizations_url":"https://api.github.com/users/Deamon5550/orgs","repos_url":"https://api.github.com/users/Deamon5550/repos","events_url":"https://api.github.com/users/Deamon5550/events{/privacy}","received_events_url":"https://api.github.com/users/Deamon5550/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/SpongePowered/SpongeAPI/labels/accepted","name":"accepted","color":"d4c5f9"},{"url":"https://api.github.com/repos/SpongePowered/SpongeAPI/labels/implementation%20pending","name":"implementation pending","color":"D1C48D"}],"state":"open","locked":false,"assignee":{"login":"Deamon5550","id":1249030,"avatar_url":"https://avatars.githubusercontent.com/u/1249030?v=3","gravatar_id":"","url":"https://api.github.com/users/Deamon5550","html_url":"https://github.com/Deamon5550","followers_url":"https://api.github.com/users/Deamon5550/followers","following_url":"https://api.github.com/users/Deamon5550/following{/other_user}","gists_url":"https://api.github.com/users/Deamon5550/gists{/gist_id}","starred_url":"https://api.github.com/users/Deamon5550/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Deamon5550/subscriptions","organizations_url":"https://api.github.com/users/Deamon5550/orgs","repos_url":"https://api.github.com/users/Deamon5550/repos","events_url":"https://api.github.com/users/Deamon5550/events{/privacy}","received_events_url":"https://api.github.com/users/Deamon5550/received_events","type":"User","site_admin":false},"milestone":null,"comments":6,"created_at":"2015-04-20T05:13:46Z","updated_at":"2015-04-27T15:48:53Z","closed_at":null,"body":"So as it stands biomes have a series of populators, and these populators are defined per-biome. The biomes are defined globally which means that if you modify the populators of a particular biome it will have effect across all worlds. Now this isn't necessarily a bad thing however if someone is wanting to make a world generator which uses the default biomes but perhaps slightly modified. For example a skylands generator world which only wants to modify the y-levels that ores appear at would have negative side effects on the generation of the overworld as well.\r\n\r\n**Some potential solutions:**\r\n- Define the populators of biomes in the WorldGenerator rather than the BiomeType. The obvious solution.\r\n- Allow a WorldGenerator to override the populators of specific biomes. A slightly messier solution as the biome's populators would now be defined in two places both of which would need to be checked.\r\n- Allow the registration of new biomes. With this rather than editing the standard biomes the skylands generator would create its own new biomes with the modifications. Allowing the registration of new biomes is not a highly invasive change and is doable without client modifications. However there is an  implementation restriction of 256 biomes (and there are 63 vanilla ones) which should be kept in mind before we start requiring this as a solution to wanting to modify biomes.\r\n\r\nAllowing the registration of new biomes is something we're going to want to allow anyway eventually. However in my opinion we'd be better off going with both the first and the third option in that case."},"comment":{"url":"https://api.github.com/repos/SpongePowered/SpongeAPI/issues/comments/96719312","html_url":"https://github.com/SpongePowered/SpongeAPI/issues/582#issuecomment-96719312","issue_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/issues/582","id":96719312,"user":{"login":"Zidane","id":744482,"avatar_url":"https://avatars.githubusercontent.com/u/744482?v=3","gravatar_id":"","url":"https://api.github.com/users/Zidane","html_url":"https://github.com/Zidane","followers_url":"https://api.github.com/users/Zidane/followers","following_url":"https://api.github.com/users/Zidane/following{/other_user}","gists_url":"https://api.github.com/users/Zidane/gists{/gist_id}","starred_url":"https://api.github.com/users/Zidane/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Zidane/subscriptions","organizations_url":"https://api.github.com/users/Zidane/orgs","repos_url":"https://api.github.com/users/Zidane/repos","events_url":"https://api.github.com/users/Zidane/events{/privacy}","received_events_url":"https://api.github.com/users/Zidane/received_events","type":"User","site_admin":false},"created_at":"2015-04-27T15:48:53Z","updated_at":"2015-04-27T15:48:53Z","body":"@Deamon5550 \r\n\r\nAre biome ids ints? bytes? If ints, we could \"reserve\" a certain amount of ids and pack \"Sponge Biome Ids\" within them."}}