-
Notifications
You must be signed in to change notification settings - Fork 497
/
RenderMarker.java
50 lines (41 loc) · 1.81 KB
/
RenderMarker.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package buildcraft.core.render;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import buildcraft.core.EntityLaser;
import buildcraft.core.LaserData;
import buildcraft.core.TileMarker;
public class RenderMarker extends TileEntitySpecialRenderer<TileMarker> {
@Override
public void renderTileEntityAt(TileMarker marker, double x, double y, double z, float partialTicks, int destroyStage) {
if (marker != null) {
GL11.glPushMatrix();
GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
GL11.glTranslated(x, y, z);
GL11.glTranslated(-marker.getPos().getX(), -marker.getPos().getY(), -marker.getPos().getZ());
if (marker.lasers != null) for (LaserData laser : marker.lasers) {
if (laser != null) {
GL11.glPushMatrix();
RenderLaser.doRenderLaser(TileEntityRendererDispatcher.instance.worldObj, Minecraft.getMinecraft().renderEngine, laser,
EntityLaser.LASER_RED);
GL11.glPopMatrix();
}
}
if (marker.signals != null) for (LaserData laser : marker.signals) {
if (laser != null) {
GL11.glPushMatrix();
RenderLaser.doRenderLaser(TileEntityRendererDispatcher.instance.worldObj, Minecraft.getMinecraft().renderEngine, laser,
EntityLaser.LASER_BLUE);
GL11.glPopMatrix();
}
}
GL11.glPopAttrib();
GL11.glPopMatrix();
}
}
@Override
public boolean forceTileEntityRender() {
return true;
}
}