Exemplo n.º 1
0
 @Override
 public boolean onBlockActivated(
     EntityPlayer player, RaytraceResult res, List<RaytraceResult> all) {
   if (ToolUtil.isToolEquipped(player)) {
     if (!getBundle().getEntity().getWorldObj().isRemote) {
       if (res != null && res.component != null) {
         ForgeDirection connDir = res.component.dir;
         ForgeDirection faceHit = ForgeDirection.getOrientation(res.movingObjectPosition.sideHit);
         if (connDir == ForgeDirection.UNKNOWN || connDir == faceHit) {
           if (getConnectionMode(faceHit) == ConnectionMode.DISABLED) {
             setConnectionMode(faceHit, ConnectionMode.IN_OUT);
             return true;
           }
           return ConduitUtil.joinConduits(this, faceHit);
         } else if (externalConnections.contains(connDir)) {
           setConnectionMode(connDir, getNextConnectionMode(connDir));
           return true;
         } else if (containsConduitConnection(connDir)) {
           ConduitUtil.disconectConduits(this, connDir);
           return true;
         }
       }
     }
   }
   return false;
 }