mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-16 10:55:01 -04:00
deprecate some stuff, ConnectionUtil, cleanup RenderWindow a bit
This commit is contained in:
parent
79de462d77
commit
4fda0e0849
@ -18,20 +18,15 @@ import de.bixilon.kutil.latch.CountUpAndDownLatch
|
||||
import de.bixilon.kutil.math.MMath.round10
|
||||
import de.bixilon.kutil.primitive.BooleanUtil.decide
|
||||
import de.bixilon.kutil.time.TimeUtil
|
||||
import de.bixilon.minosoft.config.key.KeyAction
|
||||
import de.bixilon.minosoft.config.key.KeyBinding
|
||||
import de.bixilon.minosoft.config.key.KeyCodes
|
||||
import de.bixilon.minosoft.config.profile.delegate.watcher.SimpleProfileDelegateWatcher.Companion.profileWatch
|
||||
import de.bixilon.minosoft.data.registries.ResourceLocation
|
||||
import de.bixilon.minosoft.data.text.BaseComponent
|
||||
import de.bixilon.minosoft.data.text.ChatColors
|
||||
import de.bixilon.minosoft.data.text.ChatComponent
|
||||
import de.bixilon.minosoft.gui.rendering.camera.Camera
|
||||
import de.bixilon.minosoft.gui.rendering.font.Font
|
||||
import de.bixilon.minosoft.gui.rendering.font.FontLoader
|
||||
import de.bixilon.minosoft.gui.rendering.framebuffer.FramebufferManager
|
||||
import de.bixilon.minosoft.gui.rendering.gui.hud.atlas.TextureLike
|
||||
import de.bixilon.minosoft.gui.rendering.gui.hud.atlas.TextureLikeTexture
|
||||
import de.bixilon.minosoft.gui.rendering.input.key.DefaultKeyCombinations
|
||||
import de.bixilon.minosoft.gui.rendering.input.key.RenderWindowInputHandler
|
||||
import de.bixilon.minosoft.gui.rendering.modding.events.*
|
||||
import de.bixilon.minosoft.gui.rendering.renderer.RendererManager
|
||||
@ -40,21 +35,17 @@ import de.bixilon.minosoft.gui.rendering.stats.AbstractRenderStats
|
||||
import de.bixilon.minosoft.gui.rendering.stats.ExperimentalRenderStats
|
||||
import de.bixilon.minosoft.gui.rendering.stats.RenderStats
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.IntegratedBufferTypes
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.PolygonModes
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.RenderSystem
|
||||
import de.bixilon.minosoft.gui.rendering.system.opengl.OpenGLRenderSystem
|
||||
import de.bixilon.minosoft.gui.rendering.system.window.BaseWindow
|
||||
import de.bixilon.minosoft.gui.rendering.system.window.GLFWWindow
|
||||
import de.bixilon.minosoft.gui.rendering.tint.TintManager
|
||||
import de.bixilon.minosoft.gui.rendering.util.ScreenshotTaker
|
||||
import de.bixilon.minosoft.modding.event.events.InternalMessageReceiveEvent
|
||||
import de.bixilon.minosoft.modding.event.events.PacketReceiveEvent
|
||||
import de.bixilon.minosoft.modding.event.invoker.CallbackEventInvoker
|
||||
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.play.PositionAndRotationS2CP
|
||||
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
|
||||
import de.bixilon.minosoft.util.KUtil.format
|
||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||
import de.bixilon.minosoft.util.Stopwatch
|
||||
import de.bixilon.minosoft.util.logging.Log
|
||||
import de.bixilon.minosoft.util.logging.LogLevels
|
||||
@ -86,7 +77,6 @@ class RenderWindow(
|
||||
|
||||
var initialized = false
|
||||
private set
|
||||
private lateinit var renderThread: Thread
|
||||
lateinit var renderStats: AbstractRenderStats
|
||||
private set
|
||||
|
||||
@ -140,7 +130,6 @@ class RenderWindow(
|
||||
}
|
||||
|
||||
fun init(latch: CountUpAndDownLatch) {
|
||||
renderThread = Thread.currentThread()
|
||||
Log.log(LogMessageType.RENDERING_LOADING) { "Creating window..." }
|
||||
val stopwatch = Stopwatch()
|
||||
|
||||
@ -196,7 +185,7 @@ class RenderWindow(
|
||||
|
||||
|
||||
inputHandler.init()
|
||||
registerGlobalKeyCombinations()
|
||||
DefaultKeyCombinations.registerAll(this)
|
||||
|
||||
|
||||
connection.fireEvent(ResizeWindowEvent(previousSize = Vec2i(0, 0), size = window.size))
|
||||
@ -211,70 +200,6 @@ class RenderWindow(
|
||||
Log.log(LogMessageType.RENDERING_GENERAL) { "Showing window after ${stopwatch.totalTime()}" }
|
||||
}
|
||||
|
||||
private fun registerGlobalKeyCombinations() {
|
||||
inputHandler.registerKeyCallback("minosoft:enable_debug_polygon".toResourceLocation(),
|
||||
KeyBinding(
|
||||
mapOf(
|
||||
KeyAction.MODIFIER to setOf(KeyCodes.KEY_F4),
|
||||
KeyAction.STICKY to setOf(KeyCodes.KEY_P),
|
||||
),
|
||||
)) {
|
||||
val nextMode = it.decide(PolygonModes.LINE, PolygonModes.FILL)
|
||||
renderSystem.framebuffer = framebufferManager.world.framebuffer
|
||||
renderSystem.polygonMode = nextMode
|
||||
sendDebugMessage("Polygon mode: ${nextMode.format()}")
|
||||
}
|
||||
|
||||
inputHandler.registerKeyCallback("minosoft:quit_rendering".toResourceLocation(),
|
||||
KeyBinding(
|
||||
mapOf(
|
||||
KeyAction.RELEASE to setOf(KeyCodes.KEY_ESCAPE),
|
||||
),
|
||||
)) { window.close() }
|
||||
|
||||
inputHandler.registerKeyCallback("minosoft:take_screenshot".toResourceLocation(),
|
||||
KeyBinding(
|
||||
mapOf(
|
||||
KeyAction.PRESS to setOf(KeyCodes.KEY_F2),
|
||||
),
|
||||
ignoreConsumer = true,
|
||||
)) { screenshotTaker.takeScreenshot() }
|
||||
|
||||
inputHandler.registerKeyCallback("minosoft:pause_incoming_packets".toResourceLocation(),
|
||||
KeyBinding(
|
||||
mapOf(
|
||||
KeyAction.MODIFIER to setOf(KeyCodes.KEY_F4),
|
||||
KeyAction.STICKY to setOf(KeyCodes.KEY_I),
|
||||
),
|
||||
ignoreConsumer = true,
|
||||
)) {
|
||||
sendDebugMessage("Pausing incoming packets: ${it.format()}")
|
||||
connection.network.pauseReceiving(it)
|
||||
}
|
||||
|
||||
inputHandler.registerKeyCallback("minosoft:pause_outgoing_packets".toResourceLocation(),
|
||||
KeyBinding(
|
||||
mapOf(
|
||||
KeyAction.MODIFIER to setOf(KeyCodes.KEY_F4),
|
||||
KeyAction.STICKY to setOf(KeyCodes.KEY_O),
|
||||
),
|
||||
ignoreConsumer = true,
|
||||
)) {
|
||||
sendDebugMessage("Pausing outgoing packets: ${it.format()}")
|
||||
connection.network.pauseSending(it)
|
||||
}
|
||||
|
||||
inputHandler.registerKeyCallback("minosoft:toggle_fullscreen".toResourceLocation(),
|
||||
KeyBinding(
|
||||
mapOf(
|
||||
KeyAction.PRESS to setOf(KeyCodes.KEY_F11),
|
||||
),
|
||||
ignoreConsumer = true,
|
||||
)) {
|
||||
window.fullscreen = !window.fullscreen
|
||||
}
|
||||
}
|
||||
|
||||
fun startLoop() {
|
||||
Log.log(LogMessageType.RENDERING_LOADING) { "Starting loop" }
|
||||
var closed = false
|
||||
@ -348,12 +273,4 @@ class RenderWindow(
|
||||
// disconnect
|
||||
connection.disconnect()
|
||||
}
|
||||
|
||||
fun sendDebugMessage(message: Any) {
|
||||
connection.fireEvent(InternalMessageReceiveEvent(connection, BaseComponent(RenderConstants.DEBUG_MESSAGES_PREFIX, ChatComponent.of(message).apply { applyDefaultColor(ChatColors.BLUE) })))
|
||||
}
|
||||
|
||||
fun assertOnRenderThread() {
|
||||
check(Thread.currentThread() === renderThread) { "Current thread (${Thread.currentThread().name} is not the render thread!" }
|
||||
}
|
||||
}
|
||||
|
@ -100,7 +100,7 @@ class EntityHitboxRenderer(
|
||||
),
|
||||
), defaultPressed = profile.enabled) {
|
||||
profile.enabled = it
|
||||
renderWindow.sendDebugMessage("Entity hit boxes: ${it.format()}")
|
||||
connection.util.sendDebugMessage("Entity hit boxes: ${it.format()}")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5,6 +5,7 @@ import de.bixilon.minosoft.gui.rendering.framebuffer.gui.GUIFramebuffer
|
||||
import de.bixilon.minosoft.gui.rendering.framebuffer.world.WorldFramebuffer
|
||||
import de.bixilon.minosoft.gui.rendering.modding.events.ResizeWindowEvent
|
||||
import de.bixilon.minosoft.gui.rendering.renderer.Drawable
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.PolygonModes
|
||||
import de.bixilon.minosoft.modding.event.invoker.CallbackEventInvoker
|
||||
|
||||
class FramebufferManager(
|
||||
@ -32,6 +33,7 @@ class FramebufferManager(
|
||||
|
||||
|
||||
override fun draw() {
|
||||
renderWindow.renderSystem.polygonMode = PolygonModes.FILL
|
||||
world.draw()
|
||||
gui.draw()
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package de.bixilon.minosoft.gui.rendering.framebuffer
|
||||
import de.bixilon.minosoft.gui.rendering.RenderWindow
|
||||
import de.bixilon.minosoft.gui.rendering.renderer.Drawable
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.IntegratedBufferTypes
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.PolygonModes
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.buffer.frame.Framebuffer
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.shader.Shader
|
||||
import de.bixilon.minosoft.gui.rendering.util.mesh.Mesh
|
||||
@ -12,6 +13,7 @@ interface IntegratedFramebuffer : Drawable {
|
||||
val shader: Shader
|
||||
val framebuffer: Framebuffer
|
||||
val mesh: Mesh
|
||||
val polygonMode: PolygonModes
|
||||
|
||||
|
||||
fun init() {
|
||||
|
@ -3,6 +3,7 @@ package de.bixilon.minosoft.gui.rendering.framebuffer.gui
|
||||
import de.bixilon.minosoft.gui.rendering.RenderWindow
|
||||
import de.bixilon.minosoft.gui.rendering.framebuffer.FramebufferMesh
|
||||
import de.bixilon.minosoft.gui.rendering.framebuffer.IntegratedFramebuffer
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.PolygonModes
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.buffer.frame.Framebuffer
|
||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||
|
||||
@ -12,4 +13,5 @@ class GUIFramebuffer(
|
||||
override val shader = renderWindow.renderSystem.createShader("minosoft:framebuffer/gui".toResourceLocation())
|
||||
override val framebuffer: Framebuffer = renderWindow.renderSystem.createFramebuffer()
|
||||
override val mesh = FramebufferMesh(renderWindow)
|
||||
override var polygonMode: PolygonModes = PolygonModes.DEFAULT
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package de.bixilon.minosoft.gui.rendering.framebuffer.world
|
||||
import de.bixilon.minosoft.gui.rendering.RenderWindow
|
||||
import de.bixilon.minosoft.gui.rendering.framebuffer.FramebufferMesh
|
||||
import de.bixilon.minosoft.gui.rendering.framebuffer.IntegratedFramebuffer
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.PolygonModes
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.buffer.frame.Framebuffer
|
||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||
|
||||
@ -12,4 +13,5 @@ class WorldFramebuffer(
|
||||
override val shader = renderWindow.renderSystem.createShader("minosoft:framebuffer/world".toResourceLocation())
|
||||
override val framebuffer: Framebuffer = renderWindow.renderSystem.createFramebuffer()
|
||||
override val mesh = FramebufferMesh(renderWindow)
|
||||
override var polygonMode: PolygonModes = PolygonModes.DEFAULT
|
||||
}
|
||||
|
@ -43,6 +43,7 @@ import de.bixilon.minosoft.gui.rendering.renderer.Drawable
|
||||
import de.bixilon.minosoft.gui.rendering.renderer.Renderer
|
||||
import de.bixilon.minosoft.gui.rendering.renderer.RendererBuilder
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.IntegratedBufferTypes
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.PolygonModes
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.RenderSystem
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.buffer.frame.Framebuffer
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.phases.OtherDrawable
|
||||
@ -69,6 +70,8 @@ class HUDRenderer(
|
||||
private set
|
||||
override val framebuffer: Framebuffer
|
||||
get() = renderWindow.framebufferManager.gui.framebuffer
|
||||
override val polygonMode: PolygonModes
|
||||
get() = renderWindow.framebufferManager.gui.polygonMode
|
||||
|
||||
private val hudElements: MutableMap<ResourceLocation, HUDElement> = synchronizedMapOf()
|
||||
|
||||
|
@ -0,0 +1,80 @@
|
||||
package de.bixilon.minosoft.gui.rendering.input.key
|
||||
|
||||
import de.bixilon.kutil.primitive.BooleanUtil.decide
|
||||
import de.bixilon.minosoft.config.key.KeyAction
|
||||
import de.bixilon.minosoft.config.key.KeyBinding
|
||||
import de.bixilon.minosoft.config.key.KeyCodes
|
||||
import de.bixilon.minosoft.gui.rendering.RenderWindow
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.PolygonModes
|
||||
import de.bixilon.minosoft.util.KUtil.format
|
||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||
|
||||
object DefaultKeyCombinations {
|
||||
|
||||
fun registerAll(renderWindow: RenderWindow) {
|
||||
val inputHandler = renderWindow.inputHandler
|
||||
val window = renderWindow.window
|
||||
val connection = renderWindow.connection
|
||||
|
||||
inputHandler.registerKeyCallback("minosoft:enable_debug_polygon".toResourceLocation(),
|
||||
KeyBinding(
|
||||
mapOf(
|
||||
KeyAction.MODIFIER to setOf(KeyCodes.KEY_F4),
|
||||
KeyAction.STICKY to setOf(KeyCodes.KEY_P),
|
||||
),
|
||||
)) {
|
||||
val nextMode = it.decide(PolygonModes.LINE, PolygonModes.FILL)
|
||||
renderWindow.framebufferManager.world.polygonMode = nextMode
|
||||
connection.util.sendDebugMessage("Polygon mode: ${nextMode.format()}")
|
||||
}
|
||||
|
||||
inputHandler.registerKeyCallback("minosoft:quit_rendering".toResourceLocation(),
|
||||
KeyBinding(
|
||||
mapOf(
|
||||
KeyAction.RELEASE to setOf(KeyCodes.KEY_ESCAPE),
|
||||
),
|
||||
)) { window.close() }
|
||||
|
||||
inputHandler.registerKeyCallback("minosoft:take_screenshot".toResourceLocation(),
|
||||
KeyBinding(
|
||||
mapOf(
|
||||
KeyAction.PRESS to setOf(KeyCodes.KEY_F2),
|
||||
),
|
||||
ignoreConsumer = true,
|
||||
)) { renderWindow.screenshotTaker.takeScreenshot() }
|
||||
|
||||
inputHandler.registerKeyCallback("minosoft:pause_incoming_packets".toResourceLocation(),
|
||||
KeyBinding(
|
||||
mapOf(
|
||||
KeyAction.MODIFIER to setOf(KeyCodes.KEY_F4),
|
||||
KeyAction.STICKY to setOf(KeyCodes.KEY_I),
|
||||
),
|
||||
ignoreConsumer = true,
|
||||
)) {
|
||||
connection.util.sendDebugMessage("Pausing incoming packets: ${it.format()}")
|
||||
connection.network.pauseReceiving(it)
|
||||
}
|
||||
|
||||
inputHandler.registerKeyCallback("minosoft:pause_outgoing_packets".toResourceLocation(),
|
||||
KeyBinding(
|
||||
mapOf(
|
||||
KeyAction.MODIFIER to setOf(KeyCodes.KEY_F4),
|
||||
KeyAction.STICKY to setOf(KeyCodes.KEY_O),
|
||||
),
|
||||
ignoreConsumer = true,
|
||||
)) {
|
||||
connection.util.sendDebugMessage("Pausing outgoing packets: ${it.format()}")
|
||||
connection.network.pauseSending(it)
|
||||
}
|
||||
|
||||
inputHandler.registerKeyCallback("minosoft:toggle_fullscreen".toResourceLocation(),
|
||||
KeyBinding(
|
||||
mapOf(
|
||||
KeyAction.PRESS to setOf(KeyCodes.KEY_F11),
|
||||
),
|
||||
ignoreConsumer = true,
|
||||
)) {
|
||||
window.fullscreen = !window.fullscreen
|
||||
}
|
||||
}
|
||||
}
|
@ -65,7 +65,7 @@ class RenderWindowInputHandler(
|
||||
CursorModes.HIDDEN -> CursorModes.NORMAL
|
||||
}
|
||||
renderWindow.window.cursorMode = nextMode
|
||||
renderWindow.sendDebugMessage("Cursor mode: ${nextMode.format()}")
|
||||
connection.util.sendDebugMessage("Cursor mode: ${nextMode.format()}")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,7 @@
|
||||
package de.bixilon.minosoft.gui.rendering.renderer
|
||||
|
||||
import de.bixilon.minosoft.gui.rendering.RenderWindow
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.PolygonModes
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.RenderSystem
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.buffer.frame.Framebuffer
|
||||
|
||||
@ -22,6 +23,8 @@ interface Renderer {
|
||||
val renderSystem: RenderSystem
|
||||
val framebuffer: Framebuffer?
|
||||
get() = renderWindow.framebufferManager.world.framebuffer
|
||||
val polygonMode: PolygonModes
|
||||
get() = renderWindow.framebufferManager.world.polygonMode
|
||||
|
||||
fun init() = Unit
|
||||
|
||||
|
@ -70,7 +70,7 @@ class RendererManager(
|
||||
}
|
||||
}
|
||||
|
||||
private fun renderAll(rendererList: Collection<Renderer>) {
|
||||
private fun renderNormal(rendererList: Collection<Renderer>) {
|
||||
for (phase in RenderPhases.VALUES) {
|
||||
for (renderer in rendererList) {
|
||||
if (renderer is SkipAll && renderer.skipAll) {
|
||||
@ -83,6 +83,7 @@ class RendererManager(
|
||||
continue
|
||||
}
|
||||
renderSystem.framebuffer = renderer.framebuffer
|
||||
renderSystem.polygonMode = renderer.polygonMode
|
||||
phase.invokeSetup(renderer)
|
||||
phase.invokeDraw(renderer)
|
||||
}
|
||||
@ -93,10 +94,9 @@ class RendererManager(
|
||||
val renderers = renderers.values
|
||||
|
||||
for (renderer in renderers) {
|
||||
renderSystem.framebuffer = renderer.framebuffer
|
||||
renderer.prepareDraw()
|
||||
}
|
||||
renderAll(renderers)
|
||||
renderNormal(renderers)
|
||||
|
||||
renderSystem.framebuffer = null
|
||||
renderPre(renderers)
|
||||
@ -115,6 +115,7 @@ class RendererManager(
|
||||
if (renderer.skipPre) {
|
||||
continue
|
||||
}
|
||||
renderSystem.polygonMode = renderer.polygonMode
|
||||
renderSystem.framebuffer = renderer.framebuffer
|
||||
renderer.drawPre()
|
||||
}
|
||||
@ -131,6 +132,7 @@ class RendererManager(
|
||||
if (renderer.skipPost) {
|
||||
continue
|
||||
}
|
||||
renderSystem.polygonMode = renderer.polygonMode
|
||||
renderSystem.framebuffer = renderer.framebuffer
|
||||
renderer.drawPost()
|
||||
}
|
||||
|
@ -21,10 +21,7 @@ import de.bixilon.minosoft.gui.rendering.RenderWindow
|
||||
import de.bixilon.minosoft.gui.rendering.modding.events.CameraMatrixChangeEvent
|
||||
import de.bixilon.minosoft.gui.rendering.renderer.Renderer
|
||||
import de.bixilon.minosoft.gui.rendering.renderer.RendererBuilder
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.BlendingFunctions
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.DepthFunctions
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.RenderSystem
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.RenderingCapabilities
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.*
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.buffer.frame.Framebuffer
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.phases.PostDrawable
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.texture.texture.AbstractTexture
|
||||
@ -50,6 +47,7 @@ class SkyRenderer(
|
||||
private var updateSun: Boolean = true
|
||||
var baseColor = RenderConstants.DEFAULT_SKY_COLOR
|
||||
override val framebuffer: Framebuffer? = null
|
||||
override val polygonMode: PolygonModes = PolygonModes.DEFAULT
|
||||
|
||||
override fun init() {
|
||||
skyboxShader.load()
|
||||
|
@ -18,4 +18,8 @@ enum class PolygonModes {
|
||||
LINE,
|
||||
POINT,
|
||||
;
|
||||
|
||||
companion object {
|
||||
val DEFAULT = FILL
|
||||
}
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ class ScreenshotTaker(
|
||||
|
||||
ImageIO.write(bufferedImage, "png", file)
|
||||
|
||||
renderWindow.sendDebugMessage(BaseComponent(
|
||||
renderWindow.connection.util.sendDebugMessage(BaseComponent(
|
||||
"§aScreenshot saved to ",
|
||||
TextComponent(file.name).apply {
|
||||
color = ChatColors.WHITE
|
||||
@ -101,7 +101,7 @@ class ScreenshotTaker(
|
||||
|
||||
private fun Throwable?.fail() {
|
||||
this?.printStackTrace()
|
||||
renderWindow.sendDebugMessage("§cFailed to make a screenshot: ${this?.message}")
|
||||
renderWindow.connection.util.sendDebugMessage("§cFailed to make a screenshot: ${this?.message}")
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
@ -53,7 +53,7 @@ class ChunkBorderRenderer(
|
||||
),
|
||||
), defaultPressed = profile.chunkBorder.enabled) {
|
||||
profile.chunkBorder.enabled = it
|
||||
renderWindow.sendDebugMessage("Chunk borders: ${it.format()}")
|
||||
connection.util.sendDebugMessage("Chunk borders: ${it.format()}")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,16 @@
|
||||
package de.bixilon.minosoft.protocol.network.connection.play
|
||||
|
||||
import de.bixilon.minosoft.data.text.BaseComponent
|
||||
import de.bixilon.minosoft.data.text.ChatColors
|
||||
import de.bixilon.minosoft.data.text.ChatComponent
|
||||
import de.bixilon.minosoft.gui.rendering.RenderConstants
|
||||
import de.bixilon.minosoft.modding.event.events.InternalMessageReceiveEvent
|
||||
|
||||
class ConnectionUtil(
|
||||
private val connection: PlayConnection,
|
||||
) {
|
||||
|
||||
fun sendDebugMessage(message: Any) {
|
||||
connection.fireEvent(InternalMessageReceiveEvent(connection, BaseComponent(RenderConstants.DEBUG_MESSAGES_PREFIX, ChatComponent.of(message).apply { applyDefaultColor(ChatColors.BLUE) })))
|
||||
}
|
||||
}
|
@ -78,6 +78,7 @@ class PlayConnection(
|
||||
val tabList = TabList()
|
||||
val scoreboardManager = ScoreboardManager(this)
|
||||
val bossbarManager = BossbarManager()
|
||||
val util = ConnectionUtil(this)
|
||||
|
||||
@Deprecated(message = "PacketSender is deprecated")
|
||||
val sender = PacketSender(this)
|
||||
@ -255,11 +256,13 @@ class PlayConnection(
|
||||
latch.count = count
|
||||
}
|
||||
|
||||
@Deprecated("ToDo: Version?")
|
||||
override fun getPacketId(packetType: PacketTypes.C2S): Int {
|
||||
// ToDo: Improve speed
|
||||
return version.c2sPackets[packetType.state]?.indexOf(packetType) ?: Protocol.getPacketId(packetType) ?: error("Can not find packet $packetType for $version")
|
||||
}
|
||||
|
||||
@Deprecated("ToDo: Version?")
|
||||
override fun getPacketById(packetId: Int): PacketTypes.S2C {
|
||||
return version.s2cPackets[protocolState]?.getOrNull(packetId) ?: Protocol.getPacketById(protocolState, packetId) ?: let {
|
||||
// wtf, notchain sends play disconnect packet in login state...
|
||||
@ -274,6 +277,7 @@ class PlayConnection(
|
||||
} ?: error("Can not find packet $packetId in $protocolState for $version")
|
||||
}
|
||||
|
||||
@Deprecated("ToDo: Packet handler")
|
||||
override fun handlePacket(packet: S2CPacket) {
|
||||
if (!protocolState.connected) {
|
||||
return
|
||||
@ -292,6 +296,7 @@ class PlayConnection(
|
||||
}
|
||||
}
|
||||
|
||||
@Deprecated("ToDo: Tag manager")
|
||||
fun inTag(`object`: Any?, tagType: ResourceLocation, tag: ResourceLocation): Boolean {
|
||||
|
||||
fun fallback(): Boolean {
|
||||
|
Loading…
x
Reference in New Issue
Block a user