MineColonies

MineColonies

53M Downloads

Racks + Thermal Dynamics issue

eproces opened this issue ยท 2 comments

commented

Minecolonies version

Version: 0.10.1-Release

Expected behavior

  • Be able to safely connect thermal dynamics pipes to racks as with double chests.

Actual behaviour

I put a third input pipe connecting to a double rack. I had two inputs and one output working forever. As soon as I placed a filter on the input pipe it crashed. I initially thought it was a thermal dynamics issue, but it works fine on a double chest. I updated all my mods but it didn't fix it. I looked in com.minecolonies.coremod.tileentities.TileEntityRack and can't figure out what is kicking it into a loop. The error below continues recursing through .SetNeighbor to .GetOtherChest to .getCapability etc.

I'm going to keep trying to figure this out myself, since it's a pretty weird and specific problem, but I thought someone who has been doing this longer might have an insight into what's going on.

`Description: Exception in server tick loop

java.lang.StackOverflowError: Exception in server tick loop
at net.minecraft.block.properties.PropertyEnum.hashCode(SourceFile:65)
at com.google.common.collect.RegularImmutableMap.get(RegularImmutableMap.java:123)
at com.google.common.collect.RegularImmutableMap.get(RegularImmutableMap.java:115)
at net.minecraft.block.state.BlockStateContainer$StateImplementation.func_177229_b(BlockStateContainer.java:205)
at com.minecolonies.coremod.blocks.BlockMinecoloniesRack.func_176201_c(BlockMinecoloniesRack.java:131)
at net.minecraft.tileentity.TileEntity.func_70296_d(TileEntity.java:158)
at com.minecolonies.coremod.tileentities.TileEntityRack.setNeighbor(TileEntityRack.java:544)
at com.minecolonies.coremod.tileentities.TileEntityRack.getOtherChest(TileEntityRack.java:299)
at com.minecolonies.coremod.tileentities.TileEntityRack.getCapability(TileEntityRack.java:510)
at cofh.thermaldynamics.duct.attachments.filter.FilterItem.cacheTile(FilterItem.java:41)
at cofh.thermaldynamics.duct.attachments.ConnectionBase.onNeighborChange(ConnectionBase.java:130)
at cofh.thermaldynamics.duct.tiles.TileGrid.onNeighborTileChange(TileGrid.java:222)
at cofh.core.block.BlockCoreTile.onNeighborChange(BlockCoreTile.java:163)
at net.minecraft.world.World.func_175666_e(World.java:3811)
at net.minecraft.tileentity.TileEntity.func_70296_d(TileEntity.java:163)
at com.minecolonies.coremod.tileentities.TileEntityRack.setNeighbor(TileEntityRack.java:544)`

Steps to reproduce the problem

It might be tough.

  1. I have a double rack with one pipe with a servo out, and three pipes in. The pipe the broke everything was on the same long side as another input pipe,
  2. Good luck.
  3. ... Profit
commented

To clarify, this is the version of MC I was using when the problem started. I have updated to various newer versions, all the way to 0.10.12-ALPHA and the issue persists. It still could be thermal dynamics related, too, but it seems like the issue comes when the rack calls markDirty() it falls into a loop.

commented

Solving it now