public override void DidConnectAt(IWorldAccessor world, BlockPos pos, BlockFacing face) { if (IsDeadEnd()) { BlockFacing nowFace = BlockFacing.FromFirstLetter(LastCodePart()[0]); if (nowFace.IsAdjacent(face)) { AssetLocation loc = new AssetLocation(FirstCodePart() + "-" + LastCodePart() + face.Code[0]); Block toPlaceBlock = world.GetBlock(loc); if (toPlaceBlock == null) { loc = new AssetLocation(FirstCodePart() + "-" + face.Code[0] + LastCodePart()); toPlaceBlock = world.GetBlock(loc); } MechanicalNetwork nw = GetNetwork(world, pos); world.BlockAccessor.SetBlock(toPlaceBlock.BlockId, pos); BEMPBase be = (world.BlockAccessor.GetBlockEntity(pos) as BEMPBase); be.JoinNetwork(nw); } } }
public override void DidConnectAt(IWorldAccessor world, BlockPos pos, BlockFacing face) { if (IsDeadEnd()) { BlockFacing nowFace = BlockFacing.FromFirstLetter(Orientation[0]); if (nowFace.IsAdjacent(face)) { Block toPlaceBlock = getGearBlock(world, false, Facings[0], face); (toPlaceBlock as BlockMPBase).ExchangeBlockAt(world, pos); } } }
public override bool HasMechPowerConnectorAt(IWorldAccessor world, BlockPos pos, BlockFacing face) { if (IsDeadEnd()) { BlockFacing nowFace = BlockFacing.FromFirstLetter(Orientation[0]); if (nowFace.IsAdjacent(face)) { return(true); } } return(IsOrientedTo(face)); }
public override void DidConnectAt(IWorldAccessor world, BlockPos pos, BlockFacing face) { if (IsDeadEnd()) { BlockFacing nowFace = BlockFacing.FromFirstLetter(Orientation[0]); if (nowFace.IsAdjacent(face)) { Block toPlaceBlock = getGearBlock(world, false, Facings[0], face); MechanicalNetwork nw = GetNetwork(world, pos); (toPlaceBlock as BlockMPBase).ExchangeBlockAt(world, pos); BEBehaviorMPBase bemp = world.BlockAccessor.GetBlockEntity(pos)?.GetBehavior <BEBehaviorMPBase>(); } } }