From cb5c9b21b8f24b059909b78d79de95839d39c2df Mon Sep 17 00:00:00 2001 From: tttsaurus <72607439+tttsaurus@users.noreply.github.com> Date: Mon, 27 Jan 2025 04:43:10 -0500 Subject: [PATCH] Add HBM-Hamster Reloaded compat (#81) Co-authored-by: brachy84 <45517902+brachy84@users.noreply.github.com> --- dependencies.gradle | 1 + .../com/cleanroommc/bogosorter/LateMixin.java | 2 +- .../mixin/hbm/MixinContainerCrateDesh.java | 19 +++++++++++++++++++ .../mixin/hbm/MixinContainerCrateIron.java | 19 +++++++++++++++++++ .../mixin/hbm/MixinContainerCrateSteel.java | 19 +++++++++++++++++++ .../hbm/MixinContainerCrateTungsten.java | 19 +++++++++++++++++++ src/main/resources/mixin.bogosorter.hbm.json | 13 +++++++++++++ 7 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/cleanroommc/bogosorter/core/mixin/hbm/MixinContainerCrateDesh.java create mode 100644 src/main/java/com/cleanroommc/bogosorter/core/mixin/hbm/MixinContainerCrateIron.java create mode 100644 src/main/java/com/cleanroommc/bogosorter/core/mixin/hbm/MixinContainerCrateSteel.java create mode 100644 src/main/java/com/cleanroommc/bogosorter/core/mixin/hbm/MixinContainerCrateTungsten.java create mode 100644 src/main/resources/mixin.bogosorter.hbm.json diff --git a/dependencies.gradle b/dependencies.gradle index 6cb5be3b..1db0c4ef 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -86,6 +86,7 @@ dependencies { compileOnly rfg.deobf("curse.maven:industrial-renewal-299849:3340876") compileOnly rfg.deobf("curse.maven:rftools-224641:2861573") compileOnly rfg.deobf("curse.maven:mcjtylib-233105:2745846") + compileOnly rfg.deobf("curse.maven:hbms-nuclear-tech-hamster-reloaded-862305:4939325") compileOnly rfg.deobf("curse.maven:arcane-archives-311357:3057332") //[IronBackpacks-1.12.2-3.0.8-12](https://www.curseforge.com/minecraft/mc-mods/iron-backpacks/files/2564573) compileOnly(rfg.deobf("curse.maven:iron-backpacks-227049:2564573")) diff --git a/src/main/java/com/cleanroommc/bogosorter/LateMixin.java b/src/main/java/com/cleanroommc/bogosorter/LateMixin.java index c9f69dee..49e28008 100644 --- a/src/main/java/com/cleanroommc/bogosorter/LateMixin.java +++ b/src/main/java/com/cleanroommc/bogosorter/LateMixin.java @@ -12,7 +12,7 @@ public class LateMixin implements ILateMixinLoader { public static final List modMixins = ImmutableList.of("ironchest", "thermalexpansion", "enderio", "gregtechceu", "colossalchests", "galacticraftcore", "galacticraftplanets", "charset", - "simplybackpacks", "avaritiaddons", "improvedbackpacks", "quark", "rftools"); + "simplybackpacks", "avaritiaddons", "improvedbackpacks", "quark", "rftools", "hbm"); @Override public List getMixinConfigs() { diff --git a/src/main/java/com/cleanroommc/bogosorter/core/mixin/hbm/MixinContainerCrateDesh.java b/src/main/java/com/cleanroommc/bogosorter/core/mixin/hbm/MixinContainerCrateDesh.java new file mode 100644 index 00000000..bd56e98e --- /dev/null +++ b/src/main/java/com/cleanroommc/bogosorter/core/mixin/hbm/MixinContainerCrateDesh.java @@ -0,0 +1,19 @@ +package com.cleanroommc.bogosorter.core.mixin.hbm; + +import com.cleanroommc.bogosorter.api.ISortableContainer; +import com.cleanroommc.bogosorter.api.ISortingContextBuilder; +import com.hbm.inventory.container.ContainerCrateDesh; +import com.hbm.tileentity.machine.TileEntityCrateDesh; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +@Mixin(value = ContainerCrateDesh.class, remap = false) +public class MixinContainerCrateDesh implements ISortableContainer { + @Shadow + private TileEntityCrateDesh crate; + + @Override + public void buildSortingContext(ISortingContextBuilder builder) { + builder.addSlotGroup(0, crate.inventory.getSlots(), 13); + } +} diff --git a/src/main/java/com/cleanroommc/bogosorter/core/mixin/hbm/MixinContainerCrateIron.java b/src/main/java/com/cleanroommc/bogosorter/core/mixin/hbm/MixinContainerCrateIron.java new file mode 100644 index 00000000..ee0011e9 --- /dev/null +++ b/src/main/java/com/cleanroommc/bogosorter/core/mixin/hbm/MixinContainerCrateIron.java @@ -0,0 +1,19 @@ +package com.cleanroommc.bogosorter.core.mixin.hbm; + +import com.cleanroommc.bogosorter.api.ISortableContainer; +import com.cleanroommc.bogosorter.api.ISortingContextBuilder; +import com.hbm.inventory.container.ContainerCrateIron; +import com.hbm.tileentity.machine.TileEntityCrateIron; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +@Mixin(value = ContainerCrateIron.class, remap = false) +public class MixinContainerCrateIron implements ISortableContainer { + @Shadow + private TileEntityCrateIron diFurnace; + + @Override + public void buildSortingContext(ISortingContextBuilder builder) { + builder.addSlotGroup(0, diFurnace.inventory.getSlots(), 9); + } +} diff --git a/src/main/java/com/cleanroommc/bogosorter/core/mixin/hbm/MixinContainerCrateSteel.java b/src/main/java/com/cleanroommc/bogosorter/core/mixin/hbm/MixinContainerCrateSteel.java new file mode 100644 index 00000000..f2f3b035 --- /dev/null +++ b/src/main/java/com/cleanroommc/bogosorter/core/mixin/hbm/MixinContainerCrateSteel.java @@ -0,0 +1,19 @@ +package com.cleanroommc.bogosorter.core.mixin.hbm; + +import com.cleanroommc.bogosorter.api.ISortableContainer; +import com.cleanroommc.bogosorter.api.ISortingContextBuilder; +import com.hbm.inventory.container.ContainerCrateSteel; +import com.hbm.tileentity.machine.TileEntityCrateSteel; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +@Mixin(value = ContainerCrateSteel.class, remap = false) +public class MixinContainerCrateSteel implements ISortableContainer { + @Shadow + private TileEntityCrateSteel diFurnace; + + @Override + public void buildSortingContext(ISortingContextBuilder builder) { + builder.addSlotGroup(0, diFurnace.inventory.getSlots(), 9); + } +} diff --git a/src/main/java/com/cleanroommc/bogosorter/core/mixin/hbm/MixinContainerCrateTungsten.java b/src/main/java/com/cleanroommc/bogosorter/core/mixin/hbm/MixinContainerCrateTungsten.java new file mode 100644 index 00000000..7fa7f316 --- /dev/null +++ b/src/main/java/com/cleanroommc/bogosorter/core/mixin/hbm/MixinContainerCrateTungsten.java @@ -0,0 +1,19 @@ +package com.cleanroommc.bogosorter.core.mixin.hbm; + +import com.cleanroommc.bogosorter.api.ISortableContainer; +import com.cleanroommc.bogosorter.api.ISortingContextBuilder; +import com.hbm.inventory.container.ContainerCrateTungsten; +import com.hbm.tileentity.machine.TileEntityCrateTungsten; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +@Mixin(value = ContainerCrateTungsten.class, remap = false) +public class MixinContainerCrateTungsten implements ISortableContainer { + @Shadow + private TileEntityCrateTungsten crate; + + @Override + public void buildSortingContext(ISortingContextBuilder builder) { + builder.addSlotGroup(0, crate.inventory.getSlots(), 8); + } +} diff --git a/src/main/resources/mixin.bogosorter.hbm.json b/src/main/resources/mixin.bogosorter.hbm.json new file mode 100644 index 00000000..7a35e60b --- /dev/null +++ b/src/main/resources/mixin.bogosorter.hbm.json @@ -0,0 +1,13 @@ +{ + "package": "com.cleanroommc.bogosorter.core.mixin.hbm", + "refmap": "mixins.bogosorter.refmap.json", + "target": "@env(DEFAULT)", + "minVersion": "0.8", + "compatibilityLevel": "JAVA_8", + "mixins": [ + "MixinContainerCrateDesh", + "MixinContainerCrateIron", + "MixinContainerCrateSteel", + "MixinContainerCrateTungsten" + ] +} \ No newline at end of file