package com.irtimaled.bbor.mixin.client;
-import com.irtimaled.bbor.common.EventBus;
import com.irtimaled.bbor.client.ClientProxy;
-import com.irtimaled.bbor.client.events.KeyPressed;
-import com.irtimaled.bbor.config.ConfigManager;
+import com.irtimaled.bbor.client.interop.ModPackFinder;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.main.GameConfiguration;
+import net.minecraft.client.resources.ResourcePackInfoClient;
+import net.minecraft.resources.ResourcePackList;
+import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(Minecraft.class)
public class MixinMinecraft {
- @Inject(method = "init", at = @At("RETURN"))
- private void init(CallbackInfo ci) {
- ConfigManager.loadConfig(((Minecraft) (Object) this).gameDir);
- new ClientProxy().init();
+ @Shadow @Final private ResourcePackList<ResourcePackInfoClient> resourcePackRepository;
+ private ClientProxy clientProxy;
+
+ @Inject(method = "<init>", at = @At("RETURN"))
+ private void constructor(GameConfiguration configuration, CallbackInfo ci) {
+ clientProxy = new ClientProxy();
+ this.resourcePackRepository.addPackFinder(new ModPackFinder());
}
- @Inject(method = "processKeyBinds", at = @At("HEAD"))
- public void processKeyBinds(CallbackInfo ci) {
- EventBus.publish(new KeyPressed());
+ @Inject(method = "init", at = @At("RETURN"))
+ private void init(CallbackInfo ci) {
+ clientProxy.init();
}
-}
\ No newline at end of file
+}