Launcher/LauncherAuthlib/src/main/java/com/mojang/authlib/minecraft/MinecraftProfileTexture.java

70 lines
1.7 KiB
Java
Raw Normal View History

2018-09-17 10:07:32 +03:00
package com.mojang.authlib.minecraft;
import java.util.Collections;
import java.util.EnumSet;
import java.util.Map;
2018-09-17 10:07:32 +03:00
import java.util.Set;
public class MinecraftProfileTexture {
2018-09-17 10:07:32 +03:00
public static final Set<Type> PROFILE_TEXTURE_TYPES = Collections.unmodifiableSet(EnumSet.allOf(Type.class));
public static final int PROFILE_TEXTURE_COUNT = PROFILE_TEXTURE_TYPES.size();
// Instance
private final String url;
private final String hash;
private final Map<String, String> metadata;
2018-09-17 10:07:32 +03:00
public MinecraftProfileTexture(String url) {
this(url, baseName(url));
}
public MinecraftProfileTexture(String url, String hash) {
this.url = url;
this.hash = hash;
this.metadata = null;
}
public MinecraftProfileTexture(String url, String hash, Map<String, String> metadata) {
this.url = url;
this.hash = hash;
this.metadata = metadata;
2018-09-17 10:07:32 +03:00
}
2020-04-05 10:27:04 +03:00
private static String baseName(String url) {
String name = url.substring(url.lastIndexOf('/') + 1);
// Remove index
int extensionIndex = name.lastIndexOf('.');
if (extensionIndex >= 0)
name = name.substring(0, extensionIndex);
// We're done
return name;
}
2018-09-17 10:07:32 +03:00
public String getHash() {
return hash;
}
public String getMetadata(String key) {
if (metadata == null) {
return null;
}
return metadata.get(key);
2018-09-17 10:07:32 +03:00
}
public String getUrl() {
return url;
}
@Override
public String toString() {
return String.format("MinecraftProfileTexture{url='%s',hash=%s}", url, hash);
}
2020-04-05 10:27:04 +03:00
public enum Type {
SKIN,
CAPE,
ELYTRA
}
2018-09-17 10:07:32 +03:00
}