mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2025-02-13 16:24:23 +01:00
Removed MixinMinecraftClient
This commit is contained in:
parent
3ee6109cac
commit
d590c8d9d6
3 changed files with 25 additions and 33 deletions
|
@ -3,6 +3,7 @@ package com.minelittlepony.client;
|
||||||
import net.fabricmc.api.ClientModInitializer;
|
import net.fabricmc.api.ClientModInitializer;
|
||||||
import net.fabricmc.fabric.api.client.keybinding.FabricKeyBinding;
|
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.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
import net.minecraft.block.entity.BlockEntity;
|
import net.minecraft.block.entity.BlockEntity;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
@ -21,14 +22,21 @@ import com.minelittlepony.client.settings.ClientPonyConfig;
|
||||||
import com.minelittlepony.hdskins.mixin.MixinEntityRenderDispatcher;
|
import com.minelittlepony.hdskins.mixin.MixinEntityRenderDispatcher;
|
||||||
import com.minelittlepony.settings.JsonConfig;
|
import com.minelittlepony.settings.JsonConfig;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
public class FabMod implements ClientModInitializer, IModUtilities {
|
public class FabMod implements ClientModInitializer, ClientTickCallback, IModUtilities {
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
private MineLPClient mlp;
|
||||||
|
|
||||||
|
private boolean firstTick = true;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInitializeClient() {
|
public void onInitializeClient() {
|
||||||
MineLPClient mlp;
|
ClientTickCallback.EVENT.register(this);
|
||||||
|
|
||||||
if (FabricLoader.getInstance().isModLoaded("hdskins")) {
|
if (FabricLoader.getInstance().isModLoaded("hdskins")) {
|
||||||
mlp = new MineLPHDSkins(this);
|
mlp = new MineLPHDSkins(this);
|
||||||
|
@ -39,6 +47,21 @@ public class FabMod implements ClientModInitializer, IModUtilities {
|
||||||
mlp.init(JsonConfig.of(getConfigDirectory().resolve("minelp.json"), ClientPonyConfig::new));
|
mlp.init(JsonConfig.of(getConfigDirectory().resolve("minelp.json"), ClientPonyConfig::new));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void tick(MinecraftClient client) {
|
||||||
|
if (mlp == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (firstTick) {
|
||||||
|
firstTick = false;
|
||||||
|
|
||||||
|
mlp.postInit(client);
|
||||||
|
} else {
|
||||||
|
mlp.onTick(client, client.world != null && client.player != null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public KeyBinding registerKeybind(String category, int key, String bindName) {
|
public KeyBinding registerKeybind(String category, int key, String bindName) {
|
||||||
// normalize Fabric's behavior
|
// normalize Fabric's behavior
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
package com.minelittlepony.client.mixin;
|
|
||||||
|
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
|
||||||
import org.spongepowered.asm.mixin.injection.Inject;
|
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|
||||||
|
|
||||||
import com.minelittlepony.client.MineLPClient;
|
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient;
|
|
||||||
import net.minecraft.client.WindowEventHandler;
|
|
||||||
import net.minecraft.util.NonBlockingThreadExecutor;
|
|
||||||
import net.minecraft.util.snooper.SnooperListener;
|
|
||||||
|
|
||||||
@Mixin(MinecraftClient.class)
|
|
||||||
public abstract class MixinMinecraftClient extends NonBlockingThreadExecutor<Runnable> implements SnooperListener, WindowEventHandler, AutoCloseable {
|
|
||||||
|
|
||||||
public MixinMinecraftClient() { super(null); }
|
|
||||||
|
|
||||||
@Inject(method = "init()V", at = @At("RETURN"))
|
|
||||||
private void onInit(CallbackInfo info) {
|
|
||||||
MineLPClient.getInstance().postInit((MinecraftClient)(Object)this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Inject(method = "tick()V", at = @At("RETURN"))
|
|
||||||
private void onTick(CallbackInfo info) {
|
|
||||||
MinecraftClient self = (MinecraftClient)(Object)this;
|
|
||||||
MineLPClient.getInstance().onTick(self, self.world != null && self.player != null);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -11,7 +11,6 @@
|
||||||
"MixinFirstPersonRenderer",
|
"MixinFirstPersonRenderer",
|
||||||
"MixinGlStateManager",
|
"MixinGlStateManager",
|
||||||
"MixinItemRenderer",
|
"MixinItemRenderer",
|
||||||
"MixinMinecraftClient",
|
|
||||||
"MixinRenderManager",
|
"MixinRenderManager",
|
||||||
"MixinThreadDownloadImageData"
|
"MixinThreadDownloadImageData"
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in a new issue