no idea
This commit is contained in:
parent
b30f0856c3
commit
4024614f85
8
pom.xml
8
pom.xml
@ -119,7 +119,13 @@
|
|||||||
<artifactId>adventure-text-minimessage</artifactId>
|
<artifactId>adventure-text-minimessage</artifactId>
|
||||||
<version>4.16.0</version>
|
<version>4.16.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- Adventure ComponentLogger for colorful logging -->
|
<!-- Needed to actually display colors in ComponentLogger -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.kyori</groupId>
|
||||||
|
<artifactId>adventure-text-serializer-ansi</artifactId>
|
||||||
|
<version>4.16.0</version>
|
||||||
|
</dependency>
|
||||||
|
<!-- Adventure ComponentLogger for colorful slf4j logging -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.kyori</groupId>
|
<groupId>net.kyori</groupId>
|
||||||
<artifactId>adventure-text-logger-slf4j</artifactId>
|
<artifactId>adventure-text-logger-slf4j</artifactId>
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
package me.xginko.villageroptimizer.logging;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.logger.slf4j.ComponentLogger;
|
||||||
|
import net.kyori.adventure.text.logger.slf4j.ComponentLoggerProvider;
|
||||||
|
import net.kyori.adventure.text.serializer.ansi.ANSIComponentSerializer;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
@SuppressWarnings("UnstableApiUsage")
|
||||||
|
public final class ComponentLoggerProviderImpl implements ComponentLoggerProvider {
|
||||||
|
private static final ANSIComponentSerializer SERIALIZER = ANSIComponentSerializer.builder()
|
||||||
|
.flattener(TranslatableMapper.FLATTENER)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public @NotNull ComponentLogger logger(
|
||||||
|
final @NotNull LoggerHelper helper,
|
||||||
|
final @NotNull String name
|
||||||
|
) {
|
||||||
|
return helper.delegating(LoggerFactory.getLogger(name), SERIALIZER::serialize);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,44 @@
|
|||||||
|
package me.xginko.villageroptimizer.logging;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
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 org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.function.BiConsumer;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
public enum TranslatableMapper implements BiConsumer<TranslatableComponent, Consumer<Component>> {
|
||||||
|
INSTANCE;
|
||||||
|
|
||||||
|
public static final ComponentFlattener FLATTENER = ComponentFlattener.basic().toBuilder()
|
||||||
|
.complexMapper(TranslatableComponent.class, TranslatableMapper.INSTANCE)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void accept(
|
||||||
|
final TranslatableComponent translatableComponent,
|
||||||
|
final Consumer<Component> componentConsumer
|
||||||
|
) {
|
||||||
|
for (final Translator source : GlobalTranslator.translator().sources()) {
|
||||||
|
if (source instanceof TranslationRegistry && ((TranslationRegistry) source).contains(translatableComponent.key())) {
|
||||||
|
componentConsumer.accept(GlobalTranslator.render(translatableComponent, Locale.getDefault()));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
final @Nullable String fallback = translatableComponent.fallback();
|
||||||
|
if (fallback == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (final Translator source : GlobalTranslator.translator().sources()) {
|
||||||
|
if (source instanceof TranslationRegistry && ((TranslationRegistry) source).contains(fallback)) {
|
||||||
|
componentConsumer.accept(GlobalTranslator.render(Component.translatable(fallback), Locale.getDefault()));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
me.xginko.villageroptimizer.logging.ComponentLoggerProviderImpl
|
Loading…
x
Reference in New Issue
Block a user