diff --git a/common b/common index 174c952..6873f76 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 174c95240c95eaaba662e34086864d35c7cf5e21 +Subproject commit 6873f76c437c192cc8d386fb051dab12a2307bf7 diff --git a/versions/1.21.4/src/main/java/org/saturnclient/impl/modules/entity/CameraOverriddenEntity.java b/versions/1.21.4/src/main/java/org/saturnclient/impl/features/entity/CameraOverriddenEntity.java similarity index 81% rename from versions/1.21.4/src/main/java/org/saturnclient/impl/modules/entity/CameraOverriddenEntity.java rename to versions/1.21.4/src/main/java/org/saturnclient/impl/features/entity/CameraOverriddenEntity.java index 10a1cba..310b69d 100644 --- a/versions/1.21.4/src/main/java/org/saturnclient/impl/modules/entity/CameraOverriddenEntity.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/impl/features/entity/CameraOverriddenEntity.java @@ -1,4 +1,4 @@ -package org.saturnclient.impl.modules.entity; +package org.saturnclient.impl.features.entity; public interface CameraOverriddenEntity { float freelook$getCameraPitch(); diff --git a/versions/1.21.5/src/main/java/org/saturnclient/impl/modules/entity/EntityModuleFabric.java b/versions/1.21.4/src/main/java/org/saturnclient/impl/features/entity/EntityFeatureImpl.java similarity index 89% rename from versions/1.21.5/src/main/java/org/saturnclient/impl/modules/entity/EntityModuleFabric.java rename to versions/1.21.4/src/main/java/org/saturnclient/impl/features/entity/EntityFeatureImpl.java index 7119cd6..901542e 100644 --- a/versions/1.21.5/src/main/java/org/saturnclient/impl/modules/entity/EntityModuleFabric.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/impl/features/entity/EntityFeatureImpl.java @@ -1,4 +1,6 @@ -package org.saturnclient.impl.modules.entity; +package org.saturnclient.impl.features.entity; + +import org.saturnclient.common.feature.EntityFeature; import net.minecraft.client.MinecraftClient; import net.minecraft.entity.Entity; @@ -6,11 +8,8 @@ import net.minecraft.util.hit.EntityHitResult; import net.minecraft.util.hit.HitResult; import net.minecraft.entity.LivingEntity; -import org.saturnclient.common.module.EntityModule; - - /** - * Fabric implementation of {@link EntityModule}. + * Fabric implementation of {@link EntityFeature}. * * Crosshair targeting is resolved via {@link MinecraftClient#crosshairTarget}. * Entity state for nametag rendering is supplied at render time by @@ -18,11 +17,11 @@ import org.saturnclient.common.module.EntityModule; * writes into the render state; {@link NametagsMixin} then constructs * a {@link RenderStateEntityState} from the already-extracted snapshot. */ -public class EntityModuleFabric implements EntityModule { +public class EntityFeatureImpl implements EntityFeature { private final MinecraftClient mc; - public EntityModuleFabric(MinecraftClient mc) { + public EntityFeatureImpl(MinecraftClient mc) { this.mc = mc; } diff --git a/versions/1.21.4/src/main/java/org/saturnclient/impl/features/entity/HealthRenderState.java b/versions/1.21.4/src/main/java/org/saturnclient/impl/features/entity/HealthRenderState.java new file mode 100644 index 0000000..7c62f81 --- /dev/null +++ b/versions/1.21.4/src/main/java/org/saturnclient/impl/features/entity/HealthRenderState.java @@ -0,0 +1,24 @@ +package org.saturnclient.impl.features.entity; + +import org.saturnclient.common.feature.EntityFeature; + +/** + * Injected interface on + * {@link net.minecraft.client.render.entity.state.LivingEntityRenderState}. + * + * Carries the entity's health snapshot and classification into the render + * pipeline so that {@link NametagsMixin} can read them without touching + * the live entity again. + */ +public interface HealthRenderState { + + float saturn$getHealth(); + + float saturn$getMaxHealth(); + + void saturn$setHealth(float health, float maxHealth); + + EntityFeature.EntityType saturn$getEntityType(); + + void saturn$setEntityType(EntityFeature.EntityType type); +} diff --git a/versions/1.21.5/src/main/java/org/saturnclient/impl/modules/mixins/entity/CameraMixin.java b/versions/1.21.4/src/main/java/org/saturnclient/impl/features/mixins/entity/CameraMixin.java similarity index 82% rename from versions/1.21.5/src/main/java/org/saturnclient/impl/modules/mixins/entity/CameraMixin.java rename to versions/1.21.4/src/main/java/org/saturnclient/impl/features/mixins/entity/CameraMixin.java index 6608e2a..834286b 100644 --- a/versions/1.21.5/src/main/java/org/saturnclient/impl/modules/mixins/entity/CameraMixin.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/impl/features/mixins/entity/CameraMixin.java @@ -1,7 +1,7 @@ -package org.saturnclient.impl.modules.mixins.entity; +package org.saturnclient.impl.features.mixins.entity; -import org.saturnclient.feature.features.FreelookFeature; -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; import org.spongepowered.asm.mixin.Shadow; @@ -26,7 +26,7 @@ public abstract class CameraMixin { @Inject(method = "update", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/Camera;setRotation(FF)V", ordinal = 1, shift = At.Shift.AFTER)) public void lockRotation(BlockView focusedBlock, Entity cameraEntity, boolean isThirdPerson, boolean isFrontFacing, float tickDelta, CallbackInfo ci) { - if (FreelookFeature.isFreeLooking && cameraEntity instanceof ClientPlayerEntity) { + if (FreelookMod.isFreeLooking && cameraEntity instanceof ClientPlayerEntity) { CameraOverriddenEntity cameraOverriddenEntity = (CameraOverriddenEntity) cameraEntity; if (firstTime && SaturnClient.client.player != null) { @@ -38,7 +38,7 @@ public abstract class CameraMixin { cameraOverriddenEntity.freelook$getCameraPitch()); } - if (!FreelookFeature.isFreeLooking && cameraEntity instanceof ClientPlayerEntity) { + if (!FreelookMod.isFreeLooking && cameraEntity instanceof ClientPlayerEntity) { firstTime = true; } } diff --git a/versions/1.21.4/src/main/java/org/saturnclient/impl/modules/mixins/entity/EntityMixin.java b/versions/1.21.4/src/main/java/org/saturnclient/impl/features/mixins/entity/EntityMixin.java similarity index 85% rename from versions/1.21.4/src/main/java/org/saturnclient/impl/modules/mixins/entity/EntityMixin.java rename to versions/1.21.4/src/main/java/org/saturnclient/impl/features/mixins/entity/EntityMixin.java index fb16306..0dff4b0 100644 --- a/versions/1.21.4/src/main/java/org/saturnclient/impl/modules/mixins/entity/EntityMixin.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/impl/features/mixins/entity/EntityMixin.java @@ -1,7 +1,7 @@ -package org.saturnclient.impl.modules.mixins.entity; +package org.saturnclient.impl.features.mixins.entity; -import org.saturnclient.feature.features.FreelookFeature; -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; import org.spongepowered.asm.mixin.injection.At; @@ -24,7 +24,7 @@ public class EntityMixin implements CameraOverriddenEntity { public void changeCameraLookDirection(double xDelta, double yDelta, CallbackInfo ci) { // noinspection ConstantValue// IntelliJ is incorrect here, this code block is // reachable - if (FreelookFeature.isFreeLooking && (Object) this instanceof ClientPlayerEntity) { + if (FreelookMod.isFreeLooking && (Object) this instanceof ClientPlayerEntity) { double pitchDelta = (yDelta * 0.15); double yawDelta = (xDelta * 0.15); diff --git a/versions/1.21.4/src/main/java/org/saturnclient/impl/modules/mixins/misc/NametagsMixin.java b/versions/1.21.4/src/main/java/org/saturnclient/impl/features/mixins/misc/NametagsMixin.java similarity index 81% rename from versions/1.21.4/src/main/java/org/saturnclient/impl/modules/mixins/misc/NametagsMixin.java rename to versions/1.21.4/src/main/java/org/saturnclient/impl/features/mixins/misc/NametagsMixin.java index a31e348..8c1763d 100644 --- a/versions/1.21.4/src/main/java/org/saturnclient/impl/modules/mixins/misc/NametagsMixin.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/impl/features/mixins/misc/NametagsMixin.java @@ -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,10 +7,10 @@ import net.minecraft.client.render.entity.state.LivingEntityRenderState; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; -import org.saturnclient.feature.features.NametagsFeature; -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; import org.spongepowered.asm.mixin.Unique; @@ -20,17 +20,17 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; /** * Intercepts nametag rendering and replaces the displayed text with - * the string produced by {@link NametagsFeature#getNametagString}. + * the string produced by {@link NametagsMod#getNametagString}. * * Key changes from the original: * *