Main hand on armor status

This commit is contained in:
2025-09-03 05:28:41 +02:00
parent 1f93f6cf5a
commit 8e477f8852
@@ -14,7 +14,8 @@ import net.minecraft.item.Items;
public class ArmorDisplay extends Module implements HudMod { public class ArmorDisplay extends Module implements HudMod {
private static Property<Boolean> enabled = Property.bool(false); private static Property<Boolean> enabled = Property.bool(false);
private static ModDimensions dimensions = new ModDimensions(40, 60); private static ModDimensions dimensions = new ModDimensions(40, 75);
private static Property<Boolean> useMainHand = Property.bool(false);
public ArmorDisplay() { public ArmorDisplay() {
super(new ModuleDetails("Armor Display", "armor") super(new ModuleDetails("Armor Display", "armor")
@@ -22,14 +23,22 @@ public class ArmorDisplay extends Module implements HudMod {
.version("v0.1.0") .version("v0.1.0")
.tags("Utility"), .tags("Utility"),
enabled.named("Enabled"), enabled.named("Enabled"),
useMainHand.named("Use Main Hand"),
dimensions.prop()); dimensions.prop());
} }
public void renderArmor(RenderScope scope, ItemStack helmet, ItemStack chestplate, ItemStack leggings, ItemStack boots) { public void renderArmor(RenderScope scope, ItemStack mainHand, ItemStack helmet, ItemStack chestplate,
ItemStack leggings, ItemStack boots) {
int row = 0; int row = 0;
if (useMainHand.value && !mainHand.isEmpty()) {
scope.drawItem(mainHand, 0, 15 * row);
renderHealth(scope, row, mainHand.getMaxDamage(), mainHand.getDamage());
row++;
}
if (!helmet.isEmpty()) { if (!helmet.isEmpty()) {
scope.drawItem(helmet, 0, 0); scope.drawItem(helmet, 0, 15 * row);
renderHealth(scope, row, helmet.getMaxDamage(), helmet.getDamage()); renderHealth(scope, row, helmet.getMaxDamage(), helmet.getDamage());
row++; row++;
} }
@@ -53,14 +62,16 @@ public class ArmorDisplay extends Module implements HudMod {
} }
public void renderHealth(RenderScope scope, int i, int max_damage, int damage) { public void renderHealth(RenderScope scope, int i, int max_damage, int damage) {
if (max_damage > 0 ) { if (max_damage > 0) {
scope.drawText(0.5f, "" + (max_damage - damage), 17, (15 * i) + 3, dimensions.font.value, dimensions.fgColor.value); scope.drawText(0.5f, "" + (max_damage - damage), 17, (15 * i) + 3, dimensions.font.value,
dimensions.fgColor.value);
} }
} }
@Override @Override
public void renderHud(RenderScope scope) { public void renderHud(RenderScope scope) {
renderArmor(scope, renderArmor(scope,
SaturnClient.client.player.getEquippedStack(EquipmentSlot.MAINHAND),
SaturnClient.client.player.getEquippedStack(EquipmentSlot.HEAD), SaturnClient.client.player.getEquippedStack(EquipmentSlot.HEAD),
SaturnClient.client.player.getEquippedStack(EquipmentSlot.CHEST), SaturnClient.client.player.getEquippedStack(EquipmentSlot.CHEST),
SaturnClient.client.player.getEquippedStack(EquipmentSlot.LEGS), SaturnClient.client.player.getEquippedStack(EquipmentSlot.LEGS),
@@ -69,7 +80,9 @@ public class ArmorDisplay extends Module implements HudMod {
@Override @Override
public void renderDummy(RenderScope scope) { public void renderDummy(RenderScope scope) {
renderArmor(scope, new ItemStack(Items.DIAMOND_HELMET), new ItemStack(Items.DIAMOND_CHESTPLATE), new ItemStack(Items.DIAMOND_LEGGINGS), new ItemStack(Items.DIAMOND_BOOTS)); renderArmor(scope, new ItemStack(Items.DIAMOND_SWORD), new ItemStack(Items.DIAMOND_HELMET),
new ItemStack(Items.DIAMOND_CHESTPLATE),
new ItemStack(Items.DIAMOND_LEGGINGS), new ItemStack(Items.DIAMOND_BOOTS));
} }
@Override @Override