Have you tried setting "Is Sky Colored" to true? It disables the default MC sky color modifications. That may fix the issue.... Honestly, I'm too busy playing Fallout 4 to test it today.
The sky color should be red and the cloud color should be black. The problem is, the sky color is the normal blue, the clouds are light grey (so that might have worked) and the sun is not rendered at all. Where is my error?
The sky color is an issue on my end, will be fixed next release. I believe the clouds simply appear grey due to their translucency. The lack of sun seems to be just that a lack of a certain level of color is causing it to not be visible at all. I'll have to look into a way to deal with that.
The sky color is an issue on my end, will be fixed next release. I believe the clouds simply appear grey due to their translucency. The lack of sun seems to be just that a lack of a certain level of color is causing it to not be visible at all. I'll have to look into a way to deal with that.
What are the max values for Sun Colors? 1.0 or 255.0? It is a bit confusing to me that you use ints for colors now but still have a float array for the sun color.
What are the max values for Sun Colors? 1.0 or 255.0? It is a bit confusing to me that you use ints for colors now but still have a float array for the sun color.
Sun colors are 0 to 1. The reason there are 3 or 4 different ways colors are handled by different options, is that those are the way they are internally handled by MC and I have yet to decide as to which option is best to have you guys use for everything.
with any config for DimensionalControl, even a blank one (default)
I should also mention this crashes on world load or world creation (game loads to splash screen ok)
re-pro'd using forge 1448 or 1492
The game just jumps back to the main menu without any further crashes or error messages so no log I can give you, sorry! I can just go back to Single Player and load the world.
But I found another problem with Forestry (forestry_1.7.10-4.1.1.46.jar)
[20:45:04] [Server thread/ERROR] [FML]: Exception caught during firing event net.minecraftforge.event.terraingen.PopulateChunkEvent$Populate@7e4aea99:
java.lang.ArrayIndexOutOfBoundsException: 9
at com.bloodnbonesgaming.dimensionalcontrol.events.DCEventHandler.onChunkPopulate(DCEventHandler.java:87) ~[DCEventHandler.class:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler_111_DCEventHandler_onChunkPopulate_Populate.invoke(.dynamic) ~[?:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) [EventBus.class:?]
at net.minecraftforge.event.terraingen.TerrainGen.populate(TerrainGen.java:36) [TerrainGen.class:?]
at forestry.apiculture.worldgen.HiveDecorator.decorateHives(HiveDecorator.java:38) [HiveDecorator.class:?]
at forestry.plugins.PluginApiculture.populateChunk(PluginApiculture.java:1074) [PluginApiculture.class:?]
at forestry.plugins.PluginManager.populateChunk(PluginManager.java:326) [PluginManager.class:?]
at forestry.core.worldgen.WorldGenerator.populateChunk(WorldGenerator.java:46) [WorldGenerator.class:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler_427_WorldGenerator_populateChunk_Post.invoke(.dynamic) [?:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) [ASMEventHandler.class:?]
at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) [EventBus.class:?]
at net.minecraft.world.gen.ChunkProviderGenerate.func_73153_a(ChunkProviderGenerate.java:448) [aqz.class:?]
at net.minecraft.world.gen.ChunkProviderServer.func_73153_a(ChunkProviderServer.java:279) [ms.class:?]
at fastcraft.a.d.a(F:84) [fastcraft-1.21.jar:?]
at fastcraft.Hooks.r(F:137) [fastcraft-1.21.jar:?]
at net.minecraft.world.chunk.Chunk.func_76624_a(Chunk.java:1055) [apx.class:?]
at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:190) [ms.class:?]
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:131) [ms.class:?]
at net.minecraft.world.gen.ChunkProviderServer.func_73158_c(ChunkProviderServer.java:101) [ms.class:?]
at net.minecraft.server.management.PlayerManager$PlayerInstance.<init>(PlayerManager.java:508) [mr.class:?]
at net.minecraft.server.management.PlayerManager.getOrCreateChunkWatcher(PlayerManager.java:203) [mq.class:?]
at net.minecraft.server.management.PlayerManager.func_72690_a(PlayerManager.java:193) [mq.class:?]
at net.minecraft.server.management.PlayerManager.func_72683_a(PlayerManager.java:240) [mq.class:?]
at net.minecraft.server.management.ServerConfigurationManager.func_72375_a(ServerConfigurationManager.java:240) [oi.class:?]
at net.minecraft.server.management.ServerConfigurationManager.func_72377_c(ServerConfigurationManager.java:302) [oi.class:?]
at net.minecraft.server.management.ServerConfigurationManager.initializeConnectionToPlayer(ServerConfigurationManager.java:161) [oi.class:?]
at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:190) [NetworkDispatcher.class:?]
at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeHandshake(NetworkDispatcher.java:463) [NetworkDispatcher.class:?]
at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:17) [HandshakeCompletionHandler.class:?]
at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:11) [HandshakeCompletionHandler.class:?]
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) [SimpleChannelInboundHandler.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [MessageToMessageDecoder.class:?]
at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) [MessageToMessageCodec.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?]
at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?]
at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:77) [FMLProxyPacket.class:?]
at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212) [ej.class:?]
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165) [nc.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:659) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:186) [bsx.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [?:?]
[20:45:04] [Server thread/ERROR] [FML]: Index: 1 Listeners:
[20:45:04] [Server thread/ERROR] [FML]: 0: NORMAL
[20:45:04] [Server thread/ERROR] [FML]: 1: ASM: com.bloodnbonesgaming.dimensionalcontrol.events.DCEventHandler@1ea1954c onChunkPopulate(Lnet/minecraftforge/event/terraingen/PopulateChunkEvent$Populate;)V
[20:45:04] [Server thread/ERROR] [FML]: Exception caught during firing event net.minecraftforge.event.terraingen.PopulateChunkEvent$Post@5390f5de:
java.lang.ArrayIndexOutOfBoundsException: 9
at com.bloodnbonesgaming.dimensionalcontrol.events.DCEventHandler.onChunkPopulate(DCEventHandler.java:87) ~[DCEventHandler.class:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler_111_DCEventHandler_onChunkPopulate_Populate.invoke(.dynamic) ~[?:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) [EventBus.class:?]
at net.minecraftforge.event.terraingen.TerrainGen.populate(TerrainGen.java:36) ~[TerrainGen.class:?]
at forestry.apiculture.worldgen.HiveDecorator.decorateHives(HiveDecorator.java:38) ~[HiveDecorator.class:?]
at forestry.plugins.PluginApiculture.populateChunk(PluginApiculture.java:1074) ~[PluginApiculture.class:?]
at forestry.plugins.PluginManager.populateChunk(PluginManager.java:326) ~[PluginManager.class:?]
at forestry.core.worldgen.WorldGenerator.populateChunk(WorldGenerator.java:46) ~[WorldGenerator.class:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler_427_WorldGenerator_populateChunk_Post.invoke(.dynamic) ~[?:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) [EventBus.class:?]
at net.minecraft.world.gen.ChunkProviderGenerate.func_73153_a(ChunkProviderGenerate.java:448) [aqz.class:?]
at net.minecraft.world.gen.ChunkProviderServer.func_73153_a(ChunkProviderServer.java:279) [ms.class:?]
at fastcraft.a.d.a(F:84) [fastcraft-1.21.jar:?]
at fastcraft.Hooks.r(F:137) [fastcraft-1.21.jar:?]
at net.minecraft.world.chunk.Chunk.func_76624_a(Chunk.java:1055) [apx.class:?]
at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:190) [ms.class:?]
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:131) [ms.class:?]
at net.minecraft.world.gen.ChunkProviderServer.func_73158_c(ChunkProviderServer.java:101) [ms.class:?]
at net.minecraft.server.management.PlayerManager$PlayerInstance.<init>(PlayerManager.java:508) [mr.class:?]
at net.minecraft.server.management.PlayerManager.getOrCreateChunkWatcher(PlayerManager.java:203) [mq.class:?]
at net.minecraft.server.management.PlayerManager.func_72690_a(PlayerManager.java:193) [mq.class:?]
at net.minecraft.server.management.PlayerManager.func_72683_a(PlayerManager.java:240) [mq.class:?]
at net.minecraft.server.management.ServerConfigurationManager.func_72375_a(ServerConfigurationManager.java:240) [oi.class:?]
at net.minecraft.server.management.ServerConfigurationManager.func_72377_c(ServerConfigurationManager.java:302) [oi.class:?]
at net.minecraft.server.management.ServerConfigurationManager.initializeConnectionToPlayer(ServerConfigurationManager.java:161) [oi.class:?]
at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:190) [NetworkDispatcher.class:?]
at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeHandshake(NetworkDispatcher.java:463) [NetworkDispatcher.class:?]
at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:17) [HandshakeCompletionHandler.class:?]
at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:11) [HandshakeCompletionHandler.class:?]
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) [SimpleChannelInboundHandler.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [MessageToMessageDecoder.class:?]
at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) [MessageToMessageCodec.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?]
at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?]
at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:77) [FMLProxyPacket.class:?]
at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212) [ej.class:?]
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165) [nc.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:659) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:186) [bsx.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [?:?]
[20:45:04] [Server thread/ERROR] [FML]: Index: 3 Listeners:
[20:45:04] [Server thread/ERROR] [FML]: 0: NORMAL
[20:45:04] [Server thread/ERROR] [FML]: 1: ASM: com.bloodnbonesgaming.dimensionalcontrol.events.DCEventHandler@1ea1954c onChunkPopulated(Lnet/minecraftforge/event/terraingen/PopulateChunkEvent$Post;)V
[20:45:04] [Server thread/ERROR] [FML]: 2: ASM: powercrystals.netherores.net.ClientProxy@9733d72 evt(Lnet/minecraftforge/event/terraingen/PopulateChunkEvent$Post;)V
[20:45:04] [Server thread/ERROR] [FML]: 3: ASM: forestry.core.worldgen.WorldGenerator@392b9d43 populateChunk(Lnet/minecraftforge/event/terraingen/PopulateChunkEvent$Post;)V
[20:45:04] [Server thread/ERROR] [FML]: HandshakeCompletionHandler exception
java.lang.ArrayIndexOutOfBoundsException: 9
at com.bloodnbonesgaming.dimensionalcontrol.events.DCEventHandler.onChunkPopulate(DCEventHandler.java:87) ~[DCEventHandler.class:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler_111_DCEventHandler_onChunkPopulate_Populate.invoke(.dynamic) ~[?:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) ~[EventBus.class:?]
at net.minecraftforge.event.terraingen.TerrainGen.populate(TerrainGen.java:36) ~[TerrainGen.class:?]
at forestry.apiculture.worldgen.HiveDecorator.decorateHives(HiveDecorator.java:38) ~[HiveDecorator.class:?]
at forestry.plugins.PluginApiculture.populateChunk(PluginApiculture.java:1074) ~[PluginApiculture.class:?]
at forestry.plugins.PluginManager.populateChunk(PluginManager.java:326) ~[PluginManager.class:?]
at forestry.core.worldgen.WorldGenerator.populateChunk(WorldGenerator.java:46) ~[WorldGenerator.class:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler_427_WorldGenerator_populateChunk_Post.invoke(.dynamic) ~[?:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) ~[EventBus.class:?]
at net.minecraft.world.gen.ChunkProviderGenerate.func_73153_a(ChunkProviderGenerate.java:448) ~[aqz.class:?]
at net.minecraft.world.gen.ChunkProviderServer.func_73153_a(ChunkProviderServer.java:279) ~[ms.class:?]
at fastcraft.a.d.a(F:84) ~[fastcraft-1.21.jar:?]
at fastcraft.Hooks.r(F:137) ~[fastcraft-1.21.jar:?]
at net.minecraft.world.chunk.Chunk.func_76624_a(Chunk.java:1055) ~[apx.class:?]
at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:190) ~[ms.class:?]
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:131) ~[ms.class:?]
at net.minecraft.world.gen.ChunkProviderServer.func_73158_c(ChunkProviderServer.java:101) ~[ms.class:?]
at net.minecraft.server.management.PlayerManager$PlayerInstance.<init>(PlayerManager.java:508) ~[mr.class:?]
at net.minecraft.server.management.PlayerManager.getOrCreateChunkWatcher(PlayerManager.java:203) ~[mq.class:?]
at net.minecraft.server.management.PlayerManager.func_72690_a(PlayerManager.java:193) ~[mq.class:?]
at net.minecraft.server.management.PlayerManager.func_72683_a(PlayerManager.java:240) ~[mq.class:?]
at net.minecraft.server.management.ServerConfigurationManager.func_72375_a(ServerConfigurationManager.java:240) ~[oi.class:?]
at net.minecraft.server.management.ServerConfigurationManager.func_72377_c(ServerConfigurationManager.java:302) ~[oi.class:?]
at net.minecraft.server.management.ServerConfigurationManager.initializeConnectionToPlayer(ServerConfigurationManager.java:161) ~[oi.class:?]
at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:190) ~[NetworkDispatcher.class:?]
at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeHandshake(NetworkDispatcher.java:463) ~[NetworkDispatcher.class:?]
at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:17) ~[HandshakeCompletionHandler.class:?]
at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:11) ~[HandshakeCompletionHandler.class:?]
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [MessageToMessageDecoder.class:?]
at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) [MessageToMessageCodec.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?]
at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?]
at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:77) [FMLProxyPacket.class:?]
at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212) [ej.class:?]
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165) [nc.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:659) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:186) [bsx.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [?:?]
[20:45:04] [Server thread/ERROR] [FML]: There was a critical exception handling a packet on channel FML
java.lang.ArrayIndexOutOfBoundsException: 9
at com.bloodnbonesgaming.dimensionalcontrol.events.DCEventHandler.onChunkPopulate(DCEventHandler.java:87) ~[DCEventHandler.class:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler_111_DCEventHandler_onChunkPopulate_Populate.invoke(.dynamic) ~[?:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) ~[EventBus.class:?]
at net.minecraftforge.event.terraingen.TerrainGen.populate(TerrainGen.java:36) ~[TerrainGen.class:?]
at forestry.apiculture.worldgen.HiveDecorator.decorateHives(HiveDecorator.java:38) ~[HiveDecorator.class:?]
at forestry.plugins.PluginApiculture.populateChunk(PluginApiculture.java:1074) ~[PluginApiculture.class:?]
at forestry.plugins.PluginManager.populateChunk(PluginManager.java:326) ~[PluginManager.class:?]
at forestry.core.worldgen.WorldGenerator.populateChunk(WorldGenerator.java:46) ~[WorldGenerator.class:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler_427_WorldGenerator_populateChunk_Post.invoke(.dynamic) ~[?:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) ~[EventBus.class:?]
at net.minecraft.world.gen.ChunkProviderGenerate.func_73153_a(ChunkProviderGenerate.java:448) ~[aqz.class:?]
at net.minecraft.world.gen.ChunkProviderServer.func_73153_a(ChunkProviderServer.java:279) ~[ms.class:?]
at fastcraft.a.d.a(F:84) ~[fastcraft-1.21.jar:?]
at fastcraft.Hooks.r(F:137) ~[fastcraft-1.21.jar:?]
at net.minecraft.world.chunk.Chunk.func_76624_a(Chunk.java:1055) ~[apx.class:?]
at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:190) ~[ms.class:?]
at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:131) ~[ms.class:?]
at net.minecraft.world.gen.ChunkProviderServer.func_73158_c(ChunkProviderServer.java:101) ~[ms.class:?]
at net.minecraft.server.management.PlayerManager$PlayerInstance.<init>(PlayerManager.java:508) ~[mr.class:?]
at net.minecraft.server.management.PlayerManager.getOrCreateChunkWatcher(PlayerManager.java:203) ~[mq.class:?]
at net.minecraft.server.management.PlayerManager.func_72690_a(PlayerManager.java:193) ~[mq.class:?]
at net.minecraft.server.management.PlayerManager.func_72683_a(PlayerManager.java:240) ~[mq.class:?]
at net.minecraft.server.management.ServerConfigurationManager.func_72375_a(ServerConfigurationManager.java:240) ~[oi.class:?]
at net.minecraft.server.management.ServerConfigurationManager.func_72377_c(ServerConfigurationManager.java:302) ~[oi.class:?]
at net.minecraft.server.management.ServerConfigurationManager.initializeConnectionToPlayer(ServerConfigurationManager.java:161) ~[oi.class:?]
at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:190) ~[NetworkDispatcher.class:?]
at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeHandshake(NetworkDispatcher.java:463) ~[NetworkDispatcher.class:?]
at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:17) ~[HandshakeCompletionHandler.class:?]
at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:11) ~[HandshakeCompletionHandler.class:?]
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[MessageToMessageDecoder.class:?]
at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?]
at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?]
at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:77) [FMLProxyPacket.class:?]
at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212) [ej.class:?]
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165) [nc.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:659) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:186) [bsx.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [?:?]
[20:45:04] [Server thread/ERROR]: Encountered an unexpected exception
net.minecraft.util.ReportedException: Ticking memory connection
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:181) ~[nc.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:659) ~[MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) ~[MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:186) ~[bsx.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [?:?]
Caused by: java.lang.NullPointerException
at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:101) ~[FMLProxyPacket.class:?]
at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212) ~[ej.class:?]
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165) ~[nc.class:?]
... 5 more
[20:45:05] [Server thread/ERROR]: This crash report has been saved to: /home/oliver/ownCloud/MultiMC/instances/Dark Age 2/minecraft/crash-reports/crash-2015-11-11_20.45.04-server.txt
[20:45:05] [Server thread/INFO]: Stopping server
[20:45:05] [Server thread/INFO]: Saving players
[20:45:05] [Server thread/INFO]: Saving worlds
[20:45:05] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
[20:45:05] [Netty Client IO #0/INFO] [EnderCore]: Reset configs to client values for com.enderio.core.common.config.ConfigHandler
[20:45:06] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:func_71377_b:349]: ---- Minecraft Crash Report ----
// There are four lights!
Time: 11/11/15 8:45 PM
Description: Ticking memory connection
java.lang.NullPointerException: Ticking memory connection
at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:101)
at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212)
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:659)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547)
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:186)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Stacktrace:
at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:101)
at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212)
-- Ticking connection --
Details:
Connection: net.minecraft.network.NetworkManager@51fdecae
Stacktrace:
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:659)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547)
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:186)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)
When I disable Forestry, the dimension is created. I changed nothing in the Forestry config and the crash appears as soon as I use "SURFACE" or "HELL" as "World Provider". If I use "botania-skyblock" (it works now, THANK YOU!) as world type the world is loaded … I guess because there are no chunks to populate.
The sky color should be red and the cloud color should be black. The problem is, the sky color is the normal blue, the clouds are light grey (so that might have worked) and the sun is not rendered at all. Where is my error?
The Meaning of Life, the Universe, and Everything.
Join Date:
10/27/2012
Posts:
383
Member Details
For some reason, if I have BNBGamingLib 2.3.1 and Dimensional Control 1.3.0 or 1.2.0 my memory usage goes through the roof until it crashes in my dedicated server.
I've been using BNBGamingLib-2.2.0.jar and DimensionalControl-0.14.0.jar without issues. Something in between the updates has a huge memory leak.
For some reason, if I have BNBGamingLib 2.3.1 and Dimensional Control 1.3.0 or 1.2.0 my memory usage goes through the roof until it crashes in my dedicated server.
I've been using BNBGamingLib-2.2.0.jar and DimensionalControl-0.14.0.jar without issues. Something in between the updates has a huge memory leak.
[02:58:17] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
[02:58:17] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
[02:58:17] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
[02:58:17] [main/INFO] [FML]: Forge Mod Loader version 7.99.16.1448 for Minecraft 1.7.10 loading
[02:58:17] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_25, running on Windows 10:amd64:10.0, installed at C:\Program Files (x86)\Minecraft\runtime\jre-x64\1.8.0_25
[02:58:17] [main/WARN] [FML]: The coremod fastcraft.LoadingPlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft
[02:58:17] [main/WARN] [FML]: The coremod ivorius.ivtoolkit.IvToolkitLoadingPlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft
[02:58:17] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[02:58:17] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
[02:58:17] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[02:58:17] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[02:58:17] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[02:58:19] [main/INFO] [FML]: Found valid fingerprint for Minecraft Forge. Certificate fingerprint e3c3d50c7c986df74c645c0ac54639741c90a557
[02:58:19] [main/INFO] [FML]: Found valid fingerprint for Minecraft. Certificate fingerprint cd99959656f753dc28d863b46769f7f8fbaefcfc
[02:58:19] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[02:58:19] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[02:58:19] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[02:58:19] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker
[02:58:21] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[02:58:21] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[02:58:21] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker
[02:58:21] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker
[02:58:21] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
[02:58:25] [main/INFO]: Setting user: zarzuf
[02:58:37] [main/INFO] [BNBGamingLibCore]: Transforming class: net.minecraft.item.ItemStack
[02:58:40] [main/INFO] [STDOUT]: [net.minecraft.client.main.Main:main:144]: Completely ignored arguments: [--nativeLauncherVersion, 286]
[02:58:40] [Client thread/INFO]: LWJGL Version: 2.9.1
[02:58:42] [Client thread/INFO] [BNBGamingLibCore]: Found 1 fields to add to net/minecraft/world/biome/WorldChunkManager
[02:58:43] [Client thread/INFO] [STDOUT]: [cpw.mods.fml.client.SplashProgress:start:188]: ---- Minecraft Crash Report ----
// There are four lights!
Time: 26/11/15 2.58
Description: Loading screen debug info
This is just a prompt for computer specs to be printed. THIS IS NOT A ERROR
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
Anyway I noticed that if I use the example config found here and change the world provider and chunk provider it works perfectly.
I guess I just omitted some required line in the config I wrote. Sorry
Sorry, I should've seen this immediately.... The Json in your config is malformed. On the third line you have:
"Chunk Provider": "HELL_BOP",
The comma at the end there is breaking it.
Crash is an out of memory error. Minecraft usually hovers between 500mb to 700mb. When I update to BNBGamingLib 2.3.1 and Dimensional Control 1.3.0 my memory goes up to 4GB before crashing. World doesn't even load. Server hangs any time.
Crash is an out of memory error. Minecraft usually hovers between 500mb to 700mb. When I update to BNBGamingLib 2.3.1 and Dimensional Control 1.3.0 my memory goes up to 4GB before crashing. World doesn't even load. Server hangs any time.
You appear to be using the older version of configs. They were completely changed in 1.0.0. It is somewhat possible that this may be the problem, but I cannot be sure without the crash log I requested.
Hey, I'm working on an update to my mod (which allows customizing the biome layout using image templates), and I'd like to ensure that it remains compatible with Dimensional Control. So thus far I've been using the biome GenLayers to do my biome assigning, but those only work if the used WorldChunkManager fires the InitBiomeGen event, and also there is no way to know for which dimension the event fires. So for the next version I'm changing the mod to use my own WorldChunkManager (wrapper), which does the biome replacement, and that also allows having separate templates for each dimension, and selecting which dimensions use the templates at all.
So I'd like to know how you are actually doing your WorldChunkManager and ChunkProvider replacements? In my development code I'm using the WorldEvent.Load event to change the event.world.provider.worldChunkMgr reference for my wrapper. So to keep compatibility with Dimensional Control, I would have to do that wrapping after you have done your replacement, assuming you are also replacing the WorldChunkManager reference in the WorldProvider. (That way I'm doing the biome replacement where applicable, and redirecting other calls and getting the biomes in locations that are not based on templates from the wrapped WorldChunkManager instance that I'm holding.)
Or if I'm going about this all wrong, then feel free to point that out too...
Hey, I'm working on an update to my mod (which allows customizing the biome layout using image templates), and I'd like to ensure that it remains compatible with Dimensional Control. So thus far I've been using the biome GenLayers to do my biome assigning, but those only work if the used WorldChunkManager fires the InitBiomeGen event, and also there is no way to know for which dimension the event fires. So for the next version I'm changing the mod to use my own WorldChunkManager (wrapper), which does the biome replacement, and that also allows having separate templates for each dimension, and selecting which dimensions use the templates at all.
So I'd like to know how you are actually doing your WorldChunkManager and ChunkProvider replacements? In my development code I'm using the WorldEvent.Load event to change the event.world.provider.worldChunkMgr reference for my wrapper. So to keep compatibility with Dimensional Control, I would have to do that wrapping after you have done your replacement, assuming you are also replacing the WorldChunkManager reference in the WorldProvider. (That way I'm doing the biome replacement where applicable, and redirecting other calls and getting the biomes in locations that are not based on templates from the wrapped WorldChunkManager instance that I'm holding.)
Or if I'm going about this all wrong, then feel free to point that out too...
Firstly as to how I'm replacing things.... DC makes heavy use of ASM to create approximately 3 dozen custom events in various parts of vanilla (and modded) code.
For WorldChunkManager replacement, the particular custom event I use is fired at the end of WorldProvider.registerWorld(World). This means it is replaced almost immediately after being set, so no chance of any incompatibility there.
For ChunkProvider replacement, the particular custom event is fired at the start of WorldProvider.createChunkGenerator(). If set to be replaced, my code will initialize the correct one and return it, without ever running the default code of that method. If not set to be replaced, or the ChunkProvider cannot be initialized on my end, the default code runs. So here, it is replaced without ever having being created, so again, no chance of incompatibility.
As for if you are going about things all wrong, I believe the answer is yes. Wrapping the WorldChunkManager can cause issues, particularly if any mod ever checks if a certain WorldChunkManager is being used, as if someone does something like "if (provider.worldChunkMgr instanceof WorldChunkManagerHell)" it will always be false regardless of what the WorldChunkManager you are actually wrapping is, due to it checking the wrapper only.
Well, I don't think there is any other way for me to do the biome replacement in an arbitrary dimension without using my own WorldChunkManager though, is there? (without using something like ASM, which I won't be using) Do you know of any mod that would be checking instanceof of the used WorldChunkManager, or are you doing that also? And what might that be used for? It mainly just deals with biomes anyway... even vanilla uses WorldChunkManagerHell for flat worlds if memory serves. I know vanilla checks for the WorldProvider in a few places basically to check for in which dimension something happens...
Well, I don't think there is any other way for me to do the biome replacement in an arbitrary dimension without using my own WorldChunkManager though, is there? (without using something like ASM, which I won't be using) Do you know of any mod that would be checking instanceof of the used WorldChunkManager, or are you doing that also? And what might that be used for? It mainly just deals with biomes anyway... even vanilla uses WorldChunkManagerHell for flat worlds if memory serves. I know vanilla checks for the WorldProvider in a few places basically to check for in which dimension something happens...
I don't know of any particular mods which ever do actually check the used WorldChunkManager, it's really just a general incompatibility possibility when wrapping things. Overall I don't think wrapping in this case is particularly likely to cause issues, it's just something to consider. A small amount of googling resulted in finding this time when it's checked, but it is just debug menu info.
In terms of alternatives to wrapping it, I haven't been able to come up with any which don't involve ASM (which I know for most modders is generally not something they are willing/capable of doing) or dependencies (which almost no one like using). While imperfect, wrapping may be the best choice for you. Just be sure not to re-wrap your wrapper (I did that once :P).
I have a problem with the config, can't seem to block certain mobs
{
"Print All Registered Entities": false,
"Monster Max": 50,
"Creature Max": 10,
"Ambient Max": 15,
"Water Creature Max": 5,
"Remove All Mobs From All Biomes": false,
"Remove All Mobs From Biomes": [],
"Remove Mobs From All Biomes": [],
"Spawns": [],
"Blacklist All Entities": true,
"Blacklist All Types": false,
"Dimension Blacklist": {},
"All Dimension Blacklist": [
{
"Entities": [
"Wolf",
"TFWinterWolf",
"TFHostileWolf",
"TFMistWolf"
]
}
],
"Dimension Whitelist": {}
}
You appear to be using incorrect entity names. If you set "Print All Registered Entities" to true, it will print all registered entities to the game log, so you can grab the correct names of the ones you want to modify.
I just ran a quick test with the newest version of TF, and the names of the 3 twilight forest mobs you seem to want to disable are actually "TwilightForest.WinterWolf", "TwilightForest.Hostile Wolf" and "TwilightForest.Mist Wolf".
How do I use the advanced spawning mod? Let's say I'm using tropicraft and I want the seaurchin to spawn in the regular world. How would I go about doing that? And how can I change the frequency and maximum and minimum of the spawning of a certain mob?
Ehm, look at my config again.
Oops. It would appear the nuclear radiation has blinded me.
The sky color is an issue on my end, will be fixed next release. I believe the clouds simply appear grey due to their translucency. The lack of sun seems to be just that a lack of a certain level of color is causing it to not be visible at all. I'll have to look into a way to deal with that.
What are the max values for Sun Colors? 1.0 or 255.0? It is a bit confusing to me that you use ints for colors now but still have a float array for the sun color.
As of 1.7, numeric ids are no longer used. They have been replaced with block names.
Sun colors are 0 to 1. The reason there are 3 or 4 different ways colors are handled by different options, is that those are the way they are internally handled by MC and I have yet to decide as to which option is best to have you guys use for everything.
Released DimensionalControl 1.3.0. All the bug fixes! (If I didn't fix an issue, let me know, I probably forgot it.)
Fixed crashes with Highlands.
Fixed crash with Forestry.
Fixed sky color.
For some reason, if I have BNBGamingLib 2.3.1 and Dimensional Control 1.3.0 or 1.2.0 my memory usage goes through the roof until it crashes in my dedicated server.
I've been using BNBGamingLib-2.2.0.jar and DimensionalControl-0.14.0.jar without issues. Something in between the updates has a huge memory leak.
Config and crash log, please.
What version of DC are you using? Do you have Biomes o Plenty installed?
Could I please get your game log?
Sorry, I should've seen this immediately.... The Json in your config is malformed. On the third line you have:
"Chunk Provider": "HELL_BOP",
The comma at the end there is breaking it.
BNBGamingLibCore.cfg
DimensionalControl.cfg
Crash is an out of memory error. Minecraft usually hovers between 500mb to 700mb. When I update to BNBGamingLib 2.3.1 and Dimensional Control 1.3.0 my memory goes up to 4GB before crashing. World doesn't even load. Server hangs any time.
This is my modlist:
You appear to be using the older version of configs. They were completely changed in 1.0.0. It is somewhat possible that this may be the problem, but I cannot be sure without the crash log I requested.
Hey, I'm working on an update to my mod (which allows customizing the biome layout using image templates), and I'd like to ensure that it remains compatible with Dimensional Control. So thus far I've been using the biome GenLayers to do my biome assigning, but those only work if the used WorldChunkManager fires the InitBiomeGen event, and also there is no way to know for which dimension the event fires. So for the next version I'm changing the mod to use my own WorldChunkManager (wrapper), which does the biome replacement, and that also allows having separate templates for each dimension, and selecting which dimensions use the templates at all.
So I'd like to know how you are actually doing your WorldChunkManager and ChunkProvider replacements? In my development code I'm using the WorldEvent.Load event to change the event.world.provider.worldChunkMgr reference for my wrapper. So to keep compatibility with Dimensional Control, I would have to do that wrapping after you have done your replacement, assuming you are also replacing the WorldChunkManager reference in the WorldProvider. (That way I'm doing the biome replacement where applicable, and redirecting other calls and getting the biomes in locations that are not based on templates from the wrapped WorldChunkManager instance that I'm holding.)
Or if I'm going about this all wrong, then feel free to point that out too...
My mods on CurseForge. My Github page with mods, tools and other stuff.
Firstly as to how I'm replacing things.... DC makes heavy use of ASM to create approximately 3 dozen custom events in various parts of vanilla (and modded) code.
For WorldChunkManager replacement, the particular custom event I use is fired at the end of WorldProvider.registerWorld(World). This means it is replaced almost immediately after being set, so no chance of any incompatibility there.
For ChunkProvider replacement, the particular custom event is fired at the start of WorldProvider.createChunkGenerator(). If set to be replaced, my code will initialize the correct one and return it, without ever running the default code of that method. If not set to be replaced, or the ChunkProvider cannot be initialized on my end, the default code runs. So here, it is replaced without ever having being created, so again, no chance of incompatibility.
As for if you are going about things all wrong, I believe the answer is yes. Wrapping the WorldChunkManager can cause issues, particularly if any mod ever checks if a certain WorldChunkManager is being used, as if someone does something like "if (provider.worldChunkMgr instanceof WorldChunkManagerHell)" it will always be false regardless of what the WorldChunkManager you are actually wrapping is, due to it checking the wrapper only.
Alright thanks for the answers.
Well, I don't think there is any other way for me to do the biome replacement in an arbitrary dimension without using my own WorldChunkManager though, is there? (without using something like ASM, which I won't be using) Do you know of any mod that would be checking instanceof of the used WorldChunkManager, or are you doing that also? And what might that be used for? It mainly just deals with biomes anyway... even vanilla uses WorldChunkManagerHell for flat worlds if memory serves. I know vanilla checks for the WorldProvider in a few places basically to check for in which dimension something happens...
My mods on CurseForge. My Github page with mods, tools and other stuff.
I don't know of any particular mods which ever do actually check the used WorldChunkManager, it's really just a general incompatibility possibility when wrapping things. Overall I don't think wrapping in this case is particularly likely to cause issues, it's just something to consider. A small amount of googling resulted in finding this time when it's checked, but it is just debug menu info.
In terms of alternatives to wrapping it, I haven't been able to come up with any which don't involve ASM (which I know for most modders is generally not something they are willing/capable of doing) or dependencies (which almost no one like using). While imperfect, wrapping may be the best choice for you. Just be sure not to re-wrap your wrapper (I did that once :P).
Alright I'm just going to go ahead with it then, and hope that nothing blows up... And I'll add in a check to prevent the latter, thanks for that tip
My mods on CurseForge. My Github page with mods, tools and other stuff.
You appear to be using incorrect entity names. If you set "Print All Registered Entities" to true, it will print all registered entities to the game log, so you can grab the correct names of the ones you want to modify.
I just ran a quick test with the newest version of TF, and the names of the 3 twilight forest mobs you seem to want to disable are actually "TwilightForest.WinterWolf", "TwilightForest.Hostile Wolf" and "TwilightForest.Mist Wolf".
How do I use the advanced spawning mod? Let's say I'm using tropicraft and I want the seaurchin to spawn in the regular world. How would I go about doing that? And how can I change the frequency and maximum and minimum of the spawning of a certain mob?