Updated FML:

MinecraftForge/FML@1d0384f8f6 Update for 1.6.2 and MCP 8.04
MinecraftForge/FML@111b0216fd Add the jsons for 1.6.2
MinecraftForge/FML@6f96d89e2b Update eclipse workspaces for 1.6.2
This commit is contained in:
LexManos 2013-07-07 14:03:19 -07:00
parent 499610e44f
commit 85fd1d010d
34 changed files with 341 additions and 328 deletions

View file

@ -772,7 +772,7 @@ public class GuiIngameForge extends GuiIngame
{
GuiPlayerInfo player = (GuiPlayerInfo)players.get(i);
ScorePlayerTeam team = mc.theWorld.getScoreboard().getPlayersTeam(player.name);
String displayName = ScorePlayerTeam.func_96667_a(team, player.name);
String displayName = ScorePlayerTeam.formatPlayerName(team, player.name);
fontrenderer.drawStringWithShadow(displayName, xPos, yPos, 16777215);
if (scoreobjective != null)
@ -783,7 +783,7 @@ public class GuiIngameForge extends GuiIngame
if (maxX - endX > 5)
{
Score score = scoreobjective.getScoreboard().func_96529_a(player.name, scoreobjective);
String scoreDisplay = EnumChatFormatting.YELLOW + "" + score.func_96652_c();
String scoreDisplay = EnumChatFormatting.YELLOW + "" + score.getScorePoints();
fontrenderer.drawStringWithShadow(scoreDisplay, maxX - fontrenderer.getStringWidth(scoreDisplay), yPos, 16777215);
}
}

View file

