use of buildcraft.transport.ItemPipe in project LogisticsPipes by RS485.
the class BuildCraftProxy method handleBCClickOnPipe.
@Override
public IBCClickResult handleBCClickOnPipe(World world, int x, int y, int z, EntityPlayer player, int side, float xOffset, float yOffset, float zOffset, CoreUnroutedPipe pipe) {
boolean result = BuildCraftTransport.genericPipeBlock.onBlockActivated(world, x, y, z, player, side, xOffset, yOffset, zOffset);
//Again because not all changes have been applied before the call inside the BC method is made.
world.notifyBlocksOfNeighborChange(x, y, z, LogisticsPipes.LogisticsPipeBlock);
boolean block = false;
if (!result) {
ItemStack currentItem = player.getCurrentEquippedItem();
if (currentItem != null) {
if (currentItem.getItem() == Items.sign) {
block = true;
} else if (currentItem.getItem() instanceof ItemPipe) {
block = true;
} else if (currentItem.getItem() instanceof ItemGateCopier) {
block = true;
} else if (currentItem.getItem() instanceof ItemMapLocation) {
block = true;
} else if (currentItem.getItem() instanceof ItemRobot) {
result = checkRobot(world, x, y, z, player, currentItem);
}
}
}
final boolean fResult = result;
final boolean fBlock = block;
return new IBCClickResult() {
@Override
public boolean handled() {
return fResult;
}
@Override
public boolean blocked() {
return fBlock;
}
};
}
Aggregations