Implement methods to convert between Component and Brigadier's Message

This commit is contained in:
Jason Penilla
2021-04-24 02:09:32 -07:00
parent 472880fdde
commit b9cab64e46
2 changed files with 45 additions and 15 deletions

View File

@@ -0,0 +1,30 @@
package io.papermc.paper.brigadier;
import com.mojang.brigadier.Message;
import io.papermc.paper.adventure.PaperAdventure;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.ComponentLike;
import net.minecraft.network.chat.ComponentUtils;
import org.checkerframework.checker.nullness.qual.NonNull;
import static java.util.Objects.requireNonNull;
public enum PaperBrigadierProviderImpl implements PaperBrigadierProvider {
INSTANCE;
PaperBrigadierProviderImpl() {
PaperBrigadierProvider.initialize(this);
}
@Override
public @NonNull Message message(final @NonNull ComponentLike componentLike) {
requireNonNull(componentLike, "componentLike");
return PaperAdventure.asVanilla(componentLike.asComponent());
}
@Override
public @NonNull Component componentFromMessage(final @NonNull Message message) {
requireNonNull(message, "message");
return PaperAdventure.asAdventure(ComponentUtils.fromMessage(message));
}
}