Skip to content

Commit a59c614

Browse files
committed
Patch mixin conflicts in owolib
Fixes #166
1 parent 1474718 commit a59c614

File tree

5 files changed

+61
-1
lines changed

5 files changed

+61
-1
lines changed

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ org.gradle.daemon=true
66
# Versions
77
versionConnector=1.0.0-beta.11
88
versionAdapter=1.4.5-1.20.1-20230902.095059
9-
versionAdapterDefinition=1.4.5
9+
versionAdapterDefinition=1.4.6
1010

1111
versionMc=1.20.1
1212
versionForge=47.1.3

src/main/java/dev/su5ed/sinytra/connector/transformer/MixinPatchTransformer.java

+12
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,18 @@
5050
public class MixinPatchTransformer implements Transformer {
5151
private static final List<Patch> PATCHES = List.of(
5252
// TODO Add mirror mixin method that injects into ForgeHooks#onPlaceItemIntoWorld for server side behavior
53+
Patch.builder()
54+
.targetClass("net/minecraft/client/Minecraft")
55+
.targetMethod("<init>")
56+
.targetInjectionPoint("Lnet/fabricmc/loader/impl/game/minecraft/Hooks;startClient(Ljava/io/File;Ljava/lang/Object;)V")
57+
.modifyInjectionPoint("Ljava/lang/Thread;currentThread()Ljava/lang/Thread;")
58+
.build(),
59+
Patch.builder()
60+
.targetClass("net/minecraft/client/renderer/ShaderInstance")
61+
.targetMethod("<init>")
62+
.targetInjectionPoint("Lnet/minecraft/resources/ResourceLocation;<init>(Ljava/lang/String;)V")
63+
.disable()
64+
.build(),
5365
Patch.builder()
5466
.targetClass("net/minecraft/world/item/enchantment/EnchantmentHelper")
5567
.targetInjectionPoint("Lnet/minecraft/world/item/Item;m_6473_()I")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package dev.su5ed.sinytra.connector.mod.mixin;
2+
3+
import net.minecraft.client.gui.screens.inventory.CreativeModeInventoryScreen;
4+
import net.minecraft.world.item.CreativeModeTab;
5+
import org.spongepowered.asm.mixin.Mixin;
6+
7+
@Mixin(value = CreativeModeInventoryScreen.class, priority = 100)
8+
public class CreativeModeInventoryScreenMixin {
9+
private static int fabric_currentPage = -1;
10+
11+
private void fabric_updateSelection() {}
12+
13+
private boolean fabric_isGroupVisible(CreativeModeTab tab) {
14+
return true;
15+
}
16+
17+
private static int fabric_getPage() {
18+
return -1;
19+
}
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package dev.su5ed.sinytra.connector.mod.mixin;
2+
3+
import net.minecraft.client.gui.Font;
4+
import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent;
5+
import net.minecraft.network.chat.FormattedText;
6+
import net.minecraft.world.inventory.tooltip.TooltipComponent;
7+
import net.minecraft.world.item.ItemStack;
8+
import net.minecraftforge.client.ForgeHooksClient;
9+
import org.spongepowered.asm.mixin.Mixin;
10+
import org.spongepowered.asm.mixin.injection.At;
11+
import org.spongepowered.asm.mixin.injection.Inject;
12+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
13+
14+
import java.util.ArrayList;
15+
import java.util.List;
16+
import java.util.Optional;
17+
18+
@Mixin(ForgeHooksClient.class)
19+
public abstract class ForgeHooksClientMixin {
20+
21+
@Inject(method = "gatherTooltipComponents(Lnet/minecraft/world/item/ItemStack;Ljava/util/List;Ljava/util/Optional;IIILnet/minecraft/client/gui/Font;)Ljava/util/List;", at = @At("RETURN"), remap = false, cancellable = true)
22+
private static void makeTooltipComponentListMutable(ItemStack stack, List<? extends FormattedText> textElements, Optional<TooltipComponent> itemComponent, int mouseX, int screenWidth, int screenHeight, Font fallbackFont, CallbackInfoReturnable<List<ClientTooltipComponent>> cir) {
23+
List<ClientTooltipComponent> list = cir.getReturnValue();
24+
cir.setReturnValue(new ArrayList<>(list));
25+
}
26+
}

src/mod/resources/connectormod.mixins.json

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"ForgeHooksMixin",
1010
"LivingEntityMixin",
1111
"PoiTypesMixin",
12+
"CreativeModeInventoryScreenMixin",
1213
"network.ConnectionTypeMixin",
1314
"network.HandshakeHandlerMixin",
1415
"tags.TagEntryAccessor",
@@ -21,6 +22,7 @@
2122
"HumanoidArmorLayerMixin",
2223
"ItemBlockRenderTypesMixin",
2324
"ItemOverridesMixin",
25+
"ForgeHooksClientMixin",
2426
"boot.MinecraftMixin",
2527
"recipebook.RecipeBookManagerMixin",
2628
"recipebook.RecipeBookCategoriesMixin",

0 commit comments

Comments
 (0)