2019-06-27 02:33:05 +02:00
|
|
|
package com.minelittlepony.client.hdskins;
|
2019-05-28 12:41:06 +02:00
|
|
|
|
2019-07-08 04:47:13 +02:00
|
|
|
import com.minelittlepony.client.MineLittlePony;
|
2019-06-30 04:01:28 +02:00
|
|
|
import com.minelittlepony.client.SkinsProxy;
|
2019-06-27 02:33:05 +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-08 04:47:13 +02:00
|
|
|
import com.minelittlepony.common.event.ClientReadyCallback;
|
2019-07-11 03:32:36 +02:00
|
|
|
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;
|
2019-06-27 02:33:05 +02:00
|
|
|
|
2019-06-30 04:01:28 +02:00
|
|
|
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.
|
|
|
|
*/
|
2019-07-04 05:40:56 +02:00
|
|
|
class MineLPHDSkins {
|
2019-05-28 12:41:06 +02:00
|
|
|
|
2019-07-11 03:23:58 +02:00
|
|
|
MineLPHDSkins() {
|
2019-06-30 04:01:28 +02:00
|
|
|
SkinsProxy.instance = new HDSkinsProxy();
|
|
|
|
|
|
|
|
ClientReadyCallback.EVENT.register(this::postInit);
|
2019-05-28 12:41:06 +02:00
|
|
|
|
2019-06-30 06:46:31 +02:00
|
|
|
// Preview on the select skin gui
|
2019-07-03 01:57:45 +02:00
|
|
|
EntityRendererRegistry.INSTANCE.register(DummyPony.class, RenderDummyPony::new);
|
2019-06-30 04:01:28 +02:00
|
|
|
}
|
2019-06-30 12:05:38 +02:00
|
|
|
|
2019-06-30 04:01:28 +02:00
|
|
|
private void postInit(MinecraftClient minecraft) {
|
2019-05-28 12:41:06 +02:00
|
|
|
HDSkins manager = HDSkins.getInstance();
|
|
|
|
|
|
|
|
// Clear ponies when skins are cleared
|
2019-06-30 04:01:28 +02:00
|
|
|
PonyManager ponyManager = (PonyManager) MineLittlePony.getInstance().getManager();
|
2019-07-11 03:32:36 +02:00
|
|
|
SkinCacheClearCallback.EVENT.register(ponyManager::onSkinCacheCleared);
|
2019-06-30 04:01:28 +02:00
|
|
|
|
2019-05-28 12:41:06 +02:00
|
|
|
// Ponify the skins GUI.
|
2019-07-11 03:23:58 +02:00
|
|
|
manager.getSkinServerList().setSkinsGui(GuiSkinsMineLP::new);
|
2019-05-28 12:41:06 +02:00
|
|
|
}
|
|
|
|
}
|