Skip to content

Commit 2195fe2

Browse files
authored
Fix minor oversight in PSS energy bar progress (#2888)
1 parent 5b212cb commit 2195fe2

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed

src/main/java/gregtech/common/metatileentities/multi/electric/MetaTileEntityPowerSubstation.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -587,8 +587,12 @@ public void registerBars(List<UnaryOperator<TemplateBarBuilder>> bars, PanelSync
587587
syncManager.syncValue("energy_capacity", energyCapacityValue);
588588

589589
bars.add(b -> b.progress(() -> {
590-
if (energyCapacityValue.getValue().equals(BigInteger.ZERO)) return 0;
591-
return energyStoredValue.getValue().divide(energyCapacityValue.getValue()).doubleValue();
590+
BigInteger capacity = energyCapacityValue.getValue();
591+
BigInteger stored = energyStoredValue.getValue();
592+
if (stored.equals(BigInteger.ZERO)) return 0;
593+
double factor = capacity.divide(stored).doubleValue();
594+
if (factor == 0) return 0;
595+
return 1 / factor;
592596
})
593597
.texture(GTGuiTextures.PROGRESS_BAR_MULTI_ENERGY_YELLOW)
594598
.tooltipBuilder(t -> {
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package gregtech.mixins.mui2;
2+
3+
import net.minecraft.network.PacketBuffer;
4+
5+
import io.netty.buffer.ByteBuf;
6+
import org.spongepowered.asm.mixin.Mixin;
7+
import org.spongepowered.asm.mixin.injection.At;
8+
import org.spongepowered.asm.mixin.injection.Redirect;
9+
10+
// todo remove in next mui2 update
11+
@Mixin(targets = "com.cleanroommc.modularui.utils.serialization.ByteBufAdapters$3")
12+
public class BigIntAdapterMixin {
13+
14+
@Redirect(method = "serialize(Lnet/minecraft/network/PacketBuffer;Ljava/math/BigInteger;)V",
15+
at = @At(value = "INVOKE",
16+
target = "Lnet/minecraft/network/PacketBuffer;writeBytes([B)Lio/netty/buffer/ByteBuf;"))
17+
public ByteBuf fixIncorrectCall(PacketBuffer instance, byte[] bytes) {
18+
return instance.writeByteArray(bytes);
19+
}
20+
}

src/main/resources/mixins.gregtech.mui2.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"maxShiftBy": 10
99
},
1010
"mixins": [
11+
"BigIntAdapterMixin",
1112
"TextWidgetMixin"
1213
],
1314
"client": [

0 commit comments

Comments
 (0)