Ore Drilling Plant controller being deleted
Correlander opened this issue ยท 1 comments
GregTech CEu Version
v2.5.0
Modpack Used
Nomifactory CEU
Addons Installed
No response
Environment
Forge Server, but I can reproduce in singleplayer.
New Worlds
Yes
Cross-Mod Interaction
Unsure
Expected Behavior
For it to not delete the controller unit.
Actual Behavior
It deletes the controller unit.
Steps to Reproduce
Phantom Breaker + Placer swapping out the controller block of an ore drilling plant deletes it (occasionally). As in, a phantom breaker on pulse mode will break the controller on a redstone timer (2400 ticks but that shouldn't matter). Item conduits then immediately feed it back into an auto placer, on deactivation mode (always on, unless redstone signal, which there is none so just always on). I noticed my controller block disappeared one day, so I spawned a stack of controllers in, put them in the placer, and waited 48 hours. Upon checking again, this is far less than a stack, so it's definitely deleting them on occasion. The area is chunk loaded. If it matters it's on a space station biome.
Additional Information
Could either be issue with GTCEu or AA, not sure. I will report it there next if it's thought this isn't an issue with GTCEu.
I've investigated this issue, and can reliably reproduce it as of dc82278.
The steps to reproduce it are:
- Make a formed Large Miner that can do work (has ores to mine)
- Link a Phantom Breaker from Actually Additions to the Large Miner controller
- As the Large Miner is running, log out of the world
- Log back into the world
- Break the controller via the Phantom Breaker
- Controller is voided
I've also noticed that, after logging back in, getDrops()
isn't called in BlockMachine, resulting the the controller being voided. I believe the issue to be from Actually Additions, but I would need to do more digging to be sure.
EDIT:
Turns out that getMetaTileEntity()
from MetaTileEntityHolder
is returning null, which is why getDrops()
isn't working as intended. I think the issue is actually from gregtech. The tile entity at the position of the controller is replaced by the Phantom Breaker, which is why getMetaTileEntity()
returns null