Skip to content

Commit 458a0c5

Browse files
committed
Move blue void rendering code
1 parent 57b4310 commit 458a0c5

File tree

3 files changed

+21
-30
lines changed

3 files changed

+21
-30
lines changed

src/main/java/btw/mixces/animatium/mixins/renderer/MixinLevelRenderer.java

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
3232
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
3333
import com.mojang.blaze3d.platform.Window;
34-
import com.mojang.blaze3d.systems.RenderSystem;
3534
import com.mojang.blaze3d.vertex.DefaultVertexFormat;
3635
import com.mojang.blaze3d.vertex.PoseStack;
3736
import com.mojang.blaze3d.vertex.VertexBuffer;
@@ -41,15 +40,12 @@
4140
import net.minecraft.client.multiplayer.ClientLevel;
4241
import net.minecraft.client.renderer.*;
4342
import net.minecraft.core.BlockPos;
44-
import net.minecraft.util.ARGB;
4543
import net.minecraft.world.level.BlockGetter;
4644
import net.minecraft.world.level.LevelHeightAccessor;
4745
import net.minecraft.world.level.block.state.BlockState;
4846
import net.minecraft.world.phys.shapes.CollisionContext;
4947
import net.minecraft.world.phys.shapes.VoxelShape;
5048
import org.jetbrains.annotations.Nullable;
51-
import org.joml.Matrix4fStack;
52-
import org.joml.Vector3f;
5349
import org.spongepowered.asm.mixin.Final;
5450
import org.spongepowered.asm.mixin.Mixin;
5551
import org.spongepowered.asm.mixin.Shadow;
@@ -78,7 +74,7 @@ public abstract class MixinLevelRenderer {
7874
private void animatium$blueVoidSky(FogParameters fogParameters, DimensionSpecialEffects.SkyType skyType, float tickDelta, DimensionSpecialEffects dimensionSpecialEffects, CallbackInfo ci) {
7975
if (AnimatiumClient.isEnabled() && AnimatiumConfig.instance().blueVoidSky && skyType != DimensionSpecialEffects.SkyType.END && this.level != null && this.minecraft.player != null) {
8076
int skyColor = this.level.getSkyColor(this.minecraft.gameRenderer.getMainCamera().getPosition(), tickDelta);
81-
this.animatium$renderSkyBlueVoid(skyColor, this.minecraft.player.getEyePosition(tickDelta).y - RenderUtils.getLevelHorizonHeight(this.level));
77+
RenderUtils.renderBlueVoidSky(this.level, animatium$blueVoidSkyBuffer, skyColor, this.minecraft.player.getEyePosition(tickDelta).y - RenderUtils.getLevelHorizonHeight(this.level));
8278
}
8379
}
8480

@@ -101,30 +97,6 @@ public abstract class MixinLevelRenderer {
10197
}
10298
}
10399

104-
@Unique
105-
private void animatium$renderSkyBlueVoid(int skyColor, double depth) {
106-
assert this.level != null;
107-
Vector3f skyColorVec = ARGB.vector3fFromRGB24(skyColor);
108-
if (this.level.effects().hasGround()) {
109-
RenderSystem.setShaderColor(skyColorVec.x * 0.2F + 0.04F, skyColorVec.y * 0.2F + 0.04F, skyColorVec.z * 0.6F + 0.1F, 1.0F);
110-
} else {
111-
RenderSystem.setShaderColor(skyColorVec.x, skyColorVec.y, skyColorVec.z, 1.0F);
112-
}
113-
114-
Matrix4fStack modelViewStack = RenderSystem.getModelViewStack();
115-
modelViewStack.pushMatrix();
116-
// TODO: AnimatiumConfig.instance().dontMoveBlueVoid
117-
// if (AnimatiumClient.isEnabled() && AnimatiumConfig.instance().dontMoveBlueVoid) {
118-
// modelViewStack.translate(0.0F, 12.0F, 0.0F);
119-
// } else {
120-
modelViewStack.translate(0.0F, -((float) (depth - 16.0)), 0.0F);
121-
// }
122-
123-
animatium$blueVoidSkyBuffer.drawWithRenderType(RenderType.sky());
124-
modelViewStack.popMatrix();
125-
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
126-
}
127-
128100
@Inject(method = "renderBlockOutline", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/LevelRenderer;renderHitOutline(Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;Lnet/minecraft/world/entity/Entity;DDDLnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;I)V", shift = At.Shift.BEFORE))
129101
private void animatium$setBlockOutlineWidth$on(Camera camera, MultiBufferSource.BufferSource bufferSource, PoseStack poseStack, boolean bl, CallbackInfo ci) {
130102
if (AnimatiumClient.isEnabled() && AnimatiumConfig.instance().blockOutlineRendering) {

src/main/java/btw/mixces/animatium/util/PlayerUtils.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,6 @@ public static float lerpCameraPosition(Camera camera) {
117117
}
118118

119119
public static void applySwingWhilstMining(Level level, Player player, HitResult hitResult, ParticleEngine particleEngine) {
120-
// TODO: AnimatiumConfig.instance().offhandUsageSwinging
121120
InteractionHand activeHand = player.getUsedItemHand();
122121
InteractionHand hand = InteractionHand.MAIN_HAND;
123122
if (hitResult != null && hitResult.getType() == HitResult.Type.BLOCK && activeHand.equals(hand)) {

src/main/java/btw/mixces/animatium/util/RenderUtils.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,13 @@
2626
import btw.mixces.animatium.config.AnimatiumConfig;
2727
import btw.mixces.animatium.mixins.accessor.ClientLevelDataAccessor;
2828
import com.mojang.blaze3d.systems.RenderSystem;
29+
import com.mojang.blaze3d.vertex.VertexBuffer;
2930
import com.mojang.blaze3d.vertex.VertexConsumer;
3031
import net.minecraft.client.gui.GuiGraphics;
3132
import net.minecraft.client.multiplayer.ClientLevel;
33+
import net.minecraft.client.renderer.RenderType;
34+
import net.minecraft.util.ARGB;
35+
import org.joml.Matrix4fStack;
3236
import org.joml.Vector3f;
3337

3438
public final class RenderUtils {
@@ -107,4 +111,20 @@ public static void buildSkyHalf(VertexConsumer vertexConsumer, float y, boolean
107111
}
108112
}
109113
}
114+
115+
public static void renderBlueVoidSky(ClientLevel level, VertexBuffer blueVoidSkyBuffer, int skyColor, double depth) {
116+
Vector3f skyColorVec = ARGB.vector3fFromRGB24(skyColor);
117+
if (level.effects().hasGround()) {
118+
RenderSystem.setShaderColor(skyColorVec.x * 0.2F + 0.04F, skyColorVec.y * 0.2F + 0.04F, skyColorVec.z * 0.6F + 0.1F, 1.0F);
119+
} else {
120+
RenderSystem.setShaderColor(skyColorVec.x, skyColorVec.y, skyColorVec.z, 1.0F);
121+
}
122+
123+
Matrix4fStack modelViewStack = RenderSystem.getModelViewStack();
124+
modelViewStack.pushMatrix();
125+
modelViewStack.translate(0.0F, -((float) (depth - 16.0)), 0.0F);
126+
blueVoidSkyBuffer.drawWithRenderType(RenderType.sky());
127+
modelViewStack.popMatrix();
128+
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
129+
}
110130
}

0 commit comments

Comments
 (0)