diff --git a/src/main/java/org/terasology/kcomputers/components/KallistiDisplayComponent.java b/src/main/java/org/terasology/kcomputers/components/KallistiDisplayComponent.java index 818ae5c..01d75c9 100644 --- a/src/main/java/org/terasology/kcomputers/components/KallistiDisplayComponent.java +++ b/src/main/java/org/terasology/kcomputers/components/KallistiDisplayComponent.java @@ -16,6 +16,7 @@ package org.terasology.kcomputers.components; import com.google.common.primitives.UnsignedBytes; +import org.joml.Vector3i; import org.terasology.assets.ResourceUrn; import org.terasology.assets.management.AssetManager; import org.terasology.entitySystem.Component; @@ -30,7 +31,7 @@ import org.terasology.kcomputers.assets.HexFont; import org.terasology.math.JomlUtil; import org.terasology.math.Side; -import org.terasology.math.geom.Vector3f; +import org.joml.Vector3f; import org.terasology.network.NoReplicate; import org.terasology.registry.CoreRegistry; import org.terasology.rendering.assets.material.Material; @@ -159,7 +160,8 @@ public void blit(Image image) { component = new MeshComponent(); component.material = material; - Vector3f location = self.getComponent(BlockComponent.class).getPosition().toVector3f().add(0.5f, 0.5f, 0.5f); + Vector3f location = new Vector3f(self.getComponent(BlockComponent.class).getPosition(new Vector3i())); + location.add(0.5f, 0.5f, 0.5f); Side side = self.getComponent(BlockComponent.class).getBlock().getDirection(); if (side == null) { side = Side.TOP; @@ -174,7 +176,7 @@ public void blit(Image image) { } for (int i = 0; i < meshPart.size(); i++) { - Vector3f v = new Vector3f(JomlUtil.from(meshPart.getVertex(i))); + Vector3f v = new Vector3f(meshPart.getVertex(i)); // reduce by border size Vector3f reduction = new Vector3f( 1 - (candidate.borderThickness * 2 * (1 - Math.abs(side.getVector3i().x))), @@ -183,9 +185,10 @@ public void blit(Image image) { ); // bring forward to avoid Z-fighting - v.mul(reduction.x, reduction.y, reduction.z).add(side.getVector3i().toVector3f().mul(0.01f)); - meshBuilder.addVertex(v.sub(.5f, .5f, .5f)); + v.mul(reduction.x, reduction.y, reduction.z).add(new Vector3f(JomlUtil.from(side.getVector3i())).mul(0.01f)); + + meshBuilder.addVertex(JomlUtil.from(v.sub(.5f, .5f, .5f))); meshBuilder.addColor(Color.WHITE); meshBuilder.addTexCoord(JomlUtil.from(meshPart.getTexCoord(i))); } @@ -195,7 +198,7 @@ public void blit(Image image) { component.hideFromOwner = false; component.color = Color.WHITE; - mesh.add(entityManager, DISPLAY_KEY, new Vector3f(location), component); + mesh.add(entityManager, DISPLAY_KEY, JomlUtil.from(new Vector3f(location)), component); } self.saveComponent(mesh);