Skip to content

Commit

Permalink
Fix Borderless Mining >=1.0.6
Browse files Browse the repository at this point in the history
  • Loading branch information
XXMA16 authored and Chocohead committed Jul 13, 2023
1 parent 647312a commit 7f99ee6
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public void preApply(String targetClassName, ClassNode targetClass, String mixin

for (MethodNode method : targetClass.methods) {
if (init.equals(method.name) && "()V".equals(method.desc)) {
Member createSimpleOption = RemappingUtils.mapMethod("class_7172", "<init>", "(Ljava/lang/String;Lnet/minecraft/class_7172$class_7307;Lnet/minecraft/class_7172$class_7303;Lnet/minecraft/class_7172$class_7178;Ljava/lang/Object;Ljava/util/function/Consumer;)V");
Member createSimpleOption = RemappingUtils.mapMethod("class_7172", "<init>", getCreateSimpleOptionInitDescriptor());
InsnList extra = new InsnList();
LabelNode skip = new LabelNode();

Expand All @@ -39,4 +39,8 @@ public void preApply(String targetClassName, ClassNode targetClass, String mixin

super.preApply(targetClassName, targetClass, mixinClassName, mixinInfo);
}

protected String getCreateSimpleOptionInitDescriptor() {
return "(Ljava/lang/String;Lnet/minecraft/class_7172$class_7307;Lnet/minecraft/class_7172$class_7303;Lnet/minecraft/class_7172$class_7178;Ljava/lang/Object;Ljava/util/function/Consumer;)V";
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package me.modmuss50.optifabric.compat.borderlessmining;

public class BorderlessMiningNewMixinPlugin extends BorderlessMiningMixinPlugin {
@Override
protected String getCreateSimpleOptionInitDescriptor() {
return "(Ljava/lang/String;Lnet/minecraft/class_7172$class_7277;Lnet/minecraft/class_7172$class_7303;Lnet/minecraft/class_7172$class_7178;Ljava/lang/Object;Ljava/util/function/Consumer;)V";
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package me.modmuss50.optifabric.compat.borderlessmining.mixin;

import me.modmuss50.optifabric.compat.borderlessmining.MagicMixinBridge;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.option.VideoOptionsScreen;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Pseudo;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyArgs;
import org.spongepowered.asm.mixin.injection.invoke.arg.Args;

@Pseudo
@Mixin(targets = "net.optifine.gui.OptionFullscreenResolution", remap = false)
abstract class OptionFullscreenResolutionNewMixin {
@ModifyArgs(method = "make",
at = @At(value = "INVOKE", target = "Lnet/minecraft/class_7172;<init>(Ljava/lang/String;Lnet/minecraft/class_7172$class_7307;Lnet/minecraft/class_7172$class_7277;Lnet/minecraft/class_7172$class_7178;Ljava/lang/Object;Ljava/util/function/Consumer;)V", remap = true))
private static void modifyOption(Args args) {
Screen screen = MinecraftClient.getInstance().currentScreen;
((MagicMixinBridge) (screen instanceof MagicMixinBridge ? screen : new VideoOptionsScreen(screen, MinecraftClient.getInstance().options))).optifabric£modifyFullscreenButton(args);
}
}
10 changes: 6 additions & 4 deletions src/main/java/me/modmuss50/optifabric/mod/OptifabricSetup.java
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ protected boolean isPresent() {

for (MethodNode method : node.methods) {
if ("renderBatched".equals(method.name) && method.desc.endsWith(desc)) {
Mixins.addConfiguration("optifabric.compat.indigo.newer-mixins.json");
Mixins.addConfiguration("optifabric.compat.indigo.newer-mixins.json");
return;
}
}
Expand Down Expand Up @@ -235,7 +235,7 @@ protected boolean isPresent() {
Mixins.addConfiguration("optifabric.optifine.old-mixins.json");
}

if (isPresent("fabricloader", ">=0.13.0") && (isPresent("cloth-client-events-v0", ">=3.1.58") || isPresent("cloth-client-events-v0", ">=2.1.60 <3.0") || isPresent("cloth-client-events-v0", ">=1.6.59 <2.0"))) {
if (isPresent("fabricloader", ">=0.13.0") && (isPresent("cloth-client-events-v0", ">=3.1.58") || isPresent("cloth-client-events-v0", ">=2.1.60 <3.0") || isPresent("cloth-client-events-v0", ">=1.6.59 <2.0"))) {
// no mixins are needed -- cloth had a workaround for https://github.com/FabricMC/Mixin/issues/80
// but it is now fixed in fabricloader
} else if (isPresent("cloth-client-events-v0", ">=2.0")) {
Expand Down Expand Up @@ -377,7 +377,7 @@ protected boolean isPresent() {
}
}
});
}
}
} else if (isPresent("charm", ">=3.0 <4.0")) {
Mixins.addConfiguration("optifabric.compat.charm.mixins.json");
} else if (isPresent("charm", ">=4.0")) {
Expand Down Expand Up @@ -510,7 +510,9 @@ protected boolean isPresent() {
Mixins.addConfiguration("optifabric.compat.zoomify.mixins.json");
}

if (isPresent("borderlessmining", ">=1.1.3")) {
if (isPresent("borderlessmining", ">=1.1.6")) {
Mixins.addConfiguration("optifabric.compat.borderlessmining.new-mixins.json");
} else if (isPresent("borderlessmining", ">=1.1.3")) {
Mixins.addConfiguration("optifabric.compat.borderlessmining.mixins.json");
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"parent": "optifabric.mixins.json",
"package": "me.modmuss50.optifabric.compat.borderlessmining.mixin",
"plugin": "me.modmuss50.optifabric.compat.borderlessmining.BorderlessMiningNewMixinPlugin",
"mixins": [
"VideoOptionsScreenMixin",
"OptionFullscreenResolutionNewMixin"
]
}

0 comments on commit 7f99ee6

Please sign in to comment.