diff options
author | olim <bobq4582@gmail.com> | 2024-04-09 13:26:12 +0100 |
---|---|---|
committer | olim <bobq4582@gmail.com> | 2024-04-09 13:26:12 +0100 |
commit | f4b7cccafe1c84e3d7c2cd2da5633a4689b3c6e6 (patch) | |
tree | eab623b16ff462633a351b35e0e8515880cad2ca /src/main/java/de/hysky | |
parent | cdf2b3f8a1cdb665df7b3da1ecf6c328630faf5d (diff) | |
download | Skyblocker-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')
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(); + } + + + + } + +} |