aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de')
-rw-r--r--src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java21
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java24
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java32
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java15
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/RenderFishMixin.java26
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java35
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionBrowserScreen.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java11
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java38
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/HotbarSlotLock.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/Colors.java15
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java14
12 files changed, 181 insertions, 57 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
index a1e1dadc..e301e8e2 100644
--- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
@@ -356,6 +356,18 @@ public class SkyblockerConfig {
public static class Fishing {
@SerialEntry
public boolean enableFishingHelper = true;
+
+ @SerialEntry
+ public boolean enableFishingTimer = false;
+
+ @SerialEntry
+ public boolean changeTimerColor = true;
+
+ @SerialEntry
+ public float fishingTimerScale = 1f;
+
+ @SerialEntry
+ public boolean hideOtherPlayersRods = false;
}
public static class FairySouls {
@@ -853,6 +865,15 @@ public class SkyblockerConfig {
public String dungeonScore300Message = "300 Score Reached!";
@SerialEntry
+ public boolean enableDungeonCryptsMessage = true;
+
+ @SerialEntry
+ public int dungeonCryptsMessageThreshold = 250;
+
+ @SerialEntry
+ public String dungeonCryptsMessage = "We only have [crypts] crypts out of 5, we need more!";
+
+ @SerialEntry
public boolean enableScoreHUD = true;
@SerialEntry
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java
index 9d6e1beb..06a904ba 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java
@@ -231,6 +231,30 @@ public class DungeonsCategory {
.controller(StringControllerBuilder::create)
.build())
.option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonCryptsMessage"))
+ .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonCryptsMessage.@Tooltip")))
+ .binding(defaults.locations.dungeons.dungeonScore.enableDungeonCryptsMessage,
+ () -> config.locations.dungeons.dungeonScore.enableDungeonCryptsMessage,
+ newValue -> config.locations.dungeons.dungeonScore.enableDungeonCryptsMessage = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Integer>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold"))
+ .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold.@Tooltip")))
+ .binding(defaults.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold,
+ () -> config.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold,
+ newValue -> config.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold = newValue)
+ .controller(IntegerFieldControllerBuilder::create)
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessage"))
+ .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessage.@Tooltip")))
+ .binding(defaults.locations.dungeons.dungeonScore.dungeonCryptsMessage,
+ () -> config.locations.dungeons.dungeonScore.dungeonCryptsMessage,
+ newValue -> config.locations.dungeons.dungeonScore.dungeonCryptsMessage = newValue)
+ .controller(StringControllerBuilder::create)
+ .build())
+ .option(Option.<Boolean>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD"))
.description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD.@Tooltip"), Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD.deathMessagesNote")))
.binding(defaults.locations.dungeons.dungeonScore.enableScoreHUD,
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
index a74b9483..dbfbbb10 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
@@ -226,6 +226,38 @@ public class GeneralCategory {
newValue -> config.general.fishing.enableFishingHelper = newValue)
.controller(ConfigUtils::createBooleanController)
.build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.enableFishingTimer"))
+ .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.enableFishingTimer.@Tooltip")))
+ .binding(defaults.general.fishing.enableFishingTimer,
+ () -> config.general.fishing.enableFishingTimer,
+ newValue -> config.general.fishing.enableFishingTimer = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.changeTimerColor"))
+ .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.changeTimerColor.@Tooltip")))
+ .binding(defaults.general.fishing.changeTimerColor,
+ () -> config.general.fishing.changeTimerColor,
+ newValue -> config.general.fishing.changeTimerColor = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Float>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.fishingTimerScale"))
+ .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.fishingTimerScale.@Tooltip")))
+ .binding(defaults.general.fishing.fishingTimerScale,
+ () -> config.general.fishing.fishingTimerScale,
+ newValue -> config.general.fishing.fishingTimerScale = newValue)
+ .controller(FloatFieldControllerBuilder::create)
+ .build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.hideOtherPlayers"))
+ .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.hideOtherPlayers.@Tooltip")))
+ .binding(defaults.general.fishing.hideOtherPlayersRods,
+ () -> config.general.fishing.hideOtherPlayersRods,
+ newValue -> config.general.fishing.hideOtherPlayersRods = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
.build())
//Fairy Souls Helper
diff --git a/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java b/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java
index 049443f7..8fb2fda4 100644
--- a/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java
@@ -27,7 +27,9 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(ClientPlayerEntity.class)
public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity {
- @Shadow @Final protected MinecraftClient client;
+ @Shadow
+ @Final
+ protected MinecraftClient client;
public ClientPlayerEntityMixin(ClientWorld world, GameProfile profile) {
super(world, profile);
@@ -35,14 +37,9 @@ public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity
@Inject(method = "dropSelectedItem", at = @At("HEAD"), cancellable = true)
public void skyblocker$dropSelectedItem(CallbackInfoReturnable<Boolean> cir) {
- if (Utils.isOnSkyblock()) {
- if (ItemProtection.isItemProtected(this.getInventory().getMainHandStack())) {
- if (!SkyblockerConfigManager.get().locations.dungeons.allowDroppingProtectedItems
- || (SkyblockerConfigManager.get().locations.dungeons.allowDroppingProtectedItems && !Utils.isInDungeons())) {
- cir.setReturnValue(false);
- }
- }
- HotbarSlotLock.handleDropSelectedItem(this.getInventory().selectedSlot, cir);
+ if (Utils.isOnSkyblock() && (ItemProtection.isItemProtected(this.getInventory().getMainHandStack()) || HotbarSlotLock.isLocked(this.getInventory().selectedSlot))
+ && (!SkyblockerConfigManager.get().locations.dungeons.allowDroppingProtectedItems || !Utils.isInDungeons())) {
+ cir.setReturnValue(false);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/mixin/RenderFishMixin.java b/src/main/java/de/hysky/skyblocker/mixin/RenderFishMixin.java
new file mode 100644
index 00000000..e74bbaea
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/mixin/RenderFishMixin.java
@@ -0,0 +1,26 @@
+package de.hysky.skyblocker.mixin;
+
+
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.render.VertexConsumerProvider;
+import net.minecraft.client.render.entity.FishingBobberEntityRenderer;
+import net.minecraft.client.util.math.MatrixStack;
+import net.minecraft.entity.projectile.FishingBobberEntity;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+
+@Mixin(FishingBobberEntityRenderer.class)
+public abstract class RenderFishMixin {
+
+ @Inject(method = "render", at = @At("HEAD"), cancellable = true)
+ private void skyblocker$render(FishingBobberEntity fishingBobberEntity, float f, float g, MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int i, CallbackInfo ci) {
+ //if rendered bobber is not the players and option to hide others is enabled do not render the bobber
+ if (Utils.isOnSkyblock() && fishingBobberEntity.getPlayerOwner() != MinecraftClient.getInstance().player && SkyblockerConfigManager.get().general.fishing.hideOtherPlayersRods) {
+ ci.cancel();
+ }
+ }
+}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java
index 9e7cf541..7676860f 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java
@@ -4,6 +4,8 @@ import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.utils.Utils;
import de.hysky.skyblocker.utils.render.RenderHelper;
import de.hysky.skyblocker.utils.render.title.Title;
+import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
+import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents;
import net.fabricmc.fabric.api.event.player.UseItemCallback;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
@@ -11,6 +13,7 @@ import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.FishingRodItem;
import net.minecraft.item.ItemStack;
import net.minecraft.network.packet.s2c.play.PlaySoundS2CPacket;
+import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
import net.minecraft.util.TypedActionResult;
import net.minecraft.util.math.MathHelper;
@@ -19,6 +22,7 @@ import net.minecraft.util.math.Vec3d;
public class FishingHelper {
private static final Title title = new Title("skyblocker.fishing.reelNow", Formatting.GREEN);
private static long startTime;
+ private static long startTimeFish;
private static Vec3d normalYawVector;
public static void init() {
@@ -36,31 +40,58 @@ public class FishingHelper {
}
return TypedActionResult.pass(stack);
});
+ WorldRenderEvents.AFTER_TRANSLUCENT.register(FishingHelper::render);
}
public static void start(PlayerEntity player) {
startTime = System.currentTimeMillis();
+ startTimeFish = System.currentTimeMillis();
float yawRad = player.getYaw() * 0.017453292F;
normalYawVector = new Vec3d(-MathHelper.sin(yawRad), 0, MathHelper.cos(yawRad));
}
public static void reset() {
startTime = 0;
+ startTimeFish = 0;
+ }
+
+ public static void resetFish() {
+ startTimeFish = 0;
}
public static void onSound(PlaySoundS2CPacket packet) {
String path = packet.getSound().value().getId().getPath();
- if (SkyblockerConfigManager.get().general.fishing.enableFishingHelper && startTime != 0 && System.currentTimeMillis() >= startTime + 2000 && ("entity.generic.splash".equals(path) || "entity.player.splash".equals(path))) {
+ if (SkyblockerConfigManager.get().general.fishing.enableFishingHelper && startTimeFish != 0 && System.currentTimeMillis() >= startTimeFish + 2000 && ("entity.generic.splash".equals(path) || "entity.player.splash".equals(path))) {
ClientPlayerEntity player = MinecraftClient.getInstance().player;
if (player != null && player.fishHook != null) {
Vec3d soundToFishHook = player.fishHook.getPos().subtract(packet.getX(), 0, packet.getZ());
if (Math.abs(normalYawVector.x * soundToFishHook.z - normalYawVector.z * soundToFishHook.x) < 0.2D && Math.abs(normalYawVector.dotProduct(soundToFishHook)) < 4D && player.getPos().squaredDistanceTo(packet.getX(), packet.getY(), packet.getZ()) > 1D) {
RenderHelper.displayInTitleContainerAndPlaySound(title, 10);
- reset();
+ resetFish();
}
} else {
reset();
}
}
}
+
+ public static void render(WorldRenderContext context) {
+ if (SkyblockerConfigManager.get().general.fishing.enableFishingTimer && startTime != 0) {
+ ClientPlayerEntity player = MinecraftClient.getInstance().player;
+ if (player != null && player.fishHook != null) {
+ float time = (int) ((System.currentTimeMillis() - startTime) / 100f) / 10f; //leave 1dp in seconds
+ float scale = SkyblockerConfigManager.get().general.fishing.fishingTimerScale;
+ Vec3d pos = player.fishHook.getPos().add(0, 0.4 + scale / 10, 0);
+
+ Text text;
+ if (time >= 20 && SkyblockerConfigManager.get().general.fishing.changeTimerColor) {
+ text = Text.literal(String.valueOf(time)).formatted(Formatting.GREEN);
+ } else {
+ text = Text.literal(String.valueOf(time));
+ }
+
+ RenderHelper.renderText(context, text, pos, scale, true);
+ }
+ }
+ }
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionBrowserScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionBrowserScreen.java
index d47fef05..c8bc1f13 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionBrowserScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionBrowserScreen.java
@@ -170,7 +170,7 @@ public class AuctionBrowserScreen extends AbstractCustomHypixelGUI<AuctionHouseS
@Override
protected void drawSlot(DrawContext context, Slot slot) {
- if (SkyblockerConfigManager.get().general.fancyAuctionHouse.highlightCheapBIN && isSlotHighlighted.getOrDefault(slot.id, false)) {
+ if (SkyblockerConfigManager.get().general.fancyAuctionHouse.highlightCheapBIN && slot.hasStack() && isSlotHighlighted.getOrDefault(slot.id, false)) {
context.drawBorder(slot.x, slot.y, 16, 16, new Color(0, 255, 0, 100).getRGB());
}
super.drawSlot(context, slot);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java
index 10605d8b..9d610ccd 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java
@@ -56,6 +56,7 @@ public class DungeonScore {
private static String currentFloor;
private static boolean isCurrentFloorEntrance;
private static boolean floorHasMimics;
+ private static boolean sentCrypts;
private static boolean sent270;
private static boolean sent300;
private static boolean mimicKilled;
@@ -112,6 +113,15 @@ public class DungeonScore {
}
sent270 = true;
}
+
+ int crypts = getCrypts();
+ if (!sentCrypts && score >= SCORE_CONFIG.dungeonCryptsMessageThreshold && crypts < 5) {
+ if (SCORE_CONFIG.enableDungeonCryptsMessage) {
+ MessageScheduler.INSTANCE.sendMessageAfterCooldown("/pc " + Constants.PREFIX.get().getString() + SCORE_CONFIG.dungeonCryptsMessage.replaceAll("\\[crypts]", String.valueOf(crypts)));
+ }
+ sentCrypts = true;
+ }
+
if (!sent300 && score >= 300) {
if (SCORE_CONFIG.enableDungeonScore300Message) {
MessageScheduler.INSTANCE.sendMessageAfterCooldown("/pc " + Constants.PREFIX.get().getString() + SCORE_CONFIG.dungeonScore300Message.replaceAll("\\[score]", "300"));
@@ -132,6 +142,7 @@ public class DungeonScore {
currentFloor = "";
isCurrentFloorEntrance = false;
floorHasMimics = false;
+ sentCrypts = false;
sent270 = false;
sent300 = false;
mimicKilled = false;
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java
index 4ce92de8..86a8e685 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java
@@ -19,7 +19,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import java.util.stream.Collectors;
import java.util.stream.Stream;
public class DwarvenHud {
@@ -32,22 +31,22 @@ public class DwarvenHud {
public static String glacitePowder = "0";
private static final List<Pattern> COMMISSIONS = Stream.of(
- "(?:Titanium|Mithril|Hard Stone) Miner",
- "(?:Glacite Walker|Golden Goblin|(?<!Golden )Goblin|Goblin Raid|Treasure Hoarder|Automaton|Sludge|Team Treasurite Member|Yog|Boss Corleone|Thyst) Slayer",
- "(?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Mithril",
- "(?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Titanium",
- "Goblin Raid",
- "(?:Star Sentry|Treasure Hoarder) Puncher",
- "(?<!Lucky )Raffle",
- "Lucky Raffle",
- "2x Mithril Powder Collector",
- "First Event",
- "(?:Ruby|Amber|Sapphire|Jade|Amethyst|Topaz|Onyx|Aquamarine|Citrine|Peridot) Gemstone Collector",
- "(?:Amber|Sapphire|Jade|Amethyst|Topaz) Crystal Hunter",
- "(?:Umber|Tungsten|Glacite|Scrap) Collector",
- "Mineshaft Explorer",
- "(?:Chest|Corpse) Looter").map(s -> Pattern.compile("(" + s + "): (\\d+\\.?\\d*%|DONE)")
- ).collect(Collectors.toList());
+ "(?:Titanium|Mithril|Hard Stone) Miner",
+ "(?:Glacite Walker|Golden Goblin|(?<!Golden )Goblin|Goblin Raid|Treasure Hoarder|Automaton|Sludge|Team Treasurite Member|Yog|Boss Corleone|Thyst) Slayer",
+ "(?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Mithril",
+ "(?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Titanium",
+ "Goblin Raid",
+ "(?:Star Sentry|Treasure Hoarder) Puncher",
+ "(?<!Lucky )Raffle",
+ "Lucky Raffle",
+ "2x Mithril Powder Collector",
+ "First Event",
+ "(?:Ruby|Amber|Sapphire|Jade|Amethyst|Topaz|Onyx|Aquamarine|Citrine|Peridot) Gemstone Collector",
+ "(?:Amber|Sapphire|Jade|Amethyst|Topaz) Crystal Hunter",
+ "(?:Umber|Tungsten|Glacite|Scrap) Collector",
+ "Mineshaft Explorer",
+ "(?:Chest|Corpse) Looter").map(s -> Pattern.compile("(" + s + "): (\\d+\\.?\\d*%|DONE)")
+ ).toList();
private static final Pattern MITHRIL_PATTERN = Pattern.compile("Mithril: [0-9,]+");
private static final Pattern GEMSTONE_PATTERN = Pattern.compile("Gemstone: [0-9,]+");
private static final Pattern GLACITE_PATTERN = Pattern.compile("Glacite: [0-9,]+");
@@ -111,8 +110,9 @@ public class DwarvenHud {
}
context.drawTextWithShadow(CLIENT.textRenderer,
- Text.literal(commission.commission + ": ").formatted(Formatting.AQUA)
- .append(Text.literal(commission.progression).formatted(Colors.hypixelProgressColor(percentage))),
+ Text.literal(commission.commission + ": ").formatted(Formatting.AQUA).append(
+ Text.literal(commission.progression).withColor(Colors.pcntToCol(percentage))
+ ),
comHudX + 5, comHudY + y + 5, 0xFFFFFFFF);
y += 20;
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/HotbarSlotLock.java b/src/main/java/de/hysky/skyblocker/skyblock/item/HotbarSlotLock.java
index 069a030d..0fda3ef4 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/HotbarSlotLock.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/HotbarSlotLock.java
@@ -5,7 +5,6 @@ import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.option.KeyBinding;
import org.lwjgl.glfw.GLFW;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.List;
@@ -24,10 +23,6 @@ public class HotbarSlotLock {
return SkyblockerConfigManager.get().general.lockedSlots.contains(slot);
}
- public static void handleDropSelectedItem(int slot, CallbackInfoReturnable<Boolean> cir) {
- if (isLocked(slot)) cir.setReturnValue(false);
- }
-
public static void handleInputEvents(ClientPlayerEntity player) {
while (hotbarSlotLock.wasPressed()) {
List<Integer> lockedSlots = SkyblockerConfigManager.get().general.lockedSlots;
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/Colors.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/Colors.java
index 82b7ef11..025514e9 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/Colors.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/Colors.java
@@ -1,6 +1,5 @@
package de.hysky.skyblocker.skyblock.tabhud.util;
-import net.minecraft.util.Formatting;
import net.minecraft.util.math.MathHelper;
public class Colors {
@@ -10,18 +9,6 @@ public class Colors {
* @return an int representing a color, where 100% = green and 0% = red
*/
public static int pcntToCol(float pcnt) {
- return MathHelper.hsvToRgb(pcnt / 300f, 0.9f, 0.9f);
- }
-
- public static Formatting hypixelProgressColor(float pcnt) {
- if (pcnt < 25) {
- return Formatting.RED;
- } else if (pcnt < 50) {
- return Formatting.GOLD;
- } else if (pcnt < 75) {
- return Formatting.YELLOW;
- } else {
- return Formatting.GREEN;
- }
+ return MathHelper.hsvToRgb(pcnt / 300, 1, 1);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java
index 5832f31e..44a06c99 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java
@@ -1,7 +1,5 @@
package de.hysky.skyblocker.skyblock.tabhud.widget.hud;
-import java.util.List;
-
import de.hysky.skyblocker.skyblock.dwarven.DwarvenHud.Commission;
import de.hysky.skyblocker.skyblock.tabhud.util.Colors;
import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
@@ -13,14 +11,15 @@ import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
+import java.util.List;
+
// this widget shows the status of the king's commissions.
// (dwarven mines and crystal hollows)
// USE ONLY WITH THE DWARVEN HUD!
public class HudCommsWidget extends Widget {
- private static final MutableText TITLE = Text.literal("Commissions").formatted(Formatting.DARK_AQUA,
- Formatting.BOLD);
+ private static final MutableText TITLE = Text.literal("Commissions").formatted(Formatting.DARK_AQUA, Formatting.BOLD);
private List<Commission> commissions;
private boolean isFancy;
@@ -59,9 +58,10 @@ public class HudCommsWidget extends Widget {
comp = new ProgressComponent(Ico.BOOK, c, p, Colors.pcntToCol(p));
} else {
comp = new PlainTextComponent(
- Text.literal(comm.commission() + ": ")
- .append(Text.literal(comm.progression())
- .formatted(Colors.hypixelProgressColor(p))));
+ Text.literal(comm.commission() + ": ").append(
+ Text.literal(comm.progression()).withColor(Colors.pcntToCol(p))
+ )
+ );
}
this.addComponent(comp);
}