Refactor interface to feature

This commit is contained in:
2026-03-08 12:50:46 +01:00
parent 68a366a30b
commit f182ac7e91
27 changed files with 42 additions and 40 deletions
+1 -1
Submodule common updated: 709ad4fbf0...da6576e4ed
@@ -1,7 +1,7 @@
package org.saturnclient.impl.modules; package org.saturnclient.impl.modules;
import org.saturnclient.common.ref.game.ItemStackRef; import org.saturnclient.common.ref.game.ItemStackRef;
import org.saturnclient.modules.interfaces.ArmorDisplayInterface; import org.saturnclient.feature.interfaces.ArmorDisplayInterface;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.EquipmentSlot; import net.minecraft.entity.EquipmentSlot;
@@ -1,6 +1,6 @@
package org.saturnclient.impl.modules; package org.saturnclient.impl.modules;
import org.saturnclient.modules.interfaces.AutoSprintInterface; import org.saturnclient.feature.interfaces.AutoSprintInterface;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
@@ -1,6 +1,6 @@
package org.saturnclient.impl.modules; package org.saturnclient.impl.modules;
import org.saturnclient.modules.interfaces.CoordinatesInterface; import org.saturnclient.feature.interfaces.CoordinatesInterface;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.Vec3d;
@@ -1,6 +1,6 @@
package org.saturnclient.impl.modules; package org.saturnclient.impl.modules;
import org.saturnclient.modules.interfaces.CrosshairInterface; import org.saturnclient.feature.interfaces.CrosshairInterface;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
@@ -1,6 +1,6 @@
package org.saturnclient.impl.modules; package org.saturnclient.impl.modules;
import org.saturnclient.modules.interfaces.DayCounterInterface; import org.saturnclient.feature.interfaces.DayCounterInterface;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
@@ -1,6 +1,6 @@
package org.saturnclient.impl.modules; package org.saturnclient.impl.modules;
import org.saturnclient.modules.interfaces.FpsInterface; import org.saturnclient.feature.interfaces.FpsInterface;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
@@ -1,6 +1,6 @@
package org.saturnclient.impl.modules; package org.saturnclient.impl.modules;
import org.saturnclient.modules.interfaces.FreelookInterface; import org.saturnclient.feature.interfaces.FreelookInterface;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.option.Perspective; import net.minecraft.client.option.Perspective;
@@ -1,6 +1,6 @@
package org.saturnclient.impl.modules; package org.saturnclient.impl.modules;
import org.saturnclient.modules.interfaces.HealthDisplayInterface; import org.saturnclient.feature.interfaces.HealthDisplayInterface;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
@@ -1,6 +1,6 @@
package org.saturnclient.impl.modules; package org.saturnclient.impl.modules;
import org.saturnclient.modules.interfaces.KeystrokesInterface; import org.saturnclient.feature.interfaces.KeystrokesInterface;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
@@ -1,7 +1,7 @@
package org.saturnclient.impl.modules; package org.saturnclient.impl.modules;
import org.saturnclient.feature.interfaces.NametagsInterface;
import org.saturnclient.modules.HealthRenderState; import org.saturnclient.modules.HealthRenderState;
import org.saturnclient.modules.interfaces.NametagsInterface;
import net.minecraft.client.render.entity.state.LivingEntityRenderState; import net.minecraft.client.render.entity.state.LivingEntityRenderState;
import net.minecraft.text.Text; import net.minecraft.text.Text;
@@ -1,6 +1,6 @@
package org.saturnclient.impl.modules; package org.saturnclient.impl.modules;
import org.saturnclient.modules.interfaces.PingInterface; import org.saturnclient.feature.interfaces.PingInterface;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.client.network.ClientPlayNetworkHandler;
@@ -1,6 +1,6 @@
package org.saturnclient.impl.modules; package org.saturnclient.impl.modules;
import org.saturnclient.modules.interfaces.SpeedometerInterface; import org.saturnclient.feature.interfaces.SpeedometerInterface;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
@@ -5,7 +5,7 @@ import java.util.stream.Collectors;
import java.util.Arrays; import java.util.Arrays;
import org.saturnclient.common.ref.asset.SpriteRef; import org.saturnclient.common.ref.asset.SpriteRef;
import org.saturnclient.modules.interfaces.StatusEffectsInterface; import org.saturnclient.feature.interfaces.StatusEffectsInterface;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.texture.StatusEffectSpriteManager; import net.minecraft.client.texture.StatusEffectSpriteManager;
@@ -1,13 +1,13 @@
package org.saturnclient.impl.provider; package org.saturnclient.impl.provider;
import org.saturnclient.modules.Module; import org.saturnclient.feature.Feature;
import org.saturnclient.modules.ModManager.ModuleProvider; import org.saturnclient.feature.FeatureManager.ModuleProvider;
import org.saturnclient.modules.mods.*; import org.saturnclient.feature.features.*;
import org.saturnclient.impl.modules.*; import org.saturnclient.impl.modules.*;
public class FabricModuleProvider implements ModuleProvider { public class FabricModuleProvider implements ModuleProvider {
public static final Module[] MODS = { public static final Feature[] MODS = {
new ArmorDisplay(new ArmorDisplayFabric()), new ArmorDisplay(new ArmorDisplayFabric()),
new AutoSprint(new AutoSprintFabric()), new AutoSprint(new AutoSprintFabric()),
new Coordinates(new CoordinatesFabric()), new Coordinates(new CoordinatesFabric()),
@@ -31,7 +31,7 @@ public class FabricModuleProvider implements ModuleProvider {
}; };
@Override @Override
public Module[] getMods() { public Feature[] getMods() {
return MODS; return MODS;
} }
} }
@@ -1,6 +1,6 @@
package org.saturnclient.modules; package org.saturnclient.modules;
import org.saturnclient.modules.interfaces.NametagsInterface.EntityType; import org.saturnclient.feature.interfaces.NametagsInterface.EntityType;
public interface HealthRenderState { public interface HealthRenderState {
float saturn$getHealth(); float saturn$getHealth();
@@ -1,9 +1,9 @@
package org.saturnclient.modules.mixins; package org.saturnclient.modules.mixins;
import net.minecraft.client.render.BackgroundRenderer; import net.minecraft.client.render.BackgroundRenderer;
import org.saturnclient.modules.mods.NoFog;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import org.saturnclient.feature.features.NoFog;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyVariable; import org.spongepowered.asm.mixin.injection.ModifyVariable;
@@ -6,8 +6,8 @@ import net.minecraft.client.render.Camera;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.world.BlockView; import net.minecraft.world.BlockView;
import org.saturnclient.feature.features.Freelook;
import org.saturnclient.modules.CameraOverriddenEntity; import org.saturnclient.modules.CameraOverriddenEntity;
import org.saturnclient.modules.mods.Freelook;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.Unique;
@@ -5,8 +5,8 @@ import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import org.saturnclient.feature.features.Freelook;
import org.saturnclient.modules.CameraOverriddenEntity; import org.saturnclient.modules.CameraOverriddenEntity;
import org.saturnclient.modules.mods.Freelook;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
@@ -1,10 +1,10 @@
package org.saturnclient.modules.mixins; package org.saturnclient.modules.mixins;
import org.saturnclient.feature.features.Zoom;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import org.saturnclient.modules.mods.Zoom;
import net.minecraft.client.render.GameRenderer; import net.minecraft.client.render.GameRenderer;
@@ -3,7 +3,8 @@ package org.saturnclient.modules.mixins;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import net.minecraft.client.render.LightmapTextureManager; import net.minecraft.client.render.LightmapTextureManager;
import org.saturnclient.modules.mods.Fullbright;
import org.saturnclient.feature.features.Fullbright;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
@@ -2,7 +2,7 @@ package org.saturnclient.modules.mixins;
import net.minecraft.client.render.entity.state.LivingEntityRenderState; import net.minecraft.client.render.entity.state.LivingEntityRenderState;
import org.saturnclient.modules.interfaces.NametagsInterface.EntityType; import org.saturnclient.feature.interfaces.NametagsInterface.EntityType;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.Unique;
@@ -3,8 +3,8 @@ package org.saturnclient.modules.mixins;
import net.minecraft.client.render.entity.LivingEntityRenderer; import net.minecraft.client.render.entity.LivingEntityRenderer;
import net.minecraft.client.render.entity.state.LivingEntityRenderState; import net.minecraft.client.render.entity.state.LivingEntityRenderState;
import org.saturnclient.feature.interfaces.NametagsInterface.EntityType;
import org.saturnclient.modules.HealthRenderState; import org.saturnclient.modules.HealthRenderState;
import org.saturnclient.modules.interfaces.NametagsInterface.EntityType;
import net.minecraft.entity.LivingEntity; import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.mob.HostileEntity; import net.minecraft.entity.mob.HostileEntity;
@@ -7,8 +7,8 @@ import net.minecraft.client.render.entity.state.LivingEntityRenderState;
import net.minecraft.client.util.math.MatrixStack; import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text; import net.minecraft.text.Text;
import org.saturnclient.feature.features.Nametags;
import org.saturnclient.impl.modules.NametagsFabric; import org.saturnclient.impl.modules.NametagsFabric;
import org.saturnclient.modules.mods.Nametags;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.Unique;
@@ -1,8 +1,8 @@
package org.saturnclient.modules.mixins; package org.saturnclient.modules.mixins;
import org.saturnclient.modules.HudMod; import org.saturnclient.feature.HudFeature;
import org.saturnclient.modules.ModDimensions; import org.saturnclient.feature.FeatureLayout;
import org.saturnclient.modules.ModManager; import org.saturnclient.feature.FeatureManager;
import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.SaturnClient;
import org.saturnclient.saturnclient.mixin.DrawContextAccessor; import org.saturnclient.saturnclient.mixin.DrawContextAccessor;
import org.saturnclient.ui.RenderScope; import org.saturnclient.ui.RenderScope;
@@ -30,9 +30,9 @@ public class RenderMixin {
RenderScope renderScope = new RenderScopeImpl(context.getMatrices(), RenderScope renderScope = new RenderScopeImpl(context.getMatrices(),
((DrawContextAccessor) context).getVertexConsumers()); ((DrawContextAccessor) context).getVertexConsumers());
for (org.saturnclient.modules.Module m : ModManager.ENABLED_MODS) { for (org.saturnclient.feature.Feature m : FeatureManager.ENABLED_MODS) {
if (m instanceof HudMod && m.isEnabled()) { if (m instanceof HudFeature && m.isEnabled()) {
ModDimensions dim = ((HudMod) m).getDimensions(); FeatureLayout dim = ((HudFeature) m).getDimensions();
renderScope.getMatrixStack().push(); renderScope.getMatrixStack().push();
@@ -45,7 +45,7 @@ public class RenderMixin {
dim.bgColor.value); dim.bgColor.value);
} }
((HudMod) m).renderHud(renderScope); ((HudFeature) m).renderHud(renderScope);
renderScope.getMatrixStack().pop(); renderScope.getMatrixStack().pop();
} else { } else {
@@ -2,7 +2,8 @@ package org.saturnclient.modules.mixins;
import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.network.packet.s2c.play.WorldTimeUpdateS2CPacket; import net.minecraft.network.packet.s2c.play.WorldTimeUpdateS2CPacket;
import org.saturnclient.modules.mods.Tps;
import org.saturnclient.feature.features.Tps;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Inject;
@@ -8,13 +8,13 @@ import net.minecraft.client.MinecraftClient;
import org.saturnclient.client.ServiceClient; import org.saturnclient.client.ServiceClient;
import org.saturnclient.cosmetics.Emotes; import org.saturnclient.cosmetics.Emotes;
import org.saturnclient.cosmetics.Hats; import org.saturnclient.cosmetics.Hats;
import org.saturnclient.feature.FeatureManager;
import org.saturnclient.cosmetics.Cloaks; import org.saturnclient.cosmetics.Cloaks;
import org.saturnclient.common.provider.Providers; import org.saturnclient.common.provider.Providers;
import org.saturnclient.impl.provider.FabricModuleProvider; import org.saturnclient.impl.provider.FabricModuleProvider;
import org.saturnclient.impl.provider.GLFWProviderImpl; import org.saturnclient.impl.provider.GLFWProviderImpl;
import org.saturnclient.impl.provider.RefConstructorImpl; import org.saturnclient.impl.provider.RefConstructorImpl;
import org.saturnclient.impl.provider.SaturnProviderImpl; import org.saturnclient.impl.provider.SaturnProviderImpl;
import org.saturnclient.modules.ModManager;
import org.saturnclient.config.Config; import org.saturnclient.config.Config;
import org.saturnclient.config.manager.ConfigManager; import org.saturnclient.config.manager.ConfigManager;
import org.saturnclient.saturnclient.event.KeyInputHandler; import org.saturnclient.saturnclient.event.KeyInputHandler;
@@ -44,7 +44,7 @@ public class SaturnClient implements ModInitializer {
SkinPreview.DRAWER = new EntityDrawerImpl(); SkinPreview.DRAWER = new EntityDrawerImpl();
Config.init(); Config.init();
ModManager.init(new FabricModuleProvider()); FeatureManager.init(new FabricModuleProvider());
client.execute(() -> { client.execute(() -> {
SaturnScreenFabric.preload(client); SaturnScreenFabric.preload(client);
@@ -53,7 +53,7 @@ public class SaturnClient implements ModInitializer {
ClientLifecycleEvents.CLIENT_STOPPING.register(_o -> ConfigManager.save()); ClientLifecycleEvents.CLIENT_STOPPING.register(_o -> ConfigManager.save());
ClientTickEvents.END_CLIENT_TICK.register(client -> { ClientTickEvents.END_CLIENT_TICK.register(client -> {
for (org.saturnclient.modules.Module m : ModManager.ENABLED_MODS) { for (org.saturnclient.feature.Feature m : FeatureManager.ENABLED_MODS) {
m.tick(); m.tick();
} }
}); });