From 96599f69ea7f22289a74c5c5e931d1001d73e42f Mon Sep 17 00:00:00 2001 From: MTOnline69 <97001154+MTOnline69@users.noreply.github.com> Date: Sat, 5 Oct 2024 09:59:13 +0100 Subject: Improvement: Option to hide other players while in Gunther's Race (#2655) Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../rift/area/westvillage/GunthersRaceConfig.java | 6 ++++++ .../features/rift/area/westvillage/RiftGunthersRace.kt | 15 +++++++++++++++ 2 files changed, 21 insertions(+) (limited to 'src/main/java/at') diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/rift/area/westvillage/GunthersRaceConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/rift/area/westvillage/GunthersRaceConfig.java index beb4acc9e..10d18fa85 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/rift/area/westvillage/GunthersRaceConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/rift/area/westvillage/GunthersRaceConfig.java @@ -30,4 +30,10 @@ public class GunthersRaceConfig { @ConfigOption(name = "Monochrome Color", desc = "Set a boring monochrome color for the guide waypoints.") @ConfigEditorColour public Property monochromeColor = Property.of("0:60:0:0:255"); + + @Expose + @ConfigOption(name = "Hide Other Players", desc = "Hide other players while in the race.") + @ConfigEditorBoolean + @FeatureToggle + public boolean hidePlayers = false; } diff --git a/src/main/java/at/hannibal2/skyhanni/features/rift/area/westvillage/RiftGunthersRace.kt b/src/main/java/at/hannibal2/skyhanni/features/rift/area/westvillage/RiftGunthersRace.kt index cf729453f..5a3638101 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/rift/area/westvillage/RiftGunthersRace.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/rift/area/westvillage/RiftGunthersRace.kt @@ -1,6 +1,7 @@ package at.hannibal2.skyhanni.features.rift.area.westvillage import at.hannibal2.skyhanni.data.jsonobjects.repo.ParkourJson +import at.hannibal2.skyhanni.events.CheckRenderEntityEvent import at.hannibal2.skyhanni.events.ConfigLoadEvent import at.hannibal2.skyhanni.events.IslandChangeEvent import at.hannibal2.skyhanni.events.LorenzChatEvent @@ -11,9 +12,11 @@ import at.hannibal2.skyhanni.features.rift.RiftAPI import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule import at.hannibal2.skyhanni.utils.ColorUtils.toChromaColor import at.hannibal2.skyhanni.utils.ConditionalUtils +import at.hannibal2.skyhanni.utils.EntityUtils.isNPC import at.hannibal2.skyhanni.utils.ParkourHelper import at.hannibal2.skyhanni.utils.RegexUtils.matchMatcher import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern +import net.minecraft.client.entity.EntityOtherPlayerMP import net.minecraftforge.fml.common.eventhandler.SubscribeEvent @SkyHanniModule @@ -105,6 +108,18 @@ object RiftGunthersRace { } } + @SubscribeEvent + fun onCheckRender(event: CheckRenderEntityEvent<*>) { + if (!isEnabled()) return + if (!config.hidePlayers) return + if (!RiftAPI.inRiftRace) return + + val entity = event.entity + if (entity is EntityOtherPlayerMP && !entity.isNPC()) { + event.cancel() + } + } + @SubscribeEvent fun onRenderWorld(event: LorenzRenderWorldEvent) { if (!isEnabled() || !RiftAPI.inRiftRace) return -- cgit