diff --git a/fmp/CableBusPart.java b/fmp/CableBusPart.java index f4011821..55cdbbb0 100644 --- a/fmp/CableBusPart.java +++ b/fmp/CableBusPart.java @@ -35,10 +35,10 @@ import appeng.api.util.AECableType; import appeng.api.util.AEColor; import appeng.api.util.DimensionalCoord; import appeng.core.AELog; -import appeng.facade.IFacadeItem; import appeng.helpers.AEMultiTile; import appeng.parts.BusCollisionHelper; import appeng.parts.CableBusContainer; +import appeng.parts.PartPlacement; import appeng.tile.networking.TileCableBus; import appeng.util.Platform; import codechicken.lib.data.MCDataInput; @@ -285,19 +285,14 @@ public class CableBusPart extends JCuboidPart implements JNormalOcclusion, IReds @Override public boolean canAddPart(ItemStack is, ForgeDirection side) { - if ( is.getItem() instanceof IFacadeItem ) + IFacadePart fp = PartPlacement.isFacade( is, side ); + if ( fp != null ) { - IFacadeItem bi = (IFacadeItem) is.getItem(); - - is = is.copy(); - is.stackSize = 1; - - IFacadePart bp = bi.createPartFromItemStack( is, side ); if ( !(side == null || side == ForgeDirection.UNKNOWN || tile() == null) ) { List boxes = new ArrayList(); IPartCollsionHelper bch = new BusCollisionHelper( boxes, side, null, true ); - bp.getBoxes( bch ); + fp.getBoxes( bch ); for (AxisAlignedBB bb : boxes) { disableFacadeOcclusion.set( true ); diff --git a/parts/PartPlacement.java b/parts/PartPlacement.java index 4502b7af..f942ce4c 100644 --- a/parts/PartPlacement.java +++ b/parts/PartPlacement.java @@ -377,16 +377,18 @@ public class PartPlacement return true; } - private static IFacadePart isFacade(ItemStack held, ForgeDirection side) + public static IFacadePart isFacade(ItemStack held, ForgeDirection side) { if ( held.getItem() instanceof IFacadeItem ) return ((IFacadeItem) held.getItem()).createPartFromItemStack( held, side ); + if ( AppEng.instance.isIntegrationEnabled( "BC" ) ) { IBC bc = (IBC) AppEng.instance.getIntegration( "BC" ); if ( bc.isFacade( held ) ) return bc.createFacadePart( held, side ); } + return null; }