Biomes O' Plenty

Biomes O' Plenty

151M Downloads

Crash on a KCauldron 1.7.10 server

quantumsheep opened this issue ยท 4 comments

commented

Issue Description:

Crash in a server (logs say that's when a Roofed Forest is generated.
Disable Roofed Forest overriding can fix the issue ?

Steps to reproduce:

Generate a Roofed Forest

Additional Information:

http://pastebin.com/46vm5AdP


Affected Versions (Exact numbers, do not use "latest"):

  • Biomes O' Plenty: 1.7.10-2.1.0.1889
  • Minecraft: 1.7.10
  • Forge: 10.13.4.1614
  • KCauldron: 1.7.10-1614.201
commented

Similar problems are most likely due to the generation conflict, it happens when collisions of generated objects occur, it can be reproduced even in vanilla if you add many objects of the underground world and its surface.
With mods, it's easier to catch for example objects with more than 2x2 chunks.
That is, I mean that the problem is this vanilla bug, or the drawback of the generation system itself.
PS The errors in the logs themselves can be different. Variant solutions (maybe not 100%): 1) next cycle gen 2) skip gen/suspend exception 3) change the rules of generation 4) etc etc

commented

After searching a little, that the part of the code is bad :
` public void func_76728_a(World world, Random random, int chunkX, int chunkZ)
{
for (int k = 0; k < 4; k++) {
for (int l = 0; l < 4; l++)
{
int i1 = chunkX + k * 4 + 1 + 8 + random.nextInt(3);
int j1 = chunkZ + l * 4 + 1 + 8 + random.nextInt(3);
int k1 = world.func_72976_f(i1, j1);
if (random.nextInt(20) == 0)
{
WorldGenBigMushroom worldgenbigmushroom = new WorldGenBigMushroom();
worldgenbigmushroom.func_76484_a(world, random, i1, k1, j1);
}
else
{
WorldGenAbstractTree worldgenabstracttree = func_150567_a(random);
worldgenabstracttree.func_76487_a(1.0D, 1.0D, 1.0D);
if (worldgenabstracttree.func_76484_a(world, random, i1, k1, j1)) {
worldgenabstracttree.func_150524_b(world, random, i1, k1, j1);
}
}
}
}
k = random.nextInt(5) - 3;

int l = 0;
while (l < k)
{
  int i1 = random.nextInt(3);
  if (i1 == 0) {
    field_150610_ae.func_150548_a(1);
  } else if (i1 == 1) {
    field_150610_ae.func_150548_a(4);
  } else if (i1 == 2) {
    field_150610_ae.func_150548_a(5);
  }
  int j1 = 0;
  while (j1 < 5)
  {
    int k1 = chunkX + random.nextInt(16) + 8;
    int i2 = chunkZ + random.nextInt(16) + 8;
    int l1 = random.nextInt(world.func_72976_f(k1, i2) + 32);
    if (field_150610_ae.func_76484_a(world, random, k1, l1, i2)) {
      break;
    }
    j1++;
  }
  l++;
}
super.func_76728_a(world, random, chunkX, chunkZ);

}`

commented

They said they no longer support 1.7.10, even if 1.7.10 is currently the most user version. :P

commented

That is correct. As for the reasoning of it being most used version, I'll leave it at "that's debatable". Additionally, Cauldron and similar mods have never been supported because of the significant changes they make which break mod functionality. Both of these things were noted in the issue template...

  • This issue occurs on either Minecraft 1.9.4 or 1.10
  • This issue occurs without Optifine, Cauldron or similar mods installed

I respectfully ask that you read over the template more carefully in future.