aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget
diff options
context:
space:
mode:
authormsg-programs <msgdoesstuff@gmail.com>2023-05-28 11:46:05 +0200
committermsg-programs <msgdoesstuff@gmail.com>2023-05-28 11:46:05 +0200
commiteeaae397b0000b725e2a1cb63613b28e712a6d68 (patch)
treeef3cdbd65f2420710889af6e6594a5fa33a4b99d /src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget
parentb446021b397fd70c98ac6dab595b8df6d026d355 (diff)
downloadSkyblocker-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')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java31
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java3
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoFatTextComponent.java5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlainTextComponent.java5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java7
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java9
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;