Made the features work

This commit is contained in:
2026-03-08 13:19:49 +01:00
parent ab353f5fe9
commit eaa145881d
14 changed files with 47 additions and 92 deletions
@@ -1,6 +1,6 @@
package org.saturnclient.feature.features;
import org.saturnclient.common.provider.ModuleProvider;
import org.saturnclient.common.provider.Providers;
import org.saturnclient.common.module.PlayerModule;
import org.saturnclient.common.ref.game.ItemStackRef;
import org.saturnclient.config.manager.Property;
@@ -22,9 +22,7 @@ public class ArmorDisplayFeature extends Feature implements HudFeature {
private static final Property<Boolean> useMainHand = Property.bool(true);
private static final FeatureLayout layout = new FeatureLayout(40, 75);
private final ModuleProvider modules;
public ArmorDisplayFeature(ModuleProvider modules) {
public ArmorDisplayFeature() {
super(
new FeatureDetails("Armor Display", "armor")
.description("Displays armor durability")
@@ -33,8 +31,6 @@ public class ArmorDisplayFeature extends Feature implements HudFeature {
enabled.named("Enabled"),
useMainHand.named("Use Main Hand"),
layout.prop());
this.modules = modules;
}
// ---------------------------------------------------------------
@@ -43,7 +39,7 @@ public class ArmorDisplayFeature extends Feature implements HudFeature {
@Override
public void renderHud(RenderScope scope) {
PlayerModule player = modules.player();
PlayerModule player = Providers.module.player();
renderArmor(scope,
player.getMainHand(),
player.getHelmet(),
@@ -54,7 +50,7 @@ public class ArmorDisplayFeature extends Feature implements HudFeature {
@Override
public void renderDummy(RenderScope scope) {
PlayerModule player = modules.player();
PlayerModule player = Providers.module.player();
renderArmor(scope,
player.getDummyMainHand(),
player.getDummyHelmet(),
@@ -1,6 +1,6 @@
package org.saturnclient.feature.features;
import org.saturnclient.common.provider.ModuleProvider;
import org.saturnclient.common.provider.Providers;
import org.saturnclient.common.module.NetworkModule;
import org.saturnclient.common.module.PlayerModule;
import org.saturnclient.config.manager.Property;
@@ -15,17 +15,13 @@ public class AutoSprintFeature extends Feature {
private static final Property<Boolean> enabled = Property.bool(false);
private final ModuleProvider modules;
public AutoSprintFeature(ModuleProvider modules) {
public AutoSprintFeature() {
super(
new FeatureDetails("Auto Sprint", "sprint")
.description("Makes the player always sprint")
.tags("Movement")
.version("v0.2.0"),
enabled.named("Enabled"));
this.modules = modules;
}
// ---------------------------------------------------------------
@@ -34,8 +30,8 @@ public class AutoSprintFeature extends Feature {
@Override
public void tick() {
PlayerModule player = modules.player();
NetworkModule network = modules.network();
PlayerModule player = Providers.module.player();
NetworkModule network = Providers.module.network();
if (!player.hasPlayer() || !network.hasNetwork()) {
return;
@@ -1,6 +1,6 @@
package org.saturnclient.feature.features;
import org.saturnclient.common.provider.ModuleProvider;
import org.saturnclient.common.provider.Providers;
import org.saturnclient.config.manager.Property;
import org.saturnclient.ui.RenderScope;
import org.saturnclient.ui.resources.Fonts;
@@ -23,9 +23,7 @@ public class CoordinatesFeature extends Feature implements HudFeature {
"Newline annotated");
private static final FeatureLayout layout = new FeatureLayout(40, 18);
private final ModuleProvider modules;
public CoordinatesFeature(ModuleProvider modules) {
public CoordinatesFeature() {
super(
new FeatureDetails("Coordinates", "coords")
.description("Displays your current coordinates")
@@ -34,8 +32,6 @@ public class CoordinatesFeature extends Feature implements HudFeature {
enabled.named("Enabled"),
displayMethod.named("Display Method"),
layout.prop());
this.modules = modules;
}
// ---------------------------------------------------------------
@@ -45,9 +41,9 @@ public class CoordinatesFeature extends Feature implements HudFeature {
@Override
public void renderHud(RenderScope scope) {
renderCoords(
modules.player().getX(),
modules.player().getY(),
modules.player().getZ(),
Providers.module.player().getX(),
Providers.module.player().getY(),
Providers.module.player().getZ(),
scope);
}
@@ -1,6 +1,6 @@
package org.saturnclient.feature.features;
import org.saturnclient.common.provider.ModuleProvider;
import org.saturnclient.common.provider.Providers;
import org.saturnclient.common.module.RenderModule;
import org.saturnclient.config.manager.Property;
import org.saturnclient.ui.RenderScope;
@@ -18,17 +18,13 @@ public class CrosshairFeature extends Feature {
private static final int CROSSHAIR_SIZE = 15;
private final ModuleProvider modules;
public CrosshairFeature(ModuleProvider modules) {
public CrosshairFeature() {
super(
new FeatureDetails("Crosshair", "crosshair")
.description("Changes the crosshair when aiming at an entity")
.tags("Visuals", "Utility")
.version("v0.2.0"),
enabled.named("Enabled"));
this.modules = modules;
}
// ---------------------------------------------------------------
@@ -37,11 +33,11 @@ public class CrosshairFeature extends Feature {
@Override
public void render(RenderScope scope) {
if (!enabled.value || !modules.entity().isTargetingLivingEntity()) {
if (!enabled.value || !Providers.module.entity().isTargetingLivingEntity()) {
return;
}
RenderModule render = modules.render();
RenderModule render = Providers.module.render();
int x = (render.getScaledWindowWidth() - CROSSHAIR_SIZE) / 2;
int y = (render.getScaledWindowHeight() - CROSSHAIR_SIZE) / 2;
@@ -1,6 +1,6 @@
package org.saturnclient.feature.features;
import org.saturnclient.common.provider.ModuleProvider;
import org.saturnclient.common.provider.Providers;
import org.saturnclient.config.manager.Property;
import org.saturnclient.ui.RenderScope;
import org.saturnclient.ui.resources.Fonts;
@@ -18,9 +18,7 @@ public class DayCounterFeature extends Feature implements HudFeature {
private static final Property<Boolean> enabled = Property.bool(false);
private static final FeatureLayout layout = new FeatureLayout(40, 18);
private final ModuleProvider modules;
public DayCounterFeature(ModuleProvider modules) {
public DayCounterFeature() {
super(
new FeatureDetails("Day Counter", "day")
.description("Displays the number of in-game days elapsed")
@@ -28,8 +26,6 @@ public class DayCounterFeature extends Feature implements HudFeature {
.tags("Utility"),
enabled.named("Enabled"),
layout.prop());
this.modules = modules;
}
// ---------------------------------------------------------------
@@ -38,7 +34,7 @@ public class DayCounterFeature extends Feature implements HudFeature {
@Override
public void renderHud(RenderScope scope) {
renderDay(modules.world().getDay(), scope);
renderDay(Providers.module.world().getDay(), scope);
}
@Override
@@ -1,6 +1,6 @@
package org.saturnclient.feature.features;
import org.saturnclient.common.provider.ModuleProvider;
import org.saturnclient.common.provider.Providers;
import org.saturnclient.config.manager.Property;
import org.saturnclient.ui.RenderScope;
import org.saturnclient.ui.resources.Fonts;
@@ -18,9 +18,7 @@ public class FpsFeature extends Feature implements HudFeature {
private static final Property<Boolean> enabled = Property.bool(false);
private static final FeatureLayout layout = new FeatureLayout(60, Fonts.getHeight());
private final ModuleProvider modules;
public FpsFeature(ModuleProvider modules) {
public FpsFeature() {
super(
new FeatureDetails("FPS Display", "fps")
.description("Displays current FPS")
@@ -28,8 +26,6 @@ public class FpsFeature extends Feature implements HudFeature {
.tags("Utility"),
enabled.named("Enabled"),
layout.prop());
this.modules = modules;
}
// ---------------------------------------------------------------
@@ -38,7 +34,7 @@ public class FpsFeature extends Feature implements HudFeature {
@Override
public void renderHud(RenderScope scope) {
renderFps(modules.render().getFps(), scope);
renderFps(Providers.module.render().getFps(), scope);
}
@Override
@@ -1,6 +1,6 @@
package org.saturnclient.feature.features;
import org.saturnclient.common.provider.ModuleProvider;
import org.saturnclient.common.provider.Providers;
import org.saturnclient.common.module.RenderModule;
import org.saturnclient.common.provider.GLFWProvider;
import org.saturnclient.config.manager.Property;
@@ -24,9 +24,7 @@ public class FreelookFeature extends Feature {
public static boolean isFreeLooking = false;
private static boolean wasFirstPerson = false;
private final ModuleProvider modules;
public FreelookFeature(ModuleProvider modules) {
public FreelookFeature() {
super(
new FeatureDetails("Freelook", "freelook")
.description("Look around freely without moving your character")
@@ -35,8 +33,6 @@ public class FreelookFeature extends Feature {
enabled.named("Enabled"),
toggle.named("Toggle freelook"),
freelookKey.named("Freelook Keybinding"));
this.modules = modules;
}
// ---------------------------------------------------------------
@@ -77,7 +73,7 @@ public class FreelookFeature extends Feature {
// ---------------------------------------------------------------
private void startFreelook() {
RenderModule render = modules.render();
RenderModule render = Providers.module.render();
wasFirstPerson = render.isFirstPerson();
render.setThirdPersonBack();
isFreeLooking = true;
@@ -85,7 +81,7 @@ public class FreelookFeature extends Feature {
private void stopFreelook() {
if (wasFirstPerson) {
modules.render().setFirstPerson();
Providers.module.render().setFirstPerson();
}
isFreeLooking = false;
}
@@ -1,6 +1,6 @@
package org.saturnclient.feature.features;
import org.saturnclient.common.provider.ModuleProvider;
import org.saturnclient.common.provider.Providers;
import org.saturnclient.config.manager.Property;
import org.saturnclient.ui.RenderScope;
import org.saturnclient.ui.resources.Fonts;
@@ -21,9 +21,7 @@ public class HealthDisplayFeature extends Feature implements HudFeature {
private static final Property<Integer> decimals = Property.select(0, "0", "1", "2");
private static final FeatureLayout layout = new FeatureLayout(40, 18);
private final ModuleProvider modules;
public HealthDisplayFeature(ModuleProvider modules) {
public HealthDisplayFeature() {
super(
new FeatureDetails("Health Display", "health")
.description("Displays your current health")
@@ -33,8 +31,6 @@ public class HealthDisplayFeature extends Feature implements HudFeature {
displayMode.named("Display mode"),
decimals.named("Decimals"),
layout.prop());
this.modules = modules;
}
// ---------------------------------------------------------------
@@ -43,7 +39,7 @@ public class HealthDisplayFeature extends Feature implements HudFeature {
@Override
public void renderHud(RenderScope scope) {
float health = modules.player().getHealth();
float health = Providers.module.player().getHealth();
if (displayMode.value == 1)
health /= 2f; // convert to hearts
renderHealth(health, scope);
@@ -1,6 +1,6 @@
package org.saturnclient.feature.features;
import org.saturnclient.common.provider.ModuleProvider;
import org.saturnclient.common.provider.Providers;
import org.saturnclient.common.module.PlayerModule;
import org.saturnclient.config.manager.Property;
import org.saturnclient.ui.RenderScope;
@@ -44,9 +44,7 @@ public class KeystrokesFeature extends Feature implements HudFeature {
private boolean w, a, s, d, lmb, rmb, space;
private final ModuleProvider modules;
public KeystrokesFeature(ModuleProvider modules) {
public KeystrokesFeature() {
super(
new FeatureDetails("Keystrokes", "keystrokes")
.description("Displays movement keystrokes")
@@ -58,8 +56,6 @@ public class KeystrokesFeature extends Feature implements HudFeature {
layout.prop(),
clickFg.named("Clicked fg"),
clickBg.named("Clicked bg"));
this.modules = modules;
layout.renderBackground = false;
}
@@ -69,7 +65,7 @@ public class KeystrokesFeature extends Feature implements HudFeature {
@Override
public void tick() {
PlayerModule player = modules.player();
PlayerModule player = Providers.module.player();
w = player.isForwardPressed();
a = player.isLeftPressed();
s = player.isBackPressed();
@@ -1,6 +1,6 @@
package org.saturnclient.feature.features;
import org.saturnclient.common.provider.ModuleProvider;
import org.saturnclient.common.provider.Providers;
import org.saturnclient.config.manager.Property;
import org.saturnclient.ui.RenderScope;
import org.saturnclient.ui.resources.Fonts;
@@ -18,9 +18,7 @@ public class PingFeature extends Feature implements HudFeature {
private static final Property<Boolean> enabled = Property.bool(false);
private static final FeatureLayout layout = new FeatureLayout(60, Fonts.getHeight());
private final ModuleProvider modules;
public PingFeature(ModuleProvider modules) {
public PingFeature() {
super(
new FeatureDetails("Ping Display", "ping")
.description("Displays ping to the server")
@@ -28,8 +26,6 @@ public class PingFeature extends Feature implements HudFeature {
.tags("Utility"),
enabled.named("Enabled"),
layout.prop());
this.modules = modules;
}
// ---------------------------------------------------------------
@@ -38,7 +34,7 @@ public class PingFeature extends Feature implements HudFeature {
@Override
public void renderHud(RenderScope scope) {
renderPing(modules.network().getPing(), scope);
renderPing(Providers.module.network().getPing(), scope);
}
@Override
@@ -1,6 +1,6 @@
package org.saturnclient.feature.features;
import org.saturnclient.common.provider.ModuleProvider;
import org.saturnclient.common.provider.Providers;
import org.saturnclient.common.module.PlayerModule;
import org.saturnclient.config.manager.Property;
import org.saturnclient.ui.RenderScope;
@@ -24,9 +24,7 @@ public class SpeedometerFeature extends Feature implements HudFeature {
private double cachedSpeed = 0.0;
private final ModuleProvider modules;
public SpeedometerFeature(ModuleProvider modules) {
public SpeedometerFeature() {
super(
new FeatureDetails("Speedometer", "speed")
.description("Displays your current movement speed")
@@ -37,8 +35,6 @@ public class SpeedometerFeature extends Feature implements HudFeature {
unitText.named("Unit text"),
showLabel.named("Show speed label"),
layout.prop());
this.modules = modules;
}
// ---------------------------------------------------------------
@@ -47,7 +43,7 @@ public class SpeedometerFeature extends Feature implements HudFeature {
@Override
public void renderHud(RenderScope scope) {
PlayerModule player = modules.player();
PlayerModule player = Providers.module.player();
PlayerModule.Velocity v = player.getVelocity();
boolean onGround = player.isOnGround();
@@ -2,7 +2,7 @@ package org.saturnclient.feature.features;
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.config.manager.Property;
import org.saturnclient.ui.RenderScope;
@@ -25,9 +25,7 @@ public class StatusEffectsFeature extends Feature implements HudFeature {
public static final Property<Boolean> enabled = Property.bool(false);
private static final FeatureLayout layout = new FeatureLayout(60, 0);
private final ModuleProvider modules;
public StatusEffectsFeature(ModuleProvider modules) {
public StatusEffectsFeature() {
super(
new FeatureDetails("Status Effects", "effect")
.description("Displays active status effects")
@@ -35,8 +33,6 @@ public class StatusEffectsFeature extends Feature implements HudFeature {
.tags("Utility"),
enabled.named("Enabled"),
layout.prop());
this.modules = modules;
}
// ---------------------------------------------------------------
@@ -65,12 +61,12 @@ public class StatusEffectsFeature extends Feature implements HudFeature {
@Override
public void renderHud(RenderScope scope) {
renderEffects(scope, modules.player().getActiveEffects());
renderEffects(scope, Providers.module.player().getActiveEffects());
}
@Override
public void renderDummy(RenderScope scope) {
renderEffects(scope, modules.player().getDummyEffects());
renderEffects(scope, Providers.module.player().getDummyEffects());
}
// ---------------------------------------------------------------