[1.12.2] Dropping Conveyor Belt + Item Router = Hyperduplicate crash
wollf92 opened this issue ยท 4 comments
Description of the issue:
Guaranteed duplicatable: Place a Item router on the floor, place an Item router next to it. Place a dropping Conveyor Belt on top of one router, facing the other one.
When an item gets dropped on top of it, the item will correctly fall on top of the other item router.
Now, place a conveyor belt, in any direction, on top of the other item router. Drop the item on one of the conveyors. The game will hyper duplicate the items on top of both item routers making a beautiful 3D model of the otherwise 2D item drop, followed by a crash.
This happened on multiplayer, so I went to single player on a brand new world to test what I did, above steps I did a couple of times, resulting in the same crash every time.
Crashlog:
Versions & Modlist
Continuum 1.0.2 & Continuum 1.1.0 -> Immersive Engineering 0.12 - 82
...and I forgot to put the issue in the commit message. Fixed in this commit: 3ac79d6.
- The duplication was just visual. If the conveyors had stopped swapping the item between them there would have been just one entity.
- The cause of this is kind of interesting: The routers just serve as a symmetric way to instantaneously transfer items between the belts. When an item entity hits one of the conveyors, the item is moved to the other conveyor, where a new item entity is created, and the old entity is marked as dead. This happens in
onEntityCollidedWithBlock
, so inonUpdate
. So far everything is as intended, but the next entity in the list of ticking entities is the new item entity. So itsonUpdate
method will get called immediately, colliding it with the other conveyor belt, moving back to the original belt, etc.
Picture of the setup please.
And can you reproduce this in an instance with just IE?
puur immersive engineering (without other mods) has the issue too.
@malte0811 is picking it up, but images for reference are added