aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java10
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainer.java28
-rw-r--r--src/main/resources/assets/skyblocker/lang/en_us.json3
3 files changed, 22 insertions, 19 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
index ab4149fc..d461dbfe 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
@@ -175,6 +175,11 @@ public class SkyblockerConfig implements ConfigData {
@ConfigEntry.Gui.CollapsibleObject()
public Hitbox hitbox = new Hitbox();
+ @ConfigEntry.Gui.Tooltip()
+ @ConfigEntry.Category("titleContainer")
+ @ConfigEntry.Gui.CollapsibleObject()
+ public TitleContainer titleContainer = new TitleContainer();
+
@ConfigEntry.Gui.Excluded
public List<Integer> lockedSlots = new ArrayList<>();
}
@@ -247,6 +252,11 @@ public class SkyblockerConfig implements ConfigData {
public boolean oldLeverHitbox = false;
}
+ public static class TitleContainer {
+ @ConfigEntry.BoundedDiscrete(min = 30, max = 140)
+ public float titleContainerScale = 100;
+ }
+
public static class RichPresence {
public boolean enableRichPresence = false;
@ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON)
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainer.java b/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainer.java
index 8eaf45a3..9728e1eb 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainer.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainer.java
@@ -1,30 +1,22 @@
package me.xmrvizzy.skyblocker.utils.title;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
-import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
+import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
-import net.minecraft.text.Text;
-import net.minecraft.util.Formatting;
import net.minecraft.util.math.MathHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
-import static net.fabricmc.fabric.api.client.command.v2.ClientCommandManager.literal;
-
public class TitleContainer {
public static List<Title> titles = new ArrayList<>();
- private static final Logger LOGGER = LoggerFactory.getLogger("skyblocker");
+
public static void init() {
HudRenderCallback.EVENT.register(TitleContainer::draw);
}
- public static void addTitle(Title title)
- {
+ public static void addTitle(Title title) {
title.active = true;
title.lastX = 0;
titles.add(title);
@@ -35,26 +27,24 @@ public class TitleContainer {
List<Title> toRemove = new ArrayList<>();
+ float scale = 3F * (SkyblockerConfig.get().general.titleContainer.titleContainerScale / 100F);
+
float x;
float width = 0;
- context.getMatrices().push();
- context.getMatrices().scale(3.0F, 3.0F, 3.0F);
for (Title title : titles) {
- width += textRenderer.getWidth(title.text) * 3F + 10;
+ width += textRenderer.getWidth(title.text) * scale + 10;
}
- context.getMatrices().pop();
x = (client.getWindow().getScaledWidth() / 2) - width / 2;
for (Title title : titles) {
context.getMatrices().push();
context.getMatrices().translate(title.lastX, client.getWindow().getScaledHeight() * 0.7F, 0);
- context.getMatrices().scale(3.0F, 3.0F, 3.0F);
+ context.getMatrices().scale(scale, scale, scale);
title.lastX = MathHelper.lerp(tickDelta * 0.5F, title.lastX, x);
- x += textRenderer.getWidth(title.text) * 3F + 10;
- context.drawText(textRenderer, title.text, 0, 0, title.color, true
- );
+ x += textRenderer.getWidth(title.text) * scale + 10;
+ context.drawText(textRenderer, title.text, 0, 0, title.color, true);
context.getMatrices().pop();
if (!title.active) {
toRemove.add(title);
diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json
index 4686c31a..641fd202 100644
--- a/src/main/resources/assets/skyblocker/lang/en_us.json
+++ b/src/main/resources/assets/skyblocker/lang/en_us.json
@@ -52,6 +52,9 @@
"text.autoconfig.skyblocker.option.general.hitbox": "Hitboxes",
"text.autoconfig.skyblocker.option.general.hitbox.oldFarmlandHitbox": "Enable 1.8 farmland hitbox",
"text.autoconfig.skyblocker.option.general.hitbox.oldLeverHitbox": "Enable 1.8 lever hitbox",
+ "text.autoconfig.skyblocker.option.general.titleContainer": "Title Container",
+ "text.autoconfig.skyblocker.option.general.titleContainer.@Tooltip": "Used to display multiple titles at once, Example use: Vampire Slayer",
+ "text.autoconfig.skyblocker.option.general.titleContainer.titleContainerScale": "Title Container Scale",
"skyblocker.itemTooltip.nullMessage": "§b[§6Skyblocker§b] §cItem price information on tooltip will renew in max 60 seconds. If not, check latest.log",
"skyblocker.itemTooltip.noData": "§cNo Data",