mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-13 09:26:11 -04:00
wip debug world
This commit is contained in:
parent
aaa195cdc6
commit
ee02f8bb5c
@ -56,7 +56,7 @@ class ChatNodeTest {
|
|||||||
util::class.java.getFieldOrNull("session")!!.forceSet(util, session)
|
util::class.java.getFieldOrNull("session")!!.forceSet(util, session)
|
||||||
util::class.java.getFieldOrNull("random")!!.forceSet(util, SecureRandom())
|
util::class.java.getFieldOrNull("random")!!.forceSet(util, SecureRandom())
|
||||||
session::util.forceSet(util)
|
session::util.forceSet(util)
|
||||||
session::network.forceSet(TestNetwork())
|
session::connection.forceSet(TestNetwork(session))
|
||||||
session.commands = root
|
session.commands = root
|
||||||
val stack = CommandStack(session)
|
val stack = CommandStack(session)
|
||||||
execute(CommandReader(command), stack)
|
execute(CommandReader(command), stack)
|
||||||
|
@ -13,22 +13,16 @@
|
|||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.netty.packet.receiver
|
package de.bixilon.minosoft.protocol.network.network.client.netty.packet.receiver
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.PacketHandleException
|
/*
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.test.TestNetwork
|
// TODO
|
||||||
import de.bixilon.minosoft.protocol.network.session.Session
|
|
||||||
import de.bixilon.minosoft.protocol.packets.registry.PacketType
|
|
||||||
import de.bixilon.minosoft.protocol.packets.s2c.S2CPacket
|
|
||||||
import org.testng.Assert.assertEquals
|
|
||||||
import org.testng.Assert.assertTrue
|
|
||||||
import org.testng.annotations.Test
|
|
||||||
|
|
||||||
@Test(groups = ["network"])
|
@Test(groups = ["network"])
|
||||||
class PacketReceiverTest {
|
class PacketReceiverTest {
|
||||||
val type = PacketType("test", false, false, null, null)
|
val type = PacketType("test", false, false, null, null)
|
||||||
|
|
||||||
|
|
||||||
private fun create(): PacketReceiver {
|
private fun create(): PacketReceiver {
|
||||||
val network = TestNetwork()
|
val session = createSession()
|
||||||
|
val receiver = PacketReceiver(TestNetwork(session), session)
|
||||||
return network.receiver
|
return network.receiver
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,3 +80,4 @@ class PacketReceiverTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
@ -13,18 +13,11 @@
|
|||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.netty.packet.sender
|
package de.bixilon.minosoft.protocol.network.network.client.netty.packet.sender
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.test.TestNetwork
|
/*
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PacketTestUtil.assertNoPacket
|
// TODO
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PacketTestUtil.assertPacket
|
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
|
||||||
import org.testng.Assert.assertEquals
|
|
||||||
import org.testng.Assert.assertTrue
|
|
||||||
import org.testng.annotations.Test
|
|
||||||
|
|
||||||
@Test(groups = ["network"])
|
@Test(groups = ["network"])
|
||||||
class PacketSenderTest {
|
class PacketSenderTest {
|
||||||
|
|
||||||
|
|
||||||
private fun create(): PacketSender {
|
private fun create(): PacketSender {
|
||||||
val network = TestNetwork()
|
val network = TestNetwork()
|
||||||
return network.sender
|
return network.sender
|
||||||
@ -71,3 +64,5 @@ class PacketSenderTest {
|
|||||||
override fun log(reducedLog: Boolean) = Unit
|
override fun log(reducedLog: Boolean) = Unit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
@ -13,51 +13,31 @@
|
|||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client.test
|
package de.bixilon.minosoft.protocol.network.network.client.test
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.address.ServerAddress
|
import de.bixilon.minosoft.protocol.ServerConnection
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.ClientNetwork
|
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.PacketHandleException
|
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.netty.packet.receiver.PacketReceiver
|
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.netty.packet.sender.PacketSender
|
|
||||||
import de.bixilon.minosoft.protocol.network.session.Session
|
import de.bixilon.minosoft.protocol.network.session.Session
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.SessionTestUtil.createSession
|
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
||||||
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
|
||||||
import java.util.concurrent.ConcurrentLinkedQueue
|
import java.util.concurrent.ConcurrentLinkedQueue
|
||||||
import javax.crypto.Cipher
|
|
||||||
|
|
||||||
class TestNetwork(
|
class TestNetwork(
|
||||||
session: Session = createSession(),
|
session: Session,
|
||||||
) : ClientNetwork {
|
) : ServerConnection {
|
||||||
override val sender = PacketSender(this)
|
override val identifier: String
|
||||||
override val receiver = PacketReceiver(this, session)
|
get() = "test"
|
||||||
override var connected: Boolean = true
|
override var active = false
|
||||||
override var state: ProtocolStates = ProtocolStates.PLAY
|
|
||||||
override var compressionThreshold: Int = -1
|
|
||||||
override var encrypted: Boolean = false
|
|
||||||
override val detached = false
|
|
||||||
|
|
||||||
private var queue = ConcurrentLinkedQueue<C2SPacket>()
|
private var queue = ConcurrentLinkedQueue<C2SPacket>()
|
||||||
|
|
||||||
override fun connect(address: ServerAddress, native: Boolean) {
|
override fun connect(session: Session) {
|
||||||
connected = true
|
active = true
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun disconnect() {
|
override fun disconnect() {
|
||||||
connected = false
|
active = false
|
||||||
}
|
|
||||||
|
|
||||||
override fun setupEncryption(encrypt: Cipher, decrypt: Cipher) {
|
|
||||||
encrypted = true
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun setupCompression(threshold: Int) {
|
|
||||||
this.compressionThreshold = threshold
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun detach() = Unit
|
override fun detach() = Unit
|
||||||
|
|
||||||
|
|
||||||
override fun forceSend(packet: C2SPacket) {
|
override fun send(packet: C2SPacket) {
|
||||||
if (queue.size > 15) {
|
if (queue.size > 15) {
|
||||||
// leaking
|
// leaking
|
||||||
return
|
return
|
||||||
@ -71,8 +51,4 @@ class TestNetwork(
|
|||||||
}
|
}
|
||||||
return queue.remove()
|
return queue.remove()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun handleError(error: Throwable) {
|
|
||||||
throw PacketHandleException(error)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -16,17 +16,17 @@ package de.bixilon.minosoft.protocol.network.session.play
|
|||||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||||
import de.bixilon.kutil.exception.Broken
|
import de.bixilon.kutil.exception.Broken
|
||||||
import de.bixilon.kutil.unsafe.UnsafeUtil.setUnsafeAccessible
|
import de.bixilon.kutil.unsafe.UnsafeUtil.setUnsafeAccessible
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.ClientNetwork
|
import de.bixilon.minosoft.protocol.ServerConnection
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.test.TestNetwork
|
import de.bixilon.minosoft.protocol.network.network.client.test.TestNetwork
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
||||||
|
|
||||||
object PacketTestUtil {
|
object PacketTestUtil {
|
||||||
|
|
||||||
fun PlaySession.test(): TestNetwork {
|
fun PlaySession.test(): TestNetwork {
|
||||||
return network.unsafeCast()
|
return connection.unsafeCast()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun ClientNetwork.assertPacket(expected: C2SPacket) {
|
fun ServerConnection.assertPacket(expected: C2SPacket) {
|
||||||
if (this !is TestNetwork) Broken("Not testing")
|
if (this !is TestNetwork) Broken("Not testing")
|
||||||
val found = take() ?: throw AssertionError("Expected packet $expected, but found [null]!")
|
val found = take() ?: throw AssertionError("Expected packet $expected, but found [null]!")
|
||||||
if (found::class.java != expected::class.java) {
|
if (found::class.java != expected::class.java) {
|
||||||
@ -42,7 +42,7 @@ object PacketTestUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun ClientNetwork.assertNoPacket() {
|
fun ServerConnection.assertNoPacket() {
|
||||||
if (this !is TestNetwork) Broken("Not testing")
|
if (this !is TestNetwork) Broken("Not testing")
|
||||||
val packet = take()
|
val packet = take()
|
||||||
if (packet != null) {
|
if (packet != null) {
|
||||||
@ -64,7 +64,7 @@ object PacketTestUtil {
|
|||||||
assertNoPacket()
|
assertNoPacket()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <T : C2SPacket> ClientNetwork.assertPacket(type: Class<T>): T {
|
fun <T : C2SPacket> ServerConnection.assertPacket(type: Class<T>): T {
|
||||||
if (this !is TestNetwork) Broken("Not testing")
|
if (this !is TestNetwork) Broken("Not testing")
|
||||||
val packet = take() ?: throw AssertionError("Expected packet of type $type, but found [null]!")
|
val packet = take() ?: throw AssertionError("Expected packet of type $type, but found [null]!")
|
||||||
val clazz = packet::class.java
|
val clazz = packet::class.java
|
||||||
|
@ -57,7 +57,7 @@ object SessionTestUtil {
|
|||||||
private val REGISTRIES = PlaySession::registries.field
|
private val REGISTRIES = PlaySession::registries.field
|
||||||
private val WORLD = PlaySession::world.field
|
private val WORLD = PlaySession::world.field
|
||||||
private val PLAYER = PlaySession::player.field
|
private val PLAYER = PlaySession::player.field
|
||||||
private val NETWORK = PlaySession::network.field
|
private val CONNECTION = PlaySession::connection.field
|
||||||
private val EVENTS = PlaySession::events.field
|
private val EVENTS = PlaySession::events.field
|
||||||
private val PROFILES = PlaySession::profiles.field
|
private val PROFILES = PlaySession::profiles.field
|
||||||
private val ASSETS_MANAGER = PlaySession::assetsManager.field
|
private val ASSETS_MANAGER = PlaySession::assetsManager.field
|
||||||
@ -83,7 +83,7 @@ object SessionTestUtil {
|
|||||||
WORLD.set(session, createWorld(session, light, (worldSize * 2 + 1).pow(2)))
|
WORLD.set(session, createWorld(session, light, (worldSize * 2 + 1).pow(2)))
|
||||||
PLAYER.set(session, LocalPlayerEntity(session.account, session, signature))
|
PLAYER.set(session, LocalPlayerEntity(session.account, session, signature))
|
||||||
session.player.startInit()
|
session.player.startInit()
|
||||||
NETWORK.set(session, TestNetwork(session))
|
CONNECTION.set(session, TestNetwork(session))
|
||||||
EVENTS.set(session, EventMaster())
|
EVENTS.set(session, EventMaster())
|
||||||
PROFILES.set(session, profiles)
|
PROFILES.set(session, profiles)
|
||||||
ASSETS_MANAGER.set(session, SessionAssetsManager(AssetsManagerProperties(PackProperties(version.packFormat))))
|
ASSETS_MANAGER.set(session, SessionAssetsManager(AssetsManagerProperties(PackProperties(version.packFormat))))
|
||||||
|
@ -24,7 +24,7 @@ import de.bixilon.minosoft.data.chat.signature.ChatSignatureProperties
|
|||||||
import de.bixilon.minosoft.data.chat.signature.errors.KeyExpiredError
|
import de.bixilon.minosoft.data.chat.signature.errors.KeyExpiredError
|
||||||
import de.bixilon.minosoft.data.text.TextComponent
|
import de.bixilon.minosoft.data.text.TextComponent
|
||||||
import de.bixilon.minosoft.modding.event.events.chat.ChatMessageEvent
|
import de.bixilon.minosoft.modding.event.events.chat.ChatMessageEvent
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.play.SessionDataC2SP
|
import de.bixilon.minosoft.protocol.packets.c2s.play.SessionDataC2SP
|
||||||
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
||||||
|
@ -21,7 +21,7 @@ import de.bixilon.minosoft.modding.event.events.session.play.PlaySessionCreateEv
|
|||||||
import de.bixilon.minosoft.modding.event.listener.CallbackEventListener.Companion.listen
|
import de.bixilon.minosoft.modding.event.listener.CallbackEventListener.Companion.listen
|
||||||
import de.bixilon.minosoft.modding.event.master.GlobalEventMaster
|
import de.bixilon.minosoft.modding.event.master.GlobalEventMaster
|
||||||
import de.bixilon.minosoft.modding.loader.mod.ModMain
|
import de.bixilon.minosoft.modding.loader.mod.ModMain
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ import de.bixilon.minosoft.gui.eros.modding.invoker.JavaFXEventListener
|
|||||||
import de.bixilon.minosoft.gui.eros.util.JavaFXUtil
|
import de.bixilon.minosoft.gui.eros.util.JavaFXUtil
|
||||||
import de.bixilon.minosoft.gui.eros.util.JavaFXUtil.ctext
|
import de.bixilon.minosoft.gui.eros.util.JavaFXUtil.ctext
|
||||||
import de.bixilon.minosoft.modding.event.events.KickEvent
|
import de.bixilon.minosoft.modding.event.events.KickEvent
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySessionStates
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySessionStates
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySessionStates.Companion.disconnected
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySessionStates.Companion.disconnected
|
||||||
|
@ -157,7 +157,7 @@ object RenderLoader {
|
|||||||
|
|
||||||
val latch = SimpleLatch(1)
|
val latch = SimpleLatch(1)
|
||||||
|
|
||||||
session::state.observe(this) {
|
session::state.observe(this, instant = true) {
|
||||||
if (it == PlaySessionStates.PLAYING && latch.count > 0) {
|
if (it == PlaySessionStates.PLAYING && latch.count > 0) {
|
||||||
latch.dec()
|
latch.dec()
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ import de.bixilon.minosoft.gui.rendering.gui.elements.text.TextElement
|
|||||||
import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexConsumer
|
import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexConsumer
|
||||||
import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexOptions
|
import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexOptions
|
||||||
import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2Util.EMPTY
|
import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2Util.EMPTY
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.util.KUtil.nullCompare
|
import de.bixilon.minosoft.util.KUtil.nullCompare
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ import de.bixilon.minosoft.gui.rendering.RenderContext
|
|||||||
import de.bixilon.minosoft.gui.rendering.input.key.manager.binding.BindingsManager
|
import de.bixilon.minosoft.gui.rendering.input.key.manager.binding.BindingsManager
|
||||||
import de.bixilon.minosoft.gui.rendering.system.base.PolygonModes
|
import de.bixilon.minosoft.gui.rendering.system.base.PolygonModes
|
||||||
import de.bixilon.minosoft.gui.rendering.system.window.CursorModes
|
import de.bixilon.minosoft.gui.rendering.system.window.CursorModes
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
import de.bixilon.minosoft.util.KUtil.format
|
import de.bixilon.minosoft.util.KUtil.format
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
package de.bixilon.minosoft.protocol
|
package de.bixilon.minosoft.protocol
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.address.ServerAddress
|
import de.bixilon.minosoft.protocol.address.ServerAddress
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.util.DNSUtil
|
import de.bixilon.minosoft.util.DNSUtil
|
||||||
import de.bixilon.minosoft.util.logging.Log
|
import de.bixilon.minosoft.util.logging.Log
|
||||||
import de.bixilon.minosoft.util.logging.LogMessageType
|
import de.bixilon.minosoft.util.logging.LogMessageType
|
||||||
|
@ -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.connection
|
package de.bixilon.minosoft.protocol
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.network.session.Session
|
import de.bixilon.minosoft.protocol.network.session.Session
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
@ -0,0 +1,80 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2020-2024 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.local
|
||||||
|
|
||||||
|
import de.bixilon.kotlinglm.vec3.Vec3d
|
||||||
|
import de.bixilon.kutil.observer.DataObserver.Companion.observed
|
||||||
|
import de.bixilon.minosoft.data.abilities.Gamemodes
|
||||||
|
import de.bixilon.minosoft.data.entities.entities.player.local.Abilities
|
||||||
|
import de.bixilon.minosoft.data.registries.blocks.types.building.stone.StoneBlock
|
||||||
|
import de.bixilon.minosoft.data.registries.dimension.DimensionProperties
|
||||||
|
import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft
|
||||||
|
import de.bixilon.minosoft.data.world.World
|
||||||
|
import de.bixilon.minosoft.data.world.biome.source.DummyBiomeSource
|
||||||
|
import de.bixilon.minosoft.data.world.positions.ChunkPosition
|
||||||
|
import de.bixilon.minosoft.protocol.ServerConnection
|
||||||
|
import de.bixilon.minosoft.protocol.network.session.Session
|
||||||
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySessionStates
|
||||||
|
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
||||||
|
import de.bixilon.minosoft.util.logging.Log
|
||||||
|
import de.bixilon.minosoft.util.logging.LogLevels
|
||||||
|
import de.bixilon.minosoft.util.logging.LogMessageType
|
||||||
|
|
||||||
|
class DebugConnection : ServerConnection {
|
||||||
|
override val identifier = "dbg"
|
||||||
|
override var active by observed(false)
|
||||||
|
private var detached = false
|
||||||
|
private lateinit var session: PlaySession
|
||||||
|
|
||||||
|
private fun World.createChunks(position: ChunkPosition, radius: Int) {
|
||||||
|
val biome = session.registries.biome[minecraft("plains")]
|
||||||
|
val stone = session.registries.block[StoneBlock.Block]?.states?.default
|
||||||
|
for (x in position.x - radius until position.x + radius) {
|
||||||
|
for (z in position.y - radius until position.y + radius) {
|
||||||
|
val chunk = chunks.create(ChunkPosition(x, z))
|
||||||
|
chunk.biomeSource = DummyBiomeSource(biome)
|
||||||
|
chunk[0, 0, 0] = stone
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun connect(session: Session) {
|
||||||
|
if (session !is PlaySession) throw IllegalStateException("Not a play session?")
|
||||||
|
Log.log(LogMessageType.NETWORK, LogLevels.INFO) { "Establishing debug connection" }
|
||||||
|
active = true
|
||||||
|
this.session = session
|
||||||
|
|
||||||
|
|
||||||
|
session.world.dimension = DimensionProperties()
|
||||||
|
session.player.additional.gamemode = Gamemodes.CREATIVE
|
||||||
|
session.player.abilities = Abilities(false, true, true)
|
||||||
|
session.player.physics.forceTeleport(Vec3d(0, 100, 0))
|
||||||
|
session.world.createChunks(ChunkPosition(0, 0), 5)
|
||||||
|
session.state = PlaySessionStates.PLAYING
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun disconnect() {
|
||||||
|
active = false
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun detach() {
|
||||||
|
detached = true
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun send(packet: C2SPacket) {
|
||||||
|
if (detached) return
|
||||||
|
packet.log(false)
|
||||||
|
}
|
||||||
|
}
|
@ -11,12 +11,13 @@
|
|||||||
* 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.connection
|
package de.bixilon.minosoft.protocol.network
|
||||||
|
|
||||||
import de.bixilon.kutil.concurrent.lock.thread.ThreadLock
|
import de.bixilon.kutil.concurrent.lock.thread.ThreadLock
|
||||||
import de.bixilon.kutil.observer.DataObserver
|
import de.bixilon.kutil.observer.DataObserver
|
||||||
import de.bixilon.kutil.observer.DataObserver.Companion.observe
|
import de.bixilon.kutil.observer.DataObserver.Companion.observe
|
||||||
import de.bixilon.kutil.observer.DataObserver.Companion.observed
|
import de.bixilon.kutil.observer.DataObserver.Companion.observed
|
||||||
|
import de.bixilon.minosoft.protocol.ServerConnection
|
||||||
import de.bixilon.minosoft.protocol.address.ServerAddress
|
import de.bixilon.minosoft.protocol.address.ServerAddress
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.ClientNetwork
|
import de.bixilon.minosoft.protocol.network.network.client.ClientNetwork
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.netty.NettyClient
|
import de.bixilon.minosoft.protocol.network.network.client.netty.NettyClient
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
package de.bixilon.minosoft.protocol.network.network.client
|
package de.bixilon.minosoft.protocol.network.network.client
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.netty.packet.receiver.PacketReceiver
|
import de.bixilon.minosoft.protocol.network.network.client.netty.packet.receiver.PacketReceiver
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.netty.packet.sender.PacketSender
|
import de.bixilon.minosoft.protocol.network.network.client.netty.packet.sender.PacketSender
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
||||||
|
@ -16,7 +16,7 @@ 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.exception.ExceptionUtil.catchAll
|
import de.bixilon.kutil.exception.ExceptionUtil.catchAll
|
||||||
import de.bixilon.minosoft.config.profile.profiles.other.OtherProfileManager
|
import de.bixilon.minosoft.config.profile.profiles.other.OtherProfileManager
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.ClientNetwork
|
import de.bixilon.minosoft.protocol.network.network.client.ClientNetwork
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.NetworkException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.NetworkException
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.PacketHandleException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.PacketHandleException
|
||||||
|
@ -53,8 +53,8 @@ import de.bixilon.minosoft.modding.event.events.session.play.PlaySessionCreateEv
|
|||||||
import de.bixilon.minosoft.modding.event.listener.CallbackEventListener.Companion.listen
|
import de.bixilon.minosoft.modding.event.listener.CallbackEventListener.Companion.listen
|
||||||
import de.bixilon.minosoft.modding.event.master.GlobalEventMaster
|
import de.bixilon.minosoft.modding.event.master.GlobalEventMaster
|
||||||
import de.bixilon.minosoft.modding.loader.phase.DefaultModPhases
|
import de.bixilon.minosoft.modding.loader.phase.DefaultModPhases
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.ServerConnection
|
||||||
import de.bixilon.minosoft.protocol.connection.ServerConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.Session
|
import de.bixilon.minosoft.protocol.network.session.Session
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.channel.DefaultChannelHandlers
|
import de.bixilon.minosoft.protocol.network.session.play.channel.DefaultChannelHandlers
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.channel.SessionChannelHandler
|
import de.bixilon.minosoft.protocol.network.session.play.channel.SessionChannelHandler
|
||||||
@ -249,8 +249,8 @@ class PlaySession(
|
|||||||
|
|
||||||
private fun establish(latch: AbstractLatch?) {
|
private fun establish(latch: AbstractLatch?) {
|
||||||
latch?.dec() // remove initial value
|
latch?.dec() // remove initial value
|
||||||
connection.connect(this)
|
|
||||||
state = PlaySessionStates.ESTABLISHING
|
state = PlaySessionStates.ESTABLISHING
|
||||||
|
connection.connect(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun establishRendering(latch: AbstractLatch?) {
|
private fun establishRendering(latch: AbstractLatch?) {
|
||||||
|
@ -16,7 +16,7 @@ package de.bixilon.minosoft.protocol.network.session.play.channel.login
|
|||||||
import de.bixilon.kutil.cast.CastUtil.nullCast
|
import de.bixilon.kutil.cast.CastUtil.nullCast
|
||||||
import de.bixilon.kutil.collections.CollectionUtil.toSynchronizedList
|
import de.bixilon.kutil.collections.CollectionUtil.toSynchronizedList
|
||||||
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
|
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.channel.ChannelManager
|
import de.bixilon.minosoft.protocol.network.session.play.channel.ChannelManager
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.login.ChannelC2SP
|
import de.bixilon.minosoft.protocol.packets.c2s.login.ChannelC2SP
|
||||||
|
@ -16,7 +16,7 @@ package de.bixilon.minosoft.protocol.network.session.play.channel.play
|
|||||||
import de.bixilon.kutil.cast.CastUtil.nullCast
|
import de.bixilon.kutil.cast.CastUtil.nullCast
|
||||||
import de.bixilon.kutil.collections.CollectionUtil.toSynchronizedList
|
import de.bixilon.kutil.collections.CollectionUtil.toSynchronizedList
|
||||||
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
|
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.channel.ChannelManager
|
import de.bixilon.minosoft.protocol.network.session.play.channel.ChannelManager
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.common.ChannelC2SP
|
import de.bixilon.minosoft.protocol.packets.c2s.common.ChannelC2SP
|
||||||
|
@ -17,7 +17,7 @@ import de.bixilon.kutil.cast.CastUtil.nullCast
|
|||||||
import de.bixilon.kutil.observer.DataObserver.Companion.observe
|
import de.bixilon.kutil.observer.DataObserver.Companion.observe
|
||||||
import de.bixilon.kutil.observer.set.SetObserver.Companion.observeSet
|
import de.bixilon.kutil.observer.set.SetObserver.Companion.observeSet
|
||||||
import de.bixilon.minosoft.data.language.LanguageUtil
|
import de.bixilon.minosoft.data.language.LanguageUtil
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.common.SettingsC2SP
|
import de.bixilon.minosoft.protocol.packets.c2s.common.SettingsC2SP
|
||||||
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
||||||
|
@ -31,7 +31,7 @@ import de.bixilon.minosoft.modding.event.events.chat.ChatMessageEvent
|
|||||||
import de.bixilon.minosoft.modding.event.events.chat.ChatMessageSendEvent
|
import de.bixilon.minosoft.modding.event.events.chat.ChatMessageSendEvent
|
||||||
import de.bixilon.minosoft.modding.event.events.container.ContainerCloseEvent
|
import de.bixilon.minosoft.modding.event.events.container.ContainerCloseEvent
|
||||||
import de.bixilon.minosoft.protocol.ProtocolUtil.encodeNetwork
|
import de.bixilon.minosoft.protocol.ProtocolUtil.encodeNetwork
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.play.chat.ChatMessageC2SP
|
import de.bixilon.minosoft.protocol.packets.c2s.play.chat.ChatMessageC2SP
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.play.chat.CommandC2SP
|
import de.bixilon.minosoft.protocol.packets.c2s.play.chat.CommandC2SP
|
||||||
|
@ -18,7 +18,7 @@ import de.bixilon.kutil.observer.DataObserver.Companion.observed
|
|||||||
import de.bixilon.minosoft.modding.event.events.session.status.StatusSessionCreateEvent
|
import de.bixilon.minosoft.modding.event.events.session.status.StatusSessionCreateEvent
|
||||||
import de.bixilon.minosoft.modding.event.master.GlobalEventMaster
|
import de.bixilon.minosoft.modding.event.master.GlobalEventMaster
|
||||||
import de.bixilon.minosoft.protocol.AddressResolver
|
import de.bixilon.minosoft.protocol.AddressResolver
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.Session
|
import de.bixilon.minosoft.protocol.network.session.Session
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.handshake.HandshakeC2SP
|
import de.bixilon.minosoft.protocol.packets.c2s.handshake.HandshakeC2SP
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.status.StatusRequestC2SP
|
import de.bixilon.minosoft.protocol.packets.c2s.status.StatusRequestC2SP
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
package de.bixilon.minosoft.protocol.packets.registry
|
package de.bixilon.minosoft.protocol.packets.registry
|
||||||
|
|
||||||
import de.bixilon.kutil.cast.CastUtil.nullCast
|
import de.bixilon.kutil.cast.CastUtil.nullCast
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.PacketBufferUnderflowException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.PacketBufferUnderflowException
|
||||||
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.implementation.PacketNotImplementedException
|
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.implementation.PacketNotImplementedException
|
||||||
import de.bixilon.minosoft.protocol.network.session.Session
|
import de.bixilon.minosoft.protocol.network.session.Session
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
package de.bixilon.minosoft.protocol.packets.s2c.common
|
package de.bixilon.minosoft.protocol.packets.s2c.common
|
||||||
|
|
||||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
||||||
import de.bixilon.minosoft.protocol.protocol.buffers.play.PlayInByteBuffer
|
import de.bixilon.minosoft.protocol.protocol.buffers.play.PlayInByteBuffer
|
||||||
|
@ -15,7 +15,7 @@ package de.bixilon.minosoft.protocol.packets.s2c.common
|
|||||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||||
import de.bixilon.minosoft.data.text.ChatComponent
|
import de.bixilon.minosoft.data.text.ChatComponent
|
||||||
import de.bixilon.minosoft.modding.event.events.KickEvent
|
import de.bixilon.minosoft.modding.event.events.KickEvent
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySessionStates
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySessionStates
|
||||||
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
package de.bixilon.minosoft.protocol.packets.s2c.configuration
|
package de.bixilon.minosoft.protocol.packets.s2c.configuration
|
||||||
|
|
||||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.configuration.ReadyC2SP
|
import de.bixilon.minosoft.protocol.packets.c2s.configuration.ReadyC2SP
|
||||||
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
||||||
|
@ -15,7 +15,7 @@ package de.bixilon.minosoft.protocol.packets.s2c.login
|
|||||||
import com.google.common.primitives.Longs
|
import com.google.common.primitives.Longs
|
||||||
import de.bixilon.kutil.base64.Base64Util.toBase64
|
import de.bixilon.kutil.base64.Base64Util.toBase64
|
||||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.login.EncryptionC2SP
|
import de.bixilon.minosoft.protocol.packets.c2s.login.EncryptionC2SP
|
||||||
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
||||||
|
@ -15,7 +15,7 @@ package de.bixilon.minosoft.protocol.packets.s2c.login
|
|||||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||||
import de.bixilon.minosoft.data.entities.entities.player.properties.PlayerProperties
|
import de.bixilon.minosoft.data.entities.entities.player.properties.PlayerProperties
|
||||||
import de.bixilon.minosoft.data.text.ChatComponent
|
import de.bixilon.minosoft.data.text.ChatComponent
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.channel.vanila.BrandHandler.sendBrand
|
import de.bixilon.minosoft.protocol.network.session.play.channel.vanila.BrandHandler.sendBrand
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.login.ConfigureC2SP
|
import de.bixilon.minosoft.protocol.packets.c2s.login.ConfigureC2SP
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
package de.bixilon.minosoft.protocol.packets.s2c.play
|
package de.bixilon.minosoft.protocol.packets.s2c.play
|
||||||
|
|
||||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.play.ReconfigureC2SP
|
import de.bixilon.minosoft.protocol.packets.c2s.play.ReconfigureC2SP
|
||||||
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
||||||
|
@ -19,13 +19,13 @@ import de.bixilon.kutil.shutdown.ShutdownManager
|
|||||||
import de.bixilon.minosoft.config.profile.profiles.account.AccountProfileManager
|
import de.bixilon.minosoft.config.profile.profiles.account.AccountProfileManager
|
||||||
import de.bixilon.minosoft.data.accounts.Account
|
import de.bixilon.minosoft.data.accounts.Account
|
||||||
import de.bixilon.minosoft.protocol.address.ServerAddress
|
import de.bixilon.minosoft.protocol.address.ServerAddress
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.local.DebugConnection
|
||||||
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySessionStates.Companion.disconnected
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySessionStates.Companion.disconnected
|
||||||
import de.bixilon.minosoft.protocol.network.session.status.StatusSession
|
import de.bixilon.minosoft.protocol.network.session.status.StatusSession
|
||||||
import de.bixilon.minosoft.protocol.versions.Version
|
import de.bixilon.minosoft.protocol.versions.Version
|
||||||
import de.bixilon.minosoft.protocol.versions.Versions
|
import de.bixilon.minosoft.protocol.versions.Versions
|
||||||
import de.bixilon.minosoft.util.DNSUtil
|
|
||||||
import de.bixilon.minosoft.util.logging.Log
|
import de.bixilon.minosoft.util.logging.Log
|
||||||
import de.bixilon.minosoft.util.logging.LogLevels
|
import de.bixilon.minosoft.util.logging.LogLevels
|
||||||
import de.bixilon.minosoft.util.logging.LogMessageType
|
import de.bixilon.minosoft.util.logging.LogMessageType
|
||||||
@ -53,6 +53,25 @@ object AutoConnect {
|
|||||||
session.connect()
|
session.connect()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun debug(version: Version, account: Account) {
|
||||||
|
val session = PlaySession(
|
||||||
|
connection = DebugConnection(),
|
||||||
|
account = account,
|
||||||
|
version = version,
|
||||||
|
)
|
||||||
|
if (RunConfiguration.DISABLE_EROS) {
|
||||||
|
session::state.observe(this) {
|
||||||
|
if (it.disconnected) {
|
||||||
|
Log.log(LogMessageType.AUTO_CONNECT, LogLevels.INFO) { "Disconnected from server, exiting..." }
|
||||||
|
ShutdownManager.shutdown()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
session::error.observe(this) { ShutdownManager.shutdown(reason = AbstractShutdownReason.CRASH) }
|
||||||
|
Log.log(LogMessageType.AUTO_CONNECT, LogLevels.INFO) { "Connecting to debug, with version $version using account $account..." }
|
||||||
|
session.connect()
|
||||||
|
}
|
||||||
|
|
||||||
fun autoConnect(connectString: String) {
|
fun autoConnect(connectString: String) {
|
||||||
// ToDo: Show those connections in eros
|
// ToDo: Show those connections in eros
|
||||||
val split = connectString.split(',')
|
val split = connectString.split(',')
|
||||||
@ -63,7 +82,7 @@ object AutoConnect {
|
|||||||
val account = accountProfile.entries[split.getOrNull(2)] ?: accountProfile.selected ?: throw RuntimeException("Auto connect: Account not found! Have you started normal before or added an account?")
|
val account = accountProfile.entries[split.getOrNull(2)] ?: accountProfile.selected ?: throw RuntimeException("Auto connect: Account not found! Have you started normal before or added an account?")
|
||||||
|
|
||||||
Log.log(LogMessageType.AUTO_CONNECT, LogLevels.INFO) { "Checking account..." }
|
Log.log(LogMessageType.AUTO_CONNECT, LogLevels.INFO) { "Checking account..." }
|
||||||
account.tryCheck(null)
|
// account.tryCheck(null)
|
||||||
|
|
||||||
if (version == Versions.AUTOMATIC) {
|
if (version == Versions.AUTOMATIC) {
|
||||||
Log.log(LogMessageType.AUTO_CONNECT, LogLevels.INFO) { "Pinging server to get version..." }
|
Log.log(LogMessageType.AUTO_CONNECT, LogLevels.INFO) { "Pinging server to get version..." }
|
||||||
@ -74,6 +93,8 @@ object AutoConnect {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
autoConnect(DNSUtil.resolveServerAddress(address).first(), version, account)
|
debug(version, account)
|
||||||
|
|
||||||
|
// autoConnect(DNSUtil.resolveServerAddress(address).first(), version, account)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import de.bixilon.minosoft.commands.stack.print.PrintTarget
|
|||||||
import de.bixilon.minosoft.config.profile.profiles.account.AccountProfileManager
|
import de.bixilon.minosoft.config.profile.profiles.account.AccountProfileManager
|
||||||
import de.bixilon.minosoft.data.accounts.Account
|
import de.bixilon.minosoft.data.accounts.Account
|
||||||
import de.bixilon.minosoft.protocol.address.ServerAddress
|
import de.bixilon.minosoft.protocol.address.ServerAddress
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
import de.bixilon.minosoft.protocol.network.session.status.StatusSession
|
import de.bixilon.minosoft.protocol.network.session.status.StatusSession
|
||||||
import de.bixilon.minosoft.protocol.versions.Version
|
import de.bixilon.minosoft.protocol.versions.Version
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
package de.bixilon.minosoft.util.crash.section
|
package de.bixilon.minosoft.util.crash.section
|
||||||
|
|
||||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||||
|
|
||||||
class SessionCrashSection(
|
class SessionCrashSection(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user