コード例 #1
0
 public override void Read(byte[] array)
 {
     McDouble.TryParse(ref array, out X);
     McDouble.TryParse(ref array, out FeetY);
     McDouble.TryParse(ref array, out Z);
     McBoolean.TryParse(ref array, out OnGround);
 }
コード例 #2
0
ファイル: JoinGamePacket.cs プロジェクト: Alword/Bost
        public bool IsFlat;                          //*

        public override void Read(byte[] array)
        {
            McInt.TryParse(ref array, out EntityId);
            McBoolean.TryParse(ref array, out IsHardcore);
            if (McUnsignedByte.TryParse(ref array, out var gamemode))
            {
                Gamemode = (Gamemodes)gamemode;
            }
            if (McByte.TryParse(ref array, out var previousGamemode))
            {
                PreviousGamemode = (Gamemodes)previousGamemode;
            }
            McVarint.TryParse(ref array, out WorldCount);
            McStringArray.TryParse(WorldCount, ref array, out WorldNames);
            McNbtCompoundTag.TryParse(ref array, out DimensionCodec);
            McNbtCompoundTag.TryParse(ref array, out Dimension);
            McString.TryParse(ref array, out WorldName);
            McLong.TryParse(ref array, out HashedSeed);
            McVarint.TryParse(ref array, out MaxPlayers);
            McVarint.TryParse(ref array, out ViewDistance);
            McBoolean.TryParse(ref array, out ReducedDebugInfo);
            McBoolean.TryParse(ref array, out EnableRespawnScreen);
            McBoolean.TryParse(ref array, out IsDebug);
            McBoolean.TryParse(ref array, out IsFlat);
        }
コード例 #3
0
ファイル: EntityRotationPacket.cs プロジェクト: Alword/Bost
 public override void Read(byte[] array)
 {
     McVarint.TryParse(ref array, out EntityID);
     McUnsignedByte.TryParse(ref array, out Yaw);
     McUnsignedByte.TryParse(ref array, out Pitch);
     McBoolean.TryParse(ref array, out OnGround);
 }
コード例 #4
0
ファイル: EffectPacket.cs プロジェクト: Alword/Bost
 public override void Read(byte[] array)
 {
     McInt.TryParse(ref array, out EffectID);
     Positions = new Position();
     Positions.Read(ref array);
     McInt.TryParse(ref array, out Data);
     McBoolean.TryParse(ref array, out DisableRelativeVolume);
 }
コード例 #5
0
ファイル: EntityPositionPacket.cs プロジェクト: Alword/Bost
 public override void Read(byte[] array)
 {
     McVarint.TryParse(ref array, out EntityID);
     McShort.TryParse(ref array, out DeltaX);
     McShort.TryParse(ref array, out DeltaY);
     McShort.TryParse(ref array, out DeltaZ);
     McBoolean.TryParse(ref array, out OnGround);
 }
コード例 #6
0
 public override void Read(byte[] array)
 {
     Location = new Position();
     Location.Read(ref array);
     McVarint.TryParse(ref array, out Block);
     McVarint.TryParse(ref array, out Status);
     McBoolean.TryParse(ref array, out Successful);
 }
コード例 #7
0
        public byte[] Data;         //Optional Byte Array

        public override void Read(byte[] array)
        {
            McVarint.TryParse(ref array, out MessageID);
            McBoolean.TryParse(ref array, out Successful);
            if (Successful)
            {
                McByteArray.TryParse(ref array, out Data);
            }
        }
コード例 #8
0
 public void Parse(ref byte[] array)
 {
     McBoolean.TryParse(ref array, out Present);
     if (Present)
     {
         McVarint.TryParse(ref array, out ItemId);
         McUnsignedByte.TryParse(ref array, out ItemCount);
         McNbtCompoundTag.TryParse(ref array, out NBT);
     }
 }
コード例 #9
0
        public override byte[] Write()
        {
            List <byte> tosend = new List <byte>();

            tosend.AddRange(McDouble.ToBytes(X));
            tosend.AddRange(McDouble.ToBytes(FeetY));
            tosend.AddRange(McDouble.ToBytes(Z));
            tosend.AddRange(McBoolean.ToBytes(OnGround));
            return(tosend.ToArray());
        }
コード例 #10
0
        public string Signature;    //Optional String (32767)

        public void Read(ref byte[] array)
        {
            McString.TryParse(ref array, out Name);
            McString.TryParse(ref array, out Value);
            McBoolean.TryParse(ref array, out IsSigned);
            if (IsSigned == true)
            {
                McString.TryParse(ref array, out Signature);
            }
        }
コード例 #11
0
        public bool CopyMetadata;               //*

        public override void Read(byte[] array)
        {
            McNbtCompoundTag.TryParse(ref array, out Dimension);
            McString.TryParse(ref array, out WorldName);
            McLong.TryParse(ref array, out HashedSeed);
            McUnsignedByte.TryParse(ref array, out Gamemode);
            McUnsignedByte.TryParse(ref array, out PreviousGamemode);
            McBoolean.TryParse(ref array, out IsDebug);
            McBoolean.TryParse(ref array, out IsFlat);
            McBoolean.TryParse(ref array, out CopyMetadata);
        }
コード例 #12
0
        public MainHands MainHand;            //Varint Enum

        public override void Read(byte[] array)
        {
            McString.TryParse(ref array, out Locale);
            McUnsignedByte.TryParse(ref array, out ViewDistance);
            McVarint.TryParse(ref array, out int chatMode);
            ChatMode = (ChatModes)chatMode;
            McBoolean.TryParse(ref array, out ChatColors);
            McUnsignedByte.TryParse(ref array, out DisplayedSkinParts);
            McVarint.TryParse(ref array, out int mainHand);
            MainHand = (MainHands)mainHand;
        }
