An underground/surface structure crashes the game if there's nowhere it can spawn ontop/inside of.

Published by mac44444 on
Status
Fixed
Issue description

May have to test that more.

A big example is for when you load in a  Flat world with the "The Void" preset.

 

A structure would  try to load in nothingness, and would cause the game to crash.

this becomes a problem for whenever i try to test out items without anything bothering me.

..Atleast i think thats what the problem is.

Issue comments

How big is the spawning frequency of the said structure and how big it is? Too big structures spawning too often can cause many crashes like this.

Sorry for the late response, The current frequency is 8K and its a relatively small structure.

It causes no problems on regular flat worlds, only for the "The Void" preset.

*And, it causes no crashes when i set the structure to a Air structure.

Time: 8/10/19 10:17 PM
Description: Exception in server tick loop

java.lang.IllegalArgumentException: bound must be positive
    at java.util.Random.nextInt(Random.java:388)
    at net.mcreator.overpower.MCreatorSwordshrine.generateWorld(MCreatorSwordshrine.java:53)
    at net.mcreator.overpower.overpower.lambda$generate$0(overpower.java:1093)
    at java.util.ArrayList.forEach(ArrayList.java:1257)
    at net.mcreator.overpower.overpower.generate(overpower.java:1093)
    at net.minecraftforge.fml.common.registry.GameRegistry.generateWorld(GameRegistry.java:167)
    at net.minecraft.world.chunk.Chunk.populate(Chunk.java:1095)
    at net.minecraft.world.chunk.Chunk.populate(Chunk.java:1074)
    at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:169)
    at net.minecraft.server.MinecraftServer.initialWorldChunkLoad(MinecraftServer.java:383)
    at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:143)
    at net.minecraft.server.integrated.IntegratedServer.init(IntegratedServer.java:160)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:552)
    at java.lang.Thread.run(Thread.java:748)
Here you go!