@ -1,164 +1,165 @@
#Main Forge Access Transformer configuration file
# Tessellator
public-f bff.a #FD:Tessellator/field_78398_a #instance
public bff.u #FD:Tessellator/field_78409_u #drawMode
public bff.v #FD:Tessellator/field_78408_v #xOffset
public bff.w #FD:Tessellator/field_78407_w #yOffset
public bff.x #FD:Tessellator/field_78417_x #zOffset
public bff.z #FD:Tessellator/field_78415_z #isDrawing
public-f bfn.a #FD:Tessellator/field_78398_a #instance
public bfn.u #FD:Tessellator/field_78409_u #drawMode
public bfn.v #FD:Tessellator/field_78408_v #xOffset
public bfn.w #FD:Tessellator/field_78407_w #yOffset
public bfn.x #FD:Tessellator/field_78417_x #zOffset
public bfn.z #FD:Tessellator/field_78415_z #isDrawing
# ItemPickaxe
public yi.<init>(ILxy;)V #MD:ItemPickaxe/<init>(ILnet/minecraft/src/EnumToolMaterial;) #constructor
public+f yi.c #FD:ItemPickaxe/field_77867_c #blocksEffectiveAgainst
public ym.<init>(ILyc;)V #MD:ItemPickaxe/<init>(ILnet/minecraft/src/EnumToolMaterial;) #constructor
public+f ym.c #FD:ItemPickaxe/field_77867_c #blocksEffectiveAgainst
# ItemAxe
public xv.<init>(ILxy;)V #MD:ItemAxe/<init>(ILnet/minecraft/src/EnumToolMaterial;) #constructor
public+f xv.c #FD:ItemAxe/field_77868_c #blocksEffectiveAgainst
public xz.<init>(ILyc;)V #MD:ItemAxe/<init>(ILnet/minecraft/src/EnumToolMaterial;) #constructor
public+f xz.c #FD:ItemAxe/field_77868_c #blocksEffectiveAgainst
# ItemSpade
public yt.<init>(ILxy;)V #MD:ItemSpade/<init>(ILnet/minecraft/src/EnumToolMaterial;) #constructor
public+f yt.c #FD:ItemSpade/field_77866_c #blocksEffectiveAgainst
public yx.<init>(ILyc;)V #MD:ItemSpade/<init>(ILnet/minecraft/src/EnumToolMaterial;) #constructor
public+f yx.c #FD:ItemSpade/field_77866_c #blocksEffectiveAgainst
# ItemTool
public xe.a #FD:ItemTool/field_77864_a #efficiencyOnProperMaterial
public xe.d #FD:ItemTool/field_77865_bY #damageVsEntity
public xi.a #FD:ItemTool/field_77864_a #efficiencyOnProperMaterial
public xi.d #FD:ItemTool/field_77865_bY #damageVsEntity
# EntityEnderman
public td.br #FD:EntityEnderman/field_70827_d #carriableBlocks
public tf.br #FD:EntityEnderman/field_70827_d #carriableBlocks
# RenderEngine
# -- MISSING MAPPING public bge.f(Ljava/lang/String;)I #MD:RenderEngine/func_78341_b #getTexture
# -- MISSING MAPPING public bge.i #FD:RenderEngine/field_94154_l #terrainTextureMap
# -- MISSING MAPPING public bge.j #FD:RenderEngine/field_94155_m #itemTextureMap
# RenderGlobal
public bfa.k #FD:RenderGlobal/field_72769_h #theWorld
public bfa.l #FD:RenderGlobal/field_72770_i #renderEngine
public bfa.t #FD:RenderGlobal/field_72777_q #mc
public bfa.u #FD:RenderGlobal/field_72776_r #globalRenderBlocks
public bfa.H #FD:RenderGlobal/field_72738_E #damagedBlocks
public bfi.k #FD:RenderGlobal/field_72769_h #theWorld
public bfi.l #FD:RenderGlobal/field_72770_i #renderEngine
public bfi.t #FD:RenderGlobal/field_72777_q #mc
public bfi.u #FD:RenderGlobal/field_72776_r #globalRenderBlocks
public bfi.H #FD:RenderGlobal/field_72738_E #damagedBlocks
# SoundManager
public blc.b #FD:SoundManager/field_77381_a #sndSystem
public blc.d #FD:SoundManager/field_77379_b #soundPoolSounds
public blc.e #FD:SoundManager/field_77380_c #soundPoolStreaming
public blc.f #FD:SoundManager/field_77377_d #soundPoolMusic
public blk.b #FD:SoundManager/field_77381_a #sndSystem
public blk.d #FD:SoundManager/field_77379_b #soundPoolSounds
public blk.e #FD:SoundManager/field_77380_c #soundPoolStreaming
public blk.f #FD:SoundManager/field_77377_d #soundPoolMusic
# EntityMinecart
protected sq.* #FD:EntityMinecart/* # All private -> protected
protected ss.* #FD:EntityMinecart/* # All private -> protected
# -- MISSING MAPPING public py.h()Z #MD:EntityMinecart/func_70490_h #isMinecartPowered
# Block
public aqs.<init>(ILajv;)V #MD:Block/<init>(ILnet/minecraft/src/Material;) #Constructor
public aqs.<init>(IILajv;)V #MD:Block/<init>(IILnet/minecraft/src/Material;) #Constructor
public aqs.cH #FD:Block/field_72029_cc #blockResistance
public aqs.cG #FD:Block/field_71989_cb #blockHardness
public aqs.d(Ljava/lang/String;)Laqs; #MD:Block/func_111022_d #setIconName
public aqw.<init>(ILajz;)V #MD:Block/<init>(ILnet/minecraft/src/Material;) #Constructor
public aqw.<init>(IILajz;)V #MD:Block/<init>(IILnet/minecraft/src/Material;) #Constructor
public aqw.cH #FD:Block/field_72029_cc #blockResistance
public aqw.cG #FD:Block/field_71989_cb #blockHardness
public aqw.d(Ljava/lang/String;)Laqw; #MD:Block/func_111022_d #setIconName
# -- MISSING MAPPING public amq.r()Lamq; #MD:Block/func_71912_p #setRequiresSelfNotify
public aqs.a(Laqw;)Laqs; #MD:Block/func_71884_a #setStepSound
public aqs.b(F)Laqs; #MD:Block/func_71894_b #setResistance
public aqs.c(F)Laqs; #MD:Block/func_71848_c #setHardness
public aqs.k(I)Laqs; #MD:Block/func_71868_h #setLightOpacity
public aqs.a(F)Laqs; #MD:Block/func_71900_a #setLightValue
public aqs.r()Laqs; #MD:Block/func_71875_q #setBlockUnbreakable
public aqs.b(Z)Laqs; #MD:Block/func_71907_b #setTickRandomly
public aqs.a(FFFFFF)V #MD:Block/func_71905_a #setBlockBounds
public aqw.a(Lara;)Laqw; #MD:Block/func_71884_a #setStepSound
public aqw.b(F)Laqw; #MD:Block/func_71894_b #setResistance
public aqw.c(F)Laqw; #MD:Block/func_71848_c #setHardness
public aqw.k(I)Laqw; #MD:Block/func_71868_h #setLightOpacity
public aqw.a(F)Laqw; #MD:Block/func_71900_a #setLightValue
public aqw.r()Laqw; #MD:Block/func_71875_q #setBlockUnbreakable
public aqw.b(Z)Laqw; #MD:Block/func_71907_b #setTickRandomly
public aqw.a(FFFFFF)V #MD:Block/func_71905_a #setBlockBounds
# NetServerHandler
public jx.f #FD:NetServerHandler/field_72572_g #playerInAirTime
public jz.f #FD:NetServerHandler/field_72572_g #playerInAirTime
# TileEntity
public asi.k #FD:TileEntity/field_70331_k #worldObj
public asm.k #FD:TileEntity/field_70331_k #worldObj
# BlockLeavesBase
public ara.d #FD:BlockLeavesBase/field_72131_c #graphicsLevel
public are.d #FD:BlockLeavesBase/field_72131_c #graphicsLevel
# Item
public xx.<init>(I)V #MD:Item/<init>(I) #Constructor
public xx.e(I)Lxx; #MD:Item/func_77656_e #setMaxDamage
public-f xx.h(Lxz;)Lmp; #MD:Item/func_77650_f #getIconIndex
public xx.c(Ljava/lang/String;)Lxx; #MD:Item/func_77631_c #setPotionEffect
public yb.<init>(I)V #MD:Item/<init>(I) #Constructor
public yb.e(I)Lyb; #MD:Item/func_77656_e #setMaxDamage
public-f yb.h(Lyd;)Lmr; #MD:Item/func_77650_f #getIconIndex
public yb.c(Ljava/lang/String;)Lyb; #MD:Item/func_77631_c #setPotionEffect
public yb.d(Ljava/lang/String;)Lyb; #MD:Item/func_111206_d #setIconName
# RailLogic
public ams #CL:BlockBaseRailLogic
public ams.a()I #MD:BlockBaseRailLogic/func_94505_a #getNAdjacentTiles
public amw #CL:BlockBaseRailLogic
public amw.a()I #MD:BlockBaseRailLogic/func_94505_a #getNAdjacentTiles
# EntityPlayer
public ua.a(Lsp;)V #MD:EntityPlayer/func_71012_a #joinEntityItemWithWorld
public ua.i()V #MD:EntityPlayer/func_71053_j #closeScreen
public ua.b #FD:EntityPlayer/field_71076_b #sleepTimer
public ue.a(Lsr;)V #MD:EntityPlayer/func_71012_a #joinEntityItemWithWorld
public ue.i()V #MD:EntityPlayer/func_71053_j #closeScreen
public ue.b #FD:EntityPlayer/field_71076_b #sleepTimer
# EntityPlayerMP
public bcx.a(Lsp;)V #MD:EntityClientPlayerMP/func_71012_a #joinEntityItemWithWorld
public bdf.a(Lsr;)V #MD:EntityClientPlayerMP/func_71012_a #joinEntityItemWithWorld
# World Gen Chests Related
public mh.* #FD:WeightedRandomChestContent/* #all
public jp.T #FD:WorldServer/field_73069_S #bonusChestContent
public agc.a #FD:StructureMineshaftPieces/field_78818_a #mineshaftChestContents
public ahg.i #FD:ComponentScatteredFeatureDesertPyramid/field_74941_i #itemsToGenerateInTemple
public ahh.l #FD:ComponentScatteredFeatureJunglePyramid/field_74943_l #junglePyramidsChestContents
public ahh.m #FD:ComponentScatteredFeatureJunglePyramid/field_74944_m #junglePyramidsDispenserContents
public ahr.a #FD:ComponentStrongholdChestCorridor/field_75003_a #strongholdChestContents
public ahv.b #FD:ComponentStrongholdLibrary/field_75007_b #strongholdLibraryChestContents
public aia.c #FD:ComponentStrongholdRoomCrossing/field_75014_c #strongholdCorridorChestContents
public ajb.a #FD:ComponentVillageHouse2/field_74918_a #villageBlacksmithChestContents
public afk.a #FD:WorldGenDungeons/field_111189_a #chestContents
public mj.* #FD:WeightedRandomChestContent/* #all
public jr.T #FD:WorldServer/field_73069_S #bonusChestContent
public agg.a #FD:StructureMineshaftPieces/field_78818_a #mineshaftChestContents
public ahk.i #FD:ComponentScatteredFeatureDesertPyramid/field_74941_i #itemsToGenerateInTemple
public ahl.l #FD:ComponentScatteredFeatureJunglePyramid/field_74943_l #junglePyramidsChestContents
public ahl.m #FD:ComponentScatteredFeatureJunglePyramid/field_74944_m #junglePyramidsDispenserContents
public ahv.a #FD:ComponentStrongholdChestCorridor/field_75003_a #strongholdChestContents
public ahz.b #FD:ComponentStrongholdLibrary/field_75007_b #strongholdLibraryChestContents
public aie.c #FD:ComponentStrongholdRoomCrossing/field_75014_c #strongholdCorridorChestContents
public ajf.a #FD:ComponentVillageHouse2/field_74918_a #villageBlacksmithChestContents
public afo.a #FD:WorldGenDungeons/field_111189_a #chestContents
# AnvilChunkLoader.chunkSaveLocation
public adz.d #FD:AnvilChunkLoader/field_75825_d
public aed.d #FD:AnvilChunkLoader/field_75825_d
# ChunkProviderServer.currentChunkLoader
public jo.e #FD:ChunkProviderServer/field_73247_e
public jq.e #FD:ChunkProviderServer/field_73247_e
# PlayerManager
public jm.a(IIZ)Ljn; #MD:PlayerManager/func_72690_a #getOrCreateChunkWatcher
public jo.a(IIZ)Ljp; #MD:PlayerManager/func_72690_a #getOrCreateChunkWatcher
# PlayerInstance
public jn #CL:PlayerInstance
public jp #CL:PlayerInstance
# World
public-f abr.A #FD:World/field_72982_D #villageCollectionObj
public abr.G #FD:World/field_72993_I #activeChunkSet
public-f abv.A #FD:World/field_72982_D #villageCollectionObj
public abv.G #FD:World/field_72993_I #activeChunkSet
# EntityLiving
public od.b #FD:EntityLiving/field_70728_aV #experienceValue
public of.b #FD:EntityLiving/field_70728_aV #experienceValue
# -- MISSING MAPPING public ng.bt #FD:EntityLiving/field_94063_bt #combatTracker
public od.d #FD:EntityLiving/field_70715_bh #targetTasks
public of.d #FD:EntityLiving/field_70715_bh #targetTasks
# GuiFlatPresets
public avq.a(Ljava/lang/String;ILacl;Ljava/util/List;[Lafy;)V #MD:GuiFlatPresets/func_82294_a
public avq.a(Ljava/lang/String;ILacl;[Lafy;)V #MD:GuiFlatPresets/func_82297_a
public avw.a(Ljava/lang/String;ILacp;Ljava/util/List;[Lagc;)V #MD:GuiFlatPresets/func_82294_a
public avw.a(Ljava/lang/String;ILacp;[Lagc;)V #MD:GuiFlatPresets/func_82297_a
# BiomeGenBase
public acl.*() #MD:BiomeGenBase/* #Everything protected->public
public acp.*() #MD:BiomeGenBase/* #Everything protected->public
# MapGenVillage
public-f aip.e #FD:MapGenVillage/field_75055_e #villageSpawnBiomes
public-f ait.e #FD:MapGenVillage/field_75055_e #villageSpawnBiomes
# ShapedRecipes
public+f aad.d #FD:ShapedRecipes/field_77574_d #recipeItems
public+f aad.b #FD:ShapedRecipes/field_77576_b #recipeWidth
public+f aad.c #FD:ShapedRecipes/field_77577_c #recipeHeight
public+f aah.d #FD:ShapedRecipes/field_77574_d #recipeItems
public+f aah.b #FD:ShapedRecipes/field_77576_b #recipeWidth
public+f aah.c #FD:ShapedRecipes/field_77577_c #recipeHeight
# ShapelessRecipes
public aae.b #FD:ShapelessRecipes/field_77579_b #recipeItems
public aai.b #FD:ShapelessRecipes/field_77579_b #recipeItems
# GuiContainer
protected awp.a(Lvz;)V #MD:GuiContainer/func_74192_a #drawSlotInventory
protected awv.a(Lwd;)V #MD:GuiContainer/func_74192_a #drawSlotInventory
# ContainerPlayer
protected vq.h #FD:ContainerPlayer/field_82862_h #player
protected vu.h #FD:ContainerPlayer/field_82862_h #player
# BlockButton
protected amy.n(Labr;III)V #MD:BlockButton/func_82535_o #checkActivation
protected-f amy.a #FD:BlockButton/field_82537_a #sensible
protected anc.n(Labv;III)V #MD:BlockButton/func_82535_o #checkActivation
protected-f anc.a #FD:BlockButton/field_82537_a #sensible
# BiomeDecorator
public acp.* #FD:BiomeDecorator/* # All private -> protected
public act.* #FD:BiomeDecorator/* # All private -> protected
# CreativeTabs
public-f wr.a #FD:CreativeTabs/field_78032_a # creativeTabArray non-final
public-f wv.a #FD:CreativeTabs/field_78032_a # creativeTabArray non-final
# Packet
public ex.a(IZZLjava/lang/Class;)V #MD:Packet/func_73285_a #addIdClassMapping
# SaveHandler
public alj.b()Ljava/io/File; #MD:SaveHandler/func_75765_b
public aln.b()Ljava/io/File; #MD:SaveHandler/func_75765_b
# World stuff
public abr.b(Lnk;)V #MD:World/func_72847_b #releaseEntitySkin
public abr.m #FD:World/field_73003_n #prevRainingStrength
public abr.n #FD:World/field_73004_o #rainingStrength
public abr.p #FD:World/field_73017_q #thunderingStrength
public abr.o #FD:World/field_73018_p #prevThunderingStrength
public abv.b(Lnm;)V #MD:World/func_72847_b #releaseEntitySkin
public abv.m #FD:World/field_73003_n #prevRainingStrength
public abv.n #FD:World/field_73004_o #rainingStrength
public abv.p #FD:World/field_73017_q #thunderingStrength
public abv.o #FD:World/field_73018_p #prevThunderingStrength
#WorldClient
public bcu.b(Lnk;)V #MD:WorldClient/func_72847_b #releaseEntitySkin
public bda.b(Lnm;)V #MD:WorldClient/func_72847_b #releaseEntitySkin
#WorldServer
public jp.b(Lnk;)V #MD:WorldServer/func_72847_b #releaseEntitySkin
public jp.N #FD:WorldServer/field_73068_P #allPlayersSleeping
public jr.b(Lnm;)V #MD:WorldServer/func_72847_b #releaseEntitySkin
public jr.N #FD:WorldServer/field_73068_P #allPlayersSleeping
#TextureMap
public bhz.g #FD:TextureMap/field_94255_a
public bih.g #FD:TextureMap/field_94255_a
# -- MISSING MAPPING public bir.b #FD:TextureMap/field_94253_b
public bhz.h #FD:TextureMap/field_94254_c
public bih.h #FD:TextureMap/field_94254_c
# -- MISSING MAPPING public bir.d #FD:TextureMap/field_94251_d
#Potion
public nf.b(II)Lnf; #MD:Potion/func_76399_b #setIconIndex
public nh.b(II)Lnh; #MD:Potion/func_76399_b #setIconIndex
#PotionHelper
public zk.m #FD:PotionHelper/field_77927_l #potionRequirements
public zk.n #FD:PotionHelper/field_77928_m #potionAmplifiers
public zo.m #FD:PotionHelper/field_77927_l #potionRequirements
public zo.n #FD:PotionHelper/field_77928_m #potionAmplifiers
#PotionEffect
public ng.b #FD:PotionEffect/field_76460_b #duration
public ni.b #FD:PotionEffect/field_76460_b #duration
#BlockFluid
protected aov.a #FD:BlockFluid/field_94425_a #theIcon
protected aoz.a #FD:BlockFluid/field_94425_a #theIcon
#GuiIngame
protected ava.* #FD:GuiIngame/* # All private -> protected
protected ava.*() #MD:GuiIngame/* # All private -> protected
protected avg.* #FD:GuiIngame/* # All private -> protected
protected avg.*() #MD:GuiIngame/* # All private -> protected
#ItemStack
default xz.f #FD:ItemStack/field_77991_e # make default access for itemDamage
default yd.f #FD:ItemStack/field_77991_e # make default access for itemDamage
#GuiSlot
protected avx.b(IIII)V #MD:GuiSlot/func_77206_b #overlayBackground
protected awd.b(IIII)V #MD:GuiSlot/func_77206_b #overlayBackground
#EntityPlayer
public ua.bu #FD:EntityPlayer/field_71092_bJ #username
public ue.bu #FD:EntityPlayer/field_71092_bJ #username

Binary file not shown.

2
fml

@ -1 +1 @@
Subproject commit adc89722770b7319884619cadc6f10cc9050df24
Subproject commit 6f96d89e2bf9313b26eeb4c334a208bf3e1c9ad4

View file

@ -86,7 +86,7 @@
}
@SideOnly(Side.CLIENT)
@@ -645,7 +665,13 @@
@@ -646,7 +666,13 @@
/**
* ejects contained items into the world, and notifies neighbours of an update, as appropriate
*/
@ -101,7 +101,7 @@
/**
* Returns the quantity of items to drop on block destruction.
@@ -670,7 +696,7 @@
@@ -671,7 +697,7 @@
public float getPlayerRelativeBlockHardness(EntityPlayer par1EntityPlayer, World par2World, int par3, int par4, int par5)
{
float f = this.getBlockHardness(par2World, par3, par4, par5);
@ -110,7 +110,7 @@
}
/**
@@ -688,18 +714,13 @@
@@ -689,18 +715,13 @@
{
if (!par1World.isRemote)
{
@ -133,7 +133,7 @@
}
}
}
@@ -932,7 +953,8 @@
@@ -933,7 +954,8 @@
public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4)
{
int l = par1World.getBlockId(par2, par3, par4);
@ -143,7 +143,7 @@
}
/**
@@ -1092,7 +1114,7 @@
@@ -1093,7 +1115,7 @@
par2EntityPlayer.addStat(StatList.mineBlockStatArray[this.blockID], 1);
par2EntityPlayer.addExhaustion(0.025F);
@ -152,7 +152,7 @@
{
ItemStack itemstack = this.createStackedBlock(par6);
@@ -1108,12 +1130,13 @@
@@ -1109,12 +1131,13 @@
}
}
@ -167,7 +167,7 @@
}
/**
@@ -1453,4 +1476,952 @@
@@ -1454,4 +1477,952 @@
canBlockGrass[0] = true;
StatList.initBreakableStats();
}

View file

@ -1,6 +1,6 @@
--- ../src_base/minecraft/net/minecraft/client/Minecraft.java
+++ ../src_work/minecraft/net/minecraft/client/Minecraft.java
@@ -136,6 +136,14 @@
@@ -137,6 +137,14 @@
import com.google.common.collect.MapDifference;
@ -15,7 +15,7 @@
@SideOnly(Side.CLIENT)
public class Minecraft implements IPlayerUsage
{
@@ -414,7 +422,7 @@
@@ -416,7 +424,7 @@
try
{
@ -24,7 +24,7 @@
}
catch (LWJGLException lwjglexception)
{
@@ -493,7 +501,7 @@
@@ -497,7 +505,7 @@
this.effectRenderer = new EffectRenderer(this.theWorld, this.renderEngine);
FMLClientHandler.instance().finishMinecraftLoading();
this.checkGLError("Post startup");
@ -33,16 +33,16 @@
if (this.serverName != null)
{
@@ -1296,7 +1304,7 @@
@@ -1300,7 +1308,7 @@
if (this.thePlayer.canCurrentToolHarvestBlock(j, k, l))
if (this.thePlayer.isCurrentToolAdventureModeExempt(j, k, l))
{
- this.effectRenderer.addBlockHitEffects(j, k, l, this.objectMouseOver.sideHit);
+ this.effectRenderer.addBlockHitEffects(j, k, l, this.objectMouseOver);
this.thePlayer.swingItem();
}
}
@@ -1362,7 +1370,8 @@
@@ -1366,7 +1374,8 @@
{
int j1 = itemstack != null ? itemstack.stackSize : 0;
@ -52,7 +52,7 @@
{
flag = false;
this.thePlayer.swingItem();
@@ -1388,7 +1397,8 @@
@@ -1392,7 +1401,8 @@
{
ItemStack itemstack1 = this.thePlayer.inventory.getCurrentItem();
@ -62,7 +62,7 @@
{
this.entityRenderer.itemRenderer.resetEquippedProgress2();
}
@@ -2036,6 +2046,11 @@
@@ -2046,6 +2056,11 @@
{
this.statFileWriter.syncStats();
@ -74,7 +74,7 @@
if (par1WorldClient == null)
{
NetClientHandler netclienthandler = this.getNetHandler();
@@ -2053,6 +2068,18 @@
@@ -2063,6 +2078,18 @@
if (this.theIntegratedServer != null)
{
this.theIntegratedServer.initiateShutdown();
@ -93,7 +93,7 @@
}
this.theIntegratedServer = null;
@@ -2223,103 +2250,12 @@
@@ -2236,107 +2263,12 @@
if (this.objectMouseOver != null)
{
boolean flag = this.thePlayer.capabilities.isCreativeMode;
@ -136,6 +136,10 @@
- {
- j = Item.painting.itemID;
- }
- else if (this.objectMouseOver.entityHit instanceof EntityLeashKnot)
- {
- j = Item.field_111214_ch.itemID;
- }
- else if (this.objectMouseOver.entityHit instanceof EntityItemFrame)
- {
- EntityItemFrame entityitemframe = (EntityItemFrame)this.objectMouseOver.entityHit;
@ -201,7 +205,7 @@
if (flag)
{
@@ -2401,11 +2337,18 @@
@@ -2419,11 +2351,18 @@
par1PlayerUsageSnooper.addData("gl_max_texture_size", Integer.valueOf(getGLMaximumTextureSize()));
}
@ -220,7 +224,7 @@
for (int i = 16384; i > 0; i >>= 1)
{
GL11.glTexImage2D(GL11.GL_PROXY_TEXTURE_2D, 0, GL11.GL_RGBA, i, i, 0, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, (ByteBuffer)null);
@@ -2413,6 +2356,7 @@
@@ -2431,6 +2370,7 @@
if (j != 0)
{

View file

@ -214,4 +214,4 @@
+ }
}
public int func_74230_h()
/**

View file

@ -1,6 +1,6 @@
--- ../src_base/minecraft/net/minecraft/client/multiplayer/NetClientHandler.java
+++ ../src_work/minecraft/net/minecraft/client/multiplayer/NetClientHandler.java
@@ -186,6 +186,11 @@
@@ -191,6 +191,11 @@
import net.minecraft.world.storage.MapStorage;
import org.lwjgl.input.Keyboard;
@ -12,7 +12,7 @@
@SideOnly(Side.CLIENT)
public class NetClientHandler extends NetHandler
{
@@ -778,7 +783,7 @@
@@ -784,7 +789,7 @@
public void handleKickDisconnect(Packet255KickDisconnect par1Packet255KickDisconnect)
{
@ -21,7 +21,7 @@
this.disconnected = true;
this.mc.loadWorld((WorldClient)null);
@@ -860,7 +865,11 @@
@@ -866,7 +871,11 @@
public void handleChat(Packet3Chat par1Packet3Chat)
{
par1Packet3Chat = FMLNetworkHandler.handleChatMessage(this, par1Packet3Chat);
@ -34,7 +34,7 @@
}
public void handleAnimation(Packet18Animation par1Packet18Animation)
@@ -1329,6 +1338,10 @@
@@ -1354,6 +1363,10 @@
{
tileentity.readFromNBT(par1Packet132TileEntityData.customParam1);
}

View file

@ -21,7 +21,7 @@
+ return false;
+ }
+
if (this.currentGameType.isAdventure() && !this.mc.thePlayer.canCurrentToolHarvestBlock(par1, par2, par3))
if (this.currentGameType.isAdventure() && !this.mc.thePlayer.isCurrentToolAdventureModeExempt(par1, par2, par3))
{
return false;
@@ -146,7 +156,7 @@

View file

@ -23,7 +23,7 @@
}
/**
@@ -296,6 +302,12 @@
@@ -290,6 +296,12 @@
*/
protected void updateWeather()
{

View file

@ -1,6 +1,6 @@
--- ../src_base/minecraft/net/minecraft/client/particle/EntityDiggingFX.java
+++ ../src_work/minecraft/net/minecraft/client/particle/EntityDiggingFX.java
@@ -10,20 +10,27 @@
@@ -10,15 +10,22 @@
public class EntityDiggingFX extends EntityFX
{
private Block blockInstance;
@ -23,7 +23,10 @@
+ this.side = side;
}
public EntityDiggingFX func_70596_a(int par1, int par2, int par3)
/**
@@ -26,7 +33,7 @@
*/
public EntityDiggingFX applyColourMultiplier(int par1, int par2, int par3)
{
- if (this.blockInstance == Block.grass)
+ if (this.blockInstance == Block.grass && this.side != 1)

View file

@ -1,6 +1,6 @@
--- ../src_base/minecraft/net/minecraft/client/renderer/RenderGlobal.java
+++ ../src_work/minecraft/net/minecraft/client/renderer/RenderGlobal.java
@@ -67,6 +67,9 @@
@@ -68,6 +68,9 @@
import org.lwjgl.opengl.ARBOcclusionQuery;
import org.lwjgl.opengl.GL11;
@ -10,7 +10,7 @@
@SideOnly(Side.CLIENT)
public class RenderGlobal implements IWorldAccess
{
@@ -446,35 +449,47 @@
@@ -447,35 +450,47 @@
*/
public void renderEntities(Vec3 par1Vec3, ICamera par2ICamera, float par3)
{
@ -71,15 +71,15 @@
++this.countEntitiesRendered;
if (entity.isInRangeToRenderVec3D(par1Vec3))
@@ -488,6 +503,7 @@
@@ -489,6 +504,7 @@
for (i = 0; i < list.size(); ++i)
{
entity = (Entity)list.get(i);
+ if (!entity.shouldRenderInPass(pass)) continue;
boolean flag = entity.isInRangeToRenderVec3D(par1Vec3) && (entity.ignoreFrustumCheck || par2ICamera.isBoundingBoxInFrustum(entity.boundingBox) || entity.riddenByEntity == this.mc.thePlayer);
if (entity.isInRangeToRenderVec3D(par1Vec3) && (entity.ignoreFrustumCheck || par2ICamera.isBoundingBoxInFrustum(entity.boundingBox) || entity.riddenByEntity == this.mc.thePlayer) && (entity != this.mc.renderViewEntity || this.mc.gameSettings.thirdPersonView != 0 || this.mc.renderViewEntity.isPlayerSleeping()) && this.theWorld.blockExists(MathHelper.floor_double(entity.posX), 0, MathHelper.floor_double(entity.posZ)))
{
@@ -501,7 +517,11 @@
if (!flag && entity instanceof EntityLiving)
@@ -514,7 +530,11 @@
for (i = 0; i < this.tileEntities.size(); ++i)
{
@ -92,7 +92,7 @@
}
this.mc.entityRenderer.disableLightmap((double)par3);
@@ -936,6 +956,12 @@
@@ -949,6 +969,12 @@
*/
public void renderSky(float par1)
{
@ -105,7 +105,7 @@
if (this.mc.theWorld.provider.dimensionId == 1)
{
GL11.glDisable(GL11.GL_FOG);
@@ -1174,6 +1200,13 @@
@@ -1187,6 +1213,13 @@
public void renderClouds(float par1)
{
@ -119,7 +119,7 @@
if (this.mc.theWorld.provider.isSurfaceWorld())
{
if (this.mc.gameSettings.fancyGraphics)
@@ -1582,6 +1615,11 @@
@@ -1595,6 +1628,11 @@
}
public void drawBlockDamageTexture(Tessellator par1Tessellator, EntityPlayer par2EntityPlayer, float par3)

View file

@ -63,7 +63,7 @@
+
protected int func_130006_a(EntityLiving par1EntityLiving, int par2, float par3)
{
ItemStack itemstack = par1EntityLiving.getCurrentArmor(3 - par2);
ItemStack itemstack = par1EntityLiving.func_130225_q(3 - par2);
@@ -79,7 +114,7 @@
if (item instanceof ItemArmor)
{
@ -99,7 +99,7 @@
if (item instanceof ItemArmor)
{
- this.func_110776_a(func_110858_a((ItemArmor)item, par2, "overlay"));
+ this.func_110776_a(getArmorResource(par1, itemstack, par2, "overlay"));
+ this.func_110776_a(getArmorResource(par1EntityLiving, itemstack, par2, "overlay"));
float f1 = 1.0F;
GL11.glColor3f(f1, f1, f1);
}

View file

@ -66,23 +66,23 @@
if (item instanceof ItemArmor)
{
- this.func_110776_a(RenderBiped.func_110858_a((ItemArmor)item, par2, "overlay"));
+ this.func_110776_a(RenderBiped.getArmorResource(par1, itemstack, par2, "overlay"));
+ this.func_110776_a(RenderBiped.getArmorResource(par1AbstractClientPlayer, itemstack, par2, "overlay"));
float f1 = 1.0F;
GL11.glColor3f(f1, f1, f1);
}
@@ -117,6 +135,7 @@
public void renderPlayer(AbstractClientPlayer par1, double par2, double par4, double par6, float par8, float par9)
public void func_130009_a(AbstractClientPlayer par1AbstractClientPlayer, double par2, double par4, double par6, float par8, float par9)
{
+ if (MinecraftForge.EVENT_BUS.post(new RenderPlayerEvent.Pre(par1, this))) return;
+ if (MinecraftForge.EVENT_BUS.post(new RenderPlayerEvent.Pre(par1AbstractClientPlayer, this))) return;
float f2 = 1.0F;
GL11.glColor3f(f2, f2, f2);
ItemStack itemstack = par1.inventory.getCurrentItem();
ItemStack itemstack = par1AbstractClientPlayer.inventory.getCurrentItem();
@@ -148,6 +167,7 @@
this.modelArmorChestplate.aimedBow = this.modelArmor.aimedBow = this.modelBipedMain.aimedBow = false;
this.modelArmorChestplate.isSneak = this.modelArmor.isSneak = this.modelBipedMain.isSneak = false;
this.modelArmorChestplate.heldItemRight = this.modelArmor.heldItemRight = this.modelBipedMain.heldItemRight = 0;
+ MinecraftForge.EVENT_BUS.post(new RenderPlayerEvent.Post(par1, this));
+ MinecraftForge.EVENT_BUS.post(new RenderPlayerEvent.Post(par1AbstractClientPlayer, this));
}
protected ResourceLocation func_110817_a(AbstractClientPlayer par1AbstractClientPlayer)

View file

@ -1,6 +1,6 @@
--- ../src_base/minecraft/net/minecraft/client/renderer/texture/Stitcher.java
+++ ../src_work/minecraft/net/minecraft/client/renderer/texture/Stitcher.java
@@ -186,7 +186,7 @@
@@ -187,7 +187,7 @@
if (flag4 ^ flag5)
{

View file

@ -10,7 +10,7 @@
import net.minecraft.client.resources.data.AnimationMetadataSection;
import net.minecraft.util.Icon;
@@ -184,6 +186,20 @@
this.height = par1;
this.field_130224_d = par1;
}
+ /**

View file

@ -74,7 +74,7 @@
}
}
@@ -228,4 +259,26 @@
@@ -232,4 +263,26 @@
}
}
}

View file

@ -10,7 +10,7 @@
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
@@ -205,6 +208,27 @@
@@ -207,6 +210,27 @@
return this.type.canEnchantItem(par1ItemStack.getItem());
}
@ -32,7 +32,7 @@
+ */
+ public static void addToBookList(Enchantment enchantment)
+ {
+ ObjectArrays.concat(field_92090_c, enchantment);
+ ObjectArrays.concat(enchantmentsBookList, enchantment);
+ }
+
static

View file

@ -72,7 +72,7 @@
}
protected abstract void entityInit();
@@ -1515,6 +1543,21 @@
@@ -1523,6 +1551,21 @@
par1NBTTagCompound.setInteger("PortalCooldown", this.timeUntilPortal);
par1NBTTagCompound.setLong("UUIDMost", this.entityUniqueID.getMostSignificantBits());
par1NBTTagCompound.setLong("UUIDLeast", this.entityUniqueID.getLeastSignificantBits());
@ -94,7 +94,7 @@
this.writeEntityToNBT(par1NBTTagCompound);
if (this.ridingEntity != null)
@@ -1585,6 +1628,26 @@
@@ -1593,6 +1636,26 @@
this.setPosition(this.posX, this.posY, this.posZ);
this.setRotation(this.rotationYaw, this.rotationPitch);
@ -119,9 +119,9 @@
+ this.entityUniqueID = new UUID(par1NBTTagCompound.getLong("PersistentIDMSB"), par1NBTTagCompound.getLong("PersistentIDLSB"));
+ }
this.readEntityFromNBT(par1NBTTagCompound);
}
catch (Throwable throwable)
@@ -1687,7 +1750,14 @@
if (this.func_142008_O())
@@ -1705,7 +1768,14 @@
{
EntityItem entityitem = new EntityItem(this.worldObj, this.posX, this.posY + (double)par2, this.posZ, par1ItemStack);
entityitem.delayBeforeCanPickup = 10;
@ -137,7 +137,7 @@
return entityitem;
}
}
@@ -1985,7 +2055,7 @@
@@ -2001,7 +2071,7 @@
*/
public boolean isRiding()
{
@ -146,7 +146,7 @@
}
/**
@@ -2344,7 +2414,7 @@
@@ -2363,7 +2433,7 @@
public float func_82146_a(Explosion par1Explosion, World par2World, int par3, int par4, int par5, Block par6Block)
{
@ -155,7 +155,7 @@
}
public boolean func_96091_a(Explosion par1Explosion, World par2World, int par3, int par4, int par5, int par6, float par7)
@@ -2407,4 +2477,145 @@
@@ -2426,4 +2496,149 @@
{
return this.getEntityName();
}
@ -216,6 +216,10 @@
+ return held.copy();
+ }
+ }
+ else if (this instanceof EntityLeashKnot)
+ {
+ return new ItemStack(Item.field_111214_ch);
+ }
+ else
+ {
+ int id = EntityList.getEntityID(this);

View file

@ -1,6 +1,6 @@
--- ../src_base/minecraft/net/minecraft/entity/EntityLivingBase.java
+++ ../src_work/minecraft/net/minecraft/entity/EntityLivingBase.java
@@ -21,9 +21,11 @@
@@ -20,9 +20,11 @@
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.item.EntityXPOrb;
import net.minecraft.entity.monster.EntityZombie;
@ -20,15 +20,15 @@
public abstract class EntityLivingBase extends Entity
{
@@ -451,6 +454,7 @@
@@ -446,6 +449,7 @@
{
this.entityLivingToAttack = par1EntityLivingBase;
this.revengeTimer = this.entityLivingToAttack != null ? 100 : 0;
this.revengeTimer = this.ticksExisted;
+ ForgeHooks.onLivingSetAttackTarget(this, par1EntityLivingBase);
}
public EntityLivingBase func_110144_aD()
@@ -738,8 +742,6 @@
@@ -744,8 +748,6 @@
return this.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD;
}
@ -37,7 +37,7 @@
/**
* Remove the speified potion effect from this entity.
*/
@@ -824,6 +826,7 @@
@@ -826,6 +828,7 @@
*/
public boolean attackEntityFrom(DamageSource par1DamageSource, float par2)
{
@ -45,7 +45,7 @@
if (this.isEntityInvulnerable())
{
return false;
@@ -974,6 +977,7 @@
@@ -976,6 +979,7 @@
*/
public void onDeath(DamageSource par1DamageSource)
{
@ -53,7 +53,7 @@
Entity entity = par1DamageSource.getEntity();
EntityLivingBase entitylivingbase = this.func_94060_bK();
@@ -998,6 +1002,10 @@
@@ -1000,6 +1004,10 @@
i = EnchantmentHelper.getLootingModifier((EntityLivingBase)entity);
}
@ -64,7 +64,7 @@
if (!this.isChild() && this.worldObj.getGameRules().getGameRuleBooleanValue("doMobLoot"))
{
this.dropFewItems(this.recentlyHit > 0, i);
@@ -1005,12 +1013,22 @@
@@ -1007,12 +1015,22 @@
if (this.recentlyHit > 0)
{
@ -88,7 +88,7 @@
}
}
}
@@ -1080,7 +1098,7 @@
@@ -1082,7 +1100,7 @@
int j = MathHelper.floor_double(this.boundingBox.minY);
int k = MathHelper.floor_double(this.posZ);
int l = this.worldObj.getBlockId(i, j, k);
@ -97,7 +97,7 @@
}
/**
@@ -1096,6 +1114,8 @@
@@ -1098,6 +1116,8 @@
*/
protected void fall(float par1)
{
@ -106,7 +106,7 @@
super.fall(par1);
PotionEffect potioneffect = this.getActivePotionEffect(Potion.jump);
float f1 = potioneffect != null ? (float)(potioneffect.getAmplifier() + 1) : 0.0F;
@@ -1229,6 +1249,8 @@
@@ -1231,6 +1251,8 @@
{
if (!this.isEntityInvulnerable())
{
@ -115,7 +115,7 @@
par2 = this.applyArmorCalculations(par1DamageSource, par2);
par2 = this.applyPotionDamageCalculations(par1DamageSource, par2);
float f1 = par2;
@@ -1290,6 +1312,17 @@
@@ -1292,6 +1314,17 @@
*/
public void swingItem()
{
@ -133,7 +133,7 @@
if (!this.isSwingInProgress || this.field_110158_av >= this.getArmSwingAnimationEnd() / 2 || this.field_110158_av < 0)
{
this.field_110158_av = -1;
@@ -1531,6 +1564,7 @@
@@ -1526,6 +1559,7 @@
}
this.isAirBorne = true;
@ -141,7 +141,7 @@
}
/**
@@ -1735,6 +1769,11 @@
@@ -1730,6 +1764,11 @@
*/
public void onUpdate()
{
@ -153,9 +153,9 @@
super.onUpdate();
if (!this.worldObj.isRemote)
@@ -2255,4 +2294,42 @@
this.field_110151_bq = par1;
@@ -2265,4 +2304,42 @@
{
return this.getTeam() != null ? this.getTeam().func_142054_a(par1Team) : false;
}
+
+ /***

View file

@ -294,7 +294,7 @@
{
par1Entity.motionX *= 0.20000000298023224D;
par1Entity.motionZ *= 0.20000000298023224D;
@@ -1165,4 +1190,211 @@
@@ -1168,4 +1193,211 @@
{
return this.entityName;
}

View file

@ -12,7 +12,7 @@
import net.minecraft.block.Block;
import net.minecraft.block.BlockBed;
import net.minecraft.block.material.Material;
@@ -68,8 +71,21 @@
@@ -66,8 +69,21 @@
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
@ -34,7 +34,7 @@
/** Inventory of the player */
public InventoryPlayer inventory = new InventoryPlayer(this);
private InventoryEnderChest theInventoryEnderChest = new InventoryEnderChest();
@@ -122,11 +138,13 @@
@@ -120,11 +136,13 @@
* Holds the last coordinate to spawn based on last bed that the player sleep.
*/
private ChunkCoordinates spawnChunk;
@ -48,7 +48,7 @@
/** Holds the coordinate of the player when enter a minecraft to ride. */
private ChunkCoordinates startMinecartRidingCoordinate;
@@ -269,6 +287,7 @@
@@ -267,6 +285,7 @@
if (itemstack == this.itemInUse)
{
@ -56,7 +56,7 @@
if (this.itemInUseCount <= 25 && this.itemInUseCount % 4 == 0)
{
this.updateItemUse(itemstack, 5);
@@ -539,11 +558,11 @@
@@ -537,11 +556,11 @@
this.cameraYaw = 0.0F;
this.addMountedMovementStat(this.posX - d0, this.posY - d1, this.posZ - d2);
@ -70,7 +70,7 @@
}
}
}
@@ -686,11 +705,15 @@
@@ -684,11 +703,15 @@
*/
public void onDeath(DamageSource par1DamageSource)
{
@ -86,7 +86,7 @@
if (this.username.equals("Notch"))
{
this.dropPlayerItemWithRandomChoice(new ItemStack(Item.appleRed, 1), true);
@@ -699,6 +722,20 @@
@@ -697,6 +720,20 @@
if (!this.worldObj.getGameRules().getGameRuleBooleanValue("keepInventory"))
{
this.inventory.dropAllItems();
@ -107,7 +107,7 @@
}
if (par1DamageSource != null)
@@ -749,7 +786,20 @@
@@ -747,7 +784,20 @@
*/
public EntityItem dropOneItem(boolean par1)
{
@ -129,7 +129,7 @@
}
/**
@@ -758,7 +808,7 @@
@@ -756,7 +806,7 @@
*/
public EntityItem dropPlayerItem(ItemStack par1ItemStack)
{
@ -138,7 +138,7 @@
}
/**
@@ -814,15 +864,28 @@
@@ -812,15 +862,28 @@
*/
public void joinEntityItemWithWorld(EntityItem par1EntityItem)
{
@ -169,7 +169,7 @@
if (f > 1.0F)
{
@@ -833,7 +896,9 @@
@@ -831,7 +894,9 @@
{
float f1 = (float)(i * i + 1);
@ -180,7 +180,7 @@
{
f += f1 * 0.08F;
}
@@ -864,7 +929,8 @@
@@ -862,7 +927,8 @@
f /= 5.0F;
}
@ -190,7 +190,7 @@
}
/**
@@ -872,7 +938,7 @@
@@ -870,7 +936,7 @@
*/
public boolean canHarvestBlock(Block par1Block)
{
@ -199,7 +199,7 @@
}
/**
@@ -902,6 +968,14 @@
@@ -900,6 +966,14 @@
this.spawnChunk = new ChunkCoordinates(par1NBTTagCompound.getInteger("SpawnX"), par1NBTTagCompound.getInteger("SpawnY"), par1NBTTagCompound.getInteger("SpawnZ"));
this.spawnForced = par1NBTTagCompound.getBoolean("SpawnForced");
}
@ -214,7 +214,7 @@
this.foodStats.readNBT(par1NBTTagCompound);
this.capabilities.readCapabilitiesFromNBT(par1NBTTagCompound);
@@ -935,6 +1009,21 @@
@@ -933,6 +1007,21 @@
par1NBTTagCompound.setInteger("SpawnZ", this.spawnChunk.posZ);
par1NBTTagCompound.setBoolean("SpawnForced", this.spawnForced);
}
@ -236,7 +236,7 @@
this.foodStats.writeNBT(par1NBTTagCompound);
this.capabilities.writeCapabilitiesToNBT(par1NBTTagCompound);
@@ -982,6 +1071,7 @@
@@ -980,6 +1069,7 @@
*/
public boolean attackEntityFrom(DamageSource par1DamageSource, float par2)
{
@ -244,7 +244,7 @@
if (this.isEntityInvulnerable())
{
return false;
@@ -1135,12 +1225,15 @@
@@ -1088,12 +1178,15 @@
{
if (!this.isEntityInvulnerable())
{
@ -261,7 +261,7 @@
par2 = this.applyPotionDamageCalculations(par1DamageSource, par2);
float f1 = par2;
par2 = Math.max(par2 - this.func_110139_bj(), 0.0F);
@@ -1190,6 +1283,7 @@
@@ -1143,6 +1236,7 @@
public boolean interactWith(Entity par1Entity)
{
@ -269,7 +269,7 @@
ItemStack itemstack = this.getCurrentEquippedItem();
ItemStack itemstack1 = itemstack != null ? itemstack.copy() : null;
@@ -1246,7 +1340,9 @@
@@ -1199,7 +1293,9 @@
*/
public void destroyCurrentEquippedItem()
{
@ -279,7 +279,7 @@
}
/**
@@ -1263,6 +1359,15 @@
@@ -1216,6 +1312,15 @@
*/
public void attackTargetEntityWithCurrentItem(Entity par1Entity)
{
@ -295,7 +295,7 @@
if (par1Entity.canAttackWithItem())
{
if (!par1Entity.func_85031_j(this))
@@ -1421,6 +1526,12 @@
@@ -1369,6 +1474,12 @@
*/
public EnumStatus sleepInBedAt(int par1, int par2, int par3)
{
@ -308,7 +308,7 @@
if (!this.worldObj.isRemote)
{
if (this.isPlayerSleeping() || !this.isEntityAlive())
@@ -1465,6 +1576,11 @@
@@ -1413,6 +1524,11 @@
{
int l = this.worldObj.getBlockMetadata(par1, par2, par3);
int i1 = BlockBed.getDirection(l);
@ -320,7 +320,7 @@
float f = 0.5F;
float f1 = 0.5F;
@@ -1535,10 +1651,12 @@
@@ -1483,10 +1599,12 @@
ChunkCoordinates chunkcoordinates = this.playerLocation;
ChunkCoordinates chunkcoordinates1 = this.playerLocation;
@ -337,7 +337,7 @@
if (chunkcoordinates1 == null)
{
@@ -1575,7 +1693,9 @@
@@ -1523,7 +1641,9 @@
*/
private boolean isInBed()
{
@ -348,7 +348,7 @@
}
/**
@@ -1590,9 +1710,12 @@
@@ -1538,9 +1658,12 @@
ichunkprovider.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4);
ichunkprovider.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4);
@ -364,7 +364,7 @@
return chunkcoordinates1;
}
else
@@ -1614,10 +1737,13 @@
@@ -1562,10 +1685,13 @@
{
if (this.playerLocation != null)
{
@ -382,7 +382,7 @@
{
case 0:
return 90.0F;
@@ -1683,14 +1809,40 @@
@@ -1631,14 +1757,40 @@
/**
* Returns the location of the bed the player will respawn at, or null if the player has not slept in a bed.
*/
@ -427,7 +427,7 @@
}
/**
@@ -1698,6 +1850,10 @@
@@ -1646,6 +1798,10 @@
*/
public void setSpawnChunk(ChunkCoordinates par1ChunkCoordinates, boolean par2)
{
@ -438,7 +438,7 @@
if (par1ChunkCoordinates != null)
{
this.spawnChunk = new ChunkCoordinates(par1ChunkCoordinates);
@@ -1709,7 +1865,32 @@
@@ -1657,7 +1813,32 @@
this.spawnForced = false;
}
}
@ -472,7 +472,7 @@
/**
* Will trigger the specified trigger.
*/
@@ -1891,6 +2072,10 @@
@@ -1839,6 +2020,10 @@
super.fall(par1);
}
@ -483,7 +483,7 @@
}
/**
@@ -1932,7 +2117,7 @@
@@ -1880,7 +2065,7 @@
{
if (par1ItemStack.getItem().requiresMultipleRenderPasses())
{
@ -492,7 +492,7 @@
}
if (this.itemInUse != null && par1ItemStack.itemID == Item.bow.itemID)
@@ -1954,6 +2139,7 @@
@@ -1902,6 +2087,7 @@
return Item.bow.getItemIconForUseDuration(0);
}
}
@ -500,7 +500,7 @@
}
return icon;
@@ -2175,7 +2361,17 @@
@@ -2123,7 +2309,17 @@
this.setScore(par1EntityPlayer.getScore());
}
@ -518,7 +518,7 @@
}
/**
@@ -2239,7 +2435,14 @@
@@ -2187,7 +2383,14 @@
*/
public void setCurrentItemOrArmor(int par1, ItemStack par2ItemStack)
{

View file

@ -1,6 +1,6 @@
--- ../src_base/minecraft/net/minecraft/entity/player/EntityPlayerMP.java
+++ ../src_work/minecraft/net/minecraft/entity/player/EntityPlayerMP.java
@@ -90,6 +90,12 @@
@@ -92,6 +92,12 @@
import net.minecraft.world.WorldServer;
import net.minecraft.world.chunk.Chunk;
@ -13,7 +13,7 @@
public class EntityPlayerMP extends EntityPlayer implements ICrafting
{
private String translator = "en_US";
@@ -162,18 +168,10 @@
@@ -164,18 +170,10 @@
par4ItemInWorldManager.thisPlayerMP = this;
this.theItemInWorldManager = par4ItemInWorldManager;
this.renderDistance = par1MinecraftServer.getConfigurationManager().getViewDistance();
@ -33,7 +33,7 @@
this.mcServer = par1MinecraftServer;
this.stepHeight = 0.0F;
@@ -287,7 +285,10 @@
@@ -289,7 +287,10 @@
if (chunkcoordintpair != null && this.worldObj.blockExists(chunkcoordintpair.chunkXPos << 4, 0, chunkcoordintpair.chunkZPos << 4))
{
arraylist.add(this.worldObj.getChunkFromChunkCoords(chunkcoordintpair.chunkXPos, chunkcoordintpair.chunkZPos));
@ -45,7 +45,7 @@
}
}
@@ -308,6 +309,7 @@
@@ -310,6 +311,7 @@
{
Chunk chunk = (Chunk)iterator2.next();
this.getServerForPlayer().getEntityTracker().func_85172_a(this, chunk);
@ -53,7 +53,7 @@
}
}
}
@@ -375,11 +377,25 @@
@@ -377,11 +379,25 @@
*/
public void onDeath(DamageSource par1DamageSource)
{

View file

@ -66,7 +66,7 @@
Vec3 vec31 = vec3.addVector((double)f7 * d3, (double)f6 * d3, (double)f8 * d3);
return par1World.rayTraceBlocks_do_do(vec3, vec31, par3, !par3);
}
@@ -736,4 +751,514 @@
@@ -740,4 +755,514 @@
{
StatList.initStats();
}

View file

@ -22,7 +22,7 @@
@@ -145,6 +156,13 @@
{
if (!this.gameType.isAdventure() || this.thisPlayerMP.canCurrentToolHarvestBlock(par1, par2, par3))
if (!this.gameType.isAdventure() || this.thisPlayerMP.isCurrentToolAdventureModeExempt(par1, par2, par3))
{
+ PlayerInteractEvent event = ForgeEventFactory.onPlayerInteract(thisPlayerMP, Action.LEFT_CLICK_BLOCK, par1, par2, par3, par4);
+ if (event.isCanceled())

View file

@ -1,6 +1,6 @@
--- ../src_base/minecraft/net/minecraft/item/crafting/CraftingManager.java
+++ ../src_work/minecraft/net/minecraft/item/crafting/CraftingManager.java
@@ -284,7 +284,7 @@
@@ -283,7 +283,7 @@
}
}

View file

@ -1,6 +1,6 @@
--- ../src_base/minecraft/net/minecraft/network/NetServerHandler.java
+++ ../src_work/minecraft/net/minecraft/network/NetServerHandler.java
@@ -69,6 +69,14 @@
@@ -71,6 +71,14 @@
import net.minecraft.world.WorldServer;
import org.apache.commons.lang3.StringUtils;
@ -15,7 +15,7 @@
public class NetServerHandler extends NetHandler
{
/** The underlying network manager for this server handler. */
@@ -242,6 +250,11 @@
@@ -221,6 +229,11 @@
if (this.playerEntity.ridingEntity != null)
{
this.playerEntity.ridingEntity.updateRiderPosition();
@ -27,21 +27,22 @@
}
this.mcServer.getConfigurationManager().serverUpdateMountedMovingPlayer(this.playerEntity);
@@ -319,9 +332,9 @@
@@ -300,9 +313,10 @@
d4 = d1 - this.playerEntity.posX;
double d6 = d2 - this.playerEntity.posY;
double d7 = d3 - this.playerEntity.posZ;
- double d8 = Math.min(Math.abs(d4), Math.abs(this.playerEntity.motionX));
- double d9 = Math.min(Math.abs(d6), Math.abs(this.playerEntity.motionY));
- double d10 = Math.min(Math.abs(d7), Math.abs(this.playerEntity.motionZ));
+ double d8 = Math.max(Math.abs(d4), Math.abs(this.playerEntity.motionX));
+ double d9 = Math.max(Math.abs(d6), Math.abs(this.playerEntity.motionY));
+ double d10 = Math.max(Math.abs(d7), Math.abs(this.playerEntity.motionZ));
double d11 = d8 * d8 + d9 * d9 + d10 * d10;
double d5 = d2 - this.playerEntity.posY;
double d6 = d3 - this.playerEntity.posZ;
- double d7 = Math.min(Math.abs(d4), Math.abs(this.playerEntity.motionX));
- double d8 = Math.min(Math.abs(d5), Math.abs(this.playerEntity.motionY));
- double d9 = Math.min(Math.abs(d6), Math.abs(this.playerEntity.motionZ));
+ //BUGFIX: min -> max, grabs the highest distance
+ double d7 = Math.max(Math.abs(d4), Math.abs(this.playerEntity.motionX));
+ double d8 = Math.max(Math.abs(d5), Math.abs(this.playerEntity.motionY));
+ double d9 = Math.max(Math.abs(d6), Math.abs(this.playerEntity.motionZ));
double d10 = d7 * d7 + d8 * d8 + d9 * d9;
if (d11 > 100.0D && (!this.mcServer.isSinglePlayer() || !this.mcServer.getServerOwner().equals(this.playerEntity.getCommandSenderName())))
@@ -337,6 +350,11 @@
if (this.playerEntity.onGround && !par1Packet10Flying.onGround && d6 > 0.0D)
if (d10 > 100.0D && (!this.mcServer.isSinglePlayer() || !this.mcServer.getServerOwner().equals(this.playerEntity.getCommandSenderName())))
@@ -318,6 +332,11 @@
if (this.playerEntity.onGround && !par1Packet10Flying.onGround && d5 > 0.0D)
{
this.playerEntity.addExhaustion(0.2F);
+ }
@ -51,8 +52,8 @@
+ return;
}
this.playerEntity.moveEntity(d4, d6, d7);
@@ -361,10 +379,15 @@
this.playerEntity.moveEntity(d4, d5, d6);
@@ -342,10 +361,15 @@
this.mcServer.getLogAgent().logWarning(this.playerEntity.getCommandSenderName() + " moved wrongly!");
}
@ -69,16 +70,16 @@
{
this.setPlayerLocation(this.lastPosX, this.lastPosY, this.lastPosZ, f2, f3);
return;
@@ -372,7 +395,7 @@
@@ -353,7 +377,7 @@
AxisAlignedBB axisalignedbb = this.playerEntity.boundingBox.copy().expand((double)f4, (double)f4, (double)f4).addCoord(0.0D, -0.55D, 0.0D);
- if (!this.mcServer.isFlightAllowed() && !this.playerEntity.theItemInWorldManager.isCreative() && !worldserver.checkBlockCollision(axisalignedbb))
+ if (!this.mcServer.isFlightAllowed() && !this.playerEntity.theItemInWorldManager.isCreative() && !worldserver.checkBlockCollision(axisalignedbb) && !this.playerEntity.capabilities.allowFlying)
{
if (d12 >= -0.03125D)
if (d11 >= -0.03125D)
{
@@ -391,6 +414,11 @@
@@ -372,6 +396,11 @@
this.ticksForFloatKick = 0;
}
@ -90,7 +91,7 @@
this.playerEntity.onGround = par1Packet10Flying.onGround;
this.mcServer.getConfigurationManager().serverUpdateMountedMovingPlayer(this.playerEntity);
this.playerEntity.updateFlyingState(this.playerEntity.posY - d0, par1Packet10Flying.onGround);
@@ -461,7 +489,10 @@
@@ -442,7 +471,10 @@
double d2 = this.playerEntity.posZ - ((double)k + 0.5D);
double d3 = d0 * d0 + d1 * d1 + d2 * d2;
@ -102,7 +103,7 @@
{
return;
}
@@ -521,7 +552,11 @@
@@ -502,7 +534,11 @@
return;
}
@ -115,7 +116,7 @@
}
else if (par1Packet15Place.getYPosition() >= this.mcServer.getBuildLimit() - 1 && (par1Packet15Place.getDirection() == 1 || par1Packet15Place.getYPosition() >= this.mcServer.getBuildLimit()))
{
@@ -530,7 +565,9 @@
@@ -511,7 +547,9 @@
}
else
{
@ -126,7 +127,7 @@
{
this.playerEntity.theItemInWorldManager.activateBlockOrUseItem(this.playerEntity, worldserver, itemstack, i, j, k, l, par1Packet15Place.getXOffset(), par1Packet15Place.getYOffset(), par1Packet15Place.getZOffset());
}
@@ -710,6 +747,8 @@
@@ -691,6 +729,8 @@
}
ChatMessageComponent chatmessagecomponent = ChatMessageComponent.func_111082_b("chat.type.text", new Object[] {this.playerEntity.getTranslatedEntityName(), s});
@ -135,7 +136,7 @@
this.mcServer.getConfigurationManager().func_110459_a(chatmessagecomponent, false);
}
@@ -850,7 +889,7 @@
@@ -838,7 +878,7 @@
return;
}

View file

@ -18,7 +18,7 @@
public class PlayerInstance
{
@@ -63,6 +67,8 @@
@@ -60,6 +64,8 @@
this.playersInChunk.remove(par1EntityPlayerMP);
par1EntityPlayerMP.loadedChunks.remove(this.chunkLocation);
@ -27,7 +27,7 @@
if (this.playersInChunk.isEmpty())
{
long i = (long)this.chunkLocation.chunkXPos + 2147483647L | (long)this.chunkLocation.chunkZPos + 2147483647L << 32;
@@ -100,7 +106,7 @@
@@ -97,7 +103,7 @@
this.field_73260_f |= 1 << (par2 >> 4);
@ -36,7 +36,7 @@
{
short short1 = (short)(par1 << 12 | par3 << 8 | par2);
@@ -112,6 +118,10 @@
@@ -109,6 +115,10 @@
}
}
@ -47,7 +47,7 @@
this.locationOfBlockChange[this.numberOfTilesToUpdate++] = short1;
}
}
@@ -153,12 +163,13 @@
@@ -150,12 +160,13 @@
{
int l;
@ -62,7 +62,7 @@
for (k = 0; k < 16; ++k)
{
if ((this.field_73260_f & 1 << k) != 0)
@@ -172,11 +183,14 @@
@@ -169,11 +180,14 @@
}
}
}

View file

@ -1,6 +1,6 @@
--- ../src_base/minecraft/net/minecraft/server/management/ServerConfigurationManager.java
+++ ../src_work/minecraft/net/minecraft/server/management/ServerConfigurationManager.java
@@ -48,10 +48,14 @@
@@ -52,10 +52,14 @@
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.MathHelper;
import net.minecraft.world.EnumGameType;
@ -15,7 +15,7 @@
public abstract class ServerConfigurationManager
{
@@ -387,13 +391,23 @@
@@ -392,13 +396,23 @@
*/
public EntityPlayerMP respawnPlayer(EntityPlayerMP par1EntityPlayerMP, int par2, boolean par3)
{
@ -41,7 +41,7 @@
par1EntityPlayerMP.dimension = par2;
Object object;
@@ -409,6 +423,7 @@
@@ -414,6 +428,7 @@
EntityPlayerMP entityplayermp1 = new EntityPlayerMP(this.mcServer, this.mcServer.worldServerForDimension(par1EntityPlayerMP.dimension), par1EntityPlayerMP.getCommandSenderName(), (ItemInWorldManager)object);
entityplayermp1.playerNetServerHandler = par1EntityPlayerMP.playerNetServerHandler;
entityplayermp1.clonePlayer(par1EntityPlayerMP, par3);
@ -49,7 +49,7 @@
entityplayermp1.entityId = par1EntityPlayerMP.entityId;
WorldServer worldserver = this.mcServer.worldServerForDimension(par1EntityPlayerMP.dimension);
this.func_72381_a(entityplayermp1, par1EntityPlayerMP, worldserver);
@@ -453,6 +468,11 @@
@@ -458,6 +473,11 @@
public void transferPlayerToDimension(EntityPlayerMP par1EntityPlayerMP, int par2)
{
@ -61,7 +61,7 @@
int j = par1EntityPlayerMP.dimension;
WorldServer worldserver = this.mcServer.worldServerForDimension(par1EntityPlayerMP.dimension);
par1EntityPlayerMP.dimension = par2;
@@ -460,7 +480,7 @@
@@ -465,7 +485,7 @@
par1EntityPlayerMP.playerNetServerHandler.sendPacketToPlayer(new Packet9Respawn(par1EntityPlayerMP.dimension, (byte)par1EntityPlayerMP.worldObj.difficultySetting, worldserver1.getWorldInfo().getTerrainType(), worldserver1.getHeight(), par1EntityPlayerMP.theItemInWorldManager.getGameType()));
worldserver.removePlayerEntityDangerously(par1EntityPlayerMP);
par1EntityPlayerMP.isDead = false;
@ -70,7 +70,7 @@
this.func_72375_a(par1EntityPlayerMP, worldserver);
par1EntityPlayerMP.playerNetServerHandler.setPlayerLocation(par1EntityPlayerMP.posX, par1EntityPlayerMP.posY, par1EntityPlayerMP.posZ, par1EntityPlayerMP.rotationYaw, par1EntityPlayerMP.rotationPitch);
par1EntityPlayerMP.theItemInWorldManager.setWorld(worldserver1);
@@ -482,38 +502,23 @@
@@ -487,38 +507,23 @@
*/
public void transferEntityToWorld(Entity par1Entity, int par2, WorldServer par3WorldServer, WorldServer par4WorldServer)
{
@ -120,7 +120,7 @@
{
ChunkCoordinates chunkcoordinates;
@@ -550,7 +555,7 @@
@@ -555,7 +560,7 @@
par4WorldServer.spawnEntityInWorld(par1Entity);
par1Entity.setLocationAndAngles(d0, par1Entity.posY, d1, par1Entity.rotationYaw, par1Entity.rotationPitch);
par4WorldServer.updateEntityWithOptionalForce(par1Entity, false);

View file

@ -12,7 +12,7 @@
import net.minecraft.world.World;
public class TileEntity
@@ -308,4 +311,93 @@
@@ -311,4 +314,93 @@
addMapping(TileEntityHopper.class, "Hopper");
addMapping(TileEntityComparator.class, "Comparator");
}

View file

@ -47,7 +47,7 @@
@@ -343,7 +347,7 @@
*/
public boolean isStackValidForSlot(int par1, ItemStack par2ItemStack)
public boolean isItemValidForSlot(int par1, ItemStack par2ItemStack)
{
- return par1 == 3 ? Item.itemsList[par2ItemStack.itemID].isPotionIngredient() : par2ItemStack.itemID == Item.potion.itemID || par2ItemStack.itemID == Item.glassBottle.itemID;
+ return par1 == 3 ? Item.itemsList[par2ItemStack.itemID].isPotionIngredient() : par2ItemStack.getItem() instanceof ItemPotion || par2ItemStack.itemID == Item.glassBottle.itemID;

View file

@ -19,9 +19,9 @@
+
+public class TileEntityFurnace extends TileEntity implements ISidedInventory, net.minecraftforge.common.ISidedInventory
{
private static final int[] field_102010_d = new int[] {0};
private static final int[] field_102011_e = new int[] {2, 1};
@@ -276,8 +279,7 @@
private static final int[] slots_top = new int[] {0};
private static final int[] slots_bottom = new int[] {2, 1};
@@ -279,8 +282,7 @@
if (this.furnaceItemStacks[1].stackSize == 0)
{
@ -31,7 +31,7 @@
}
}
}
@@ -323,8 +325,12 @@
@@ -326,8 +328,12 @@
}
else
{
@ -46,7 +46,7 @@
}
}
@@ -335,15 +341,15 @@
@@ -338,15 +344,15 @@
{
if (this.canSmelt())
{
@ -66,7 +66,7 @@
}
--this.furnaceItemStacks[0].stackSize;
@@ -370,7 +376,7 @@
@@ -373,7 +379,7 @@
int i = par0ItemStack.getItem().itemID;
Item item = par0ItemStack.getItem();
@ -75,7 +75,7 @@
{
Block block = Block.blocksList[i];
@@ -456,4 +462,50 @@
@@ -459,4 +465,50 @@
{
return par3 != 0 || par1 != 1 || par2ItemStack.itemID == Item.bucketEmpty.itemID;
}

View file

@ -163,7 +163,7 @@
}
/**
@@ -1189,7 +1251,7 @@
@@ -1192,7 +1254,7 @@
int l1 = this.getBlockMetadata(l, i1, j1);
Block block = Block.blocksList[k1];
@ -172,7 +172,7 @@
{
MovingObjectPosition movingobjectposition = block.collisionRayTrace(this, l, i1, j1, par1Vec3, par2Vec3);
@@ -1389,6 +1451,12 @@
@@ -1392,6 +1454,12 @@
*/
public void playSoundAtEntity(Entity par1Entity, String par2Str, float par3, float par4)
{
@ -185,7 +185,7 @@
if (par1Entity != null && par2Str != null)
{
for (int i = 0; i < this.worldAccesses.size(); ++i)
@@ -1403,6 +1471,12 @@
@@ -1406,6 +1474,12 @@
*/
public void playSoundToNearExcept(EntityPlayer par1EntityPlayer, String par2Str, float par3, float par4)
{
@ -198,7 +198,7 @@
if (par1EntityPlayer != null && par2Str != null)
{
for (int i = 0; i < this.worldAccesses.size(); ++i)
@@ -1489,6 +1563,11 @@
@@ -1492,6 +1566,11 @@
EntityPlayer entityplayer = (EntityPlayer)par1Entity;
this.playerEntities.add(entityplayer);
this.updateAllPlayersSleepingFlag();
@ -210,7 +210,7 @@
}
this.getChunkFromChunkCoords(i, j).addEntity(par1Entity);
@@ -1735,6 +1814,12 @@
@@ -1732,6 +1811,12 @@
* Calculates the color for the skybox
*/
public Vec3 getSkyColor(Entity par1Entity, float par2)
@ -223,7 +223,7 @@
{
float f1 = this.getCelestialAngle(par2);
float f2 = MathHelper.cos(f1 * (float)Math.PI * 2.0F) * 2.0F + 0.5F;
@@ -1833,6 +1918,12 @@
@@ -1830,6 +1915,12 @@
@SideOnly(Side.CLIENT)
public Vec3 getCloudColour(float par1)
{
@ -236,7 +236,7 @@
float f1 = this.getCelestialAngle(par1);
float f2 = MathHelper.cos(f1 * (float)Math.PI * 2.0F) * 2.0F + 0.5F;
@@ -1904,6 +1995,8 @@
@@ -1901,6 +1992,8 @@
public int getTopSolidOrLiquidBlock(int par1, int par2)
{
Chunk chunk = this.getChunkFromBlockCoords(par1, par2);
@ -245,7 +245,7 @@
int k = chunk.getTopFilledSegment() + 15;
par1 &= 15;
@@ -1911,7 +2004,7 @@
@@ -1908,7 +2001,7 @@
{
int l = chunk.getBlockID(par1, k, par2);
@ -254,7 +254,7 @@
{
return k + 1;
}
@@ -1926,6 +2019,12 @@
@@ -1923,6 +2016,12 @@
* How bright are stars in the sky
*/
public float getStarBrightness(float par1)
@ -267,7 +267,7 @@
{
float f1 = this.getCelestialAngle(par1);
float f2 = 1.0F - (MathHelper.cos(f1 * (float)Math.PI * 2.0F) * 2.0F + 0.25F);
@@ -1990,7 +2089,15 @@
@@ -1987,7 +2086,15 @@
entity.func_85029_a(crashreportcategory);
}
@ -284,7 +284,7 @@
}
if (entity.isDead)
@@ -2052,7 +2159,16 @@
@@ -2049,7 +2156,16 @@
crashreport = CrashReport.makeCrashReport(throwable1, "Ticking entity");
crashreportcategory = crashreport.makeCategory("Entity being ticked");
entity.func_85029_a(crashreportcategory);
@ -302,7 +302,7 @@
}
}
@@ -2095,7 +2211,16 @@
@@ -2092,7 +2208,16 @@
crashreport = CrashReport.makeCrashReport(throwable2, "Ticking tile entity");
crashreportcategory = crashreport.makeCategory("Tile entity being ticked");
tileentity.func_85027_a(crashreportcategory);
@ -320,7 +320,7 @@
}
}
@@ -2109,7 +2234,7 @@
@@ -2106,7 +2231,7 @@
if (chunk != null)
{
@ -329,7 +329,7 @@
}
}
}
@@ -2118,6 +2243,10 @@
@@ -2115,6 +2240,10 @@
if (!this.entityRemoval.isEmpty())
{
@ -340,7 +340,7 @@
this.loadedTileEntityList.removeAll(this.entityRemoval);
this.entityRemoval.clear();
}
@@ -2138,18 +2267,18 @@
@@ -2135,18 +2264,18 @@
{
this.loadedTileEntityList.add(tileentity1);
}
@ -363,7 +363,7 @@
}
}
@@ -2162,13 +2291,13 @@
@@ -2159,13 +2288,13 @@
public void addTileEntity(Collection par1Collection)
{
@ -384,7 +384,7 @@
}
}
@@ -2188,9 +2317,17 @@
@@ -2185,9 +2314,17 @@
{
int i = MathHelper.floor_double(par1Entity.posX);
int j = MathHelper.floor_double(par1Entity.posZ);
@ -405,7 +405,7 @@
{
par1Entity.lastTickPosX = par1Entity.posX;
par1Entity.lastTickPosY = par1Entity.posY;
@@ -2423,6 +2560,14 @@
@@ -2421,6 +2558,14 @@
{
return true;
}
@ -420,7 +420,7 @@
}
}
}
@@ -2745,15 +2890,16 @@
@@ -2743,15 +2888,16 @@
*/
public void setBlockTileEntity(int par1, int par2, int par3, TileEntity par4TileEntity)
{
@ -446,7 +446,7 @@
while (iterator.hasNext())
{
TileEntity tileentity1 = (TileEntity)iterator.next();
@@ -2764,19 +2910,18 @@
@@ -2762,19 +2908,18 @@
iterator.remove();
}
}
@ -475,7 +475,7 @@
}
}
@@ -2785,27 +2930,10 @@
@@ -2783,27 +2928,10 @@
*/
public void removeBlockTileEntity(int par1, int par2, int par3)
{
@ -507,7 +507,7 @@
}
}
@@ -2831,7 +2959,8 @@
@@ -2829,7 +2957,8 @@
*/
public boolean isBlockNormalCube(int par1, int par2, int par3)
{
@ -516,8 +516,8 @@
+ return block != null && block.isBlockNormalCube(this, par1, par2, par3);
}
public boolean func_85174_u(int par1, int par2, int par3)
@@ -2854,16 +2983,17 @@
public boolean isBlockFullCube(int par1, int par2, int par3)
@@ -2852,16 +2981,17 @@
*/
public boolean doesBlockHaveSolidTopSurface(int par1, int par2, int par3)
{
@ -537,7 +537,7 @@
return par1Block == null ? false : (par1Block.blockMaterial.isOpaque() && par1Block.renderAsNormalBlock() ? true : (par1Block instanceof BlockStairs ? (par2 & 4) == 4 : (par1Block instanceof BlockHalfSlab ? (par2 & 8) == 8 : (par1Block instanceof BlockHopper ? true : (par1Block instanceof BlockSnow ? (par2 & 7) == 7 : false)))));
}
@@ -2880,7 +3010,7 @@
@@ -2878,7 +3008,7 @@
if (chunk != null && !chunk.isEmpty())
{
Block block = Block.blocksList[this.getBlockId(par1, par2, par3)];
@ -546,7 +546,7 @@
}
else
{
@@ -2911,8 +3041,7 @@
@@ -2909,8 +3039,7 @@
*/
public void setAllowedSpawnTypes(boolean par1, boolean par2)
{
@ -556,7 +556,7 @@
}
/**
@@ -2928,6 +3057,11 @@
@@ -2926,6 +3055,11 @@
*/
private void calculateInitialWeather()
{
@ -568,7 +568,7 @@
if (this.worldInfo.isRaining())
{
this.rainingStrength = 1.0F;
@@ -2943,6 +3077,11 @@
@@ -2941,6 +3075,11 @@
* Updates all weather states.
*/
protected void updateWeather()
@ -580,7 +580,7 @@
{
if (!this.provider.hasNoSky)
{
@@ -3040,12 +3179,14 @@
@@ -3038,12 +3177,14 @@
public void toggleRain()
{
@ -596,7 +596,7 @@
this.theProfiler.startSection("buildList");
int i;
EntityPlayer entityplayer;
@@ -3152,6 +3293,11 @@
@@ -3150,6 +3291,11 @@
*/
public boolean canBlockFreeze(int par1, int par2, int par3, boolean par4)
{
@ -608,7 +608,7 @@
BiomeGenBase biomegenbase = this.getBiomeGenForCoords(par1, par3);
float f = biomegenbase.getFloatTemperature();
@@ -3210,6 +3356,11 @@
@@ -3208,6 +3354,11 @@
*/
public boolean canSnowAt(int par1, int par2, int par3)
{
@ -620,7 +620,7 @@
BiomeGenBase biomegenbase = this.getBiomeGenForCoords(par1, par3);
float f = biomegenbase.getFloatTemperature();
@@ -3253,10 +3404,12 @@
@@ -3251,10 +3402,12 @@
else
{
int l = this.getBlockId(par1, par2, par3);
@ -637,7 +637,7 @@
{
j1 = 1;
}
@@ -3352,7 +3505,9 @@
@@ -3350,7 +3503,9 @@
int j4 = i2 + Facing.offsetsXForSide[i4];
int k4 = j2 + Facing.offsetsYForSide[i4];
int l4 = k2 + Facing.offsetsZForSide[i4];
@ -648,7 +648,7 @@
i3 = this.getSavedLightValue(par1EnumSkyBlock, j4, k4, l4);
if (i3 == l2 - i5 && i1 < this.lightUpdateBlockList.length)
@@ -3455,10 +3610,10 @@
@@ -3453,10 +3608,10 @@
public List getEntitiesWithinAABBExcludingEntity(Entity par1Entity, AxisAlignedBB par2AxisAlignedBB, IEntitySelector par3IEntitySelector)
{
ArrayList arraylist = new ArrayList();
@ -663,7 +663,7 @@
for (int i1 = i; i1 <= j; ++i1)
{
@@ -3484,10 +3639,10 @@
@@ -3482,10 +3637,10 @@
public List selectEntitiesWithinAABB(Class par1Class, AxisAlignedBB par2AxisAlignedBB, IEntitySelector par3IEntitySelector)
{
@ -678,7 +678,7 @@
ArrayList arraylist = new ArrayList();
for (int i1 = i; i1 <= j; ++i1)
@@ -3580,11 +3735,14 @@
@@ -3578,11 +3733,14 @@
*/
public void addLoadedEntities(List par1List)
{
@ -686,17 +686,17 @@
-
for (int i = 0; i < par1List.size(); ++i)
{
- this.obtainEntitySkin((Entity)par1List.get(i));
- this.onEntityAdded((Entity)par1List.get(i));
+ Entity entity = (Entity)par1List.get(i);
+ if (!MinecraftForge.EVENT_BUS.post(new EntityJoinWorldEvent(entity, this)))
+ {
+ loadedEntityList.add(entity);
+ this.obtainEntitySkin(entity);
+ this.onEntityAdded(entity);
+ }
}
}
@@ -3618,6 +3776,11 @@
@@ -3616,6 +3774,11 @@
else
{
if (block != null && (block == Block.waterMoving || block == Block.waterStill || block == Block.lavaMoving || block == Block.lavaStill || block == Block.fire || block.blockMaterial.isReplaceable()))
@ -708,7 +708,7 @@
{
block = null;
}
@@ -3912,7 +4075,7 @@
@@ -3910,7 +4073,7 @@
*/
public long getSeed()
{
@ -717,7 +717,7 @@
}
public long getTotalWorldTime()
@@ -3922,7 +4085,7 @@
@@ -3920,7 +4083,7 @@
public long getWorldTime()
{
@ -726,7 +726,7 @@
}
/**
@@ -3930,7 +4093,7 @@
@@ -3928,7 +4091,7 @@
*/
public void setWorldTime(long par1)
{
@ -735,7 +735,7 @@
}
/**
@@ -3938,13 +4101,13 @@
@@ -3936,13 +4099,13 @@
*/
public ChunkCoordinates getSpawnPoint()
{
@ -751,7 +751,7 @@
}
@SideOnly(Side.CLIENT)
@@ -3968,7 +4131,10 @@
@@ -3966,7 +4129,10 @@
if (!this.loadedEntityList.contains(par1Entity))
{
@ -763,7 +763,7 @@
}
}
@@ -3976,6 +4142,11 @@
@@ -3974,6 +4140,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)
@ -775,7 +775,7 @@
{
return true;
}
@@ -4096,8 +4267,7 @@
@@ -4094,8 +4265,7 @@
*/
public boolean isBlockHighHumidity(int par1, int par2, int par3)
{
@ -785,7 +785,7 @@
}
/**
@@ -4172,7 +4342,7 @@
@@ -4170,7 +4340,7 @@
*/
public int getHeight()
{
@ -794,7 +794,7 @@
}
/**
@@ -4180,7 +4350,7 @@
@@ -4178,7 +4348,7 @@
*/
public int getActualHeight()
{
@ -803,7 +803,7 @@
}
public IUpdatePlayerListBox func_82735_a(EntityMinecart par1EntityMinecart)
@@ -4223,7 +4393,7 @@
@@ -4221,7 +4391,7 @@
*/
public double getHorizon()
{
@ -812,7 +812,7 @@
}
/**
@@ -4351,4 +4521,115 @@
@@ -4349,4 +4519,115 @@
return MathHelper.clamp_float(f, 0.0F, flag ? 1.5F : 1.0F);
}

View file

@ -131,7 +131,7 @@
this.updateLCG = this.updateLCG * 3 + 1013904223;
i1 = this.updateLCG >> 2;
@@ -433,6 +465,9 @@
public void func_82740_a(int par1, int par2, int par3, int par4, int par5, int par6)
public void scheduleBlockUpdateWithPriority(int par1, int par2, int par3, int par4, int par5, int par6)
{
NextTickListEntry nextticklistentry = new NextTickListEntry(par1, par2, par3, par4);
+ //Keeping here as a note for future when it may be restored.
@ -159,7 +159,7 @@
byte b0 = 0;
if (this.checkChunksExist(nextticklistentry.xCoord - b0, nextticklistentry.yCoord - b0, nextticklistentry.zCoord - b0, nextticklistentry.xCoord + b0, nextticklistentry.yCoord + b0, nextticklistentry.zCoord + b0))
@@ -717,16 +755,28 @@
@@ -696,16 +734,28 @@
{
ArrayList arraylist = new ArrayList();
@ -198,7 +198,7 @@
return arraylist;
}
@@ -734,6 +784,11 @@
@@ -713,6 +763,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)
@ -210,7 +210,7 @@
{
return !this.mcServer.func_96290_a(this, par2, par3, par4, par1EntityPlayer);
}
@@ -818,7 +873,7 @@
@@ -797,7 +852,7 @@
*/
protected void createBonusChest()
{
@ -219,7 +219,7 @@
for (int i = 0; i < 10; ++i)
{
@@ -861,6 +916,7 @@
@@ -840,6 +895,7 @@
}
this.chunkProvider.saveChunks(par1, par2IProgressUpdate);
@ -227,15 +227,15 @@
}
}
@@ -880,6 +936,7 @@
@@ -859,6 +915,7 @@
this.checkSessionLock();
this.saveHandler.saveWorldInfoWithPlayer(this.worldInfo, this.mcServer.getConfigurationManager().getHostPlayerData());
this.mapStorage.saveAllData();
+ this.perWorldStorage.saveAllData();
}
/**
@@ -1093,4 +1150,9 @@
protected void onEntityAdded(Entity par1Entity)
@@ -1066,4 +1123,9 @@
{
return this.field_85177_Q;
}