package zmaster587.advancedRocketry.client.render; import org.lwjgl.opengl.GL11; import zmaster587.advancedRocketry.tile.TileDrill; import zmaster587.libVulpes.tile.multiblock.TileMultiblockMachine; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.AdvancedModelLoader; import net.minecraftforge.client.model.IModelCustom; public class RendererDrill extends TileEntitySpecialRenderer { IModelCustom model = AdvancedModelLoader.loadModel(new ResourceLocation("advancedrocketry:models/drill.obj")); ResourceLocation texture = new ResourceLocation("advancedrocketry:textures/models/drill.png"); @Override public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float t) { TileDrill drillTile = (TileDrill)tile; if(drillTile.getDistanceExtended() == 0f) return; GL11.glPushMatrix(); //Initial setup int bright = tile.getWorldObj().getLightBrightnessForSkyBlocks(tile.xCoord, tile.yCoord + 1, tile.zCoord,0); int brightX = bright % 65536; int brightY = bright / 65536; OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, brightX, brightY); GL11.glTranslated(x + 0.5, y + 1.5f, z + 0.5); bindTexture(texture); GL11.glScaled(1.5, 1.5, 1.5); model.renderOnly("Structure"); GL11.glPushMatrix(); double rotation = (tile.getWorldObj().getTotalWorldTime() % 30L)*10; double yOffset = 0.025*MathHelper.sin((tile.getWorldObj().getTotalWorldTime() & 0xffff)*1.1f); GL11.glTranslated(0, yOffset + drillTile.getDistanceExtended()*0.3f, 0); GL11.glRotated(rotation, 0, 1.0, 0); model.renderOnly("DrillHead"); GL11.glPopMatrix(); GL11.glPopMatrix(); } }