Push various rendering attempts and limbo gen.
This commit is contained in:
parent
0caa2980e3
commit
e2a7928de9
1 changed files with 13 additions and 32 deletions
|
@ -20,7 +20,7 @@ import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
@Environment(EnvType.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
public class DetachedRiftBlockEntityRenderer extends BlockEntityRenderer<DetachedRiftBlockEntity> {
|
public class DetachedRiftBlockEntityRenderer extends BlockEntityRenderer<DetachedRiftBlockEntity> {
|
||||||
private static final Identifier tesseract_path = new Identifier("dimdoors:textures/other/tesseract.png");
|
public static final Identifier tesseract_path = new Identifier("dimdoors:textures/other/tesseract.png");
|
||||||
|
|
||||||
private static final Tesseract tesseract = new Tesseract();
|
private static final Tesseract tesseract = new Tesseract();
|
||||||
private static final LSystem.PolygonInfo CURVE = LSystem.curves.get(0);
|
private static final LSystem.PolygonInfo CURVE = LSystem.curves.get(0);
|
||||||
|
@ -33,56 +33,37 @@ public class DetachedRiftBlockEntityRenderer extends BlockEntityRenderer<Detache
|
||||||
@Override
|
@Override
|
||||||
public void render(DetachedRiftBlockEntity rift, float tickDelta, MatrixStack matrices, VertexConsumerProvider vcs, int breakProgress, int alpha) {
|
public void render(DetachedRiftBlockEntity rift, float tickDelta, MatrixStack matrices, VertexConsumerProvider vcs, int breakProgress, int alpha) {
|
||||||
if (ModConfig.GRAPHICS.showRiftCore) {
|
if (ModConfig.GRAPHICS.showRiftCore) {
|
||||||
renderTesseract(vcs.getBuffer(RenderLayer.getTranslucent()), rift, tickDelta);
|
renderTesseract(vcs.getBuffer(RenderLayer.getTranslucent()), rift, matrices, tickDelta);
|
||||||
} else {
|
} else {
|
||||||
long timeLeft = showRiftCoreUntil - System.currentTimeMillis();
|
long timeLeft = showRiftCoreUntil - System.currentTimeMillis();
|
||||||
if (timeLeft >= 0) {
|
if (timeLeft >= 0) {
|
||||||
renderTesseract(vcs.getBuffer(RenderLayer.getTranslucent()), rift, tickDelta);
|
renderTesseract(vcs.getBuffer(RenderLayer.getTranslucent()), rift, matrices, tickDelta);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
renderCrack(vcs.getBuffer(RenderLayer.getTranslucent()), rift);
|
renderCrack(vcs.getBuffer(MyRenderLayer.CRACK), matrices, rift);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderCrack(VertexConsumer vc, DetachedRiftBlockEntity rift) {
|
private void renderCrack(VertexConsumer vc, MatrixStack matricees, DetachedRiftBlockEntity rift) {
|
||||||
GL11.glPushMatrix();
|
matricees.push();
|
||||||
|
matricees.translate(0.5, 0.5, 0.5);
|
||||||
// Make the rift render on both sides, disable texture mapping and lighting
|
|
||||||
RenderSystem.disableLighting();
|
|
||||||
RenderSystem.disableCull();
|
|
||||||
RenderSystem.disableTexture();
|
|
||||||
RenderSystem.enableBlend();
|
|
||||||
|
|
||||||
RenderSystem.translated(0.5, 0.5, 0.5);
|
|
||||||
RiftCrackRenderer.drawCrack(vc, 0, CURVE, ModConfig.GRAPHICS.riftSize * rift.size, 0xF1234568L * rift.getPos().hashCode());
|
RiftCrackRenderer.drawCrack(vc, 0, CURVE, ModConfig.GRAPHICS.riftSize * rift.size, 0xF1234568L * rift.getPos().hashCode());
|
||||||
|
matricees.pop();
|
||||||
RenderSystem.disableBlend();
|
|
||||||
RenderSystem.enableTexture();
|
|
||||||
RenderSystem.enableCull();
|
|
||||||
RenderSystem.enableLighting();
|
|
||||||
|
|
||||||
GL11.glPopMatrix();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderTesseract(VertexConsumer vc, DetachedRiftBlockEntity rift, float tickDelta) {
|
private void renderTesseract(VertexConsumer vc, DetachedRiftBlockEntity rift, MatrixStack matrices, float tickDelta) {
|
||||||
double radian = nextAngle(rift, tickDelta) * TrigMath.DEG_TO_RAD;
|
double radian = nextAngle(rift, tickDelta) * TrigMath.DEG_TO_RAD;
|
||||||
float[] color = rift.getColor();
|
float[] color = rift.getColor();
|
||||||
if (color == null) color = new float[]{1, 0.5f, 1, 1};
|
if (color == null) color = new float[]{1, 0.5f, 1, 1};
|
||||||
|
|
||||||
RenderSystem.disableLighting();
|
matrices.push();
|
||||||
RenderSystem.pushMatrix();
|
|
||||||
RenderSystem.disableCull();
|
|
||||||
|
|
||||||
MinecraftClient.getInstance().getTextureManager().bindTexture(tesseract_path);
|
matrices.translate(0.5, 0.5, 0.5);
|
||||||
|
matrices.scale(0.25f, 0.25f, 0.25f);
|
||||||
RenderSystem.translated(0.5, 0.5, 0.5);
|
|
||||||
RenderSystem.scaled(0.25, 0.25, 0.25);
|
|
||||||
|
|
||||||
tesseract.draw(vc, color, radian);
|
tesseract.draw(vc, color, radian);
|
||||||
|
|
||||||
RenderSystem.enableCull();
|
matrices.pop();
|
||||||
RenderSystem.popMatrix();
|
|
||||||
RenderSystem.enableLighting();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private double nextAngle(DetachedRiftBlockEntity rift, float partialTicks) {
|
private double nextAngle(DetachedRiftBlockEntity rift, float partialTicks) {
|
||||||
|
|
Loading…
Reference in a new issue