Skip to content

Commit

Permalink
Fix incompatibility with prismatic lib.
Browse files Browse the repository at this point in the history
  • Loading branch information
MartinSVK12 committed Feb 25, 2024
1 parent d9221ff commit d2f1917
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 4 deletions.
2 changes: 2 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@ dependencies {
implementation 'com.google.guava:guava:33.0.0-jre'
implementation group: 'com.google.code.gson', name: 'gson', version: '2.10.1'

modImplementation "BTA_Babric_PrismaticLibe:prismaticlibe:3.0.3-7.1"

var log4jVersion = "2.20.0"
implementation("org.apache.logging.log4j:log4j-core:${log4jVersion}")
implementation("org.apache.logging.log4j:log4j-api:${log4jVersion}")
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ bta_version=7.1-pre1a
loader_version=0.14.19-babric.3-bta

# Mod
mod_version=3.4.6
mod_version=3.4.7
mod_group=turniplabs
mod_name=halplibe

Original file line number Diff line number Diff line change
@@ -1,30 +1,45 @@
package turniplabs.halplibe.mixin.mixins;

import com.llamalad7.mixinextras.sugar.Local;
import com.llamalad7.mixinextras.sugar.ref.LocalBooleanRef;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.gui.GuiRenderItem;
import net.minecraft.core.item.ItemStack;
import net.minecraft.core.player.inventory.slot.Slot;
import org.spongepowered.asm.mixin.Debug;
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.ModifyVariable;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import turniplabs.halplibe.HalpLibe;

@Debug(export = true)
@Mixin(
value = GuiRenderItem.class,
remap = false
remap = false,
priority = -1
)
public class GuiRenderItemMixin extends Gui {

@Shadow
Minecraft mc;

@Inject(method = "render(Lnet/minecraft/core/item/ItemStack;IIZLnet/minecraft/core/player/inventory/slot/Slot;)V", at = @At("HEAD"))
public void render(ItemStack itemStack, int x, int y, boolean isSelected, Slot slot, CallbackInfo ci) {
public void setDiscovered(ItemStack itemStack, int x, int y, boolean isSelected, Slot slot, CallbackInfo ci) {
if(mc.theWorld.getGameRule(HalpLibe.UNLOCK_ALL_RECIPES) && slot != null){
slot.discovered = true;
}
}


@Inject(method = "render(Lnet/minecraft/core/item/ItemStack;IIZLnet/minecraft/core/player/inventory/slot/Slot;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/core/player/inventory/slot/Slot;getBackgroundIconIndex()I", shift = At.Shift.BEFORE))
public void setDiscovered2(ItemStack itemStack, int x, int y, boolean isSelected, Slot slot, CallbackInfo ci, @Local(ordinal = 2) LocalBooleanRef discovered) {
if(mc.theWorld.getGameRule(HalpLibe.UNLOCK_ALL_RECIPES) && slot != null){
slot.discovered = true;
discovered.set(true);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public class GuiTooltipMixin extends Gui {
@Shadow Minecraft mc;

@Inject(method = "getTooltipText(Lnet/minecraft/core/item/ItemStack;ZLnet/minecraft/core/player/inventory/slot/Slot;)Ljava/lang/String;", at = @At(value = "FIELD", target = "Lnet/minecraft/core/player/inventory/slot/Slot;discovered:Z", ordinal = 0, shift = At.Shift.AFTER))
public void getTooltipText(ItemStack itemStack, boolean showDescription, Slot slot, CallbackInfoReturnable<String> cir, @Local(ordinal = 0, argsOnly = true) LocalBooleanRef discovered) {
public void getTooltipText(ItemStack itemStack, boolean showDescription, Slot slot, CallbackInfoReturnable<String> cir, @Local(ordinal = 1) LocalBooleanRef discovered) {
if(mc.theWorld.getGameRule(HalpLibe.UNLOCK_ALL_RECIPES)){
discovered.set(true);
}
Expand Down

0 comments on commit d2f1917

Please sign in to comment.