program arguments: skip specific renderers

This commit is contained in:
Bixilon 2021-11-05 13:45:07 +01:00
parent 8ac5e14ddf
commit 66396c723e
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
3 changed files with 26 additions and 1 deletions

View File

@ -50,6 +50,7 @@ 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.terminal.RunConfiguration
import de.bixilon.minosoft.util.CountUpAndDownLatch
import de.bixilon.minosoft.util.KUtil.decide
import de.bixilon.minosoft.util.KUtil.synchronizedMapOf
@ -360,8 +361,12 @@ class RenderWindow(
}
fun registerRenderer(rendererBuilder: RendererBuilder<*>) {
val resourceLocation = rendererBuilder.RESOURCE_LOCATION
if (resourceLocation in RunConfiguration.SKIP_RENDERERS) {
return
}
val renderer = rendererBuilder.build(connection, this)
rendererMap[rendererBuilder.RESOURCE_LOCATION] = renderer
rendererMap[resourceLocation] = renderer
}
fun sendDebugMessage(message: Any) {

View File

@ -13,6 +13,8 @@
package de.bixilon.minosoft.terminal
import de.bixilon.minosoft.data.registries.ResourceLocation
import de.bixilon.minosoft.util.KUtil.toResourceLocation
import net.sourceforge.argparse4j.ArgumentParsers
import net.sourceforge.argparse4j.impl.Arguments
import net.sourceforge.argparse4j.inf.ArgumentParserException
@ -50,6 +52,11 @@ object CommandLineArguments {
addArgument("--headless")
.action(Arguments.storeTrue())
.help("Disables the server list and rendering")
addArgument("--skip_renderer")
.setDefault(null)
.action(Arguments.store())
.help("Skips specific renderers")
}
fun parse(args: Array<String>) {
@ -75,5 +82,15 @@ object CommandLineArguments {
RunConfiguration.DISABLE_EROS = true
RunConfiguration.DISABLE_RENDERING = true
}
namespace.getString("skip_renderer")?.split(" ", ",", ";")?.let {
val skip: MutableList<ResourceLocation> = mutableListOf()
for (string in it) {
skip += string.toResourceLocation()
}
RunConfiguration.SKIP_RENDERERS = skip.toList()
}
}
}

View File

@ -15,6 +15,7 @@ package de.bixilon.minosoft.terminal
import com.google.common.base.StandardSystemProperty
import de.bixilon.minosoft.config.StaticConfiguration
import de.bixilon.minosoft.data.registries.ResourceLocation
import de.bixilon.minosoft.util.OSUtil
import java.io.File
@ -54,4 +55,6 @@ object RunConfiguration {
val TEMPORARY_FOLDER = System.getProperty("java.io.tmpdir", "$HOME_DIRECTORY/tmp/") + "/"
var VERSION_STRING = "Minosoft ${StaticConfiguration.VERSION}"
var SKIP_RENDERERS: List<ResourceLocation> = listOf()
}