2019-05-27 17:59:15 +02:00
|
|
|
package com.minelittlepony.client;
|
|
|
|
|
|
|
|
import net.fabricmc.api.ClientModInitializer;
|
|
|
|
import net.fabricmc.loader.api.FabricLoader;
|
|
|
|
import net.minecraft.block.entity.BlockEntity;
|
|
|
|
import net.minecraft.client.MinecraftClient;
|
|
|
|
import net.minecraft.client.render.block.entity.BlockEntityRenderer;
|
|
|
|
import net.minecraft.client.render.entity.EntityRenderDispatcher;
|
|
|
|
import net.minecraft.client.render.entity.EntityRenderer;
|
|
|
|
import net.minecraft.entity.Entity;
|
|
|
|
|
2019-05-28 12:41:06 +02:00
|
|
|
import com.minelittlepony.client.gui.hdskins.MineLPHDSkins;
|
2019-05-28 01:50:45 +02:00
|
|
|
import com.minelittlepony.client.settings.ClientPonyConfig;
|
2019-05-27 17:59:15 +02:00
|
|
|
import com.minelittlepony.hdskins.mixin.MixinEntityRenderDispatcher;
|
2019-05-28 01:50:45 +02:00
|
|
|
import com.minelittlepony.settings.SensibleJsonConfig;
|
2019-05-27 17:59:15 +02:00
|
|
|
|
|
|
|
import java.nio.file.Path;
|
|
|
|
import java.util.function.Function;
|
|
|
|
|
|
|
|
public class FabMod implements ClientModInitializer, IModUtilities {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onInitializeClient() {
|
2019-05-28 12:41:06 +02:00
|
|
|
MineLPClient mlp;
|
|
|
|
|
|
|
|
if (FabricLoader.getInstance().isModLoaded("hdskins")) {
|
|
|
|
mlp = new MineLPHDSkins(this);
|
|
|
|
} else {
|
|
|
|
mlp = new MineLPClient(this);
|
|
|
|
}
|
|
|
|
|
|
|
|
mlp.init(SensibleJsonConfig.of(getConfigDirectory().resolve("minelp.json"), ClientPonyConfig::new));
|
2019-05-27 17:59:15 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public <T extends BlockEntity> void addRenderer(Class<T> type, BlockEntityRenderer<T> renderer) {
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public <T extends Entity> void addRenderer(Class<T> type, Function<EntityRenderDispatcher, EntityRenderer<T>> renderer) {
|
|
|
|
EntityRenderDispatcher mx = MinecraftClient.getInstance().getEntityRenderManager();
|
|
|
|
((MixinEntityRenderDispatcher)mx).getRenderers().put(type, renderer.apply(mx));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public Path getConfigDirectory() {
|
|
|
|
return FabricLoader.getInstance().getConfigDirectory().toPath();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public Path getAssetsDirectory() {
|
|
|
|
return FabricLoader.getInstance().getGameDirectory().toPath().resolve("assets");
|
|
|
|
}
|
|
|
|
}
|