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()); }
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)); }