util: shortcut for minosoft namespace

This commit is contained in:
Bixilon 2022-08-16 22:41:05 +02:00
parent b3d36351ca
commit acff5fc660
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
9 changed files with 25 additions and 23 deletions

View File

@ -30,7 +30,6 @@ import de.bixilon.minosoft.config.profile.profiles.eros.ErosProfileManager
import de.bixilon.minosoft.data.language.LanguageManager.Companion.load
import de.bixilon.minosoft.data.language.MultiLanguageManager
import de.bixilon.minosoft.data.registries.DefaultRegistries
import de.bixilon.minosoft.data.registries.ResourceLocation
import de.bixilon.minosoft.data.registries.versions.Versions
import de.bixilon.minosoft.gui.eros.Eros
import de.bixilon.minosoft.gui.eros.XStartOnFirstThreadWarning
@ -49,6 +48,7 @@ import de.bixilon.minosoft.terminal.RunConfiguration
import de.bixilon.minosoft.terminal.cli.CLI
import de.bixilon.minosoft.util.GitInfo
import de.bixilon.minosoft.util.KUtil
import de.bixilon.minosoft.util.KUtil.minosoft
import de.bixilon.minosoft.util.RenderPolling
import de.bixilon.minosoft.util.YggdrasilUtil
import de.bixilon.minosoft.util.logging.Log
@ -128,7 +128,7 @@ object Minosoft {
val language = ErosProfileManager.selected.general.language
ErosProfileManager.selected.general::language.profileWatch(this, true) {
Log.log(LogMessageType.OTHER, LogLevels.VERBOSE) { "Loading language files (${language})" }
LANGUAGE_MANAGER.translators[ProtocolDefinition.MINOSOFT_NAMESPACE] = load(it, null, MINOSOFT_ASSETS_MANAGER, ResourceLocation(ProtocolDefinition.MINOSOFT_NAMESPACE, "language/"))
LANGUAGE_MANAGER.translators[ProtocolDefinition.MINOSOFT_NAMESPACE] = load(it, null, MINOSOFT_ASSETS_MANAGER, minosoft("language/"))
Log.log(LogMessageType.OTHER, LogLevels.VERBOSE) { "Language files loaded!" }
}
}

View File

