Sounds more like a coding error rather that anything related to Minecraft itself, I know 99% of the time I get this error I'm usually accidentally modifying some sort of list while iterating through it. If you are using a for(Object o : list), make sure you aren't changing the list inside of that for loop. An example of this would be: for(Object o : list) {list.remove(o); //not allowed}
Hope this helps. Seeing some of your actual code would help a lot.
Rollback Post to RevisionRollBack
Developer of the Ice Cream Sandwich Creeper Mod, the (WIP) Borderlands Weapon Mod, and the "You Will Die" Mod!
Sounds more like a coding error rather that anything related to Minecraft itself, I know 99% of the time I get this error I'm usually accidentally modifying some sort of list while iterating through it. If you are using a for(Object o : list), make sure you aren't changing the list inside of that for loop. An example of this would be: for(Object o : list) {list.remove(o); //not allowed}
Hope this helps. Seeing some of your actual code would help a lot.
It's actually the vanilla code, the structureMap hashmap in MapGenStructure is what's causing the problem.
So you have to be careful you aren't changing structureMap or whichever collection is currently being called through in the while loops.
I honestly haven't done much work with structure generation, so I suggest taking a look at how other vanilla structures do it.
Rollback Post to RevisionRollBack
Developer of the Ice Cream Sandwich Creeper Mod, the (WIP) Borderlands Weapon Mod, and the "You Will Die" Mod!
I've recently run into a very similar problem, which seems much more common on Flat worlds while generating villages. Using the forge village handling hooks, If I attempt to tell it to cancel genration for ANY reason, it gives an exception---even though I'm using the vanilla interfaces for cancelling generation (there is one area to return false to cancel, another to return null to cancel----both result in CME).
Looking over the vanilla code a bit, it appears that MC itself is generating the error----it happens when it is generating a village in one chunk and the generator goes to start working on the _next_ chunk before the first is finished (where the new generator looks up the structure map and starts iterating through it, at the same time the previous chunk is iterating). It looks likely that it is being done in threads.
Sounds like they need a synchronized hashmap for their structure table.
If anyone can manage to track this down, and it is not a vanilla bug, please let me know.
Thanks.
http://pastebin.com/eDEDyaAg
Sounds more like a coding error rather that anything related to Minecraft itself, I know 99% of the time I get this error I'm usually accidentally modifying some sort of list while iterating through it. If you are using a for(Object o : list), make sure you aren't changing the list inside of that for loop. An example of this would be: for(Object o : list) {list.remove(o); //not allowed}
Hope this helps. Seeing some of your actual code would help a lot.
It's actually the vanilla code, the structureMap hashmap in MapGenStructure is what's causing the problem.
Looking through MapGenStructure, quite a few Iterators are used, a couple including structure map such as in
So you have to be careful you aren't changing structureMap or whichever collection is currently being called through in the while loops.
I honestly haven't done much work with structure generation, so I suggest taking a look at how other vanilla structures do it.
Looking over the vanilla code a bit, it appears that MC itself is generating the error----it happens when it is generating a village in one chunk and the generator goes to start working on the _next_ chunk before the first is finished (where the new generator looks up the structure map and starts iterating through it, at the same time the previous chunk is iterating). It looks likely that it is being done in threads.
Sounds like they need a synchronized hashmap for their structure table.
If anyone can manage to track this down, and it is not a vanilla bug, please let me know.