Update to 1.4.4

This commit is contained in:
LexManos 2012-11-08 20:19:12 -08:00
parent 955683349d
commit e73cbd088f
35 changed files with 364 additions and 371 deletions

View file

@ -2,12 +2,12 @@
# RailLogic.getNAdjacentTracks
public all.a(Lall;)I #MD:RailLogic/func_73650_a
# Tessellator
public-f bah.a #FD:Tessellator/field_78398_a #instance
public bah.u #FD:Tessellator/field_78409_u #drawMode
public bah.v #FD:Tessellator/field_78408_v #xOffset
public bah.w #FD:Tessellator/field_78407_w #yOffset
public bah.x #FD:Tessellator/field_78417_x #zOffset
public bah.z #FD:Tessellator/field_78415_z #isDrawing
public-f bao.a #FD:Tessellator/field_78398_a #instance
public bao.u #FD:Tessellator/field_78409_u #drawMode
public bao.v #FD:Tessellator/field_78408_v #xOffset
public bao.w #FD:Tessellator/field_78407_w #yOffset
public bao.x #FD:Tessellator/field_78417_x #zOffset
public bao.z #FD:Tessellator/field_78415_z #isDrawing
# ItemPickaxe
public ut.<init>(ILul;)V #MD:ItemPickaxe/<init>(ILnet/minecraft/src/EnumToolMaterial;) #constructor
public+f ut.c #FD:ItemPickaxe/field_77867_c #blocksEffectiveAgainst
@ -23,16 +23,16 @@ public tu.cl #FD:ItemTool/field_77865_bY #damageVsEntity
# EntityEnderman
public qd.d #FD:EntityEnderman/field_70827_d #carriableBlocks
# RenderGlobal
public bad.h #FD:RenderGlobal/field_72769_h #theWorld
public bad.i #FD:RenderGlobal/field_72770_i #renderEngine
public bad.q #FD:RenderGlobal/field_72777_q #mc
public bad.r #FD:RenderGlobal/field_72776_r #globalRenderBlocks
public bad.E #FD:RenderGlobal/field_72738_E #damagedBlocks
public bak.h #FD:RenderGlobal/field_72769_h #theWorld
public bak.i #FD:RenderGlobal/field_72770_i #renderEngine
public bak.q #FD:RenderGlobal/field_72777_q #mc
public bak.r #FD:RenderGlobal/field_72776_r #globalRenderBlocks
public bak.E #FD:RenderGlobal/field_72738_E #damagedBlocks
# SoundManager
public bed.a #FD:SoundManager/field_77381_a #sndSystem
public bed.b #FD:SoundManager/field_77379_b #soundPoolSounds
public bed.c #FD:SoundManager/field_77380_c #soundPoolStreaming
public bed.d #FD:SoundManager/field_77377_d #soundPoolMusic
public bek.a #FD:SoundManager/field_77381_a #sndSystem
public bek.b #FD:SoundManager/field_77379_b #soundPoolSounds
public bek.c #FD:SoundManager/field_77380_c #soundPoolStreaming
public bek.d #FD:SoundManager/field_77377_d #soundPoolMusic
# EntityMinecart
protected py.* #FD:EntityMinecart/* # All private -> protected
public py.h()Z #MD:EntityMinecart/func_70490_h #isMinecartPowered
@ -49,7 +49,7 @@ public amj.s()Lamj; #MD:Block/func_71875_q #setBlockUnbreakable
public amj.b(Z)Lamj; #MD:Block/func_71907_b #setTickRandomly
public amj.a(FFFFFF)V #MD:Block/func_71905_a #setBlockBounds
# NetServerHandler
public iu.g #FD:NetServerHandler/field_72572_g #playerInAirTime
public iv.g #FD:NetServerHandler/field_72572_g #playerInAirTime
# TileEntity
public anq.k #FD:TileEntity/field_70331_k #worldObj
# BlockLeavesBase
@ -65,9 +65,9 @@ public all.a(Lall;)I #MD:RailLogic/func_73650_a #getNAdjacentTiles
public qx.a(Lpx;)V #MD:EntityPlayer/func_71012_a #joinEntityItemWithWorld
public qx.i()V #MD:EntityPlayer/func_71053_j #closeScreen
# EntityPlayerMP
public ayh.a(Lpx;)V #MD:EntityClientPlayerMP/func_71012_a #joinEntityItemWithWorld
public ayk.a(Lpx;)V #MD:EntityClientPlayerMP/func_71012_a #joinEntityItemWithWorld
# World Gen Chests Related
public im.T #FD:WorldServer/field_73069_S #bonusChestContent
public in.T #FD:WorldServer/field_73069_S #bonusChestContent
public aci.a #FD:StructureMineshaftPieces/field_78818_a #mineshaftChestContents
public adm.i #FD:ComponentScatteredFeatureDesertPyramid/field_74941_i #itemsToGenerateInTemple
public adn.l #FD:ComponentScatteredFeatureJunglePyramid/field_74943_l #junglePyramidsChestContents
@ -79,17 +79,17 @@ public afh.a #FD:ComponentVillageHouse2/field_74918_a #villageBlacksmithChestCon
# AnvilChunkLoader.chunkSaveLocation
default aaf.d #FD:AnvilChunkLoader/field_75825_d
# ChunkProviderServer.currentChunkLoader
default il.e #FD:ChunkProviderServer/field_73247_e
default im.e #FD:ChunkProviderServer/field_73247_e
# PlayerManager
default ij.a(IIZ)Lik; #MD:PlayerManager/func_72690_a #getOrCreateChunkWatcher
default ik.a(IIZ)Lil; #MD:PlayerManager/func_72690_a #getOrCreateChunkWatcher
# World
public-f xv.C #FD:World/field_72982_D #villageCollectionObj
public xv.H #FD:World/field_72993_I #activeChunkSet
# EntityLiving
public mc.bc #FD:EntityLiving/field_70728_aV #experienceValue
public md.bc #FD:EntityLiving/field_70728_aV #experienceValue
# GuiFlatPresets
public atw.a(Ljava/lang/String;ILyr;Ljava/util/List;[Lace;)V #MD:GuiFlatPresets/func_82294_a
public atw.a(Ljava/lang/String;ILyr;[Lace;)V #MD:GuiFlatPresets/func_82297_a
public atz.a(Ljava/lang/String;ILyr;Ljava/util/List;[Lace;)V #MD:GuiFlatPresets/func_82294_a
public atz.a(Ljava/lang/String;ILyr;[Lace;)V #MD:GuiFlatPresets/func_82297_a
# BiomeGenBase
public yr.*() #MD:BiomeGenBase/* #Everything protected->public
# MapGenVillage

View file

@ -95,23 +95,26 @@
this.setDifficultyForAllWorlds(this.getDifficulty());
this.initialWorldChunkLoad();
}
@@ -433,7 +413,9 @@
for (int var3 = 0; var3 < var2; ++var3)
@@ -431,7 +411,9 @@
for (int var1 = 0; var1 < this.worldServers.length; ++var1)
{
WorldServer var4 = var1[var3];
+ MinecraftForge.EVENT_BUS.post(new WorldEvent.Unload(var4));
var4.flush();
+ DimensionManager.setWorld(var4.provider.dimensionId, null);
WorldServer var2 = this.worldServers[var1];
+ MinecraftForge.EVENT_BUS.post(new WorldEvent.Unload(var2));
var2.flush();
+ DimensionManager.setWorld(var2.provider.dimensionId, null);
}
if (this.usageSnooper != null && this.usageSnooper.isSnooperRunning())
@@ -646,13 +628,13 @@
{
@@ -645,13 +627,15 @@
this.theProfiler.startSection("levels");
int var1;
- for (int var1 = 0; var1 < this.worldServers.length; ++var1)
+ for (Integer id : DimensionManager.getIDs())
{
- for (var1 = 0; var1 < this.worldServers.length; ++var1)
- {
+ Integer[] ids = DimensionManager.getIDs();
+ for (int x = 0; x < ids.length; x++)
+ {
+ int id = ids[x];
long var2 = System.nanoTime();
- if (var1 == 0 || this.getAllowNether())
@ -123,7 +126,7 @@
this.theProfiler.startSection(var4.getWorldInfo().getWorldName());
this.theProfiler.startSection("pools");
var4.getWorldVec3Pool().clear();
@@ -699,9 +681,11 @@
@@ -698,9 +682,11 @@
this.theProfiler.endSection();
}
@ -138,7 +141,7 @@
this.theProfiler.endStartSection("connection");
this.getNetworkThread().networkTick();
this.theProfiler.endStartSection("players");
@@ -757,7 +741,13 @@
@@ -754,7 +740,13 @@
*/
public WorldServer worldServerForDimension(int par1)
{
@ -153,7 +156,7 @@
}
@SideOnly(Side.SERVER)
@@ -866,7 +856,7 @@
@@ -863,7 +855,7 @@
public String getServerModName()
{
@ -162,7 +165,7 @@
}
/**
@@ -1128,6 +1118,7 @@
@@ -1125,6 +1117,7 @@
if (var2 != null)
{

View file

@ -10,7 +10,7 @@
public class AnvilChunkLoader implements IThreadedFileIO, IChunkLoader
{
private List chunksToRemove = new ArrayList();
@@ -97,6 +100,7 @@
@@ -93,6 +96,7 @@
var5 = this.readChunkFromNBT(par1World, par4NBTTagCompound.getCompoundTag("Level"));
}
@ -18,7 +18,7 @@
return var5;
}
}
@@ -112,6 +116,7 @@
@@ -108,6 +112,7 @@
var3.setTag("Level", var4);
this.writeChunkToNBT(par2Chunk, par1World, var4);
this.func_75824_a(par2Chunk.getChunkCoordIntPair(), var3);

View file

@ -1,6 +1,6 @@
--- ../src_base/common/net/minecraft/src/BlockRedstoneWire.java
+++ ../src_work/common/net/minecraft/src/BlockRedstoneWire.java
@@ -556,7 +556,7 @@
@@ -554,7 +554,7 @@
}
else if (var5 != Block.redstoneRepeaterIdle.blockID && var5 != Block.redstoneRepeaterActive.blockID)
{

View file

@ -58,31 +58,31 @@
{
var10 = 1;
}
@@ -121,19 +127,19 @@
*/
public void onBlockAdded(World par1World, int par2, int par3, int par4)
@@ -123,19 +129,19 @@
{
- if (par1World.isBlockNormalCubeDefault(par2 - 1, par3, par4, true))
+ if (par1World.isBlockSolidOnSide(par2 - 1, par3, par4, EAST, true))
if (par1World.getBlockMetadata(par2, par3, par4) == 0)
{
par1World.setBlockMetadataWithNotify(par2, par3, par4, 1);
}
- else if (par1World.isBlockNormalCubeDefault(par2 + 1, par3, par4, true))
+ else if (par1World.isBlockSolidOnSide(par2 + 1, par3, par4, WEST, true))
{
par1World.setBlockMetadataWithNotify(par2, par3, par4, 2);
}
- else if (par1World.isBlockNormalCubeDefault(par2, par3, par4 - 1, true))
+ else if (par1World.isBlockSolidOnSide(par2, par3, par4 - 1, SOUTH, true))
{
par1World.setBlockMetadataWithNotify(par2, par3, par4, 3);
}
- else if (par1World.isBlockNormalCubeDefault(par2, par3, par4 + 1, true))
+ else if (par1World.isBlockSolidOnSide(par2, par3, par4 + 1, NORTH, true))
{
par1World.setBlockMetadataWithNotify(par2, par3, par4, 4);
}
@@ -156,22 +162,22 @@
- if (par1World.isBlockNormalCubeDefault(par2 - 1, par3, par4, true))
+ if (par1World.isBlockSolidOnSide(par2 - 1, par3, par4, EAST, true))
{
par1World.setBlockMetadataWithNotify(par2, par3, par4, 1);
}
- else if (par1World.isBlockNormalCubeDefault(par2 + 1, par3, par4, true))
+ else if (par1World.isBlockSolidOnSide(par2 + 1, par3, par4, WEST, true))
{
par1World.setBlockMetadataWithNotify(par2, par3, par4, 2);
}
- else if (par1World.isBlockNormalCubeDefault(par2, par3, par4 - 1, true))
+ else if (par1World.isBlockSolidOnSide(par2, par3, par4 - 1, SOUTH, true))
{
par1World.setBlockMetadataWithNotify(par2, par3, par4, 3);
}
- else if (par1World.isBlockNormalCubeDefault(par2, par3, par4 + 1, true))
+ else if (par1World.isBlockSolidOnSide(par2, par3, par4 + 1, NORTH, true))
{
par1World.setBlockMetadataWithNotify(par2, par3, par4, 4);
}
@@ -159,22 +165,22 @@
int var6 = par1World.getBlockMetadata(par2, par3, par4);
boolean var7 = false;

View file

@ -301,23 +301,23 @@
par4TileEntity.validate();
this.chunkTileEntityMap.put(var5, par4TileEntity);
}
@@ -966,6 +1025,7 @@
List var4 = var1[var3];
this.worldObj.addLoadedEntities(var4);
@@ -963,6 +1022,7 @@
{
this.worldObj.addLoadedEntities(this.entityLists[var1]);
}
+ MinecraftForge.EVENT_BUS.post(new ChunkEvent.Load(this));
}
/**
@@ -990,6 +1050,7 @@
List var4 = var5[var3];
this.worldObj.unloadEntities(var4);
@@ -983,6 +1043,7 @@
{
this.worldObj.unloadEntities(this.entityLists[var3]);
}
+ MinecraftForge.EVENT_BUS.post(new ChunkEvent.Unload(this));
}
/**
@@ -1006,8 +1067,8 @@
@@ -999,8 +1060,8 @@
*/
public void getEntitiesWithinAABBForEntity(Entity par1Entity, AxisAlignedBB par2AxisAlignedBB, List par3List)
{
@ -328,7 +328,7 @@
if (var4 < 0)
{
@@ -1055,8 +1116,8 @@
@@ -1047,8 +1108,8 @@
*/
public void getEntitiesOfTypeWithinAAAB(Class par1Class, AxisAlignedBB par2AxisAlignedBB, List par3List, IEntitySelector par4IEntitySelector)
{
@ -339,7 +339,7 @@
if (var5 < 0)
{
@@ -1240,6 +1301,15 @@
@@ -1231,6 +1292,15 @@
*/
public void fillChunk(byte[] par1ArrayOfByte, int par2, int par3, boolean par4)
{
@ -355,7 +355,7 @@
int var5 = 0;
int var6;
@@ -1336,12 +1406,26 @@
@@ -1327,12 +1397,26 @@
}
this.generateHeightMap();
@ -388,7 +388,7 @@
}
}
@@ -1450,4 +1534,18 @@
@@ -1441,4 +1525,18 @@
}
}
}

View file

@ -32,7 +32,7 @@
if (var5 == null)
{
@@ -291,6 +298,11 @@
@@ -290,6 +297,11 @@
{
if (!this.currentServer.canNotSave)
{
@ -44,7 +44,7 @@
for (int var1 = 0; var1 < 100; ++var1)
{
if (!this.chunksToUnload.isEmpty())
@@ -303,6 +315,11 @@
@@ -302,6 +314,11 @@
this.chunksToUnload.remove(var2);
this.loadedChunkHashMap.remove(var2.longValue());
this.loadedChunks.remove(var3);

View file

@ -1,6 +1,6 @@
--- ../src_base/common/net/minecraft/src/ContainerFurnace.java
+++ ../src_work/common/net/minecraft/src/ContainerFurnace.java
@@ -122,7 +122,7 @@
@@ -120,7 +120,7 @@
}
else if (par2 != 1 && par2 != 0)
{

View file

@ -1,11 +1,11 @@
--- ../src_base/common/net/minecraft/src/CraftingManager.java
+++ ../src_work/common/net/minecraft/src/CraftingManager.java
@@ -266,7 +266,7 @@
@@ -263,7 +263,7 @@
}
}
- if (var3 == 2 && var4.itemID == var5.itemID && var4.stackSize == 1 && var5.stackSize == 1 && Item.itemsList[var4.itemID].isDamageable())
+ if (var3 == 2 && var4.itemID == var5.itemID && var4.stackSize == 1 && var5.stackSize == 1 && Item.itemsList[var4.itemID].isRepairable())
{
Item var13 = Item.itemsList[var4.itemID];
int var14 = var13.getMaxDamage() - var4.getItemDamageForDisplay();
Item var11 = Item.itemsList[var4.itemID];
int var13 = var11.getMaxDamage() - var4.getItemDamageForDisplay();

View file

@ -1,6 +1,6 @@
--- ../src_base/common/net/minecraft/src/Enchantment.java
+++ ../src_work/common/net/minecraft/src/Enchantment.java
@@ -198,4 +198,14 @@
@@ -191,4 +191,14 @@
String var2 = StatCollector.translateToLocal(this.getName());
return var2 + " " + StatCollector.translateToLocal("enchantment.level." + par1);
}

View file

@ -1,6 +1,6 @@
--- ../src_base/common/net/minecraft/src/EnchantmentHelper.java
+++ ../src_work/common/net/minecraft/src/EnchantmentHelper.java
@@ -414,7 +414,7 @@
@@ -411,7 +411,7 @@
{
Enchantment var7 = var4[var6];

View file

@ -1,7 +1,7 @@
--- ../src_base/common/net/minecraft/src/Entity.java
+++ ../src_work/common/net/minecraft/src/Entity.java
@@ -5,6 +5,8 @@
import java.util.Iterator;
@@ -4,6 +4,8 @@
import cpw.mods.fml.common.asm.SideOnly;
import java.util.List;
import java.util.Random;
+import java.util.UUID;
@ -9,7 +9,7 @@
import net.minecraft.server.MinecraftServer;
public abstract class Entity
@@ -198,6 +200,11 @@
@@ -197,6 +199,11 @@
protected int field_82152_aq;
private boolean field_83001_bt;
public EnumEntitySize myEntitySize;
@ -21,7 +21,7 @@
public Entity(World par1World)
{
@@ -1493,6 +1500,15 @@
@@ -1489,6 +1496,15 @@
par1NBTTagCompound.setInteger("Dimension", this.dimension);
par1NBTTagCompound.setBoolean("Invulnerable", this.field_83001_bt);
par1NBTTagCompound.setInteger("PortalCooldown", this.timeUntilPortal);
@ -37,7 +37,7 @@
this.writeEntityToNBT(par1NBTTagCompound);
}
catch (Throwable var5)
@@ -1547,6 +1563,14 @@
@@ -1543,6 +1559,14 @@
this.timeUntilPortal = par1NBTTagCompound.getInteger("PortalCooldown");
this.setPosition(this.posX, this.posY, this.posZ);
this.setRotation(this.rotationYaw, this.rotationPitch);
@ -52,7 +52,7 @@
this.readEntityFromNBT(par1NBTTagCompound);
}
catch (Throwable var5)
@@ -1641,7 +1665,14 @@
@@ -1637,7 +1661,14 @@
{
EntityItem var3 = new EntityItem(this.worldObj, this.posX, this.posY + (double)par2, this.posZ, par1ItemStack);
var3.delayBeforeCanPickup = 10;
@ -68,7 +68,7 @@
return var3;
}
@@ -2001,7 +2032,7 @@
@@ -1996,7 +2027,7 @@
*/
public boolean isRiding()
{
@ -77,7 +77,7 @@
}
/**
@@ -2336,7 +2367,7 @@
@@ -2331,7 +2362,7 @@
public float func_82146_a(Explosion par1Explosion, Block par2Block, int par3, int par4, int par5)
{
@ -86,9 +86,9 @@
}
public int func_82143_as()
@@ -2366,4 +2397,84 @@
par1CrashReportCategory.addCrashSection("Block location", CrashReportCategory.func_85071_a(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)));
par1CrashReportCategory.addCrashSection("Momentum", String.format("%.2f, %.2f, %.2f", new Object[] {Double.valueOf(this.motionX), Double.valueOf(this.motionY), Double.valueOf(this.motionZ)}));
@@ -2367,4 +2398,84 @@
{
return this.isBurning();
}
+
+ /* ================================== Forge Start =====================================*/

View file

@ -1,6 +1,6 @@
--- ../src_base/common/net/minecraft/src/EntityDragon.java
+++ ../src_work/common/net/minecraft/src/EntityDragon.java
@@ -519,10 +519,11 @@
@@ -517,10 +517,11 @@
for (int var12 = var4; var12 <= var7; ++var12)
{
int var13 = this.worldObj.getBlockId(var10, var11, var12);

View file

@ -19,7 +19,7 @@
}
public boolean isExplosiveMob(Class par1Class)
@@ -434,6 +439,7 @@
@@ -437,6 +442,7 @@
{
this.entityLivingToAttack = par1EntityLiving;
this.revengeTimer = this.entityLivingToAttack != null ? 60 : 0;
@ -27,7 +27,7 @@
}
protected void entityInit()
@@ -723,6 +729,11 @@
@@ -726,6 +732,11 @@
*/
public void onUpdate()
{
@ -39,7 +39,7 @@
super.onUpdate();
if (!this.worldObj.isRemote)
@@ -908,6 +919,11 @@
@@ -911,6 +922,11 @@
*/
public boolean attackEntityFrom(DamageSource par1DamageSource, int par2)
{
@ -51,7 +51,7 @@
if (this.func_85032_ar())
{
return false;
@@ -1118,6 +1134,11 @@
@@ -1121,6 +1137,11 @@
{
if (!this.func_85032_ar())
{
@ -63,7 +63,7 @@
par2 = this.applyArmorCalculations(par1DamageSource, par2);
par2 = this.applyPotionDamageCalculations(par1DamageSource, par2);
this.health -= par2;
@@ -1182,6 +1203,11 @@
@@ -1185,6 +1206,11 @@
*/
public void onDeath(DamageSource par1DamageSource)
{
@ -75,7 +75,7 @@
Entity var2 = par1DamageSource.getEntity();
if (this.scoreValue >= 0 && var2 != null)
@@ -1204,6 +1230,10 @@
@@ -1207,6 +1233,10 @@
{
var3 = EnchantmentHelper.getLootingModifier((EntityLiving)var2);
}
@ -86,7 +86,7 @@
if (!this.isChild() && this.worldObj.getGameRules().getGameRuleBooleanValue("doMobLoot"))
{
@@ -1212,7 +1242,7 @@
@@ -1215,7 +1245,7 @@
if (this.recentlyHit > 0)
{
@ -95,7 +95,7 @@
if (var4 < 5)
{
@@ -1220,6 +1250,16 @@
@@ -1223,6 +1253,16 @@
}
}
}
@ -112,7 +112,7 @@
}
this.worldObj.setEntityState(this, (byte)3);
@@ -1263,6 +1303,12 @@
@@ -1266,6 +1306,12 @@
*/
protected void fall(float par1)
{
@ -125,7 +125,7 @@
super.fall(par1);
int var2 = MathHelper.ceiling_float_int(par1 - 3.0F);
@@ -1465,7 +1511,7 @@
@@ -1468,7 +1514,7 @@
int var2 = MathHelper.floor_double(this.boundingBox.minY);
int var3 = MathHelper.floor_double(this.posZ);
int var4 = this.worldObj.getBlockId(var1, var2, var3);
@ -134,7 +134,7 @@
}
/**
@@ -1874,6 +1920,7 @@
@@ -1875,6 +1921,7 @@
}
this.isAirBorne = true;
@ -142,7 +142,7 @@
}
/**
@@ -2411,8 +2458,6 @@
@@ -2412,8 +2459,6 @@
return this.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD;
}
@ -151,7 +151,7 @@
/**
* Remove the speified potion effect from this entity.
*/
@@ -2860,4 +2905,30 @@
@@ -2861,4 +2906,30 @@
{
this.dataWatcher.updateObject(10, Byte.valueOf((byte)par1));
}

View file

@ -45,9 +45,9 @@
}
/**
@@ -65,4 +45,29 @@
@@ -70,4 +50,29 @@
{
return new EntityMooshroom(this.worldObj);
return this.spawnBabyAnimal(par1EntityAgeable);
}
+
+ @Override

View file

@ -26,7 +26,7 @@
if (this.itemInUseCount <= 25 && this.itemInUseCount % 4 == 0)
{
this.updateItemUse(var1, 5);
@@ -577,6 +589,9 @@
@@ -575,6 +587,9 @@
this.setPosition(this.posX, this.posY, this.posZ);
this.motionY = 0.10000000149011612D;
@ -36,7 +36,7 @@
if (this.username.equals("Notch"))
{
this.dropPlayerItemWithRandomChoice(new ItemStack(Item.appleRed, 1), true);
@@ -585,6 +600,20 @@
@@ -583,6 +598,20 @@
if (!this.worldObj.getGameRules().getGameRuleBooleanValue("keepInventory"))
{
this.inventory.dropAllItems();
@ -57,7 +57,7 @@
}
if (par1DamageSource != null)
@@ -624,7 +653,16 @@
@@ -622,7 +651,16 @@
*/
public EntityItem dropOneItem()
{
@ -75,7 +75,7 @@
}
/**
@@ -633,7 +671,7 @@
@@ -631,7 +669,7 @@
*/
public EntityItem dropPlayerItem(ItemStack par1ItemStack)
{
@ -84,7 +84,7 @@
}
/**
@@ -685,18 +723,33 @@
@@ -683,18 +721,33 @@
*/
public void joinEntityItemWithWorld(EntityItem par1EntityItem)
{
@ -122,7 +122,7 @@
{
var2 += (float)(var3 * var3 + 1);
}
@@ -721,7 +774,8 @@
@@ -719,7 +772,8 @@
var2 /= 5.0F;
}
@ -132,7 +132,7 @@
}
/**
@@ -729,7 +783,7 @@
@@ -727,7 +781,7 @@
*/
public boolean canHarvestBlock(Block par1Block)
{
@ -141,7 +141,7 @@
}
/**
@@ -1014,12 +1068,22 @@
@@ -1012,12 +1066,22 @@
{
if (!this.func_85032_ar())
{
@ -165,7 +165,7 @@
par2 = this.applyPotionDamageCalculations(par1DamageSource, par2);
this.addExhaustion(par1DamageSource.getHungerDamage());
this.health -= par2;
@@ -1060,6 +1124,10 @@
@@ -1058,6 +1122,10 @@
public boolean interactWith(Entity par1Entity)
{
@ -176,7 +176,7 @@
if (par1Entity.interact(this))
{
return true;
@@ -1103,7 +1171,9 @@
@@ -1101,7 +1169,9 @@
*/
public void destroyCurrentEquippedItem()
{
@ -186,7 +186,7 @@
}
/**
@@ -1120,6 +1190,15 @@
@@ -1118,6 +1188,15 @@
*/
public void attackTargetEntityWithCurrentItem(Entity par1Entity)
{
@ -202,7 +202,7 @@
if (par1Entity.canAttackWithItem())
{
if (!par1Entity.func_85031_j(this))
@@ -1266,6 +1345,12 @@
@@ -1276,6 +1355,12 @@
*/
public EnumStatus sleepInBedAt(int par1, int par2, int par3)
{
@ -215,7 +215,7 @@
if (!this.worldObj.isRemote)
{
if (this.isPlayerSleeping() || !this.isEntityAlive())
@@ -1305,6 +1390,11 @@
@@ -1315,6 +1400,11 @@
{
int var9 = this.worldObj.getBlockMetadata(par1, par2, par3);
int var5 = BlockBed.getDirection(var9);
@ -227,7 +227,7 @@
float var10 = 0.5F;
float var7 = 0.5F;
@@ -1375,10 +1465,12 @@
@@ -1385,10 +1475,12 @@
ChunkCoordinates var4 = this.playerLocation;
ChunkCoordinates var5 = this.playerLocation;
@ -244,7 +244,7 @@
if (var5 == null)
{
@@ -1415,7 +1507,9 @@
@@ -1425,7 +1517,9 @@
*/
private boolean isInBed()
{
@ -255,7 +255,7 @@
}
/**
@@ -1430,9 +1524,12 @@
@@ -1440,9 +1534,12 @@
var3.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4);
var3.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4);
@ -271,7 +271,7 @@
return var8;
}
else
@@ -1454,8 +1551,11 @@
@@ -1464,8 +1561,11 @@
{
if (this.playerLocation != null)
{
@ -285,7 +285,7 @@
switch (var2)
{
@@ -1786,6 +1886,7 @@
@@ -1796,6 +1896,7 @@
return 101;
}
}

View file

@ -30,20 +30,19 @@
this.setLocationAndAngles((double)var6 + 0.5D, (double)var8, (double)var7 + 0.5D, 0.0F, 0.0F);
this.mcServer = par1MinecraftServer;
@@ -172,7 +167,11 @@
if (var4 != null && this.worldObj.blockExists(var4.chunkXPos << 4, 0, var4.chunkZPos << 4))
@@ -188,7 +183,10 @@
if (var9 != null && this.worldObj.blockExists(var9.chunkXPos << 4, 0, var9.chunkZPos << 4))
{
var1.add(this.worldObj.getChunkFromChunkCoords(var4.chunkXPos, var4.chunkZPos));
- var3.addAll(((WorldServer)this.worldObj).getAllTileEntityInBox(var4.chunkXPos * 16, 0, var4.chunkZPos * 16, var4.chunkXPos * 16 + 16, 256, var4.chunkZPos * 16 + 16));
var6.add(this.worldObj.getChunkFromChunkCoords(var9.chunkXPos, var9.chunkZPos));
- var8.addAll(((WorldServer)this.worldObj).getAllTileEntityInBox(var9.chunkXPos * 16, 0, var9.chunkZPos * 16, var9.chunkXPos * 16 + 16, 256, var9.chunkZPos * 16 + 16));
+ //BugFix: 16 makes it load an extra chunk, which isn't associated with a player, which makes it not unload unless a player walks near it.
+ //ToDo: Find a way to efficiently clean abandoned chunks.
+ //var3.addAll(((WorldServer)this.worldObj).getAllTileEntityInBox(var4.chunkXPos * 16, 0, var4.chunkZPos * 16, var4.chunkXPos * 16 + 16, 256, var4.chunkZPos * 16 + 16));
+ var3.addAll(((WorldServer)this.worldObj).getAllTileEntityInBox(var4.chunkXPos * 16, 0, var4.chunkZPos * 16, var4.chunkXPos * 16 + 15, 256, var4.chunkZPos * 16 + 15));
+
+ //var8.addAll(((WorldServer)this.worldObj).getAllTileEntityInBox(var9.chunkXPos * 16, 0, var9.chunkZPos * 16, var9.chunkXPos * 16 + 16, 256, var9.chunkZPos * 16 + 16));
+ var8.addAll(((WorldServer)this.worldObj).getAllTileEntityInBox(var9.chunkXPos * 16, 0, var9.chunkZPos * 16, var9.chunkXPos * 16 + 15, 256, var9.chunkZPos * 16 + 15));
}
}
@@ -253,11 +252,29 @@
@@ -253,11 +251,29 @@
*/
public void onDeath(DamageSource par1DamageSource)
{

View file

@ -13,9 +13,9 @@
+
+public class EntitySheep extends EntityAnimal implements IShearable
{
/**
* Holds the RGB table of the sheep colors - in OpenGL glColor3f values - used to render the sheep colored fleece.
@@ -134,28 +138,6 @@
private final InventoryCrafting field_90016_e = new InventoryCrafting(new ContainerSheep(this), 2, 1);
@@ -118,28 +122,6 @@
*/
public boolean interact(EntityPlayer par1EntityPlayer)
{
@ -44,9 +44,9 @@
return super.interact(par1EntityPlayer);
}
@@ -304,4 +286,24 @@
@@ -328,4 +310,24 @@
{
this.setFleeceColor(getRandomFleeceColor(this.worldObj.rand));
return this.func_90015_b(par1EntityAgeable);
}
+
+ @Override

View file

@ -7,7 +7,7 @@
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
@@ -110,4 +111,15 @@
@@ -105,4 +106,15 @@
{
return this.toolMaterial.getToolCraftingMaterial() == par2ItemStack.itemID ? true : super.getIsRepairable(par1ItemStack, par2ItemStack);
}

View file

@ -1,24 +1,12 @@
--- ../src_base/common/net/minecraft/src/PlayerInstance.java
+++ ../src_work/common/net/minecraft/src/PlayerInstance.java
@@ -3,6 +3,9 @@
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.Side;
class PlayerInstance
{
@@ -140,7 +143,10 @@
@@ -137,6 +137,9 @@
if ((this.field_73260_f & 1 << var3) != 0)
{
var4 = var3 << 4;
- List var5 = PlayerManager.getWorldServer(this.myManager).getAllTileEntityInBox(var1, var4, var2, var1 + 16, var4 + 16, var2 + 16);
+ //BugFix: 16 makes it load an extra chunk, which isn't associated with a player, which makes it not unload unless a player walks near it.
+ //ToDo: Find a way to efficiently clean abandoned chunks.
+ //List var5 = PlayerManager.getWorldServer(this.myManager).getAllTileEntityInBox(var1, var4, var2, var1 + 16, var4 + 16, var2 + 16);
+ List var5 = PlayerManager.getWorldServer(this.myManager).getAllTileEntityInBox(var1, var4, var2, var1 + 15, var4 + 16, var2 + 15);
Iterator var6 = var5.iterator();
+ //List var5 = PlayerManager.getWorldServer(this.myManager).getAllTileEntityInBox(var1, var4, var2, var1 + 15, var4 + 16, var2 + 15);
List var5 = PlayerManager.getWorldServer(this.myManager).getAllTileEntityInBox(var1, var4, var2, var1 + 16, var4 + 16, var2 + 16);
while (var6.hasNext())
for (int var6 = 0; var6 < var5.size(); ++var6)

View file

@ -1,6 +1,6 @@
--- ../src_base/common/net/minecraft/src/RailLogic.java
+++ ../src_work/common/net/minecraft/src/RailLogic.java
@@ -19,6 +19,7 @@
@@ -18,6 +18,7 @@
private List connectedTracks;
final BlockRail rail;
@ -8,7 +8,7 @@
public RailLogic(BlockRail par1BlockRail, World par2World, int par3, int par4, int par5)
{
@@ -29,18 +30,11 @@
@@ -28,18 +29,11 @@
this.trackY = par4;
this.trackZ = par5;
int var6 = par2World.getBlockId(par3, par4, par5);
@ -32,7 +32,7 @@
this.setConnections(var7);
}
@@ -267,7 +261,7 @@
@@ -258,7 +252,7 @@
}
}
@ -41,7 +41,7 @@
{
if (BlockRail.isRailBlockAt(this.worldObj, this.trackX, this.trackY + 1, this.trackZ - 1))
{
@@ -280,7 +274,7 @@
@@ -271,7 +265,7 @@
}
}
@ -50,7 +50,7 @@
{
if (BlockRail.isRailBlockAt(this.worldObj, this.trackX + 1, this.trackY + 1, this.trackZ))
{
@@ -431,7 +425,7 @@
@@ -422,7 +416,7 @@
}
}
@ -59,7 +59,7 @@
{
if (BlockRail.isRailBlockAt(this.worldObj, this.trackX, this.trackY + 1, this.trackZ - 1))
{
@@ -444,7 +438,7 @@
@@ -435,7 +429,7 @@
}
}

View file

@ -8,7 +8,7 @@
public abstract class ServerConfigurationManager
{
@@ -298,6 +299,12 @@
@@ -296,6 +297,12 @@
*/
public EntityPlayerMP respawnPlayer(EntityPlayerMP par1EntityPlayerMP, int par2, boolean par3)
{
@ -21,7 +21,7 @@
par1EntityPlayerMP.getServerForPlayer().getEntityTracker().removeAllTrackingPlayers(par1EntityPlayerMP);
par1EntityPlayerMP.getServerForPlayer().getEntityTracker().removeEntityFromAllTrackingPlayers(par1EntityPlayerMP);
par1EntityPlayerMP.getServerForPlayer().getPlayerManager().removePlayer(par1EntityPlayerMP);
@@ -320,6 +327,7 @@
@@ -318,6 +325,7 @@
EntityPlayerMP var7 = new EntityPlayerMP(this.mcServer, this.mcServer.worldServerForDimension(par1EntityPlayerMP.dimension), par1EntityPlayerMP.username, (ItemInWorldManager)var6);
var7.playerNetServerHandler = par1EntityPlayerMP.playerNetServerHandler;
var7.clonePlayer(par1EntityPlayerMP, par3);
@ -29,7 +29,7 @@
var7.entityId = par1EntityPlayerMP.entityId;
WorldServer var8 = this.mcServer.worldServerForDimension(par1EntityPlayerMP.dimension);
this.func_72381_a(var7, par1EntityPlayerMP, var8);
@@ -363,14 +371,20 @@
@@ -361,14 +369,20 @@
public void transferPlayerToDimension(EntityPlayerMP par1EntityPlayerMP, int par2)
{
@ -51,7 +51,7 @@
this.func_72375_a(par1EntityPlayerMP, var4);
par1EntityPlayerMP.playerNetServerHandler.setPlayerLocation(par1EntityPlayerMP.posX, par1EntityPlayerMP.posY, par1EntityPlayerMP.posZ, par1EntityPlayerMP.rotationYaw, par1EntityPlayerMP.rotationPitch);
par1EntityPlayerMP.theItemInWorldManager.setWorld(var5);
@@ -391,38 +405,23 @@
@@ -389,38 +403,23 @@
*/
public void transferEntityToWorld(Entity par1Entity, int par2, WorldServer par3WorldServer, WorldServer par4WorldServer)
{
@ -101,7 +101,7 @@
{
ChunkCoordinates var18;
@@ -459,7 +458,7 @@
@@ -457,7 +456,7 @@
par4WorldServer.spawnEntityInWorld(par1Entity);
par1Entity.setLocationAndAngles(var5, par1Entity.posY, var7, par1Entity.rotationYaw, par1Entity.rotationPitch);
par4WorldServer.updateEntityWithOptionalForce(par1Entity, false);

View file

@ -139,7 +139,7 @@
}
public int func_85175_e(int par1, int par2, int par3)
@@ -1113,7 +1169,7 @@
@@ -1099,7 +1155,7 @@
*/
public boolean isDaytime()
{
@ -148,7 +148,7 @@
}
/**
@@ -1145,7 +1201,7 @@
@@ -1131,7 +1187,7 @@
int var12 = this.getBlockMetadata(var8, var9, var10);
Block var13 = Block.blocksList[var11];
@ -157,7 +157,7 @@
{
MovingObjectPosition var14 = var13.collisionRayTrace(this, var8, var9, var10, par1Vec3, par2Vec3);
@@ -1345,6 +1401,12 @@
@@ -1331,6 +1387,12 @@
*/
public void playSoundAtEntity(Entity par1Entity, String par2Str, float par3, float par4)
{
@ -169,8 +169,8 @@
+ par2Str = event.name;
if (par1Entity != null && par2Str != null)
{
Iterator var5 = this.worldAccesses.iterator();
@@ -1457,6 +1519,11 @@
for (int var5 = 0; var5 < this.worldAccesses.size(); ++var5)
@@ -1428,6 +1490,11 @@
EntityPlayer var5 = (EntityPlayer)par1Entity;
this.playerEntities.add(var5);
this.updateAllPlayersSleepingFlag();
@ -182,7 +182,7 @@
}
this.getChunkFromChunkCoords(var2, var3).addEntity(par1Entity);
@@ -1708,6 +1775,12 @@
@@ -1671,6 +1738,12 @@
* Calculates the color for the skybox
*/
public Vec3 getSkyColor(Entity par1Entity, float par2)
@ -195,7 +195,7 @@
{
float var3 = this.getCelestialAngle(par2);
float var4 = MathHelper.cos(var3 * (float)Math.PI * 2.0F) * 2.0F + 0.5F;
@@ -1803,6 +1876,12 @@
@@ -1766,6 +1839,12 @@
@SideOnly(Side.CLIENT)
public Vec3 drawClouds(float par1)
{
@ -208,7 +208,7 @@
float var2 = this.getCelestialAngle(par1);
float var3 = MathHelper.cos(var2 * (float)Math.PI * 2.0F) * 2.0F + 0.5F;
@@ -1881,7 +1960,7 @@
@@ -1844,7 +1923,7 @@
{
int var5 = var3.getBlockID(par1, var4, par2);
@ -217,7 +217,7 @@
{
return var4 + 1;
}
@@ -1896,6 +1975,12 @@
@@ -1859,6 +1938,12 @@
* How bright are stars in the sky
*/
public float getStarBrightness(float par1)
@ -230,16 +230,16 @@
{
float var2 = this.getCelestialAngle(par1);
float var3 = 1.0F - (MathHelper.cos(var2 * (float)Math.PI * 2.0F) * 2.0F + 0.25F);
@@ -2099,7 +2184,7 @@
@@ -2058,7 +2143,7 @@
if (var12 != null)
if (var11 != null)
{
- var12.removeChunkBlockTileEntity(var10.xCoord & 15, var10.yCoord, var10.zCoord & 15);
+ var12.cleanChunkBlockTileEntity(var10.xCoord & 15, var10.yCoord, var10.zCoord & 15);
- var11.removeChunkBlockTileEntity(var9.xCoord & 15, var9.yCoord, var9.zCoord & 15);
+ var11.cleanChunkBlockTileEntity(var9.xCoord & 15, var9.yCoord, var9.zCoord & 15);
}
}
}
@@ -2109,6 +2194,10 @@
@@ -2068,6 +2153,10 @@
if (!this.entityRemoval.isEmpty())
{
@ -250,27 +250,27 @@
this.loadedTileEntityList.removeAll(this.entityRemoval);
this.entityRemoval.clear();
}
@@ -2129,7 +2218,9 @@
@@ -2086,7 +2175,9 @@
{
this.loadedTileEntityList.add(var13);
this.loadedTileEntityList.add(var12);
}
-
+ }
+ else
+ {
if (this.chunkExists(var13.xCoord >> 4, var13.zCoord >> 4))
if (this.chunkExists(var12.xCoord >> 4, var12.zCoord >> 4))
{
Chunk var15 = this.getChunkFromChunkCoords(var13.xCoord >> 4, var13.zCoord >> 4);
@@ -2139,8 +2230,6 @@
var15.setChunkBlockTileEntity(var13.xCoord & 15, var13.yCoord, var13.zCoord & 15, var13);
Chunk var15 = this.getChunkFromChunkCoords(var12.xCoord >> 4, var12.zCoord >> 4);
@@ -2096,8 +2187,6 @@
var15.setChunkBlockTileEntity(var12.xCoord & 15, var12.yCoord, var12.zCoord & 15, var12);
}
}
-
- this.markBlockNeedsUpdate(var13.xCoord, var13.yCoord, var13.zCoord);
- this.markBlockNeedsUpdate(var12.xCoord, var12.yCoord, var12.zCoord);
}
}
@@ -2153,13 +2242,13 @@
@@ -2110,13 +2199,13 @@
public void addTileEntity(Collection par1Collection)
{
@ -291,7 +291,7 @@
}
}
@@ -2179,9 +2268,17 @@
@@ -2136,9 +2225,17 @@
{
int var3 = MathHelper.floor_double(par1Entity.posX);
int var4 = MathHelper.floor_double(par1Entity.posZ);
@ -312,7 +312,7 @@
{
par1Entity.lastTickPosX = par1Entity.posX;
par1Entity.lastTickPosY = par1Entity.posY;
@@ -2416,6 +2513,14 @@
@@ -2370,6 +2467,14 @@
{
return true;
}
@ -327,7 +327,7 @@
}
}
}
@@ -2723,25 +2828,21 @@
@@ -2675,25 +2780,21 @@
*/
public void setBlockTileEntity(int par1, int par2, int par3, TileEntity par4TileEntity)
{
@ -368,7 +368,7 @@
}
}
@@ -2750,27 +2851,10 @@
@@ -2702,27 +2803,10 @@
*/
public void removeBlockTileEntity(int par1, int par2, int par3)
{
@ -400,7 +400,7 @@
}
}
@@ -2796,7 +2880,8 @@
@@ -2748,7 +2832,8 @@
*/
public boolean isBlockNormalCube(int par1, int par2, int par3)
{
@ -410,7 +410,7 @@
}
public boolean func_85174_u(int par1, int par2, int par3)
@@ -2819,8 +2904,7 @@
@@ -2771,8 +2856,7 @@
*/
public boolean doesBlockHaveSolidTopSurface(int par1, int par2, int par3)
{
@ -420,7 +420,7 @@
}
/**
@@ -2836,7 +2920,7 @@
@@ -2788,7 +2872,7 @@
if (var5 != null && !var5.isEmpty())
{
Block var6 = Block.blocksList[this.getBlockId(par1, par2, par3)];
@ -429,7 +429,7 @@
}
else
{
@@ -2867,8 +2951,7 @@
@@ -2819,8 +2903,7 @@
*/
public void setAllowedSpawnTypes(boolean par1, boolean par2)
{
@ -439,7 +439,7 @@
}
/**
@@ -2884,6 +2967,11 @@
@@ -2836,6 +2919,11 @@
*/
private void calculateInitialWeather()
{
@ -451,7 +451,7 @@
if (this.worldInfo.isRaining())
{
this.rainingStrength = 1.0F;
@@ -2899,6 +2987,11 @@
@@ -2851,6 +2939,11 @@
* Updates all weather states.
*/
protected void updateWeather()
@ -463,7 +463,7 @@
{
if (!this.provider.hasNoSky)
{
@@ -3001,12 +3094,14 @@
@@ -2953,12 +3046,14 @@
public void toggleRain()
{
@ -479,7 +479,7 @@
this.theProfiler.startSection("buildList");
int var1;
EntityPlayer var2;
@@ -3113,6 +3208,11 @@
@@ -3065,6 +3160,11 @@
*/
public boolean canBlockFreeze(int par1, int par2, int par3, boolean par4)
{
@ -491,7 +491,7 @@
BiomeGenBase var5 = this.getBiomeGenForCoords(par1, par3);
float var6 = var5.getFloatTemperature();
@@ -3170,6 +3270,11 @@
@@ -3122,6 +3222,11 @@
* Tests whether or not snow can be placed at a given location
*/
public boolean canSnowAt(int par1, int par2, int par3)
@ -503,7 +503,7 @@
{
BiomeGenBase var4 = this.getBiomeGenForCoords(par1, par3);
float var5 = var4.getFloatTemperature();
@@ -3263,7 +3368,7 @@
@@ -3215,7 +3320,7 @@
private int computeBlockLightValue(int par1, int par2, int par3, int par4, int par5, int par6)
{
@ -512,7 +512,7 @@
int var8 = this.getSavedLightValue(EnumSkyBlock.Block, par2 - 1, par3, par4) - par6;
int var9 = this.getSavedLightValue(EnumSkyBlock.Block, par2 + 1, par3, par4) - par6;
int var10 = this.getSavedLightValue(EnumSkyBlock.Block, par2, par3 - 1, par4) - par6;
@@ -3398,7 +3503,7 @@
@@ -3350,7 +3455,7 @@
int var21 = var24 + (var18 / 2 + 1) % 3 / 2 * var19;
int var22 = var12 + (var18 / 2 + 2) % 3 / 2 * var19;
var14 = this.getSavedLightValue(par1EnumSkyBlock, var20, var21, var22);
@ -521,7 +521,7 @@
if (var23 == 0)
{
@@ -3429,7 +3534,7 @@
@@ -3381,7 +3486,7 @@
var12 = (var9 >> 12 & 63) - 32 + par4;
var13 = this.getSavedLightValue(par1EnumSkyBlock, var10, var24, var12);
var14 = this.getBlockId(var10, var24, var12);
@ -530,7 +530,7 @@
if (var15 == 0)
{
@@ -3531,10 +3636,10 @@
@@ -3483,10 +3588,10 @@
public List getEntitiesWithinAABBExcludingEntity(Entity par1Entity, AxisAlignedBB par2AxisAlignedBB)
{
this.entitiesWithinAABBExcludingEntity.clear();
@ -545,7 +545,7 @@
for (int var7 = var3; var7 <= var4; ++var7)
{
@@ -3560,10 +3665,10 @@
@@ -3512,10 +3617,10 @@
public List func_82733_a(Class par1Class, AxisAlignedBB par2AxisAlignedBB, IEntitySelector par3IEntitySelector)
{
@ -560,7 +560,7 @@
ArrayList var8 = new ArrayList();
for (int var9 = var4; var9 <= var5; ++var9)
@@ -3657,11 +3762,14 @@
@@ -3608,11 +3713,14 @@
*/
public void addLoadedEntities(List par1List)
{
@ -578,7 +578,7 @@
}
}
@@ -3695,6 +3803,11 @@
@@ -3646,6 +3754,11 @@
else
{
if (var9 != null && (var9 == Block.waterMoving || var9 == Block.waterStill || var9 == Block.lavaMoving || var9 == Block.lavaStill || var9 == Block.fire || var9.blockMaterial.isGroundCover()))
@ -590,7 +590,7 @@
{
var9 = null;
}
@@ -3912,7 +4025,7 @@
@@ -3863,7 +3976,7 @@
*/
public long getSeed()
{
@ -599,7 +599,7 @@
}
public long getTotalWorldTime()
@@ -3922,7 +4035,7 @@
@@ -3873,7 +3986,7 @@
public long getWorldTime()
{
@ -608,7 +608,7 @@
}
/**
@@ -3930,7 +4043,7 @@
@@ -3881,7 +3994,7 @@
*/
public void setWorldTime(long par1)
{
@ -617,7 +617,7 @@
}
/**
@@ -3938,13 +4051,13 @@
@@ -3889,13 +4002,13 @@
*/
public ChunkCoordinates getSpawnPoint()
{
@ -633,7 +633,7 @@
}
@SideOnly(Side.CLIENT)
@@ -3968,7 +4081,10 @@
@@ -3919,7 +4032,10 @@
if (!this.loadedEntityList.contains(par1Entity))
{
@ -645,7 +645,7 @@
}
}
@@ -3976,6 +4092,11 @@
@@ -3927,6 +4043,11 @@
* Called when checking if a certain block can be mined or not. The 'spawn safe zone' check is located here.
*/
public boolean canMineBlock(EntityPlayer par1EntityPlayer, int par2, int par3, int par4)
@ -657,7 +657,7 @@
{
return true;
}
@@ -4096,8 +4217,7 @@
@@ -4047,8 +4168,7 @@
*/
public boolean isBlockHighHumidity(int par1, int par2, int par3)
{
@ -667,7 +667,7 @@
}
/**
@@ -4159,7 +4279,7 @@
@@ -4110,7 +4230,7 @@
*/
public int getHeight()
{
@ -676,7 +676,7 @@
}
/**
@@ -4167,7 +4287,7 @@
@@ -4118,7 +4238,7 @@
*/
public int getActualHeight()
{
@ -685,7 +685,7 @@
}
public IUpdatePlayerListBox func_82735_a(EntityMinecart par1EntityMinecart)
@@ -4210,7 +4330,7 @@
@@ -4161,7 +4281,7 @@
*/
public double getHorizon()
{
@ -694,7 +694,7 @@
}
/**
@@ -4270,4 +4390,75 @@
@@ -4219,4 +4339,75 @@
return this.theCalendar;
}

View file

@ -135,20 +135,20 @@
if (this.checkChunksExist(var4.xCoord - var5, var4.yCoord - var5, var4.zCoord - var5, var4.xCoord + var5, var4.yCoord + var5, var4.zCoord + var5))
{
@@ -601,15 +626,27 @@
public List getAllTileEntityInBox(int par1, int par2, int par3, int par4, int par5, int par6)
@@ -602,16 +627,28 @@
{
ArrayList var7 = new ArrayList();
- Iterator var8 = this.loadedTileEntityList.iterator();
-
- while (var8.hasNext())
- for (int var8 = 0; var8 < this.loadedTileEntityList.size(); ++var8)
- {
- TileEntity var9 = (TileEntity)var8.next();
- TileEntity var9 = (TileEntity)this.loadedTileEntityList.get(var8);
-
- if (var9.xCoord >= par1 && var9.yCoord >= par2 && var9.zCoord >= par3 && var9.xCoord < par4 && var9.yCoord < par5 && var9.zCoord < par6)
- {
- var7.add(var9);
+
- }
- }
-
+ for(int x = (par1 >> 4); x <= (par4 >> 4); x++)
+ {
+ for(int z = (par3 >> 4); z <= (par6 >> 4); z++)
@ -169,10 +169,12 @@
+ }
+ }
+ }
}
}
+ }
+ }
return var7;
}
@@ -620,6 +657,11 @@
@@ -619,6 +656,11 @@
* Called when checking if a certain block can be mined or not. The 'spawn safe zone' check is located here.
*/
public boolean canMineBlock(EntityPlayer par1EntityPlayer, int par2, int par3, int par4)
@ -184,7 +186,7 @@
{
int var5 = MathHelper.abs_int(par2 - this.worldInfo.getSpawnX());
int var6 = MathHelper.abs_int(par4 - this.worldInfo.getSpawnZ());
@@ -629,7 +671,7 @@
@@ -628,7 +670,7 @@
var6 = var5;
}
@ -193,7 +195,7 @@
}
protected void initialize(WorldSettings par1WorldSettings)
@@ -712,7 +754,7 @@
@@ -711,7 +753,7 @@
*/
protected void createBonusChest()
{
@ -202,7 +204,7 @@
for (int var2 = 0; var2 < 10; ++var2)
{
@@ -755,6 +797,7 @@
@@ -754,6 +796,7 @@
}
this.chunkProvider.saveChunks(par1, par2IProgressUpdate);
@ -210,7 +212,7 @@
}
}
@@ -766,6 +809,7 @@
@@ -765,6 +808,7 @@
this.checkSessionLock();
this.saveHandler.saveWorldInfoWithPlayer(this.worldInfo, this.mcServer.getConfigurationManager().getTagsFromLastWrite());
this.mapStorage.saveAllData();
@ -218,7 +220,7 @@
}
/**
@@ -996,4 +1040,9 @@
@@ -987,4 +1031,9 @@
{
return this.field_85177_Q;
}

View file

@ -1,6 +1,6 @@
--- ../src_base/common/net/minecraft/src/WorldType.java
+++ ../src_work/common/net/minecraft/src/WorldType.java
@@ -218,8 +218,19 @@
@@ -213,8 +213,19 @@
{
return this == FLAT ? random.nextInt(4) != 1 : false;
}

View file

@ -1,6 +1,6 @@
--- ../src_base/minecraft/net/minecraft/client/Minecraft.java
+++ ../src_work/minecraft/net/minecraft/client/Minecraft.java
@@ -121,6 +121,9 @@
@@ -124,6 +124,9 @@
import net.minecraft.src.WorldInfo;
import net.minecraft.src.WorldRenderer;
import net.minecraft.src.WorldSettings;
@ -10,7 +10,7 @@
import org.lwjgl.LWJGLException;
import org.lwjgl.Sys;
@@ -1253,7 +1256,7 @@
@@ -1260,7 +1263,7 @@
if (this.thePlayer.canCurrentToolHarvestBlock(var3, var4, var5))
{
@ -19,7 +19,7 @@
this.thePlayer.swingItem();
}
}
@@ -1319,7 +1322,8 @@
@@ -1326,7 +1329,8 @@
{
int var8 = var3 != null ? var3.stackSize : 0;
@ -29,7 +29,7 @@
{
var2 = false;
this.thePlayer.swingItem();
@@ -1345,7 +1349,8 @@
@@ -1352,7 +1356,8 @@
{
ItemStack var9 = this.thePlayer.inventory.getCurrentItem();
@ -39,7 +39,7 @@
{
this.entityRenderer.itemRenderer.func_78445_c();
}
@@ -1985,6 +1990,18 @@
@@ -2026,6 +2031,18 @@
if (this.theIntegratedServer != null)
{
this.theIntegratedServer.initiateShutdown();
@ -58,7 +58,7 @@
}
this.theIntegratedServer = null;
@@ -2294,95 +2311,12 @@
@@ -2335,95 +2352,12 @@
if (this.objectMouseOver != null)
{
boolean var1 = this.thePlayer.capabilities.isCreativeMode;

View file

@ -1,26 +1,23 @@
--- ../src_base/minecraft/net/minecraft/src/EffectRenderer.java
+++ ../src_work/minecraft/net/minecraft/src/EffectRenderer.java
@@ -3,9 +3,19 @@
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
@@ -5,8 +5,16 @@
import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Iterator;
import java.util.Iterator;
import java.util.List;
+import java.util.Map.Entry;
import java.util.Random;
+
+import net.minecraftforge.client.ForgeHooksClient;
+import net.minecraftforge.common.ForgeHooks;
+import com.google.common.collect.ArrayListMultimap;
+import com.google.common.collect.Multimap;
+
import org.lwjgl.opengl.GL11;
+
+import com.google.common.collect.ArrayListMultimap;
+import com.google.common.collect.Multimap;
@SideOnly(Side.CLIENT)
public class EffectRenderer
@@ -18,6 +28,8 @@
@@ -20,6 +28,8 @@
/** RNG. */
private Random rand = new Random();
@ -29,23 +26,27 @@
public EffectRenderer(World par1World, RenderEngine par2RenderEngine)
{
if (par1World != null)
@@ -52,12 +64,27 @@
for (int var2 = 0; var2 < this.fxLayers[var1].size(); ++var2)
{
EntityFX var3 = (EntityFX)this.fxLayers[var1].get(var2);
- var3.onUpdate();
-
- if (var3.isDead)
+
+ if (var3 != null)
+ {
+ var3.onUpdate();
+ }
+
+ if (var3 == null || var3.isDead)
@@ -63,9 +73,13 @@
for (int var3 = 0; var3 < this.fxLayers[var1].size(); ++var3)
{
this.fxLayers[var1].remove(var2--);
}
var2 = (EntityFX)this.fxLayers[var1].get(var3);
- var2.onUpdate();
-
- if (var2.isDead)
+
+ if (var2 != null)
+ {
+ var2.onUpdate();
+ }
+
+ if (var2 == null || var2.isDead)
{
this.fxLayers[var1].remove(var3--);
}
@@ -78,6 +92,17 @@
var5.addCrashSectionCallable("Last ticked particle", new CallableLastTickedParticle(this, var2));
var5.addCrashSection("Texture index", Integer.valueOf(var1));
throw new ReportedException(var4);
+ }
+ }
+
@ -59,8 +60,8 @@
+ itr.remove();
}
}
}
@@ -107,6 +134,7 @@
@@ -136,6 +161,7 @@
for (int var11 = 0; var11 < this.fxLayers[var8].size(); ++var11)
{
EntityFX var12 = (EntityFX)this.fxLayers[var8].get(var11);
@ -68,7 +69,7 @@
var10.setBrightness(var12.getBrightnessForRender(par2));
var12.renderParticle(var10, par2, var3, var7, var4, var5, var6);
}
@@ -114,6 +142,27 @@
@@ -143,6 +169,27 @@
var10.draw();
GL11.glDisable(GL11.GL_BLEND);
}
@ -96,7 +97,7 @@
}
}
@@ -133,6 +182,7 @@
@@ -162,6 +209,7 @@
for (int var11 = 0; var11 < this.fxLayers[var9].size(); ++var11)
{
EntityFX var12 = (EntityFX)this.fxLayers[var9].get(var11);
@ -104,7 +105,7 @@
var10.setBrightness(var12.getBrightnessForRender(par2));
var12.renderParticle(var10, par2, var4, var8, var5, var6, var7);
}
@@ -147,13 +197,15 @@
@@ -176,13 +224,15 @@
{
this.fxLayers[var2].clear();
}
@ -123,7 +124,7 @@
byte var7 = 4;
for (int var8 = 0; var8 < var7; ++var8)
@@ -166,7 +218,7 @@
@@ -195,7 +245,7 @@
double var13 = (double)par2 + ((double)var9 + 0.5D) / (double)var7;
double var15 = (double)par3 + ((double)var10 + 0.5D) / (double)var7;
int var17 = this.rand.nextInt(6);
@ -132,7 +133,7 @@
}
}
}
@@ -218,12 +270,60 @@
@@ -247,12 +297,60 @@
var8 = (double)par1 + var6.getBlockBoundsMaxX() + (double)var7;
}

View file

@ -1,6 +1,6 @@
--- ../src_base/minecraft/net/minecraft/src/EntityRenderer.java
+++ ../src_work/minecraft/net/minecraft/src/EntityRenderer.java
@@ -8,6 +8,11 @@
@@ -7,6 +7,11 @@
import java.util.List;
import java.util.Random;
import net.minecraft.client.Minecraft;
@ -12,7 +12,7 @@
import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.GL11;
@@ -311,8 +316,15 @@
@@ -309,8 +314,15 @@
*/
private void updateFovModifierHand()
{
@ -30,7 +30,7 @@
this.fovModifierHandPrev = this.fovModifierHand;
this.fovModifierHand += (this.fovMultiplierTemp - this.fovModifierHand) * 0.5F;
}
@@ -328,7 +340,7 @@
@@ -326,7 +338,7 @@
}
else
{
@ -39,7 +39,7 @@
float var4 = 70.0F;
if (par2)
@@ -415,15 +427,7 @@
@@ -413,15 +425,7 @@
if (!this.mc.gameSettings.debugCamEnable)
{
@ -56,7 +56,7 @@
GL11.glRotatef(var2.prevRotationYaw + (var2.rotationYaw - var2.prevRotationYaw) * par1 + 180.0F, 0.0F, -1.0F, 0.0F);
GL11.glRotatef(var2.prevRotationPitch + (var2.rotationPitch - var2.prevRotationPitch) * par1, -1.0F, 0.0F, 0.0F);
}
@@ -1101,8 +1105,11 @@
@@ -1112,8 +1116,11 @@
var17 = (EntityPlayer)var4;
GL11.glDisable(GL11.GL_ALPHA_TEST);
this.mc.mcProfiler.endStartSection("outline");
@ -70,7 +70,7 @@
GL11.glEnable(GL11.GL_ALPHA_TEST);
}
}
@@ -1166,15 +1173,18 @@
@@ -1177,15 +1184,18 @@
var17 = (EntityPlayer)var4;
GL11.glDisable(GL11.GL_ALPHA_TEST);
this.mc.mcProfiler.endStartSection("outline");
@ -92,7 +92,7 @@
GL11.glDisable(GL11.GL_BLEND);
this.mc.mcProfiler.endStartSection("weather");
this.renderRainSnow(par1);
@@ -1184,6 +1194,9 @@
@@ -1195,6 +1205,9 @@
{
this.func_82829_a(var5, par1);
}

View file

@ -8,11 +8,11 @@
public class ModelBox
{
/**
@@ -99,6 +98,7 @@
@@ -95,6 +94,7 @@
/**
* Draw the six sided box defined by this ModelBox
*/
+ @SideOnly(Side.CLIENT)
public void render(Tessellator par1Tessellator, float par2)
{
TexturedQuad[] var3 = this.quadList;
for (int var3 = 0; var3 < this.quadList.length; ++var3)

View file

@ -1,6 +1,6 @@
--- ../src_base/minecraft/net/minecraft/src/ModelRenderer.java
+++ ../src_work/minecraft/net/minecraft/src/ModelRenderer.java
@@ -7,7 +7,6 @@
@@ -6,7 +6,6 @@
import java.util.List;
import org.lwjgl.opengl.GL11;
@ -8,7 +8,7 @@
public class ModelRenderer
{
/** The size of the texture file's width in pixels. */
@@ -120,7 +119,8 @@
@@ -119,7 +118,8 @@
this.rotationPointY = par2;
this.rotationPointZ = par3;
}
@ -18,7 +18,7 @@
public void render(float par1)
{
if (!this.isHidden)
@@ -213,6 +213,7 @@
@@ -202,6 +202,7 @@
}
}
@ -26,7 +26,7 @@
public void renderWithRotation(float par1)
{
if (!this.isHidden)
@@ -251,6 +252,7 @@
@@ -240,6 +241,7 @@
/**
* Allows the changing of Angles after a box has been rendered
*/
@ -34,7 +34,7 @@
public void postRender(float par1)
{
if (!this.isHidden)
@@ -295,6 +297,7 @@
@@ -284,6 +286,7 @@
/**
* Compiles a GL display list for this model
*/

View file

@ -12,7 +12,7 @@
import org.lwjgl.input.Keyboard;
@SideOnly(Side.CLIENT)
@@ -614,7 +619,7 @@
@@ -611,7 +616,7 @@
public void handleKickDisconnect(Packet255KickDisconnect par1Packet255KickDisconnect)
{
@ -21,7 +21,7 @@
this.disconnected = true;
this.mc.loadWorld((WorldClient)null);
this.mc.displayGuiScreen(new GuiDisconnected("disconnect.disconnected", "disconnect.genericReason", new Object[] {par1Packet255KickDisconnect.reason}));
@@ -680,7 +685,11 @@
@@ -677,7 +682,11 @@
public void handleChat(Packet3Chat par1Packet3Chat)
{
par1Packet3Chat = FMLNetworkHandler.handleChatMessage(this, par1Packet3Chat);
@ -34,7 +34,7 @@
}
public void handleAnimation(Packet18Animation par1Packet18Animation)
@@ -1065,6 +1074,10 @@
@@ -1059,6 +1068,10 @@
{
var2.readFromNBT(par1Packet132TileEntityData.customParam1);
}

View file

@ -11,7 +11,7 @@
import org.lwjgl.opengl.ARBOcclusionQuery;
import org.lwjgl.opengl.GL11;
@@ -895,6 +898,12 @@
@@ -882,6 +885,12 @@
*/
public void renderSky(float par1)
{
@ -24,7 +24,7 @@
if (this.mc.theWorld.provider.dimensionId == 1)
{
GL11.glDisable(GL11.GL_FOG);
@@ -1560,6 +1569,11 @@
@@ -1547,6 +1556,11 @@
public void drawBlockDamageTexture(Tessellator par1Tessellator, EntityPlayer par2EntityPlayer, float par3)
{
@ -36,7 +36,7 @@
double var4 = par2EntityPlayer.lastTickPosX + (par2EntityPlayer.posX - par2EntityPlayer.lastTickPosX) * (double)par3;
double var6 = par2EntityPlayer.lastTickPosY + (par2EntityPlayer.posY - par2EntityPlayer.lastTickPosY) * (double)par3;
double var8 = par2EntityPlayer.lastTickPosZ + (par2EntityPlayer.posZ - par2EntityPlayer.lastTickPosZ) * (double)par3;
@@ -1828,6 +1842,7 @@
@@ -1817,6 +1831,7 @@
double var17 = this.mc.renderViewEntity.posY - par4;
double var19 = this.mc.renderViewEntity.posZ - par6;
EntityFX var21 = null;
@ -44,7 +44,7 @@
if (par1Str.equals("hugeexplosion"))
{
@@ -1960,6 +1975,7 @@
@@ -1949,6 +1964,7 @@
else if (par1Str.equals("snowballpoof"))
{
var21 = new EntityBreakingFX(this.theWorld, par2, par4, par6, Item.snowball);
@ -52,7 +52,7 @@
}
else if (par1Str.equals("dripWater"))
{
@@ -1976,6 +1992,7 @@
@@ -1965,6 +1981,7 @@
else if (par1Str.equals("slime"))
{
var21 = new EntityBreakingFX(this.theWorld, par2, par4, par6, Item.slimeBall);
@ -60,7 +60,7 @@
}
else if (par1Str.equals("heart"))
{
@@ -1997,6 +2014,7 @@
@@ -1986,6 +2003,7 @@
{
int var27 = Integer.parseInt(par1Str.substring(par1Str.indexOf("_") + 1));
var21 = new EntityBreakingFX(this.theWorld, par2, par4, par6, par8, par10, par12, Item.itemsList[var27]);
@ -68,16 +68,16 @@
}
else if (par1Str.startsWith("tilecrack_"))
{
@@ -2004,11 +2022,13 @@
@@ -1993,11 +2011,12 @@
int var25 = Integer.parseInt(var28[1]);
int var26 = Integer.parseInt(var28[2]);
var21 = new EntityDiggingFX(this.theWorld, par2, par4, par6, par8, par10, par12, Block.blocksList[var25], 0, var26);
var21 = (new EntityDiggingFX(this.theWorld, par2, par4, par6, par8, par10, par12, Block.blocksList[var25], 0, var26)).func_90019_g(var26);
+ effectObject = Block.blocksList[var25];
}
if (var21 != null)
{
this.mc.effectRenderer.addEffect((EntityFX)var21);
- this.mc.effectRenderer.addEffect((EntityFX)var21);
+ this.mc.effectRenderer.addEffect((EntityFX)var21, effectObject);
}

View file

@ -9,79 +9,79 @@
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
@@ -55,13 +57,16 @@
@@ -58,13 +60,16 @@
GL11.glTranslatef((float)par2, (float)par4 + var11, (float)par6);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- Block var14 = Block.blocksList[var10.itemID];
int var16;
float var19;
float var20;
float var24;
GL11.glTranslatef((float)par2, (float)par4 + var11, (float)par6);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- Block var14 = Block.blocksList[var10.itemID];
int var16;
float var19;
float var20;
float var24;
- if (var14 != null && RenderBlocks.renderItemIn3d(var14.getRenderType()))
+ if (ForgeHooksClient.renderEntityItem(par1EntityItem, var10, var11, var12, random, renderManager.renderEngine, renderBlocks))
+ {
+ ;
+ }
+ else if (var10.getItem() instanceof ItemBlock && RenderBlocks.renderItemIn3d(Block.blocksList[var10.itemID].getRenderType()))
{
GL11.glRotatef(var12, 0.0F, 1.0F, 0.0F);
@@ -72,9 +77,9 @@
GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
}
- this.loadTexture("/terrain.png");
+ this.loadTexture(Block.blocksList[var10.itemID].getTextureFile());
float var22 = 0.25F;
- var16 = var14.getRenderType();
+ var16 = Block.blocksList[var10.itemID].getRenderType();
if (var16 == 1 || var16 == 19 || var16 == 12 || var16 == 2)
- if (var14 != null && RenderBlocks.renderItemIn3d(var14.getRenderType()))
+ if (ForgeHooksClient.renderEntityItem(par1EntityItem, var10, var11, var12, random, renderManager.renderEngine, renderBlocks))
+ {
+ ;
+ }
+ else if (var10.getItem() instanceof ItemBlock && RenderBlocks.renderItemIn3d(Block.blocksList[var10.itemID].getRenderType()))
{
@@ -96,7 +101,7 @@
GL11.glRotatef(var12, 0.0F, 1.0F, 0.0F);
@@ -75,9 +80,9 @@
GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
}
var24 = 1.0F;
- this.renderBlocks.renderBlockAsItem(var14, var10.getItemDamage(), var24);
+ this.renderBlocks.renderBlockAsItem(Block.blocksList[var10.itemID], var10.getItemDamage(), var24);
GL11.glPopMatrix();
}
}
@@ -118,10 +123,11 @@
GL11.glScalef(0.5F, 0.5F, 0.5F);
}
- this.loadTexture("/terrain.png");
+ this.loadTexture(Block.blocksList[var10.itemID].getTextureFile());
float var22 = 0.25F;
- var16 = var14.getRenderType();
+ var16 = Block.blocksList[var10.itemID].getRenderType();
- this.loadTexture("/gui/items.png");
-
- for (var15 = 0; var15 <= 1; ++var15)
- {
+ this.loadTexture(Item.itemsList[var10.itemID].getTextureFile());
+
+ for (var15 = 0; var15 < var10.getItem().getRenderPasses(var10.getItemDamage()); ++var15)
+ {
+ this.random.setSeed(187L); //Fixes Vanilla bug where layers would not render aligns properly.
var16 = var10.getItem().getIconFromDamageForRenderPass(var10.getItemDamage(), var15);
var17 = 1.0F;
@@ -152,14 +158,7 @@
var15 = var10.getIconIndex();
- if (var14 != null)
- {
- this.loadTexture("/terrain.png");
- }
- else
- {
- this.loadTexture("/gui/items.png");
- }
+ this.loadTexture(var10.getItem().getTextureFile());
if (this.field_77024_a)
if (var16 == 1 || var16 == 19 || var16 == 12 || var16 == 2)
{
@@ -227,10 +226,10 @@
@@ -99,7 +104,7 @@
}
var24 = 1.0F;
- this.renderBlocks.renderBlockAsItem(var14, var10.getItemDamage(), var24);
+ this.renderBlocks.renderBlockAsItem(Block.blocksList[var10.itemID], var10.getItemDamage(), var24);
GL11.glPopMatrix();
}
}
@@ -121,10 +126,11 @@
GL11.glScalef(0.5F, 0.5F, 0.5F);
}
- this.loadTexture("/gui/items.png");
-
- for (var15 = 0; var15 <= 1; ++var15)
- {
+ this.loadTexture(Item.itemsList[var10.itemID].getTextureFile());
+
+ for (var15 = 0; var15 <= var10.getItem().getRenderPasses(var10.getItemDamage()); ++var15)
+ {
+ this.random.setSeed(187L); //Fixes Vanilla bug where layers would not render aligns properly.
var16 = var10.getItem().getIconFromDamageForRenderPass(var10.getItemDamage(), var15);
var17 = 1.0F;
@@ -155,14 +161,7 @@
var15 = var10.getIconIndex();
- if (var14 != null)
- {
- this.loadTexture("/terrain.png");
- }
- else
- {
- this.loadTexture("/gui/items.png");
- }
+ var10.getItem().getTextureFile();
if (this.field_77024_a)
{
@@ -231,10 +230,10 @@
float var13;
float var16;
@ -95,7 +95,7 @@
GL11.glPushMatrix();
GL11.glTranslatef((float)(par4 - 2), (float)(par5 + 3), -3.0F + this.zLevel);
GL11.glScalef(10.0F, 10.0F, 10.0F);
@@ -261,9 +260,9 @@
@@ -265,9 +264,9 @@
if (Item.itemsList[var6].requiresMultipleRenderPasses())
{
GL11.glDisable(GL11.GL_LIGHTING);
@ -108,7 +108,7 @@
{
var10 = Item.itemsList[var6].getIconFromDamageForRenderPass(var7, var9);
int var11 = Item.itemsList[var6].getColorFromItemStack(par3ItemStack, var9);
@@ -285,14 +284,7 @@
@@ -289,14 +288,7 @@
{
GL11.glDisable(GL11.GL_LIGHTING);
@ -124,7 +124,7 @@
var9 = Item.itemsList[var6].getColorFromItemStack(par3ItemStack, 0);
float var17 = (float)(var9 >> 16 & 255) / 255.0F;
@@ -319,7 +311,10 @@
@@ -323,7 +315,10 @@
{
if (par3ItemStack != null)
{

View file

@ -22,7 +22,7 @@
NodeList var5 = var4.getElementsByTagName("Contents");
for (int var6 = 0; var6 < 2; ++var6)
@@ -172,7 +178,11 @@
@@ -168,7 +174,11 @@
private void downloadResource(URL par1URL, File par2File, long par3) throws IOException
{
byte[] var5 = new byte[4096];