BuildCraft|Core

BuildCraft|Core

7M Downloads

Stripes pipe's crash

sfchipan opened this issue ยท 6 comments

commented

BuildCraft version: 7.99.17
Forge version: 14.23.4.2749
Link to crash report or log: https://pastebin.com/0BwddJDb
Singleplayer or multiplayer: Singleplayer
Steps to reproduce: Using empty bucket to hold water through Stripes Transport Pipe.

commented

After looking into this a bit more it looks like forge also assumes that the tile is a dispenser - which is a bit of a problem, so I think the fix will be to create a temporary fake dispenser then move everything out of it's inventory afterwards.

commented

All the dirty hacks fall back upon us :/

commented

Probably caused by Dungeon Tactics. But we could change the IBlockState return in our IBlockSource implementation to actually return the pipe instead of the dispenser.

commented

For reference:

return Blocks.DISPENSER.getDefaultState().withProperty(BlockDispenser.FACING, side);

https://minecraft.curseforge.com/projects/dungeon-tactics

commented

I think vanilla dispenser handlers get the side from the block state, which would explain why it wasn't originally returning the pipe state. I'm not sure why this hasn't crashed before in vanilla though, so I'll need to look into what actually uses the getTile() method.

commented

Creator of Dungeon Tactics here.
There was an issue with a recent update to DT, that may have slightly broken the vanilla method to pick up water with dispensers - this was fixed a day or two after this issue was posted.
Just for future reference, I had added dispenser behaviour for empty buckets and forgot to pass on to vanilla behaviour if my function didn't trigger.