Refactor feature / module system for 1.21.5 #55
This commit is contained in:
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.saturnclient.impl.modules.entity;
|
||||
package org.saturnclient.impl.features.entity;
|
||||
|
||||
public interface CameraOverriddenEntity {
|
||||
float freelook$getCameraPitch();
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
package org.saturnclient.impl.modules.entity;
|
||||
package org.saturnclient.impl.features.entity;
|
||||
|
||||
import org.saturnclient.common.feature.EntityFeature;
|
||||
|
||||
@@ -17,11 +17,11 @@ import net.minecraft.entity.LivingEntity;
|
||||
* writes into the render state; {@link NametagsMixin} then constructs
|
||||
* a {@link RenderStateEntityState} from the already-extracted snapshot.
|
||||
*/
|
||||
public class EntityModuleFabric implements EntityFeature {
|
||||
public class EntityFeatureImpl implements EntityFeature {
|
||||
|
||||
private final MinecraftClient mc;
|
||||
|
||||
public EntityModuleFabric(MinecraftClient mc) {
|
||||
public EntityFeatureImpl(MinecraftClient mc) {
|
||||
this.mc = mc;
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.saturnclient.impl.modules.entity;
|
||||
package org.saturnclient.impl.features.entity;
|
||||
|
||||
import org.saturnclient.common.feature.EntityFeature;
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package org.saturnclient.impl.modules.mixins.entity;
|
||||
package org.saturnclient.impl.features.mixins.entity;
|
||||
|
||||
import org.saturnclient.impl.modules.entity.CameraOverriddenEntity;
|
||||
import org.saturnclient.impl.features.entity.CameraOverriddenEntity;
|
||||
import org.saturnclient.mod.mods.FreelookMod;
|
||||
import org.saturnclient.saturnclient.SaturnClient;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package org.saturnclient.impl.modules.mixins.entity;
|
||||
package org.saturnclient.impl.features.mixins.entity;
|
||||
|
||||
import org.saturnclient.impl.modules.entity.CameraOverriddenEntity;
|
||||
import org.saturnclient.impl.features.entity.CameraOverriddenEntity;
|
||||
import org.saturnclient.mod.mods.FreelookMod;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
+6
-6
@@ -1,4 +1,4 @@
|
||||
package org.saturnclient.impl.modules.mixins.misc;
|
||||
package org.saturnclient.impl.features.mixins.misc;
|
||||
|
||||
import net.minecraft.client.render.VertexConsumerProvider;
|
||||
import net.minecraft.client.render.entity.EntityRenderer;
|
||||
@@ -7,9 +7,9 @@ import net.minecraft.client.render.entity.state.LivingEntityRenderState;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.text.Text;
|
||||
|
||||
import org.saturnclient.impl.modules.entity.EntityModuleFabric;
|
||||
import org.saturnclient.impl.modules.entity.HealthRenderState;
|
||||
import org.saturnclient.impl.modules.mixins.render.LivingEntityRenderStateMixin;
|
||||
import org.saturnclient.impl.features.entity.EntityFeatureImpl;
|
||||
import org.saturnclient.impl.features.entity.HealthRenderState;
|
||||
import org.saturnclient.impl.features.mixins.render.LivingEntityRenderStateMixin;
|
||||
import org.saturnclient.mod.mods.NametagsMod;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
@@ -26,7 +26,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
*
|
||||
* <ul>
|
||||
* <li>The old {@code NametagsFabric.EntityStateImpl} bridge class is
|
||||
* replaced by {@link EntityModuleFabric.RenderStateEntityState},
|
||||
* replaced by {@link EntityFeatureImpl.RenderStateEntityState},
|
||||
* which wraps the {@link HealthRenderState} already injected into
|
||||
* the render state by {@link LivingEntityRenderStateMixin}.</li>
|
||||
* <li>The feature import changes from {@code Nametags} to
|
||||
@@ -76,7 +76,7 @@ public abstract class NametagsMixin {
|
||||
// Build the platform-neutral EntityState from the render-state snapshot
|
||||
// (health/type were written by LivingEntityRendererMixin at extract time).
|
||||
String customName = text != null ? text.getString() : null;
|
||||
EntityModuleFabric.RenderStateEntityState entityState = new EntityModuleFabric.RenderStateEntityState(
|
||||
EntityFeatureImpl.RenderStateEntityState entityState = new EntityFeatureImpl.RenderStateEntityState(
|
||||
customName, hrs);
|
||||
|
||||
// Ask the feature for the replacement string
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.saturnclient.impl.modules.mixins.render;
|
||||
package org.saturnclient.impl.features.mixins.render;
|
||||
|
||||
import net.minecraft.client.render.BackgroundRenderer;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.saturnclient.impl.modules.mixins.render;
|
||||
package org.saturnclient.impl.features.mixins.render;
|
||||
|
||||
import net.minecraft.client.render.GameRenderer;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.saturnclient.impl.modules.mixins.render;
|
||||
package org.saturnclient.impl.features.mixins.render;
|
||||
|
||||
// Code approach adapted from Gamma Utils: https://github.com/Sjouwer/gamma-utils
|
||||
|
||||
+3
-3
@@ -1,10 +1,10 @@
|
||||
package org.saturnclient.impl.modules.mixins.render;
|
||||
package org.saturnclient.impl.features.mixins.render;
|
||||
|
||||
import net.minecraft.client.render.entity.state.LivingEntityRenderState;
|
||||
|
||||
import org.saturnclient.common.feature.EntityFeature;
|
||||
import org.saturnclient.impl.modules.entity.HealthRenderState;
|
||||
import org.saturnclient.impl.modules.mixins.misc.NametagsMixin;
|
||||
import org.saturnclient.impl.features.entity.HealthRenderState;
|
||||
import org.saturnclient.impl.features.mixins.misc.NametagsMixin;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package org.saturnclient.impl.modules.mixins.render;
|
||||
package org.saturnclient.impl.features.mixins.render;
|
||||
|
||||
import net.minecraft.client.render.entity.LivingEntityRenderer;
|
||||
import net.minecraft.client.render.entity.state.LivingEntityRenderState;
|
||||
@@ -8,7 +8,7 @@ import net.minecraft.entity.passive.PassiveEntity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
|
||||
import org.saturnclient.common.feature.EntityFeature;
|
||||
import org.saturnclient.impl.modules.entity.HealthRenderState;
|
||||
import org.saturnclient.impl.features.entity.HealthRenderState;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.saturnclient.impl.modules.mixins.render;
|
||||
package org.saturnclient.impl.features.mixins.render;
|
||||
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.saturnclient.impl.modules.mixins.world;
|
||||
package org.saturnclient.impl.features.mixins.world;
|
||||
|
||||
import net.minecraft.client.network.ClientPlayNetworkHandler;
|
||||
import net.minecraft.network.packet.s2c.play.WorldTimeUpdateS2CPacket;
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
package org.saturnclient.impl.modules.network;
|
||||
package org.saturnclient.impl.features.network;
|
||||
|
||||
import org.saturnclient.common.feature.NetworkFeature;
|
||||
|
||||
@@ -12,11 +12,11 @@ import net.minecraft.client.network.PlayerListEntry;
|
||||
* Ping is read from the player's {@link PlayerListEntry} which the
|
||||
* server populates; returns {@code -1} when unavailable.
|
||||
*/
|
||||
public class NetworkModuleFabric implements NetworkFeature {
|
||||
public class NetworkFeatureImpl implements NetworkFeature {
|
||||
|
||||
private final MinecraftClient mc;
|
||||
|
||||
public NetworkModuleFabric(MinecraftClient mc) {
|
||||
public NetworkFeatureImpl(MinecraftClient mc) {
|
||||
this.mc = mc;
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,13 +1,13 @@
|
||||
package org.saturnclient.impl.modules.player;
|
||||
package org.saturnclient.impl.features.player;
|
||||
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.network.ClientPlayerEntity;
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
import net.minecraft.entity.effect.StatusEffectInstance;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
|
||||
import org.saturnclient.common.feature.PlayerFeature;
|
||||
import org.saturnclient.common.ref.game.EffectRef;
|
||||
@@ -27,11 +27,11 @@ import java.util.List;
|
||||
* Every method guards against a missing player and returns a safe
|
||||
* default so features are free of null checks.
|
||||
*/
|
||||
public class PlayerModuleFabric implements PlayerFeature {
|
||||
public class PlayerFeatureImpl implements PlayerFeature {
|
||||
|
||||
private final MinecraftClient mc;
|
||||
|
||||
public PlayerModuleFabric(MinecraftClient mc) {
|
||||
public PlayerFeatureImpl(MinecraftClient mc) {
|
||||
this.mc = mc;
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
package org.saturnclient.impl.modules.render;
|
||||
package org.saturnclient.impl.features.render;
|
||||
|
||||
import org.saturnclient.common.feature.RenderFeature;
|
||||
|
||||
@@ -12,11 +12,11 @@ import net.minecraft.client.option.Perspective;
|
||||
* {@link MinecraftClient}. Camera perspective control delegates to
|
||||
* {@link net.minecraft.client.option.GameOptions}.
|
||||
*/
|
||||
public class RenderModuleFabric implements RenderFeature {
|
||||
public class RenderFeatureImpl implements RenderFeature {
|
||||
|
||||
private final MinecraftClient mc;
|
||||
|
||||
public RenderModuleFabric(MinecraftClient mc) {
|
||||
public RenderFeatureImpl(MinecraftClient mc) {
|
||||
this.mc = mc;
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
package org.saturnclient.impl.modules.world;
|
||||
package org.saturnclient.impl.features.world;
|
||||
|
||||
import org.saturnclient.common.feature.WorldFeature;
|
||||
|
||||
@@ -10,11 +10,11 @@ import net.minecraft.client.MinecraftClient;
|
||||
* Reads the client world's time directly from {@link MinecraftClient}.
|
||||
* Returns safe defaults when no world is loaded.
|
||||
*/
|
||||
public class WorldModuleFabric implements WorldFeature {
|
||||
public class WorldFeatureImpl implements WorldFeature {
|
||||
|
||||
private final MinecraftClient mc;
|
||||
|
||||
public WorldModuleFabric(MinecraftClient mc) {
|
||||
public WorldFeatureImpl(MinecraftClient mc) {
|
||||
this.mc = mc;
|
||||
}
|
||||
|
||||
+10
-10
@@ -4,11 +4,11 @@ import net.minecraft.client.MinecraftClient;
|
||||
|
||||
import org.saturnclient.common.feature.*;
|
||||
import org.saturnclient.common.provider.FeatureProvider;
|
||||
import org.saturnclient.impl.modules.entity.EntityModuleFabric;
|
||||
import org.saturnclient.impl.modules.network.NetworkModuleFabric;
|
||||
import org.saturnclient.impl.modules.player.PlayerModuleFabric;
|
||||
import org.saturnclient.impl.modules.render.RenderModuleFabric;
|
||||
import org.saturnclient.impl.modules.world.WorldModuleFabric;
|
||||
import org.saturnclient.impl.features.entity.EntityFeatureImpl;
|
||||
import org.saturnclient.impl.features.network.NetworkFeatureImpl;
|
||||
import org.saturnclient.impl.features.player.PlayerFeatureImpl;
|
||||
import org.saturnclient.impl.features.render.RenderFeatureImpl;
|
||||
import org.saturnclient.impl.features.world.WorldFeatureImpl;
|
||||
|
||||
/**
|
||||
* Fabric implementation of {@link FeatureProvider}.
|
||||
@@ -34,11 +34,11 @@ public class ModuleProviderFabric implements FeatureProvider {
|
||||
private final NetworkFeature network;
|
||||
|
||||
public ModuleProviderFabric(MinecraftClient mc) {
|
||||
this.player = new PlayerModuleFabric(mc);
|
||||
this.world = new WorldModuleFabric(mc);
|
||||
this.entity = new EntityModuleFabric(mc);
|
||||
this.render = new RenderModuleFabric(mc);
|
||||
this.network = new NetworkModuleFabric(mc);
|
||||
this.player = new PlayerFeatureImpl(mc);
|
||||
this.world = new WorldFeatureImpl(mc);
|
||||
this.entity = new EntityFeatureImpl(mc);
|
||||
this.render = new RenderFeatureImpl(mc);
|
||||
this.network = new NetworkFeatureImpl(mc);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user