CoreRoutedPipe pipe = (CoreRoutedPipe) ((LogisticsTileGenericPipe)tile).pipe;
if(pipe == null) { return false; }
if(!player.isSneaking()) {
if(pipe.hasPipeSign(dir)) {
pipe.activatePipeSign(dir, player);
return true;
} else if(mode >= 0 && mode < signTypes.size()) {
Class<? extends IPipeSign> signClass = signTypes.get(mode);
try {
IPipeSign sign = signClass.newInstance();