diff options
author | msg-programs <msgdoesstuff@gmail.com> | 2023-05-28 11:46:05 +0200 |
---|---|---|
committer | msg-programs <msgdoesstuff@gmail.com> | 2023-05-28 11:46:05 +0200 |
commit | eeaae397b0000b725e2a1cb63613b28e712a6d68 (patch) | |
tree | ef3cdbd65f2420710889af6e6594a5fa33a4b99d /src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget | |
parent | b446021b397fd70c98ac6dab595b8df6d026d355 (diff) | |
download | Skyblocker-eeaae397b0000b725e2a1cb63613b28e712a6d68.tar.gz Skyblocker-eeaae397b0000b725e2a1cb63613b28e712a6d68.tar.bz2 Skyblocker-eeaae397b0000b725e2a1cb63613b28e712a6d68.zip |
Add javadoc comments to key classes.
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget')
8 files changed, 56 insertions, 17 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java index 23ec15d0..6b96c151 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java @@ -17,6 +17,12 @@ import net.minecraft.text.MutableText; import net.minecraft.text.Text; import net.minecraft.util.Formatting; +/** + * Abstract base class for a Widget. + * Widgets are containers for components with a border and a title. + * Their size is dependent on the components inside, + * the position may be changed after construction. + */ public abstract class Widget { private ArrayList<Component> components = new ArrayList<>(); @@ -42,11 +48,20 @@ public abstract class Widget { components.add(c); } + /** + * Shorthand function for simple components. + * If the entry at idx has the format "<textA>: <textB>", an IcoTextComponent is added as such: + * [ico] [string] [textB.formatted(fmt)] + */ public final void addSimpleIcoText(ItemStack ico, String string, Formatting fmt, int idx) { Text txt = Widget.simpleEntryText(idx, string, fmt); this.addComponent(new IcoTextComponent(ico, txt)); } + /** + * Calculate the size of this widget. + * <b>Must be called before returning from the widget constructor and after all components are added!</b> + */ public final void pack() { for (Component c : components) { h += c.getHeight() + Component.PAD_L; @@ -85,10 +100,16 @@ public abstract class Widget { return this.h; } + /** + * Draw this widget with a background + */ public final void render(MatrixStack ms) { this.render(ms, true); } + /** + * Draw this widget, possibly with a background + */ public final void render(MatrixStack ms, boolean hasBG) { // not sure if this is the way to go, but it fixes Z-layer issues @@ -140,6 +161,10 @@ public abstract class Widget { DrawableHelper.fill(ms, xpos, ypos, xpos + 1, ypos + height, this.color); } + /** + * If the entry at idx has the format "[textA]: [textB]", the following is returned: + * [entryName] [textB.formatted(contentFmt)] + */ public static Text simpleEntryText(int idx, String entryName, Formatting contentFmt) { String src = PlayerListMgr.strAt(idx); @@ -157,10 +182,16 @@ public abstract class Widget { return Widget.simpleEntryText(src, entryName, contentFmt); } + /** + * @return [entryName] [entryContent.formatted(contentFmt)] + */ public static Text simpleEntryText(String entryContent, String entryName, Formatting contentFmt) { return Text.literal(entryName).append(Text.literal(entryContent).formatted(contentFmt)); } + /** + * @return the entry at idx as unformatted Text + */ public static Text plainEntryText(int idx) { String str = PlayerListMgr.strAt(idx); if (str == null) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java index d9d84bc4..671b1f41 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java @@ -5,6 +5,9 @@ import net.minecraft.client.font.TextRenderer; import net.minecraft.client.render.item.ItemRenderer; import net.minecraft.client.util.math.MatrixStack; +/** + * Abstract base class for a component that may be added to a Widget. + */ public abstract class Component { static final int ICO_DIM = 16; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoFatTextComponent.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoFatTextComponent.java index 55d9b889..f845eba5 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoFatTextComponent.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoFatTextComponent.java @@ -6,8 +6,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.text.Text; import net.minecraft.util.Formatting; -// widget component that consists of an icon and two lines of text - +/** + * Component that consists of an icon and two lines of text + */ public class IcoFatTextComponent extends Component { private static final int ICO_OFFS = 1; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java index a14d0531..7a495a13 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java @@ -6,8 +6,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.text.Text; import net.minecraft.util.Formatting; -// widget component that consists of an icon and a line of text - +/** + * Component that consists of an icon and a line of text. + */ public class IcoTextComponent extends Component { private ItemStack ico; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlainTextComponent.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlainTextComponent.java index 70a72715..f356a6a3 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlainTextComponent.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlainTextComponent.java @@ -4,8 +4,9 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; import net.minecraft.util.Formatting; -// widget component that consists of a line of text - +/** + * Component that consists of a line of text. + */ public class PlainTextComponent extends Component { private Text text; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java index ff296f28..18859080 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java @@ -7,8 +7,9 @@ import net.minecraft.client.network.PlayerListEntry; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.Identifier; -// widget component that consists of a player's skin icon and their name - +/** + * Component that consists of a player's skin icon and their name + */ public class PlayerComponent extends Component { private static final int SKIN_ICO_DIM = 8; @@ -21,7 +22,7 @@ public class PlayerComponent extends Component { name = ple.getProfile().getName(); tex = ple.getSkinTexture(); - this.width = SKIN_ICO_DIM + PAD_S + txtRend.getWidth(name) ; + this.width = SKIN_ICO_DIM + PAD_S + txtRend.getWidth(name); this.height = txtRend.fontHeight; } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java index 6aaf9f67..b9ebc0e9 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java @@ -7,10 +7,12 @@ import net.minecraft.item.ItemStack; import net.minecraft.text.Text; import net.minecraft.util.Formatting; -// widget component that consists of an icon, some text and a progress bar -// progress bar either shows percentage or custom text -// NOTICE: pcnt is 0-100, not 0-1! +/** + * Component that consists of an icon, some text and a progress bar. + * The progress bar either shows the fill percentage or custom text. + * NOTICE: pcnt is 0-100, not 0-1! + */ public class ProgressComponent extends Component { private static final int BAR_WIDTH = 100; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java index 5d27380e..5d49be2c 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java @@ -3,11 +3,10 @@ package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component; import net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.util.math.MatrixStack; -// widget component that consists of a grid of other components -// grid cols are separated by lines - -// FIXME: table isn't wide enough sometimes -// FIXME: dividers drift when there are >2 cols +/** + * Meta-Component that consists of a grid of other components + * Grid cols are separated by lines. + */ public class TableComponent extends Component { private Component[][] comps; |