// Text context.drawTextWithShadow(client.textRenderer, Text.literal("⚡ " + energy + "/" + maxEnergy), x + width + 5, y + 1, 0xFFFFFF);
"custom": "cardinal-components": [ "energyclient:energy" ]
public class EnergyClientMod implements ModInitializer, EntityComponentInitializer public static final ComponentKey<EnergyComponent> ENERGY = ComponentRegistry.getOrCreate(Identifier.of("energyclient", "energy"), EnergyComponent.class);
// BatteryItem.java public class BatteryItem extends Item private final int charge; public BatteryItem(Settings settings, int charge) super(settings); this.charge = charge;
@Override public void readFromNbt(NbtCompound tag, RegistryWrapper.WrapperLookup registryLookup) this.energy = tag.getInt("energy");
// EnergyHudOverlay.java package com.example.energyclient.client; import com.example.energyclient.EnergyClientMod; import com.example.energyclient.component.EnergyComponent; import com.mojang.blaze3d.systems.RenderSystem; import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.render.RenderTickCounter; import net.minecraft.text.Text; import net.minecraft.util.Identifier;
