Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion src/main/java/toufoumaster/btwaila/BTWailaComponents.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@
import net.minecraft.client.gui.hud.component.layout.LayoutSnap;
import toufoumaster.btwaila.gui.components.*;
import turniplabs.halplibe.util.ClientStartEntrypoint;
import toufoumaster.btwaila.interfaces.HudComponentsRegisteredEntryPoint;

public class BTWailaComponents implements ClientStartEntrypoint {
public class BTWailaComponents implements ClientStartEntrypoint, HudComponentsRegisteredEntryPoint {
public static HudComponent BlockBaseInfoComp;
public static HudComponent BlockBreakComp;
public static HudComponent BlockAdvancedInfoComp;
Expand All @@ -23,6 +24,11 @@ public void beforeClientStart() {

@Override
public void afterClientStart() {

}

@Override
public void afterComponentsRegistered() {
BlockBaseInfoComp = HudComponents.register(
new BaseInfoComponent("wailaInfoBase",
new LayoutAbsolute(0.5f, 0.0f, ComponentAnchor.TOP_CENTER)));
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package toufoumaster.btwaila.interfaces;

public interface HudComponentsRegisteredEntryPoint {
void afterComponentsRegistered();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package toufoumaster.btwaila.mixin.mixins;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.client.gui.hud.component.HudComponents;
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;
import toufoumaster.btwaila.interfaces.HudComponentsRegisteredEntryPoint;

@Mixin(value = HudComponents.class, remap = false)
public class HudComponentsMixin {
@Inject(method = "<clinit>", at = @At(value = "TAIL"))
private static void init(CallbackInfo ci) {
FabricLoader.getInstance().getEntrypoints("afterComponentsRegistered", HudComponentsRegisteredEntryPoint.class).forEach(HudComponentsRegisteredEntryPoint::afterComponentsRegistered);
}
}
1 change: 1 addition & 0 deletions src/main/resources/btwaila.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"ScreenPauseMixin",
"HudIngameMixin",
"PacketHandlerClientMixin",
"HudComponentsMixin",
"accessors.IPlayerControllerAccessor"
],
"server": [
Expand Down
3 changes: 3 additions & 0 deletions src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@
"toufoumaster.btwaila.BTWailaComponents",
"toufoumaster.btwaila.BTWailaClient"
],
"afterComponentsRegistered": [
"toufoumaster.btwaila.BTWailaComponents"
],
"btwaila": [
"toufoumaster.btwaila.entryplugins.waila.BTWailaPlugin"
],
Expand Down