Skip to content

Commit 27a7da5

Browse files
committed
Merge branch 'main' into hud-api
2 parents 698dae3 + 059c8d8 commit 27a7da5

8 files changed

Lines changed: 43 additions & 15 deletions

File tree

.github/workflows/build.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,16 @@ jobs:
1212
matrix:
1313
# Use these Java versions
1414
java: [
15-
21, # Current Java LTS
15+
25, # Current Java LTS
1616
]
1717
runs-on: ubuntu-22.04
1818
steps:
1919
- name: checkout repository
20-
uses: actions/checkout@v4
20+
uses: actions/checkout@v6
2121
- name: validate gradle wrapper
22-
uses: gradle/actions/wrapper-validation@v4
22+
uses: gradle/actions/wrapper-validation@v5
2323
- name: setup jdk ${{ matrix.java }}
24-
uses: actions/setup-java@v4
24+
uses: actions/setup-java@v5.2.0
2525
with:
2626
java-version: ${{ matrix.java }}
2727
distribution: 'microsoft'
@@ -30,8 +30,8 @@ jobs:
3030
- name: build
3131
run: ./gradlew build
3232
- name: capture build artifacts
33-
if: ${{ matrix.java == '21' }} # Only upload artifacts built from latest java
34-
uses: actions/upload-artifact@v4
33+
if: ${{ matrix.java == '25' }} # Only upload artifacts built from latest java
34+
uses: actions/upload-artifact@v7.0.0
3535
with:
3636
name: Artifacts
3737
path: build/libs/

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ java {
7373

7474
jar {
7575
from("LICENSE") {
76-
rename { "${it}_${project.archivesBaseName}"}
76+
rename { "${it}_${project.archives_base_name}"}
7777
}
7878
}
7979

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ org.gradle.configuration-cache=false
1212
loom_version=1.15-SNAPSHOT
1313

1414
# Mod Properties
15-
mod_version = 5.3.0
15+
mod_version = 5.2.1
1616
maven_group = io.github.madis0
1717
archives_base_name = onebar
1818

src/main/java/io/github/madis0/OneBarElements.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ public class OneBarElements {
3030
private final PlayerProperties playerProperties = new PlayerProperties();
3131
private final Minecraft client = Minecraft.getInstance();
3232
private final Difficulty difficulty = Objects.requireNonNull(client.getCameraEntity()).level().getDifficulty();
33+
private final GuiGraphicsExtractor drawContext;
3334
private final Font textRenderer = client.font;
3435
private GuiGraphicsExtractor drawContext;
3536

src/main/java/io/github/madis0/mixin/BossBarHudMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
@Mixin(BossHealthOverlay.class)
1111
public abstract class BossBarHudMixin {
1212
@ModifyConstant(
13-
method = "render(Lnet/minecraft/client/gui/GuiGraphics;)V",
13+
method = "extractRenderState(Lnet/minecraft/client/gui/GuiGraphicsExtractor;)V",
1414
constant = @Constant(intValue = 12)
1515
)
1616
private int adjustBossBarStartY(int original) {

src/main/java/io/github/madis0/mixin/InGameHudMixin.java

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,40 @@
1010
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
1111
import net.minecraft.client.gui.Gui;
1212
import net.minecraft.client.gui.Gui.ContextualInfo;
13+
import net.minecraft.client.gui.GuiGraphicsExtractor;
1314
import net.minecraft.world.entity.LivingEntity;
1415

1516
@Mixin(value = Gui.class)
1617
public abstract class InGameHudMixin {
1718
@Shadow protected abstract LivingEntity getPlayerVehicleWithHealth();
1819

19-
private boolean showOneBar = MixinConfigQuery.isOneBarEnabled();;
20+
private OneBarElements oneBarElements;
21+
private boolean showOneBar = false;
22+
23+
@Inject(at = @At("HEAD"), method = "extractRenderState")
24+
public void render(GuiGraphicsExtractor context, DeltaTracker tickCounter, CallbackInfo ci) {
25+
oneBarElements = new OneBarElements(context);
26+
showOneBar = MixinConfigQuery.isOneBarEnabled(); // This var exists because it also shows whether oneBarElements is initialized
27+
28+
boolean barsVisible = !minecraft.options.hideGui && Objects.requireNonNull(minecraft.gameMode).canHurtPlayer();
29+
if(showOneBar && barsVisible) oneBarElements.renderOneBar();
30+
if(showOneBar && MixinConfigQuery.showMountJump() && !minecraft.options.hideGui) oneBarElements.mountJumpBar();
31+
32+
PlayerProperties.setLocatorBarAvailable(minecraft.player.connection.getWaypointManager().hasWaypoints());
33+
}
34+
35+
@Inject(method = "extractPlayerHealth", at = @At(value = "HEAD"), cancellable = true)
36+
private void hideHud(GuiGraphicsExtractor context, CallbackInfo ci){
37+
if(showOneBar && !MixinConfigQuery.isCompatModeEnabled())
38+
ci.cancel();
39+
}
40+
41+
@Inject(method = "extractVehicleHealth", at = @At(value = "HEAD"), cancellable = true)
42+
private void hideMountHealth(GuiGraphicsExtractor context, CallbackInfo ci) {
43+
if(showOneBar && !MixinConfigQuery.isCompatModeEnabled())
44+
ci.cancel();
45+
oneBarElements.mountBar(getPlayerVehicleWithHealth());
46+
}
2047

2148
@Inject(method = "nextContextualInfoState", at = @At("HEAD"), cancellable = true)
2249
private void forceLocatorBar(CallbackInfoReturnable<ContextualInfo> cir) {
@@ -29,7 +56,7 @@ private void forceLocatorBar(CallbackInfoReturnable<ContextualInfo> cir) {
2956
}
3057
}
3158

32-
@ModifyVariable(method = "renderSelectedItemName", at = @At(value = "STORE"), ordinal = 2)
59+
@ModifyVariable(method = "extractSelectedItemName", at = @At(value = "STORE"), name = "y")
3360
private int renderHeldItemTooltip(int k) {
3461
if (!showOneBar || !MixinConfigQuery.isHotbarTooltipsDown()) {
3562
return k;

src/main/java/io/github/madis0/mixin/LocatorBarMixin.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
public abstract class LocatorBarMixin {
1616

1717
@ModifyArg(
18-
method = "renderBackground(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/client/DeltaTracker;)V",
18+
method = "extractBackground(Lnet/minecraft/client/gui/GuiGraphicsExtractor;Lnet/minecraft/client/DeltaTracker;)V",
1919
at = @At(
2020
value = "INVOKE",
21-
target = "Lnet/minecraft/client/gui/GuiGraphics;blitSprite(Lcom/mojang/blaze3d/pipeline/RenderPipeline;Lnet/minecraft/resources/Identifier;IIII)V"
21+
target = "Lnet/minecraft/client/gui/GuiGraphicsExtractor;blitSprite(Lcom/mojang/blaze3d/pipeline/RenderPipeline;Lnet/minecraft/resources/Identifier;IIII)V"
2222
),
2323
index = 3
2424
)
@@ -30,7 +30,7 @@ private int modifyHeightBar(int original) {
3030
}
3131

3232
@ModifyVariable(
33-
method = "render(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/client/DeltaTracker;)V",
33+
method = "extractRenderState(Lnet/minecraft/client/gui/GuiGraphicsExtractor;Lnet/minecraft/client/DeltaTracker;)V",
3434
at = @At("STORE"), // Could also use "LOAD" depending on when you want to intercept
3535
index = 3
3636
)

src/main/resources/fabric.mod.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"accessWidener": "guicontextualinfo.accesswidener",
3030
"depends": {
3131
"fabric-api": "*",
32-
"cloth-config2": "*",
32+
"cloth-config": "*",
3333
"minecraft": ">=26.1-"
3434
},
3535
"suggests": {

0 commit comments

Comments
 (0)