aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorRime <81419447+Emirlol@users.noreply.github.com>2025-03-03 07:22:45 +0300
committerGitHub <noreply@github.com>2025-03-03 12:22:45 +0800
commit38f2c51a116c87ca7ba6a6ffc5bd821770b57630 (patch)
treeb43de603ad7fbf7de485a405477fdea3b36d8a94 /src/main/java
parent047149f394359ed957a6b9c050d00c8953ed0198 (diff)
downloadSkyblocker-38f2c51a116c87ca7ba6a6ffc5bd821770b57630.tar.gz
Skyblocker-38f2c51a116c87ca7ba6a6ffc5bd821770b57630.tar.bz2
Skyblocker-38f2c51a116c87ca7ba6a6ffc5bd821770b57630.zip
Add teleport overlay color config (#1175)
* Add teleport overlay color config * Oops forgot the translation * Fix alpha --------- Co-authored-by: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java11
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java11
3 files changed, 23 insertions, 2 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
index 14372b8c..7e20f8ff 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
@@ -3,6 +3,7 @@ package de.hysky.skyblocker.config.categories;
import de.hysky.skyblocker.config.ConfigUtils;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.configs.UIAndVisualsConfig;
+import de.hysky.skyblocker.skyblock.TeleportOverlay;
import de.hysky.skyblocker.skyblock.fancybars.StatusBarsConfigScreen;
import de.hysky.skyblocker.skyblock.item.slottext.SlotTextManager;
import de.hysky.skyblocker.skyblock.item.slottext.SlotTextMode;
@@ -369,6 +370,16 @@ public class UIAndVisualsCategory {
newValue -> config.uiAndVisuals.teleportOverlay.enableTeleportOverlays = newValue)
.controller(ConfigUtils::createBooleanController)
.build())
+ .option(Option.<Color>createBuilder()
+ .name(Text.translatable("skyblocker.config.uiAndVisuals.teleportOverlay.teleportOverlayColor"))
+ .binding(defaults.uiAndVisuals.teleportOverlay.teleportOverlayColor,
+ () -> config.uiAndVisuals.teleportOverlay.teleportOverlayColor,
+ newValue -> {
+ config.uiAndVisuals.teleportOverlay.teleportOverlayColor = newValue;
+ TeleportOverlay.configCallback(newValue);
+ })
+ .controller(opt -> ColorControllerBuilder.create(opt).allowAlpha(true))
+ .build())
.option(Option.<Boolean>createBuilder()
.name(Text.translatable("skyblocker.config.uiAndVisuals.teleportOverlay.enableWeirdTransmission"))
.binding(defaults.uiAndVisuals.teleportOverlay.enableWeirdTransmission,
diff --git a/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java
index 90efa5d2..081d6a4d 100644
--- a/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java
@@ -323,6 +323,9 @@ public class UIAndVisualsConfig {
public boolean enableTeleportOverlays = true;
@SerialEntry
+ public Color teleportOverlayColor = new Color(0x7F761594, true);
+
+ @SerialEntry
public boolean enableWeirdTransmission = true;
@SerialEntry
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java b/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java
index ed97c768..f1e9840f 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java
@@ -16,12 +16,15 @@ import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.hit.HitResult;
import net.minecraft.util.math.BlockPos;
+import java.awt.*;
+
public class TeleportOverlay {
- private static final float[] COLOR_COMPONENTS = {118f / 255f, 21f / 255f, 148f / 255f};
private static final MinecraftClient client = MinecraftClient.getInstance();
+ private static float[] colorComponents;
@Init
public static void init() {
+ configCallback(SkyblockerConfigManager.get().uiAndVisuals.teleportOverlay.teleportOverlayColor); // Initialize colorComponents from the config value
WorldRenderEvents.AFTER_TRANSLUCENT.register(TeleportOverlay::render);
}
@@ -101,7 +104,11 @@ public class TeleportOverlay {
@SuppressWarnings("DataFlowIssue")
BlockState state = client.world.getBlockState(pos);
if (!state.isAir() && client.world.getBlockState(pos.up()).isAir() && client.world.getBlockState(pos.up(2)).isAir()) {
- RenderHelper.renderFilled(wrc, pos, COLOR_COMPONENTS, 0.5f, false);
+ RenderHelper.renderFilled(wrc, pos, colorComponents, colorComponents[3], false);
}
}
+
+ public static void configCallback(Color color) {
+ colorComponents = color.getRGBComponents(null);
+ }
}