From 44c5a1783f97703855d3215bf7298bfaefdd1006 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Fri, 20 Mar 2026 21:36:04 +0100 Subject: [PATCH] Refactored effect --- .../common/module/PlayerModule.java | 6 ++-- .../features/StatusEffectsFeature.java | 28 +++---------------- 2 files changed, 7 insertions(+), 27 deletions(-) diff --git a/src/main/java/org/saturnclient/common/module/PlayerModule.java b/src/main/java/org/saturnclient/common/module/PlayerModule.java index 7a82be8..746161f 100644 --- a/src/main/java/org/saturnclient/common/module/PlayerModule.java +++ b/src/main/java/org/saturnclient/common/module/PlayerModule.java @@ -2,8 +2,8 @@ package org.saturnclient.common.module; import java.util.List; +import org.saturnclient.common.ref.game.EffectRef; import org.saturnclient.common.ref.game.ItemStackRef; -import org.saturnclient.feature.features.StatusEffectsFeature; /** * PlayerModule provides access to the state of the local player. @@ -93,13 +93,13 @@ public interface PlayerModule { * Returns a list of the player’s currently active effects. * Safe default: empty list if no player is present. */ - List getActiveEffects(); + List getActiveEffects(); /** * Returns a list of dummy effects used in HUD editor / preview mode. * Safe default: empty list. */ - List getDummyEffects(); + List getDummyEffects(); // --------------------------------------------------------------- // Inventory / equipment diff --git a/src/main/java/org/saturnclient/feature/features/StatusEffectsFeature.java b/src/main/java/org/saturnclient/feature/features/StatusEffectsFeature.java index 98d1286..76e531e 100644 --- a/src/main/java/org/saturnclient/feature/features/StatusEffectsFeature.java +++ b/src/main/java/org/saturnclient/feature/features/StatusEffectsFeature.java @@ -4,7 +4,7 @@ import java.util.List; import org.saturnclient.common.provider.ModuleProvider; import org.saturnclient.common.provider.Providers; -import org.saturnclient.common.ref.asset.SpriteRef; +import org.saturnclient.common.ref.game.EffectRef; import org.saturnclient.config.property.BoolProperty; import org.saturnclient.config.property.Property; import org.saturnclient.ui.RenderScope; @@ -37,26 +37,6 @@ public class StatusEffectsFeature extends Feature implements HudFeature { layout.prop()); } - // --------------------------------------------------------------- - // Effect data contract (inner interface keeps things self-contained) - // --------------------------------------------------------------- - - /** - * Minimal view of a single active status effect. - * Implementations are provided by the platform bridge. - */ - public interface EffectView { - boolean shouldShowIcon(); - - SpriteRef getIcon(); - - boolean isInfinite(); - - String getInfiniteText(); - - int getDurationSeconds(); - } - // --------------------------------------------------------------- // HudFeature // --------------------------------------------------------------- @@ -75,10 +55,10 @@ public class StatusEffectsFeature extends Feature implements HudFeature { // Rendering // --------------------------------------------------------------- - private void renderEffects(RenderScope scope, List effects) { + private void renderEffects(RenderScope scope, List effects) { int row = 0; - for (EffectView effect : effects) { + for (EffectRef effect : effects) { if (!effect.shouldShowIcon()) continue; @@ -92,7 +72,7 @@ public class StatusEffectsFeature extends Feature implements HudFeature { layout.height = 18 * row; } - private static String durationString(EffectView effect) { + private static String durationString(EffectRef effect) { if (effect.isInfinite()) return effect.getInfiniteText();