Class VarInt

java.lang.Object
cn.nukkit.utils.VarInt

public final class VarInt extends Object
Tool class for VarInt or VarLong operations.

Some code from http://wiki.vg/Protocol.

Author:
MagicDroidX, lmlstarqaq
  • Method Details

    • encodeZigZag32

      public static long encodeZigZag32(int v)
      Parameters:
      v - Signed int
      Returns:
      Unsigned encoded int
    • decodeZigZag32

      public static int decodeZigZag32(long v)
      Parameters:
      v - Unsigned encoded int
      Returns:
      Signed decoded int
    • encodeZigZag64

      public static long encodeZigZag64(long v)
      Parameters:
      v - Signed long
      Returns:
      Unsigned encoded long
    • decodeZigZag64

      public static long decodeZigZag64(long v)
      Parameters:
      v - Signed encoded long
      Returns:
      Unsigned decoded long
    • readVarInt

      public static int readVarInt(BinaryStream stream)
      Parameters:
      stream - BinaryStream
      Returns:
      Signed int
    • readVarInt

      public static int readVarInt(InputStream stream) throws IOException
      Parameters:
      stream - InputStream
      Returns:
      Signed int
      Throws:
      IOException
    • readUnsignedVarInt

      public static long readUnsignedVarInt(BinaryStream stream)
      Parameters:
      stream - BinaryStream
      Returns:
      Unsigned int
    • readUnsignedVarInt

      public static long readUnsignedVarInt(InputStream stream) throws IOException
      Parameters:
      stream - InputStream
      Returns:
      Unsigned int
      Throws:
      IOException
    • readVarLong

      public static long readVarLong(BinaryStream stream)
      Parameters:
      stream - BinaryStream
      Returns:
      Signed long
    • readVarLong

      public static long readVarLong(InputStream stream) throws IOException
      Parameters:
      stream - InputStream
      Returns:
      Signed long
      Throws:
      IOException
    • readUnsignedVarLong

      public static long readUnsignedVarLong(BinaryStream stream)
      Parameters:
      stream - BinaryStream
      Returns:
      Unsigned long
    • readUnsignedVarLong

      public static long readUnsignedVarLong(InputStream stream) throws IOException
      Parameters:
      stream - InputStream
      Returns:
      Unsigned long
      Throws:
      IOException
    • writeVarInt

      public static void writeVarInt(BinaryStream stream, int value)
      Parameters:
      stream - BinaryStream
      value - Signed int
    • writeVarInt

      public static void writeVarInt(OutputStream stream, int value) throws IOException
      Parameters:
      stream - OutputStream
      value - Signed int
      Throws:
      IOException
    • writeUnsignedVarInt

      public static void writeUnsignedVarInt(BinaryStream stream, long value)
      Parameters:
      stream - BinaryStream
      value - Unsigned int
    • writeUnsignedVarInt

      public static void writeUnsignedVarInt(OutputStream stream, long value) throws IOException
      Parameters:
      stream - OutputStream
      value - Unsigned int
      Throws:
      IOException
    • writeVarLong

      public static void writeVarLong(BinaryStream stream, long value)
      Parameters:
      stream - BinaryStream
      value - Signed long
    • writeVarLong

      public static void writeVarLong(OutputStream stream, long value) throws IOException
      Parameters:
      stream - OutputStream
      value - Signed long
      Throws:
      IOException
    • writeUnsignedVarLong

      public static void writeUnsignedVarLong(BinaryStream stream, long value)
      Parameters:
      stream - BinaryStream
      value - Unsigned long
    • writeUnsignedVarLong

      public static void writeUnsignedVarLong(OutputStream stream, long value) throws IOException
      Parameters:
      stream - OutputStream
      value - Unsigned long
      Throws:
      IOException