Skip to content

Commit

Permalink
Mixin into the mixin of the mixin
Browse files Browse the repository at this point in the history
  • Loading branch information
KaptainWutax committed Jan 13, 2025
1 parent 073fa50 commit d2bd3f2
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 5 deletions.
1 change: 1 addition & 0 deletions common/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@ dependencies {
modImplementation files("jars/Enhanced-Celestials-Fabric-1.20.1-5.0.1.0.jar")
modImplementation files("jars/sophisticatedbackpacks-1.20.1-3.20.17.1.60.jar")
modImplementation files("jars/sophisticatedstorage-1.20.1-0.11.3.1.73.jar")
modImplementation files("jars/terrastorageicons-1.0.0.jar")
}
Binary file added common/jars/terrastorageicons-1.0.0.jar
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
public class TerraStorageCompat {

public static boolean shouldBlock(Object object) {
return object instanceof BackpackScreen || object instanceof StorageScreen || object instanceof ShulkerBoxScreen;
return object instanceof BackpackScreen || object instanceof StorageScreen;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,27 @@
import abeshutt.staracademy.compat.terrastorage.TerraStorageCompat;
import com.bawnorton.mixinsquared.TargetHandler;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import org.spongepowered.asm.mixin.Debug;
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;

@Debug(export = true)
@Mixin(value = HandledScreen.class, priority = 15000)
public class MixinHandledScreenMixin {

@TargetHandler(mixin = "me.timvinci.mixin.client.HandledScreenMixin", name = "onInit")
@Inject(method = "@MixinSquared:Handler", at = @At("HEAD"), cancellable = true)
public void onInit(CallbackInfo ci) {
System.out.println("==================== MIXIN THE MIXIN ====================");
public void onInit1(CallbackInfo ci) {
if(TerraStorageCompat.shouldBlock(this)) {
ci.cancel();
}
}

@TargetHandler(mixin = "jakesmythuk.terrastorageicons.mixin.client.HandledScreenMixin", name = "onInit")
@Inject(method = "@MixinSquared:Handler", at = @At("HEAD"), cancellable = true)
public void onInit2(CallbackInfo ci) {
if(TerraStorageCompat.shouldBlock(this)) {
ci.cancel();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,31 @@
import abeshutt.staracademy.compat.terrastorage.TerraStorageCompat;
import com.bawnorton.mixinsquared.TargetHandler;
import net.minecraft.client.gui.screen.ingame.InventoryScreen;
import org.spongepowered.asm.mixin.Debug;
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;

@Debug(export = true)
@Mixin(value = InventoryScreen.class, priority = 15000)
public class MixinInventoryScreenMixin {

@TargetHandler(mixin = "me.timvinci.mixin.client.InventoryScreenMixin", name = "onInit")
@Inject(method = "@MixinSquared:Handler", at = @At("HEAD"), cancellable = true)
public void onInit(CallbackInfo ci) {
System.out.println("==================== MIXIN THE MIXIN ====================");
public void onInit1(CallbackInfo ci) {
if(TerraStorageCompat.shouldBlock(this)) {
ci.cancel();
}
}

@TargetHandler(mixin = "jakesmythuk.terrastorageicons.mixin.client.InventoryScreenMixin", name = "onInit")
@Inject(method = "@MixinSquared:Handler", at = @At("HEAD"), cancellable = true)
public void onInit2(CallbackInfo ci) {
if(TerraStorageCompat.shouldBlock(this)) {
ci.cancel();
}
}


}

0 comments on commit d2bd3f2

Please sign in to comment.