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);
                }
            }
        }
Esempio n. 2
0
 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>();
                }
            }
        }