private static void renderEnchanted(IBackpack backpack, BlockModelRenderer renderer,
float ticks, boolean renderStraps) {
Minecraft mc = Minecraft.getMinecraft();
float glintStrength = WearableBackpacks.CONFIG.cosmetic.enchantEffectOpacity.get().floatValue();
if (glintStrength <= 0) return;
float glintScale = 1.5F;
float animProgress = ticks / 10;
int color = IntermodUtils.getRuneColor(backpack.getStack());
float r = (color >> 16 & 0xFF) / 255.0F * glintStrength;
float g = (color >> 8 & 0xFF) / 255.0F * glintStrength;
float b = (color & 0xFF) / 255.0F * glintStrength;
mc.getTextureManager().bindTexture(ENCHANTED_ITEM_GLINT);
mc.entityRenderer.setupFogColor(true);
GlStateManager.disableLighting();
GlStateManager.depthMask(false);
GlStateManager.depthFunc(GL11.GL_EQUAL);
GlStateManager.enableBlend();
GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_COLOR, GlStateManager.DestFactor.ONE);
for (int i = 0; i < 2; ++i) {
GlStateManager.matrixMode(GL11.GL_TEXTURE);
GlStateManager.loadIdentity();
GlStateManager.scale(glintScale, glintScale, glintScale);
GlStateManager.rotate(30.0F - i * 60.0F, 0.0F, 0.0F, 1.0F);
GlStateManager.translate(0.0F, animProgress * (0.001F + i * 0.003F) * 20.0F, 0.0F);
GlStateManager.matrixMode(GL11.GL_MODELVIEW);
renderModel(backpack, renderer, ticks, renderStraps, r, g, b, true);
}
GlStateManager.matrixMode(GL11.GL_TEXTURE);
GlStateManager.loadIdentity();
GlStateManager.matrixMode(GL11.GL_MODELVIEW);
GlStateManager.blendFunc(GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
GlStateManager.disableBlend();
GlStateManager.depthFunc(GL11.GL_LEQUAL);
GlStateManager.depthMask(true);
GlStateManager.enableLighting();
mc.entityRenderer.setupFogColor(false);
}
RendererBackpack.java 文件源码
java
阅读 19
收藏 0
点赞 0
评论 0
项目:WearableBackpacks
作者:
评论列表
文章目录