use of net.minecraft.client.renderer.entity.RenderManager in project MorePlanets by SteveKunG.
the class ParticleInfectedGuardianAppearance method renderParticle.
@Override
public void renderParticle(BufferBuilder worldrenderer, Entity entity, float partialTicks, float rotationX, float rotationZ, float rotationYZ, float rotationXY, float rotationXZ) {
if (this.entity != null) {
RenderManager rendermanager = Minecraft.getMinecraft().getRenderManager();
rendermanager.setRenderPosition(Particle.interpPosX, Particle.interpPosY, Particle.interpPosZ);
float f = 0.42553192F;
float f1 = (this.particleAge + partialTicks) / this.particleMaxAge;
GlStateManager.depthMask(true);
GlStateManager.enableBlend();
GlStateManager.enableDepth();
GlStateManager.blendFunc(770, 771);
float f2 = 240.0F;
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, f2, f2);
GlStateManager.pushMatrix();
float f3 = 0.05F + 0.5F * MathHelper.sin(f1 * (float) Math.PI);
GlStateManager.color(1.0F, 1.0F, 1.0F, f3);
GlStateManager.translate(0.0F, 1.8F, 0.0F);
GlStateManager.rotate(180.0F - entity.rotationYaw, 0.0F, 1.0F, 0.0F);
GlStateManager.rotate(60.0F - 150.0F * f1 - entity.rotationPitch, 1.0F, 0.0F, 0.0F);
GlStateManager.translate(0.0F, -0.4F, -1.5F);
GlStateManager.scale(f, f, f);
this.entity.rotationYaw = this.entity.prevRotationYaw = 0.0F;
this.entity.rotationYawHead = this.entity.prevRotationYawHead = 0.0F;
rendermanager.renderEntity(this.entity, 0.0D, 0.0D, 0.0D, 0.0F, partialTicks, false);
GlStateManager.popMatrix();
GlStateManager.enableDepth();
}
}
use of net.minecraft.client.renderer.entity.RenderManager in project MorePlanets by SteveKunG.
the class GuiListEntityFilterEntry method drawEntityOnScreen.
public static void drawEntityOnScreen(int posX, int posY, int scale, float mouseX, float mouseY, Entity entity) {
GlStateManager.enableColorMaterial();
GlStateManager.pushMatrix();
GlStateManager.translate(posX, posY, 50.0F);
GlStateManager.scale(-scale, scale, scale);
GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F);
// float f = ent.renderYawOffset;
float f1 = entity.rotationYaw;
float f2 = entity.rotationPitch;
// float f3 = ent.prevRotationYawHead;
// float f4 = ent.rotationYawHead;
GlStateManager.rotate(135.0F, 0.0F, 1.0F, 0.0F);
RenderHelper.enableStandardItemLighting();
GlStateManager.rotate(-135.0F, 0.0F, 1.0F, 0.0F);
GlStateManager.rotate(-((float) Math.atan(mouseY / 40.0F)) * 20.0F, 1.0F, 0.0F, 0.0F);
// ent.renderYawOffset = (float)Math.atan((double)(mouseX / 40.0F)) * 20.0F;
entity.rotationYaw = (float) Math.atan(mouseX / 40.0F) * 40.0F;
entity.rotationPitch = -((float) Math.atan(mouseY / 40.0F)) * 20.0F;
// ent.rotationYawHead = ent.rotationYaw;
// ent.prevRotationYawHead = ent.rotationYaw;
GlStateManager.translate(0.0F, 0.0F, 0.0F);
RenderManager rendermanager = Minecraft.getMinecraft().getRenderManager();
rendermanager.setPlayerViewY(180.0F);
rendermanager.setRenderShadow(false);
rendermanager.renderEntity(entity, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F, false);
rendermanager.setRenderShadow(true);
// ent.renderYawOffset = f;
entity.rotationYaw = f1;
entity.rotationPitch = f2;
// ent.prevRotationYawHead = f3;
// ent.rotationYawHead = f4;
GlStateManager.popMatrix();
RenderHelper.disableStandardItemLighting();
GlStateManager.disableRescaleNormal();
GlStateManager.setActiveTexture(OpenGlHelper.lightmapTexUnit);
GlStateManager.disableTexture2D();
GlStateManager.setActiveTexture(OpenGlHelper.defaultTexUnit);
}
use of net.minecraft.client.renderer.entity.RenderManager in project ForestryMC by ForestryMC.
the class RenderEscritoire method render.
private void render(ItemStack itemstack, @Nullable World world, EnumFacing orientation, double x, double y, double z) {
float factor = (float) (1.0 / 16.0);
Minecraft minecraft = Minecraft.getMinecraft();
GlStateManager.pushMatrix();
{
GlStateManager.translate((float) x + 0.5f, (float) y + 0.875f, (float) z + 0.5f);
float[] angle = { (float) Math.PI, 0, 0 };
switch(orientation) {
case EAST:
angle[1] = (float) Math.PI / 2;
break;
case SOUTH:
break;
case NORTH:
angle[1] = (float) Math.PI;
break;
case WEST:
default:
angle[1] = -(float) Math.PI / 2;
break;
}
TextureManager textureManager = minecraft.getTextureManager();
textureManager.bindTexture(texture);
modelEscritoire.render(null, angle[0], angle[1], angle[2], 0f, 0f, factor);
}
GlStateManager.popMatrix();
if (!itemstack.isEmpty() && world != null) {
dummyEntityItem.world = world;
float renderScale = 0.75f;
GlStateManager.pushMatrix();
{
GlStateManager.translate((float) x + 0.5f, (float) y + 0.6f, (float) z + 0.5f);
GlStateManager.scale(renderScale, renderScale, renderScale);
dummyEntityItem.setItem(itemstack);
if (world.getTotalWorldTime() != lastTick) {
lastTick = world.getTotalWorldTime();
dummyEntityItem.onUpdate();
}
RenderManager rendermanager = minecraft.getRenderManager();
rendermanager.renderEntity(dummyEntityItem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F, false);
}
GlStateManager.popMatrix();
// prevent leaking the world object
dummyEntityItem.world = null;
}
}
use of net.minecraft.client.renderer.entity.RenderManager in project Hyperium by HyperiumClient.
the class MemoryHelper method worldEvent.
@InvokeEvent
public void worldEvent(WorldUnloadEvent event) {
try {
TextureManager textureManager = Minecraft.getMinecraft().getTextureManager();
Map<ResourceLocation, ITextureObject> mapTextureObjects = ((IMixinTextureManager) textureManager).getMapTextureObjects();
List<ResourceLocation> removes = new ArrayList<>();
mapTextureObjects.forEach((key, iTextureObject) -> {
if (iTextureObject instanceof ThreadDownloadImageData) {
IImageBuffer imageBuffer = ((IMixinThreadDownloadImageData) iTextureObject).getImageBuffer();
if (imageBuffer == null)
return;
Class<? extends IImageBuffer> aClass = imageBuffer.getClass();
// Optifine
if (aClass.getName().equalsIgnoreCase("CapeImageBuffer")) {
removes.add(key);
}
}
});
removes.forEach(this::deleteSkin);
// locations.forEach(this::deleteSkin);
int size = locations.size();
locations.clear();
int del = 0;
RenderManager renderManager = Minecraft.getMinecraft().getRenderManager();
try {
Method getSkinMap = renderManager.getClass().getMethod("getSkinMap");
Object invoke = getSkinMap.invoke(renderManager);
Map<String, RenderPlayer> skinMap = (Map<String, RenderPlayer>) invoke;
for (RenderPlayer value : skinMap.values()) {
ModelPlayer mainModel = value.getMainModel();
Class<?> superClass = mainModel.getClass().getSuperclass();
for (Field field : superClass.getDeclaredFields()) {
field.setAccessible(true);
try {
Object o = field.get(mainModel);
if (o != null) {
try {
Field entityIn = o.getClass().getSuperclass().getDeclaredField("entityIn");
entityIn.setAccessible(true);
Object o1 = entityIn.get(o);
if (o1 != null) {
entityIn.set(o, null);
del++;
}
} catch (IllegalAccessException | NoSuchFieldException ignored) {
}
try {
Field clientPlayer = o.getClass().getSuperclass().getDeclaredField("clientPlayer");
clientPlayer.setAccessible(true);
Object o1 = clientPlayer.get(o);
if (o1 != null) {
clientPlayer.set(o, null);
del++;
}
} catch (IllegalAccessException | NoSuchFieldException ignored) {
}
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
Hyperium.LOGGER.info("Deleted " + (removes.size() + size + del) + " cosmetic items / skins");
} catch (Exception e) {
e.printStackTrace();
}
}
use of net.minecraft.client.renderer.entity.RenderManager in project Hyperium by HyperiumClient.
the class ReachDisplay method renderWorld.
@InvokeEvent
public void renderWorld(RenderEntitiesEvent event) {
hits.removeIf(hit -> System.currentTimeMillis() - hit.start > 3000L);
for (Hit hit : hits) {
String string = Double.toString(hit.distance);
RenderManager renderManager = Minecraft.getMinecraft().getRenderManager();
FontRenderer fontrenderer = renderManager.getFontRenderer();
float f = 1.6F;
float f1 = 0.016666668F * f;
GlStateManager.pushMatrix();
EntityPlayerSP entity = Minecraft.getMinecraft().thePlayer;
float partialTicks = event.getPartialTicks();
double d0 = entity.lastTickPosX + (entity.posX - entity.lastTickPosX) * (double) partialTicks;
double d1 = entity.lastTickPosY + (entity.posY - entity.lastTickPosY) * (double) partialTicks;
double d2 = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * (double) partialTicks;
GlStateManager.translate(hit.pos.xCoord - d0, hit.pos.yCoord - d1, hit.pos.zCoord - d2);
GL11.glNormal3f(0.0F, 1.0F, 0.0F);
GlStateManager.rotate(-renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
// Nametag x rotations should flip in front-facing 3rd person
int xMultiplier = 1;
if (Minecraft.getMinecraft() != null && Minecraft.getMinecraft().gameSettings != null && Minecraft.getMinecraft().gameSettings.thirdPersonView == 2) {
xMultiplier = -1;
}
GlStateManager.rotate(renderManager.playerViewX * xMultiplier, 1.0F, 0.0F, 0.0F);
GlStateManager.scale(-f1, -f1, f1);
GlStateManager.disableLighting();
GlStateManager.depthMask(false);
GlStateManager.disableDepth();
GlStateManager.enableBlend();
GlStateManager.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO);
Tessellator tessellator = Tessellator.getInstance();
WorldRenderer worldrenderer = tessellator.getWorldRenderer();
int i = 0;
int j = fontrenderer.getStringWidth(string) / 2;
GlStateManager.disableTexture2D();
worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_COLOR);
worldrenderer.pos(-j - 1, -1 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex();
worldrenderer.pos(-j - 1, 8 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex();
worldrenderer.pos(j + 1, 8 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex();
worldrenderer.pos(j + 1, -1 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex();
tessellator.draw();
GlStateManager.enableTexture2D();
fontrenderer.drawString(string, -j, 0, Settings.REACH_COLOR_TYPE.equalsIgnoreCase("RGB") ? new Color(Settings.REACH_RED, Settings.REACH_GREEN, Settings.REACH_BLUE).getRGB() : Hyperium.INSTANCE.getModIntegration().getLevelhead().getRGBColor(), true);
GlStateManager.enableLighting();
GlStateManager.disableBlend();
GlStateManager.depthMask(true);
GlStateManager.enableDepth();
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
GlStateManager.popMatrix();
}
}
Aggregations