Skip to content

Commit e50f57c

Browse files
committed
Resend inventories + fix infinite loop when lang entry not found (lol)
1 parent 153217c commit e50f57c

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

rebar/src/main/kotlin/io/github/pylonmc/rebar/i18n/RebarTranslator.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import net.kyori.adventure.text.format.Style
2626
import net.kyori.adventure.translation.GlobalTranslator
2727
import net.kyori.adventure.translation.Translator
2828
import org.apache.commons.lang3.LocaleUtils
29+
import org.bukkit.Bukkit
2930
import org.bukkit.Material
3031
import org.bukkit.NamespacedKey
3132
import org.bukkit.event.EventHandler
@@ -92,6 +93,9 @@ class RebarTranslator private constructor(private val addon: RebarAddon) : Trans
9293
translationCache.clear()
9394
translations.clear()
9495
loadTranslations()
96+
for (player in Bukkit.getOnlinePlayers()) {
97+
NmsAccessor.instance.resendInventory(player)
98+
}
9599
}
96100

97101
override fun canTranslate(key: String, locale: Locale): Boolean {
@@ -130,7 +134,7 @@ class RebarTranslator private constructor(private val addon: RebarAddon) : Trans
130134
if (parts.size < 2) return null
131135
val (addon, key) = parts
132136
if (addon != addonNamespace) return null
133-
val translations = findTranslations(locale) ?: return null
137+
val translations = findTranslations(locale) ?: findTranslations(this.addon.defaultLanguage) ?: return null
134138
val translation = translations.get(key, ConfigAdapter.STRING) ?: return null
135139
customMiniMessage.deserialize(translation)
136140
}
@@ -146,7 +150,6 @@ class RebarTranslator private constructor(private val addon: RebarAddon) : Trans
146150
.sortedByDescending { it.weight }
147151
}
148152
return Locale.lookup(languageRange, this.translations.keys)?.let(translations::get)
149-
?: findTranslations(addon.defaultLanguage)
150153
}
151154

152155
override fun name(): Key = addon.key

0 commit comments

Comments
 (0)