mirror of
https://github.com/Minestom/Minestom.git
synced 2025-03-12 14:49:11 +01:00
fix component flattening (#1266)
This commit is contained in:
parent
d596992c0e
commit
3690ad1623
@ -3,6 +3,8 @@ package net.minestom.server.adventure.provider;
|
||||
import net.kyori.adventure.text.TranslatableComponent;
|
||||
import net.kyori.adventure.text.flattener.ComponentFlattener;
|
||||
import net.kyori.adventure.translation.GlobalTranslator;
|
||||
import net.kyori.adventure.translation.TranslationRegistry;
|
||||
import net.kyori.adventure.translation.Translator;
|
||||
import net.minestom.server.adventure.MinestomAdventure;
|
||||
|
||||
final class MinestomFlattenerProvider {
|
||||
@ -13,8 +15,12 @@ final class MinestomFlattenerProvider {
|
||||
// handle server-side translations if needed
|
||||
builder.complexMapper(TranslatableComponent.class, ((component, consumer) -> {
|
||||
if (MinestomAdventure.AUTOMATIC_COMPONENT_TRANSLATION) {
|
||||
for (final Translator source : GlobalTranslator.translator().sources()) {
|
||||
if (source instanceof TranslationRegistry registry && registry.contains(component.key())) {
|
||||
consumer.accept(GlobalTranslator.render(component, MinestomAdventure.getDefaultLocale()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}));
|
||||
|
||||
INSTANCE = builder.build();
|
||||
|
@ -0,0 +1,20 @@
|
||||
package net.minestom.server.adventure.provider;
|
||||
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.minestom.server.adventure.MinestomAdventure;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class TranslationTest {
|
||||
|
||||
@Test
|
||||
public void testUnregisteredTranslation() {
|
||||
MinestomAdventure.AUTOMATIC_COMPONENT_TRANSLATION = true;
|
||||
try {
|
||||
MinestomFlattenerProvider.INSTANCE.flatten(Component.translatable("key.unregistered"), text -> {
|
||||
});
|
||||
} finally {
|
||||
MinestomAdventure.AUTOMATIC_COMPONENT_TRANSLATION = false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user