diff --git a/src/main/java/li/cil/oc2/client/renderer/ProjectorDepthRenderer.java b/src/main/java/li/cil/oc2/client/renderer/ProjectorDepthRenderer.java index 06335539..a0ba10cd 100644 --- a/src/main/java/li/cil/oc2/client/renderer/ProjectorDepthRenderer.java +++ b/src/main/java/li/cil/oc2/client/renderer/ProjectorDepthRenderer.java @@ -77,11 +77,12 @@ public final class ProjectorDepthRenderer { private static final float PROJECTOR_FAR = ProjectorBlockEntity.MAX_RENDER_DISTANCE; private static final int HALF_FRUSTUM_WIDTH = (ProjectorBlockEntity.MAX_WIDTH - 1) / 2; private static final int FRUSTUM_HEIGHT = ProjectorBlockEntity.MAX_HEIGHT - 1; - private static final Matrix4f DEPTH_CAMERA_PROJECTION_MATRIX = getFrustumMatrix( + private static final Matrix4f DEPTH_CAMERA_PROJECTION_MATRIX = (new Matrix4f()).setFrustum(-HALF_FRUSTUM_WIDTH*2, HALF_FRUSTUM_WIDTH*2, FRUSTUM_HEIGHT, -FRUSTUM_HEIGHT, PROJECTOR_NEAR, PROJECTOR_FAR); + /*getFrustumMatrix( PROJECTOR_NEAR, PROJECTOR_FAR, ProjectorBlockEntity.MAX_GOOD_RENDER_DISTANCE, -HALF_FRUSTUM_WIDTH, HALF_FRUSTUM_WIDTH, - FRUSTUM_HEIGHT, 0); + FRUSTUM_HEIGHT, 0);*/ private static final Cache RENDER_INFO = CacheBuilder.newBuilder() .expireAfterAccess(Duration.ofSeconds(5)) @@ -412,14 +413,18 @@ public final class ProjectorDepthRenderer { private static void prepareOrthographicRendering(final Minecraft minecraft) { float f = 3000 - 1000; - final Matrix4f screenProjectionMatrix = new Matrix4f(2.0F / minecraft.getWindow().getWidth(), 0f, 0f, -1f, 0f, 2.0f / -minecraft.getWindow().getHeight(), 0f, 1f, 0f, 0f, -2.0f / f, -(3000 + 1000) / f, 0f, 0f, 0f, 1f); - /*new Matrix4f().orthoSymmetric( + final Matrix4f screenProjectionMatrix = (new Matrix4f()).setOrtho(0f, minecraft.getWindow().getWidth(), minecraft.getWindow().getHeight(), 0f, 1000, 3000); + + // new Matrix4f(2.0F / minecraft.getWindow().getWidth(), 0f, 0f, -1f, 0f, 2.0f / -minecraft.getWindow().getHeight(), 0f, 1f, 0f, 0f, -2.0f / f, -(3000 + 1000) / f, 0f, 0f, 0f, 1f); + /*new Matrix4f().orthoSymmetric( minecraft.getWindow().getWidth(), -minecraft.getWindow().getHeight(), 0, 5000 );*/ - RenderSystem.setProjectionMatrix(screenProjectionMatrix, VertexSorting.DISTANCE_TO_ORIGIN); + //screenProjectionMatrix.reflect(new Vector3f(), new Vector3f()); + + RenderSystem.setProjectionMatrix(screenProjectionMatrix, VertexSorting.ORTHOGRAPHIC_Z); final PoseStack modelViewStack = RenderSystem.getModelViewStack(); modelViewStack.setIdentity(); diff --git a/src/main/java/li/cil/oc2/common/item/CPUItem.java b/src/main/java/li/cil/oc2/common/item/CPUItem.java index a125cbbd..87aa470f 100644 --- a/src/main/java/li/cil/oc2/common/item/CPUItem.java +++ b/src/main/java/li/cil/oc2/common/item/CPUItem.java @@ -1,5 +1,9 @@ package li.cil.oc2.common.item; +import li.cil.oc2.common.util.TextFormatUtils; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.ItemStack; + public class CPUItem extends ModItem { private final int frequency; @@ -13,4 +17,23 @@ public class CPUItem extends ModItem { { return frequency; } + + public String getFrequencyString() + { + StringBuilder builder = new StringBuilder(); + + builder.append(frequency/1_000_000); + builder.append(" MHz"); + + return builder.toString(); + } + + @Override + public Component getName(final ItemStack stack) { + return Component.literal("") + .append(super.getName(stack)) + .append(" (") + .append(getFrequencyString()) + .append(")"); + } }