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