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

41 lines
1.4 KiB
Java
Raw Normal View History

package com.minelittlepony.client.hdskins;
2019-05-28 12:41:06 +02:00
import com.minelittlepony.client.MineLittlePony;
import com.minelittlepony.client.SkinsProxy;
import com.minelittlepony.client.hdskins.gui.DummyPony;
import com.minelittlepony.client.hdskins.gui.GuiSkinsMineLP;
2019-07-18 13:19:30 +02:00
import com.minelittlepony.client.hdskins.gui.DummyPonyRenderer;
import com.minelittlepony.common.event.ClientReadyCallback;
import com.minelittlepony.hdskins.SkinCacheClearCallback;
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;
/**
* All the interactions with HD Skins.
*/
class MineLPHDSkins {
2019-05-28 12:41:06 +02:00
MineLPHDSkins() {
SkinsProxy.instance = new HDSkinsProxy();
ClientReadyCallback.EVENT.register(this::postInit);
2019-05-28 12:41:06 +02:00
// Preview on the select skin gui
2019-07-18 13:19:30 +02:00
EntityRendererRegistry.INSTANCE.register(DummyPony.class, DummyPonyRenderer::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();
SkinCacheClearCallback.EVENT.register(ponyManager::onSkinCacheCleared);
2019-05-28 12:41:06 +02:00
// Ponify the skins GUI.
manager.getSkinServerList().setSkinsGui(GuiSkinsMineLP::new);
2019-05-28 12:41:06 +02:00
}
}