AgriCraft

AgriCraft

30M Downloads

Log spam caused by missing constructor for StructureGreenHouse - Possible 1.12.2 fix included

lordofpipes opened this issue ยท 1 comments

commented

This seems to be an issue that was previously fixed, but some refactoring or something brought it back. Every time our server boots, due to some fake users from Immersive Engineering it attempts to generate a village with greenhouse structures. Normally, this just outputs some logs but doesn't crash anything. But the amount of text it shits out has gotten to the point where it triggers something in our server panel software to shut down the server, so we've been unable to start the server.

Thankfully, today I was able to implement our own fix out of desperation: https://github.com/UmmMinecraft/AgriCraft/tree/add-dummy-structure-constructor
I think this fix should be okay, but I'm leaving this as an issue rather than a pull request because I don't know enough about it. It does seem to successfully suppress these errors.

Related issues and searches

  • #62
  • Previously fixed in 0a6e212
  • Our custom fix: UmmMinecraft@bf25b6a
  • java.lang.NoSuchMethodException: com.infinityraider.agricraft.world.StructureGreenHouse.<init>()
  • java.lang.NoSuchMethodException: com.infinityraider.agricraft.world.StructureGreenHouseIrrigated.<init>()
  • java.lang.InstantiationException: com.infinityraider.agricraft.world.StructureGreenHouse
  • Failed Piece with id agricraft:GreenhouseIrrigated
  • Failed Piece with id agricraft:Greenhouse

Mods and versions used

  • Minecraft: 1.12.2 forge 14.23.5.2854
  • AgriCraft: agricraft-2.12.0-1.12.2-b2.jar
  • InfinityLib: infinitylib-1.12.1.jar

Your environment

  • How are you playing?
    • Operating System: CentOS Linux
    • Modpack: Multiblock Madness
  • What kind of server:
    • Singleplayer
    • Multiplayer
  • Game Modes:
    • Survival
    • Creative
  • Save File:
    • Brand new save
    • Only an existing save

Links to crash logs, stack traces, etc

Failed Piece with id agricraft:Greenhouse
java.lang.InstantiationException: com.infinityraider.agricraft.world.StructureGreenHouse
   at java.lang.Class.newInstance(Class.java:427)
   at net.minecraft.world.gen.structure.MapGenStructureIO.func_143032_b(SourceFile:93)
   at net.minecraft.world.gen.structure.StructureStart.func_143020_a(StructureStart.java:105)
   at net.minecraft.world.gen.structure.MapGenStructureIO.func_143035_a(SourceFile:80) 
   at net.minecraft.world.gen.structure.MapGenStructure.func_143027_a(MapGenStructure.java:201)
   at net.minecraft.world.gen.structure.MapGenStructure.func_180701_a(MapGenStructure.java:30)
   at net.minecraft.world.gen.MapGenBase.func_186125_a(SourceFile:34)
   at net.minecraft.world.gen.ChunkGeneratorOverworld.func_180514_a(ChunkGeneratorOverworld.java:604)
   at net.minecraftforge.common.chunkio.ChunkIOProvider.syncCallback(ChunkIOProvider.java:106)
   at net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:94)  
   at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:118)
   at net.minecraft.world.gen.ChunkProviderServer.func_186028_c(ChunkProviderServer.java:89)
   at net.minecraft.world.gen.ChunkProviderServer.func_186025_d(ChunkProviderServer.java:135)
   at net.minecraft.world.World.func_72964_e(World.java:310)
   at net.minecraft.world.World.func_175726_f(World.java:305)
   at net.minecraft.world.World.func_175672_r(World.java:1622)
   at net.minecraft.world.WorldProvider.getRandomizedSpawnPoint(WorldProvider.java:350)
   at net.minecraft.entity.player.EntityPlayerMP.<init>(EntityPlayerMP.java:161)
   at net.minecraftforge.common.util.FakePlayer.<init>(FakePlayer.java:45)
   at net.minecraftforge.common.util.FakePlayerFactory.get(FakePlayerFactory.java:61)
   at blusunrize.immersiveengineering.common.util.FakePlayerUtil.onLoad(FakePlayerUtil.java:61)
   at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_878_FakePlayerUtil_onLoad_Load.invoke(.dynamic)
   at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) 
   at com.github.terminatornl.laggoggles.tickcentral.EventBusTransformer.redirectEvent(EventBusTransformer.java:67)
   at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
   at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:309)
   at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:270)
   at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486)
   at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoSuchMethodException: com.infinityraider.agricraft.world.StructureGreenHouse.<init>()
        at java.lang.Class.getConstructor0(Class.java:3082)
        at java.lang.Class.newInstance(Class.java:412)
        ... 28 more
Skipping Piece with id agricraft:Greenhouse
Failed Piece with id agricraft:GreenhouseIrrigated

commented

I guess structures need an argument-less constructor.
Weird but ok.