diff options
Diffstat (limited to 'src/main/java/kubatech/client/effect/EntityRenderer.java')
-rw-r--r-- | src/main/java/kubatech/client/effect/EntityRenderer.java | 210 |
1 files changed, 0 insertions, 210 deletions
diff --git a/src/main/java/kubatech/client/effect/EntityRenderer.java b/src/main/java/kubatech/client/effect/EntityRenderer.java deleted file mode 100644 index 1a33899e15..0000000000 --- a/src/main/java/kubatech/client/effect/EntityRenderer.java +++ /dev/null @@ -1,210 +0,0 @@ -/* - * spotless:off - * KubaTech - Gregtech Addon - * Copyright (C) 2022 - 2024 kuba6000 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library. If not, see <https://www.gnu.org/licenses/>. - * spotless:on - */ - -package kubatech.client.effect; - -import static net.minecraft.client.renderer.entity.RenderManager.instance; -import static net.minecraft.client.renderer.entity.RenderManager.renderPosX; -import static net.minecraft.client.renderer.entity.RenderManager.renderPosY; -import static net.minecraft.client.renderer.entity.RenderManager.renderPosZ; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.particle.EntityFX; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.EntityList; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.boss.BossStatus; -import net.minecraft.world.World; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import org.lwjgl.util.glu.GLU; - -import com.kuba6000.mobsinfo.api.utils.MobUtils; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import kubatech.Tags; -import kubatech.config.Config; - -@SideOnly(Side.CLIENT) -public class EntityRenderer extends EntityFX { - - private static final Logger LOG = LogManager.getLogger(Tags.MODID + "[Entity Renderer]"); - private EntityLiving entityToRender = null; - - public EntityRenderer(World p_i1218_1_, double x, double y, double z, int age) { - super(p_i1218_1_, x + 0.5d, y, z + 0.5d); - this.particleMaxAge = age; - this.particleAge = 0; - } - - public EntityRenderer(EntityRenderer r, int age) { - super(r.worldObj, r.posX, r.posY, r.posZ); - this.particleMaxAge = age; - this.particleAge = 0; - this.ticksExisted = r.ticksExisted; - this.entityToRender = r.entityToRender; - } - - @Override - protected void entityInit() {} - - @Override - public void onUpdate() { - if (this.entityToRender == null) return; - this.ticksExisted++; - if (ticksExisted % 20 == 0) entityToRender.hurtTime = 10; - else if (entityToRender.hurtTime > 0) entityToRender.hurtTime--; - if (this.particleAge++ == this.particleMaxAge) { - this.setDead(); - } - } - - @Override - public boolean shouldRenderInPass(int pass) { - return pass == 3; - } - - @Override - public int getFXLayer() { - return 3; - } - - public void setEntity(EntityLiving entity) { - this.entityToRender = entity; - } - - @Override - public void renderParticle(Tessellator p_70539_1_, float p_70539_2_, float p_70539_3_, float p_70539_4_, - float p_70539_5_, float p_70539_6_, float p_70539_7_) { - if (entityToRender == null) return; - - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_COLOR_MATERIAL); - - entityToRender.worldObj = this.worldObj; - - // quiver still bugged a bit, but it is on the skeleton now - entityToRender.setPosition(this.posX, this.posY + 1d /* for some reason quiver renders too low? */, this.posZ); - entityToRender.lastTickPosX = entityToRender.posX; - entityToRender.lastTickPosY = entityToRender.posY; - entityToRender.lastTickPosZ = entityToRender.posZ; - - Minecraft mc = Minecraft.getMinecraft(); - - double rotation; - double headrotation; - { - double x1 = this.posX; - double x2 = mc.thePlayer.posX; - double y1 = this.posZ; - double y2 = mc.thePlayer.posZ; - double k = Math.toDegrees(Math.atan2(x2 - x1, y1 - y2)); - if (k < 0d) k += 360d; - k -= 180d; - rotation = k; - } - - { - double y1 = this.posY + entityToRender.getEyeHeight(); - double y2 = mc.thePlayer.posY + mc.thePlayer.getEyeHeight(); - double d = mc.thePlayer.getDistance(this.posX, y2, this.posZ); - double k = Math.toDegrees(Math.atan2(y1 - y2, d)); - if (k < 0d) k += 360d; - headrotation = k; - } - - entityToRender.prevRotationYawHead = entityToRender.rotationYawHead; - entityToRender.prevRenderYawOffset = entityToRender.renderYawOffset; - entityToRender.prevRotationPitch = entityToRender.rotationPitch; - entityToRender.renderYawOffset = (float) rotation; - entityToRender.rotationYawHead = (float) rotation; - entityToRender.rotationPitch = (float) headrotation; - - float p_147936_2_ = 0.5f; - - float f1 = entityToRender.prevRotationYaw - + (entityToRender.rotationYaw - entityToRender.prevRotationYaw) * p_147936_2_; - int i = entityToRender.getBrightnessForRender(p_147936_2_); - - if (entityToRender.isBurning()) { - i = 15728880; - } - - int j = i % 65536; - int k = i / 65536; - OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) j, (float) k); - GL11.glColor4f(1f, 1f, 1f, 1F); - RenderHelper.enableStandardItemLighting(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - - GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); - - int stackdepth = GL11.glGetInteger(GL11.GL_MODELVIEW_STACK_DEPTH); - GL11.glPushMatrix(); - GL11.glTranslatef( - (float) (this.posX - renderPosX), - (float) (this.posY - renderPosY), - (float) (this.posZ - renderPosZ)); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - - // TODO: Use new scale calculator - float desiredScale = MobUtils.getDesiredScale(entityToRender, 2f); - if (desiredScale < 1f) GL11.glScalef(desiredScale, desiredScale, desiredScale); - - float healthScale = BossStatus.healthScale; - int statusBarTime = BossStatus.statusBarTime; - String bossName = BossStatus.bossName; - boolean hasColorModifier = BossStatus.hasColorModifier; - - try { - instance.renderEntityWithPosYaw(entityToRender, 0f, 0f, 0f, f1, p_147936_2_); - } catch (Throwable ex) { - Tessellator tes = Tessellator.instance; - try { - tes.draw(); - } catch (Exception ignored) {} - } - - BossStatus.healthScale = healthScale; - BossStatus.statusBarTime = statusBarTime; - BossStatus.bossName = bossName; - BossStatus.hasColorModifier = hasColorModifier; - - GL11.glMatrixMode(GL11.GL_MODELVIEW_MATRIX); - stackdepth -= GL11.glGetInteger(GL11.GL_MODELVIEW_STACK_DEPTH); - if (stackdepth < 0) for (; stackdepth < 0; stackdepth++) GL11.glPopMatrix(); - if (stackdepth > 0) for (; stackdepth > 0; stackdepth--) GL11.glPushMatrix(); - - GL11.glPopAttrib(); - - int err; - while ((err = GL11.glGetError()) != GL11.GL_NO_ERROR) if (Config.Debug.showRenderErrors) LOG.error( - EntityList.getEntityString(entityToRender) + " | GL ERROR: " + err + " / " + GLU.gluErrorString(err)); - - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_COLOR_MATERIAL); - } -} |