MineLittlePony/src/hdskins/java/com/minelittlepony/client/hdskins/MineLPHDSkins.java

78 lines
2.8 KiB
Java
Raw Normal View History

package com.minelittlepony.client.hdskins;
2019-05-28 12:41:06 +02:00
import com.minelittlepony.client.hdskins.gui.DummyPony;
import com.minelittlepony.client.hdskins.gui.GuiSkinsMineLP;
import com.minelittlepony.client.hdskins.gui.RenderDummyPony;
2019-07-03 01:57:45 +02:00
import net.fabricmc.fabric.api.client.render.EntityRendererRegistry;
2019-05-28 12:41:06 +02:00
import net.minecraft.client.MinecraftClient;
import net.minecraft.util.Identifier;
2019-05-28 12:41:06 +02:00
import com.minelittlepony.client.MineLPClient;
2019-07-03 16:13:07 +02:00
import com.minelittlepony.client.settings.ClientPonyConfig;
2019-06-30 12:38:36 +02:00
import com.minelittlepony.client.LegacySkinConverter;
2019-05-28 12:41:06 +02:00
import com.minelittlepony.hdskins.HDSkins;
import com.minelittlepony.hdskins.net.LegacySkinServer;
import com.minelittlepony.hdskins.net.SkinServer;
import com.minelittlepony.hdskins.net.ValhallaSkinServer;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.minecraft.MinecraftProfileTexture;
import javax.annotation.Nullable;
import java.util.Map;
2019-05-28 12:41:06 +02:00
/**
* All the interactions with HD Skins.
*/
public class MineLPHDSkins extends MineLPClient {
2019-05-28 12:41:06 +02:00
private static final String MINELP_VALHALLA_SERVER = "http://skins.minelittlepony-mod.com";
private static final String MINELP_LEGACY_SERVER = "http://minelpskins.voxelmodpack.com";
private static final String MINELP_LEGACY_GATEWAY = "http://minelpskinmanager.voxelmodpack.com";
2019-07-03 01:57:45 +02:00
public MineLPHDSkins() {
SkinServer legacy = new LegacySkinServer(MINELP_LEGACY_SERVER, MINELP_LEGACY_GATEWAY);
SkinServer valhalla = new ValhallaSkinServer(MINELP_VALHALLA_SERVER);
2019-05-28 12:41:06 +02:00
// Register pony servers
HDSkins.getInstance().addSkinServer(legacy);
HDSkins.getInstance().addSkinServer(valhalla);
SkinServer.defaultServers.add(legacy);
2019-05-28 12:41:06 +02:00
// And make valhalla the default
SkinServer.defaultServers.add(0, valhalla);
2019-05-28 12:41:06 +02:00
}
/**
* Called when the game is ready.
*/
@Override
public void postInit(MinecraftClient minecraft) {
super.postInit(minecraft);
// Preview on the select skin gui
2019-07-03 01:57:45 +02:00
EntityRendererRegistry.INSTANCE.register(DummyPony.class, RenderDummyPony::new);
2019-05-28 12:41:06 +02:00
HDSkins manager = HDSkins.getInstance();
// Convert legacy pony skins
2019-06-30 12:38:36 +02:00
manager.addSkinModifier(new LegacySkinConverter());
2019-05-28 12:41:06 +02:00
// Parse trigger pixel data
manager.addSkinParser(new PonySkinParser());
// Clear ponies when skins are cleared
manager.addClearListener(getManager()::onSkinCacheCleared);
2019-05-28 12:41:06 +02:00
// Ponify the skins GUI.
manager.setSkinsGui(GuiSkinsMineLP::new);
}
2019-07-03 16:13:07 +02:00
@Override
protected ClientPonyConfig createConfig() {
return new ClientPonyConfigHDSkins();
}
@Override
public Map<MinecraftProfileTexture.Type, Identifier> getProfileTextures(@Nullable GameProfile profile) {
return HDSkins.getInstance().getTextures(profile);
}
2019-05-28 12:41:06 +02:00
}