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
|
# Dependencies
|
||||||
fabric_version=0.3.0+
|
fabric_version=0.3.0+
|
||||||
kirin_version=57995a8ac5
|
kirin_version=b69d6643c8
|
||||||
hd_skins_version=26667716ca
|
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.client.keybinding.KeyBindingRegistry;
|
||||||
import net.fabricmc.fabric.api.event.client.ClientTickCallback;
|
import net.fabricmc.fabric.api.event.client.ClientTickCallback;
|
||||||
import net.fabricmc.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
import net.minecraft.block.entity.BlockEntity;
|
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.options.KeyBinding;
|
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.client.util.InputUtil;
|
||||||
import net.minecraft.entity.Entity;
|
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
import com.minelittlepony.client.gui.hdskins.MineLPHDSkins;
|
import com.minelittlepony.client.gui.hdskins.MineLPHDSkins;
|
||||||
import com.minelittlepony.client.mixin.MixinBlockEntityRenderDispatcher;
|
import com.minelittlepony.common.client.IModUtilities;
|
||||||
import com.minelittlepony.client.settings.ClientPonyConfig;
|
|
||||||
import com.minelittlepony.hdskins.mixin.MixinEntityRenderDispatcher;
|
|
||||||
import com.minelittlepony.settings.JsonConfig;
|
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import java.nio.file.Path;
|
|
||||||
import java.util.function.Function;
|
|
||||||
|
|
||||||
public class FabMod implements ClientModInitializer, ClientTickCallback, IModUtilities {
|
public class FabMod implements ClientModInitializer, ClientTickCallback, IModUtilities {
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
@ -43,8 +31,6 @@ public class FabMod implements ClientModInitializer, ClientTickCallback, IModUti
|
||||||
} else {
|
} else {
|
||||||
mlp = new MineLPClient(this);
|
mlp = new MineLPClient(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
mlp.init(JsonConfig.of(getConfigDirectory().resolve("minelp.json"), ClientPonyConfig::new));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -77,27 +63,4 @@ public class FabMod implements ClientModInitializer, ClientTickCallback, IModUti
|
||||||
KeyBindingRegistry.INSTANCE.register(binding);
|
KeyBindingRegistry.INSTANCE.register(binding);
|
||||||
return 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.gui.GuiPonySettings;
|
||||||
import com.minelittlepony.client.pony.PonyManager;
|
import com.minelittlepony.client.pony.PonyManager;
|
||||||
import com.minelittlepony.client.render.tileentities.skull.PonySkullRenderer;
|
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 com.minelittlepony.settings.PonyConfig;
|
||||||
|
|
||||||
import net.minecraft.ChatFormat;
|
import net.minecraft.ChatFormat;
|
||||||
|
@ -43,10 +46,8 @@ public class MineLPClient extends MineLittlePony {
|
||||||
|
|
||||||
public MineLPClient(IModUtilities utils) {
|
public MineLPClient(IModUtilities utils) {
|
||||||
utilities = utils;
|
utilities = utils;
|
||||||
}
|
|
||||||
|
|
||||||
protected void init(PonyConfig newConfig) {
|
config = JsonConfig.of(utils.getConfigDirectory().resolve("minelp.json"), ClientPonyConfig::new);
|
||||||
config = newConfig;
|
|
||||||
ponyManager = new PonyManager(config);
|
ponyManager = new PonyManager(config);
|
||||||
keyBinding = utilities.registerKeybind("key.categories.misc", GLFW.GLFW_KEY_F9, "key.minelittlepony.settings");
|
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.google.common.collect.Maps;
|
||||||
import com.minelittlepony.client.gui.hdskins.DummyPony;
|
import com.minelittlepony.client.gui.hdskins.DummyPony;
|
||||||
import com.minelittlepony.client.gui.hdskins.RenderDummyPony;
|
import com.minelittlepony.client.gui.hdskins.RenderDummyPony;
|
||||||
import com.minelittlepony.client.mixin.MixinRenderManager;
|
|
||||||
import com.minelittlepony.client.model.races.PlayerModels;
|
import com.minelittlepony.client.model.races.PlayerModels;
|
||||||
import com.minelittlepony.client.render.LevitatingItemRenderer;
|
import com.minelittlepony.client.render.LevitatingItemRenderer;
|
||||||
import com.minelittlepony.client.render.IPonyRender;
|
import com.minelittlepony.client.render.IPonyRender;
|
||||||
|
@ -68,7 +67,7 @@ public class PonyRenderManager {
|
||||||
private void addPlayerSkin(EntityRenderDispatcher manager, boolean slimArms, PlayerModels playerModel) {
|
private void addPlayerSkin(EntityRenderDispatcher manager, boolean slimArms, PlayerModels playerModel) {
|
||||||
RenderPonyPlayer renderer = playerModel.createRenderer(manager, slimArms);
|
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 net.minecraft.client.MinecraftClient;
|
||||||
|
|
||||||
import com.minelittlepony.client.IModUtilities;
|
import com.minelittlepony.common.client.IModUtilities;
|
||||||
import com.minelittlepony.client.MineLPClient;
|
import com.minelittlepony.client.MineLPClient;
|
||||||
import com.minelittlepony.client.PonySkinModifier;
|
import com.minelittlepony.client.PonySkinModifier;
|
||||||
import com.minelittlepony.client.PonySkinParser;
|
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.LegacySkinServer;
|
||||||
import com.minelittlepony.hdskins.net.SkinServer;
|
import com.minelittlepony.hdskins.net.SkinServer;
|
||||||
import com.minelittlepony.hdskins.net.ValhallaSkinServer;
|
import com.minelittlepony.hdskins.net.ValhallaSkinServer;
|
||||||
import com.minelittlepony.settings.PonyConfig;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* All the interactions with HD Skins.
|
* All the interactions with HD Skins.
|
||||||
|
@ -24,11 +23,6 @@ public class MineLPHDSkins extends MineLPClient {
|
||||||
|
|
||||||
public MineLPHDSkins(IModUtilities utils) {
|
public MineLPHDSkins(IModUtilities utils) {
|
||||||
super(utils);
|
super(utils);
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void init(PonyConfig newConfig) {
|
|
||||||
super.init(newConfig);
|
|
||||||
|
|
||||||
// Register pony servers
|
// Register pony servers
|
||||||
SkinServer.defaultServers.add(new LegacySkinServer(MINELP_LEGACY_SERVER, MINELP_LEGACY_GATEWAY));
|
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",
|
"compatibilityLevel": "JAVA_8",
|
||||||
"client": [
|
"client": [
|
||||||
"IResizeable",
|
"IResizeable",
|
||||||
"MixinBlockEntityRenderDispatcher",
|
|
||||||
"MixinDefaultPlayerSkin",
|
"MixinDefaultPlayerSkin",
|
||||||
"MixinFirstPersonRenderer",
|
"MixinFirstPersonRenderer",
|
||||||
"MixinGlStateManager",
|
"MixinGlStateManager",
|
||||||
"MixinItemRenderer",
|
"MixinItemRenderer",
|
||||||
"MixinRenderManager",
|
|
||||||
"MixinThreadDownloadImageData"
|
"MixinThreadDownloadImageData"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue