aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker
diff options
context:
space:
mode:
authorolim <bobq4582@gmail.com>2024-04-09 13:26:12 +0100
committerolim <bobq4582@gmail.com>2024-04-09 13:26:12 +0100
commitf4b7cccafe1c84e3d7c2cd2da5633a4689b3c6e6 (patch)
treeeab623b16ff462633a351b35e0e8515880cad2ca /src/main/java/de/hysky/skyblocker
parentcdf2b3f8a1cdb665df7b3da1ecf6c328630faf5d (diff)
downloadSkyblocker-f4b7cccafe1c84e3d7c2cd2da5633a4689b3c6e6.tar.gz
Skyblocker-f4b7cccafe1c84e3d7c2cd2da5633a4689b3c6e6.tar.bz2
Skyblocker-f4b7cccafe1c84e3d7c2cd2da5633a4689b3c6e6.zip
add ability to hide others rods
add option to toggle rendering of other players rods
Diffstat (limited to 'src/main/java/de/hysky/skyblocker')
-rw-r--r--src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java11
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/RenderFishMixin.java31
3 files changed, 45 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
index ed74ea4f..01df542e 100644
--- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
@@ -358,6 +358,9 @@ public class SkyblockerConfig {
@SerialEntry
public float fishingTimerScale = 1f;
+
+ @SerialEntry
+ public boolean hideOtherPlayers = true;
}
public static class FairySouls {
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 52a9cd15..830c67fd 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
@@ -228,6 +228,7 @@ public class GeneralCategory {
.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)
@@ -235,6 +236,7 @@ public class GeneralCategory {
.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)
@@ -242,11 +244,20 @@ public class GeneralCategory {
.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.hideOtherPlayers,
+ () -> config.general.fishing.hideOtherPlayers,
+ newValue -> config.general.fishing.hideOtherPlayers = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
.build())
//Fairy Souls Helper
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..7c840bc9
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/mixin/RenderFishMixin.java
@@ -0,0 +1,31 @@
+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.WorldRenderer;
+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 not the players and option to hide is enabled hid the rod
+ if (Utils.isOnSkyblock() && fishingBobberEntity.getPlayerOwner() != MinecraftClient.getInstance().player && SkyblockerConfigManager.get().general.fishing.hideOtherPlayers) {
+ ci.cancel();
+ }
+
+
+
+ }
+
+}