diff options
| author | Rime <81419447+Emirlol@users.noreply.github.com> | 2025-03-03 07:22:45 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-03 12:22:45 +0800 |
| commit | 38f2c51a116c87ca7ba6a6ffc5bd821770b57630 (patch) | |
| tree | b43de603ad7fbf7de485a405477fdea3b36d8a94 /src/main/java | |
| parent | 047149f394359ed957a6b9c050d00c8953ed0198 (diff) | |
| download | Skyblocker-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')
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); + } } |
