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

57 lines
2.2 KiB
Java
Raw Normal View History

package com.minelittlepony.client.hdskins;
2019-05-28 12:41:06 +02:00
import com.minelittlepony.MineLittlePony;
import com.minelittlepony.client.ClientReadyCallback;
import com.minelittlepony.client.SkinsProxy;
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 com.minelittlepony.client.pony.PonyManager;
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;
/**
* All the interactions with HD Skins.
*/
public class MineLPHDSkins {
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() {
SkinsProxy.instance = new HDSkinsProxy();
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
ClientReadyCallback.EVENT.register(this::postInit);
2019-05-28 12:41:06 +02:00
// Preview on the select skin gui
2019-07-03 01:57:45 +02:00
EntityRendererRegistry.INSTANCE.register(DummyPony.class, RenderDummyPony::new);
}
private void postInit(MinecraftClient minecraft) {
2019-05-28 12:41:06 +02:00
HDSkins manager = HDSkins.getInstance();
// Clear ponies when skins are cleared
PonyManager ponyManager = (PonyManager) MineLittlePony.getInstance().getManager();
manager.addClearListener(ponyManager::onSkinCacheCleared);
2019-05-28 12:41:06 +02:00
// Ponify the skins GUI.
manager.setSkinsGui(GuiSkinsMineLP::new);
}
}