Skip to content

Commit

Permalink
thing
Browse files Browse the repository at this point in the history
  • Loading branch information
Mysticpasta1 committed Jan 2, 2024
1 parent 8dc9d5b commit c493383
Show file tree
Hide file tree
Showing 10 changed files with 23 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ public static ItemConvertible addToMainTab (ItemConvertible itemLike) {
public static final ScreenHandlerType<ProjectorScreenHandler> PROJECTOR_SCREEN_HANDLER;

static {
PROJECTOR_SCREEN_HANDLER = ScreenHandlerRegistry.registerExtended(PROJECTOR_ID, ProjectorScreenHandler::new);
PROJECTOR_SCREEN_HANDLER = ScreenHandlerRegistry.registerExtended(new Identifier(MOD_ID, "projector_screen"), ProjectorScreenHandler::new);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
import com.mystic.holographicrenders.HolographicRenders;
import com.mystic.holographicrenders.blocks.projector.ProjectorBlockEntity;
import io.wispforest.worldmesher.WorldMesh;
import io.wispforest.worldmesher.mixin.FluidRendererMixin;
import io.wispforest.worldmesher.renderers.WorldMesherFluidRenderer;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.block.entity.BlockEntity;
Expand Down Expand Up @@ -75,16 +77,17 @@ public void render(MatrixStack matrices, VertexConsumerProvider.Immediate immedi
int zSize = 1 + Math.max(data.getLeft().getZ(), data.getRight().getZ()) - Math.min(data.getLeft().getZ(), data.getRight().getZ());

matrices.translate(-xSize / 2f, 0, -zSize / 2f); //TODO make this usable with translation sliders

mesh.render(matrices);
}
}

@Environment(EnvType.CLIENT)
public void invalidateCache() {
assert MinecraftClient.getInstance().world != null;
mesh = new WorldMesh.Builder(MinecraftClient.getInstance().world, data.getLeft(), data.getRight())
.renderActions(HologramRenderLayer.beginAction, HologramRenderLayer.endAction)
.build();
if (mesh.state() == WorldMesh.MeshState.CORRUPT) return;
rebuild();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.mojang.blaze3d.systems.RenderSystem;
import com.mystic.holographicrenders.HolographicRenders;
import com.mystic.holographicrenders.mixin.VertexConsumerProviderImmediateAccessor;
import io.wispforest.worldmesher.WorldMesh;
import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap;
import net.minecraft.client.render.BufferBuilder;
import net.minecraft.client.render.RenderLayer;
Expand All @@ -24,12 +25,14 @@ public class HologramRenderLayer extends RenderLayer {

public static final Runnable beginAction = () -> {
RenderSystem.enableBlend();
RenderSystem.enableDepthTest();
RenderSystem.blendFunc(GlStateManager.SrcFactor.SRC_ALPHA, GlStateManager.DstFactor.ONE_MINUS_SRC_ALPHA);
RenderSystem.setShaderColor(1, 1, 1, alpha); //TODO check my math! (redAlpha = 0 = ON), (redAlpha = 15 = OFF) //TODO fix this so only on is doing this at a time!!!
};

public static final Runnable endAction = () -> {
RenderSystem.defaultBlendFunc();
RenderSystem.disableDepthTest();
RenderSystem.disableBlend();
};

Expand All @@ -51,7 +54,7 @@ public static RenderLayer remap(RenderLayer in) {
if (in instanceof HologramRenderLayer) {
return in;
} else {
return remappedTypes.computeIfAbsent(in, original -> new HologramRenderLayer(original));
return remappedTypes.computeIfAbsent(in, HologramRenderLayer::new);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ public static RenderDataProvider<?> of(Integer id) {
@Override
public void render(MatrixStack matrices, VertexConsumerProvider.Immediate immediate, float tickDelta, int light, int overlay, BlockEntity be) throws MalformedURLException {
matrices.push();
RenderSystem.enableDepthTest();
matrices.scale(0.1f, -0.1f, 0.1f);
matrices.translate(5, -20, 5);

Expand All @@ -69,7 +70,7 @@ public void render(MatrixStack matrices, VertexConsumerProvider.Immediate immedi
MinecraftClient.getInstance().gameRenderer.getMapRenderer().draw(matrices, immediate, data, state, false, light);
}

RenderSystem.enableDepthTest();
RenderSystem.disableDepthTest();
matrices.pop();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.mystic.holographicrenders.client;

import com.mojang.blaze3d.systems.RenderSystem;
import com.mystic.holographicrenders.blocks.projector.ItemProjectionHandler;
import com.mystic.holographicrenders.blocks.projector.ProjectorBlock;
import com.mystic.holographicrenders.blocks.projector.ProjectorBlockEntity;
Expand Down Expand Up @@ -44,8 +45,8 @@ public void render(ProjectorBlockEntity entity, float tickDelta, MatrixStack mat

if (entity.lightsEnabled()) {
matrices.push();

final BufferBuilder buffer = (BufferBuilder) vertexConsumers.getBuffer(RenderLayer.getLightning());
RenderSystem.enableDepthTest();
final VertexConsumer buffer = vertexConsumers.getBuffer(RenderLayer.getLightning());
final Matrix4f matrix4f = matrices.peek().getPositionMatrix();

final float r = 0.5f;
Expand Down Expand Up @@ -98,7 +99,7 @@ public void render(ProjectorBlockEntity entity, float tickDelta, MatrixStack mat
vertex(matrix4f, buffer, -0.25f, topY, 1, r, g, b, 0);
vertex(matrix4f, buffer, 0.125f, bottomY, 0.9f, r, g, b, startAlpha);
vertex(matrix4f, buffer, 0.125f, bottomY, 0.1f, r, g, b, startAlpha);

RenderSystem.disableDepthTest();
matrices.pop();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ default void render(VertexConsumer immediate, Matrix4f matrix, int x, int y, int
BufferBuilder buffer = tessellator.getBuffer();
Matrix4f model = matrix;
RenderSystem.enableBlend();
RenderSystem.enableDepthTest();
RenderSystem.setShaderTexture(0, getTexture());
RenderSystem.setShaderColor(r, g, b, 1.0f);
RenderSystem.setShader(GameRenderer::getPositionTexProgram);
Expand All @@ -58,6 +59,7 @@ default void render(VertexConsumer immediate, Matrix4f matrix, int x, int y, int
buffer.vertex(model, x + width, y, 0).texture(u2, v1).next();
buffer.vertex(model, x, y, 0).texture(u1, v1).next();
BufferRenderer.drawWithGlobalProgram(buffer.end());
RenderSystem.disableDepthTest();
RenderSystem.disableBlend();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public void render(MatrixStack matrices, VertexConsumerProvider.Immediate immedi
matrices.push();
matrices.scale(0.1f, -0.1f, 0.1f);
matrices.translate(5, -20, 5);

RenderSystem.enableDepthTest();
PlayerEntity player = MinecraftClient.getInstance().player;
double x = player.getX() - be.getPos().getX() - 0.5;
double z = player.getZ() - be.getPos().getZ() - 0.5;
Expand All @@ -90,9 +90,8 @@ public void render(MatrixStack matrices, VertexConsumerProvider.Immediate immedi

var matrix = matrices.peek().getPositionMatrix();

sprite.render(immediate.getBuffer(RenderLayer.getTranslucent()), matrix, 0, 0, 16, 16, (int) ((MinecraftClient.getInstance().world.getTime() + tickDelta) * 50) % sprite.getFrameCount(), Color.WHITE);

RenderSystem.enableDepthTest();
sprite.render(immediate.getBuffer(TextureRenderLayer.getTranslucent()), matrix, 0, 0, 16, 16, (int) ((MinecraftClient.getInstance().world.getTime() + tickDelta) * 50) % sprite.getFrameCount(), Color.WHITE);
RenderSystem.disableDepthTest();
matrices.pop();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,18 +34,18 @@ public ProjectorScreenHandler(int syncId, PlayerInventory playerInventory, Packe
super(HolographicRenders.PROJECTOR_SCREEN_HANDLER, syncId);
this.blockEntity = (ProjectorBlockEntity) playerInventory.player.getWorld().getBlockEntity(buffer.readBlockPos());

this.addSlot(new Slot(blockEntity, 0, 80 + 3, 35 + 3));
this.addSlot(new Slot(blockEntity, 0, 80, 35));

// The player inventory
for (int m = 0; m < 3; ++m) {
for (int l = 0; l < 9; ++l) {
this.addSlot(new Slot(playerInventory, l + m * 9 + 9, 8 + 3 + l * 18, 84 + 3 + m * 18));
this.addSlot(new Slot(playerInventory, l + m * 9 + 9, 8+ l * 18, 84 + m * 18));
}
}

// The player Hotbar
for (int m = 0; m < 9; ++m) {
this.addSlot(new Slot(playerInventory, m, 8 + 3 + m * 18, 142 + 3));
this.addSlot(new Slot(playerInventory, m, 8 + m * 18, 142));
}
}

Expand Down

0 comments on commit c493383

Please sign in to comment.