public PlayerPositionAndLookHandler(IPacketReadWriter packetSender, DataTypes dataTypes, IMinecraftComHandler handler, Player player, int protocolversion)
 {
     this.dataTypes       = dataTypes;
     this.packetSender    = packetSender;
     this.handler         = handler;
     this.player          = player;
     this.protocolversion = protocolversion;
 }
 /// <summary>
 /// Initialize a new Forge protocol handler
 /// </summary>
 /// <param name="forgeInfo">Forge Server Information</param>
 /// <param name="protocolversion">Minecraft protocol version</param>
 /// <param name="datatypes">Minecraft data types handler</param>
 public Protocol18Forge(ForgeInfo forgeInfo, int protocolVersion, DataTypes dataTypes, Protocol18Handler protocol18, IMinecraftComHandler mcHandler)
 {
     this.forgeInfo        = forgeInfo;
     this.protocolversion  = protocolVersion;
     this.dataTypes        = dataTypes;
     this.protocol18       = protocol18;
     this.mcHandler        = mcHandler;
     this.packetReadWriter = packetReadWriter;
 }
Example #3
0
        public Protocol18Handler(TcpClient Client, int protocolVersion, IMinecraftComHandler handler, ForgeInfo forgeInfo, Player player)
        {
            this.player = player;

            ConsoleIO.SetAutoCompleteEngine(this);
            ChatParser.InitTranslations();

            connectionInfo       = new ConnectionInfo(new SocketWrapper(Client), 0);
            this.dataTypes       = new DataTypes(protocolVersion);
            this.protocolversion = protocolVersion;
            this.handler         = handler;
            this.pForge          = new Protocol18Forge(forgeInfo, protocolVersion, dataTypes, this, handler);
            this.pTerrain        = new Protocol18Terrain(protocolVersion, dataTypes, handler);

            if (protocolversion > (int)McVersion.V1142)
            {
                ConsoleIO.WriteLineFormatted("§8Terrain & Movements currently not handled for that MC version.");
                //Modify client pool for terrain?
            }

            if (player.GetInventoryEnabled() && protocolversion > (int)McVersion.V114)
            {
                ConsoleIO.WriteLineFormatted("§8Inventories are currently not handled for that MC version.");
                player.SetInventoryEnabled(false);
            }

            if (protocolversion >= (int)McVersion.V18)
            {
                if (protocolVersion >= (int)McVersion.V114)
                {
                    Block.Palette = new Palette114();
                }
                else
                {
                    Block.Palette = new Palette113();
                }
            }
            else
            {
                Block.Palette = new Palette112();
            }

            packetReadWriter = new Protocol18PacketReadWriter(connectionInfo, dataTypes, protocolVersion);
            packetHandler    = new Protocol18PacketHandler(protocolVersion, dataTypes, handler, packetReadWriter, pTerrain, pForge, worldInfo, this, player);

            pForge.packetReadWriter = packetReadWriter;
        }
 public ResourecePackSendHandler(DataTypes dataTypes, IPacketReadWriter packetSender, int protocolversion)
 {
     this.dataTypes       = dataTypes;
     this.packetSender    = packetSender;
     this.protocolversion = protocolversion;
 }
Example #5
0
 public KeepAliveHandler(IPacketReadWriter packetSender)
 {
     this.packetSender = packetSender;
 }
Example #6
0
        public Protocol18PacketHandler(int protocolVersion, DataTypes dataTypes, IMinecraftComHandler handler, IPacketReadWriter packetSender, Protocol18Terrain pTerrain, Protocol18Forge pForge, WorldInfo worldInfo, Protocol18Handler protocol18Handler, Player player)
        {
            this.protocolversion = protocolVersion;

            MultiVersionHandler blockHandler = new MultiVersionHandler(protocolVersion);

            blockHandler.addPacketHandler(new BlockChangeHandler17(handler, dataTypes), (int)McVersion.V17).
            addPacketHandler(new BlockChangeHandler18(handler, dataTypes), (int)McVersion.V18);
            packetHandlers.Add(PacketIncomingType.BlockChange, blockHandler);


            packetHandlers.Add(PacketIncomingType.KeepAlive, new KeepAliveHandler(packetSender));
            packetHandlers.Add(PacketIncomingType.JoinGame, new JoinGameHandler(handler, dataTypes, worldInfo, protocolVersion));
            packetHandlers.Add(PacketIncomingType.ChatMessage, new ChatMessageHandler(handler, dataTypes));
            packetHandlers.Add(PacketIncomingType.Respawn, new RespawnHandler(handler, dataTypes, worldInfo, protocolVersion));
            packetHandlers.Add(PacketIncomingType.PlayerPositionAndLook, new PlayerPositionAndLookHandler(packetSender, dataTypes, handler, player, protocolVersion));
            packetHandlers.Add(PacketIncomingType.ChunkData, new ChunkDataHandler(handler, dataTypes, pTerrain, worldInfo, protocolVersion));
            packetHandlers.Add(PacketIncomingType.MultiBlockChange, new MultiBlockChangeHandler(handler, dataTypes, protocolVersion));

            packetHandlers.Add(PacketIncomingType.MapChunkBulk, new MapChunkBulkHandler(handler, dataTypes, protocolVersion, pTerrain, worldInfo));
            packetHandlers.Add(PacketIncomingType.UnloadChunk, new UnloadChunkHandler(handler, dataTypes, protocolVersion));
            packetHandlers.Add(PacketIncomingType.PlayerListUpdate, new PlayerListUpdateHandler(handler, dataTypes, protocolVersion));
            packetHandlers.Add(PacketIncomingType.TabCompleteResult, new TabCompleteResultHandler(handler, dataTypes, protocol18Handler, protocolVersion));
            packetHandlers.Add(PacketIncomingType.PluginMessage, new PluginMessageHandler(handler, dataTypes, pForge, worldInfo, protocolVersion));
            packetHandlers.Add(PacketIncomingType.KickPacket, new KickHandler(handler, dataTypes));
            packetHandlers.Add(PacketIncomingType.NetworkCompressionTreshold, new NetworkCompressionThresholdHandler(handler, dataTypes, protocol18Handler, protocolVersion));
            packetHandlers.Add(PacketIncomingType.OpenWindow, new OpenWindowHandler(player, dataTypes));
            packetHandlers.Add(PacketIncomingType.CloseWindow, new CloseWindowHandler(dataTypes, player));
            packetHandlers.Add(PacketIncomingType.WindowItems, new WindowItemsHandler(player, dataTypes));
            packetHandlers.Add(PacketIncomingType.ResourcePackSend, new ResourecePackSendHandler(dataTypes, packetSender, protocolVersion));
        }