@ -1,6 +1,6 @@
/*
* Minosoft
* Copyright (C) 2022 Moritz Zwerger
* 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.
*
@ -13,8 +13,8 @@
package de.bixilon.minosoft.data.language
import de.bixilon.minosoft.data.registries.ResourceLocation
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
import de.bixilon.minosoft.util.KUtil.minosoft
import de.bixilon.minosoft.util.KUtil.toResourceLocation
object LanguageUtil {
@ -23,7 +23,7 @@ object LanguageUtil {
fun String?.i18n(): Translated {
val resourceLocation = this.toResourceLocation()
if (resourceLocation.namespace == ProtocolDefinition.DEFAULT_NAMESPACE) {
return Translated(ResourceLocation(ProtocolDefinition.MINOSOFT_NAMESPACE, resourceLocation.path))
return Translated(minosoft(resourceLocation.path))
}
return Translated(resourceLocation)
}

View File

@ -13,16 +13,15 @@
package de.bixilon.minosoft.gui.rendering
import de.bixilon.minosoft.data.registries.ResourceLocation
import de.bixilon.minosoft.gui.rendering.system.base.shader.Shader.Companion.loadAnimated
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
import de.bixilon.minosoft.util.KUtil.minosoft
class ShaderManager(
val renderWindow: RenderWindow,
) {
val genericColorShader = renderWindow.renderSystem.createShader(ResourceLocation(ProtocolDefinition.MINOSOFT_NAMESPACE, "generic/color"))
val genericTextureShader = renderWindow.renderSystem.createShader(ResourceLocation(ProtocolDefinition.MINOSOFT_NAMESPACE, "generic/texture"))
val genericTexture2dShader = renderWindow.renderSystem.createShader(ResourceLocation(ProtocolDefinition.MINOSOFT_NAMESPACE, "generic/texture_2d"))
val genericColorShader = renderWindow.renderSystem.createShader(minosoft("generic/color"))
val genericTextureShader = renderWindow.renderSystem.createShader(minosoft("generic/texture"))
val genericTexture2dShader = renderWindow.renderSystem.createShader(minosoft("generic/texture_2d"))
fun postInit() {

View File

@ -41,6 +41,7 @@ import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnectionStates
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnectionStates.Companion.disconnected
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
import de.bixilon.minosoft.util.KUtil.minosoft
import de.bixilon.minosoft.util.chunk.ChunkUtil.isInViewDistance
import de.bixilon.minosoft.util.collections.floats.DirectArrayFloatList
@ -51,8 +52,8 @@ class ParticleRenderer(
) : Renderer, TransparentDrawable, TranslucentDrawable, SkipAll, AbstractParticleRenderer {
override val renderSystem: RenderSystem = renderWindow.renderSystem
private val profile = connection.profiles.particle
private val transparentShader: Shader = renderSystem.createShader(ResourceLocation(ProtocolDefinition.MINOSOFT_NAMESPACE, "particle"))
private val translucentShader: Shader = renderSystem.createShader(ResourceLocation(ProtocolDefinition.MINOSOFT_NAMESPACE, "particle"))
private val transparentShader: Shader = renderSystem.createShader(minosoft("particle"))
private val translucentShader: Shader = renderSystem.createShader(minosoft("particle"))
// There is no opaque mesh because it is simply not needed (every particle has transparency)
private var transparentMesh = ParticleMesh(renderWindow, DirectArrayFloatList(RenderConstants.MAXIMUM_PARTICLE_AMOUNT * ParticleMesh.ParticleMeshStruct.FLOATS_PER_VERTEX))

View File

@ -13,17 +13,16 @@
package de.bixilon.minosoft.gui.rendering.skeletal
import de.bixilon.minosoft.data.registries.ResourceLocation
import de.bixilon.minosoft.gui.rendering.RenderWindow
import de.bixilon.minosoft.gui.rendering.skeletal.instance.SkeletalInstance
import de.bixilon.minosoft.gui.rendering.system.base.shader.Shader.Companion.loadAnimated
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
import de.bixilon.minosoft.util.KUtil.minosoft
import org.lwjgl.system.MemoryUtil.memAllocFloat
class SkeletalManager(
val renderWindow: RenderWindow,
) {
val shader = renderWindow.renderSystem.createShader(ResourceLocation(ProtocolDefinition.MINOSOFT_NAMESPACE, "skeletal"))
val shader = renderWindow.renderSystem.createShader(minosoft("skeletal"))
private val uniformBuffer = renderWindow.renderSystem.createFloatUniformBuffer(memAllocFloat(TRANSFORMS * MAT4_SIZE))
fun init() {

View File

@ -34,15 +34,15 @@ import de.bixilon.minosoft.gui.rendering.util.mesh.SimpleTextureMesh
import de.bixilon.minosoft.modding.event.events.TimeChangeEvent
import de.bixilon.minosoft.modding.event.invoker.CallbackEventInvoker
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
import de.bixilon.minosoft.util.KUtil.minosoft
class SkyRenderer(
private val connection: PlayConnection,
override val renderWindow: RenderWindow,
) : Renderer, PreDrawable {
override val renderSystem: RenderSystem = renderWindow.renderSystem
private val skyboxShader = renderSystem.createShader(ResourceLocation(ProtocolDefinition.MINOSOFT_NAMESPACE, "sky/skybox"))
private val skySunShader = renderSystem.createShader(ResourceLocation(ProtocolDefinition.MINOSOFT_NAMESPACE, "sky/sun"))
private val skyboxShader = renderSystem.createShader(minosoft("sky/skybox"))
private val skySunShader = renderSystem.createShader(minosoft("sky/sun"))
private val skyboxMesh = SkyboxMesh(renderWindow)
private var skySunMesh = SimpleTextureMesh(renderWindow)
private lateinit var sunTexture: AbstractTexture

View File

@ -30,14 +30,14 @@ import de.bixilon.minosoft.gui.rendering.system.base.shader.ShaderUniforms
import de.bixilon.minosoft.gui.rendering.system.base.texture.texture.AbstractTexture
import de.bixilon.minosoft.gui.rendering.textures.TextureUtil.texture
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
import de.bixilon.minosoft.util.KUtil.minosoft
import de.bixilon.minosoft.util.KUtil.toResourceLocation
class WorldBorderRenderer(
override val renderWindow: RenderWindow,
) : Renderer, TranslucentDrawable {
override val renderSystem: RenderSystem = renderWindow.renderSystem
private val shader = renderSystem.createShader(ResourceLocation(ProtocolDefinition.MINOSOFT_NAMESPACE, "world/border"))
private val shader = renderSystem.createShader(minosoft("world/border"))
private var borderMesh = WorldBorderMesh(renderWindow)
private val border = renderWindow.connection.world.border
private lateinit var texture: AbstractTexture

View File

@ -18,9 +18,8 @@ import de.bixilon.kutil.primitive.BooleanUtil.toBoolean
import de.bixilon.kutil.primitive.IntUtil.toInt
import de.bixilon.minosoft.Minosoft
import de.bixilon.minosoft.assets.util.FileUtil.readJsonObject
import de.bixilon.minosoft.data.registries.ResourceLocation
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
import de.bixilon.minosoft.terminal.RunConfiguration
import de.bixilon.minosoft.util.KUtil.minosoft
import de.bixilon.minosoft.util.logging.Log
import de.bixilon.minosoft.util.logging.LogLevels
import de.bixilon.minosoft.util.logging.LogMessageType
@ -80,7 +79,7 @@ object GitInfo {
fun load() {
try {
val dateFormat: DateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZZZ")
val json = Minosoft.MINOSOFT_ASSETS_MANAGER[ResourceLocation(ProtocolDefinition.MINOSOFT_NAMESPACE, "git.json")].readJsonObject()
val json = Minosoft.MINOSOFT_ASSETS_MANAGER[minosoft("git.json")].readJsonObject()
GIT_BRANCH = json["git.branch"].unsafeCast()
GIT_BUILD_HOST_BRANCH = json["git.build.host"].unsafeCast()
GIT_BUILD_TIME = dateFormat.parse(json["git.build.time"].unsafeCast()).time

View File

@ -71,6 +71,10 @@ object KUtil {
}
}
fun minosoft(path: String): ResourceLocation {
return ResourceLocation(ProtocolDefinition.MINOSOFT_NAMESPACE, path)
}
fun <T> T.synchronizedDeepCopy(): T {
return when (this) {
is Map<*, *> -> {