mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2025-02-13 08:14:23 +01:00
Update Kirin and HDSkins
This commit is contained in:
parent
91f445e1fa
commit
cc1bbbbd7b
9 changed files with 10 additions and 116 deletions
|
@ -18,5 +18,5 @@ org.gradle.daemon=false
|
|||
|
||||
# Dependencies
|
||||
fabric_version=0.3.0+
|
||||
kirin_version=57995a8ac5
|
||||
hd_skins_version=26667716ca
|
||||
kirin_version=b69d6643c8
|
||||
hd_skins_version=b4327b9cf9
|
||||
|
|
|
@ -5,28 +5,16 @@ import net.fabricmc.fabric.api.client.keybinding.FabricKeyBinding;
|
|||
import net.fabricmc.fabric.api.client.keybinding.KeyBindingRegistry;
|
||||
import net.fabricmc.fabric.api.event.client.ClientTickCallback;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.options.KeyBinding;
|
||||
import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher;
|
||||
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.client.util.InputUtil;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
import com.minelittlepony.client.gui.hdskins.MineLPHDSkins;
|
||||
import com.minelittlepony.client.mixin.MixinBlockEntityRenderDispatcher;
|
||||
import com.minelittlepony.client.settings.ClientPonyConfig;
|
||||
import com.minelittlepony.hdskins.mixin.MixinEntityRenderDispatcher;
|
||||
import com.minelittlepony.settings.JsonConfig;
|
||||
import com.minelittlepony.common.client.IModUtilities;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.util.function.Function;
|
||||
|
||||
public class FabMod implements ClientModInitializer, ClientTickCallback, IModUtilities {
|
||||
|
||||
@Nullable
|
||||
|
@ -43,8 +31,6 @@ public class FabMod implements ClientModInitializer, ClientTickCallback, IModUti
|
|||
} else {
|
||||
mlp = new MineLPClient(this);
|
||||
}
|
||||
|
||||
mlp.init(JsonConfig.of(getConfigDirectory().resolve("minelp.json"), ClientPonyConfig::new));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -77,27 +63,4 @@ public class FabMod implements ClientModInitializer, ClientTickCallback, IModUti
|
|||
KeyBindingRegistry.INSTANCE.register(binding);
|
||||
return binding;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends BlockEntity> void addRenderer(Class<T> type, BlockEntityRenderer<T> renderer) {
|
||||
MixinBlockEntityRenderDispatcher mx = ((MixinBlockEntityRenderDispatcher)BlockEntityRenderDispatcher.INSTANCE);
|
||||
mx.getRenderers().put(type, renderer);
|
||||
renderer.setRenderManager(BlockEntityRenderDispatcher.INSTANCE);
|
||||
}
|
||||
|
||||
@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");
|
||||
}
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
package com.minelittlepony.client;
|
||||
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
import net.minecraft.client.options.KeyBinding;
|
||||
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;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.util.function.Function;
|
||||
|
||||
public interface IModUtilities {
|
||||
<T extends BlockEntity> void addRenderer(Class<T> type, BlockEntityRenderer<T> renderer);
|
||||
|
||||
<T extends Entity> void addRenderer(Class<T> type, Function<EntityRenderDispatcher, EntityRenderer<T>> renderer);
|
||||
|
||||
default boolean hasFml() {
|
||||
return false;
|
||||
}
|
||||
|
||||
default KeyBinding registerKeybind(String category, int key, String bindName) {
|
||||
return new KeyBinding(category, key, bindName);
|
||||
}
|
||||
|
||||
Path getConfigDirectory();
|
||||
|
||||
Path getAssetsDirectory();
|
||||
}
|
|
@ -4,6 +4,9 @@ import com.minelittlepony.MineLittlePony;
|
|||
import com.minelittlepony.client.gui.GuiPonySettings;
|
||||
import com.minelittlepony.client.pony.PonyManager;
|
||||
import com.minelittlepony.client.render.tileentities.skull.PonySkullRenderer;
|
||||
import com.minelittlepony.client.settings.ClientPonyConfig;
|
||||
import com.minelittlepony.common.client.IModUtilities;
|
||||
import com.minelittlepony.settings.JsonConfig;
|
||||
import com.minelittlepony.settings.PonyConfig;
|
||||
|
||||
import net.minecraft.ChatFormat;
|
||||
|
@ -43,10 +46,8 @@ public class MineLPClient extends MineLittlePony {
|
|||
|
||||
public MineLPClient(IModUtilities utils) {
|
||||
utilities = utils;
|
||||
}
|
||||
|
||||
protected void init(PonyConfig newConfig) {
|
||||
config = newConfig;
|
||||
config = JsonConfig.of(utils.getConfigDirectory().resolve("minelp.json"), ClientPonyConfig::new);
|
||||
ponyManager = new PonyManager(config);
|
||||
keyBinding = utilities.registerKeybind("key.categories.misc", GLFW.GLFW_KEY_F9, "key.minelittlepony.settings");
|
||||
}
|
||||
|
|
|
@ -6,7 +6,6 @@ import java.util.function.Function;
|
|||
import com.google.common.collect.Maps;
|
||||
import com.minelittlepony.client.gui.hdskins.DummyPony;
|
||||
import com.minelittlepony.client.gui.hdskins.RenderDummyPony;
|
||||
import com.minelittlepony.client.mixin.MixinRenderManager;
|
||||
import com.minelittlepony.client.model.races.PlayerModels;
|
||||
import com.minelittlepony.client.render.LevitatingItemRenderer;
|
||||
import com.minelittlepony.client.render.IPonyRender;
|
||||
|
@ -68,7 +67,7 @@ public class PonyRenderManager {
|
|||
private void addPlayerSkin(EntityRenderDispatcher manager, boolean slimArms, PlayerModels playerModel) {
|
||||
RenderPonyPlayer renderer = playerModel.createRenderer(manager, slimArms);
|
||||
|
||||
((MixinRenderManager)manager).getMutableSkinMap().put(playerModel.getId(slimArms), renderer);
|
||||
MineLPClient.getInstance().getModUtilities().addRenderer(playerModel.getId(slimArms), renderer);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.minelittlepony.client.gui.hdskins;
|
|||
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
|
||||
import com.minelittlepony.client.IModUtilities;
|
||||
import com.minelittlepony.common.client.IModUtilities;
|
||||
import com.minelittlepony.client.MineLPClient;
|
||||
import com.minelittlepony.client.PonySkinModifier;
|
||||
import com.minelittlepony.client.PonySkinParser;
|
||||
|
@ -11,7 +11,6 @@ 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.minelittlepony.settings.PonyConfig;
|
||||
|
||||
/**
|
||||
* All the interactions with HD Skins.
|
||||
|
@ -24,11 +23,6 @@ public class MineLPHDSkins extends MineLPClient {
|
|||
|
||||
public MineLPHDSkins(IModUtilities utils) {
|
||||
super(utils);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void init(PonyConfig newConfig) {
|
||||
super.init(newConfig);
|
||||
|
||||
// Register pony servers
|
||||
SkinServer.defaultServers.add(new LegacySkinServer(MINELP_LEGACY_SERVER, MINELP_LEGACY_GATEWAY));
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
package com.minelittlepony.client.mixin;
|
||||
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher;
|
||||
import net.minecraft.client.render.block.entity.BlockEntityRenderer;
|
||||
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Mixin(BlockEntityRenderDispatcher.class)
|
||||
public interface MixinBlockEntityRenderDispatcher {
|
||||
|
||||
@Accessor("renderers")
|
||||
Map<Class<? extends BlockEntity>, BlockEntityRenderer<? extends BlockEntity>> getRenderers();
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
package com.minelittlepony.client.mixin;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
|
||||
import net.minecraft.client.render.entity.EntityRenderDispatcher;
|
||||
import net.minecraft.client.render.entity.PlayerEntityRenderer;
|
||||
|
||||
@Mixin(EntityRenderDispatcher.class)
|
||||
public interface MixinRenderManager {
|
||||
@Accessor("modelRenderers")
|
||||
Map<String, PlayerEntityRenderer> getMutableSkinMap();
|
||||
}
|
|
@ -6,12 +6,10 @@
|
|||
"compatibilityLevel": "JAVA_8",
|
||||
"client": [
|
||||
"IResizeable",
|
||||
"MixinBlockEntityRenderDispatcher",
|
||||
"MixinDefaultPlayerSkin",
|
||||
"MixinFirstPersonRenderer",
|
||||
"MixinGlStateManager",
|
||||
"MixinItemRenderer",
|
||||
"MixinRenderManager",
|
||||
"MixinThreadDownloadImageData"
|
||||
]
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue