Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Decompiled with CFR 0_118.
- *
- * Could not load the following classes:
- * DynamicLights
- * RenderInfoLazy
- * com.google.common.collect.Lists
- * com.google.common.collect.Maps
- * com.google.common.collect.Sets
- * javax.vecmath.Matrix4f
- * javax.vecmath.Tuple4f
- * javax.vecmath.Vector3d
- * javax.vecmath.Vector3f
- * javax.vecmath.Vector4f
- * net.minecraft.client.renderer.DestroyBlockProgress
- * net.minecraft.client.renderer.RenderGlobal$SwitchEnumUsage
- * net.minecraft.client.renderer.chunk.VboChunkFactory
- * org.apache.logging.log4j.LogManager
- * org.apache.logging.log4j.Logger
- * org.lwjgl.input.Keyboard
- * org.lwjgl.opengl.GL11
- * org.spongepowered.asm.mixin.injection.callback.CallbackInfo
- * org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable
- * org.spongepowered.asm.mixin.transformer.meta.MixinMerged
- */
- package net.minecraft.client.renderer;
- import com.google.common.collect.Lists;
- import com.google.common.collect.Maps;
- import com.google.common.collect.Sets;
- import com.google.gson.JsonSyntaxException;
- import com.replaymod.compat.shaders.ShaderReflection;
- import com.replaymod.recording.handler.RecordingEventHandler;
- import com.replaymod.render.hooks.ChunkLoadingRenderGlobal;
- import java.io.IOException;
- import java.lang.reflect.Field;
- import java.nio.ByteBuffer;
- import java.util.ArrayDeque;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Collection;
- import java.util.Collections;
- import java.util.Deque;
- import java.util.EnumSet;
- import java.util.HashSet;
- import java.util.Iterator;
- import java.util.LinkedHashSet;
- import java.util.List;
- import java.util.Map;
- import java.util.Random;
- import java.util.Set;
- import java.util.concurrent.BlockingQueue;
- import java.util.concurrent.Callable;
- import javax.vecmath.Matrix4f;
- import javax.vecmath.Tuple4f;
- import javax.vecmath.Vector3d;
- import javax.vecmath.Vector3f;
- import javax.vecmath.Vector4f;
- import net.minecraft.block.Block;
- import net.minecraft.block.BlockChest;
- import net.minecraft.block.BlockEnderChest;
- import net.minecraft.block.BlockLeaves;
- import net.minecraft.block.BlockSign;
- import net.minecraft.block.BlockSkull;
- import net.minecraft.block.material.Material;
- import net.minecraft.block.state.IBlockState;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.audio.ISound;
- import net.minecraft.client.audio.PositionedSoundRecord;
- import net.minecraft.client.audio.SoundHandler;
- import net.minecraft.client.entity.EntityPlayerSP;
- import net.minecraft.client.gui.FontRenderer;
- import net.minecraft.client.gui.GuiIngame;
- import net.minecraft.client.multiplayer.WorldClient;
- import net.minecraft.client.particle.EffectRenderer;
- import net.minecraft.client.particle.EntityFX;
- import net.minecraft.client.renderer.BlockModelRenderer;
- import net.minecraft.client.renderer.BlockRendererDispatcher;
- import net.minecraft.client.renderer.ChunkRenderContainer;
- import net.minecraft.client.renderer.DestroyBlockProgress;
- import net.minecraft.client.renderer.EntityRenderer;
- import net.minecraft.client.renderer.GLAllocation;
- import net.minecraft.client.renderer.GlStateManager;
- import net.minecraft.client.renderer.OpenGlHelper;
- import net.minecraft.client.renderer.RenderGlobal;
- import net.minecraft.client.renderer.RenderHelper;
- import net.minecraft.client.renderer.RenderList;
- import net.minecraft.client.renderer.Tessellator;
- import net.minecraft.client.renderer.VboRenderList;
- import net.minecraft.client.renderer.ViewFrustum;
- import net.minecraft.client.renderer.WorldRenderer;
- import net.minecraft.client.renderer.chunk.ChunkCompileTaskGenerator;
- import net.minecraft.client.renderer.chunk.ChunkRenderDispatcher;
- import net.minecraft.client.renderer.chunk.CompiledChunk;
- import net.minecraft.client.renderer.chunk.IRenderChunkFactory;
- import net.minecraft.client.renderer.chunk.ListChunkFactory;
- import net.minecraft.client.renderer.chunk.RenderChunk;
- import net.minecraft.client.renderer.chunk.VboChunkFactory;
- import net.minecraft.client.renderer.chunk.VisGraph;
- import net.minecraft.client.renderer.culling.ClippingHelper;
- import net.minecraft.client.renderer.culling.ClippingHelperImpl;
- import net.minecraft.client.renderer.culling.Frustum;
- import net.minecraft.client.renderer.culling.ICamera;
- import net.minecraft.client.renderer.entity.RenderManager;
- import net.minecraft.client.renderer.texture.TextureAtlasSprite;
- import net.minecraft.client.renderer.texture.TextureManager;
- import net.minecraft.client.renderer.texture.TextureMap;
- import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
- import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
- import net.minecraft.client.renderer.vertex.VertexBuffer;
- import net.minecraft.client.renderer.vertex.VertexFormat;
- import net.minecraft.client.renderer.vertex.VertexFormatElement;
- import net.minecraft.client.resources.IResourceManager;
- import net.minecraft.client.resources.IResourceManagerReloadListener;
- import net.minecraft.client.settings.GameSettings;
- import net.minecraft.client.settings.KeyBinding;
- import net.minecraft.client.shader.Framebuffer;
- import net.minecraft.client.shader.ShaderGroup;
- import net.minecraft.client.shader.ShaderLinkHelper;
- import net.minecraft.crash.CrashReport;
- import net.minecraft.crash.CrashReportCategory;
- import net.minecraft.entity.Entity;
- import net.minecraft.entity.EntityLivingBase;
- import net.minecraft.entity.item.EntityItemFrame;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.entity.projectile.EntityWitherSkull;
- import net.minecraft.init.Blocks;
- import net.minecraft.init.Items;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemDye;
- import net.minecraft.item.ItemPotion;
- import net.minecraft.item.ItemRecord;
- import net.minecraft.profiler.Profiler;
- import net.minecraft.tileentity.TileEntity;
- import net.minecraft.tileentity.TileEntityChest;
- import net.minecraft.tileentity.TileEntitySign;
- import net.minecraft.util.AxisAlignedBB;
- import net.minecraft.util.BlockPos;
- import net.minecraft.util.BlockPos$MutableBlockPos;
- import net.minecraft.util.ClassInheritanceMultiMap;
- import net.minecraft.util.EnumFacing;
- import net.minecraft.util.EnumParticleTypes;
- import net.minecraft.util.EnumWorldBlockLayer;
- import net.minecraft.util.MathHelper;
- import net.minecraft.util.MovingObjectPosition;
- import net.minecraft.util.ReportedException;
- import net.minecraft.util.ResourceLocation;
- import net.minecraft.util.Vec3;
- import net.minecraft.world.IBlockAccess;
- import net.minecraft.world.IWorldAccess;
- import net.minecraft.world.World;
- import net.minecraft.world.WorldProvider;
- import net.minecraft.world.border.EnumBorderStatus;
- import net.minecraft.world.border.WorldBorder;
- import net.minecraft.world.chunk.Chunk;
- import org.apache.logging.log4j.LogManager;
- import org.apache.logging.log4j.Logger;
- import org.lwjgl.input.Keyboard;
- import org.lwjgl.opengl.GL11;
- import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
- import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
- import org.spongepowered.asm.mixin.transformer.meta.MixinMerged;
- import shadersmod.client.Shaders;
- import shadersmod.client.ShadersRender;
- public class RenderGlobal
- implements IWorldAccess,
- IResourceManagerReloadListener,
- RecordingEventHandler.RecordingEventSender {
- private static final Logger field_147599_m = LogManager.getLogger();
- private static final ResourceLocation field_110927_h = new ResourceLocation("textures/environment/moon_phases.png");
- private static final ResourceLocation field_110928_i = new ResourceLocation("textures/environment/sun.png");
- private static final ResourceLocation field_110925_j = new ResourceLocation("textures/environment/clouds.png");
- private static final ResourceLocation field_110926_k = new ResourceLocation("textures/environment/end_sky.png");
- private static final ResourceLocation field_175006_g = new ResourceLocation("textures/misc/forcefield.png");
- public final Minecraft field_72777_q;
- private final TextureManager field_72770_i;
- private final RenderManager field_175010_j;
- private WorldClient field_72769_h;
- public Set field_175009_l = Sets.newLinkedHashSet();
- public List field_72755_R = Lists.newArrayListWithCapacity((int)69696);
- private ViewFrustum field_175008_n;
- private int field_72772_v = -1;
- private int field_72771_w = -1;
- private int field_72781_x = -1;
- private VertexFormat field_175014_r;
- private VertexBuffer field_175013_s;
- private VertexBuffer field_175012_t;
- private VertexBuffer field_175011_u;
- private int field_72773_u;
- public final Map field_72738_E = Maps.newHashMap();
- private final Map field_147593_P = Maps.newHashMap();
- private final TextureAtlasSprite[] field_94141_F = new TextureAtlasSprite[10];
- private Framebuffer field_175015_z;
- private ShaderGroup field_174991_A;
- private double field_174992_B = Double.MIN_VALUE;
- private double field_174993_C = Double.MIN_VALUE;
- private double field_174987_D = Double.MIN_VALUE;
- private int field_174988_E = Integer.MIN_VALUE;
- private int field_174989_F = Integer.MIN_VALUE;
- private int field_174990_G = Integer.MIN_VALUE;
- private double field_174997_H = Double.MIN_VALUE;
- private double field_174998_I = Double.MIN_VALUE;
- private double field_174999_J = Double.MIN_VALUE;
- private double field_175000_K = Double.MIN_VALUE;
- private double field_174994_L = Double.MIN_VALUE;
- public final ChunkRenderDispatcher field_174995_M = new ChunkRenderDispatcher();
- private ChunkRenderContainer field_174996_N;
- private int field_72739_F = -1;
- public int field_72740_G = 2;
- private int field_72748_H;
- private int field_72749_I;
- private int field_72750_J;
- private boolean field_175002_T = false;
- private ClippingHelper field_175001_U;
- private final Vector4f[] field_175004_V = new Vector4f[8];
- private final Vector3d field_175003_W = new Vector3d();
- private boolean field_175005_X = false;
- IRenderChunkFactory field_175007_a;
- private double field_147596_f;
- private double field_147597_g;
- private double field_147602_h;
- public boolean field_147595_R = true;
- private static final String __OBFID = "CL_00000954";
- private CloudRenderer cloudRenderer;
- public Entity renderedEntity;
- public Set chunksToResortTransparency = new LinkedHashSet();
- public Set chunksToUpdateForced = new LinkedHashSet();
- private Deque visibilityDeque = new ArrayDeque();
- private List renderInfosEntities = new ArrayList(1024);
- private List renderInfosTileEntities = new ArrayList(1024);
- private List renderInfosNormal = new ArrayList(1024);
- private List renderInfosEntitiesNormal = new ArrayList(1024);
- private List renderInfosTileEntitiesNormal = new ArrayList(1024);
- private List renderInfosShadow = new ArrayList(1024);
- private List renderInfosEntitiesShadow = new ArrayList(1024);
- private List renderInfosTileEntitiesShadow = new ArrayList(1024);
- private int renderDistance = 0;
- private int renderDistanceSq = 0;
- private static final Set SET_ALL_FACINGS = Collections.unmodifiableSet(new HashSet<EnumFacing>(Arrays.asList(EnumFacing.field_82609_l)));
- private int countTileEntitiesRendered;
- private RecordingEventHandler recordingEventHandler;
- public ChunkLoadingRenderGlobal replayModRender_hook;
- private boolean replayModRender_passThroughSetupTerrain;
- public RenderGlobal(Minecraft mcIn) {
- this.cloudRenderer = new CloudRenderer(mcIn);
- this.field_72777_q = mcIn;
- this.field_175010_j = mcIn.func_175598_ae();
- this.field_72770_i = mcIn.func_110434_K();
- this.field_72770_i.func_110577_a(field_175006_g);
- GL11.glTexParameteri((int)3553, (int)10242, (int)10497);
- GL11.glTexParameteri((int)3553, (int)10243, (int)10497);
- GlStateManager.func_179144_i(0);
- this.func_174971_n();
- this.field_175005_X = OpenGlHelper.func_176075_f();
- if (this.field_175005_X) {
- this.field_174996_N = new VboRenderList();
- this.field_175007_a = new VboChunkFactory();
- } else {
- this.field_174996_N = new RenderList();
- this.field_175007_a = new ListChunkFactory();
- }
- this.field_175014_r = new VertexFormat();
- this.field_175014_r.func_177349_a(new VertexFormatElement(0, VertexFormatElement.EnumType.FLOAT, VertexFormatElement.EnumUsage.POSITION, 3));
- this.func_174963_q();
- this.func_174980_p();
- this.func_174964_o();
- }
- @Override
- public void func_110549_a(IResourceManager resourceManager) {
- this.func_174971_n();
- }
- private void func_174971_n() {
- TextureMap var1 = this.field_72777_q.func_147117_R();
- for (int var2 = 0; var2 < this.field_94141_F.length; ++var2) {
- this.field_94141_F[var2] = var1.func_110572_b("minecraft:blocks/destroy_stage_" + var2);
- }
- }
- public void func_174966_b() {
- if (OpenGlHelper.field_148824_g) {
- if (ShaderLinkHelper.func_148074_b() == null) {
- ShaderLinkHelper.func_148076_a();
- }
- ResourceLocation var1 = new ResourceLocation("shaders/post/entity_outline.json");
- try {
- this.field_174991_A = new ShaderGroup(this.field_72777_q.func_110434_K(), this.field_72777_q.func_110442_L(), this.field_72777_q.func_147110_a(), var1);
- this.field_174991_A.func_148026_a(this.field_72777_q.field_71443_c, this.field_72777_q.field_71440_d);
- this.field_175015_z = this.field_174991_A.func_177066_a("final");
- }
- catch (IOException var3) {
- field_147599_m.warn("Failed to load shader: " + var1, (Throwable)var3);
- this.field_174991_A = null;
- this.field_175015_z = null;
- }
- catch (JsonSyntaxException var4) {
- field_147599_m.warn("Failed to load shader: " + var1, (Throwable)var4);
- this.field_174991_A = null;
- this.field_175015_z = null;
- }
- } else {
- this.field_174991_A = null;
- this.field_175015_z = null;
- }
- }
- public void func_174975_c() {
- if (this.func_174985_d()) {
- GlStateManager.func_179147_l();
- GlStateManager.func_179120_a(770, 771, 0, 1);
- this.field_175015_z.func_178038_a(this.field_72777_q.field_71443_c, this.field_72777_q.field_71440_d, false);
- GlStateManager.func_179084_k();
- }
- }
- //isRenderEntityOutlines
- protected boolean func_174985_d() {
- if (Config.isFastRender() || Config.isShaders() || Config.isAntialiasing()) {
- return false;
- }
- return this.field_175015_z != null && this.field_174991_A != null && this.field_72777_q.field_71439_g != null && this.field_72777_q.field_71439_g.func_175149_v() && this.field_72777_q.field_71474_y.field_178883_an.func_151470_d();
- }
- private void func_174964_o() {
- Tessellator var1 = Tessellator.func_178181_a();
- WorldRenderer var2 = var1.func_178180_c();
- if (this.field_175011_u != null) {
- this.field_175011_u.func_177362_c();
- }
- if (this.field_72781_x >= 0) {
- GLAllocation.func_74523_b(this.field_72781_x);
- this.field_72781_x = -1;
- }
- if (this.field_175005_X) {
- this.field_175011_u = new VertexBuffer(this.field_175014_r);
- this.func_174968_a(var2, -16.0f, true);
- var2.func_178977_d();
- var2.func_178965_a();
- this.field_175011_u.func_177360_a(var2.func_178966_f(), var2.func_178976_e());
- } else {
- this.field_72781_x = GLAllocation.func_74526_a(1);
- GL11.glNewList((int)this.field_72781_x, (int)4864);
- this.func_174968_a(var2, -16.0f, true);
- var1.func_78381_a();
- GL11.glEndList();
- }
- }
- private void func_174980_p() {
- Tessellator var1 = Tessellator.func_178181_a();
- WorldRenderer var2 = var1.func_178180_c();
- if (this.field_175012_t != null) {
- this.field_175012_t.func_177362_c();
- }
- if (this.field_72771_w >= 0) {
- GLAllocation.func_74523_b(this.field_72771_w);
- this.field_72771_w = -1;
- }
- if (this.field_175005_X) {
- this.field_175012_t = new VertexBuffer(this.field_175014_r);
- this.func_174968_a(var2, 16.0f, false);
- var2.func_178977_d();
- var2.func_178965_a();
- this.field_175012_t.func_177360_a(var2.func_178966_f(), var2.func_178976_e());
- } else {
- this.field_72771_w = GLAllocation.func_74526_a(1);
- GL11.glNewList((int)this.field_72771_w, (int)4864);
- this.func_174968_a(var2, 16.0f, false);
- var1.func_78381_a();
- GL11.glEndList();
- }
- }
- private void func_174968_a(WorldRenderer worldRendererIn, float p_174968_2_, boolean p_174968_3_) {
- boolean var4 = true;
- boolean var5 = true;
- worldRendererIn.func_178970_b();
- for (int var6 = -384; var6 <= 384; var6 += 64) {
- for (int var7 = -384; var7 <= 384; var7 += 64) {
- float var8 = var6;
- float var9 = var6 + 64;
- if (p_174968_3_) {
- var9 = var6;
- var8 = var6 + 64;
- }
- worldRendererIn.func_178984_b(var8, p_174968_2_, var7);
- worldRendererIn.func_178984_b(var9, p_174968_2_, var7);
- worldRendererIn.func_178984_b(var9, p_174968_2_, var7 + 64);
- worldRendererIn.func_178984_b(var8, p_174968_2_, var7 + 64);
- }
- }
- }
- private void func_174963_q() {
- Tessellator var1 = Tessellator.func_178181_a();
- WorldRenderer var2 = var1.func_178180_c();
- if (this.field_175013_s != null) {
- this.field_175013_s.func_177362_c();
- }
- if (this.field_72772_v >= 0) {
- GLAllocation.func_74523_b(this.field_72772_v);
- this.field_72772_v = -1;
- }
- if (this.field_175005_X) {
- this.field_175013_s = new VertexBuffer(this.field_175014_r);
- this.func_180444_a(var2);
- var2.func_178977_d();
- var2.func_178965_a();
- this.field_175013_s.func_177360_a(var2.func_178966_f(), var2.func_178976_e());
- } else {
- this.field_72772_v = GLAllocation.func_74526_a(1);
- GlStateManager.func_179094_E();
- GL11.glNewList((int)this.field_72772_v, (int)4864);
- this.func_180444_a(var2);
- var1.func_78381_a();
- GL11.glEndList();
- GlStateManager.func_179121_F();
- }
- }
- private void func_180444_a(WorldRenderer worldRendererIn) {
- Random var2 = new Random(10842);
- worldRendererIn.func_178970_b();
- for (int var3 = 0; var3 < 1500; ++var3) {
- double var4 = var2.nextFloat() * 2.0f - 1.0f;
- double var6 = var2.nextFloat() * 2.0f - 1.0f;
- double var8 = var2.nextFloat() * 2.0f - 1.0f;
- double var10 = 0.15f + var2.nextFloat() * 0.1f;
- double var12 = var4 * var4 + var6 * var6 + var8 * var8;
- if (var12 >= 1.0 || var12 <= 0.01) continue;
- var12 = 1.0 / Math.sqrt(var12);
- double var14 = (var4 *= var12) * 100.0;
- double var16 = (var6 *= var12) * 100.0;
- double var18 = (var8 *= var12) * 100.0;
- double var20 = Math.atan2(var4, var8);
- double var22 = Math.sin(var20);
- double var24 = Math.cos(var20);
- double var26 = Math.atan2(Math.sqrt(var4 * var4 + var8 * var8), var6);
- double var28 = Math.sin(var26);
- double var30 = Math.cos(var26);
- double var32 = var2.nextDouble() * 3.141592653589793 * 2.0;
- double var34 = Math.sin(var32);
- double var36 = Math.cos(var32);
- for (int var38 = 0; var38 < 4; ++var38) {
- double var39 = 0.0;
- double var41 = (double)((var38 & 2) - 1) * var10;
- double var43 = (double)((var38 + 1 & 2) - 1) * var10;
- double var45 = 0.0;
- double var47 = var41 * var36 - var43 * var34;
- double var49 = var43 * var36 + var41 * var34;
- double var53 = var47 * var28 + 0.0 * var30;
- double var55 = 0.0 * var28 - var47 * var30;
- double var57 = var55 * var22 - var49 * var24;
- double var61 = var49 * var22 + var55 * var24;
- worldRendererIn.func_178984_b(var14 + var57, var16 + var53, var18 + var61);
- }
- }
- }
- public void func_72732_a(WorldClient worldClientIn) {
- if (this.field_72769_h != null) {
- this.field_72769_h.func_72848_b(this);
- }
- this.field_174992_B = Double.MIN_VALUE;
- this.field_174993_C = Double.MIN_VALUE;
- this.field_174987_D = Double.MIN_VALUE;
- this.field_174988_E = Integer.MIN_VALUE;
- this.field_174989_F = Integer.MIN_VALUE;
- this.field_174990_G = Integer.MIN_VALUE;
- this.field_175010_j.func_78717_a(worldClientIn);
- this.field_72769_h = worldClientIn;
- if (Config.isDynamicLights()) {
- DynamicLights.clear();
- }
- if (worldClientIn != null) {
- worldClientIn.func_72954_a(this);
- this.func_72712_a();
- }
- }
- public void func_72712_a() {
- if (this.field_72769_h != null) {
- Entity var2;
- this.field_147595_R = true;
- Blocks.field_150362_t.func_150122_b(Config.isTreesFancy());
- Blocks.field_150361_u.func_150122_b(Config.isTreesFancy());
- BlockModelRenderer.updateAoLightValue();
- if (Config.isDynamicLights()) {
- DynamicLights.clear();
- }
- this.field_72739_F = this.field_72777_q.field_71474_y.field_151451_c;
- this.renderDistance = this.field_72739_F * 16;
- this.renderDistanceSq = this.renderDistance * this.renderDistance;
- boolean var1 = this.field_175005_X;
- this.field_175005_X = OpenGlHelper.func_176075_f();
- if (var1 && !this.field_175005_X) {
- this.field_174996_N = new RenderList();
- this.field_175007_a = new ListChunkFactory();
- } else if (!var1 && this.field_175005_X) {
- this.field_174996_N = new VboRenderList();
- this.field_175007_a = new VboChunkFactory();
- }
- if (var1 != this.field_175005_X) {
- this.func_174963_q();
- this.func_174980_p();
- this.func_174964_o();
- }
- if (this.field_175008_n != null) {
- this.field_175008_n.func_178160_a();
- }
- this.func_174986_e();
- this.field_175008_n = new ViewFrustum(this.field_72769_h, this.field_72777_q.field_71474_y.field_151451_c, this, this.field_175007_a);
- if (this.field_72769_h != null && (var2 = this.field_72777_q.func_175606_aa()) != null) {
- this.field_175008_n.func_178163_a(var2.field_70165_t, var2.field_70161_v);
- }
- this.field_72740_G = 2;
- }
- }
- protected void func_174986_e() {
- this.field_175009_l.clear();
- this.field_174995_M.func_178514_b();
- }
- public void func_72720_a(int p_72720_1_, int p_72720_2_) {
- if (OpenGlHelper.field_148824_g && this.field_174991_A != null) {
- this.field_174991_A.func_148026_a(p_72720_1_, p_72720_2_);
- }
- }
- //renderEntities
- public void func_180446_a(Entity p_180446_1_, ICamera p_180446_2_, float partialTicks) {
- int pass = 0;
- if (Reflector.MinecraftForgeClient_getRenderPass.exists()) {
- pass = Reflector.callInt(Reflector.MinecraftForgeClient_getRenderPass, new Object[0]);
- }
- if (this.field_72740_G > 0) {
- if (pass > 0) {
- return;
- }
- --this.field_72740_G;
- } else {
- int var18;
- Entity var19;
- double var4 = p_180446_1_.field_70169_q + (p_180446_1_.field_70165_t - p_180446_1_.field_70169_q) * (double)partialTicks;
- double var6 = p_180446_1_.field_70167_r + (p_180446_1_.field_70163_u - p_180446_1_.field_70167_r) * (double)partialTicks;
- double var8 = p_180446_1_.field_70166_s + (p_180446_1_.field_70161_v - p_180446_1_.field_70166_s) * (double)partialTicks;
- this.field_72769_h.field_72984_F.func_76320_a("prepare");
- TileEntityRendererDispatcher.field_147556_a.func_178470_a(this.field_72769_h, this.field_72777_q.func_110434_K(), this.field_72777_q.field_71466_p, this.field_72777_q.func_175606_aa(), partialTicks);
- this.field_175010_j.func_180597_a(this.field_72769_h, this.field_72777_q.field_71466_p, this.field_72777_q.func_175606_aa(), this.field_72777_q.field_147125_j, this.field_72777_q.field_71474_y, partialTicks);
- if (pass == 0) {
- this.field_72748_H = 0;
- this.field_72749_I = 0;
- this.field_72750_J = 0;
- this.countTileEntitiesRendered = 0;
- }
- Entity var10 = this.field_72777_q.func_175606_aa();
- double var11 = var10.field_70142_S + (var10.field_70165_t - var10.field_70142_S) * (double)partialTicks;
- double var13 = var10.field_70137_T + (var10.field_70163_u - var10.field_70137_T) * (double)partialTicks;
- double var15 = var10.field_70136_U + (var10.field_70161_v - var10.field_70136_U) * (double)partialTicks;
- TileEntityRendererDispatcher.field_147554_b = var11;
- TileEntityRendererDispatcher.field_147555_c = var13;
- TileEntityRendererDispatcher.field_147552_d = var15;
- this.field_175010_j.func_178628_a(var11, var13, var15);
- this.field_72777_q.field_71460_t.func_180436_i();
- this.field_72769_h.field_72984_F.func_76318_c("global");
- List var17 = this.field_72769_h.func_72910_y();
- if (pass == 0) {
- this.field_72748_H = var17.size();
- }
- if (Config.isFogOff() && this.field_72777_q.field_71460_t.fogStandard) {
- GlStateManager.func_179106_n();
- }
- boolean forgeEntityPass = Reflector.ForgeEntity_shouldRenderInPass.exists();
- boolean forgeTileEntityPass = Reflector.ForgeTileEntity_shouldRenderInPass.exists();
- for (var18 = 0; var18 < this.field_72769_h.field_73007_j.size(); ++var18) {
- var19 = (Entity)this.field_72769_h.field_73007_j.get(var18);
- if (forgeEntityPass && !Reflector.callBoolean(var19, Reflector.ForgeEntity_shouldRenderInPass, pass)) continue;
- ++this.field_72749_I;
- if (!var19.func_145770_h(var4, var6, var8)) continue;
- this.field_175010_j.func_147937_a(var19, partialTicks);
- }
- if (this.func_174985_d()) {
- GlStateManager.func_179143_c(519);
- GlStateManager.func_179106_n();
- this.field_175015_z.func_147614_f();
- this.field_175015_z.func_147610_a(false);
- this.field_72769_h.field_72984_F.func_76318_c("entityOutlines");
- RenderHelper.func_74518_a();
- this.field_175010_j.func_178632_c(true);
- for (var18 = 0; var18 < var17.size(); ++var18) {
- boolean var21;
- var19 = (Entity)var17.get(var18);
- if (forgeEntityPass && !Reflector.callBoolean(var19, Reflector.ForgeEntity_shouldRenderInPass, pass)) continue;
- boolean var20 = this.field_72777_q.func_175606_aa() instanceof EntityLivingBase && ((EntityLivingBase)this.field_72777_q.func_175606_aa()).func_70608_bn();
- boolean bl = var21 = var19.func_145770_h(var4, var6, var8) && (var19.field_70158_ak || p_180446_2_.func_78546_a(var19.func_174813_aQ()) || var19.field_70153_n == this.field_72777_q.field_71439_g) && var19 instanceof EntityPlayer;
- if (var19 == this.field_72777_q.func_175606_aa() && this.field_72777_q.field_71474_y.field_74320_O == 0 && !var20 || !var21) continue;
- this.field_175010_j.func_147937_a(var19, partialTicks);
- }
- this.field_175010_j.func_178632_c(false);
- RenderHelper.func_74519_b();
- GlStateManager.func_179132_a(false);
- this.field_174991_A.func_148018_a(partialTicks);
- GlStateManager.func_179132_a(true);
- this.field_72777_q.func_147110_a().func_147610_a(false);
- GlStateManager.func_179127_m();
- GlStateManager.func_179143_c(515);
- GlStateManager.func_179126_j();
- GlStateManager.func_179141_d();
- }
- this.field_72769_h.field_72984_F.func_76318_c("entities");
- boolean isShaders = Config.isShaders();
- if (isShaders) {
- Shaders.beginEntities();
- }
- Iterator var25 = this.renderInfosEntities.iterator();
- boolean oldFancyGraphics = this.field_72777_q.field_71474_y.field_74347_j;
- this.field_72777_q.field_71474_y.field_74347_j = Config.isDroppedItemsFancy();
- while (var25.hasNext()) {
- ContainerLocalRenderInformation var26 = (ContainerLocalRenderInformation)var25.next();
- Chunk var28 = this.field_72769_h.func_175726_f(var26.field_178036_a.func_178568_j());
- for (Entity var22 : var28.func_177429_s()[var26.field_178036_a.func_178568_j().func_177956_o() / 16]) {
- boolean var23;
- if (forgeEntityPass && !Reflector.callBoolean(var22, Reflector.ForgeEntity_shouldRenderInPass, pass)) continue;
- boolean bl = var23 = this.field_175010_j.func_178635_a(var22, p_180446_2_, var4, var6, var8) || var22.field_70153_n == this.field_72777_q.field_71439_g;
- if (var23) {
- boolean var24;
- boolean bl2 = var24 = this.field_72777_q.func_175606_aa() instanceof EntityLivingBase ? ((EntityLivingBase)this.field_72777_q.func_175606_aa()).func_70608_bn() : false;
- if (var22 == this.field_72777_q.func_175606_aa() && this.field_72777_q.field_71474_y.field_74320_O == 0 && !var24 || var22.field_70163_u >= 0.0 && var22.field_70163_u < 256.0 && !this.field_72769_h.func_175667_e(new BlockPos(var22))) continue;
- ++this.field_72749_I;
- if (var22.getClass() == EntityItemFrame.class) {
- var22.field_70155_l = 0.06;
- }
- this.renderedEntity = var22;
- if (isShaders) {
- Shaders.nextEntity(var22);
- }
- this.field_175010_j.func_147937_a(var22, partialTicks);
- this.renderedEntity = null;
- }
- if (var23 || !(var22 instanceof EntityWitherSkull)) continue;
- if (isShaders) {
- Shaders.nextEntity(var22);
- }
- this.field_72777_q.func_175598_ae().func_178630_b(var22, partialTicks);
- }
- }
- this.field_72777_q.field_71474_y.field_74347_j = oldFancyGraphics;
- FontRenderer fontRenderer = TileEntityRendererDispatcher.field_147556_a.func_147548_a();
- if (isShaders) {
- Shaders.endEntities();
- Shaders.beginBlockEntities();
- }
- this.field_72769_h.field_72984_F.func_76318_c("blockentities");
- RenderHelper.func_74519_b();
- if (Reflector.ForgeTileEntityRendererDispatcher_preDrawBatch.exists()) {
- Reflector.call(TileEntityRendererDispatcher.field_147556_a, Reflector.ForgeTileEntityRendererDispatcher_preDrawBatch, new Object[0]);
- }
- for (ContainerLocalRenderInformation var26 : this.renderInfosTileEntities) {
- for (TileEntity var32 : var26.field_178036_a.func_178571_g().func_178485_b()) {
- AxisAlignedBB aabb;
- if (forgeTileEntityPass && (!Reflector.callBoolean(var32, Reflector.ForgeTileEntity_shouldRenderInPass, pass) || (aabb = (AxisAlignedBB)Reflector.call(var32, Reflector.ForgeTileEntity_getRenderBoundingBox, new Object[0])) != null && !p_180446_2_.func_78546_a(aabb))) continue;
- TileEntity te = var32;
- Class teClass = te.getClass();
- if (teClass == TileEntitySign.class && !Config.zoomMode) {
- EntityPlayerSP pl = this.field_72777_q.field_71439_g;
- double distSq = te.func_145835_a(pl.field_70165_t, pl.field_70163_u, pl.field_70161_v);
- if (distSq > 256.0) {
- fontRenderer.enabled = false;
- }
- }
- if (isShaders) {
- Shaders.nextBlockEntity(var32);
- }
- TileEntityRendererDispatcher.field_147556_a.func_180546_a(var32, partialTicks, -1);
- ++this.countTileEntitiesRendered;
- fontRenderer.enabled = true;
- }
- }
- if (Reflector.ForgeTileEntityRendererDispatcher_drawBatch.exists()) {
- Reflector.call(TileEntityRendererDispatcher.field_147556_a, Reflector.ForgeTileEntityRendererDispatcher_drawBatch, pass);
- }
- this.func_180443_s();
- for (DestroyBlockProgress var27 : this.field_72738_E.values()) {
- TileEntity var32;
- boolean shouldRender;
- BlockPos var30 = var27.func_180246_b();
- var32 = this.field_72769_h.func_175625_s(var30);
- if (var32 instanceof TileEntityChest) {
- TileEntityChest var33 = (TileEntityChest)var32;
- if (var33.field_145991_k != null) {
- var30 = var30.func_177972_a(EnumFacing.WEST);
- var32 = this.field_72769_h.func_175625_s(var30);
- } else if (var33.field_145992_i != null) {
- var30 = var30.func_177972_a(EnumFacing.NORTH);
- var32 = this.field_72769_h.func_175625_s(var30);
- }
- }
- Block var34 = this.field_72769_h.func_180495_p(var30).func_177230_c();
- if (forgeTileEntityPass) {
- AxisAlignedBB aabb;
- TileEntity tileEntity = var32;
- shouldRender = false;
- if (tileEntity != null && Reflector.callBoolean(tileEntity, Reflector.ForgeTileEntity_shouldRenderInPass, pass) && Reflector.callBoolean(tileEntity, Reflector.ForgeTileEntity_canRenderBreaking, new Object[0]) && (aabb = (AxisAlignedBB)Reflector.call(tileEntity, Reflector.ForgeTileEntity_getRenderBoundingBox, new Object[0])) != null) {
- shouldRender = p_180446_2_.func_78546_a(aabb);
- }
- } else {
- boolean bl = shouldRender = var32 != null && (var34 instanceof BlockChest || var34 instanceof BlockEnderChest || var34 instanceof BlockSign || var34 instanceof BlockSkull);
- }
- if (!shouldRender) continue;
- if (isShaders) {
- Shaders.nextBlockEntity(var32);
- }
- TileEntityRendererDispatcher.field_147556_a.func_180546_a(var32, partialTicks, var27.func_73106_e());
- }
- this.func_174969_t();
- this.field_72777_q.field_71460_t.func_175072_h();
- this.field_72777_q.field_71424_I.func_76319_b();
- }
- }
- public String func_72735_c() {
- int var1 = this.field_175008_n.field_178164_f.length;
- int var2 = 0;
- for (ContainerLocalRenderInformation var4 : this.field_72755_R) {
- CompiledChunk var5 = var4.field_178036_a.field_178590_b;
- if (var5 == CompiledChunk.field_178502_a || var5.func_178489_a()) continue;
- ++var2;
- }
- Object[] arrobject = new Object[5];
- arrobject[0] = var2;
- arrobject[1] = var1;
- arrobject[2] = this.field_72777_q.field_175612_E ? "(s) " : "";
- arrobject[3] = this.field_72739_F;
- arrobject[4] = this.field_174995_M.func_178504_a();
- return String.format("C: %d/%d %sD: %d, %s", arrobject);
- }
- public String func_72723_d() {
- return "E: " + this.field_72749_I + "/" + this.field_72748_H + ", B: " + this.field_72750_J + ", I: " + (this.field_72748_H - this.field_72750_J - this.field_72749_I) + ", " + Config.getVersionDebug();
- }
- //setupTerrain
- public void func_174970_a(Entity entity, double d, ICamera iCamera, int n, boolean bl) {
- void partialTicks;
- ContainerLocalRenderInformation var39;
- Frustum camera;
- RenderGlobal renderGlobal;
- void viewEntity;
- CallbackInfo callbackInfo = new CallbackInfo("func_174970_a", true);
- renderGlobal.replayModRender_setupTerrain(entity, d, iCamera, n, bl, callbackInfo);
- if (callbackInfo.isCancelled()) {
- return;
- }
- if (this.field_72777_q.field_71474_y.field_151451_c != this.field_72739_F) {
- this.func_72712_a();
- }
- this.field_72769_h.field_72984_F.func_76320_a("camera");
- double var7 = viewEntity.field_70165_t - this.field_174992_B;
- double var9 = viewEntity.field_70163_u - this.field_174993_C;
- double var11 = viewEntity.field_70161_v - this.field_174987_D;
- if (this.field_174988_E != viewEntity.field_70176_ah || this.field_174989_F != viewEntity.field_70162_ai || this.field_174990_G != viewEntity.field_70164_aj || var7 * var7 + var9 * var9 + var11 * var11 > 16.0) {
- this.field_174992_B = viewEntity.field_70165_t;
- this.field_174993_C = viewEntity.field_70163_u;
- this.field_174987_D = viewEntity.field_70161_v;
- this.field_174988_E = viewEntity.field_70176_ah;
- this.field_174989_F = viewEntity.field_70162_ai;
- this.field_174990_G = viewEntity.field_70164_aj;
- this.field_175008_n.func_178163_a(viewEntity.field_70165_t, viewEntity.field_70161_v);
- }
- if (Config.isDynamicLights()) {
- DynamicLights.update((RenderGlobal)this);
- }
- this.field_72769_h.field_72984_F.func_76318_c("renderlistcamera");
- double var13 = viewEntity.field_70142_S + (viewEntity.field_70165_t - viewEntity.field_70142_S) * partialTicks;
- double var15 = viewEntity.field_70137_T + (viewEntity.field_70163_u - viewEntity.field_70137_T) * partialTicks;
- double var17 = viewEntity.field_70136_U + (viewEntity.field_70161_v - viewEntity.field_70136_U) * partialTicks;
- this.field_174996_N.func_178004_a(var13, var15, var17);
- this.field_72769_h.field_72984_F.func_76318_c("cull");
- if (this.field_175001_U != null) {
- Frustum var19 = new Frustum(this.field_175001_U);
- var19.func_78547_a(this.field_175003_W.x, this.field_175003_W.y, this.field_175003_W.z);
- camera = var19;
- }
- this.field_72777_q.field_71424_I.func_76318_c("culling");
- BlockPos var35 = new BlockPos(var13, var15 + (double)viewEntity.func_70047_e(), var17);
- RenderChunk var20 = this.field_175008_n.func_178161_a(var35);
- BlockPos var21 = new BlockPos(MathHelper.func_76128_c(var13) / 16 * 16, MathHelper.func_76128_c(var15) / 16 * 16, MathHelper.func_76128_c(var17) / 16 * 16);
- this.field_147595_R = this.field_147595_R || !this.field_175009_l.isEmpty() || viewEntity.field_70165_t != this.field_174997_H || viewEntity.field_70163_u != this.field_174998_I || viewEntity.field_70161_v != this.field_174999_J || (double)viewEntity.field_70125_A != this.field_175000_K || (double)viewEntity.field_70177_z != this.field_174994_L;
- this.field_174997_H = viewEntity.field_70165_t;
- this.field_174998_I = viewEntity.field_70163_u;
- this.field_174999_J = viewEntity.field_70161_v;
- this.field_175000_K = viewEntity.field_70125_A;
- this.field_174994_L = viewEntity.field_70177_z;
- boolean var22 = this.field_175001_U != null;
- Lagometer.timerVisibility.start();
- if (Shaders.isShadowPass) {
- this.field_72755_R = this.renderInfosShadow;
- this.renderInfosEntities = this.renderInfosEntitiesShadow;
- this.renderInfosTileEntities = this.renderInfosTileEntitiesShadow;
- if (!var22 && this.field_147595_R) {
- this.field_72755_R.clear();
- this.renderInfosEntities.clear();
- this.renderInfosTileEntities.clear();
- RenderInfoLazy infoLazy = new RenderInfoLazy();
- for (int i = 0; i < this.field_175008_n.field_178164_f.length; ++i) {
- BlockPos pos;
- RenderChunk chunk = this.field_175008_n.field_178164_f[i];
- infoLazy.setRenderChunk(chunk);
- if (!chunk.field_178590_b.func_178489_a() || chunk.func_178569_m()) {
- this.field_72755_R.add(infoLazy.getRenderInfo());
- }
- if (ChunkUtils.hasEntities(this.field_72769_h.func_175726_f(pos = chunk.func_178568_j()))) {
- this.renderInfosEntities.add(infoLazy.getRenderInfo());
- }
- if (chunk.func_178571_g().func_178485_b().size() <= 0) continue;
- this.renderInfosTileEntities.add(infoLazy.getRenderInfo());
- }
- }
- } else {
- this.field_72755_R = this.renderInfosNormal;
- this.renderInfosEntities = this.renderInfosEntitiesNormal;
- this.renderInfosTileEntities = this.renderInfosTileEntitiesNormal;
- }
- if (!var22 && this.field_147595_R && !Shaders.isShadowPass) {
- void frameCount;
- this.field_147595_R = false;
- this.field_72755_R.clear();
- this.renderInfosEntities.clear();
- this.renderInfosTileEntities.clear();
- this.visibilityDeque.clear();
- Deque var23 = this.visibilityDeque;
- boolean var24 = this.field_72777_q.field_175612_E;
- if (var20 == null) {
- int var25 = var35.func_177956_o() > 0 ? 248 : 8;
- for (int var26 = - this.field_72739_F; var26 <= this.field_72739_F; ++var26) {
- for (int var27 = - this.field_72739_F; var27 <= this.field_72739_F; ++var27) {
- RenderChunk var28 = this.field_175008_n.func_178161_a(new BlockPos((var26 << 4) + 8, var25, (var27 << 4) + 8));
- if (var28 == null || !camera.func_78546_a(var28.field_178591_c)) continue;
- var28.func_178577_a((int)frameCount);
- var23.add(new ContainerLocalRenderInformation(var28, null, 0, null));
- }
- }
- } else {
- void playerSpectator;
- boolean var38 = false;
- ContainerLocalRenderInformation var40 = new ContainerLocalRenderInformation(var20, null, 0, null);
- Set var42 = SET_ALL_FACINGS;
- if (!var42.isEmpty() && var42.size() == 1) {
- Vector3f var44 = this.func_174962_a((Entity)viewEntity, (double)partialTicks);
- EnumFacing var29 = EnumFacing.func_176737_a(var44.x, var44.y, var44.z).func_176734_d();
- var42.remove(var29);
- }
- if (var42.isEmpty()) {
- var38 = true;
- }
- if (var38 && playerSpectator == false) {
- this.field_72755_R.add(var40);
- } else {
- if (playerSpectator != false && this.field_72769_h.func_180495_p(var35).func_177230_c().func_149662_c()) {
- var24 = false;
- }
- var20.func_178577_a((int)frameCount);
- var23.add(var40);
- }
- }
- EnumFacing[] var46 = EnumFacing.field_82609_l;
- int var30 = var46.length;
- while (!var23.isEmpty()) {
- var39 = (ContainerLocalRenderInformation)var23.poll();
- RenderChunk var41 = var39.field_178036_a;
- EnumFacing var43 = var39.field_178034_b;
- BlockPos var45 = var41.func_178568_j();
- if (!var41.field_178590_b.func_178489_a() || var41.func_178569_m()) {
- this.field_72755_R.add(var39);
- }
- if (ChunkUtils.hasEntities(this.field_72769_h.func_175726_f(var45))) {
- this.renderInfosEntities.add(var39);
- }
- if (var41.func_178571_g().func_178485_b().size() > 0) {
- this.renderInfosTileEntities.add(var39);
- }
- for (int var31 = 0; var31 < var30; ++var31) {
- RenderChunk var33;
- EnumFacing var32 = var46[var31];
- if (var24 && var39.field_178035_c.contains(var32.func_176734_d()) || var24 && var43 != null && !var41.func_178571_g().func_178495_a(var43.func_176734_d(), var32) || (var33 = this.getRenderChunkOffset(var35, var41, var32)) == null || !var33.func_178577_a((int)frameCount) || !camera.func_78546_a(var33.field_178591_c)) continue;
- ContainerLocalRenderInformation var34 = new ContainerLocalRenderInformation(var33, var32, var39.field_178032_d + 1, null);
- var34.field_178035_c.addAll(var39.field_178035_c);
- var34.field_178035_c.add(var32);
- var23.add(var34);
- }
- }
- }
- if (this.field_175002_T) {
- this.func_174984_a(var13, var15, var17);
- this.field_175002_T = false;
- }
- Lagometer.timerVisibility.end();
- if (Shaders.isShadowPass) {
- Shaders.mcProfilerEndSection();
- return;
- }
- this.field_174995_M.func_178513_e();
- Set var36 = this.field_175009_l;
- this.field_175009_l = Sets.newLinkedHashSet();
- Iterator var37 = this.field_72755_R.iterator();
- Lagometer.timerChunkUpdate.start();
- while (var37.hasNext()) {
- var39 = (ContainerLocalRenderInformation)var37.next();
- RenderChunk var41 = var39.field_178036_a;
- if (!var41.func_178569_m() && !var36.contains(var41)) continue;
- this.field_147595_R = true;
- if (this.func_174983_a(var21, var39.field_178036_a)) {
- if (!var41.isPlayerUpdate()) {
- this.chunksToUpdateForced.add(var41);
- continue;
- }
- this.field_72777_q.field_71424_I.func_76320_a("build near");
- this.field_174995_M.func_178505_b(var41);
- var41.func_178575_a(false);
- this.field_72777_q.field_71424_I.func_76319_b();
- continue;
- }
- this.field_175009_l.add(var41);
- }
- Lagometer.timerChunkUpdate.end();
- this.field_175009_l.addAll(var36);
- this.field_72777_q.field_71424_I.func_76319_b();
- }
- private boolean func_174983_a(BlockPos blockPos, RenderChunk renderChunk) {
- void p_174983_2_;
- void p_174983_1_;
- RenderGlobal renderGlobal;
- CallbackInfoReturnable callbackInfoReturnable = new CallbackInfoReturnable("func_174983_a", true);
- renderGlobal.replayModRender_isPositionInRenderChunk(blockPos, renderChunk, callbackInfoReturnable);
- if (callbackInfoReturnable.isCancelled()) {
- return callbackInfoReturnable.getReturnValueZ();
- }
- BlockPos var3 = p_174983_2_.func_178568_j();
- return MathHelper.func_76130_a(p_174983_1_.func_177958_n() - var3.func_177958_n()) > 16 ? false : (MathHelper.func_76130_a(p_174983_1_.func_177956_o() - var3.func_177956_o()) > 16 ? false : MathHelper.func_76130_a(p_174983_1_.func_177952_p() - var3.func_177952_p()) <= 16);
- }
- private Set func_174978_c(BlockPos p_174978_1_) {
- VisGraph var2 = new VisGraph();
- BlockPos var3 = new BlockPos(p_174978_1_.func_177958_n() >> 4 << 4, p_174978_1_.func_177956_o() >> 4 << 4, p_174978_1_.func_177952_p() >> 4 << 4);
- Chunk var4 = this.field_72769_h.func_175726_f(var3);
- for (BlockPos$MutableBlockPos var6 : BlockPos.func_177975_b(var3, var3.func_177982_a(15, 15, 15))) {
- if (!var4.func_177428_a(var6).func_149662_c()) continue;
- var2.func_178606_a(var6);
- }
- return var2.func_178609_b(p_174978_1_);
- }
- private RenderChunk getRenderChunkOffset(BlockPos p_174973_1_, RenderChunk renderChunk, EnumFacing p_174973_3_) {
- int distSq;
- BlockPos var4 = renderChunk.getPositionOffset16(p_174973_3_);
- if (var4.func_177956_o() < 0 || var4.func_177956_o() >= 256) {
- return null;
- }
- int dx = MathHelper.func_76130_a(p_174973_1_.func_177958_n() - var4.func_177958_n());
- int dz = MathHelper.func_76130_a(p_174973_1_.func_177952_p() - var4.func_177952_p());
- if (Config.isFogOff() ? dx > this.renderDistance || dz > this.renderDistance : (distSq = dx * dx + dz * dz) > this.renderDistanceSq) {
- return null;
- }
- return this.field_175008_n.func_178161_a(var4);
- }
- private void func_174984_a(double p_174984_1_, double p_174984_3_, double p_174984_5_) {
- this.field_175001_U = new ClippingHelperImpl();
- ((ClippingHelperImpl)this.field_175001_U).func_78560_b();
- Matrix4f var7 = new Matrix4f(this.field_175001_U.field_178626_c);
- var7.transpose();
- Matrix4f var8 = new Matrix4f(this.field_175001_U.field_178625_b);
- var8.transpose();
- Matrix4f var9 = new Matrix4f();
- var9.mul(var8, var7);
- var9.invert();
- this.field_175003_W.x = p_174984_1_;
- this.field_175003_W.y = p_174984_3_;
- this.field_175003_W.z = p_174984_5_;
- this.field_175004_V[0] = new Vector4f(-1.0f, -1.0f, -1.0f, 1.0f);
- this.field_175004_V[1] = new Vector4f(1.0f, -1.0f, -1.0f, 1.0f);
- this.field_175004_V[2] = new Vector4f(1.0f, 1.0f, -1.0f, 1.0f);
- this.field_175004_V[3] = new Vector4f(-1.0f, 1.0f, -1.0f, 1.0f);
- this.field_175004_V[4] = new Vector4f(-1.0f, -1.0f, 1.0f, 1.0f);
- this.field_175004_V[5] = new Vector4f(1.0f, -1.0f, 1.0f, 1.0f);
- this.field_175004_V[6] = new Vector4f(1.0f, 1.0f, 1.0f, 1.0f);
- this.field_175004_V[7] = new Vector4f(-1.0f, 1.0f, 1.0f, 1.0f);
- for (int var10 = 0; var10 < 8; ++var10) {
- var9.transform((Tuple4f)this.field_175004_V[var10]);
- this.field_175004_V[var10].x /= this.field_175004_V[var10].w;
- this.field_175004_V[var10].y /= this.field_175004_V[var10].w;
- this.field_175004_V[var10].z /= this.field_175004_V[var10].w;
- this.field_175004_V[var10].w = 1.0f;
- }
- }
- protected Vector3f func_174962_a(Entity entityIn, double partialTicks) {
- float var4 = (float)((double)entityIn.field_70127_C + (double)(entityIn.field_70125_A - entityIn.field_70127_C) * partialTicks);
- float var5 = (float)((double)entityIn.field_70126_B + (double)(entityIn.field_70177_z - entityIn.field_70126_B) * partialTicks);
- if (Minecraft.func_71410_x().field_71474_y.field_74320_O == 2) {
- var4 += 180.0f;
- }
- float var6 = MathHelper.func_76134_b((- var5) * 0.017453292f - 3.1415927f);
- float var7 = MathHelper.func_76126_a((- var5) * 0.017453292f - 3.1415927f);
- float var8 = - MathHelper.func_76134_b((- var4) * 0.017453292f);
- float var9 = MathHelper.func_76126_a((- var4) * 0.017453292f);
- return new Vector3f(var7 * var8, var9, var6 * var8);
- }
- public int func_174977_a(EnumWorldBlockLayer blockLayerIn, double partialTicks, int pass, Entity entityIn) {
- RenderHelper.func_74518_a();
- if (blockLayerIn == EnumWorldBlockLayer.TRANSLUCENT) {
- this.field_72777_q.field_71424_I.func_76320_a("translucent_sort");
- double var6 = entityIn.field_70165_t - this.field_147596_f;
- double var8 = entityIn.field_70163_u - this.field_147597_g;
- double var10 = entityIn.field_70161_v - this.field_147602_h;
- if (var6 * var6 + var8 * var8 + var10 * var10 > 1.0) {
- this.field_147596_f = entityIn.field_70165_t;
- this.field_147597_g = entityIn.field_70163_u;
- this.field_147602_h = entityIn.field_70161_v;
- int var12 = 0;
- Iterator var13 = this.field_72755_R.iterator();
- this.chunksToResortTransparency.clear();
- while (var13.hasNext()) {
- ContainerLocalRenderInformation var14 = (ContainerLocalRenderInformation)var13.next();
- if (!var14.field_178036_a.field_178590_b.func_178492_d(blockLayerIn) || var12++ >= 15) continue;
- this.chunksToResortTransparency.add(var14.field_178036_a);
- }
- }
- this.field_72777_q.field_71424_I.func_76319_b();
- }
- this.field_72777_q.field_71424_I.func_76320_a("filterempty");
- int var15 = 0;
- boolean var7 = blockLayerIn == EnumWorldBlockLayer.TRANSLUCENT;
- int var16 = var7 ? this.field_72755_R.size() - 1 : 0;
- int var9 = var7 ? -1 : this.field_72755_R.size();
- int var17 = var7 ? -1 : 1;
- for (int var11 = var16; var11 != var9; var11 += var17) {
- RenderChunk var18 = ((ContainerLocalRenderInformation)this.field_72755_R.get((int)var11)).field_178036_a;
- if (var18.func_178571_g().func_178491_b(blockLayerIn)) continue;
- ++var15;
- this.field_174996_N.func_178002_a(var18, blockLayerIn);
- }
- if (var15 == 0) {
- this.field_72777_q.field_71424_I.func_76319_b();
- return var15;
- }
- if (Config.isFogOff() && this.field_72777_q.field_71460_t.fogStandard) {
- GlStateManager.func_179106_n();
- }
- this.field_72777_q.field_71424_I.func_76318_c("render_" + (Object)((Object)blockLayerIn));
- this.func_174982_a(blockLayerIn);
- this.field_72777_q.field_71424_I.func_76319_b();
- return var15;
- }
- private void func_174982_a(EnumWorldBlockLayer blockLayerIn) {
- this.field_72777_q.field_71460_t.func_180436_i();
- if (OpenGlHelper.func_176075_f()) {
- GL11.glEnableClientState((int)32884);
- OpenGlHelper.func_77472_b(OpenGlHelper.field_77478_a);
- GL11.glEnableClientState((int)32888);
- OpenGlHelper.func_77472_b(OpenGlHelper.field_77476_b);
- GL11.glEnableClientState((int)32888);
- OpenGlHelper.func_77472_b(OpenGlHelper.field_77478_a);
- GL11.glEnableClientState((int)32886);
- }
- if (Config.isShaders()) {
- ShadersRender.preRenderChunkLayer();
- }
- this.field_174996_N.func_178001_a(blockLayerIn);
- if (Config.isShaders()) {
- ShadersRender.postRenderChunkLayer();
- }
- if (OpenGlHelper.func_176075_f()) {
- List var2 = DefaultVertexFormats.field_176600_a.func_177343_g();
- for (VertexFormatElement var4 : var2) {
- VertexFormatElement.EnumUsage var5 = var4.func_177375_c();
- int var6 = var4.func_177369_e();
- switch (SwitchEnumUsage.field_178037_a[var5.ordinal()]) {
- case 1: {
- GL11.glDisableClientState((int)32884);
- break;
- }
- case 2: {
- OpenGlHelper.func_77472_b(OpenGlHelper.field_77478_a + var6);
- GL11.glDisableClientState((int)32888);
- OpenGlHelper.func_77472_b(OpenGlHelper.field_77478_a);
- break;
- }
- case 3: {
- GL11.glDisableClientState((int)32886);
- GlStateManager.func_179117_G();
- }
- }
- }
- }
- this.field_72777_q.field_71460_t.func_175072_h();
- }
- private void func_174965_a(Iterator p_174965_1_) {
- while (p_174965_1_.hasNext()) {
- DestroyBlockProgress var2 = (DestroyBlockProgress)p_174965_1_.next();
- int var3 = var2.func_82743_f();
- if (this.field_72773_u - var3 <= 400) continue;
- p_174965_1_.remove();
- }
- }
- public void func_72734_e() {
- if (Config.isShaders() && Keyboard.isKeyDown((int)61) && Keyboard.isKeyDown((int)19)) {
- Shaders.uninit();
- }
- ++this.field_72773_u;
- if (this.field_72773_u % 20 == 0) {
- this.func_174965_a(this.field_72738_E.values().iterator());
- }
- }
- private void func_180448_r() {
- if (!Config.isSkyEnabled()) {
- return;
- }
- GlStateManager.func_179106_n();
- GlStateManager.func_179118_c();
- GlStateManager.func_179147_l();
- GlStateManager.func_179120_a(770, 771, 1, 0);
- RenderHelper.func_74518_a();
- GlStateManager.func_179132_a(false);
- this.field_72770_i.func_110577_a(field_110926_k);
- Tessellator var1 = Tessellator.func_178181_a();
- WorldRenderer var2 = var1.func_178180_c();
- for (int var3 = 0; var3 < 6; ++var3) {
- GlStateManager.func_179094_E();
- if (var3 == 1) {
- GlStateManager.func_179114_b(90.0f, 1.0f, 0.0f, 0.0f);
- }
- if (var3 == 2) {
- GlStateManager.func_179114_b(-90.0f, 1.0f, 0.0f, 0.0f);
- }
- if (var3 == 3) {
- GlStateManager.func_179114_b(180.0f, 1.0f, 0.0f, 0.0f);
- }
- if (var3 == 4) {
- GlStateManager.func_179114_b(90.0f, 0.0f, 0.0f, 1.0f);
- }
- if (var3 == 5) {
- GlStateManager.func_179114_b(-90.0f, 0.0f, 0.0f, 1.0f);
- }
- var2.func_178970_b();
- var2.func_178991_c(2631720);
- var2.func_178985_a(-100.0, -100.0, -100.0, 0.0, 0.0);
- var2.func_178985_a(-100.0, -100.0, 100.0, 0.0, 16.0);
- var2.func_178985_a(100.0, -100.0, 100.0, 16.0, 16.0);
- var2.func_178985_a(100.0, -100.0, -100.0, 16.0, 0.0);
- var1.func_78381_a();
- GlStateManager.func_179121_F();
- }
- GlStateManager.func_179132_a(true);
- GlStateManager.func_179098_w();
- GlStateManager.func_179141_d();
- }
- public void func_174976_a(float partialTicks, int pass) {
- WorldProvider wp;
- Object skyRenderer;
- if (Reflector.ForgeWorldProvider_getSkyRenderer.exists() && (skyRenderer = Reflector.call(wp = this.field_72777_q.field_71441_e.field_73011_w, Reflector.ForgeWorldProvider_getSkyRenderer, new Object[0])) != null) {
- Reflector.callVoid(skyRenderer, Reflector.IRenderHandler_render, Float.valueOf(partialTicks), this.field_72769_h, this.field_72777_q);
- return;
- }
- if (this.field_72777_q.field_71441_e.field_73011_w.func_177502_q() == 1) {
- this.func_180448_r();
- } else if (this.field_72777_q.field_71441_e.field_73011_w.func_76569_d()) {
- float var11;
- float var10;
- float var12;
- float var22;
- float var14;
- float var13;
- GlStateManager.func_179090_x();
- boolean isShaders = Config.isShaders();
- if (isShaders) {
- Shaders.disableTexture2D();
- }
- Vec3 var3 = this.field_72769_h.func_72833_a(this.field_72777_q.func_175606_aa(), partialTicks);
- var3 = CustomColors.getSkyColor(var3, this.field_72777_q.field_71441_e, this.field_72777_q.func_175606_aa().field_70165_t, this.field_72777_q.func_175606_aa().field_70163_u + 1.0, this.field_72777_q.func_175606_aa().field_70161_v);
- if (isShaders) {
- Shaders.setSkyColor(var3);
- }
- float var4 = (float)var3.field_72450_a;
- float var5 = (float)var3.field_72448_b;
- float var6 = (float)var3.field_72449_c;
- if (pass != 2) {
- float var7 = (var4 * 30.0f + var5 * 59.0f + var6 * 11.0f) / 100.0f;
- float var8 = (var4 * 30.0f + var5 * 70.0f) / 100.0f;
- float var9 = (var4 * 30.0f + var6 * 70.0f) / 100.0f;
- var4 = var7;
- var5 = var8;
- var6 = var9;
- }
- GlStateManager.func_179124_c(var4, var5, var6);
- Tessellator var23 = Tessellator.func_178181_a();
- WorldRenderer var24 = var23.func_178180_c();
- GlStateManager.func_179132_a(false);
- GlStateManager.func_179127_m();
- if (isShaders) {
- Shaders.enableFog();
- }
- GlStateManager.func_179124_c(var4, var5, var6);
- if (isShaders) {
- Shaders.preSkyList();
- }
- if (Config.isSkyEnabled()) {
- if (this.field_175005_X) {
- this.field_175012_t.func_177359_a();
- GL11.glEnableClientState((int)32884);
- GL11.glVertexPointer((int)3, (int)5126, (int)12, (long)0);
- this.field_175012_t.func_177358_a(7);
- this.field_175012_t.func_177361_b();
- GL11.glDisableClientState((int)32884);
- } else {
- GlStateManager.func_179148_o(this.field_72771_w);
- }
- }
- GlStateManager.func_179106_n();
- if (isShaders) {
- Shaders.disableFog();
- }
- GlStateManager.func_179118_c();
- GlStateManager.func_179147_l();
- GlStateManager.func_179120_a(770, 771, 1, 0);
- RenderHelper.func_74518_a();
- float[] var25 = this.field_72769_h.field_73011_w.func_76560_a(this.field_72769_h.func_72826_c(partialTicks), partialTicks);
- if (var25 != null && Config.isSunMoonEnabled()) {
- float var15;
- GlStateManager.func_179090_x();
- if (isShaders) {
- Shaders.disableTexture2D();
- }
- GlStateManager.func_179103_j(7425);
- GlStateManager.func_179094_E();
- GlStateManager.func_179114_b(90.0f, 1.0f, 0.0f, 0.0f);
- GlStateManager.func_179114_b(MathHelper.func_76126_a(this.field_72769_h.func_72929_e(partialTicks)) < 0.0f ? 180.0f : 0.0f, 0.0f, 0.0f, 1.0f);
- GlStateManager.func_179114_b(90.0f, 0.0f, 0.0f, 1.0f);
- var10 = var25[0];
- var11 = var25[1];
- var12 = var25[2];
- if (pass != 2) {
- var13 = (var10 * 30.0f + var11 * 59.0f + var12 * 11.0f) / 100.0f;
- var14 = (var10 * 30.0f + var11 * 70.0f) / 100.0f;
- var15 = (var10 * 30.0f + var12 * 70.0f) / 100.0f;
- var10 = var13;
- var11 = var14;
- var12 = var15;
- }
- var24.func_178964_a(6);
- var24.func_178960_a(var10, var11, var12, var25[3]);
- var24.func_178984_b(0.0, 100.0, 0.0);
- boolean var27 = true;
- var24.func_178960_a(var25[0], var25[1], var25[2], 0.0f);
- for (int var28 = 0; var28 <= 16; ++var28) {
- var15 = (float)var28 * 3.1415927f * 2.0f / 16.0f;
- float var16 = MathHelper.func_76126_a(var15);
- float var17 = MathHelper.func_76134_b(var15);
- var24.func_178984_b(var16 * 120.0f, var17 * 120.0f, (- var17) * 40.0f * var25[3]);
- }
- var23.func_78381_a();
- GlStateManager.func_179121_F();
- GlStateManager.func_179103_j(7424);
- }
- GlStateManager.func_179098_w();
- if (isShaders) {
- Shaders.enableTexture2D();
- }
- GlStateManager.func_179120_a(770, 1, 1, 0);
- GlStateManager.func_179094_E();
- var10 = 1.0f - this.field_72769_h.func_72867_j(partialTicks);
- var11 = 0.0f;
- var12 = 0.0f;
- var13 = 0.0f;
- GlStateManager.func_179131_c(1.0f, 1.0f, 1.0f, var10);
- GlStateManager.func_179109_b(0.0f, 0.0f, 0.0f);
- GlStateManager.func_179114_b(-90.0f, 0.0f, 1.0f, 0.0f);
- CustomSky.renderSky(this.field_72769_h, this.field_72770_i, this.field_72769_h.func_72826_c(partialTicks), var10);
- if (isShaders) {
- Shaders.preCelestialRotate();
- }
- GlStateManager.func_179114_b(this.field_72769_h.func_72826_c(partialTicks) * 360.0f, 1.0f, 0.0f, 0.0f);
- if (isShaders) {
- Shaders.postCelestialRotate();
- }
- if (Config.isSunMoonEnabled()) {
- var14 = 30.0f;
- this.field_72770_i.func_110577_a(field_110928_i);
- var24.func_178970_b();
- var24.func_178985_a(- var14, 100.0, - var14, 0.0, 0.0);
- var24.func_178985_a(var14, 100.0, - var14, 1.0, 0.0);
- var24.func_178985_a(var14, 100.0, var14, 1.0, 1.0);
- var24.func_178985_a(- var14, 100.0, var14, 0.0, 1.0);
- var23.func_78381_a();
- var14 = 20.0f;
- this.field_72770_i.func_110577_a(field_110927_h);
- int var29 = this.field_72769_h.func_72853_d();
- int var30 = var29 % 4;
- int var31 = var29 / 4 % 2;
- float var18 = (float)(var30 + 0) / 4.0f;
- float var19 = (float)(var31 + 0) / 2.0f;
- float var20 = (float)(var30 + 1) / 4.0f;
- float var21 = (float)(var31 + 1) / 2.0f;
- var24.func_178970_b();
- var24.func_178985_a(- var14, -100.0, var14, var20, var21);
- var24.func_178985_a(var14, -100.0, var14, var18, var21);
- var24.func_178985_a(var14, -100.0, - var14, var18, var19);
- var24.func_178985_a(- var14, -100.0, - var14, var20, var19);
- var23.func_78381_a();
- }
- GlStateManager.func_179090_x();
- if (isShaders) {
- Shaders.disableTexture2D();
- }
- if ((var22 = this.field_72769_h.func_72880_h(partialTicks) * var10) > 0.0f && Config.isStarsEnabled() && !CustomSky.hasSkyLayers(this.field_72769_h)) {
- GlStateManager.func_179131_c(var22, var22, var22, var22);
- if (this.field_175005_X) {
- this.field_175013_s.func_177359_a();
- GL11.glEnableClientState((int)32884);
- GL11.glVertexPointer((int)3, (int)5126, (int)12, (long)0);
- this.field_175013_s.func_177358_a(7);
- this.field_175013_s.func_177361_b();
- GL11.glDisableClientState((int)32884);
- } else {
- GlStateManager.func_179148_o(this.field_72772_v);
- }
- }
- GlStateManager.func_179131_c(1.0f, 1.0f, 1.0f, 1.0f);
- GlStateManager.func_179084_k();
- GlStateManager.func_179141_d();
- GlStateManager.func_179127_m();
- if (isShaders) {
- Shaders.enableFog();
- }
- GlStateManager.func_179121_F();
- GlStateManager.func_179090_x();
- if (isShaders) {
- Shaders.disableTexture2D();
- }
- GlStateManager.func_179124_c(0.0f, 0.0f, 0.0f);
- double var26 = this.field_72777_q.field_71439_g.func_174824_e((float)partialTicks).field_72448_b - this.field_72769_h.func_72919_O();
- if (var26 < 0.0) {
- GlStateManager.func_179094_E();
- GlStateManager.func_179109_b(0.0f, 12.0f, 0.0f);
- if (this.field_175005_X) {
- this.field_175011_u.func_177359_a();
- GL11.glEnableClientState((int)32884);
- GL11.glVertexPointer((int)3, (int)5126, (int)12, (long)0);
- this.field_175011_u.func_177358_a(7);
- this.field_175011_u.func_177361_b();
- GL11.glDisableClientState((int)32884);
- } else {
- GlStateManager.func_179148_o(this.field_72781_x);
- }
- GlStateManager.func_179121_F();
- var12 = 1.0f;
- var13 = - (float)(var26 + 65.0);
- var14 = -1.0f;
- var24.func_178970_b();
- var24.func_178974_a(0, 255);
- var24.func_178984_b(-1.0, var13, 1.0);
- var24.func_178984_b(1.0, var13, 1.0);
- var24.func_178984_b(1.0, -1.0, 1.0);
- var24.func_178984_b(-1.0, -1.0, 1.0);
- var24.func_178984_b(-1.0, -1.0, -1.0);
- var24.func_178984_b(1.0, -1.0, -1.0);
- var24.func_178984_b(1.0, var13, -1.0);
- var24.func_178984_b(-1.0, var13, -1.0);
- var24.func_178984_b(1.0, -1.0, -1.0);
- var24.func_178984_b(1.0, -1.0, 1.0);
- var24.func_178984_b(1.0, var13, 1.0);
- var24.func_178984_b(1.0, var13, -1.0);
- var24.func_178984_b(-1.0, var13, -1.0);
- var24.func_178984_b(-1.0, var13, 1.0);
- var24.func_178984_b(-1.0, -1.0, 1.0);
- var24.func_178984_b(-1.0, -1.0, -1.0);
- var24.func_178984_b(-1.0, -1.0, -1.0);
- var24.func_178984_b(-1.0, -1.0, 1.0);
- var24.func_178984_b(1.0, -1.0, 1.0);
- var24.func_178984_b(1.0, -1.0, -1.0);
- var23.func_78381_a();
- }
- if (this.field_72769_h.field_73011_w.func_76561_g()) {
- GlStateManager.func_179124_c(var4 * 0.2f + 0.04f, var5 * 0.2f + 0.04f, var6 * 0.6f + 0.1f);
- } else {
- GlStateManager.func_179124_c(var4, var5, var6);
- }
- if (this.field_72777_q.field_71474_y.field_151451_c <= 4) {
- GlStateManager.func_179124_c(this.field_72777_q.field_71460_t.field_175080_Q, this.field_72777_q.field_71460_t.field_175082_R, this.field_72777_q.field_71460_t.field_175081_S);
- }
- GlStateManager.func_179094_E();
- GlStateManager.func_179109_b(0.0f, - (float)(var26 - 16.0), 0.0f);
- if (Config.isSkyEnabled()) {
- GlStateManager.func_179148_o(this.field_72781_x);
- }
- GlStateManager.func_179121_F();
- GlStateManager.func_179098_w();
- if (isShaders) {
- Shaders.enableTexture2D();
- }
- GlStateManager.func_179132_a(true);
- }
- }
- public void func_180447_b(float p_180447_1_, int p_180447_2_) {
- WorldProvider wp;
- Object cloudRenderer;
- if (Config.isCloudsOff()) {
- return;
- }
- if (Reflector.ForgeWorldProvider_getCloudRenderer.exists() && (cloudRenderer = Reflector.call(wp = this.field_72777_q.field_71441_e.field_73011_w, Reflector.ForgeWorldProvider_getCloudRenderer, new Object[0])) != null) {
- Reflector.callVoid(cloudRenderer, Reflector.IRenderHandler_render, Float.valueOf(p_180447_1_), this.field_72769_h, this.field_72777_q);
- return;
- }
- if (this.field_72777_q.field_71441_e.field_73011_w.func_76569_d()) {
- if (Config.isShaders()) {
- Shaders.beginClouds();
- }
- if (Config.isCloudsFancy()) {
- this.func_180445_c(p_180447_1_, p_180447_2_);
- } else {
- float partialTicks = p_180447_1_;
- this.cloudRenderer.prepareToRender(false, this.field_72773_u, partialTicks);
- p_180447_1_ = 0.0f;
- GlStateManager.func_179129_p();
- float var3 = (float)(this.field_72777_q.func_175606_aa().field_70137_T + (this.field_72777_q.func_175606_aa().field_70163_u - this.field_72777_q.func_175606_aa().field_70137_T) * (double)p_180447_1_);
- boolean var4 = true;
- boolean var5 = true;
- Tessellator var6 = Tessellator.func_178181_a();
- WorldRenderer var7 = var6.func_178180_c();
- this.field_72770_i.func_110577_a(field_110925_j);
- GlStateManager.func_179147_l();
- GlStateManager.func_179120_a(770, 771, 1, 0);
- if (this.cloudRenderer.shouldUpdateGlList()) {
- float var12;
- this.cloudRenderer.startUpdateGlList();
- Vec3 var8 = this.field_72769_h.func_72824_f(p_180447_1_);
- float var9 = (float)var8.field_72450_a;
- float var10 = (float)var8.field_72448_b;
- float var11 = (float)var8.field_72449_c;
- if (p_180447_2_ != 2) {
- var12 = (var9 * 30.0f + var10 * 59.0f + var11 * 11.0f) / 100.0f;
- float var13 = (var9 * 30.0f + var10 * 70.0f) / 100.0f;
- float var14 = (var9 * 30.0f + var11 * 70.0f) / 100.0f;
- var9 = var12;
- var10 = var13;
- var11 = var14;
- }
- var12 = 4.8828125E-4f;
- double var26 = (float)this.field_72773_u + p_180447_1_;
- double var15 = this.field_72777_q.func_175606_aa().field_70169_q + (this.field_72777_q.func_175606_aa().field_70165_t - this.field_72777_q.func_175606_aa().field_70169_q) * (double)p_180447_1_ + var26 * 0.029999999329447746;
- double var17 = this.field_72777_q.func_175606_aa().field_70166_s + (this.field_72777_q.func_175606_aa().field_70161_v - this.field_72777_q.func_175606_aa().field_70166_s) * (double)p_180447_1_;
- int var19 = MathHelper.func_76128_c(var15 / 2048.0);
- int var20 = MathHelper.func_76128_c(var17 / 2048.0);
- float var21 = this.field_72769_h.field_73011_w.func_76571_f() - var3 + 0.33f;
- var21 += this.field_72777_q.field_71474_y.ofCloudsHeight * 128.0f;
- float var22 = (float)((var15 -= (double)(var19 * 2048)) * 4.8828125E-4);
- float var23 = (float)((var17 -= (double)(var20 * 2048)) * 4.8828125E-4);
- var7.func_178970_b();
- var7.func_178960_a(var9, var10, var11, 0.8f);
- for (int var24 = -256; var24 < 256; var24 += 32) {
- for (int var25 = -256; var25 < 256; var25 += 32) {
- var7.func_178985_a(var24 + 0, var21, var25 + 32, (float)(var24 + 0) * 4.8828125E-4f + var22, (float)(var25 + 32) * 4.8828125E-4f + var23);
- var7.func_178985_a(var24 + 32, var21, var25 + 32, (float)(var24 + 32) * 4.8828125E-4f + var22, (float)(var25 + 32) * 4.8828125E-4f + var23);
- var7.func_178985_a(var24 + 32, var21, var25 + 0, (float)(var24 + 32) * 4.8828125E-4f + var22, (float)(var25 + 0) * 4.8828125E-4f + var23);
- var7.func_178985_a(var24 + 0, var21, var25 + 0, (float)(var24 + 0) * 4.8828125E-4f + var22, (float)(var25 + 0) * 4.8828125E-4f + var23);
- }
- }
- var6.func_78381_a();
- this.cloudRenderer.endUpdateGlList();
- }
- this.cloudRenderer.renderGlList();
- GlStateManager.func_179131_c(1.0f, 1.0f, 1.0f, 1.0f);
- GlStateManager.func_179084_k();
- GlStateManager.func_179089_o();
- }
- if (Config.isShaders()) {
- Shaders.endClouds();
- }
- }
- }
- public boolean func_72721_a(double p_72721_1_, double p_72721_3_, double p_72721_5_, float p_72721_7_) {
- return false;
- }
- private void func_180445_c(float p_180445_1_, int p_180445_2_) {
- float var22;
- float var23;
- float var21;
- float partialTicks = p_180445_1_;
- this.cloudRenderer.prepareToRender(true, this.field_72773_u, partialTicks);
- p_180445_1_ = 0.0f;
- GlStateManager.func_179129_p();
- float var3 = (float)(this.field_72777_q.func_175606_aa().field_70137_T + (this.field_72777_q.func_175606_aa().field_70163_u - this.field_72777_q.func_175606_aa().field_70137_T) * (double)p_180445_1_);
- Tessellator var4 = Tessellator.func_178181_a();
- WorldRenderer var5 = var4.func_178180_c();
- float var6 = 12.0f;
- float var7 = 4.0f;
- double var8 = (float)this.field_72773_u + p_180445_1_;
- double var10 = (this.field_72777_q.func_175606_aa().field_70169_q + (this.field_72777_q.func_175606_aa().field_70165_t - this.field_72777_q.func_175606_aa().field_70169_q) * (double)p_180445_1_ + var8 * 0.029999999329447746) / 12.0;
- double var12 = (this.field_72777_q.func_175606_aa().field_70166_s + (this.field_72777_q.func_175606_aa().field_70161_v - this.field_72777_q.func_175606_aa().field_70166_s) * (double)p_180445_1_) / 12.0 + 0.33000001311302185;
- float var14 = this.field_72769_h.field_73011_w.func_76571_f() - var3 + 0.33f;
- var14 += this.field_72777_q.field_71474_y.ofCloudsHeight * 128.0f;
- int var15 = MathHelper.func_76128_c(var10 / 2048.0);
- int var16 = MathHelper.func_76128_c(var12 / 2048.0);
- var10 -= (double)(var15 * 2048);
- var12 -= (double)(var16 * 2048);
- this.field_72770_i.func_110577_a(field_110925_j);
- GlStateManager.func_179147_l();
- GlStateManager.func_179120_a(770, 771, 1, 0);
- Vec3 var17 = this.field_72769_h.func_72824_f(p_180445_1_);
- float var18 = (float)var17.field_72450_a;
- float var19 = (float)var17.field_72448_b;
- float var20 = (float)var17.field_72449_c;
- if (p_180445_2_ != 2) {
- var21 = (var18 * 30.0f + var19 * 59.0f + var20 * 11.0f) / 100.0f;
- var22 = (var18 * 30.0f + var19 * 70.0f) / 100.0f;
- var23 = (var18 * 30.0f + var20 * 70.0f) / 100.0f;
- var18 = var21;
- var19 = var22;
- var20 = var23;
- }
- var21 = 0.00390625f;
- var22 = (float)MathHelper.func_76128_c(var10) * 0.00390625f;
- var23 = (float)MathHelper.func_76128_c(var12) * 0.00390625f;
- float var24 = (float)(var10 - (double)MathHelper.func_76128_c(var10));
- float var25 = (float)(var12 - (double)MathHelper.func_76128_c(var12));
- boolean var26 = true;
- boolean var27 = true;
- float var28 = 9.765625E-4f;
- GlStateManager.func_179152_a(12.0f, 1.0f, 12.0f);
- for (int var29 = 0; var29 < 2; ++var29) {
- if (var29 == 0) {
- GlStateManager.func_179135_a(false, false, false, false);
- } else {
- switch (p_180445_2_) {
- case 0: {
- GlStateManager.func_179135_a(false, true, true, true);
- break;
- }
- case 1: {
- GlStateManager.func_179135_a(true, false, false, true);
- break;
- }
- case 2: {
- GlStateManager.func_179135_a(true, true, true, true);
- }
- }
- }
- this.cloudRenderer.renderGlList();
- }
- if (this.cloudRenderer.shouldUpdateGlList()) {
- this.cloudRenderer.startUpdateGlList();
- for (int var30 = -3; var30 <= 4; ++var30) {
- for (int var31 = -3; var31 <= 4; ++var31) {
- int var36;
- var5.func_178970_b();
- float var32 = var30 * 8;
- float var33 = var31 * 8;
- float var34 = var32 - var24;
- float var35 = var33 - var25;
- if (var14 > -5.0f) {
- var5.func_178960_a(var18 * 0.7f, var19 * 0.7f, var20 * 0.7f, 0.8f);
- var5.func_178980_d(0.0f, -1.0f, 0.0f);
- var5.func_178985_a(var34 + 0.0f, var14 + 0.0f, var35 + 8.0f, (var32 + 0.0f) * 0.00390625f + var22, (var33 + 8.0f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + 8.0f, var14 + 0.0f, var35 + 8.0f, (var32 + 8.0f) * 0.00390625f + var22, (var33 + 8.0f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + 8.0f, var14 + 0.0f, var35 + 0.0f, (var32 + 8.0f) * 0.00390625f + var22, (var33 + 0.0f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + 0.0f, var14 + 0.0f, var35 + 0.0f, (var32 + 0.0f) * 0.00390625f + var22, (var33 + 0.0f) * 0.00390625f + var23);
- }
- if (var14 <= 5.0f) {
- var5.func_178960_a(var18, var19, var20, 0.8f);
- var5.func_178980_d(0.0f, 1.0f, 0.0f);
- var5.func_178985_a(var34 + 0.0f, var14 + 4.0f - 9.765625E-4f, var35 + 8.0f, (var32 + 0.0f) * 0.00390625f + var22, (var33 + 8.0f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + 8.0f, var14 + 4.0f - 9.765625E-4f, var35 + 8.0f, (var32 + 8.0f) * 0.00390625f + var22, (var33 + 8.0f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + 8.0f, var14 + 4.0f - 9.765625E-4f, var35 + 0.0f, (var32 + 8.0f) * 0.00390625f + var22, (var33 + 0.0f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + 0.0f, var14 + 4.0f - 9.765625E-4f, var35 + 0.0f, (var32 + 0.0f) * 0.00390625f + var22, (var33 + 0.0f) * 0.00390625f + var23);
- }
- var5.func_178960_a(var18 * 0.9f, var19 * 0.9f, var20 * 0.9f, 0.8f);
- if (var30 > -1) {
- var5.func_178980_d(-1.0f, 0.0f, 0.0f);
- for (var36 = 0; var36 < 8; ++var36) {
- var5.func_178985_a(var34 + (float)var36 + 0.0f, var14 + 0.0f, var35 + 8.0f, (var32 + (float)var36 + 0.5f) * 0.00390625f + var22, (var33 + 8.0f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + (float)var36 + 0.0f, var14 + 4.0f, var35 + 8.0f, (var32 + (float)var36 + 0.5f) * 0.00390625f + var22, (var33 + 8.0f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + (float)var36 + 0.0f, var14 + 4.0f, var35 + 0.0f, (var32 + (float)var36 + 0.5f) * 0.00390625f + var22, (var33 + 0.0f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + (float)var36 + 0.0f, var14 + 0.0f, var35 + 0.0f, (var32 + (float)var36 + 0.5f) * 0.00390625f + var22, (var33 + 0.0f) * 0.00390625f + var23);
- }
- }
- if (var30 <= 1) {
- var5.func_178980_d(1.0f, 0.0f, 0.0f);
- for (var36 = 0; var36 < 8; ++var36) {
- var5.func_178985_a(var34 + (float)var36 + 1.0f - 9.765625E-4f, var14 + 0.0f, var35 + 8.0f, (var32 + (float)var36 + 0.5f) * 0.00390625f + var22, (var33 + 8.0f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + (float)var36 + 1.0f - 9.765625E-4f, var14 + 4.0f, var35 + 8.0f, (var32 + (float)var36 + 0.5f) * 0.00390625f + var22, (var33 + 8.0f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + (float)var36 + 1.0f - 9.765625E-4f, var14 + 4.0f, var35 + 0.0f, (var32 + (float)var36 + 0.5f) * 0.00390625f + var22, (var33 + 0.0f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + (float)var36 + 1.0f - 9.765625E-4f, var14 + 0.0f, var35 + 0.0f, (var32 + (float)var36 + 0.5f) * 0.00390625f + var22, (var33 + 0.0f) * 0.00390625f + var23);
- }
- }
- var5.func_178960_a(var18 * 0.8f, var19 * 0.8f, var20 * 0.8f, 0.8f);
- if (var31 > -1) {
- var5.func_178980_d(0.0f, 0.0f, -1.0f);
- for (var36 = 0; var36 < 8; ++var36) {
- var5.func_178985_a(var34 + 0.0f, var14 + 4.0f, var35 + (float)var36 + 0.0f, (var32 + 0.0f) * 0.00390625f + var22, (var33 + (float)var36 + 0.5f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + 8.0f, var14 + 4.0f, var35 + (float)var36 + 0.0f, (var32 + 8.0f) * 0.00390625f + var22, (var33 + (float)var36 + 0.5f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + 8.0f, var14 + 0.0f, var35 + (float)var36 + 0.0f, (var32 + 8.0f) * 0.00390625f + var22, (var33 + (float)var36 + 0.5f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + 0.0f, var14 + 0.0f, var35 + (float)var36 + 0.0f, (var32 + 0.0f) * 0.00390625f + var22, (var33 + (float)var36 + 0.5f) * 0.00390625f + var23);
- }
- }
- if (var31 <= 1) {
- var5.func_178980_d(0.0f, 0.0f, 1.0f);
- for (var36 = 0; var36 < 8; ++var36) {
- var5.func_178985_a(var34 + 0.0f, var14 + 4.0f, var35 + (float)var36 + 1.0f - 9.765625E-4f, (var32 + 0.0f) * 0.00390625f + var22, (var33 + (float)var36 + 0.5f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + 8.0f, var14 + 4.0f, var35 + (float)var36 + 1.0f - 9.765625E-4f, (var32 + 8.0f) * 0.00390625f + var22, (var33 + (float)var36 + 0.5f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + 8.0f, var14 + 0.0f, var35 + (float)var36 + 1.0f - 9.765625E-4f, (var32 + 8.0f) * 0.00390625f + var22, (var33 + (float)var36 + 0.5f) * 0.00390625f + var23);
- var5.func_178985_a(var34 + 0.0f, var14 + 0.0f, var35 + (float)var36 + 1.0f - 9.765625E-4f, (var32 + 0.0f) * 0.00390625f + var22, (var33 + (float)var36 + 0.5f) * 0.00390625f + var23);
- }
- }
- var4.func_78381_a();
- }
- }
- this.cloudRenderer.endUpdateGlList();
- }
- GlStateManager.func_179131_c(1.0f, 1.0f, 1.0f, 1.0f);
- GlStateManager.func_179084_k();
- GlStateManager.func_179089_o();
- }
- //updateChunks
- public void func_174967_a(long l) {
- void p_174967_1_;
- RenderChunk renderChunk;
- Iterator itTransparency;
- RenderChunk var4;
- RenderGlobal renderGlobal;
- CallbackInfo callbackInfo = new CallbackInfo("func_174967_a", true);
- renderGlobal.replayModRender_updateChunks(l, callbackInfo);
- if (callbackInfo.isCancelled()) {
- return;
- }
- this.field_147595_R |= this.field_174995_M.func_178516_a((long)p_174967_1_);
- if (this.chunksToUpdateForced.size() > 0) {
- RenderChunk rc;
- Iterator itForced = this.chunksToUpdateForced.iterator();
- while (itForced.hasNext() && this.field_174995_M.func_178507_a(rc = (RenderChunk)itForced.next())) {
- rc.func_178575_a(false);
- itForced.remove();
- this.field_175009_l.remove(rc);
- this.chunksToResortTransparency.remove(rc);
- }
- }
- if (this.chunksToResortTransparency.size() > 0 && (itTransparency = this.chunksToResortTransparency.iterator()).hasNext() && this.field_174995_M.func_178509_c(renderChunk = (RenderChunk)itTransparency.next())) {
- itTransparency.remove();
- }
- int countUpdated = 0;
- int updatesPerFrame = Config.getUpdatesPerFrame();
- int maxUpdatesPerFrame = updatesPerFrame * 2;
- Iterator var3 = this.field_175009_l.iterator();
- while (var3.hasNext() && this.field_174995_M.func_178507_a(var4 = (RenderChunk)var3.next())) {
- var4.func_178575_a(false);
- var3.remove();
- if (var4.func_178571_g().func_178489_a() && updatesPerFrame < maxUpdatesPerFrame) {
- ++updatesPerFrame;
- }
- if (++countUpdated < updatesPerFrame) continue;
- break;
- }
- }
- public void func_180449_a(Entity p_180449_1_, float p_180449_2_) {
- Tessellator var3 = Tessellator.func_178181_a();
- WorldRenderer var4 = var3.func_178180_c();
- WorldBorder var5 = this.field_72769_h.func_175723_af();
- double var6 = this.field_72777_q.field_71474_y.field_151451_c * 16;
- if (p_180449_1_.field_70165_t >= var5.func_177728_d() - var6 || p_180449_1_.field_70165_t <= var5.func_177726_b() + var6 || p_180449_1_.field_70161_v >= var5.func_177733_e() - var6 || p_180449_1_.field_70161_v <= var5.func_177736_c() + var6) {
- float var28;
- double var29;
- float var33;
- double var31;
- double var8 = 1.0 - var5.func_177745_a(p_180449_1_) / var6;
- var8 = Math.pow(var8, 4.0);
- double var10 = p_180449_1_.field_70142_S + (p_180449_1_.field_70165_t - p_180449_1_.field_70142_S) * (double)p_180449_2_;
- double var12 = p_180449_1_.field_70137_T + (p_180449_1_.field_70163_u - p_180449_1_.field_70137_T) * (double)p_180449_2_;
- double var14 = p_180449_1_.field_70136_U + (p_180449_1_.field_70161_v - p_180449_1_.field_70136_U) * (double)p_180449_2_;
- GlStateManager.func_179147_l();
- GlStateManager.func_179120_a(770, 1, 1, 0);
- this.field_72770_i.func_110577_a(field_175006_g);
- GlStateManager.func_179132_a(false);
- GlStateManager.func_179094_E();
- int var16 = var5.func_177734_a().func_177766_a();
- float var17 = (float)(var16 >> 16 & 255) / 255.0f;
- float var18 = (float)(var16 >> 8 & 255) / 255.0f;
- float var19 = (float)(var16 & 255) / 255.0f;
- GlStateManager.func_179131_c(var17, var18, var19, (float)var8);
- GlStateManager.func_179136_a(-3.0f, -3.0f);
- GlStateManager.func_179088_q();
- GlStateManager.func_179092_a(516, 0.1f);
- GlStateManager.func_179141_d();
- GlStateManager.func_179129_p();
- float var20 = (float)(Minecraft.func_71386_F() % 3000) / 3000.0f;
- float var21 = 0.0f;
- float var22 = 0.0f;
- float var23 = 128.0f;
- var4.func_178970_b();
- var4.func_178969_c(- var10, - var12, - var14);
- var4.func_78914_f();
- double var24 = Math.max((double)MathHelper.func_76128_c(var14 - var6), var5.func_177736_c());
- double var26 = Math.min((double)MathHelper.func_76143_f(var14 + var6), var5.func_177733_e());
- if (var10 > var5.func_177728_d() - var6) {
- var28 = 0.0f;
- var29 = var24;
- while (var29 < var26) {
- var31 = Math.min(1.0, var26 - var29);
- var33 = (float)var31 * 0.5f;
- var4.func_178985_a(var5.func_177728_d(), 256.0, var29, var20 + var28, var20 + 0.0f);
- var4.func_178985_a(var5.func_177728_d(), 256.0, var29 + var31, var20 + var33 + var28, var20 + 0.0f);
- var4.func_178985_a(var5.func_177728_d(), 0.0, var29 + var31, var20 + var33 + var28, var20 + 128.0f);
- var4.func_178985_a(var5.func_177728_d(), 0.0, var29, var20 + var28, var20 + 128.0f);
- var29 += 1.0;
- var28 += 0.5f;
- }
- }
- if (var10 < var5.func_177726_b() + var6) {
- var28 = 0.0f;
- var29 = var24;
- while (var29 < var26) {
- var31 = Math.min(1.0, var26 - var29);
- var33 = (float)var31 * 0.5f;
- var4.func_178985_a(var5.func_177726_b(), 256.0, var29, var20 + var28, var20 + 0.0f);
- var4.func_178985_a(var5.func_177726_b(), 256.0, var29 + var31, var20 + var33 + var28, var20 + 0.0f);
- var4.func_178985_a(var5.func_177726_b(), 0.0, var29 + var31, var20 + var33 + var28, var20 + 128.0f);
- var4.func_178985_a(var5.func_177726_b(), 0.0, var29, var20 + var28, var20 + 128.0f);
- var29 += 1.0;
- var28 += 0.5f;
- }
- }
- var24 = Math.max((double)MathHelper.func_76128_c(var10 - var6), var5.func_177726_b());
- var26 = Math.min((double)MathHelper.func_76143_f(var10 + var6), var5.func_177728_d());
- if (var14 > var5.func_177733_e() - var6) {
- var28 = 0.0f;
- var29 = var24;
- while (var29 < var26) {
- var31 = Math.min(1.0, var26 - var29);
- var33 = (float)var31 * 0.5f;
- var4.func_178985_a(var29, 256.0, var5.func_177733_e(), var20 + var28, var20 + 0.0f);
- var4.func_178985_a(var29 + var31, 256.0, var5.func_177733_e(), var20 + var33 + var28, var20 + 0.0f);
- var4.func_178985_a(var29 + var31, 0.0, var5.func_177733_e(), var20 + var33 + var28, var20 + 128.0f);
- var4.func_178985_a(var29, 0.0, var5.func_177733_e(), var20 + var28, var20 + 128.0f);
- var29 += 1.0;
- var28 += 0.5f;
- }
- }
- if (var14 < var5.func_177736_c() + var6) {
- var28 = 0.0f;
- var29 = var24;
- while (var29 < var26) {
- var31 = Math.min(1.0, var26 - var29);
- var33 = (float)var31 * 0.5f;
- var4.func_178985_a(var29, 256.0, var5.func_177736_c(), var20 + var28, var20 + 0.0f);
- var4.func_178985_a(var29 + var31, 256.0, var5.func_177736_c(), var20 + var33 + var28, var20 + 0.0f);
- var4.func_178985_a(var29 + var31, 0.0, var5.func_177736_c(), var20 + var33 + var28, var20 + 128.0f);
- var4.func_178985_a(var29, 0.0, var5.func_177736_c(), var20 + var28, var20 + 128.0f);
- var29 += 1.0;
- var28 += 0.5f;
- }
- }
- var3.func_78381_a();
- var4.func_178969_c(0.0, 0.0, 0.0);
- GlStateManager.func_179089_o();
- GlStateManager.func_179118_c();
- GlStateManager.func_179136_a(0.0f, 0.0f);
- GlStateManager.func_179113_r();
- GlStateManager.func_179141_d();
- GlStateManager.func_179084_k();
- GlStateManager.func_179121_F();
- GlStateManager.func_179132_a(true);
- }
- }
- private void func_180443_s() {
- GlStateManager.func_179120_a(774, 768, 1, 0);
- GlStateManager.func_179147_l();
- GlStateManager.func_179131_c(1.0f, 1.0f, 1.0f, 0.5f);
- GlStateManager.func_179136_a(-3.0f, -3.0f);
- GlStateManager.func_179088_q();
- GlStateManager.func_179092_a(516, 0.1f);
- GlStateManager.func_179141_d();
- GlStateManager.func_179094_E();
- if (Config.isShaders()) {
- ShadersRender.beginBlockDamage();
- }
- }
- private void func_174969_t() {
- GlStateManager.func_179118_c();
- GlStateManager.func_179136_a(0.0f, 0.0f);
- GlStateManager.func_179113_r();
- GlStateManager.func_179141_d();
- GlStateManager.func_179132_a(true);
- GlStateManager.func_179121_F();
- if (Config.isShaders()) {
- ShadersRender.endBlockDamage();
- }
- }
- public void func_174981_a(Tessellator p_174981_1_, WorldRenderer p_174981_2_, Entity p_174981_3_, float p_174981_4_) {
- double var5 = p_174981_3_.field_70142_S + (p_174981_3_.field_70165_t - p_174981_3_.field_70142_S) * (double)p_174981_4_;
- double var7 = p_174981_3_.field_70137_T + (p_174981_3_.field_70163_u - p_174981_3_.field_70137_T) * (double)p_174981_4_;
- double var9 = p_174981_3_.field_70136_U + (p_174981_3_.field_70161_v - p_174981_3_.field_70136_U) * (double)p_174981_4_;
- if (!this.field_72738_E.isEmpty()) {
- this.field_72770_i.func_110577_a(TextureMap.field_110575_b);
- this.func_180443_s();
- p_174981_2_.func_178970_b();
- p_174981_2_.func_178967_a(DefaultVertexFormats.field_176600_a);
- p_174981_2_.func_178969_c(- var5, - var7, - var9);
- p_174981_2_.func_78914_f();
- Iterator var11 = this.field_72738_E.values().iterator();
- while (var11.hasNext()) {
- boolean renderBreaking;
- DestroyBlockProgress var12 = (DestroyBlockProgress)var11.next();
- BlockPos var13 = var12.func_180246_b();
- double var14 = (double)var13.func_177958_n() - var5;
- double var16 = (double)var13.func_177956_o() - var7;
- double var18 = (double)var13.func_177952_p() - var9;
- Block var20 = this.field_72769_h.func_180495_p(var13).func_177230_c();
- if (Reflector.ForgeTileEntity_canRenderBreaking.exists()) {
- boolean tileEntityRenderBreaking;
- TileEntity te;
- Block block = var20;
- boolean bl = tileEntityRenderBreaking = block instanceof BlockChest || block instanceof BlockEnderChest || block instanceof BlockSign || block instanceof BlockSkull;
- if (!tileEntityRenderBreaking && (te = this.field_72769_h.func_175625_s(var13)) != null) {
- tileEntityRenderBreaking = Reflector.callBoolean(te, Reflector.ForgeTileEntity_canRenderBreaking, new Object[0]);
- }
- renderBreaking = !tileEntityRenderBreaking;
- } else {
- boolean bl = renderBreaking = !(var20 instanceof BlockChest) && !(var20 instanceof BlockEnderChest) && !(var20 instanceof BlockSign) && !(var20 instanceof BlockSkull);
- }
- if (!renderBreaking) continue;
- if (var14 * var14 + var16 * var16 + var18 * var18 > 1024.0) {
- var11.remove();
- continue;
- }
- IBlockState var21 = this.field_72769_h.func_180495_p(var13);
- if (var21.func_177230_c().func_149688_o() == Material.field_151579_a) continue;
- int var22 = var12.func_73106_e();
- TextureAtlasSprite var23 = this.field_94141_F[var22];
- BlockRendererDispatcher var24 = this.field_72777_q.func_175602_ab();
- var24.func_175020_a(var21, var13, var23, this.field_72769_h);
- }
- p_174981_1_.func_78381_a();
- p_174981_2_.func_178969_c(0.0, 0.0, 0.0);
- this.func_174969_t();
- }
- }
- public void func_72731_b(EntityPlayer p_72731_1_, MovingObjectPosition p_72731_2_, int p_72731_3_, float p_72731_4_) {
- if (p_72731_3_ == 0 && p_72731_2_.field_72313_a == MovingObjectPosition.MovingObjectType.BLOCK) {
- GlStateManager.func_179147_l();
- GlStateManager.func_179120_a(770, 771, 1, 0);
- GlStateManager.func_179131_c(0.0f, 0.0f, 0.0f, 0.4f);
- GL11.glLineWidth((float)2.0f);
- GlStateManager.func_179090_x();
- if (Config.isShaders()) {
- Shaders.disableTexture2D();
- }
- GlStateManager.func_179132_a(false);
- float var5 = 0.002f;
- BlockPos var6 = p_72731_2_.func_178782_a();
- Block var7 = this.field_72769_h.func_180495_p(var6).func_177230_c();
- if (var7.func_149688_o() != Material.field_151579_a && this.field_72769_h.func_175723_af().func_177746_a(var6)) {
- var7.func_180654_a(this.field_72769_h, var6);
- double var8 = p_72731_1_.field_70142_S + (p_72731_1_.field_70165_t - p_72731_1_.field_70142_S) * (double)p_72731_4_;
- double var10 = p_72731_1_.field_70137_T + (p_72731_1_.field_70163_u - p_72731_1_.field_70137_T) * (double)p_72731_4_;
- double var12 = p_72731_1_.field_70136_U + (p_72731_1_.field_70161_v - p_72731_1_.field_70136_U) * (double)p_72731_4_;
- RenderGlobal.func_147590_a(var7.func_180646_a(this.field_72769_h, var6).func_72314_b(0.0020000000949949026, 0.0020000000949949026, 0.0020000000949949026).func_72317_d(- var8, - var10, - var12), -1);
- }
- GlStateManager.func_179132_a(true);
- GlStateManager.func_179098_w();
- if (Config.isShaders()) {
- Shaders.enableTexture2D();
- }
- GlStateManager.func_179084_k();
- }
- }
- public static void func_147590_a(AxisAlignedBB p_147590_0_, int p_147590_1_) {
- Tessellator var2 = Tessellator.func_178181_a();
- WorldRenderer var3 = var2.func_178180_c();
- var3.func_178964_a(3);
- if (p_147590_1_ != -1) {
- var3.func_178991_c(p_147590_1_);
- }
- var3.func_178984_b(p_147590_0_.field_72340_a, p_147590_0_.field_72338_b, p_147590_0_.field_72339_c);
- var3.func_178984_b(p_147590_0_.field_72336_d, p_147590_0_.field_72338_b, p_147590_0_.field_72339_c);
- var3.func_178984_b(p_147590_0_.field_72336_d, p_147590_0_.field_72338_b, p_147590_0_.field_72334_f);
- var3.func_178984_b(p_147590_0_.field_72340_a, p_147590_0_.field_72338_b, p_147590_0_.field_72334_f);
- var3.func_178984_b(p_147590_0_.field_72340_a, p_147590_0_.field_72338_b, p_147590_0_.field_72339_c);
- var2.func_78381_a();
- var3.func_178964_a(3);
- if (p_147590_1_ != -1) {
- var3.func_178991_c(p_147590_1_);
- }
- var3.func_178984_b(p_147590_0_.field_72340_a, p_147590_0_.field_72337_e, p_147590_0_.field_72339_c);
- var3.func_178984_b(p_147590_0_.field_72336_d, p_147590_0_.field_72337_e, p_147590_0_.field_72339_c);
- var3.func_178984_b(p_147590_0_.field_72336_d, p_147590_0_.field_72337_e, p_147590_0_.field_72334_f);
- var3.func_178984_b(p_147590_0_.field_72340_a, p_147590_0_.field_72337_e, p_147590_0_.field_72334_f);
- var3.func_178984_b(p_147590_0_.field_72340_a, p_147590_0_.field_72337_e, p_147590_0_.field_72339_c);
- var2.func_78381_a();
- var3.func_178964_a(1);
- if (p_147590_1_ != -1) {
- var3.func_178991_c(p_147590_1_);
- }
- var3.func_178984_b(p_147590_0_.field_72340_a, p_147590_0_.field_72338_b, p_147590_0_.field_72339_c);
- var3.func_178984_b(p_147590_0_.field_72340_a, p_147590_0_.field_72337_e, p_147590_0_.field_72339_c);
- var3.func_178984_b(p_147590_0_.field_72336_d, p_147590_0_.field_72338_b, p_147590_0_.field_72339_c);
- var3.func_178984_b(p_147590_0_.field_72336_d, p_147590_0_.field_72337_e, p_147590_0_.field_72339_c);
- var3.func_178984_b(p_147590_0_.field_72336_d, p_147590_0_.field_72338_b, p_147590_0_.field_72334_f);
- var3.func_178984_b(p_147590_0_.field_72336_d, p_147590_0_.field_72337_e, p_147590_0_.field_72334_f);
- var3.func_178984_b(p_147590_0_.field_72340_a, p_147590_0_.field_72338_b, p_147590_0_.field_72334_f);
- var3.func_178984_b(p_147590_0_.field_72340_a, p_147590_0_.field_72337_e, p_147590_0_.field_72334_f);
- var2.func_78381_a();
- }
- private void func_72725_b(int p_72725_1_, int p_72725_2_, int p_72725_3_, int p_72725_4_, int p_72725_5_, int p_72725_6_) {
- this.field_175008_n.func_178162_a(p_72725_1_, p_72725_2_, p_72725_3_, p_72725_4_, p_72725_5_, p_72725_6_);
- }
- @Override
- public void func_174960_a(BlockPos pos) {
- int var2 = pos.func_177958_n();
- int var3 = pos.func_177956_o();
- int var4 = pos.func_177952_p();
- this.func_72725_b(var2 - 1, var3 - 1, var4 - 1, var2 + 1, var3 + 1, var4 + 1);
- }
- @Override
- public void func_174959_b(BlockPos pos) {
- int var2 = pos.func_177958_n();
- int var3 = pos.func_177956_o();
- int var4 = pos.func_177952_p();
- this.func_72725_b(var2 - 1, var3 - 1, var4 - 1, var2 + 1, var3 + 1, var4 + 1);
- }
- @Override
- public void func_147585_a(int x1, int y1, int z1, int x2, int y2, int z2) {
- this.func_72725_b(x1 - 1, y1 - 1, z1 - 1, x2 + 1, y2 + 1, z2 + 1);
- }
- @Override
- public void func_174961_a(String p_174961_1_, BlockPos p_174961_2_) {
- ISound var3 = (ISound)this.field_147593_P.get(p_174961_2_);
- if (var3 != null) {
- this.field_72777_q.func_147118_V().func_147683_b(var3);
- this.field_147593_P.remove(p_174961_2_);
- }
- if (p_174961_1_ != null) {
- ItemRecord var4 = ItemRecord.func_150926_b(p_174961_1_);
- if (var4 != null) {
- this.field_72777_q.field_71456_v.func_73833_a(var4.func_150927_i());
- }
- ResourceLocation resource = null;
- if (Reflector.ForgeItemRecord_getRecordResource.exists() && var4 != null) {
- resource = (ResourceLocation)Reflector.call(var4, Reflector.ForgeItemRecord_getRecordResource, p_174961_1_);
- }
- if (resource == null) {
- resource = new ResourceLocation(p_174961_1_);
- }
- PositionedSoundRecord var5 = PositionedSoundRecord.func_147675_a(resource, p_174961_2_.func_177958_n(), p_174961_2_.func_177956_o(), p_174961_2_.func_177952_p());
- this.field_147593_P.put(p_174961_2_, var5);
- this.field_72777_q.func_147118_V().func_147682_a(var5);
- }
- }
- @Override
- public void func_72704_a(String soundName, double x, double y, double z, float volume, float pitch) {
- }
- @Override
- public void func_85102_a(EntityPlayer except, String soundName, double x, double y, double z, float volume, float pitch) {
- }
- @Override
- public /* varargs */ void func_180442_a(int p_180442_1_, boolean p_180442_2_, final double p_180442_3_, final double p_180442_5_, final double p_180442_7_, double p_180442_9_, double p_180442_11_, double p_180442_13_, int ... p_180442_15_) {
- try {
- this.func_174974_b(p_180442_1_, p_180442_2_, p_180442_3_, p_180442_5_, p_180442_7_, p_180442_9_, p_180442_11_, p_180442_13_, p_180442_15_);
- }
- catch (Throwable var19) {
- CrashReport var17 = CrashReport.func_85055_a(var19, "Exception while adding particle");
- CrashReportCategory var18 = var17.func_85058_a("Particle being added");
- var18.func_71507_a("ID", p_180442_1_);
- if (p_180442_15_ != null) {
- var18.func_71507_a("Parameters", p_180442_15_);
- }
- var18.func_71500_a("Position", new Callable(){
- private static final String __OBFID = "CL_00000955";
- public String call() {
- return CrashReportCategory.func_85074_a(p_180442_3_, p_180442_5_, p_180442_7_);
- }
- });
- throw new ReportedException(var17);
- }
- }
- private /* varargs */ void func_174972_a(EnumParticleTypes p_174972_1_, double p_174972_2_, double p_174972_4_, double p_174972_6_, double p_174972_8_, double p_174972_10_, double p_174972_12_, int ... p_174972_14_) {
- this.func_180442_a(p_174972_1_.func_179348_c(), p_174972_1_.func_179344_e(), p_174972_2_, p_174972_4_, p_174972_6_, p_174972_8_, p_174972_10_, p_174972_12_, p_174972_14_);
- }
- private /* varargs */ EntityFX func_174974_b(int p_174974_1_, boolean p_174974_2_, double p_174974_3_, double p_174974_5_, double p_174974_7_, double p_174974_9_, double p_174974_11_, double p_174974_13_, int ... p_174974_15_) {
- if (this.field_72777_q != null && this.field_72777_q.func_175606_aa() != null && this.field_72777_q.field_71452_i != null) {
- int var16 = this.field_72777_q.field_71474_y.field_74362_aa;
- if (var16 == 1 && this.field_72769_h.field_73012_v.nextInt(3) == 0) {
- var16 = 2;
- }
- double var17 = this.field_72777_q.func_175606_aa().field_70165_t - p_174974_3_;
- double var19 = this.field_72777_q.func_175606_aa().field_70163_u - p_174974_5_;
- double var21 = this.field_72777_q.func_175606_aa().field_70161_v - p_174974_7_;
- int id = p_174974_1_;
- if (id == EnumParticleTypes.EXPLOSION_HUGE.func_179348_c() && !Config.isAnimatedExplosion()) {
- return null;
- }
- if (id == EnumParticleTypes.EXPLOSION_LARGE.func_179348_c() && !Config.isAnimatedExplosion()) {
- return null;
- }
- if (id == EnumParticleTypes.EXPLOSION_NORMAL.func_179348_c() && !Config.isAnimatedExplosion()) {
- return null;
- }
- if (id == EnumParticleTypes.SUSPENDED.func_179348_c() && !Config.isWaterParticles()) {
- return null;
- }
- if (id == EnumParticleTypes.SUSPENDED_DEPTH.func_179348_c() && !Config.isVoidParticles()) {
- return null;
- }
- if (id == EnumParticleTypes.SMOKE_NORMAL.func_179348_c() && !Config.isAnimatedSmoke()) {
- return null;
- }
- if (id == EnumParticleTypes.SMOKE_LARGE.func_179348_c() && !Config.isAnimatedSmoke()) {
- return null;
- }
- if (id == EnumParticleTypes.SPELL_MOB.func_179348_c() && !Config.isPotionParticles()) {
- return null;
- }
- if (id == EnumParticleTypes.SPELL_MOB_AMBIENT.func_179348_c() && !Config.isPotionParticles()) {
- return null;
- }
- if (id == EnumParticleTypes.SPELL.func_179348_c() && !Config.isPotionParticles()) {
- return null;
- }
- if (id == EnumParticleTypes.SPELL_INSTANT.func_179348_c() && !Config.isPotionParticles()) {
- return null;
- }
- if (id == EnumParticleTypes.SPELL_WITCH.func_179348_c() && !Config.isPotionParticles()) {
- return null;
- }
- if (id == EnumParticleTypes.PORTAL.func_179348_c() && !Config.isAnimatedPortal()) {
- return null;
- }
- if (id == EnumParticleTypes.FLAME.func_179348_c() && !Config.isAnimatedFlame()) {
- return null;
- }
- if (id == EnumParticleTypes.REDSTONE.func_179348_c() && !Config.isAnimatedRedstone()) {
- return null;
- }
- if (id == EnumParticleTypes.DRIP_WATER.func_179348_c() && !Config.isDrippingWaterLava()) {
- return null;
- }
- if (id == EnumParticleTypes.DRIP_LAVA.func_179348_c() && !Config.isDrippingWaterLava()) {
- return null;
- }
- if (id == EnumParticleTypes.FIREWORKS_SPARK.func_179348_c() && !Config.isFireworkParticles()) {
- return null;
- }
- if (p_174974_2_) {
- return this.field_72777_q.field_71452_i.func_178927_a(p_174974_1_, p_174974_3_, p_174974_5_, p_174974_7_, p_174974_9_, p_174974_11_, p_174974_13_, p_174974_15_);
- }
- double var23 = 16.0;
- double maxDistSq = 256.0;
- if (id == EnumParticleTypes.CRIT.func_179348_c()) {
- maxDistSq = 38416.0;
- }
- if (var17 * var17 + var19 * var19 + var21 * var21 > maxDistSq) {
- return null;
- }
- if (var16 > 1) {
- return null;
- }
- EntityFX entityFx = this.field_72777_q.field_71452_i.func_178927_a(p_174974_1_, p_174974_3_, p_174974_5_, p_174974_7_, p_174974_9_, p_174974_11_, p_174974_13_, p_174974_15_);
- if (id == EnumParticleTypes.WATER_BUBBLE.func_179348_c()) {
- CustomColors.updateWaterFX(entityFx, this.field_72769_h, p_174974_3_, p_174974_5_, p_174974_7_);
- }
- if (id == EnumParticleTypes.WATER_SPLASH.func_179348_c()) {
- CustomColors.updateWaterFX(entityFx, this.field_72769_h, p_174974_3_, p_174974_5_, p_174974_7_);
- }
- if (id == EnumParticleTypes.WATER_DROP.func_179348_c()) {
- CustomColors.updateWaterFX(entityFx, this.field_72769_h, p_174974_3_, p_174974_5_, p_174974_7_);
- }
- if (id == EnumParticleTypes.TOWN_AURA.func_179348_c()) {
- CustomColors.updateMyceliumFX(entityFx);
- }
- if (id == EnumParticleTypes.PORTAL.func_179348_c()) {
- CustomColors.updatePortalFX(entityFx);
- }
- if (id == EnumParticleTypes.REDSTONE.func_179348_c()) {
- CustomColors.updateReddustFX(entityFx, this.field_72769_h, p_174974_3_, p_174974_5_, p_174974_7_);
- }
- return entityFx;
- }
- return null;
- }
- @Override
- public void func_72703_a(Entity entityIn) {
- RandomMobs.entityLoaded(entityIn, this.field_72769_h);
- if (Config.isDynamicLights()) {
- DynamicLights.entityAdded((Entity)entityIn, (RenderGlobal)this);
- }
- }
- @Override
- public void func_72709_b(Entity entityIn) {
- if (Config.isDynamicLights()) {
- DynamicLights.entityRemoved((Entity)entityIn, (RenderGlobal)this);
- }
- }
- public void func_72728_f() {
- }
- @Override
- public void func_180440_a(int p_180440_1_, BlockPos p_180440_2_, int p_180440_3_) {
- switch (p_180440_1_) {
- case 1013:
- case 1018: {
- if (this.field_72777_q.func_175606_aa() == null) break;
- double var4 = (double)p_180440_2_.func_177958_n() - this.field_72777_q.func_175606_aa().field_70165_t;
- double var6 = (double)p_180440_2_.func_177956_o() - this.field_72777_q.func_175606_aa().field_70163_u;
- double var8 = (double)p_180440_2_.func_177952_p() - this.field_72777_q.func_175606_aa().field_70161_v;
- double var10 = Math.sqrt(var4 * var4 + var6 * var6 + var8 * var8);
- double var12 = this.field_72777_q.func_175606_aa().field_70165_t;
- double var14 = this.field_72777_q.func_175606_aa().field_70163_u;
- double var16 = this.field_72777_q.func_175606_aa().field_70161_v;
- if (var10 > 0.0) {
- var12 += var4 / var10 * 2.0;
- var14 += var6 / var10 * 2.0;
- var16 += var8 / var10 * 2.0;
- }
- if (p_180440_1_ == 1013) {
- this.field_72769_h.func_72980_b(var12, var14, var16, "mob.wither.spawn", 1.0f, 1.0f, false);
- break;
- }
- this.field_72769_h.func_72980_b(var12, var14, var16, "mob.enderdragon.end", 5.0f, 1.0f, false);
- }
- }
- }
- @Override
- public void func_180439_a(EntityPlayer p_180439_1_, int p_180439_2_, BlockPos p_180439_3_, int p_180439_4_) {
- Random var5 = this.field_72769_h.field_73012_v;
- switch (p_180439_2_) {
- case 1000: {
- this.field_72769_h.func_175731_a(p_180439_3_, "random.click", 1.0f, 1.0f, false);
- break;
- }
- case 1001: {
- this.field_72769_h.func_175731_a(p_180439_3_, "random.click", 1.0f, 1.2f, false);
- break;
- }
- case 1002: {
- this.field_72769_h.func_175731_a(p_180439_3_, "random.bow", 1.0f, 1.2f, false);
- break;
- }
- case 1003: {
- this.field_72769_h.func_175731_a(p_180439_3_, "random.door_open", 1.0f, this.field_72769_h.field_73012_v.nextFloat() * 0.1f + 0.9f, false);
- break;
- }
- case 1004: {
- this.field_72769_h.func_175731_a(p_180439_3_, "random.fizz", 0.5f, 2.6f + (var5.nextFloat() - var5.nextFloat()) * 0.8f, false);
- break;
- }
- case 1005: {
- if (Item.func_150899_d(p_180439_4_) instanceof ItemRecord) {
- this.field_72769_h.func_175717_a(p_180439_3_, "records." + ((ItemRecord)Item.func_150899_d((int)p_180439_4_)).field_150929_a);
- break;
- }
- this.field_72769_h.func_175717_a(p_180439_3_, null);
- break;
- }
- case 1006: {
- this.field_72769_h.func_175731_a(p_180439_3_, "random.door_close", 1.0f, this.field_72769_h.field_73012_v.nextFloat() * 0.1f + 0.9f, false);
- break;
- }
- case 1007: {
- this.field_72769_h.func_175731_a(p_180439_3_, "mob.ghast.charge", 10.0f, (var5.nextFloat() - var5.nextFloat()) * 0.2f + 1.0f, false);
- break;
- }
- case 1008: {
- this.field_72769_h.func_175731_a(p_180439_3_, "mob.ghast.fireball", 10.0f, (var5.nextFloat() - var5.nextFloat()) * 0.2f + 1.0f, false);
- break;
- }
- case 1009: {
- this.field_72769_h.func_175731_a(p_180439_3_, "mob.ghast.fireball", 2.0f, (var5.nextFloat() - var5.nextFloat()) * 0.2f + 1.0f, false);
- break;
- }
- case 1010: {
- this.field_72769_h.func_175731_a(p_180439_3_, "mob.zombie.wood", 2.0f, (var5.nextFloat() - var5.nextFloat()) * 0.2f + 1.0f, false);
- break;
- }
- case 1011: {
- this.field_72769_h.func_175731_a(p_180439_3_, "mob.zombie.metal", 2.0f, (var5.nextFloat() - var5.nextFloat()) * 0.2f + 1.0f, false);
- break;
- }
- case 1012: {
- this.field_72769_h.func_175731_a(p_180439_3_, "mob.zombie.woodbreak", 2.0f, (var5.nextFloat() - var5.nextFloat()) * 0.2f + 1.0f, false);
- break;
- }
- case 1014: {
- this.field_72769_h.func_175731_a(p_180439_3_, "mob.wither.shoot", 2.0f, (var5.nextFloat() - var5.nextFloat()) * 0.2f + 1.0f, false);
- break;
- }
- case 1015: {
- this.field_72769_h.func_175731_a(p_180439_3_, "mob.bat.takeoff", 0.05f, (var5.nextFloat() - var5.nextFloat()) * 0.2f + 1.0f, false);
- break;
- }
- case 1016: {
- this.field_72769_h.func_175731_a(p_180439_3_, "mob.zombie.infect", 2.0f, (var5.nextFloat() - var5.nextFloat()) * 0.2f + 1.0f, false);
- break;
- }
- case 1017: {
- this.field_72769_h.func_175731_a(p_180439_3_, "mob.zombie.unfect", 2.0f, (var5.nextFloat() - var5.nextFloat()) * 0.2f + 1.0f, false);
- break;
- }
- case 1020: {
- this.field_72769_h.func_175731_a(p_180439_3_, "random.anvil_break", 1.0f, this.field_72769_h.field_73012_v.nextFloat() * 0.1f + 0.9f, false);
- break;
- }
- case 1021: {
- this.field_72769_h.func_175731_a(p_180439_3_, "random.anvil_use", 1.0f, this.field_72769_h.field_73012_v.nextFloat() * 0.1f + 0.9f, false);
- break;
- }
- case 1022: {
- this.field_72769_h.func_175731_a(p_180439_3_, "random.anvil_land", 0.3f, this.field_72769_h.field_73012_v.nextFloat() * 0.1f + 0.9f, false);
- break;
- }
- case 2000: {
- int var31 = p_180439_4_ % 3 - 1;
- int var8 = p_180439_4_ / 3 % 3 - 1;
- double var9 = (double)p_180439_3_.func_177958_n() + (double)var31 * 0.6 + 0.5;
- double var11 = (double)p_180439_3_.func_177956_o() + 0.5;
- double var32 = (double)p_180439_3_.func_177952_p() + (double)var8 * 0.6 + 0.5;
- for (int var33 = 0; var33 < 10; ++var33) {
- double var34 = var5.nextDouble() * 0.2 + 0.01;
- double var35 = var9 + (double)var31 * 0.01 + (var5.nextDouble() - 0.5) * (double)var8 * 0.5;
- double var20 = var11 + (var5.nextDouble() - 0.5) * 0.5;
- double var22 = var32 + (double)var8 * 0.01 + (var5.nextDouble() - 0.5) * (double)var31 * 0.5;
- double var24 = (double)var31 * var34 + var5.nextGaussian() * 0.01;
- double var26 = -0.03 + var5.nextGaussian() * 0.01;
- double var28 = (double)var8 * var34 + var5.nextGaussian() * 0.01;
- this.func_174972_a(EnumParticleTypes.SMOKE_NORMAL, var35, var20, var22, var24, var26, var28, new int[0]);
- }
- return;
- }
- case 2001: {
- Block var6 = Block.func_149729_e(p_180439_4_ & 4095);
- if (var6.func_149688_o() != Material.field_151579_a) {
- this.field_72777_q.func_147118_V().func_147682_a(new PositionedSoundRecord(new ResourceLocation(var6.field_149762_H.func_150495_a()), (var6.field_149762_H.func_150497_c() + 1.0f) / 2.0f, var6.field_149762_H.func_150494_d() * 0.8f, (float)p_180439_3_.func_177958_n() + 0.5f, (float)p_180439_3_.func_177956_o() + 0.5f, (float)p_180439_3_.func_177952_p() + 0.5f));
- }
- this.field_72777_q.field_71452_i.func_180533_a(p_180439_3_, var6.func_176203_a(p_180439_4_ >> 12 & 255));
- break;
- }
- case 2002: {
- int var13;
- double var7 = p_180439_3_.func_177958_n();
- double var9 = p_180439_3_.func_177956_o();
- double var11 = p_180439_3_.func_177952_p();
- for (var13 = 0; var13 < 8; ++var13) {
- this.func_174972_a(EnumParticleTypes.ITEM_CRACK, var7, var9, var11, var5.nextGaussian() * 0.15, var5.nextDouble() * 0.2, var5.nextGaussian() * 0.15, Item.func_150891_b(Items.field_151068_bn), p_180439_4_);
- }
- var13 = Items.field_151068_bn.func_77620_a(p_180439_4_);
- float var14 = (float)(var13 >> 16 & 255) / 255.0f;
- float var15 = (float)(var13 >> 8 & 255) / 255.0f;
- float var16 = (float)(var13 >> 0 & 255) / 255.0f;
- EnumParticleTypes var17 = EnumParticleTypes.SPELL;
- if (Items.field_151068_bn.func_77833_h(p_180439_4_)) {
- var17 = EnumParticleTypes.SPELL_INSTANT;
- }
- for (int var18 = 0; var18 < 100; ++var18) {
- double var19 = var5.nextDouble() * 4.0;
- double var21 = var5.nextDouble() * 3.141592653589793 * 2.0;
- double var23 = Math.cos(var21) * var19;
- double var25 = 0.01 + var5.nextDouble() * 0.5;
- double var27 = Math.sin(var21) * var19;
- EntityFX var29 = this.func_174974_b(var17.func_179348_c(), var17.func_179344_e(), var7 + var23 * 0.1, var9 + 0.3, var11 + var27 * 0.1, var23, var25, var27, new int[0]);
- if (var29 == null) continue;
- float var30 = 0.75f + var5.nextFloat() * 0.25f;
- var29.func_70538_b(var14 * var30, var15 * var30, var16 * var30);
- var29.func_70543_e((float)var19);
- }
- this.field_72769_h.func_175731_a(p_180439_3_, "game.potion.smash", 1.0f, this.field_72769_h.field_73012_v.nextFloat() * 0.1f + 0.9f, false);
- break;
- }
- case 2003: {
- double var7 = (double)p_180439_3_.func_177958_n() + 0.5;
- double var9 = p_180439_3_.func_177956_o();
- double var11 = (double)p_180439_3_.func_177952_p() + 0.5;
- for (int var13 = 0; var13 < 8; ++var13) {
- this.func_174972_a(EnumParticleTypes.ITEM_CRACK, var7, var9, var11, var5.nextGaussian() * 0.15, var5.nextDouble() * 0.2, var5.nextGaussian() * 0.15, Item.func_150891_b(Items.field_151061_bv));
- }
- for (double var32 = 0.0; var32 < 6.283185307179586; var32 += 0.15707963267948966) {
- this.func_174972_a(EnumParticleTypes.PORTAL, var7 + Math.cos(var32) * 5.0, var9 - 0.4, var11 + Math.sin(var32) * 5.0, Math.cos(var32) * -5.0, 0.0, Math.sin(var32) * -5.0, new int[0]);
- this.func_174972_a(EnumParticleTypes.PORTAL, var7 + Math.cos(var32) * 5.0, var9 - 0.4, var11 + Math.sin(var32) * 5.0, Math.cos(var32) * -7.0, 0.0, Math.sin(var32) * -7.0, new int[0]);
- }
- return;
- }
- case 2004: {
- for (int var18 = 0; var18 < 20; ++var18) {
- double var19 = (double)p_180439_3_.func_177958_n() + 0.5 + ((double)this.field_72769_h.field_73012_v.nextFloat() - 0.5) * 2.0;
- double var21 = (double)p_180439_3_.func_177956_o() + 0.5 + ((double)this.field_72769_h.field_73012_v.nextFloat() - 0.5) * 2.0;
- double var23 = (double)p_180439_3_.func_177952_p() + 0.5 + ((double)this.field_72769_h.field_73012_v.nextFloat() - 0.5) * 2.0;
- this.field_72769_h.func_175688_a(EnumParticleTypes.SMOKE_NORMAL, var19, var21, var23, 0.0, 0.0, 0.0, new int[0]);
- this.field_72769_h.func_175688_a(EnumParticleTypes.FLAME, var19, var21, var23, 0.0, 0.0, 0.0, new int[0]);
- }
- return;
- }
- case 2005: {
- ItemDye.func_180617_a(this.field_72769_h, p_180439_3_, p_180439_4_);
- }
- }
- }
- @Override
- public void func_180441_b(int n, BlockPos blockPos, int n2) {
- void progress;
- void breakerId;
- RenderGlobal renderGlobal;
- CallbackInfo callbackInfo = new CallbackInfo("func_180441_b", false);
- renderGlobal.saveBlockBreakProgressPacket(n, blockPos, n2, callbackInfo);
- if (progress >= 0 && progress < 10) {
- void pos;
- DestroyBlockProgress var4 = (DestroyBlockProgress)this.field_72738_E.get((int)breakerId);
- if (var4 == null || var4.func_180246_b().func_177958_n() != pos.func_177958_n() || var4.func_180246_b().func_177956_o() != pos.func_177956_o() || var4.func_180246_b().func_177952_p() != pos.func_177952_p()) {
- var4 = new DestroyBlockProgress((int)breakerId, (BlockPos)pos);
- this.field_72738_E.put((int)breakerId, var4);
- }
- var4.func_73107_a((int)progress);
- var4.func_82744_b(this.field_72773_u);
- } else {
- this.field_72738_E.remove((int)breakerId);
- }
- }
- public void func_174979_m() {
- this.field_147595_R = true;
- }
- public void resetClouds() {
- this.cloudRenderer.reset();
- }
- public int getCountRenderers() {
- return this.field_175008_n.field_178164_f.length;
- }
- public int getCountActiveRenderers() {
- return this.field_72755_R.size();
- }
- public int getCountEntitiesRendered() {
- return this.field_72749_I;
- }
- public int getCountTileEntitiesRendered() {
- return this.countTileEntitiesRendered;
- }
- public RenderChunk getRenderChunk(BlockPos pos) {
- return this.field_175008_n.func_178161_a(pos);
- }
- public RenderChunk getRenderChunk(RenderChunk renderChunk, EnumFacing facing) {
- if (renderChunk == null) {
- return null;
- }
- BlockPos pos = renderChunk.getPositionOffset16(facing);
- return this.field_175008_n.func_178161_a(pos);
- }
- public WorldClient getWorld() {
- return this.field_72769_h;
- }
- @MixinMerged(mixin="com.replaymod.recording.mixin.MixinRenderGlobal", priority=1000, sessionId="62a1efa2-a7cb-4ec5-8b84-36587bc28fab")
- @Override
- public void setRecordingEventHandler(RecordingEventHandler recordingEventHandler) {
- this.recordingEventHandler = recordingEventHandler;
- }
- @MixinMerged(mixin="com.replaymod.recording.mixin.MixinRenderGlobal", priority=1000, sessionId="62a1efa2-a7cb-4ec5-8b84-36587bc28fab")
- @Override
- public RecordingEventHandler getRecordingEventHandler() {
- return this.recordingEventHandler;
- }
- @MixinMerged(mixin="com.replaymod.recording.mixin.MixinRenderGlobal", priority=1000, sessionId="62a1efa2-a7cb-4ec5-8b84-36587bc28fab")
- public void saveBlockBreakProgressPacket(int breakerId, BlockPos pos, int progress, CallbackInfo info) {
- if (this.recordingEventHandler != null) {
- this.recordingEventHandler.onBlockBreakAnim(breakerId, pos, progress);
- }
- }
- @MixinMerged(mixin="com.replaymod.render.mixin.MixinRenderGlobal", priority=1000, sessionId="62a1efa2-a7cb-4ec5-8b84-36587bc28fab")
- public void replayModRender_setupTerrain(Entity viewEntity, double partialTicks, ICamera camera, int frameCount, boolean playerSpectator, CallbackInfo ci) {
- if (this.replayModRender_hook != null && !this.replayModRender_passThroughSetupTerrain) {
- this.replayModRender_passThroughSetupTerrain = true;
- do {
- this.func_174970_a(viewEntity, partialTicks, camera, this.replayModRender_hook.nextFrameId(), playerSpectator);
- } while (this.field_147595_R);
- this.replayModRender_passThroughSetupTerrain = false;
- ci.cancel();
- }
- }
- @MixinMerged(mixin="com.replaymod.render.mixin.MixinRenderGlobal", priority=1000, sessionId="62a1efa2-a7cb-4ec5-8b84-36587bc28fab")
- public void replayModRender_isPositionInRenderChunk(BlockPos pos, RenderChunk chunk, CallbackInfoReturnable<Boolean> ci) {
- if (this.replayModRender_hook != null) {
- ci.setReturnValue((Object)true);
- }
- }
- @MixinMerged(mixin="com.replaymod.render.mixin.MixinRenderGlobal", priority=1000, sessionId="62a1efa2-a7cb-4ec5-8b84-36587bc28fab")
- public void replayModRender_updateChunks(long finishTimeNano, CallbackInfo ci) {
- if (this.replayModRender_hook != null) {
- if (ShaderReflection.renderGlobal_chunksToUpdateForced != null) {
- try {
- Set ctuf = (Set)ShaderReflection.renderGlobal_chunksToUpdateForced.get(this);
- for (RenderChunk renderChunk : ctuf) {
- this.replayModRender_hook.renderDispatcher.field_178519_d.add(renderChunk.func_178574_d());
- }
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- }
- this.replayModRender_hook.updateChunks();
- ci.cancel();
- }
- }
- public static class ContainerLocalRenderInformation {
- final RenderChunk field_178036_a;
- final EnumFacing field_178034_b;
- final Set field_178035_c = EnumSet.noneOf(EnumFacing.class);
- final int field_178032_d;
- private static final String __OBFID = "CL_00002534";
- public ContainerLocalRenderInformation(RenderChunk p_i46248_2_, EnumFacing p_i46248_3_, int p_i46248_4_) {
- this.field_178036_a = p_i46248_2_;
- this.field_178034_b = p_i46248_3_;
- this.field_178032_d = p_i46248_4_;
- }
- ContainerLocalRenderInformation(RenderChunk p_i46249_2_, EnumFacing p_i46249_3_, int p_i46249_4_, Object p_i46249_5_) {
- this(p_i46249_2_, p_i46249_3_, p_i46249_4_);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment