RenderTileEnderTank.java 文件源码

java
阅读 25 收藏 0 点赞 0 评论 0

项目:EnderStorage 作者:
public static void renderTank(CCRenderState ccrs, int rotation, float valve, Frequency freq, double x, double y, double z, int offset) {
    ccrs.reset();
    TileEntityRendererDispatcher info = TileEntityRendererDispatcher.instance;
    renderEndPortal.render(x, y, z, 0, info.entityX, info.entityY, info.entityZ, info.renderEngine);
    GlStateManager.color(1, 1, 1, 1);

    GlStateManager.pushMatrix();
    GlStateManager.translate(x + 0.5, y, z + 0.5);
    GlStateManager.rotate(-90 * (rotation + 2), 0, 1, 0);

    TextureUtils.changeTexture("enderstorage:textures/endertank.png");
    ccrs.startDrawing(4, POSITION_TEX_COLOR_NORMAL);
    tankModel.render(ccrs);
    valveModel.render(ccrs, new Rotation(valve, new Vector3(0, 0, 1)).at(new Vector3(0, 0.4165, 0)), new UVTranslation(0, freq.hasOwner() ? 13 / 64D : 0));
    ccrs.draw();

    TextureUtils.changeTexture("enderstorage:textures/buttons.png");
    ccrs.startDrawing(7, POSITION_TEX_COLOR_NORMAL);
    EnumColour[] colours = freq.toArray();
    for (int i = 0; i < 3; i++) {
        buttons[i].render(ccrs, new UVTranslation(0.25 * (colours[i].getWoolMeta() % 4), 0.25 * (colours[i].getWoolMeta() / 4)));
    }
    ccrs.draw();
    GlStateManager.popMatrix();

    double time = ClientUtils.getRenderTime() + offset;
    Matrix4 pearlMat = RenderUtils.getMatrix(new Vector3(x + 0.5, y + 0.45 + RenderUtils.getPearlBob(time) * 2, z + 0.5), new Rotation(time / 3, new Vector3(0, 1, 0)), 0.04);

    GlStateManager.disableLighting();
    TextureUtils.changeTexture("enderstorage:textures/hedronmap.png");
    ccrs.startDrawing(4, POSITION_TEX_COLOR_NORMAL);
    CCModelLibrary.icosahedron4.render(ccrs, pearlMat);
    ccrs.draw();
    GlStateManager.enableLighting();
    ccrs.reset();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号