mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-17 03:15:35 -04:00
block outline: save color in config
This commit is contained in:
parent
38248ee9fa
commit
93dc93eea7
@ -14,8 +14,12 @@
|
||||
package de.bixilon.minosoft.config.config.game
|
||||
|
||||
import com.squareup.moshi.Json
|
||||
import de.bixilon.minosoft.data.text.ChatColors
|
||||
import de.bixilon.minosoft.data.text.RGBColor
|
||||
|
||||
data class BlockOutline(
|
||||
@Json(name = "collision_boxes") val collisionBoxes: Boolean = false,
|
||||
@Json(name = "disable_z_buffer") val disableZBuffer: Boolean = false,
|
||||
@Json(name = "outline_color") val outlineColor: RGBColor = ChatColors.RED,
|
||||
@Json(name = "collision_color") val collisionColor: RGBColor = ChatColors.BLUE,
|
||||
)
|
||||
|
@ -17,7 +17,6 @@ import de.bixilon.minosoft.Minosoft
|
||||
import de.bixilon.minosoft.data.Gamemodes
|
||||
import de.bixilon.minosoft.data.mappings.ResourceLocation
|
||||
import de.bixilon.minosoft.data.mappings.blocks.BlockState
|
||||
import de.bixilon.minosoft.data.text.ChatColors
|
||||
import de.bixilon.minosoft.gui.rendering.RenderConstants
|
||||
import de.bixilon.minosoft.gui.rendering.RenderWindow
|
||||
import de.bixilon.minosoft.gui.rendering.Renderer
|
||||
@ -48,9 +47,6 @@ class BlockOutlineRenderer(
|
||||
resourceLocation = ResourceLocation(ProtocolDefinition.MINOSOFT_NAMESPACE, "chunk/block/outline"),
|
||||
)
|
||||
|
||||
private val outlineColor = ChatColors.RED
|
||||
private val collisionColor = ChatColors.BLUE
|
||||
|
||||
override fun init() {
|
||||
outlineShader.load(connection.assetsManager)
|
||||
}
|
||||
@ -115,10 +111,10 @@ class BlockOutlineRenderer(
|
||||
glDepthFunc(GL_ALWAYS)
|
||||
}
|
||||
outlineShader.use()
|
||||
outlineShader.setRGBColor("tintColor", outlineColor)
|
||||
outlineShader.setRGBColor("tintColor", Minosoft.config.config.game.other.blockOutline.outlineColor)
|
||||
outlineMesh.draw()
|
||||
collisionMesh?.let {
|
||||
outlineShader.setRGBColor("tintColor", collisionColor)
|
||||
outlineShader.setRGBColor("tintColor", Minosoft.config.config.game.other.blockOutline.collisionColor)
|
||||
it.draw()
|
||||
}
|
||||
glEnable(GL_CULL_FACE)
|
||||
|
@ -15,19 +15,23 @@ package de.bixilon.minosoft.util.json
|
||||
|
||||
import com.squareup.moshi.*
|
||||
import de.bixilon.minosoft.data.text.RGBColor
|
||||
import de.bixilon.minosoft.data.text.RGBColor.Companion.asColor
|
||||
import de.bixilon.minosoft.data.text.RGBColor.Companion.asRGBColor
|
||||
|
||||
object RGBColorSerializer : JsonAdapter<RGBColor>() {
|
||||
@FromJson
|
||||
override fun fromJson(jsonReader: JsonReader): RGBColor? {
|
||||
if (jsonReader.peek() == JsonReader.Token.NULL) {
|
||||
return null
|
||||
return when (jsonReader.peek()) {
|
||||
JsonReader.Token.NUMBER -> {
|
||||
val rgb = jsonReader.nextInt()
|
||||
if (rgb == 0) {
|
||||
return null
|
||||
}
|
||||
return rgb.asRGBColor()
|
||||
}
|
||||
JsonReader.Token.STRING -> jsonReader.nextString().asColor()
|
||||
else -> null
|
||||
}
|
||||
val rgb = jsonReader.nextInt()
|
||||
if (rgb == 0) {
|
||||
return null
|
||||
}
|
||||
return rgb.asRGBColor()
|
||||
}
|
||||
|
||||
@ToJson
|
||||
@ -36,9 +40,9 @@ object RGBColorSerializer : JsonAdapter<RGBColor>() {
|
||||
jsonWriter.nullValue()
|
||||
return
|
||||
}
|
||||
if (color.rgb == 0) {
|
||||
if (color.rgba == 0) {
|
||||
jsonWriter.nullValue()
|
||||
}
|
||||
jsonWriter.value(color.rgb)
|
||||
jsonWriter.value(color.toString())
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user