61 lines
1.6 KiB
Java
61 lines
1.6 KiB
Java
/**
|
|
* DeveloperCapes by Jadar
|
|
* License: MIT License
|
|
* (https://raw.github.com/jadar/DeveloperCapes/master/LICENSE)
|
|
* version 4.0.0.x
|
|
*/
|
|
package com.jadarstudios.developercapes.cape;
|
|
|
|
import java.net.URL;
|
|
|
|
import com.jadarstudios.developercapes.HDImageBuffer;
|
|
import com.mojang.authlib.minecraft.MinecraftProfileTexture;
|
|
import net.minecraft.client.Minecraft;
|
|
import net.minecraft.client.entity.AbstractClientPlayer;
|
|
import net.minecraft.client.renderer.ThreadDownloadImageData;
|
|
import net.minecraft.util.ResourceLocation;
|
|
|
|
/**
|
|
* Default Cape implementation
|
|
*
|
|
* @author jadar
|
|
*/
|
|
public class StaticCape extends AbstractCape {
|
|
public StaticCape(String name, URL url) {
|
|
this.setName(name);
|
|
this.setURL(url);
|
|
}
|
|
|
|
public StaticCape(String name) {
|
|
this(name, null);
|
|
}
|
|
|
|
@Override
|
|
public void loadTexture(AbstractClientPlayer player) {
|
|
ResourceLocation location = this.getLocation();
|
|
player.func_152121_a(MinecraftProfileTexture.Type.CAPE, location);
|
|
|
|
Minecraft.getMinecraft().renderEngine.loadTexture(location, this.getTexture());
|
|
}
|
|
|
|
@Override
|
|
public boolean isTextureLoaded(AbstractClientPlayer player) {
|
|
ResourceLocation cape = player.getLocationCape();
|
|
return cape != null;
|
|
}
|
|
|
|
public void setURL(URL url) {
|
|
if (url == null) {
|
|
this.texture = null;
|
|
return;
|
|
}
|
|
this.texture = new ThreadDownloadImageData(
|
|
null, url.toString(), null, new HDImageBuffer()
|
|
);
|
|
}
|
|
|
|
public void setName(String name) {
|
|
this.name = name;
|
|
this.location = new ResourceLocation("DevCapes/" + name);
|
|
}
|
|
} |