Sunburst/server/src/main/java/dev/plex/util/ObjectHolder.java

62 lines
1.7 KiB
Java

package dev.plex.util;
import dev.plex.permission.IPermissionHandler;
import dev.plex.plugin.PluginBase;
import dev.plex.storage.IStorage;
import io.papermc.paper.chat.ChatRenderer;
import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class ObjectHolder implements PluginBase, ChatRenderer
{
private IPermissionHandler permissionHandler;
private IStorage storageSystem;
private ChatRenderer chatRenderer;
@Override
public IPermissionHandler getPermissionHandler()
{
return this.permissionHandler;
}
@Override
public void setPermissionHandler(IPermissionHandler permissionHandler)
{
this.permissionHandler = permissionHandler;
}
@Override
public IStorage getStorageSystem()
{
return this.storageSystem;
}
@Override
public void setStorageSystem(IStorage storageSystem)
{
this.storageSystem = storageSystem;
}
@Override
public ChatRenderer getChatRenderer()
{
return chatRenderer;
}
@Override
public void setChatRenderer(ChatRenderer renderer)
{
this.chatRenderer = renderer;
}
@Override
public @NotNull Component render(@NotNull Player source, @NotNull Component sourceDisplayName, @NotNull Component message, @NotNull Audience viewer)
{
return ComponentUtil.configComponent("chatFormat", MiniMessage.miniMessage().serialize(source.displayName()), PlainTextComponentSerializer.plainText().serialize(message));
}
}