mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-17 03:15:35 -04:00
mod sources: TextFormattable
This commit is contained in:
parent
d9f0404ef6
commit
56f13fbd59
@ -59,12 +59,14 @@ open class TextComponent(
|
||||
formatting.add(PreChatFormattingCodes.ITALIC); return this
|
||||
}
|
||||
|
||||
fun clickEvent(clickEvent: ClickEvent?) {
|
||||
fun clickEvent(clickEvent: ClickEvent?): TextComponent {
|
||||
this.clickEvent = clickEvent
|
||||
return this
|
||||
}
|
||||
|
||||
fun hoverEvent(hoverEvent: HoverEvent?) {
|
||||
fun hoverEvent(hoverEvent: HoverEvent?): TextComponent {
|
||||
this.hoverEvent = hoverEvent
|
||||
return this
|
||||
}
|
||||
|
||||
fun color(color: RGBColor): TextComponent {
|
||||
@ -154,15 +156,19 @@ open class TextComponent(
|
||||
obfuscatedTimeline.play()
|
||||
text.styleClass.add("obfuscated")
|
||||
}
|
||||
|
||||
PreChatFormattingCodes.BOLD -> {
|
||||
text.style += "-fx-font-weight: bold;"
|
||||
}
|
||||
|
||||
PreChatFormattingCodes.STRIKETHROUGH -> {
|
||||
text.style += "-fx-strikethrough: true;"
|
||||
}
|
||||
|
||||
PreChatFormattingCodes.UNDERLINED -> {
|
||||
text.style += "-fx-underline: true;"
|
||||
}
|
||||
|
||||
PreChatFormattingCodes.ITALIC -> {
|
||||
text.style += "-fx-font-weight: italic;"
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ class ModsController : EmbeddedJavaFXController<Pane>() {
|
||||
TranslatableComponents.GENERAL_EMPTY to { " " },
|
||||
|
||||
minosoft("mod.source") to { it.source },
|
||||
minosoft("mod.phase") to { it.phase.name.lowercase() },
|
||||
minosoft("mod.phase") to { it.phase },
|
||||
|
||||
TranslatableComponents.GENERAL_EMPTY to { " " },
|
||||
|
||||
|
@ -15,6 +15,10 @@ package de.bixilon.minosoft.modding.loader.mod.source
|
||||
|
||||
import de.bixilon.minosoft.assets.file.ZipAssetsManager
|
||||
import de.bixilon.minosoft.assets.util.FileUtil.readJson
|
||||
import de.bixilon.minosoft.data.text.BaseComponent
|
||||
import de.bixilon.minosoft.data.text.TextComponent
|
||||
import de.bixilon.minosoft.data.text.events.click.OpenFileClickEvent
|
||||
import de.bixilon.minosoft.data.text.formatting.TextFormattable
|
||||
import de.bixilon.minosoft.modding.loader.LoaderUtil
|
||||
import de.bixilon.minosoft.modding.loader.LoaderUtil.load
|
||||
import de.bixilon.minosoft.modding.loader.mod.MinosoftMod
|
||||
@ -25,7 +29,7 @@ import java.util.jar.JarInputStream
|
||||
|
||||
class ArchiveSource(
|
||||
val jar: File,
|
||||
) : ModSource {
|
||||
) : ModSource, TextFormattable {
|
||||
|
||||
override fun process(mod: MinosoftMod) {
|
||||
val stream = JarInputStream(FileInputStream(jar))
|
||||
@ -52,4 +56,8 @@ class ArchiveSource(
|
||||
override fun toString(): String {
|
||||
return "jar:$jar"
|
||||
}
|
||||
|
||||
override fun toText(): Any {
|
||||
return BaseComponent("jar:", TextComponent(jar.path).clickEvent(OpenFileClickEvent(jar)))
|
||||
}
|
||||
}
|
||||
|
@ -16,6 +16,10 @@ package de.bixilon.minosoft.modding.loader.mod.source
|
||||
import de.bixilon.kutil.latch.CountUpAndDownLatch
|
||||
import de.bixilon.minosoft.assets.directory.DirectoryAssetsManager
|
||||
import de.bixilon.minosoft.assets.util.FileUtil.readJson
|
||||
import de.bixilon.minosoft.data.text.BaseComponent
|
||||
import de.bixilon.minosoft.data.text.TextComponent
|
||||
import de.bixilon.minosoft.data.text.events.click.OpenFileClickEvent
|
||||
import de.bixilon.minosoft.data.text.formatting.TextFormattable
|
||||
import de.bixilon.minosoft.modding.loader.LoaderUtil
|
||||
import de.bixilon.minosoft.modding.loader.LoaderUtil.load
|
||||
import de.bixilon.minosoft.modding.loader.mod.MinosoftMod
|
||||
@ -24,7 +28,7 @@ import java.io.FileInputStream
|
||||
|
||||
class DirectorySource(
|
||||
val directory: File,
|
||||
) : ModSource {
|
||||
) : ModSource, TextFormattable {
|
||||
|
||||
override fun process(mod: MinosoftMod) {
|
||||
val files = directory.listFiles()!!
|
||||
@ -49,6 +53,10 @@ class DirectorySource(
|
||||
return "directory:$directory"
|
||||
}
|
||||
|
||||
override fun toText(): Any {
|
||||
return BaseComponent("directory:", TextComponent(directory.path).clickEvent(OpenFileClickEvent(directory)))
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
fun scanClasses(mod: MinosoftMod, baseDirectory: File, currentDirectory: File) {
|
||||
|
@ -16,6 +16,10 @@ package de.bixilon.minosoft.modding.loader.mod.source
|
||||
import de.bixilon.kutil.latch.CountUpAndDownLatch
|
||||
import de.bixilon.minosoft.assets.directory.DirectoryAssetsManager
|
||||
import de.bixilon.minosoft.assets.util.FileUtil.readJson
|
||||
import de.bixilon.minosoft.data.text.BaseComponent
|
||||
import de.bixilon.minosoft.data.text.TextComponent
|
||||
import de.bixilon.minosoft.data.text.events.click.OpenFileClickEvent
|
||||
import de.bixilon.minosoft.data.text.formatting.TextFormattable
|
||||
import de.bixilon.minosoft.modding.loader.LoaderUtil
|
||||
import de.bixilon.minosoft.modding.loader.mod.MinosoftMod
|
||||
import java.io.File
|
||||
@ -24,7 +28,7 @@ import java.io.FileInputStream
|
||||
class SplitDirectorySource(
|
||||
val classes: File,
|
||||
val resources: File,
|
||||
) : ModSource {
|
||||
) : ModSource, TextFormattable {
|
||||
override fun process(mod: MinosoftMod) {
|
||||
processResources(mod)
|
||||
|
||||
@ -36,7 +40,11 @@ class SplitDirectorySource(
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
return "directory:$classes|$resources"
|
||||
return "directory:$classes | $resources"
|
||||
}
|
||||
|
||||
override fun toText(): Any {
|
||||
return BaseComponent("directory:", TextComponent(classes.path).clickEvent(OpenFileClickEvent(classes)), " | ", TextComponent(resources.path).clickEvent(OpenFileClickEvent(resources)))
|
||||
}
|
||||
|
||||
private fun processResources(mod: MinosoftMod) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user