// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.server.core.console;

import org.jline.utils.AttributedString;
import org.jline.terminal.Terminal;
import com.hypixel.hytale.logger.backend.HytaleLoggerBackend;
import com.hypixel.hytale.server.core.util.MessageUtil;
import javax.annotation.Nonnull;
import com.hypixel.hytale.server.core.Message;
import java.util.UUID;
import com.hypixel.hytale.server.core.command.system.CommandSender;

public class ConsoleSender implements CommandSender
{
    public static final ConsoleSender INSTANCE;
    private final UUID uuid;
    
    protected ConsoleSender() {
        this.uuid = new UUID(0L, 0L);
    }
    
    @Override
    public void sendMessage(@Nonnull final Message message) {
        final Terminal terminal = ConsoleModule.get().getTerminal();
        final AttributedString attributedString = MessageUtil.toAnsiString(message);
        HytaleLoggerBackend.rawLog(attributedString.toAnsi(terminal));
    }
    
    @Nonnull
    @Override
    public String getDisplayName() {
        return "Console";
    }
    
    @Nonnull
    @Override
    public UUID getUuid() {
        return this.uuid;
    }
    
    @Override
    public boolean hasPermission(@Nonnull final String id) {
        return true;
    }
    
    @Override
    public boolean hasPermission(@Nonnull final String id, final boolean def) {
        return true;
    }
    
    static {
        INSTANCE = new ConsoleSender();
    }
}
