Skip to content

Commit abd855e

Browse files
Add optional feature to fix stack size rendering for old AE2 + NEI-GTNH (#140)
1 parent dc95d90 commit abd855e

File tree

5 files changed

+34
-0
lines changed

5 files changed

+34
-0
lines changed

dependencies.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ dependencies {
4343

4444
compileOnly files("deps/Food Plus Mod 1.7.10-deobf.jar")
4545
compileOnly(deobfMaven(curseMaven, "curse.maven:dragonapi-235591:3574508"))
46+
compileOnly(deobfMaven(curseMaven, "curse.maven:applied-energistics-2-223794:2296430"))
4647

4748
// Provides deobf support like in FG2
4849
runtimeOnlyNonPublishable('com.github.GTNewHorizons:CodeChickenLib:1.2.1:dev')

src/main/java/org/embeddedt/archaicfix/asm/Mixin.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,8 @@ public enum Mixin {
132132

133133
common_waystones_MixinItemWarpStone(Side.COMMON, Phase.LATE, require(TargetedMod.WAYSTONES), "waystones.MixinItemWarpStone"),
134134

135+
client_ae2_MixinNEIItemRender(Side.CLIENT, Phase.LATE, require(TargetedMod.AE2).and(m -> ArchaicConfig.disableAE2NEIItemRendering), "ae2.MixinNEIItemRender"),
136+
135137
/** This mixin will ostensibly be unnecessary after DragonAPI V31b */
136138
common_dragonapi_MixinReikaWorldHelper(Side.COMMON, Phase.LATE, m -> DragonAPIHelper.isVersionInInclusiveRange(0, 'a', 31, 'b') && !Boolean.valueOf(System.getProperty("archaicFix.disableFastReikaWorldHelper", "false")), "dragonapi.MixinReikaWorldHelper"),
137139

src/main/java/org/embeddedt/archaicfix/asm/TargetedMod.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public enum TargetedMod {
2828
FOODPLUS("FoodPlus", "FoodPlus"),
2929
DIVERSITY("Diversity", "diversity"),
3030
WAYSTONES("Waystones", "waystones"),
31+
AE2("AppliedEnergistics2", "appliedenergistics2"),
3132
AOA("AdventOfAscension", "nevermine")
3233
;
3334

src/main/java/org/embeddedt/archaicfix/config/ArchaicConfig.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,4 +176,8 @@ public class ArchaicConfig {
176176
@Config.Comment("Make entities drop XP immediately on death, like modern versions")
177177
@Config.DefaultBoolean(true)
178178
public static boolean dropXpImmediatelyOnDeath;
179+
180+
@Config.Comment("Disable NEI item rendering in AE2 to fix duplicate stack size rendering when using AE2 rv3-beta-6 with NEI > 2.6.37-GTNH")
181+
@Config.DefaultBoolean(false)
182+
public static boolean disableAE2NEIItemRendering;
179183
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package org.embeddedt.archaicfix.mixins.client.ae2;
2+
3+
import appeng.client.gui.AEBaseGui;
4+
import net.minecraft.client.gui.inventory.GuiContainer;
5+
import net.minecraft.client.renderer.entity.RenderItem;
6+
import net.minecraft.inventory.Container;
7+
import org.spongepowered.asm.mixin.Mixin;
8+
import org.spongepowered.asm.mixin.injection.At;
9+
import org.spongepowered.asm.mixin.injection.Inject;
10+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
11+
12+
@Mixin(AEBaseGui.class)
13+
public abstract class MixinNEIItemRender extends GuiContainer {
14+
15+
protected MixinNEIItemRender(Container container) {
16+
super(container);
17+
}
18+
19+
// disable the duplicate text rendering for stack sizes in the AE2 GUI when NEI compatibility is enabled
20+
@Inject(method = "setItemRender", at = @At("HEAD"), cancellable = true, remap = false)
21+
private void setItemRender(RenderItem item, CallbackInfoReturnable<RenderItem> cir) {
22+
final RenderItem ri = itemRender;
23+
itemRender = item;
24+
cir.setReturnValue(ri);
25+
}
26+
}

0 commit comments

Comments
 (0)