mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-19 12:25:12 -04:00
abstract netty network, move to own subpackage
This commit is contained in:
parent
49e4abbc64
commit
581a1cb18b
@ -21,11 +21,12 @@ import de.bixilon.minosoft.modding.event.listener.EventListener
|
|||||||
import de.bixilon.minosoft.modding.event.master.AbstractEventMaster
|
import de.bixilon.minosoft.modding.event.master.AbstractEventMaster
|
||||||
import de.bixilon.minosoft.modding.event.master.EventMaster
|
import de.bixilon.minosoft.modding.event.master.EventMaster
|
||||||
import de.bixilon.minosoft.modding.event.master.GlobalEventMaster
|
import de.bixilon.minosoft.modding.event.master.GlobalEventMaster
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.NettyClient
|
import de.bixilon.minosoft.protocol.network.network.client.ClientNetwork
|
||||||
|
import de.bixilon.minosoft.protocol.network.network.client.netty.NettyClient
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
||||||
|
|
||||||
abstract class Connection : AbstractEventMaster {
|
abstract class Connection : AbstractEventMaster {
|
||||||
val network = NettyClient(this)
|
val network: ClientNetwork = NettyClient(this)
|
||||||
val events = EventMaster(GlobalEventMaster)
|
val events = EventMaster(GlobalEventMaster)
|
||||||
val connectionId = lastConnectionId++
|
val connectionId = lastConnectionId++
|
||||||
var wasConnected = false
|
var wasConnected = false
|
||||||
|
@ -0,0 +1,36 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2020-2022 Moritz Zwerger
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.bixilon.minosoft.protocol.network.network.client
|
||||||
|
|
||||||
|
import de.bixilon.minosoft.protocol.address.ServerAddress
|
||||||
|
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
||||||
|
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
||||||
|
import javax.crypto.Cipher
|
||||||
|
|
||||||
|
interface ClientNetwork {
|
||||||
|
val connected: Boolean
|
||||||
|
var state: ProtocolStates
|
||||||
|
var compressionThreshold: Int
|
||||||
|
val encrypted: Boolean
|
||||||
|
|
||||||
|
fun connect(address: ServerAddress, native: Boolean)
|
||||||
|
fun disconnect()
|
||||||
|
|
||||||
|
fun setupEncryption(encrypt: Cipher, decrypt: Cipher)
|
||||||
|
|
||||||
|
fun pauseSending(pause: Boolean)
|
||||||
|
fun pauseReceiving(pause: Boolean)
|
||||||
|
|
||||||
|
fun send(packet: C2SPacket)
|
||||||
|
}
|
@ -11,7 +11,7 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client
|
package de.bixilon.minosoft.protocol.network.network.client.netty
|
||||||
|
|
||||||
import java.util.concurrent.ThreadFactory
|
import java.util.concurrent.ThreadFactory
|
||||||
import java.util.concurrent.atomic.AtomicInteger
|
import java.util.concurrent.atomic.AtomicInteger
|
@ -11,7 +11,7 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client
|
package de.bixilon.minosoft.protocol.network.network.client.netty
|
||||||
|
|
||||||
import de.bixilon.kutil.cast.CastUtil.nullCast
|
import de.bixilon.kutil.cast.CastUtil.nullCast
|
||||||
import de.bixilon.kutil.concurrent.pool.DefaultThreadPool
|
import de.bixilon.kutil.concurrent.pool.DefaultThreadPool
|
||||||
@ -21,16 +21,17 @@ import de.bixilon.minosoft.protocol.address.ServerAddress
|
|||||||
import de.bixilon.minosoft.protocol.network.connection.Connection
|
import de.bixilon.minosoft.protocol.network.connection.Connection
|
||||||
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
|
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
|
||||||
import de.bixilon.minosoft.protocol.network.connection.status.StatusConnection
|
import de.bixilon.minosoft.protocol.network.connection.status.StatusConnection
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.NetworkException
|
import de.bixilon.minosoft.protocol.network.network.client.ClientNetwork
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.ciritical.CriticalNetworkException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.NetworkException
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.natives.NioNatives
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.ciritical.CriticalNetworkException
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.natives.TransportNatives
|
import de.bixilon.minosoft.protocol.network.network.client.netty.natives.NioNatives
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.pipeline.compression.PacketDeflater
|
import de.bixilon.minosoft.protocol.network.network.client.netty.natives.TransportNatives
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.pipeline.compression.PacketInflater
|
import de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.compression.PacketDeflater
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.pipeline.encryption.PacketDecryptor
|
import de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.compression.PacketInflater
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.pipeline.encryption.PacketEncryptor
|
import de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.encryption.PacketDecryptor
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.pipeline.length.LengthDecoder
|
import de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.encryption.PacketEncryptor
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.pipeline.length.LengthEncoder
|
import de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.length.LengthDecoder
|
||||||
|
import de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.length.LengthEncoder
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
||||||
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
||||||
import de.bixilon.minosoft.terminal.RunConfiguration
|
import de.bixilon.minosoft.terminal.RunConfiguration
|
||||||
@ -47,11 +48,11 @@ import javax.crypto.Cipher
|
|||||||
@ChannelHandler.Sharable
|
@ChannelHandler.Sharable
|
||||||
class NettyClient(
|
class NettyClient(
|
||||||
val connection: Connection,
|
val connection: Connection,
|
||||||
) : SimpleChannelInboundHandler<Any>() {
|
) : SimpleChannelInboundHandler<Any>(), ClientNetwork {
|
||||||
var connected by watched(false)
|
override var connected by watched(false)
|
||||||
private set
|
private set
|
||||||
var state by watched(ProtocolStates.HANDSHAKING)
|
override var state by watched(ProtocolStates.HANDSHAKING)
|
||||||
var compressionThreshold = -1
|
override var compressionThreshold = -1
|
||||||
set(value) {
|
set(value) {
|
||||||
field = value
|
field = value
|
||||||
val channel = channel ?: return
|
val channel = channel ?: return
|
||||||
@ -78,13 +79,13 @@ class NettyClient(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var encrypted: Boolean = false
|
override var encrypted: Boolean = false
|
||||||
private set
|
private set
|
||||||
private var channel: Channel? = null
|
private var channel: Channel? = null
|
||||||
private val packetQueue: MutableList<C2SPacket> = mutableListOf() // Used for pause sending
|
private val packetQueue: MutableList<C2SPacket> = mutableListOf() // Used for pause sending
|
||||||
private var sendingPaused = false
|
private var sendingPaused = false
|
||||||
|
|
||||||
fun connect(address: ServerAddress, native: Boolean) {
|
override fun connect(address: ServerAddress, native: Boolean) {
|
||||||
state = ProtocolStates.HANDSHAKING
|
state = ProtocolStates.HANDSHAKING
|
||||||
val natives = if (native) TransportNatives.get() else NioNatives
|
val natives = if (native) TransportNatives.get() else NioNatives
|
||||||
val bootstrap = Bootstrap()
|
val bootstrap = Bootstrap()
|
||||||
@ -100,7 +101,7 @@ class NettyClient(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setupEncryption(encrypt: Cipher, decrypt: Cipher) {
|
override fun setupEncryption(encrypt: Cipher, decrypt: Cipher) {
|
||||||
val channel = requireChannel()
|
val channel = requireChannel()
|
||||||
if (encrypted) {
|
if (encrypted) {
|
||||||
throw IllegalStateException("Already encrypted!")
|
throw IllegalStateException("Already encrypted!")
|
||||||
@ -110,7 +111,7 @@ class NettyClient(
|
|||||||
encrypted = true
|
encrypted = true
|
||||||
}
|
}
|
||||||
|
|
||||||
fun disconnect() {
|
override fun disconnect() {
|
||||||
channel?.close()
|
channel?.close()
|
||||||
encrypted = false
|
encrypted = false
|
||||||
channel = null
|
channel = null
|
||||||
@ -118,7 +119,7 @@ class NettyClient(
|
|||||||
connected = false
|
connected = false
|
||||||
}
|
}
|
||||||
|
|
||||||
fun pauseSending(pause: Boolean) {
|
override fun pauseSending(pause: Boolean) {
|
||||||
this.sendingPaused = pause
|
this.sendingPaused = pause
|
||||||
if (!sendingPaused) {
|
if (!sendingPaused) {
|
||||||
DefaultThreadPool += {
|
DefaultThreadPool += {
|
||||||
@ -129,12 +130,12 @@ class NettyClient(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun pauseReceiving(pause: Boolean) {
|
override fun pauseReceiving(pause: Boolean) {
|
||||||
val channel = requireChannel()
|
val channel = requireChannel()
|
||||||
channel.config()?.isAutoRead = !pause
|
channel.config()?.isAutoRead = !pause
|
||||||
}
|
}
|
||||||
|
|
||||||
fun send(packet: C2SPacket) {
|
override fun send(packet: C2SPacket) {
|
||||||
val channel = getChannel() ?: return
|
val channel = getChannel() ?: return
|
||||||
if (sendingPaused) {
|
if (sendingPaused) {
|
||||||
packetQueue += packet
|
packetQueue += packet
|
@ -11,15 +11,15 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client
|
package de.bixilon.minosoft.protocol.network.network.client.netty
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.pipeline.ClientPacketHandler
|
import de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.ClientPacketHandler
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.pipeline.encoding.PacketDecoder
|
import de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.encoding.PacketDecoder
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.pipeline.encoding.PacketEncoder
|
import de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.encoding.PacketEncoder
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.pipeline.exception.InExceptionHandler
|
import de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.exception.InExceptionHandler
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.pipeline.exception.OutExceptionHandler
|
import de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.exception.OutExceptionHandler
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.pipeline.length.LengthDecoder
|
import de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.length.LengthDecoder
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.pipeline.length.LengthEncoder
|
import de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.length.LengthEncoder
|
||||||
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
|
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
|
||||||
import io.netty.channel.ChannelHandlerContext
|
import io.netty.channel.ChannelHandlerContext
|
||||||
import io.netty.channel.ChannelInitializer
|
import io.netty.channel.ChannelInitializer
|
@ -11,6 +11,6 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.exceptions
|
package de.bixilon.minosoft.protocol.network.network.client.netty.exceptions
|
||||||
|
|
||||||
open class NetworkException : Exception()
|
open class NetworkException : Exception()
|
@ -11,7 +11,7 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.exceptions
|
package de.bixilon.minosoft.protocol.network.network.client.netty.exceptions
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.packets.factory.S2CPacketType
|
import de.bixilon.minosoft.protocol.packets.factory.S2CPacketType
|
||||||
|
|
@ -11,7 +11,7 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.exceptions
|
package de.bixilon.minosoft.protocol.network.network.client.netty.exceptions
|
||||||
|
|
||||||
class PacketHandleException(
|
class PacketHandleException(
|
||||||
override val cause: Throwable,
|
override val cause: Throwable,
|
@ -11,7 +11,7 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.exceptions
|
package de.bixilon.minosoft.protocol.network.network.client.netty.exceptions
|
||||||
|
|
||||||
import de.bixilon.minosoft.data.registries.versions.Version
|
import de.bixilon.minosoft.data.registries.versions.Version
|
||||||
import de.bixilon.minosoft.protocol.packets.factory.C2SPacketType
|
import de.bixilon.minosoft.protocol.packets.factory.C2SPacketType
|
@ -11,7 +11,7 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.exceptions
|
package de.bixilon.minosoft.protocol.network.network.client.netty.exceptions
|
||||||
|
|
||||||
class PacketReadException(
|
class PacketReadException(
|
||||||
override val cause: Throwable,
|
override val cause: Throwable,
|
@ -11,7 +11,7 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.exceptions
|
package de.bixilon.minosoft.protocol.network.network.client.netty.exceptions
|
||||||
|
|
||||||
import de.bixilon.kutil.reflection.ReflectionUtil.realName
|
import de.bixilon.kutil.reflection.ReflectionUtil.realName
|
||||||
import de.bixilon.minosoft.protocol.network.connection.Connection
|
import de.bixilon.minosoft.protocol.network.connection.Connection
|
@ -11,7 +11,7 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.exceptions
|
package de.bixilon.minosoft.protocol.network.network.client.netty.exceptions
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
||||||
|
|
@ -11,8 +11,8 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.exceptions.ciritical
|
package de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.ciritical
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.NetworkException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.NetworkException
|
||||||
|
|
||||||
open class CriticalNetworkException : NetworkException()
|
open class CriticalNetworkException : NetworkException()
|
@ -10,7 +10,7 @@
|
|||||||
*
|
*
|
||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.exceptions.ciritical
|
package de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.ciritical
|
||||||
|
|
||||||
class PacketTooLongException(
|
class PacketTooLongException(
|
||||||
val length: Int,
|
val length: Int,
|
@ -11,11 +11,11 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.exceptions.ciritical
|
package de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.ciritical
|
||||||
|
|
||||||
import de.bixilon.kutil.primitive.IntUtil.toHex
|
import de.bixilon.kutil.primitive.IntUtil.toHex
|
||||||
import de.bixilon.minosoft.data.registries.versions.Version
|
import de.bixilon.minosoft.data.registries.versions.Version
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.NetworkException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.NetworkException
|
||||||
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
||||||
|
|
||||||
class UnknownPacketIdException(
|
class UnknownPacketIdException(
|
@ -11,11 +11,11 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.exceptions.implementation
|
package de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.implementation
|
||||||
|
|
||||||
import de.bixilon.kutil.primitive.IntUtil.toHex
|
import de.bixilon.kutil.primitive.IntUtil.toHex
|
||||||
import de.bixilon.minosoft.data.registries.versions.Version
|
import de.bixilon.minosoft.data.registries.versions.Version
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.NetworkException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.NetworkException
|
||||||
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
||||||
|
|
||||||
class S2CPacketNotImplementedException(
|
class S2CPacketNotImplementedException(
|
@ -11,10 +11,10 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.exceptions.unknown
|
package de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.unknown
|
||||||
|
|
||||||
import de.bixilon.kutil.reflection.ReflectionUtil.realName
|
import de.bixilon.kutil.reflection.ReflectionUtil.realName
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.NetworkException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.NetworkException
|
||||||
import de.bixilon.minosoft.protocol.packets.Packet
|
import de.bixilon.minosoft.protocol.packets.Packet
|
||||||
|
|
||||||
class UnknownPacketException(
|
class UnknownPacketException(
|
@ -11,9 +11,9 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.natives
|
package de.bixilon.minosoft.protocol.network.network.client.netty.natives
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.NamedThreadFactory
|
import de.bixilon.minosoft.protocol.network.network.client.netty.NamedThreadFactory
|
||||||
import io.netty.channel.Channel
|
import io.netty.channel.Channel
|
||||||
import io.netty.channel.epoll.Epoll
|
import io.netty.channel.epoll.Epoll
|
||||||
import io.netty.channel.epoll.EpollEventLoopGroup
|
import io.netty.channel.epoll.EpollEventLoopGroup
|
@ -11,9 +11,9 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.natives
|
package de.bixilon.minosoft.protocol.network.network.client.netty.natives
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.NamedThreadFactory
|
import de.bixilon.minosoft.protocol.network.network.client.netty.NamedThreadFactory
|
||||||
import io.netty.channel.Channel
|
import io.netty.channel.Channel
|
||||||
import io.netty.channel.nio.NioEventLoopGroup
|
import io.netty.channel.nio.NioEventLoopGroup
|
||||||
import io.netty.channel.socket.nio.NioSocketChannel
|
import io.netty.channel.socket.nio.NioSocketChannel
|
@ -11,7 +11,7 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.natives
|
package de.bixilon.minosoft.protocol.network.network.client.netty.natives
|
||||||
|
|
||||||
import de.bixilon.kutil.exception.ExceptionUtil.catchAll
|
import de.bixilon.kutil.exception.ExceptionUtil.catchAll
|
||||||
import io.netty.channel.Channel
|
import io.netty.channel.Channel
|
@ -11,7 +11,7 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.pipeline
|
package de.bixilon.minosoft.protocol.network.network.client.netty.pipeline
|
||||||
|
|
||||||
import de.bixilon.kutil.cast.CastUtil.nullCast
|
import de.bixilon.kutil.cast.CastUtil.nullCast
|
||||||
import de.bixilon.kutil.collections.CollectionUtil.synchronizedSetOf
|
import de.bixilon.kutil.collections.CollectionUtil.synchronizedSetOf
|
||||||
@ -25,10 +25,10 @@ import de.bixilon.minosoft.modding.event.events.PacketReceiveEvent
|
|||||||
import de.bixilon.minosoft.protocol.network.connection.Connection
|
import de.bixilon.minosoft.protocol.network.connection.Connection
|
||||||
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
|
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
|
||||||
import de.bixilon.minosoft.protocol.network.connection.status.StatusConnection
|
import de.bixilon.minosoft.protocol.network.connection.status.StatusConnection
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.NettyClient
|
import de.bixilon.minosoft.protocol.network.network.client.netty.NettyClient
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.NetworkException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.NetworkException
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.PacketHandleException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.PacketHandleException
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.WrongConnectionException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.WrongConnectionException
|
||||||
import de.bixilon.minosoft.protocol.packets.factory.S2CPacketType
|
import de.bixilon.minosoft.protocol.packets.factory.S2CPacketType
|
||||||
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
||||||
import de.bixilon.minosoft.protocol.packets.s2c.S2CPacket
|
import de.bixilon.minosoft.protocol.packets.s2c.S2CPacket
|
@ -11,7 +11,7 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.pipeline
|
package de.bixilon.minosoft.protocol.network.network.client.netty.pipeline
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.packets.factory.S2CPacketType
|
import de.bixilon.minosoft.protocol.packets.factory.S2CPacketType
|
||||||
import de.bixilon.minosoft.protocol.packets.s2c.S2CPacket
|
import de.bixilon.minosoft.protocol.packets.s2c.S2CPacket
|
@ -11,7 +11,7 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.pipeline.compression
|
package de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.compression
|
||||||
|
|
||||||
import de.bixilon.kutil.compression.zlib.ZlibUtil.compress
|
import de.bixilon.kutil.compression.zlib.ZlibUtil.compress
|
||||||
import de.bixilon.minosoft.protocol.protocol.OutByteBuffer
|
import de.bixilon.minosoft.protocol.protocol.OutByteBuffer
|
@ -11,11 +11,11 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.pipeline.compression
|
package de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.compression
|
||||||
|
|
||||||
import de.bixilon.kutil.compression.zlib.ZlibUtil.decompress
|
import de.bixilon.kutil.compression.zlib.ZlibUtil.decompress
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.ciritical.PacketTooLongException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.ciritical.PacketTooLongException
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.pipeline.compression.exception.SizeMismatchInflaterException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.compression.exception.SizeMismatchInflaterException
|
||||||
import de.bixilon.minosoft.protocol.protocol.InByteBuffer
|
import de.bixilon.minosoft.protocol.protocol.InByteBuffer
|
||||||
import io.netty.channel.ChannelHandlerContext
|
import io.netty.channel.ChannelHandlerContext
|
||||||
import io.netty.handler.codec.MessageToMessageDecoder
|
import io.netty.handler.codec.MessageToMessageDecoder
|
@ -11,8 +11,8 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.pipeline.compression.exception
|
package de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.compression.exception
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.NetworkException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.NetworkException
|
||||||
|
|
||||||
open class InflaterException : NetworkException()
|
open class InflaterException : NetworkException()
|
@ -11,6 +11,6 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.pipeline.compression.exception
|
package de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.compression.exception
|
||||||
|
|
||||||
class SizeMismatchInflaterException : InflaterException()
|
class SizeMismatchInflaterException : InflaterException()
|
@ -11,18 +11,18 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.pipeline.encoding
|
package de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.encoding
|
||||||
|
|
||||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||||
import de.bixilon.minosoft.data.registries.versions.Version
|
import de.bixilon.minosoft.data.registries.versions.Version
|
||||||
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
|
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.NettyClient
|
import de.bixilon.minosoft.protocol.network.network.client.netty.NettyClient
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.NetworkException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.NetworkException
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.PacketBufferUnderflowException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.PacketBufferUnderflowException
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.PacketReadException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.PacketReadException
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.ciritical.UnknownPacketIdException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.ciritical.UnknownPacketIdException
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.implementation.S2CPacketNotImplementedException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.implementation.S2CPacketNotImplementedException
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.pipeline.QueuedS2CP
|
import de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.QueuedS2CP
|
||||||
import de.bixilon.minosoft.protocol.packets.factory.S2CPacketType
|
import de.bixilon.minosoft.protocol.packets.factory.S2CPacketType
|
||||||
import de.bixilon.minosoft.protocol.packets.s2c.S2CPacket
|
import de.bixilon.minosoft.protocol.packets.s2c.S2CPacket
|
||||||
import de.bixilon.minosoft.protocol.protocol.InByteBuffer
|
import de.bixilon.minosoft.protocol.protocol.InByteBuffer
|
@ -11,16 +11,16 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.pipeline.encoding
|
package de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.encoding
|
||||||
|
|
||||||
import de.bixilon.kutil.cast.CastUtil.nullCast
|
import de.bixilon.kutil.cast.CastUtil.nullCast
|
||||||
import de.bixilon.minosoft.data.registries.versions.Version
|
import de.bixilon.minosoft.data.registries.versions.Version
|
||||||
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
|
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.NettyClient
|
import de.bixilon.minosoft.protocol.network.network.client.netty.NettyClient
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.PacketNotAvailableException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.PacketNotAvailableException
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.WrongConnectionException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.WrongConnectionException
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.WrongProtocolStateException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.WrongProtocolStateException
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.unknown.UnknownPacketException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.unknown.UnknownPacketException
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.PlayC2SPacket
|
import de.bixilon.minosoft.protocol.packets.c2s.PlayC2SPacket
|
||||||
import de.bixilon.minosoft.protocol.packets.factory.PacketTypeRegistry
|
import de.bixilon.minosoft.protocol.packets.factory.PacketTypeRegistry
|
@ -11,7 +11,7 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.pipeline.encryption
|
package de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.encryption
|
||||||
|
|
||||||
import io.netty.buffer.ByteBuf
|
import io.netty.buffer.ByteBuf
|
||||||
import io.netty.channel.ChannelHandlerContext
|
import io.netty.channel.ChannelHandlerContext
|
@ -11,7 +11,7 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.pipeline.encryption
|
package de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.encryption
|
||||||
|
|
||||||
import io.netty.buffer.ByteBuf
|
import io.netty.buffer.ByteBuf
|
||||||
import io.netty.channel.ChannelHandlerContext
|
import io.netty.channel.ChannelHandlerContext
|
@ -11,9 +11,9 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.pipeline.exception
|
package de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.exception
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.NettyClient
|
import de.bixilon.minosoft.protocol.network.network.client.netty.NettyClient
|
||||||
import io.netty.channel.ChannelDuplexHandler
|
import io.netty.channel.ChannelDuplexHandler
|
||||||
import io.netty.channel.ChannelHandlerContext
|
import io.netty.channel.ChannelHandlerContext
|
||||||
|
|
@ -11,9 +11,9 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.pipeline.exception
|
package de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.exception
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.NettyClient
|
import de.bixilon.minosoft.protocol.network.network.client.netty.NettyClient
|
||||||
import io.netty.channel.ChannelHandlerContext
|
import io.netty.channel.ChannelHandlerContext
|
||||||
import io.netty.channel.ChannelOutboundHandlerAdapter
|
import io.netty.channel.ChannelOutboundHandlerAdapter
|
||||||
import io.netty.channel.ChannelPromise
|
import io.netty.channel.ChannelPromise
|
@ -11,9 +11,9 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.pipeline.length
|
package de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.length
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.ciritical.PacketTooLongException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.ciritical.PacketTooLongException
|
||||||
import io.netty.buffer.ByteBuf
|
import io.netty.buffer.ByteBuf
|
||||||
import io.netty.channel.ChannelHandlerContext
|
import io.netty.channel.ChannelHandlerContext
|
||||||
import io.netty.handler.codec.ByteToMessageDecoder
|
import io.netty.handler.codec.ByteToMessageDecoder
|
@ -11,9 +11,9 @@
|
|||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.pipeline.length
|
package de.bixilon.minosoft.protocol.network.network.client.netty.pipeline.length
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.exceptions.ciritical.PacketTooLongException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.ciritical.PacketTooLongException
|
||||||
import de.bixilon.minosoft.util.KUtil.withLengthPrefix
|
import de.bixilon.minosoft.util.KUtil.withLengthPrefix
|
||||||
import io.netty.buffer.ByteBuf
|
import io.netty.buffer.ByteBuf
|
||||||
import io.netty.channel.ChannelHandlerContext
|
import io.netty.channel.ChannelHandlerContext
|
@ -42,7 +42,7 @@ import de.bixilon.minosoft.data.text.formatting.color.ChatColors
|
|||||||
import de.bixilon.minosoft.modding.event.master.GlobalEventMaster
|
import de.bixilon.minosoft.modding.event.master.GlobalEventMaster
|
||||||
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
|
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
|
||||||
import de.bixilon.minosoft.protocol.network.connection.status.StatusConnection
|
import de.bixilon.minosoft.protocol.network.connection.status.StatusConnection
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.NettyClient
|
import de.bixilon.minosoft.protocol.network.network.client.netty.NettyClient
|
||||||
import de.bixilon.minosoft.protocol.protocol.OutByteBuffer
|
import de.bixilon.minosoft.protocol.protocol.OutByteBuffer
|
||||||
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
|
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
|
||||||
import de.bixilon.minosoft.util.account.microsoft.MicrosoftOAuthUtils
|
import de.bixilon.minosoft.util.account.microsoft.MicrosoftOAuthUtils
|
||||||
|
Loading…
x
Reference in New Issue
Block a user