All Downloads are FREE. Search and download functionalities are using the official Maven repository.

tech.carcadex.kotlinbukkitkit.messages.factory.impl.LegacyFactoryImpl Maven / Gradle / Ivy

package tech.carcadex.kotlinbukkitkit.messages.factory.impl;

import com.google.common.collect.Lists;
import tech.carcadex.kotlinbukkitkit.messages.model.Message;
import tech.carcadex.kotlinbukkitkit.messages.utils.MD5ColorUtils;
import tech.carcadex.kotlinbukkitkit.messages.factory.MessageFactory;
import tech.carcadex.kotlinbukkitkit.messages.model.impl.serialized.impl.LegacyMessage;
import org.bukkit.plugin.Plugin;

import java.util.List;
import java.util.stream.Collectors;

public class LegacyFactoryImpl implements MessageFactory {
    private final Plugin plugin;

    public LegacyFactoryImpl(Plugin plugin) {
        this.plugin = plugin;
    }

    @Override
    public Message message(List unparsed) {
        if(unparsed == null || unparsed.isEmpty()) return nullMessage();
        if(unparsed.stream().anyMatch(it -> it.contains("&"))) unparsed =
                unparsed.stream()
                        .map(MD5ColorUtils::translateHexColorCodes)
                        .collect(Collectors.toList());
        return new LegacyMessage(unparsed, plugin);
    }

    @Override
    public Message message(String msg) {
        if(msg == null) return nullMessage();
        return message(Lists.newArrayList(msg));
    }

    @Override
    public Message legacyMessage(List unparsed) {
        return message(unparsed);
    }

    @Override
    public Message legacyMessage(String msg) {
        return message(Lists.newArrayList(msg));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy