package net.CyanWool.entity.meta; import java.util.ArrayList; import java.util.List; import org.spacehq.mc.protocol.data.game.values.setting.ChatVisibility; import org.spacehq.mc.protocol.data.game.values.setting.SkinPart; import org.spacehq.mc.protocol.packet.ingame.client.ClientSettingsPacket; public final class ClientSettings { private final String locale; private final int viewDistance; private final boolean chatColors; private ChatVisibility chatVisibility; private List<SkinPart> skinParts; public ClientSettings(ClientSettingsPacket packet) { this(packet.getLocale(), packet.getRenderDistance(), packet.getChatVisibility(), packet.getUseChatColors(), packet.getVisibleParts()); } public ClientSettings(String locale, int viewDistance, ChatVisibility chatFlags, boolean chatColors, List<SkinPart> skinParts) { this.locale = locale; this.viewDistance = viewDistance; this.chatVisibility = chatFlags; this.chatColors = chatColors; this.skinParts = skinParts; } public String getLocale() { return locale; } public int getViewDistance() { return viewDistance; } public ChatVisibility getChatFlags() { return chatVisibility; } public boolean showChat() { return chatVisibility == ChatVisibility.FULL; } public boolean showCommands() { return chatVisibility != ChatVisibility.SYSTEM; } public boolean showChatColors() { return chatColors; } public List<SkinPart> getSkinParts() { return skinParts; } public static ClientSettings getDEFAULT() { List<SkinPart> list = new ArrayList<SkinPart>(); list.add(SkinPart.CAPE); list.add(SkinPart.HAT); list.add(SkinPart.JACKET); list.add(SkinPart.LEFT_PANTS_LEG); list.add(SkinPart.LEFT_SLEEVE); list.add(SkinPart.RIGHT_PANTS_LEG); list.add(SkinPart.RIGHT_SLEEVE); ClientSettings settings = new ClientSettings("en_US", 8, ChatVisibility.FULL, true, list); // Normal // - // 8 return settings; } @Override public String toString() { return "ClientSettings{" + "locale='" + locale + '\'' + ", viewDistance=" + viewDistance + ", chatFlags=" + chatVisibility.name() + ", chatColors=" + chatColors + ", skinFlags=" + skinParts + '}'; } }