mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-17 11:24:56 -04:00
restrict chat mode even more
This commit is contained in:
parent
a3a98c2897
commit
f9be5680d1
@ -41,9 +41,9 @@ class SignedChatMessage(
|
|||||||
// ToDo: parent (formatting)
|
// ToDo: parent (formatting)
|
||||||
val data = type.chat.formatParameters(parameters)
|
val data = type.chat.formatParameters(parameters)
|
||||||
text = if (connection.language.canTranslate(type.chat.translationKey.toResourceLocation())) {
|
text = if (connection.language.canTranslate(type.chat.translationKey.toResourceLocation())) {
|
||||||
connection.language.translate(type.chat.translationKey.toResourceLocation(), data = data)
|
connection.language.translate(type.chat.translationKey.toResourceLocation(), restrictedMode = true, data = data)
|
||||||
} else {
|
} else {
|
||||||
Language.translate(type.chat.translationKey, data = data)
|
Language.translate(type.chat.translationKey, restrictedMode = true, data = data)
|
||||||
}
|
}
|
||||||
text.setFallbackColor(ChatUtil.DEFAULT_CHAT_COLOR)
|
text.setFallbackColor(ChatUtil.DEFAULT_CHAT_COLOR)
|
||||||
}
|
}
|
||||||
|
@ -74,11 +74,11 @@ object LanguageUtil {
|
|||||||
return this.replace("\\n", "\n")
|
return this.replace("\\n", "\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getFallbackTranslation(key: ResourceLocation?, parent: TextComponent?, vararg data: Any?): ChatComponent {
|
fun getFallbackTranslation(key: ResourceLocation?, parent: TextComponent?, restrictedMode: Boolean = false, vararg data: Any?): ChatComponent {
|
||||||
if (data.isEmpty()) {
|
if (data.isEmpty()) {
|
||||||
return ChatComponent.of(key.toString(), null, parent)
|
return ChatComponent.of(key.toString(), null, parent, restrictedMode)
|
||||||
}
|
}
|
||||||
return ChatComponent.of(key.toString() + "->" + data.contentToString(), null, parent)
|
return ChatComponent.of(key.toString() + "->" + data.contentToString(), null, parent, restrictedMode)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun loadLanguage(language: String, assetsManager: AssetsManager, json: Boolean, path: ResourceLocation): Translator {
|
fun loadLanguage(language: String, assetsManager: AssetsManager, json: Boolean, path: ResourceLocation): Translator {
|
||||||
|
@ -28,9 +28,9 @@ class Language(
|
|||||||
return data.containsKey(key?.path)
|
return data.containsKey(key?.path)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun translate(key: ResourceLocation?, parent: TextComponent?, vararg data: Any?): ChatComponent {
|
override fun translate(key: ResourceLocation?, parent: TextComponent?, restrictedMode: Boolean, vararg data: Any?): ChatComponent {
|
||||||
val placeholder = this.data[key?.path] ?: return LanguageUtil.getFallbackTranslation(key, parent, *data)
|
val placeholder = this.data[key?.path] ?: return LanguageUtil.getFallbackTranslation(key, parent, restrictedMode, *data)
|
||||||
return Companion.translate(placeholder, parent, this, *data)
|
return Companion.translate(placeholder, parent, this, restrictedMode, *data)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun toString(): String {
|
override fun toString(): String {
|
||||||
@ -42,7 +42,7 @@ class Language(
|
|||||||
private val FORMATTER_SPLIT_REGEX = "%[ds]".toRegex() // %s fell from a high place
|
private val FORMATTER_SPLIT_REGEX = "%[ds]".toRegex() // %s fell from a high place
|
||||||
|
|
||||||
|
|
||||||
fun translate(placeholder: String, parent: TextComponent? = null, translator: Translator? = null, vararg data: Any?): ChatComponent {
|
fun translate(placeholder: String, parent: TextComponent? = null, translator: Translator? = null, restrictedMode: Boolean = false, vararg data: Any?): ChatComponent {
|
||||||
|
|
||||||
val ret = BaseComponent()
|
val ret = BaseComponent()
|
||||||
|
|
||||||
@ -77,9 +77,9 @@ class Language(
|
|||||||
|
|
||||||
// create base component
|
// create base component
|
||||||
for ((index, part) in splitPlaceholder.withIndex()) {
|
for ((index, part) in splitPlaceholder.withIndex()) {
|
||||||
ret += ChatComponent.of(part, translator, parent)
|
ret += ChatComponent.of(part, translator, parent, restrictedMode)
|
||||||
if (index < data.size) {
|
if (index < data.size) {
|
||||||
ret += ChatComponent.of(arguments[index], translator, parent)
|
ret += ChatComponent.of(arguments[index], translator, parent, restrictedMode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,12 +32,12 @@ class LanguageList(
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun translate(key: ResourceLocation?, parent: TextComponent?, vararg data: Any?): ChatComponent {
|
override fun translate(key: ResourceLocation?, parent: TextComponent?, restrictedMode: Boolean, vararg data: Any?): ChatComponent {
|
||||||
for (language in list) {
|
for (language in list) {
|
||||||
if (language.canTranslate(key)) {
|
if (language.canTranslate(key)) {
|
||||||
return language.translate(key, parent, data)
|
return language.translate(key, parent, restrictedMode, data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return LanguageUtil.getFallbackTranslation(key, parent, data)
|
return LanguageUtil.getFallbackTranslation(key, parent, restrictedMode, data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -33,13 +33,13 @@ class LanguageManager(
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun translate(key: ResourceLocation?, parent: TextComponent?, vararg data: Any?): ChatComponent {
|
override fun translate(key: ResourceLocation?, parent: TextComponent?, restrictedMode: Boolean, vararg data: Any?): ChatComponent {
|
||||||
for (language in languages) {
|
for (language in languages) {
|
||||||
if (!language.canTranslate(key)) {
|
if (!language.canTranslate(key)) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
return language.translate(key, parent, *data)
|
return language.translate(key, parent, restrictedMode, *data)
|
||||||
}
|
}
|
||||||
return LanguageUtil.getFallbackTranslation(key, parent, data)
|
return LanguageUtil.getFallbackTranslation(key, parent, restrictedMode, data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,9 +27,9 @@ class MultiLanguageManager(
|
|||||||
return translators[key.namespace]?.canTranslate(key) == true
|
return translators[key.namespace]?.canTranslate(key) == true
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun translate(key: ResourceLocation?, parent: TextComponent?, vararg data: Any?): ChatComponent {
|
override fun translate(key: ResourceLocation?, parent: TextComponent?, restrictedMode: Boolean, vararg data: Any?): ChatComponent {
|
||||||
key ?: return ChatComponent.of("null: ${data.contentToString()}")
|
key ?: return ChatComponent.of("null: ${data.contentToString()}", restrictedMode = restrictedMode)
|
||||||
|
|
||||||
return translators[key.namespace]?.translate(key, parent, *data) ?: ChatComponent.of("$key: ${data.contentToString()}")
|
return translators[key.namespace]?.translate(key, parent, restrictedMode, *data) ?: ChatComponent.of("$key: ${data.contentToString()}", restrictedMode = restrictedMode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,8 @@ interface Translator {
|
|||||||
|
|
||||||
fun canTranslate(key: ResourceLocation?): Boolean
|
fun canTranslate(key: ResourceLocation?): Boolean
|
||||||
|
|
||||||
fun translate(key: ResourceLocation?, parent: TextComponent? = null, vararg data: Any?): ChatComponent
|
fun translate(key: ResourceLocation?, parent: TextComponent? = null, vararg data: Any?): ChatComponent = translate(key, parent, false, *data)
|
||||||
|
fun translate(key: ResourceLocation?, parent: TextComponent? = null, restrictedMode: Boolean = false, vararg data: Any?): ChatComponent
|
||||||
|
|
||||||
|
|
||||||
fun translate(translatable: Any?): ChatComponent {
|
fun translate(translatable: Any?): ChatComponent {
|
||||||
|
@ -150,14 +150,14 @@ class BaseComponent : ChatComponent {
|
|||||||
fun parseExtra() {
|
fun parseExtra() {
|
||||||
json["extra"].toJsonList()?.let {
|
json["extra"].toJsonList()?.let {
|
||||||
for (data in it) {
|
for (data in it) {
|
||||||
parts += ChatComponent.of(data, translator, currentParent)
|
parts += ChatComponent.of(data, translator, currentParent, restrictedMode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
json["text"]?.nullCast<String>()?.let {
|
json["text"]?.nullCast<String>()?.let {
|
||||||
if (it.indexOf(ProtocolDefinition.TEXT_COMPONENT_SPECIAL_PREFIX_CHAR) != -1) {
|
if (it.indexOf(ProtocolDefinition.TEXT_COMPONENT_SPECIAL_PREFIX_CHAR) != -1) {
|
||||||
this += ChatComponent.of(it, translator, parent)
|
this += ChatComponent.of(it, translator, parent, restrictedMode)
|
||||||
parseExtra()
|
parseExtra()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -199,7 +199,7 @@ class BaseComponent : ChatComponent {
|
|||||||
with.add(part ?: continue)
|
with.add(part ?: continue)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
parts += translator?.translate(it.toResourceLocation(), currentParent, *with.toTypedArray()) ?: ChatComponent.of(json["with"], translator, currentParent)
|
parts += translator?.translate(it.toResourceLocation(), currentParent, restrictedMode, *with.toTypedArray()) ?: ChatComponent.of(json["with"], translator, currentParent, restrictedMode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ interface ChatComponent {
|
|||||||
return raw
|
return raw
|
||||||
}
|
}
|
||||||
if (raw is Translatable && raw !is ResourceLocation) {
|
if (raw is Translatable && raw !is ResourceLocation) {
|
||||||
return (translator ?: Minosoft.LANGUAGE_MANAGER).translate(raw.translationKey, parent)
|
return (translator ?: Minosoft.LANGUAGE_MANAGER).translate(raw.translationKey, parent, restrictedMode = restrictedMode)
|
||||||
}
|
}
|
||||||
|
|
||||||
when (raw) {
|
when (raw) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user