fCraft.PacketWriter.MakeSetBlock C# (CSharp) Method

MakeSetBlock() static private method

static private MakeSetBlock ( Vector3I coords, Block type ) : Packet
coords Vector3I
type Block
return Packet
        internal static Packet MakeSetBlock( Vector3I coords, Block type )
        {
            Packet packet = new Packet( OpCode.SetBlockServer );
            ToNetOrder( coords.X, packet.Data, 1 );
            ToNetOrder( coords.Z, packet.Data, 3 );
            ToNetOrder( coords.Y, packet.Data, 5 );
            packet.Data[7] = ( byte )type;
            return packet;
        }

Same methods

PacketWriter::MakeSetBlock ( int x, int y, int z, Block type ) : Packet

Usage Example

Example #1
0
 public static void GunHandler(Player player, Command cmd)
 {
     if (player.GunMode)
     {
         player.GunMode = false;
         try {
             foreach (Vector3I block in player.GunCache.Values)
             {
                 player.Send(PacketWriter.MakeSetBlock(block.X, block.Y, block.Z, player.WorldMap.GetBlock(block)));
                 Vector3I removed;
                 player.GunCache.TryRemove(block.ToString(), out removed);
             }
             if (player.bluePortal.Count > 0)
             {
                 int i = 0;
                 foreach (Vector3I block in player.bluePortal)
                 {
                     if (player.WorldMap != null && player.World.IsLoaded)
                     {
                         player.WorldMap.QueueUpdate(new BlockUpdate(null, block, player.blueOld[i]));
                         i++;
                     }
                 }
                 player.blueOld.Clear();
                 player.bluePortal.Clear();
             }
             if (player.orangePortal.Count > 0)
             {
                 int i = 0;
                 foreach (Vector3I block in player.orangePortal)
                 {
                     if (player.WorldMap != null && player.World.IsLoaded)
                     {
                         player.WorldMap.QueueUpdate(new BlockUpdate(null, block, player.orangeOld[i]));
                         i++;
                     }
                 }
                 player.orangeOld.Clear();
                 player.orangePortal.Clear();
             }
             player.Message("&SGunMode deactivated");
         } catch (Exception ex) {
             Logger.Log(LogType.SeriousError, "" + ex);
         }
     }
     else
     {
         if (!player.World.gunPhysics)
         {
             player.Message("&WGun physics are disabled on this world");
             return;
         }
         player.GunMode = true;
         GunGlassTimer timer = new GunGlassTimer(player);
         timer.Start();
         player.Message("&SGunMode activated. Fire at will!");
     }
 }
All Usage Examples Of fCraft.PacketWriter::MakeSetBlock