Example #1
0
        public override bool Place(Block clicked, Block replace, BlockFace face, Vector3 clickPos, Player player, Item item)
        {
            if (!this.GetSideBlock(BlockFace.DOWN).IsSolid)
            {
                return(false);
            }
            BlockFace direction = player.DirectionBlockFace;
            Block     side      = this.GetSideBlock(direction);

            if (!side.GetSideBlock(BlockFace.DOWN).IsSolid || !side.CanBeReplaced)
            {
                return(false);
            }
            int[] metas = new int[] { 0, 0, 2, 0, 1, 3 };
            this.Damage = metas[direction.GetIndex()];
            this.World.SetBlock((Vector3)this, this);
            this.World.SetBlock((Vector3)side, Block.Get(this.ID, metas[direction.GetIndex()] | 0x08));
            return(true);
        }
 public void WriteBlockFace(BlockFace face)
 {
     this.WriteSVarInt(face.GetIndex());
 }
Example #3
0
 public override bool Place(Block clicked, Block replace, BlockFace face, Vector3 clickPos, Player player, Item item)
 {
     this.Damage = face.GetIndex();
     return(base.Place(clicked, replace, face, clickPos, player, item));
 }