Some 1.8.8 tessellator changes

This commit is contained in:
Vincent Lee committed 2015-12-21 13:53:31 -06:00
1 parent ffe7b4ccc8
commit 5d666cd891
15 files changed
+136 -211

No files matched your search

@@ -18,6 +18,7 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
@@ -154,42 +155,42 @@ public final class BoundTileRenderer {
double ay = aabb.maxY;
double az = aabb.maxZ;
tessellator.getWorldRenderer().startDrawing(GL11.GL_LINES);
tessellator.getWorldRenderer().addVertex(ix, iy, iz);
tessellator.getWorldRenderer().addVertex(ix, ay, iz);
tessellator.getWorldRenderer().begin(GL11.GL_LINES, DefaultVertexFormats.POSITION);
tessellator.getWorldRenderer().pos(ix, iy, iz).endVertex();
tessellator.getWorldRenderer().pos(ix, ay, iz).endVertex();
tessellator.getWorldRenderer().addVertex(ix, ay, iz);
tessellator.getWorldRenderer().addVertex(ax, ay, iz);
tessellator.getWorldRenderer().pos(ix, ay, iz).endVertex();
tessellator.getWorldRenderer().pos(ax, ay, iz).endVertex();
tessellator.getWorldRenderer().addVertex(ax, ay, iz);
tessellator.getWorldRenderer().addVertex(ax, iy, iz);
tessellator.getWorldRenderer().pos(ax, ay, iz).endVertex();
tessellator.getWorldRenderer().pos(ax, iy, iz).endVertex();
tessellator.getWorldRenderer().addVertex(ax, iy, iz);
tessellator.getWorldRenderer().addVertex(ix, iy, iz);
tessellator.getWorldRenderer().pos(ax, iy, iz).endVertex();
tessellator.getWorldRenderer().pos(ix, iy, iz).endVertex();
tessellator.getWorldRenderer().addVertex(ix, iy, az);
tessellator.getWorldRenderer().addVertex(ix, ay, az);
tessellator.getWorldRenderer().pos(ix, iy, az).endVertex();
tessellator.getWorldRenderer().pos(ix, ay, az).endVertex();
tessellator.getWorldRenderer().addVertex(ix, iy, az);
tessellator.getWorldRenderer().addVertex(ax, iy, az);
tessellator.getWorldRenderer().pos(ix, iy, az).endVertex();
tessellator.getWorldRenderer().pos(ax, iy, az).endVertex();
tessellator.getWorldRenderer().addVertex(ax, iy, az);
tessellator.getWorldRenderer().addVertex(ax, ay, az);
tessellator.getWorldRenderer().pos(ax, iy, az).endVertex();
tessellator.getWorldRenderer().pos(ax, ay, az).endVertex();
tessellator.getWorldRenderer().addVertex(ix, ay, az);
tessellator.getWorldRenderer().addVertex(ax, ay, az);
tessellator.getWorldRenderer().pos(ix, ay, az).endVertex();
tessellator.getWorldRenderer().pos(ax, ay, az).endVertex();
tessellator.getWorldRenderer().addVertex(ix, iy, iz);
tessellator.getWorldRenderer().addVertex(ix, iy, az);
tessellator.getWorldRenderer().pos(ix, iy, iz).endVertex();
tessellator.getWorldRenderer().pos(ix, iy, az).endVertex();
tessellator.getWorldRenderer().addVertex(ix, ay, iz);
tessellator.getWorldRenderer().addVertex(ix, ay, az);
tessellator.getWorldRenderer().pos(ix, ay, iz).endVertex();
tessellator.getWorldRenderer().pos(ix, ay, az).endVertex();
tessellator.getWorldRenderer().addVertex(ax, iy, iz);
tessellator.getWorldRenderer().addVertex(ax, iy, az);
tessellator.getWorldRenderer().pos(ax, iy, iz).endVertex();
tessellator.getWorldRenderer().pos(ax, iy, az).endVertex();
tessellator.getWorldRenderer().addVertex(ax, ay, iz);
tessellator.getWorldRenderer().addVertex(ax, ay, az);
tessellator.getWorldRenderer().pos(ax, ay, iz).endVertex();
tessellator.getWorldRenderer().pos(ax, ay, az).endVertex();
tessellator.draw();
}
@@ -115,7 +115,7 @@ public class MultiblockBlockAccess implements IBlockAccess {
* Returns the multiblock component for the coordinates, adjusted based on the anchor
*/
protected MultiblockComponent getComponent(BlockPos pos) {
MultiblockComponent comp = multiblock.getComponentForLocation(pos.add(anchorPos.multiply(-1)));
MultiblockComponent comp = multiblock.getComponentForLocation(pos.add(new BlockPos(-anchorPos.getX(), -anchorPos.getY(), -anchorPos.getZ())));
return comp;
}
}
@@ -18,6 +18,7 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
@@ -95,7 +96,7 @@ public final class RedStringRenderer {
Tessellator tessellator = Tessellator.getInstance();
GL11.glLineWidth(1F);
tessellator.getWorldRenderer().startDrawing(GL11.GL_LINES);
tessellator.getWorldRenderer().begin(GL11.GL_LINES, DefaultVertexFormats.POSITION);
double len = (double) -ClientTickHandler.ticksInGame / 100F + new Random(dir.ordinal() ^ tile.getPos().hashCode()).nextInt(10000);
double add = vecMag.mag();
@@ -122,7 +123,7 @@ public final class RedStringRenderer {
double y = ypos + Math.cos(l * freq) * ampl * Math.abs(Math.abs(dir.getFrontOffsetY()) - 1) + rand * randMul;
double z = zpos + (dir.getFrontOffsetY() == 0 ? Math.sin(l * freq) : Math.cos(l * freq)) * ampl * Math.abs(Math.abs(dir.getFrontOffsetZ()) - 1) + rand * randMul;
tess.getWorldRenderer().addVertex(x, y, z);
tess.getWorldRenderer().pos(x, y, z).endVertex();
}
}
@@ -16,6 +16,7 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
@@ -83,6 +84,18 @@ public final class SubTileRadiusRenderHandler {
GlStateManager.popMatrix();
}
private double getRenderPosX() { // todo 1.8
return ObfuscationReflectionHelper.getPrivateValue(RenderManager.class, Minecraft.getMinecraft().getRenderManager(), LibObfuscation.RENDERPOSX);
}
private double getRenderPosY() {
return ObfuscationReflectionHelper.getPrivateValue(RenderManager.class, Minecraft.getMinecraft().getRenderManager(), LibObfuscation.RENDERPOSY);
}
private double getRenderPosZ() {
return ObfuscationReflectionHelper.getPrivateValue(RenderManager.class, Minecraft.getMinecraft().getRenderManager(), LibObfuscation.RENDERPOSZ);
}
public void renderRectangle(AxisAlignedBB aabb) {
GlStateManager.pushMatrix();
GlStateManager.translate(aabb.minX - getRenderPosX(), aabb.minY - getRenderPosY(), aabb.minZ - getRenderPosZ());
@@ -96,22 +109,22 @@ public final class SubTileRadiusRenderHandler {
double z = aabb.maxZ - aabb.minZ - f;
Tessellator tessellator = Tessellator.getInstance();
tessellator.getWorldRenderer().startDrawingQuads();
tessellator.getWorldRenderer().addVertex(x, f, f);
tessellator.getWorldRenderer().addVertex(f, f, f);
tessellator.getWorldRenderer().addVertex(f, f, z);
tessellator.getWorldRenderer().addVertex(x, f, z);
tessellator.getWorldRenderer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION);
tessellator.getWorldRenderer().pos(x, f, f).endVertex();
tessellator.getWorldRenderer().pos(f, f, f).endVertex();
tessellator.getWorldRenderer().pos(f, f, z).endVertex();
tessellator.getWorldRenderer().pos(x, f, z).endVertex();
tessellator.draw();
x += f;
z += f;
double f1 = f + f / 4F;
GlStateManager.color((byte) colorRGB.getRed(), (byte) colorRGB.getGreen(), (byte) colorRGB.getBlue(), (byte) 64);
tessellator.getWorldRenderer().startDrawingQuads();
tessellator.getWorldRenderer().addVertex(x, f1, 0);
tessellator.getWorldRenderer().addVertex(0, f1, 0);
tessellator.getWorldRenderer().addVertex(0, f1, z);
tessellator.getWorldRenderer().addVertex(x, f1, z);
tessellator.getWorldRenderer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION);
tessellator.getWorldRenderer().pos(x, f1, 0).endVertex();
tessellator.getWorldRenderer().pos(0, f1, 0).endVertex();
tessellator.getWorldRenderer().pos(0, f1, z).endVertex();
tessellator.getWorldRenderer().pos(x, f1, z).endVertex();
tessellator.draw();
GlStateManager.popMatrix();
@@ -136,29 +149,29 @@ public final class SubTileRadiusRenderHandler {
radius -= f;
Tessellator tessellator = Tessellator.getInstance();
tessellator.getWorldRenderer().startDrawing(GL11.GL_TRIANGLE_FAN);
tessellator.getWorldRenderer().addVertex(0, f, 0);
tessellator.getWorldRenderer().begin(GL11.GL_TRIANGLE_FAN, DefaultVertexFormats.POSITION);
tessellator.getWorldRenderer().pos(0, f, 0).endVertex();
for(int i = 0; i < totalAngles + 1; i += step) {
double rad = (totalAngles - i) * Math.PI / 180.0;
double xp = Math.cos(rad) * radius;
double zp = Math.sin(rad) * radius;
tessellator.getWorldRenderer().addVertex(xp, f, zp);
tessellator.getWorldRenderer().pos(xp, f, zp).endVertex();
}
tessellator.getWorldRenderer().addVertex(0, f, 0);
tessellator.getWorldRenderer().pos(0, f, 0).endVertex();
tessellator.draw();
radius += f;
double f1 = f + f / 4F;
GlStateManager.color((byte) colorRGB.getRed(), (byte) colorRGB.getGreen(), (byte) colorRGB.getBlue(), (byte) 64);
tessellator.getWorldRenderer().startDrawing(GL11.GL_TRIANGLE_FAN);
tessellator.getWorldRenderer().addVertex(0, f1, 0);
tessellator.getWorldRenderer().begin(GL11.GL_TRIANGLE_FAN, DefaultVertexFormats.POSITION);
tessellator.getWorldRenderer().pos(0, f1, 0).endVertex();
for(int i = 0; i < totalAngles + 1; i += step) {
double rad = (totalAngles - i) * Math.PI / 180.0;
double xp = Math.cos(rad) * radius;
double zp = Math.sin(rad) * radius;
tessellator.getWorldRenderer().addVertex(xp, f1, zp);
tessellator.getWorldRenderer().pos(xp, f1, zp).endVertex();
}
tessellator.getWorldRenderer().addVertex(0, f1, 0);
tessellator.getWorldRenderer().pos(0, f1, 0).endVertex();
tessellator.draw();
GlStateManager.popMatrix();
}
@@ -100,94 +100,4 @@ public final class IconHelper {
}
/**
* From 1.7, takes a sprite and renders it in the "flat 3D" style of held items
* Use this ONLY for sprites that don't have a corresponding item!
* For items, use built in methods that use the bakedmodel since those are much more efficient
* Args: tess, maxu, minv, minu, maxv, width, height, thickness(?)
* todo 1.8 find a replacement for this method, possibly the above bakeModelFromIcon
*/
public static void renderItemIn2D(Tessellator tess, float p_78439_1_, float p_78439_2_, float p_78439_3_, float p_78439_4_, int width, int height, float p_78439_7_)
{
WorldRenderer wr = tess.getWorldRenderer();
wr.startDrawingQuads();
wr.setNormal(0.0F, 0.0F, 1.0F);
wr.addVertexWithUV(0.0D, 0.0D, 0.0D, (double)p_78439_1_, (double)p_78439_4_);
wr.addVertexWithUV(1.0D, 0.0D, 0.0D, (double)p_78439_3_, (double)p_78439_4_);
wr.addVertexWithUV(1.0D, 1.0D, 0.0D, (double)p_78439_3_, (double)p_78439_2_);
wr.addVertexWithUV(0.0D, 1.0D, 0.0D, (double)p_78439_1_, (double)p_78439_2_);
tess.draw();
wr.startDrawingQuads();
wr.setNormal(0.0F, 0.0F, -1.0F);
wr.addVertexWithUV(0.0D, 1.0D, (double)(0.0F - p_78439_7_), (double)p_78439_1_, (double)p_78439_2_);
wr.addVertexWithUV(1.0D, 1.0D, (double)(0.0F - p_78439_7_), (double)p_78439_3_, (double)p_78439_2_);
wr.addVertexWithUV(1.0D, 0.0D, (double)(0.0F - p_78439_7_), (double)p_78439_3_, (double)p_78439_4_);
wr.addVertexWithUV(0.0D, 0.0D, (double)(0.0F - p_78439_7_), (double)p_78439_1_, (double)p_78439_4_);
tess.draw();
float f5 = 0.5F * (p_78439_1_ - p_78439_3_) / (float)width;
float f6 = 0.5F * (p_78439_4_ - p_78439_2_) / (float)height;
wr.startDrawingQuads();
wr.setNormal(-1.0F, 0.0F, 0.0F);
int k;
float f7;
float f8;
for (k = 0; k < width; ++k)
{
f7 = (float)k / (float)width;
f8 = p_78439_1_ + (p_78439_3_ - p_78439_1_) * f7 - f5;
wr.addVertexWithUV((double)f7, 0.0D, (double)(0.0F - p_78439_7_), (double)f8, (double)p_78439_4_);
wr.addVertexWithUV((double)f7, 0.0D, 0.0D, (double)f8, (double)p_78439_4_);
wr.addVertexWithUV((double)f7, 1.0D, 0.0D, (double)f8, (double)p_78439_2_);
wr.addVertexWithUV((double)f7, 1.0D, (double)(0.0F - p_78439_7_), (double)f8, (double)p_78439_2_);
}
tess.draw();
wr.startDrawingQuads();
wr.setNormal(1.0F, 0.0F, 0.0F);
float f9;
for (k = 0; k < width; ++k)
{
f7 = (float)k / (float)width;
f8 = p_78439_1_ + (p_78439_3_ - p_78439_1_) * f7 - f5;
f9 = f7 + 1.0F / (float)width;
wr.addVertexWithUV((double)f9, 1.0D, (double)(0.0F - p_78439_7_), (double)f8, (double)p_78439_2_);
wr.addVertexWithUV((double)f9, 1.0D, 0.0D, (double)f8, (double)p_78439_2_);
wr.addVertexWithUV((double)f9, 0.0D, 0.0D, (double)f8, (double)p_78439_4_);
wr.addVertexWithUV((double)f9, 0.0D, (double)(0.0F - p_78439_7_), (double)f8, (double)p_78439_4_);
}
tess.draw();
wr.startDrawingQuads();
wr.setNormal(0.0F, 1.0F, 0.0F);
for (k = 0; k < height; ++k)
{
f7 = (float)k / (float)height;
f8 = p_78439_4_ + (p_78439_2_ - p_78439_4_) * f7 - f6;
f9 = f7 + 1.0F / (float)height;
wr.addVertexWithUV(0.0D, (double)f9, 0.0D, (double)p_78439_1_, (double)f8);
wr.addVertexWithUV(1.0D, (double)f9, 0.0D, (double)p_78439_3_, (double)f8);
wr.addVertexWithUV(1.0D, (double)f9, (double)(0.0F - p_78439_7_), (double)p_78439_3_, (double)f8);
wr.addVertexWithUV(0.0D, (double)f9, (double)(0.0F - p_78439_7_), (double)p_78439_1_, (double)f8);
}
tess.draw();
wr.startDrawingQuads();
wr.setNormal(0.0F, -1.0F, 0.0F);
for (k = 0; k < height; ++k)
{
f7 = (float)k / (float)height;
f8 = p_78439_4_ + (p_78439_2_ - p_78439_4_) * f7 - f6;
wr.addVertexWithUV(1.0D, (double)f7, 0.0D, (double)p_78439_3_, (double)f8);
wr.addVertexWithUV(0.0D, (double)f7, 0.0D, (double)p_78439_1_, (double)f8);
wr.addVertexWithUV(0.0D, (double)f7, (double)(0.0F - p_78439_7_), (double)p_78439_1_, (double)f8);
wr.addVertexWithUV(1.0D, (double)f7, (double)(0.0F - p_78439_7_), (double)p_78439_3_, (double)f8);
}
tess.draw();
}
}
@@ -18,6 +18,7 @@ import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
@@ -113,13 +114,11 @@ public final class RenderHelper {
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
GlStateManager.shadeModel(GL11.GL_SMOOTH);
Tessellator var15 = Tessellator.getInstance();
var15.getWorldRenderer().startDrawingQuads();
var15.getWorldRenderer().setColorRGBA_F(var8, var9, var10, var7);
var15.getWorldRenderer().addVertex(par3, par2, z);
var15.getWorldRenderer().addVertex(par1, par2, z);
var15.getWorldRenderer().setColorRGBA_F(var12, var13, var14, var11);
var15.getWorldRenderer().addVertex(par1, par4, z);
var15.getWorldRenderer().addVertex(par3, par4, z);
var15.getWorldRenderer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_COLOR);
var15.getWorldRenderer().pos(par3, par2, z).color(var8, var9, var10, var7).endVertex();
var15.getWorldRenderer().pos(par1, par2, z).color(var8, var9, var10, var7).endVertex();
var15.getWorldRenderer().pos(par1, par4, z).color(var12, var13, var14, var11).endVertex();
var15.getWorldRenderer().pos(par3, par4, z).color(var12, var13, var14, var11).endVertex();
var15.draw();
GlStateManager.shadeModel(GL11.GL_FLAT);
GlStateManager.disableBlend();
@@ -133,11 +132,11 @@ public final class RenderHelper {
public static void drawTexturedModalRect(int par1, int par2, float z, int par3, int par4, int par5, int par6, float f, float f1) {
Tessellator tessellator = Tessellator.getInstance();
tessellator.getWorldRenderer().startDrawingQuads();
tessellator.getWorldRenderer().addVertexWithUV(par1 + 0, par2 + par6, z, (par3 + 0) * f, (par4 + par6) * f1);
tessellator.getWorldRenderer().addVertexWithUV(par1 + par5, par2 + par6, z, (par3 + par5) * f, (par4 + par6) * f1);
tessellator.getWorldRenderer().addVertexWithUV(par1 + par5, par2 + 0, z, (par3 + par5) * f, (par4 + 0) * f1);
tessellator.getWorldRenderer().addVertexWithUV(par1 + 0, par2 + 0, z, (par3 + 0) * f, (par4 + 0) * f1);
tessellator.getWorldRenderer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
tessellator.getWorldRenderer().pos(par1 + 0, par2 + par6, z).tex((par3 + 0) * f, (par4 + par6) * f1).endVertex();
tessellator.getWorldRenderer().pos(par1 + par5, par2 + par6, z).tex((par3 + par5) * f, (par4 + par6) * f1).endVertex();
tessellator.getWorldRenderer().pos(par1 + par5, par2 + 0, z).tex((par3 + par5) * f, (par4 + 0) * f1).endVertex();
tessellator.getWorldRenderer().pos(par1 + 0, par2 + 0, z).tex((par3 + 0) * f, (par4 + 0) * f1).endVertex();
tessellator.draw();
}
@@ -171,16 +170,16 @@ public final class RenderHelper {
GlStateManager.rotate(random.nextFloat() * 360F, 1F, 0F, 0F);
GlStateManager.rotate(random.nextFloat() * 360F, 0F, 1F, 0F);
GlStateManager.rotate(random.nextFloat() * 360F + f1 * 90F, 0F, 0F, 1F);
tessellator.getWorldRenderer().startDrawing(GL11.GL_TRIANGLE_FAN);
tessellator.getWorldRenderer().begin(GL11.GL_TRIANGLE_FAN, DefaultVertexFormats.POSITION_COLOR);
float f3 = random.nextFloat() * 20F + 5F + f2 * 10F;
float f4 = random.nextFloat() * 2F + 1F + f2 * 2F;
tessellator.getWorldRenderer().setColorRGBA_I(color, (int) (255F * (1F - f2)));
tessellator.getWorldRenderer().addVertex(0, 0, 0);
tessellator.getWorldRenderer().pos(0, 0, 0).color().endVertex();
tessellator.getWorldRenderer().setColorRGBA_F(0F, 0F, 0F, 0);
tessellator.getWorldRenderer().addVertex(-0.866D * f4, f3, -0.5F * f4);
tessellator.getWorldRenderer().addVertex(0.866D * f4, f3, -0.5F * f4);
tessellator.getWorldRenderer().addVertex(0, f3, 1F * f4);
tessellator.getWorldRenderer().addVertex(-0.866D * f4, f3, -0.5F * f4);
tessellator.getWorldRenderer().pos(-0.866D * f4, f3, -0.5F * f4).endVertex();
tessellator.getWorldRenderer().pos(0.866D * f4, f3, -0.5F * f4).endVertex();
tessellator.getWorldRenderer().pos(0, f3, 1F * f4).endVertex();
tessellator.getWorldRenderer().pos(-0.866D * f4, f3, -0.5F * f4).endVertex();
tessellator.draw();
}
@@ -73,7 +73,7 @@ public class GuiLexiconChallengesList extends GuiLexicon implements IParented {
}
@Override
protected void keyTyped(char par1, int par2) {
protected void keyTyped(char par1, int par2) throws IOException {
if(par2 == 14 && !notesEnabled) // Backspace
back();
else if(par2 == 199) { // Home
@@ -20,6 +20,7 @@ import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
@@ -91,11 +92,11 @@ public class RenderBabylonWeapon extends Render {
GlStateManager.rotate(charge * 9F + (weapon.ticksExisted + par9) * 0.5F + rand.nextFloat() * 360F, 0F, 1F, 0F);
tes.getWorldRenderer().startDrawingQuads();
tes.getWorldRenderer().addVertexWithUV(-1, 0, -1, 0, 0);
tes.getWorldRenderer().addVertexWithUV(-1, 0, 1, 0, 1);
tes.getWorldRenderer().addVertexWithUV(1, 0, 1, 1, 1);
tes.getWorldRenderer().addVertexWithUV(1, 0, -1, 1, 0);
tes.getWorldRenderer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
tes.getWorldRenderer().pos(-1, 0, -1).tex(0, 0).endVertex();
tes.getWorldRenderer().pos(-1, 0, 1).tex(0, 1).endVertex();
tes.getWorldRenderer().pos(1, 0, 1).tex(1, 1).endVertex();
tes.getWorldRenderer().pos(1, 0, -1).tex(1, 0).endVertex();
tes.draw();
ShaderHelper.releaseShader();
@@ -15,6 +15,7 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.entity.passive.EntitySheep;
import net.minecraft.item.Item;
@@ -31,7 +32,7 @@ import vazkii.botania.common.item.ItemCorporeaSpark;
public class RenderCorporeaSpark extends RenderSparkBase<EntityCorporeaSpark> {
@Override
public IIcon getBaseIcon(EntityCorporeaSpark entity) {
public TextureAtlasSprite getBaseIcon(EntityCorporeaSpark entity) {
return entity.isMaster() ? ItemCorporeaSpark.worldIconMaster : ItemCorporeaSpark.worldIcon;
}
@@ -42,7 +43,7 @@ public class RenderCorporeaSpark extends RenderSparkBase<EntityCorporeaSpark> {
}
@Override
public IIcon getSpinningIcon(EntityCorporeaSpark entity) {
public TextureAtlasSprite getSpinningIcon(EntityCorporeaSpark entity) {
return ItemCorporeaSpark.iconColorStar;
}
@@ -29,7 +29,7 @@ public class RenderPinkWither extends RenderWither {
}
@Override
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) {
public void doRender(EntityWither p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) {
super.doRender(p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
if(BossStatus.bossName.equals(p_76986_1_.getDisplayName().getFormattedText())) {
BossStatus.statusBarTime = -1;
@@ -10,6 +10,7 @@
*/
package vazkii.botania.client.render.entity;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.IIcon;
import vazkii.botania.common.entity.EntitySpark;
import vazkii.botania.common.item.ItemSparkUpgrade;
@@ -17,7 +18,7 @@ import vazkii.botania.common.item.ItemSparkUpgrade;
public class RenderSpark extends RenderSparkBase<EntitySpark> {
@Override
public IIcon getSpinningIcon(EntitySpark entity) {
public TextureAtlasSprite getSpinningIcon(EntitySpark entity) {
int upgrade = entity.getUpgrade() - 1;
return upgrade >= 0 && upgrade < ItemSparkUpgrade.worldIcons.length ? ItemSparkUpgrade.worldIcons[upgrade] : null;
}
@@ -18,12 +18,12 @@ import net.minecraft.client.renderer.entity.RenderEntity;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.entity.Entity;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import vazkii.botania.client.core.handler.ClientTickHandler;
import vazkii.botania.common.entity.EntitySpark;
@@ -38,7 +38,7 @@ public class RenderSparkBase<T extends Entity> extends RenderEntity {
@Override
public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) {
T tEntity = (T) par1Entity;
IIcon iicon = getBaseIcon(tEntity);
TextureAtlasSprite iicon = getBaseIcon(tEntity);
GlStateManager.pushMatrix();
GlStateManager.translate((float)par2, (float)par4, (float)par6);
@@ -65,7 +65,7 @@ public class RenderSparkBase<T extends Entity> extends RenderEntity {
GlStateManager.rotate(-renderManager.playerViewX, 1F, 0F, 0F);
func_77026_a(tessellator, iicon);
IIcon spinningIcon = getSpinningIcon(tEntity);
TextureAtlasSprite spinningIcon = getSpinningIcon(tEntity);
if(spinningIcon != null) {
GlStateManager.translate(-0.02F + (float) Math.sin(time / 20) * 0.2F, 0.24F + (float) Math.cos(time / 20) * 0.2F, 0.005F);
GlStateManager.scale(0.2F, 0.2F, 0.2F);
@@ -81,7 +81,7 @@ public class RenderSparkBase<T extends Entity> extends RenderEntity {
GlStateManager.popMatrix();
}
public IIcon getBaseIcon(T entity) {
public TextureAtlasSprite getBaseIcon(T entity) {
return ItemSpark.worldIcon;
}
@@ -89,7 +89,7 @@ public class RenderSparkBase<T extends Entity> extends RenderEntity {
// NO-OP
}
public IIcon getSpinningIcon(T entity) {
public TextureAtlasSprite getSpinningIcon(T entity) {
return null;
}
@@ -111,13 +111,12 @@ public class RenderSparkBase<T extends Entity> extends RenderEntity {
float f5 = 0.5F;
float f6 = 0.25F;
p_77026_1_.getWorldRenderer().startDrawingQuads();
p_77026_1_.getWorldRenderer().setNormal(0.0F, 1.0F, 0.0F);
p_77026_1_.getWorldRenderer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR_NORMAL);
p_77026_1_.getWorldRenderer().setBrightness(240);
p_77026_1_.getWorldRenderer().addVertexWithUV(0.0F - f5, 0.0F - f6, 0.0D, f, f3);
p_77026_1_.getWorldRenderer().addVertexWithUV(f4 - f5, 0.0F - f6, 0.0D, f1, f3);
p_77026_1_.getWorldRenderer().addVertexWithUV(f4 - f5, f4 - f6, 0.0D, f1, f2);
p_77026_1_.getWorldRenderer().addVertexWithUV(0.0F - f5, f4 - f6, 0.0D, f, f2);
p_77026_1_.getWorldRenderer().pos(0.0F - f5, 0.0F - f6, 0.0D).tex(f, f3).normal(0.0F, 1.0F, 0.0F).endVertex();
p_77026_1_.getWorldRenderer().pos(f4 - f5, 0.0F - f6, 0.0D).tex(f1, f3).normal(0.0F, 1.0F, 0.0F).endVertex();
p_77026_1_.getWorldRenderer().pos(f4 - f5, f4 - f6, 0.0D).tex(f1, f2).normal(0.0F, 1.0F, 0.0F).endVertex();
p_77026_1_.getWorldRenderer().pos(0.0F - f5, f4 - f6, 0.0D).tex(f, f2).normal(0.0F, 1.0F, 0.0F).endVertex();
p_77026_1_.draw();
}
@@ -16,6 +16,7 @@ import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.entity.Entity;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
@@ -68,14 +69,13 @@ public class RenderThornChakram extends Render {
float f6 = 0.25F;
GlStateManager.rotate(180.0F - renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
GlStateManager.rotate(-renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
p_77026_1_.getWorldRenderer().startDrawingQuads();
p_77026_1_.getWorldRenderer().setNormal(0.0F, 1.0F, 0.0F);
p_77026_1_.getWorldRenderer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_NORMAL);
if(light != -1)
p_77026_1_.getWorldRenderer().setBrightness(light);
p_77026_1_.getWorldRenderer().addVertexWithUV(0.0F - f5, 0.0F - f6, 0.0D, f, f3);
p_77026_1_.getWorldRenderer().addVertexWithUV(f4 - f5, 0.0F - f6, 0.0D, f1, f3);
p_77026_1_.getWorldRenderer().addVertexWithUV(f4 - f5, f4 - f6, 0.0D, f1, f2);
p_77026_1_.getWorldRenderer().addVertexWithUV(0.0F - f5, f4 - f6, 0.0D, f, f2);
p_77026_1_.getWorldRenderer().pos(0.0F - f5, 0.0F - f6, 0.0D).tex(f, f3).normal(0.0F, 1.0F, 0.0F).endVertex();
p_77026_1_.getWorldRenderer().pos(f4 - f5, 0.0F - f6, 0.0D).tex(f1, f3).normal(0.0F, 1.0F, 0.0F).endVertex();
p_77026_1_.getWorldRenderer().pos(f4 - f5, f4 - f6, 0.0D).tex(f1, f2).normal(0.0F, 1.0F, 0.0F).endVertex();
p_77026_1_.getWorldRenderer().pos(0.0F - f5, f4 - f6, 0.0D).tex(f, f2).normal(0.0F, 1.0F, 0.0F).endVertex();
p_77026_1_.draw();
}
@@ -15,14 +15,14 @@ import net.minecraft.world.World;
import net.minecraftforge.client.event.RenderWorldLastEvent;
import vazkii.botania.common.core.handler.ConfigHandler;
import vazkii.botania.common.world.WorldTypeSkyblock;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
public final class SkyblockRenderEvents {
@SubscribeEvent
public void onRender(RenderWorldLastEvent event) {
World world = Minecraft.getMinecraft().theWorld;
if(ConfigHandler.enableFancySkybox && world.provider.dimensionId == 0 && (ConfigHandler.enableFancySkyboxInNormalWorlds || WorldTypeSkyblock.isWorldSkyblock(Minecraft.getMinecraft().theWorld))) {
if(ConfigHandler.enableFancySkybox && world.provider.getDimensionId() == 0 && (ConfigHandler.enableFancySkyboxInNormalWorlds || WorldTypeSkyblock.isWorldSkyblock(Minecraft.getMinecraft().theWorld))) {
if(!(world.provider.getSkyRenderer() instanceof SkyblockSkyRenderer))
world.provider.setSkyRenderer(new SkyblockSkyRenderer());
}
@@ -18,6 +18,7 @@ import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderGlobal;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Vec3;
@@ -28,7 +29,7 @@ import org.lwjgl.opengl.GL11;
import vazkii.botania.client.core.handler.ClientTickHandler;
import vazkii.botania.client.lib.LibResources;
import vazkii.botania.common.lib.LibObfuscation;
import cpw.mods.fml.relauncher.ReflectionHelper;
import net.minecraftforge.fml.relauncher.ReflectionHelper;
public class SkyblockSkyRenderer extends IRenderHandler {
@@ -56,7 +57,7 @@ public class SkyblockSkyRenderer extends IRenderHandler {
int starGLCallList = ReflectionHelper.getPrivateValue(RenderGlobal.class, mc.renderGlobal, LibObfuscation.STAR_GL_CALL_LIST);
GL11.glDisable(GL11.GL_TEXTURE_2D);
Vec3 vec3 = world.getSkyColor(mc.renderViewEntity, partialTicks);
Vec3 vec3 = world.getSkyColor(mc.getRenderViewEntity(), partialTicks);
float f1 = (float)vec3.xCoord;
float f2 = (float)vec3.yCoord;
float f3 = (float)vec3.zCoord;
@@ -68,7 +69,7 @@ public class SkyblockSkyRenderer extends IRenderHandler {
f2 = Math.max(0F, f2 - insideVoid);
f3 = Math.max(0F, f3 - insideVoid);
Tessellator tessellator1 = Tessellator.instance;
Tessellator tessellator1 = Tessellator.getInstance();
GL11.glDepthMask(false);
GL11.glEnable(GL11.GL_FOG);
GL11.glColor3f(f1, f2, f3);
@@ -97,17 +98,15 @@ public class SkyblockSkyRenderer extends IRenderHandler {
f8 = afloat[2];
float f11;
tessellator1.startDrawing(6);
tessellator1.setColorRGBA_F(f6, f7, f8, afloat[3] * (1F - insideVoid));
tessellator1.addVertex(0.0D, 100.0D, 0.0D);
tessellator1.getWorldRenderer().begin(GL11.GL_TRIANGLE_FAN, DefaultVertexFormats.POSITION_COLOR);
tessellator1.getWorldRenderer().pos(0.0D, 100.0D, 0.0D).color(f6, f7, f8, afloat[3] * (1F - insideVoid)).endVertex();
byte b0 = 16;
tessellator1.setColorRGBA_F(afloat[0], afloat[1], afloat[2], 0.0F);
for(int j = 0; j <= b0; ++j) {
f11 = (float)j * (float)Math.PI * 2.0F / (float)b0;
float f12 = MathHelper.sin(f11);
float f13 = MathHelper.cos(f11);
tessellator1.addVertex((double)(f12 * 120.0F), (double)(f13 * 120.0F), (double)(-f13 * 40.0F * afloat[3]));
tessellator1.getWorldRenderer().pos((double)(f12 * 120.0F), (double)(f13 * 120.0F), (double)(-f13 * 40.0F * afloat[3])).color(afloat[0], afloat[1], afloat[2], 0.0F).endVertex();
}
tessellator1.draw();
@@ -193,7 +192,7 @@ public class SkyblockSkyRenderer extends IRenderHandler {
float baseAngle = rotSpeed * rotSpeedMod * (ClientTickHandler.ticksInGame + ClientTickHandler.partialTicks);
GL11.glRotatef((ClientTickHandler.ticksInGame + ClientTickHandler.partialTicks) * 0.25F * rotSpeed * rotSpeedMod, 0F, 1F, 0F);
tessellator1.startDrawingQuads();
tessellator1.getWorldRenderer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
for(int i = 0; i < angles; i++) {
int j = i;
if(i % 2 == 0)
@@ -206,11 +205,11 @@ public class SkyblockSkyRenderer extends IRenderHandler {
float ut = ang * uPer;
if(i % 2 == 0) {
tessellator1.addVertexWithUV(xp, yo + y0 + y, zp, ut, 1F);
tessellator1.addVertexWithUV(xp, yo + y0, zp, ut, 0);
tessellator1.getWorldRenderer().pos(xp, yo + y0 + y, zp).tex(ut, 1F).endVertex();
tessellator1.getWorldRenderer().pos(xp, yo + y0, zp).tex(ut, 0).endVertex();
} else {
tessellator1.addVertexWithUV(xp, yo + y0, zp, ut, 0);
tessellator1.addVertexWithUV(xp, yo + y0 + y, zp, ut, 1F);
tessellator1.getWorldRenderer().pos(xp, yo + y0, zp).tex(ut, 0).endVertex();
tessellator1.getWorldRenderer().pos(xp, yo + y0 + y, zp).tex(ut, 1F).endVertex();
}
}
@@ -252,7 +251,7 @@ public class SkyblockSkyRenderer extends IRenderHandler {
GL11.glRotatef(angle1, 0F, 1F, 0F);
GL11.glRotatef(angle2, 0F, 0F, 1F);
tessellator1.startDrawingQuads();
tessellator1.getWorldRenderer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
for(int i = 0; i < angles; i++) {
int j = i;
if(i % 2 == 0)
@@ -265,11 +264,11 @@ public class SkyblockSkyRenderer extends IRenderHandler {
float ut = ang * uPer;
if(i % 2 == 0) {
tessellator1.addVertexWithUV(xp, yo + y0 + y, zp, ut, 1F);
tessellator1.addVertexWithUV(xp, yo + y0, zp, ut, 0);
tessellator1.getWorldRenderer().pos(xp, yo + y0 + y, zp).tex(ut, 1F).endVertex();
tessellator1.getWorldRenderer().pos(xp, yo + y0, zp).tex(ut, 0).endVertex();
} else {
tessellator1.addVertexWithUV(xp, yo + y0, zp, ut, 0);
tessellator1.addVertexWithUV(xp, yo + y0 + y, zp, ut, 1F);
tessellator1.getWorldRenderer().pos(xp, yo + y0, zp).tex(ut, 0).endVertex();
tessellator1.getWorldRenderer().pos(xp, yo + y0 + y, zp).tex(ut, 1F).endVertex();
}
}
@@ -296,11 +295,11 @@ public class SkyblockSkyRenderer extends IRenderHandler {
float f15 = (float)(i1 + 0) / 2.0F;
float f16 = (float)(l + 1) / 4.0F;
float f17 = (float)(i1 + 1) / 2.0F;
tessellator1.startDrawingQuads();
tessellator1.addVertexWithUV((double)(-f10), -100.0D, (double)f10, (double)f16, (double)f17);
tessellator1.addVertexWithUV((double)f10, -100.0D, (double)f10, (double)f14, (double)f17);
tessellator1.addVertexWithUV((double)f10, -100.0D, (double)(-f10), (double)f14, (double)f15);
tessellator1.addVertexWithUV((double)(-f10), -100.0D, (double)(-f10), (double)f16, (double)f15);
tessellator1.getWorldRenderer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
tessellator1.getWorldRenderer().pos((double)(-f10), -100.0D, (double)f10).tex((double)f16, (double)f17).endVertex();
tessellator1.getWorldRenderer().pos((double)f10, -100.0D, (double)f10).tex((double)f14, (double)f17).endVertex();
tessellator1.getWorldRenderer().pos((double)f10, -100.0D, (double)(-f10)).tex((double)f14, (double)f15).endVertex();
tessellator1.getWorldRenderer().pos((double)(-f10), -100.0D, (double)(-f10)).tex((double)f16, (double)f15).endVertex();
tessellator1.draw();
// === Stars
@@ -357,11 +356,11 @@ public class SkyblockSkyRenderer extends IRenderHandler {
}
private void drawObject(Tessellator tess, float f10) {
tess.startDrawingQuads();
tess.addVertexWithUV((double)(-f10), 100.0D, (double)(-f10), 0.0D, 0.0D);
tess.addVertexWithUV((double)f10, 100.0D, (double)(-f10), 1.0D, 0.0D);
tess.addVertexWithUV((double)f10, 100.0D, (double)f10, 1.0D, 1.0D);
tess.addVertexWithUV((double)(-f10), 100.0D, (double)f10, 0.0D, 1.0D);
tess.getWorldRenderer().begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
tess.getWorldRenderer().pos((double)(-f10), 100.0D, (double)(-f10)).tex(0.0D, 0.0D).endVertex();
tess.getWorldRenderer().pos((double)(f10), 100.0D, (double)(-f10)).tex(1.0D, 0.0D).endVertex();
tess.getWorldRenderer().pos((double)(f10), 100.0D, (double)(f10)).tex(1.0D, 1.0D).endVertex();
tess.getWorldRenderer().pos((double)(-f10), 100.0D, (double)(f10)).tex(0.0D, 1.0D).endVertex();
tess.draw();
}