コード例 #13
0
 public override void Read(byte[] array)
 {
     if (McVarint.TryParse(ref array, out var hand))
     {
         Hand = (HandType)hand;
     }
     Location = new Position();
     Location.Read(ref array);
     _ = McVarint.TryParse(ref array, out Face);
     _ = McFloat.TryParse(ref array, out CursorPositionX);
     _ = McFloat.TryParse(ref array, out CursorPositionY);
     _ = McFloat.TryParse(ref array, out CursorPositionZ);
     _ = McBoolean.TryParse(ref array, out InsideBlock);
 }
コード例 #14
0
        public Chat DisplayName;       //Optional Chat

        public void Read(ref byte[] array, int action)
        {
            McUUID.TryParse(ref array, out UUID);

            if (action == 0)
            {
                McString.TryParse(ref array, out Name);
                McVarint.TryParse(ref array, out NumberOfProperties);

                Propertys = new Property[NumberOfProperties];
                for (int i = 0; i < NumberOfProperties; i++)
                {
                    Propertys[i] = new Property();
                    Propertys[i].Read(ref array);
                }

                McVarint.TryParse(ref array, out int GamemodeId);
                Gamemode = (Gamemods)GamemodeId;
                McVarint.TryParse(ref array, out Ping);
                McBoolean.TryParse(ref array, out HasDisplayName);
                if (HasDisplayName == true)
                {
                    McChat.TryParse(ref array, out DisplayName);
                }
            }

            if (action == 1)
            {
                McVarint.TryParse(ref array, out int GamemodeId);
                Gamemode = (Gamemods)GamemodeId;
            }

            if (action == 2)
            {
                McVarint.TryParse(ref array, out Ping);
            }

            if (action == 3)
            {
                McBoolean.TryParse(ref array, out HasDisplayName);
                if (HasDisplayName == true)
                {
                    McChat.TryParse(ref array, out DisplayName);
                }
            }
        }
コード例 #15
0
        // Array size 2  Recipe IDs  Number of elements in the following array, only present if mode is 0 (init)

        public override void Read(byte[] array)
        {
            if (McVarint.TryParse(ref array, out var action))
            {
                Action = (UnlockRecipesActions)action;
            }
            McBoolean.TryParse(ref array, out CraftingRecipeBookOpen);
            McBoolean.TryParse(ref array, out CraftingRecipeBookFilterActive);
            McBoolean.TryParse(ref array, out SmeltingRecipeBookOpen);
            McBoolean.TryParse(ref array, out SmeltingRecipeBookFilterActive);
            McBoolean.TryParse(ref array, out BlastFuranceRecipeBookOpen);
            McBoolean.TryParse(ref array, out BlastFuranceRecipeBookFilterActive);
            McBoolean.TryParse(ref array, out SmokerRecipeBookOpen);
            McBoolean.TryParse(ref array, out SmokerRecipeBookFilterActive);
            McVarint.TryParse(ref array, out ArraySize1);
            McStringArray.TryParse(ArraySize1, ref array, out RecipeIDs1);
            if (Action == 0)
            {
                McVarint.TryParse(ref array, out ArraySize2);
                McStringArray.TryParse(ArraySize2, ref array, out RecipeIDs2);
            }
        }
コード例 #16
0
        public override void Read(byte[] array)
        {
            McInt.TryParse(ref array, out ChunkX);             // int
            McInt.TryParse(ref array, out ChunkZ);             // int
            McBoolean.TryParse(ref array, out Fullchunk);      // bool
            McVarint.TryParse(ref array, out PrimaryBitMask);  // var int

            McNbtCompoundTag.TryParse(ref array, out Heightmaps);

            if (Fullchunk)
            {
                McVarint.TryParse(ref array, out Biomeslength);
                Biomes = new int[Biomeslength];
                for (int i = 0; i < Biomeslength; i++)
                {
                    McVarint.TryParse(ref array, out Biomes[i]);
                }
            }

            // chunk data
            McVarint.TryParse(ref array, out Size);             // size varint
            McByteArray.TryParse(Size, ref array, out Data);    // Byte array

            // BlockEntities
            McVarint.TryParse(ref array, out NumberOfBlockEntities);

            BlockEntities = new NbtCompoundTag[NumberOfBlockEntities];

            var    read1   = new NbtParser();
            Stream stream1 = new MemoryStream(array);

            for (int i = 0; i < NumberOfBlockEntities; i++)
            {
                BlockEntities[i] = read1.ParseNbtStream(stream1);
            }
        }
コード例 #17
0
ファイル: PlayerMovementPacket.cs プロジェクト: Alword/Bost
 public override void Read(byte[] array)
 {
     McBoolean.TryParse(ref array, out OnGround);
 }
コード例 #18
0
ファイル: PlayerMovementPacket.cs プロジェクト: Alword/Bost
 public override byte[] Write()
 {
     return(McBoolean.ToBytes(OnGround));
 }
コード例 #19
0
 public override void Read(byte[] array)
 {
     McUnsignedByte.TryParse(ref array, out WindowID);
     McShort.TryParse(ref array, out ActionNumber);
     McBoolean.TryParse(ref array, out Accepted);
 }
コード例 #20
0
 public override void Read(byte[] array)
 {
     McFloat.TryParse(ref array, out Yaw);
     McFloat.TryParse(ref array, out Pitch);
     McBoolean.TryParse(ref array, out OnGround);
 }