mirror of
https://github.com/PaperMC/Paper.git
synced 2024-09-27 14:12:45 +02:00
31 lines
1.0 KiB
Java
31 lines
1.0 KiB
Java
|
package io.papermc.paper.brigadier;
|
||
|
|
||
|
import com.mojang.brigadier.Message;
|
||
|
import net.kyori.adventure.text.Component;
|
||
|
import net.kyori.adventure.text.ComponentLike;
|
||
|
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||
|
|
||
|
import static java.util.Objects.requireNonNull;
|
||
|
|
||
|
interface PaperBrigadierProvider {
|
||
|
final class Holder {
|
||
|
private static @MonotonicNonNull PaperBrigadierProvider INSTANCE;
|
||
|
}
|
||
|
|
||
|
static @NonNull PaperBrigadierProvider instance() {
|
||
|
return requireNonNull(Holder.INSTANCE, "PaperBrigadierProvider has not yet been initialized!");
|
||
|
}
|
||
|
|
||
|
static void initialize(final @NonNull PaperBrigadierProvider instance) {
|
||
|
if (Holder.INSTANCE != null) {
|
||
|
throw new IllegalStateException("PaperBrigadierProvider has already been initialized!");
|
||
|
}
|
||
|
Holder.INSTANCE = instance;
|
||
|
}
|
||
|
|
||
|
@NonNull Message message(@NonNull ComponentLike componentLike);
|
||
|
|
||
|
@NonNull Component componentFromMessage(@NonNull Message message);
|
||
|
}
|