diff options
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/data/TrackerManager.kt | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/TrackerManager.kt b/src/main/java/at/hannibal2/skyhanni/data/TrackerManager.kt new file mode 100644 index 000000000..de9caa02e --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/data/TrackerManager.kt @@ -0,0 +1,37 @@ +package at.hannibal2.skyhanni.data + +import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.events.ConfigLoadEvent +import at.hannibal2.skyhanni.events.GuiRenderEvent +import at.hannibal2.skyhanni.utils.LorenzUtils +import net.minecraftforge.fml.common.eventhandler.EventPriority +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +object TrackerManager { + + private var hasChanged = false + var dirty = false + + @SubscribeEvent + fun onConfigLoad(event: ConfigLoadEvent) { + val config = SkyHanniMod.feature.misc.tracker.hideCheapItems + LorenzUtils.onToggle(config.alwaysShowBest, config.minPrice, config.enabled) { + hasChanged = true + } + } + + @SubscribeEvent(priority = EventPriority.HIGHEST) + fun onRenderOverlayFirst(event: GuiRenderEvent) { + if (hasChanged) { + dirty = true + } + } + + @SubscribeEvent(priority = EventPriority.LOWEST) + fun onRenderOverlayLast(event: GuiRenderEvent) { + if (hasChanged) { + dirty = false + hasChanged = false + } + } +} |
