Pass 1: Most patches are restored.

NOTES: 1. Network is completely broken. 2. GameRegistry is partially broken. 3. ID sync is not in.
This commit is contained in:
Christian 2013-12-02 23:46:42 -05:00
parent 90e3b49ea5
commit f10969e3aa
133 changed files with 50213 additions and 35519 deletions

View file

@ -8,7 +8,7 @@ buildscript {
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:1.0-SNAPSHOT'
classpath 'net.minecraftforge.gradle:ForgeGradle:1.1-SNAPSHOT'
}
}
@ -25,8 +25,8 @@ repositories {
}
minecraft {
version = '1.6.4'
mcpVersion = '8.11'
version = '1.7.2'
mcpVersion = '9.01-pre'
fmlDir = projectDir.getAbsolutePath();
mainClass = 'cpw.mods.fml.relauncher.ServerLaunchWrapper'
installerVersion = "1.4"

8690
fml/conf/exceptor.json Normal file

File diff suppressed because it is too large Load diff

View file

@ -2361,35 +2361,23 @@ field_74885_f,coordBaseMode,2,switches the Coordinate System base off the Boundi
field_74886_g,componentType,2,The type ID of this component.
field_74887_e,boundingBox,2,
field_74896_a,villagersSpawned,2,The number of villagers that have been spawned in this component.
field_74897_k,startPiece,0,The starting piece of the village.
field_74897_k,startPiece,1,The starting piece of the village.
field_74899_a,averageGroundLevel,0,
field_74899_a,averageGroundLevel,1,
field_74901_a,averageGroundLevel,0,
field_74901_a,averageGroundLevel,1,
field_74903_a,averageGroundLevel,0,
field_74903_a,averageGroundLevel,1,
field_74905_a,averageGroundLevel,0,
field_74905_a,averageGroundLevel,1,
field_74907_a,averageGroundLevel,0,
field_74907_a,averageGroundLevel,1,
field_74897_k,startPiece,2,The starting piece of the village.
field_74899_a,averageGroundLevel,2,
field_74901_a,averageGroundLevel,2,
field_74903_a,averageGroundLevel,2,
field_74905_a,averageGroundLevel,2,
field_74907_a,averageGroundLevel,2,
field_74909_b,isTallHouse,2,
field_74910_c,tablePosition,2,
field_74911_a,averageGroundLevel,0,
field_74911_a,averageGroundLevel,1,
field_74911_a,averageGroundLevel,2,
field_74913_b,isRoofAccessible,2,
field_74914_a,averageGroundLevel,0,
field_74914_a,averageGroundLevel,1,
field_74916_b,averageGroundLevel,0,
field_74916_b,averageGroundLevel,1,
field_74914_a,averageGroundLevel,2,
field_74916_b,averageGroundLevel,2,
field_74917_c,hasMadeChest,2,
field_74918_a,villageBlacksmithChestContents,2,List of items that Village's Blacksmith chest can contain.
field_74920_a,averageGroundLevel,0,
field_74920_a,averageGroundLevel,1,
field_74922_a,averageGroundLevel,0,
field_74922_a,averageGroundLevel,1,
field_74923_b,averageGroundLevel,0,
field_74923_b,averageGroundLevel,1,
field_74920_a,averageGroundLevel,2,
field_74922_a,averageGroundLevel,2,
field_74923_b,averageGroundLevel,2,
field_74926_d,structVillagePieceWeight,2,
field_74927_b,inDesert,2,Boolean that determines if the village is in a desert or not.
field_74928_c,terrainType,2,"World terrain type, 0 for normal, 1 for flap map"
@ -2415,35 +2403,26 @@ field_74969_c,secondaryWeights,2,Contains the list of valid piece weights for th
field_74970_a,theNetherBridgePieceWeight,2,Instance of StructureNetherBridgePieceWeight.
field_74972_a,fillSeed,2,
field_74976_a,hasSpawner,2,
field_74998_a,doorType,0,
field_74998_a,doorType,1,
field_75001_b,doorType,0,
field_75001_b,doorType,1,
field_74998_a,doorType,2,
field_75001_b,doorType,2,
field_75002_c,hasMadeChest,2,
field_75003_a,strongholdChestContents,2,List of items that Stronghold chests can contain.
field_75005_a,hasSpawner,2,
field_75007_b,strongholdLibraryChestContents,2,List of items that Stronghold Library chests can contain.
field_75008_c,isLargeRoom,2,
field_75009_a,doorType,0,
field_75009_a,doorType,1,
field_75011_a,doorType,0,
field_75011_a,doorType,1,
field_75009_a,doorType,2,
field_75011_a,doorType,2,
field_75013_b,roomType,2,
field_75014_c,strongholdRoomCrossingChestContents,2,Items that could generate in the chest that is located in Stronghold Room Crossing.
field_75015_a,doorType,0,
field_75015_a,doorType,1,
field_75017_a,doorType,0,
field_75017_a,doorType,1,
field_75015_a,doorType,2,
field_75017_a,doorType,2,
field_75019_b,expandsX,2,
field_75020_c,expandsZ,2,
field_75021_a,doorType,0,
field_75021_a,doorType,1,
field_75023_b,doorType,0,
field_75023_b,doorType,1,
field_75021_a,doorType,2,
field_75023_b,doorType,2,
field_75025_b,strongholdPortalRoom,2,
field_75027_a,strongholdPieceWeight,2,
field_75029_a,doorType,0,
field_75029_a,doorType,1,
field_75029_a,doorType,2,
field_75038_b,rand,2,The RNG used by the MapGen classes.
field_75039_c,worldObj,2,This world object.
field_75040_a,range,2,The number of Chunks to gen-check in any given direction.
@ -3807,8 +3786,8 @@ field_77929_j,glowstoneEffect,2,
field_77930_k,gunpowderEffect,2,
field_77931_h,magmaCreamEffect,2,
field_77932_i,redstoneEffect,2,
field_77934_f,rarityName,0,Rarity name.
field_77937_e,rarityColor,0,A decimal representation of the hex color codes of a the color assigned to this rarity type. (13 becomes d as in \247d which is light purple)
field_77934_f,rarityName,2,Rarity name.
field_77937_e,rarityColor,2,A decimal representation of the hex color codes of a the color assigned to this rarity type. (13 becomes d as in \247d which is light purple)
field_77990_d,stackTagCompound,2,A NBTTagMap containing data about an ItemStack. Can only be used for non stackable items
field_77991_e,itemDamage,2,Damage dealt to the item or number of use. Raise when using items.
field_77992_b,animationsToGo,2,"Number of animation frames to go when receiving an item (by walking into it, for example)."

1 searge name side desc
2361 field_74886_g componentType 2 The type ID of this component.
2362 field_74887_e boundingBox 2
2363 field_74896_a villagersSpawned 2 The number of villagers that have been spawned in this component.
2364 field_74897_k startPiece 0 2 The starting piece of the village.
2365 field_74897_k field_74899_a startPiece averageGroundLevel 1 2 The starting piece of the village.
2366 field_74899_a field_74901_a averageGroundLevel 0 2
2367 field_74899_a field_74903_a averageGroundLevel 1 2
2368 field_74901_a field_74905_a averageGroundLevel 0 2
2369 field_74901_a field_74907_a averageGroundLevel 1 2
field_74903_a averageGroundLevel 0
field_74903_a averageGroundLevel 1
field_74905_a averageGroundLevel 0
field_74905_a averageGroundLevel 1
field_74907_a averageGroundLevel 0
field_74907_a averageGroundLevel 1
2370 field_74909_b isTallHouse 2
2371 field_74910_c tablePosition 2
2372 field_74911_a averageGroundLevel 0 2
field_74911_a averageGroundLevel 1
2373 field_74913_b isRoofAccessible 2
2374 field_74914_a averageGroundLevel 0 2
2375 field_74914_a field_74916_b averageGroundLevel 1 2
field_74916_b averageGroundLevel 0
field_74916_b averageGroundLevel 1
2376 field_74917_c hasMadeChest 2
2377 field_74918_a villageBlacksmithChestContents 2 List of items that Village's Blacksmith chest can contain.
2378 field_74920_a averageGroundLevel 0 2
2379 field_74920_a field_74922_a averageGroundLevel 1 2
2380 field_74922_a field_74923_b averageGroundLevel 0 2
field_74922_a averageGroundLevel 1
field_74923_b averageGroundLevel 0
field_74923_b averageGroundLevel 1
2381 field_74926_d structVillagePieceWeight 2
2382 field_74927_b inDesert 2 Boolean that determines if the village is in a desert or not.
2383 field_74928_c terrainType 2 World terrain type, 0 for normal, 1 for flap map
2403 field_74970_a theNetherBridgePieceWeight 2 Instance of StructureNetherBridgePieceWeight.
2404 field_74972_a fillSeed 2
2405 field_74976_a hasSpawner 2
2406 field_74998_a doorType 0 2
2407 field_74998_a field_75001_b doorType 1 2
field_75001_b doorType 0
field_75001_b doorType 1
2408 field_75002_c hasMadeChest 2
2409 field_75003_a strongholdChestContents 2 List of items that Stronghold chests can contain.
2410 field_75005_a hasSpawner 2
2411 field_75007_b strongholdLibraryChestContents 2 List of items that Stronghold Library chests can contain.
2412 field_75008_c isLargeRoom 2
2413 field_75009_a doorType 0 2
2414 field_75009_a field_75011_a doorType 1 2
field_75011_a doorType 0
field_75011_a doorType 1
2415 field_75013_b roomType 2
2416 field_75014_c strongholdRoomCrossingChestContents 2 Items that could generate in the chest that is located in Stronghold Room Crossing.
2417 field_75015_a doorType 0 2
2418 field_75015_a field_75017_a doorType 1 2
field_75017_a doorType 0
field_75017_a doorType 1
2419 field_75019_b expandsX 2
2420 field_75020_c expandsZ 2
2421 field_75021_a doorType 0 2
2422 field_75021_a field_75023_b doorType 1 2
field_75023_b doorType 0
field_75023_b doorType 1
2423 field_75025_b strongholdPortalRoom 2
2424 field_75027_a strongholdPieceWeight 2
2425 field_75029_a doorType 0 2
field_75029_a doorType 1
2426 field_75038_b rand 2 The RNG used by the MapGen classes.
2427 field_75039_c worldObj 2 This world object.
2428 field_75040_a range 2 The number of Chunks to gen-check in any given direction.
3786 field_77930_k gunpowderEffect 2
3787 field_77931_h magmaCreamEffect 2
3788 field_77932_i redstoneEffect 2
3789 field_77934_f rarityName 0 2 Rarity name.
3790 field_77937_e rarityColor 0 2 A decimal representation of the hex color codes of a the color assigned to this rarity type. (13 becomes d as in \247d which is light purple)
3791 field_77990_d stackTagCompound 2 A NBTTagMap containing data about an ItemStack. Can only be used for non stackable items
3792 field_77991_e itemDamage 2 Damage dealt to the item or number of use. Raise when using items.
3793 field_77992_b animationsToGo 2 Number of animation frames to go when receiving an item (by walking into it, for example).

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -22,8 +22,8 @@ Params = %(DirConf)s/params.csv
NewIds = %(DirConf)s/newids.csv
[SRGS]
ConfClient = %(DirConf)s/packaged.srg
ConfServer = %(DirConf)s/packaged.srg
ConfClient = %(DirConf)s/client.srg
ConfServer = %(DirConf)s/server.srg
Client = %(DirTemp)s/client_rg.srg
Server = %(DirTemp)s/server_rg.srg
DeobfClient = %(DirTemp)s/client_deobf.srg
@ -38,8 +38,8 @@ DirNatives = %(DirJars)s/bin/natives
Client = %(DirJars)s/bin/minecraft.jar
Server = %(DirJars)s/minecraft_server.jar
LWJGL = %(DirJars)s/bin/jinput.jar,%(DirJars)s/bin/lwjgl.jar,%(DirJars)s/bin/lwjgl_util.jar
MD5Client = 2e5044f5359e82245551167a237f3167
MD5Server = ba3145656b1480122bd8759cecd7b7a1
MD5Client = 7a304554fdea879a799efe6eaedd8c95
MD5Server = c48168f463e935262ea65b702f175153
[RETROGUARD]
Location = %(DirRuntime)s/bin/retroguard.jar
@ -58,8 +58,10 @@ ServerDeobLog = %(DirLogs)s/server_deob.log
NullPkg = net/minecraft/src
[EXCEPTOR]
XClientCfg = %(DirConf)s/packaged.exc
XServerCfg = %(DirConf)s/packaged.exc
XClientJson = %(DirConf)s/exceptor.json
XServerJson = %(DirConf)s/exceptor.json
XClientCfg = %(DirConf)s/joined.exc
XServerCfg = %(DirConf)s/joined.exc
XClientOut = %(DirTemp)s/minecraft_exc.jar
XServerOut = %(DirTemp)s/minecraft_server_exc.jar
XClientLog = %(DirLogs)s/client_exc.log
@ -96,11 +98,11 @@ BinClient = %(DirBin)s/minecraft
BinServer = %(DirBin)s/minecraft_server
LogClient = %(DirLogs)s/client_compile.log
LogServer = %(DirLogs)s/server_compile.log
ClassPathClient =
ClassPathServer =
ClassPathClient = %(DirLib)s/,%(DirLib)s/*,%(DirJars)s/bin/minecraft.jar,%(DirJars)s/bin/jinput.jar,%(DirJars)s/bin/lwjgl.jar,%(DirJars)s/bin/lwjgl_util.jar
ClassPathServer = %(DirLib)s/,%(DirLib)s/*,%(DirJars)s/minecraft_server.jar
ClientFixes = %(DirConf)s/patches
FixStart = Start
IgnorePkg = paulscode,com,isom,ibxm,de/matthiasmann/twl,org,javax/xml,javax/ws,argo
IgnorePkg = paulscode,com,isom,ibxm,de/matthiasmann/twl,org,javax,argo,gnu,io/netty
[REOBF]
MD5Client = %(DirTemp)s/client.md5
@ -125,10 +127,10 @@ OutSRCServer = %(DirModSrc)s/minecraft_server
[MCP]
LogFile = %(DirLogs)s/mcp.log
LogFileErr = %(DirLogs)s/mcperr.log
UpdateUrl =
UpdateUrl = http://mcp.ocean-labs.de/files/mcprolling_{version}/
IgnoreUpdate = %(DirBin)s,%(DirLib)s,%(DirLogs)s,%(DirModSrc)s,%(DirReobf)s,%(DirSrc)s,%(DirTemp)s,%(DirEclipse)s/Client/bin,%(DirEclipse)s/Server/bin,%(DirJars)s/world,%(DirJars)s/saves,%(DirJars)s/resources
RGIndex = 143000
ParamIndex = 43000
RGIndex = 145000
ParamIndex = 45000
[ASTYLE]
AstyleConfig = %(DirConf)s/astyle.cfg
@ -155,9 +157,9 @@ CmdRGReobf = %s -cp "{classpath}" RetroGuard -notch {conffile}
CmdSS = %s -cp "{classpath}" -jar %s -i {injar} -o {outjar} -m {mapfile} --kill-source
CmdSSReobf = %s -cp "{classpath}" -jar %s -i {injar} -o {outjar} -r -m {mapfile} -d {identifier} -e %s
CmdJadretro = %s -jar %s {targetdir}
CmdFernflower = %s -Xmx512M -jar %s -din=0 -rbr=0 -dgs=1 -asc=1 -log=WARN {indir} {outdir}
CmdExceptor = %s -jar %s {input} {output} {conf} {log}
CmdRecomp = %s -encoding UTF-8 -Xlint:-options -deprecation -g -source 1.6 -target 1.6 -classpath "{classpath}" -sourcepath {sourcepath} -d {outpath} {pkgs}
CmdFernflower = %s -jar %s -din=1 -rbr=0 -dgs=1 -asc=1 -log=WARN {indir} {outdir}
CmdExceptor = %s -jar %s --jarIn {input} --jarOut {output} --mapIn {conf} --log {log} --jsonIn {json} --applyMarkers
CmdRecomp = %s -Xlint:-options -deprecation -g -source 1.6 -target 1.6 -classpath "{classpath}" -sourcepath {sourcepath} -d {outpath} {pkgs}
CmdRecompScala = %s -encoding UTF-8 -deprecation -target:jvm-1.6 -classpath "{classpath}" -sourcepath {sourcepath} -d {outpath} {pkgs}
CmdStartSrv = %s -Xincgc -Xms1024M -Xmx1024M -cp "{classpath}" cpw.mods.fml.relauncher.ServerLaunchWrapper {extraargs}
CmdStartClt = %s -Xincgc -Xms1024M -Xmx1024M -cp "{classpath}" -Djava.library.path={natives} net.minecraft.launchwrapper.Launch --tweakClass cpw.mods.fml.common.launcher.FMLTweaker --version FML_DEV {extraargs}
CmdStartSrv = %s -Xincgc -Xms1024M -Xmx1024M -cp "{classpath}" net.minecraft.server.MinecraftServer
CmdStartClt = %s -Xincgc -Xms1024M -Xmx1024M -cp "{classpath}" -Djava.library.path={natives} Start

View file

@ -6,7 +6,7 @@ func_100012_b,setPotionDurationMax,0,Toggle the isPotionDurationMax field.
func_100015_a,isKeyDown,0,Returns whether the specified key binding is currently being pressed.
func_102007_a,canInsertItem,2,"Returns true if automation can insert the given item in the given slot from the given side. Args: Slot, item, side"
func_102008_b,canExtractItem,2,"Returns true if automation can extract the given item in the given slot from the given side. Args: Slot, item, side"
func_102012_a,insertStackFromInventory,2,
func_102012_a,insertStackFromInventory,0,
func_102013_b,canExtractItemFromInventory,2,
func_102015_a,canInsertItemToInventory,2,"Args: inventory, item, slot, side"
func_102026_a,isBlockTopFacingSurfaceSolid,2,"Performs check to see if the block is a normal, solid block, or if the metadata of the block indicates that its facing puts its solid side upwards. (inverted stairs, for example)"
@ -83,7 +83,7 @@ func_110252_cg,getTemper,2,
func_110254_bY,getHorseSize,2,
func_110255_k,setHorseJumping,2,
func_110257_ck,isHorseSaddled,2,
func_110258_o,getGrassEatingAmount,0,
func_110258_o,getGrassEatingAmount,2,
func_110260_d,getHorseArmorIndex,2,"0 = iron, 1 = gold, 2 = diamond"
func_110261_ca,isChested,2,
func_110262_ch,prepareChunkForSpawn,2,
@ -201,7 +201,7 @@ func_110616_f,fixDirResourcepacks,0,
func_110623_a,getResourcePath,0,
func_110624_b,getResourceDomain,0,
func_110628_a,bindTexture,0,
func_110647_a,getOSType,0,
func_110647_a,getOSType,2,
func_110746_b,getLocationTensionFactor,2,"returns a float value that can be used to determine how likely something is to go awry in the area. It increases based on how long the player is within the vicinity, the lunar phase, and game difficulty. The value can be up to 1.5 on the highest difficulty, 1.0 otherwise."
func_110750_I,getTensionFactorForBlock,2,"returns a float value that can be used to determine how likely something is to go awry in the area. It increases based on how long the player is within the vicinity, the lunar phase, and game difficulty. The value can be up to 1.5 on the highest difficulty, 1.0 otherwise."
func_110775_a,getEntityTexture,0,Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
@ -395,7 +395,7 @@ func_70012_b,setLocationAndAngles,2,Sets the location and Yaw/Pitch of an entity
func_70013_c,getBrightness,2,Gets how bright this entity is.
func_70014_b,writeEntityToNBT,2,(abstract) Protected helper method to write subclass entity data to NBT.
func_70015_d,setFire,2,"Sets entity to burn for x amount of seconds, cannot lower amount of existing fire."
func_70016_h,setVelocity,0,"Sets the velocity to the args. Args: x, y, z"
func_70016_h,setVelocity,2,"Sets the velocity to the args. Args: x, y, z"
func_70017_D,doBlockCollisions,2,"Checks for block collisions, and calls the associated onBlockCollided method for the collided block."
func_70018_K,setBeenAttacked,2,Sets that this entity has been attacked.
func_70019_c,setEating,2,
@ -413,7 +413,7 @@ func_70030_z,onEntityUpdate,2,Gets called every tick from main Entity class
func_70031_b,setSprinting,2,Set sprinting switch for Entity.
func_70032_d,getDistanceToEntity,2,Returns the distance to the entity. Args: entity
func_70033_W,getYOffset,2,Returns the Y Offset of this entity.
func_70034_d,setRotationYawHead,0,Sets the head's yaw rotation of the entity.
func_70034_d,setRotationYawHead,2,Sets the head's yaw rotation of the entity.
func_70035_c,getLastActiveItems,2,
func_70036_a,playStepSound,2,"Plays step sound at given x, y, z for the entity"
func_70037_a,readEntityFromNBT,2,(abstract) Protected helper method to read subclass entity data from NBT.
@ -435,7 +435,7 @@ func_70052_a,setFlag,2,"Enable or disable a entity flag, see getEntityFlag to re
func_70053_R,getShadowSize,0,
func_70054_a,dropItemWithOffset,2,"Drops an item stack with a specified y offset. Args: itemID, count, yOffset"
func_70055_a,isInsideOfMaterial,2,Checks if the current block the entity is within of the specified material type
func_70056_a,setPositionAndRotation2,0,"Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, posY, posZ, yaw, pitch"
func_70056_a,setPositionAndRotation2,2,"Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, posY, posZ, yaw, pitch"
func_70057_ab,performHurtAnimation,0,Setups the entity to do the hurt animation. Only used by packets in multiplayer.
func_70058_J,handleLavaMovement,2,Whether or not the current entity is in lava
func_70060_a,moveFlying,2,Used in both water and by flying objects
@ -447,7 +447,7 @@ func_70066_B,extinguish,2,Removes fire from entity.
func_70067_L,canBeCollidedWith,2,Returns true if other Entities should be prevented from moving through this Entity.
func_70068_e,getDistanceSqToEntity,2,Returns the squared distance to the entity. Args: entity
func_70069_a,fall,2,Called when the mob is falling. Calculates and applies fall damage.
func_70070_b,getBrightnessForRender,0,
func_70070_b,getBrightnessForRender,2,
func_70071_h_,onUpdate,2,Called to update the entity's position/logic.
func_70072_I,handleWaterMovement,2,Returns if this entity is in water and will end up adding the waters velocity to the entity
func_70074_a,onKillEntity,2,This method gets called when the entity kills another one.
@ -458,7 +458,7 @@ func_70078_a,mountEntity,2,"Called when a player mounts an entity. e.g. mounts a
func_70079_am,getRotationYawHead,2,
func_70080_a,setPositionAndRotation,2,"Sets the entity's position and rotation. Args: posX, posY, posZ, yaw, pitch"
func_70081_e,dealFireDamage,2,Will deal the specified amount of damage to the entity if the entity isn't immune to fire damage. Args: amountDamage
func_70082_c,setAngles,0,"Adds par1*0.15 to the entity's yaw, and *subtracts* par2*0.15 from the pitch. Clamps pitch from -90 to 90. Both arguments in degrees."
func_70082_c,setAngles,2,"Adds par1*0.15 to the entity's yaw, and *subtracts* par2*0.15 from the pitch. Clamps pitch from -90 to 90. Both arguments in degrees."
func_70083_f,getFlag,2,Returns true if the flag is active for the entity. Known flags: 0) is burning; 1) is sneaking; 2) is riding something; 3) is sprinting; 4) is eating
func_70084_c,addToPlayerScore,2,"Adds a value to the player score. Currently not actually used and the entity passed in does nothing. Args: entity, scoreToAdd"
func_70085_c,interact,2,"Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig."
@ -479,7 +479,7 @@ func_70099_a,entityDropItem,2,Drops an item at the position of the entity.
func_70100_b_,onCollideWithPlayer,2,Called by a player entity when they collide with an entity
func_70101_b,setRotation,2,Sets the rotation of the entity
func_70102_a,isInRangeToRenderVec3D,0,Checks using a Vec3d to determine if this entity is within range of that vector to be rendered. Args: vec3D
func_70103_a,handleHealthUpdate,0,
func_70103_a,handleHealthUpdate,2,
func_70104_M,canBePushed,2,Returns true if this entity should push and be pushed by other entities when colliding.
func_70105_a,setSize,2,"Sets the width and height of the entity. Args: width, height"
func_70106_y,setDead,2,Will get destroyed next tick.
@ -488,7 +488,7 @@ func_70108_f,applyEntityCollision,2,Applies a velocity to each of the entities p
func_70109_d,writeToNBT,2,Save the entity to NBT (calls an abstract helper method to write extra data)
func_70110_aj,setInWeb,2,Sets the Entity inside a web block.
func_70111_Y,getCollisionBorderSize,2,
func_70112_a,isInRangeToRenderDist,0,Checks if the entity is in range to render by using the past in distance and comparing it to its average edge length * 64 * renderDistanceWeight Args: distance
func_70112_a,isInRangeToRenderDist,2,Checks if the entity is in range to render by using the past in distance and comparing it to its average edge length * 64 * renderDistanceWeight Args: distance
func_70113_ah,isEating,0,
func_70114_g,getCollisionBox,2,"Returns a boundingBox used to collide the entity with other entities and blocks. This enables the entity to be pushable on contact, like boats or minecarts."
func_70115_ae,isRiding,2,"Returns true if the entity is riding another entity, used by render to rotate the legs to be in 'sit' position for players."
@ -597,7 +597,7 @@ func_70449_g,damageArmor,2,Damages armor in each slot by the specified amount.
func_70450_e,hasItem,2,Get if a specifiied item id is inside the inventory.
func_70451_h,getHotbarSize,2,Get the size of the player hotbar inventory
func_70452_e,storePartialItemStack,2,This function stores as many items of an ItemStack as possible in a matching slot and returns the quantity of left over items.
func_70453_c,changeCurrentItem,0,Switch the current item to the next one or the previous one
func_70453_c,changeCurrentItem,2,Switch the current item to the next one or the previous one
func_70454_b,canHarvestBlock,2,Returns whether the current item (tool) can harvest from the specified block (actually get a result).
func_70455_b,copyInventory,2,Copy the ItemStack contents from another InventoryPlayer instance
func_70463_b,getStackInRowAndColumn,2,"Returns the itemstack in the slot specified (Top left is 0, 0). Args: row, column"
@ -618,7 +618,7 @@ func_70515_d,explode,2,
func_70518_d,onValidSurface,2,checks to make sure painting can be placed there
func_70526_d,getXpValue,2,Returns the XP value of this XP orb.
func_70527_a,getXPSplit,2,Get xp split rate (Is called until the xp drop code in EntityLiving.onEntityUpdate is complete)
func_70528_g,getTextureByXP,0,Returns a number from 1 to 10 based on how much XP this orb is worth. This is used by RenderXPOrb to determine what texture to use.
func_70528_g,getTextureByXP,2,Returns a number from 1 to 10 based on how much XP this orb is worth. This is used by RenderXPOrb to determine what texture to use.
func_70534_d,getRedColorF,0,
func_70535_g,getBlueColorF,0,
func_70536_a,setParticleTextureIndex,0,Public method to set private field particleTextureIndex.
@ -642,12 +642,12 @@ func_70609_aI,onDeathUpdate,2,"handles entity death timer, experience orb and pa
func_70610_aX,isMovementBlocked,2,Dead and sleeping entities cannot move
func_70612_e,moveEntityWithHeading,2,"Moves the entity based on the specified heading. Args: strafe, forward"
func_70613_aW,isClientWorld,2,Returns whether the entity is in a local (client) world
func_70614_a,rayTrace,0,"Performs a ray trace for the distance specified and using the partial tick time. Args: distance, partialTickTime"
func_70614_a,rayTrace,2,"Performs a ray trace for the distance specified and using the partial tick time. Args: distance, partialTickTime"
func_70615_aA,eatGrassBonus,2,This function applies the benefits of growing back wool and faster growing up to the acting entity. (This function is used in the AIEatGrass)
func_70617_f_,isOnLadder,2,"returns true if this entity is by a ladder, false otherwise"
func_70618_n,removePotionEffectClient,0,Remove the speified potion effect from this entity.
func_70619_bc,updateAITasks,2,
func_70620_b,getItemIcon,0,Gets the Icon Index of the item currently held
func_70620_b,getItemIcon,2,Gets the Icon Index of the item currently held
func_70621_aR,getHurtSound,2,Returns the sound this mob makes when it is hurt.
func_70623_bb,despawnEntity,2,Makes the entity despawn if requirements are reached
func_70624_b,setAttackTarget,2,Sets the active target the Task system uses for tracking
@ -689,7 +689,7 @@ func_70662_br,isEntityUndead,2,Returns true if this entity is undead.
func_70663_b,updateRotation,2,"Arguments: current rotation, intended rotation, max increment."
func_70664_aZ,jump,2,Causes this entity to do an upwards motion (jumping).
func_70665_d,damageEntity,2,Deals damage to the entity. If its a EntityPlayer then will take damage from the armor first and then health second with the reduced value. Args: damageAmount
func_70666_h,getPosition,0,interpolated position vector
func_70666_h,getPosition,2,interpolated position vector
func_70668_bt,getCreatureAttribute,2,Get this Entity's EnumCreatureAttribute
func_70669_a,renderBrokenItemStack,2,Renders broken item particles using the given ItemStack
func_70670_a,onNewPotionEffect,2,
@ -699,7 +699,7 @@ func_70673_aS,getDeathSound,2,Returns the sound this mob makes on death.
func_70674_bp,clearActivePotions,2,
func_70675_k,damageArmor,2,
func_70676_i,getLook,2,interpolated look vector
func_70678_g,getSwingProgress,0,Returns where in the swing animation the living entity is (from 0 to 1). Args: partialTickTime
func_70678_g,getSwingProgress,2,Returns where in the swing animation the living entity is (from 0 to 1). Args: partialTickTime
func_70679_bo,updatePotionEffects,2,
func_70681_au,getRNG,2,
func_70682_h,decreaseAirSupply,2,Decrements the entity's air supply when underwater
@ -750,7 +750,7 @@ func_70824_q,getCarryingData,2,Get the metadata of the block an enderman carries
func_70825_j,teleportTo,2,Teleport the enderman
func_70829_a,setCreeperState,2,"Sets the state of creeper, -1 to idle and 1 to be 'in fuse'"
func_70830_n,getPowered,2,Returns true if the creeper is powered by a lightning bolt.
func_70831_j,getCreeperFlashIntensity,0,Params: (Float)Render tick. Returns the intensity of the creeper's flash when it is ignited.
func_70831_j,getCreeperFlashIntensity,2,Params: (Float)Render tick. Returns the intensity of the creeper's flash when it is ignited.
func_70832_p,getCreeperState,2,"Returns the current state of creeper, -1 is idle, 1 is 'in fuse'"
func_70835_c,becomeAngryAt,2,Causes this PigZombie to become angry at the supplied Entity (which will be a player).
func_70839_e,setBesideClimbableBlock,2,"Updates the WatchableObject (Byte) created in entityInit(), setting it to 0x01 if par1 is true or 0x00 if it is false."
@ -793,7 +793,7 @@ func_70919_bu,isAngry,2,Determines whether this wolf is angry or not.
func_70920_v,getTailRotation,0,
func_70921_u,getWolfShaking,0,
func_70923_f,getShakeAngle,0,
func_70930_a,setRecipes,0,
func_70930_a,setRecipes,2,
func_70931_l_,getCustomer,2,
func_70932_a_,setCustomer,2,
func_70933_a,useRecipe,2,
@ -802,7 +802,7 @@ func_70938_b,setProfession,2,
func_70939_f,setPlaying,2,
func_70940_q,isTrading,2,
func_70941_o,isMating,2,
func_70942_a,generateRandomParticles,0,par1 is the particleName
func_70942_a,generateRandomParticles,2,par1 is the particleName
func_70943_c,getRandomCountForBlacksmithItem,2,
func_70944_b,getRandomCountForItem,2,"default to 1, and villagerStockList contains a min/max amount for each index"
func_70945_p,isPlaying,2,
@ -917,7 +917,7 @@ func_71191_d,setBuildLimit,2,
func_71192_d,setUserMessage,2,"Typically ""menu.convertingLevel"", ""menu.loadingLevel"" or others."
func_71193_K,allowSpawnMonsters,2,
func_71194_c,canCreateBonusChest,2,
func_71195_b_,getUserMessage,0,
func_71195_b_,getUserMessage,2,
func_71196_a,getServerConfigurationManager,2,"Gets the current player count, maximum player count, and player entity list."
func_71197_b,startServer,2,Initialises the server and starts it.
func_71198_k,logDebug,2,"If isDebuggingEnabled(), logs the message with a level of INFO."
@ -1383,7 +1383,7 @@ func_72353_e,isPlayerOpped,2,"Returns true if the specified player is opped, eve
func_72354_b,updateTimeAndWeatherForPlayer,2,Updates the time and weather for the given player to those of the given world
func_72355_a,initializeConnectionToPlayer,2,
func_72356_a,transferPlayerToDimension,2,
func_72357_a,setGameType,0,
func_72357_a,setGameType,2,
func_72358_d,serverUpdateMountedMovingPlayer,2,"using player's dimension, update their movement when in a vehicle (e.g. cart, boat)"
func_72359_h,addToWhiteList,2,Add the specified player to the white list.
func_72360_c,removeOp,2,"This removes a username from the ops list, then saves the op list"
@ -1446,7 +1446,7 @@ func_72442_b,rotateAroundY,2,Rotates the vector around the y axis by the specifi
func_72443_a,createVectorHelper,2,"Static method for creating a new Vec3D given the three x,y,z values. This is only called from the other static method which creates and places it in the list."
func_72444_a,subtract,0,Returns a new vector with the result of the specified vector minus this.
func_72445_d,squareDistanceTo,2,"The square of the Euclidean distance between this and the vector of x,y,z components passed in."
func_72446_c,rotateAroundZ,0,Rotates the vector around the z axis by the specified angle.
func_72446_c,rotateAroundZ,2,Rotates the vector around the z axis by the specified angle.
func_72452_a,handleRemoveEntityEffect,2,Handle a remove entity effect packet.
func_72453_a,handleMapChunks,2,
func_72454_a,handleBlockEvent,2,
@ -1651,7 +1651,7 @@ func_72798_a,getBlockId,2,"Returns the block ID at coords x,y,z"
func_72799_c,isAirBlock,2,Returns true if the block at the specified coordinates is empty
func_72800_K,getHeight,2,Returns current world height.
func_72801_o,getLightBrightness,2,"Returns how bright the block is shown as which is the block's light value looked up in a lookup table (light values aren't linear for brightness). Args: x, y, z"
func_72802_i,getLightBrightnessForSkyBlocks,0,Any Light rendered on a 1.8 Block goes through here
func_72802_i,getLightBrightnessForSkyBlocks,2,Any Light rendered on a 1.8 Block goes through here
func_72803_f,getBlockMaterial,2,Returns the block's material.
func_72804_r,isBlockOpaqueCube,2,"Returns true if the block at the specified coordinates is an opaque cube. Args: x, y, z"
func_72805_g,getBlockMetadata,2,"Returns the block metadata at coords x,y,z"
@ -1667,16 +1667,16 @@ func_72819_i,getWeightedThunderStrength,2,
func_72820_D,getWorldTime,2,
func_72821_m,notifyBlockOfNeighborChange,2,"Notifies a block that one of its neighbor change to the specified type Args: x, y, z, blockID"
func_72823_a,setItemData,2,"Assigns the given String id to the given MapDataBase using the MapStorage, removing any existing ones of the same id."
func_72824_f,getCloudColour,0,
func_72824_f,getCloudColour,2,
func_72825_h,getTopSolidOrLiquidBlock,2,"Finds the highest block on the x, z coordinate that is solid and returns its y coord. Args x, z"
func_72826_c,getCelestialAngle,2,calls calculateCelestialAngle
func_72827_u,getProviderName,0,"Returns the name of the current chunk provider, by calling chunkprovider.makeString()"
func_72827_u,getProviderName,2,"Returns the name of the current chunk provider, by calling chunkprovider.makeString()"
func_72828_b,unloadEntities,2,Adds a list of entities to be unloaded on the next pass of World.updateEntities()
func_72829_c,checkBlockCollision,2,Returns true if there are any blocks in the region constrained by an AxisAlignedBB
func_72830_b,isAABBInMaterial,2,checks if the given AABB is in the material given. Used while swimming.
func_72831_a,rayTraceBlocks_do_do,2,
func_72832_d,setBlock,2,"Sets the block ID and metadata at a given location. Args: X, Y, Z, new block ID, new metadata, flags. Flag 1 will cause a block update. Flag 2 will send the change to clients (you almost always want this). Flag 4 prevents the block from being re-rendered, if this is a client world. Flags can be added together."
func_72833_a,getSkyColor,0,Calculates the color for the skybox
func_72833_a,getSkyColor,2,Calculates the color for the skybox
func_72834_c,canBlockFreeze,2,"checks to see if a given block is both water, and cold enough to freeze - if the par4 boolean is set, this will only return true if there is a non-water block immediately adjacent to the specified block"
func_72835_b,tick,2,Runs a single tick for the world
func_72836_a,scheduleBlockUpdate,2,Schedules a tick to a block with a delay (Most commonly the tick rate)
@ -1691,12 +1691,12 @@ func_72844_a,getEntityPathToXYZ,2,
func_72845_h,markBlockForUpdate,2,"On the client, re-renders the block. On the server, sends the block to the client (which will re-render it only if the ID or MD changes), including the tile entity description packet if applicable. Args: x, y, z"
func_72846_b,getClosestVulnerablePlayer,2,"Returns the closest vulnerable player within the given radius, or null if none is found."
func_72847_b,onEntityRemoved,2,
func_72848_b,removeWorldAccess,0,Removes a worldAccess from the worldAccesses object
func_72848_b,removeWorldAccess,2,Removes a worldAccess from the worldAccesses object
func_72849_a,getBlockLightValue_do,2,"Gets the light value of a block location. This is the actual function that gets the value and has a bool flag that indicates if its a half step block to get the maximum light value of a direct neighboring block (left, right, forward, back, and up)"
func_72850_v,isBlockFreezableNaturally,2,checks to see if a given block is both water and has at least one immediately adjacent non-water block
func_72851_f,notifyBlockChange,2,"The block type change and need to notify other systems Args: x, y, z, blockID"
func_72852_a,addTileEntity,2,
func_72853_d,getMoonPhase,0,
func_72853_d,getMoonPhase,2,
func_72854_c,updateAllPlayersSleepingFlag,2,Updates the flag that indicates whether or not all players in the world are sleeping.
func_72855_b,checkNoEntityCollision,2,"Returns true if there are no solid, live entities in the specified AxisAlignedBB"
func_72856_b,getClosestVulnerablePlayerToEntity,2,"Returns the closest vulnerable player to this entity within the given radius, or null if none is found"
@ -1720,7 +1720,7 @@ func_72876_a,createExplosion,2,"Creates an explosion. Args: entity, x, y, z, str
func_72877_b,setWorldTime,2,Sets the world time.
func_72878_l,getIndirectPowerLevelTo,2,"Gets the power level from a certain block face. Args: x, y, z, direction"
func_72879_k,isBlockProvidingPowerTo,2,"Is this block powering in the specified direction Args: x, y, z, direction"
func_72880_h,getStarBrightness,0,How bright are stars in the sky
func_72880_h,getStarBrightness,2,How bright are stars in the sky
func_72882_A,sendQuittingDisconnectingPacket,0,"If on MP, sends a quitting packet."
func_72883_k,getFullBlockLightValue,2,Does the same as getBlockLightValue_do but without checking if its not a normal block
func_72884_u,isBlockFreezable,2,checks to see if a given block is both water and is cold enough to freeze
@ -1733,7 +1733,7 @@ func_72890_a,getClosestPlayerToEntity,2,"Gets the closest player to the entity w
func_72891_a,setAllowedSpawnTypes,2,Set which types of mobs are allowed to spawn (peaceful vs hostile).
func_72892_b,scheduleBlockUpdateFromLoad,2,Schedules a block update from the saved information in a chunk. Called when the chunk is loaded.
func_72893_g,tickBlocksAndAmbiance,2,plays random cave ambient sounds and runs updateTick on random blocks within each chunk in the vacinity of a player
func_72894_k,setRainStrength,0,
func_72894_k,setRainStrength,2,
func_72896_J,isRaining,2,Returns true if the current rain strength is greater than 0.2
func_72897_h,joinEntityInSurroundings,0,spwans an entity and loads surrounding chunks
func_72898_h,notifyBlocksOfNeighborChange,2,"Notifies neighboring blocks that this specified block changed Args: x, y, z, blockID"
@ -1763,7 +1763,7 @@ func_72921_c,setBlockMetadataWithNotify,2,"Sets the blocks metadata and if set w
func_72922_b,getFirstUncoveredBlock,2,"Returns the block ID of the first block at this (x,z) location with air above it, searching from sea level upwards."
func_72923_a,onEntityAdded,2,
func_72924_a,getPlayerEntityByName,2,Find a player by name in this world.
func_72925_a,getSkyBlockTypeBrightness,0,Brightness for SkyBlock.Sky is clear white and (through color computing it is assumed) DEPENDENT ON DAYTIME. Brightness for SkyBlock.Block is yellowish and independent.
func_72925_a,getSkyBlockTypeBrightness,2,Brightness for SkyBlock.Sky is clear white and (through color computing it is assumed) DEPENDENT ON DAYTIME. Brightness for SkyBlock.Block is yellowish and independent.
func_72926_e,playAuxSFX,2,See description for func_72706_a.
func_72927_d,blockHasTileEntity,2,Checks if a block at a given position should have a tile entity.
func_72928_a,markTileEntityForDespawn,2,adds tile entity to despawn list (renamed from markEntityForDespawn)
@ -1785,8 +1785,8 @@ func_72944_b,markTileEntityChunkModified,2,"Args: X, Y, Z, tile entity Marks the
func_72945_a,getCollidingBoundingBoxes,2,"Returns a list of bounding boxes that collide with aabb excluding the passed in entity's collision. Args: entity, aabb"
func_72946_b,findClosestStructure,2,Returns the location of the closest structure of the specified type. If not found returns null.
func_72947_a,calculateInitialWeather,2,Called from World constructor to set rainingStrength and thunderingStrength
func_72948_g,getFogColor,0,Returns vector(ish) with R/G/B for fog
func_72950_A,setSpawnLocation,0,
func_72948_g,getFogColor,2,Returns vector(ish) with R/G/B for fog
func_72950_A,setSpawnLocation,2,
func_72951_B,canLightningStrikeAt,2,
func_72953_d,isAnyLiquid,2,Returns if any of the blocks within the aabb are liquids. Args: aabb
func_72954_a,addWorldAccess,2,Adds a IWorldAccess to the list of worldAccesses
@ -1804,17 +1804,17 @@ func_72966_v,calculateInitialSkylight,2,Called on construction of the World clas
func_72967_a,calculateSkylightSubtracted,2,Returns the amount of skylight subtracted for the current time
func_72969_x,updateAllLightTypes,2,
func_72970_h,createChunkProvider,2,Creates the chunk provider for this world. Called in the constructor. Retrieves provider from worldProvider?
func_72971_b,getSunBrightness,0,"Returns the sun brightness - checks time of day, rain and thunder"
func_72971_b,getSunBrightness,2,"Returns the sun brightness - checks time of day, rain and thunder"
func_72972_b,getSavedLightValue,2,Returns saved light value without taking into account the time of day. Either looks in the sky light map or block light map based on the enumSkyBlock arg.
func_72973_f,removePlayerEntityDangerously,2,Do NOT use this method to remove normal entities- use normal removeEntity
func_72974_f,setSpawnLocation,0,"Sets a new spawn location by finding an uncovered block at a random (x,z) location in the chunk."
func_72974_f,setSpawnLocation,2,"Sets a new spawn location by finding an uncovered block at a random (x,z) location in the chunk."
func_72975_g,markBlocksDirtyVertical,2,marks a vertical line of blocks as dirty
func_72976_f,getHeightValue,2,"Returns the y coordinate with a block in it at this x, z coordinate"
func_72977_a,getClosestPlayer,2,"Gets the closest player to the point within the specified distance (distance can be set to less than 0 to not limit the distance). Args: x, y, z, dist"
func_72978_e,isBoundingBoxBurning,2,Returns whether or not the given bounding box is on fire or not
func_72979_l,updateWeather,2,Updates all weather states.
func_72980_b,playSound,2,"par8 is loudness, all pars passed to minecraftInstance.sndManager.playSound"
func_72981_t,getDebugLoadedEntities,0,This string is 'All: (number of loaded entities)' Viewable by press ing F3
func_72981_t,getDebugLoadedEntities,2,This string is 'All: (number of loaded entities)' Viewable by press ing F3
func_73022_a,removeAllEntities,0,also releases skins.
func_73023_g,setBlockAndMetadataAndInvalidate,0,
func_73025_a,doPreChunk,0,
@ -2293,7 +2293,7 @@ func_74739_b,readNamedTag,2,"Reads and returns a tag from the given DataInput, o
func_74740_e,getName,2,"Gets the name corresponding to the tag, or an empty string if none set."
func_74742_a,appendTag,2,Adds the provided tag to the end of the list. There is no check to verify this tag is of the same type as any previous tag.
func_74743_b,tagAt,2,Retrieves the tag at the specified index from the list.
func_74744_a,removeTag,0,Removes a tag at the given index.
func_74744_a,removeTag,2,Removes a tag at the given index.
func_74745_c,tagCount,2,Returns the number of tags in the list.
func_74757_a,setBoolean,2,"Stores the given boolean value as a NBTTagByte, storing 1 for true and 0 for false, using the given string key."
func_74758_c,getTags,2,Returns all the values in the tagMap HashMap.
@ -2323,11 +2323,11 @@ func_74781_a,getTag,2,gets a generic tag with the specified name
func_74782_a,setTag,2,Stores the given tag into the map with the given string key. This is mostly used to store tag lists.
func_74783_a,setIntArray,2,Stores a new NBTTagIntArray with the given array as data into the map with the given string key.
func_74792_a,decompress,2,
func_74793_a,safeWrite,0,
func_74793_a,safeWrite,2,
func_74794_a,read,2,Reads from a CompressedStream.
func_74795_b,write,0,
func_74796_a,readCompressed,2,Load the gzipped compound from the inputstream.
func_74797_a,read,0,
func_74797_a,read,2,
func_74798_a,compress,2,
func_74799_a,writeCompressed,2,"Write the compound, gzipped, to the outputstream."
func_74800_a,write,2,
@ -2443,20 +2443,20 @@ func_75084_a,getStructureVillageWeightedPieceList,2,
func_75085_a,canSpawnMoreVillagePiecesOfType,2,
func_75086_a,canSpawnMoreVillagePieces,2,
func_75091_a,writeCapabilitiesToNBT,2,
func_75092_a,setFlySpeed,0,
func_75092_a,setFlySpeed,2,
func_75093_a,getFlySpeed,2,
func_75094_b,getWalkSpeed,2,
func_75095_b,readCapabilitiesFromNBT,2,
func_75111_a,addStats,2,Eat some food.
func_75112_a,readNBT,2,Reads food stats from an NBT object.
func_75113_a,addExhaustion,2,adds input to foodExhaustionLevel to a max of 40
func_75114_a,setFoodLevel,0,
func_75114_a,setFoodLevel,2,
func_75115_e,getSaturationLevel,2,Get the player's food saturation level.
func_75116_a,getFoodLevel,2,Get the player's food level.
func_75117_b,writeNBT,2,Writes food stats to an NBT object.
func_75118_a,onUpdate,2,Handles the food game logic.
func_75119_b,setFoodSaturationLevel,0,
func_75120_b,getPrevFoodLevel,0,
func_75120_b,getPrevFoodLevel,2,
func_75121_c,needFood,2,If foodLevel is not max.
func_75122_a,addStats,2,"Args: int foodLevel, float foodSaturationModifier"
func_75128_a,setPlayerIsPresent,2,adds or removes the player from the container based on par2
@ -2467,8 +2467,8 @@ func_75132_a,addCraftingToCrafters,2,
func_75133_b,retrySlotClick,2,
func_75134_a,onContainerClosed,2,Called when the container is closed.
func_75135_a,mergeItemStack,2,merges provided ItemStack with the first avaliable one in the container/player inventory
func_75136_a,getNextTransactionID,0,Gets a unique transaction ID. Parameter is unused.
func_75137_b,updateProgressBar,0,
func_75136_a,getNextTransactionID,2,Gets a unique transaction ID. Parameter is unused.
func_75137_b,updateProgressBar,2,
func_75138_a,getInventory,2,"returns a list if itemStacks, for each slot."
func_75139_a,getSlot,2,
func_75140_a,enchantItem,2,enchants the item on the table using the specified slot; also deducts XP from player
@ -2496,7 +2496,7 @@ func_75208_c,onCrafting,2,"the itemStack passed in is the output - ie, iron ingo
func_75209_a,decrStackSize,2,Decrease the size of the stack in slot (first int arg) by the amount of the second int arg. Returns the new stack.
func_75210_a,onCrafting,2,"the itemStack passed in is the output - ie, iron ingots, and pickaxes, not ore and wood. Typically increases an internal count then calls onCrafting(item)."
func_75211_c,getStack,2,Helper fnct to get the stack in the slot.
func_75212_b,getBackgroundIconIndex,0,Returns the icon index on items.png that is used as background image of the slot.
func_75212_b,getBackgroundIconIndex,2,Returns the icon index on items.png that is used as background image of the slot.
func_75214_a,isItemValid,2,Check if the stack is a valid item for this slot. Always true beside for the armor slots.
func_75215_d,putStack,2,Helper method to put a stack in the slot.
func_75216_d,getHasStack,2,Returns if this slot contains a stack.
@ -2644,7 +2644,7 @@ func_75683_a,getWatchableObjectByte,2,gets the bytevalue of a watchable object
func_75684_a,hasChanges,2,
func_75685_c,getAllWatched,2,
func_75686_a,readWatchableObjects,2,
func_75687_a,updateWatchedObjectsFromList,0,
func_75687_a,updateWatchedObjectsFromList,2,
func_75688_b,unwatchAndReturnAllWatched,2,
func_75689_a,writeWatchableObjects,2,
func_75690_a,writeWatchableObject,2,
@ -2688,14 +2688,14 @@ func_75787_a,compareTo,0,
func_75788_b,getDisplayName,0,return the display name of the save
func_75789_g,isHardcoreModeEnabled,0,
func_75790_f,getEnumGameType,0,Gets the EnumGameType.
func_75799_b,getSaveList,0,
func_75799_b,getSaveList,2,
func_75800_d,flushCache,2,
func_75801_b,isOldMapFormat,2,Checks if the save directory uses the old map format
func_75802_e,deleteWorldDirectory,2,@args: Takes one argument - the name of the directory of the world to delete. @desc: Delete the world by deleting the associated directory recursively.
func_75803_c,getWorldInfo,2,gets the world info
func_75804_a,getSaveLoader,2,Returns back a loader for the specified save directory
func_75805_a,convertMapFormat,2,"Converts the specified map to the new map format. Args: worldName, loadingScreen"
func_75806_a,renameWorld,0,@args: Takes two arguments - first the name of the directory containing the world and second the new name for that world. @desc: Renames the world by storing the new name in level.dat. It does *not* rename the directory containing the world data.
func_75806_a,renameWorld,2,@args: Takes two arguments - first the name of the directory containing the world and second the new name for that world. @desc: Renames the world by storing the new name in level.dat. It does *not* rename the directory containing the world data.
func_75807_a,deleteFiles,2,@args: Takes one argument - the list of files and directories to delete. @desc: Deletes the files and directory listed in the list recursively.
func_75809_f,createFile,2,par: filename for the level.dat_mcr backup
func_75810_a,addRegionFilesToCollection,2,"filters the files in the par1 directory, and adds them to the par2 collections"
@ -2750,11 +2750,11 @@ func_75886_a,createTheCipherInstance,2,Creates the Cipher Instance.
func_75887_a,decryptSharedKey,2,Decrypt shared secret AES key using RSA private key
func_75888_a,decryptInputStream,2,
func_75889_b,decryptData,2,Decrypt byte[] data with RSA private key
func_75890_a,createNewSharedKey,0,Generate a new shared secret AES key from a secure random source
func_75890_a,createNewSharedKey,2,Generate a new shared secret AES key from a secure random source
func_75891_b,createNewKeyPair,2,
func_75892_a,createBufferedBlockCipher,2,Create a new BufferedBlockCipher instance
func_75893_a,digestOperation,2,Compute a message digest on arbitrary byte[] data
func_75894_a,encryptData,0,Encrypt byte[] data with RSA public key
func_75894_a,encryptData,2,Encrypt byte[] data with RSA public key
func_75895_a,getServerIdHash,2,Compute a serverId hash for use by sendSessionRequest()
func_75896_a,decodePublicKey,2,Create a new PublicKey from encoded X.509 data
func_75897_a,encryptOuputStream,2,
@ -2782,12 +2782,12 @@ func_75927_a,replaceSimilarBlocks,2,"Forces stats for one block to add to anothe
func_75962_a,getGuid,2,Returns the unique GUID of a achievement id.
func_75965_j,getNumberFormat,0,
func_75966_h,initIndependentStat,2,"Initializes the current stat as independent (i.e., lacking prerequisites for being updated) and returns the current instance."
func_75967_d,isAchievement,0,Returns whether or not the StatBase-derived class is a statistic (running counter) or an achievement (one-shot).
func_75967_d,isAchievement,2,Returns whether or not the StatBase-derived class is a statistic (running counter) or an achievement (one-shot).
func_75969_k,getDecimalFormat,0,
func_75970_i,getName,0,
func_75971_g,registerStat,2,Register the stat into StatList.
func_75982_a,getItemID,0,
func_75984_f,getSpecial,0,"Special achievements have a 'spiked' (on normal texture pack) frame, special achievements are the hardest ones to achieve."
func_75984_f,getSpecial,2,"Special achievements have a 'spiked' (on normal texture pack) frame, special achievements are the hardest ones to achieve."
func_75985_c,registerAchievement,2,"Adds the achievement on the internal list of registered achievements, also, it's check for duplicated id's."
func_75986_a,setIndependent,2,"Indicates whether or not the given achievement or statistic is independent (i.e., lacks prerequisites for being update)."
func_75987_b,setSpecial,2,"Special achievements have a 'spiked' (on normal texture pack) frame, special achievements are the hardest ones to achieve."
@ -2809,9 +2809,9 @@ func_76046_c,clearMap,2,Removes all entries from the map
func_76047_h,grow,2,Increases the number of hash slots
func_76048_a,copyTo,2,Copies the hash slots to a new array
func_76049_d,removeObject,2,Removes the specified object from the map and returns it
func_76056_b,setSpawnY,0,Sets the y spawn position
func_76057_l,getLastTimePlayed,0,Return the last time the player was in this world.
func_76058_a,setSpawnX,0,Set the x spawn position to the passed in value
func_76056_b,setSpawnY,2,Sets the y spawn position
func_76057_l,getLastTimePlayed,2,Return the last time the player was in this world.
func_76058_a,setSpawnX,2,Set the x spawn position to the passed in value
func_76059_o,isRaining,2,"Returns true if it is raining, false otherwise."
func_76060_a,setGameType,2,Sets the GameType.
func_76061_m,isThundering,2,"Returns true if it is thundering, false otherwise."
@ -2840,12 +2840,12 @@ func_76083_p,getRainTime,2,Return the number of ticks until rain.
func_76084_b,setRaining,2,Sets whether it is raining or not.
func_76085_a,setTerrainType,2,
func_76086_u,areCommandsAllowed,2,Returns true if commands are allowed on this World.
func_76087_c,setSpawnZ,0,Set the z spawn position to the passed in value
func_76087_c,setSpawnZ,2,Set the z spawn position to the passed in value
func_76088_k,getSaveVersion,2,Returns the save version of this world
func_76089_r,isMapFeaturesEnabled,2,Get whether the map features (e.g. strongholds) generation is enabled or disabled.
func_76090_f,setThunderTime,2,Defines the number of ticks until next thunderbolt.
func_76091_d,setServerInitialized,2,Sets the initialization status of the World.
func_76092_g,getSizeOnDisk,0,
func_76092_g,getSizeOnDisk,2,
func_76093_s,isHardcoreModeEnabled,2,"Returns true if hardcore mode is enabled, otherwise false"
func_76116_a,putLower,2,a map already defines a general put
func_76118_a,countPacket,2,
@ -2863,10 +2863,10 @@ func_76133_a,sqrt_double,2,
func_76134_b,cos,2,cos looked up in the sin table with the appropriate offset
func_76135_e,abs,2,
func_76136_a,getRandomIntegerInRange,2,
func_76137_a,bucketInt,0,"Buckets an integer with specifed bucket sizes. Args: i, bucketSize"
func_76137_a,bucketInt,2,"Buckets an integer with specifed bucket sizes. Args: i, bucketSize"
func_76138_g,wrapAngleTo180_double,2,"the angle is reduced to an angle between -180 and +180 by mod, and a 360 check"
func_76139_a,stringNullOrLengthZero,0,Tests if a string is null or of length zero
func_76140_b,truncateDoubleToInt,0,"returns par0 cast as an int, and no greater than Integer.MAX_VALUE-1024"
func_76139_a,stringNullOrLengthZero,2,Tests if a string is null or of length zero
func_76140_b,truncateDoubleToInt,2,"returns par0 cast as an int, and no greater than Integer.MAX_VALUE-1024"
func_76141_d,floor_float,2,Returns the greatest integer less than or equal to the float argument
func_76142_g,wrapAngleTo180_float,2,"the angle is reduced to an angle between -180 and +180 by mod, and a 360 check"
func_76143_f,ceiling_double_int,2,
@ -2961,7 +2961,7 @@ func_76363_c,isUnblockable,2,
func_76364_f,getSourceOfDamage,2,
func_76365_a,causePlayerDamage,2,returns an EntityDamageSource of type player
func_76388_g,getEffectiveness,2,
func_76389_a,getDurationString,0,
func_76389_a,getDurationString,2,
func_76390_b,setPotionName,2,Set the potion name.
func_76392_e,getStatusIconIndex,0,Returns the index for the icon to display when the potion is active.
func_76393_a,getName,2,returns the name of the potion
@ -2988,7 +2988,7 @@ func_76458_c,getAmplifier,2,
func_76459_b,getDuration,2,
func_76463_a,startSnooper,2,Note issuing start multiple times is not an error.
func_76464_f,addBaseDataToSnooper,2,
func_76465_c,getCurrentStats,0,
func_76465_c,getCurrentStats,2,
func_76466_d,getSelfCounterFor,2,returns a value indicating how many times this function has been run on the snooper
func_76467_g,addJvmArgsToSnooper,2,
func_76468_d,isSnooperRunning,2,
@ -3029,7 +3029,7 @@ func_76556_a,generateLightBrightnessTable,2,Creates the light to brightness tabl
func_76557_i,getAverageGroundLevel,2,
func_76558_a,registerWorld,2,"associate an existing world with a World provider, and setup its lightbrightness table"
func_76559_b,getMoonPhase,2,
func_76560_a,calcSunriseSunsetColors,0,Returns array with sunrise/sunset colors
func_76560_a,calcSunriseSunsetColors,2,Returns array with sunrise/sunset colors
func_76561_g,isSkyColored,0,
func_76562_b,getFogColor,0,Return Vec3D with biome specific fog color
func_76563_a,calculateCelestialAngle,2,Calculates the angle of sun and moon in the sky relative to a specified time (usually worldTime)
@ -3048,7 +3048,7 @@ func_76586_k,updateSkylight,2,"Checks whether skylight needs updated; if it does
func_76587_i,getBlockStorageArray,2,Returns the ExtendedBlockStorage array for this Chunk.
func_76588_a,getEntitiesWithinAABBForEntity,2,"Fills the given list of all entities that intersect within the given bounding box that aren't the passed entity Args: entity, aabb, listToFill"
func_76589_b,setBlockMetadata,2,Set the metadata of a block in the chunk
func_76590_a,generateHeightMap,0,Generates the height map for a chunk from scratch
func_76590_a,generateHeightMap,2,Generates the height map for a chunk from scratch
func_76591_a,getBiomeGenForWorldCoords,2,This method retrieves the biome at a set of coordinates
func_76592_a,setBlockIDWithMetadata,2,"Sets a blockID of a position within a chunk with metadata. Args: x, y, z, blockID, metadata"
func_76593_q,updateSkylight_do,2,Runs delayed skylight updates.
@ -3134,7 +3134,7 @@ func_76727_i,getFloatRainfall,0,Gets a floating point representation of this bio
func_76728_a,decorate,2,
func_76729_a,createBiomeDecorator,2,Allocate a new BiomeDecorator for this BiomeGenBase
func_76730_b,getRandomWorldGenForGrass,2,Gets a WorldGen appropriate for this biome.
func_76731_a,getSkyColorByTemp,0,"takes temperature, returns color"
func_76731_a,getSkyColorByTemp,2,"takes temperature, returns color"
func_76732_a,setTemperatureRainfall,2,Sets the temperature and rainfall of this biome.
func_76734_h,getIntTemperature,2,Gets an integer representation of this biome's temperature
func_76735_a,setBiomeName,2,
@ -3186,7 +3186,7 @@ func_76935_a,getBiomeGenAt,2,"Returns the BiomeGenBase related to the x, z posit
func_76936_a,getRainfall,2,"Returns a list of rainfall values for the specified blocks. Args: listToReuse, x, z, width, length."
func_76937_a,getBiomesForGeneration,2,Returns an array of biomes for the location input.
func_76938_b,cleanupCache,2,Calls the WorldChunkManager's biomeCache.cleanupCache()
func_76939_a,getTemperatureAtHeight,0,Return an adjusted version of a given temperature based on the y height
func_76939_a,getTemperatureAtHeight,2,Return an adjusted version of a given temperature based on the y height
func_76940_a,areBiomesViable,2,checks given Chunk's Biomes against List of allowed ones
func_76941_a,findBiomePosition,2,"Finds a valid position within a range, that is in one of the listed biomes. Searches {par1,par2} +-par3 blocks. Strongly favors positive y positions."
func_76949_a,renderTileEntityAt,0,Render this TileEntity at a given set of coordinates
@ -3300,7 +3300,7 @@ func_77129_f,setVersioned,2,Flags this world type as having an associated versio
func_77130_a,parseWorldType,2,
func_77131_c,getGeneratorVersion,2,Returns generatorVersion.
func_77132_a,getWorldTypeForGeneratorVersion,2,
func_77142_a,getByName,0,"Returns the game type with the specified name, or SURVIVAL if none found. This is case sensitive. Args: name"
func_77142_a,getByName,2,"Returns the game type with the specified name, or SURVIVAL if none found. This is case sensitive. Args: name"
func_77144_e,isSurvivalOrAdventure,0,Returns true if this is the SURVIVAL or ADVENTURE game type
func_77145_d,isCreative,2,Returns true if this is the CREATIVE game type
func_77146_a,getByID,2,"Returns the game type with the specified ID, or SURVIVAL if none found. Args: id"
@ -3390,9 +3390,9 @@ func_77420_c,syncStatsFileWithMap,0,
func_77423_b,beginReceiveStats,0,Attempts to begin receiving stats from the server. Will throw an IllegalStateException if the syncher is already busy.
func_77424_g,getUnsentOldFile,0,
func_77439_a,getChunkProvider,2,Returns the result of the ChunkProvider's makeString
func_77442_b,canUnlockAchievement,0,"Returns true if the parent has been unlocked, or there is no parent"
func_77443_a,hasAchievementUnlocked,0,Returns true if the achievement has been unlocked.
func_77444_a,writeStat,0,
func_77442_b,canUnlockAchievement,2,"Returns true if the parent has been unlocked, or there is no parent"
func_77443_a,hasAchievementUnlocked,2,Returns true if the achievement has been unlocked.
func_77444_a,writeStat,2,
func_77446_d,syncStats,0,
func_77447_a,writeStats,0,write a whole Map of stats to the statmap
func_77450_a,readStat,0,
@ -3462,18 +3462,18 @@ func_77607_a,addRecipes,2,Adds the dye recipes to the CraftingManager.
func_77608_a,addRecipes,2,Adds the food recipes to the CraftingManager.
func_77609_a,addRecipes,2,Adds the armor recipes to the CraftingManager.
func_77612_l,getMaxDamage,2,Returns the maximum damage an item can take.
func_77613_e,getRarity,0,Return an item rarity from EnumRarity
func_77613_e,getRarity,2,Return an item rarity from EnumRarity
func_77614_k,getHasSubtypes,2,
func_77615_a,onPlayerStoppedUsing,2,"called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount"
func_77616_k,isItemTool,2,Checks isDamagable and if it cannot be stacked
func_77617_a,getIconFromDamage,0,Gets an icon index based on an item's damage value
func_77618_c,getIconFromDamageForRenderPass,0,Gets an icon index based on an item's damage value and the given render pass
func_77618_c,getIconFromDamageForRenderPass,2,Gets an icon index based on an item's damage value and the given render pass
func_77619_b,getItemEnchantability,2,"Return the enchantability factor of the item, most of the time is based on material."
func_77620_a,getColorFromDamage,0,
func_77621_a,getMovingObjectPositionFromPlayer,2,
func_77622_d,onCreated,2,Called when item is crafted/smelted. Used only by maps so far.
func_77623_v,requiresMultipleRenderPasses,0,
func_77624_a,addInformation,0,allows items to add custom lines of information to the mouseover description
func_77623_v,requiresMultipleRenderPasses,2,
func_77624_a,addInformation,2,allows items to add custom lines of information to the mouseover description
func_77625_d,setMaxStackSize,2,
func_77626_a,getMaxItemUseDuration,2,How long it takes to use or consume an item
func_77627_a,setHasSubtypes,2,
@ -3485,7 +3485,7 @@ func_77632_u,isPotionIngredient,2,Returns true if this item serves as a potion i
func_77633_a,getSubItems,0,"returns a list of items with the same ID, but different meta (eg: dye returns 16 items)"
func_77634_r,hasContainerItem,2,True if this Item has a container item (a.k.a. crafting result)
func_77635_s,getStatName,2,
func_77636_d,hasEffect,0,
func_77636_d,hasEffect,2,
func_77637_a,setCreativeTab,2,returns this;
func_77638_a,getStrVsBlock,2,"Returns the strength of the stack against a given block. 1.0F base, (Quality+1)*2 if correct blocktype, 1.5F if sword"
func_77639_j,getItemStackLimit,2,Returns the maximum size of the stack for a specific item. *Isn't this more a Set than a Get?*
@ -3508,7 +3508,7 @@ func_77658_a,getUnlocalizedName,2,Returns the unlocalized name of this item.
func_77659_a,onItemRightClick,2,"Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer"
func_77660_a,onBlockDestroyed,2,
func_77661_b,getItemUseAction,2,returns the action that specifies what animation to play when the items is being used
func_77662_d,isFull3D,0,Returns True is the item is renderer in full 3D when hold.
func_77662_d,isFull3D,2,Returns True is the item is renderer in full 3D when hold.
func_77663_a,onUpdate,2,Called each tick as long the item is on a player inventory. Uses by maps to check if is on a player hand and update it's contents.
func_77664_n,setFull3D,2,Sets bFull3D to True and return the object.
func_77666_t,getPotionEffect,2,Returns a string representing what this item does to a potion.
@ -3560,8 +3560,8 @@ func_77949_a,loadItemStackFromNBT,2,
func_77950_b,onFoodEaten,2,
func_77951_h,isItemDamaged,2,returns true when a damageable item is damaged
func_77952_i,getItemDamageForDisplay,2,"gets the damage of an itemstack, for displaying purposes"
func_77953_t,getRarity,0,
func_77954_c,getIconIndex,0,Returns the icon index of the current stack.
func_77953_t,getRarity,2,
func_77954_c,getIconIndex,2,Returns the icon index of the current stack.
func_77955_b,writeToNBT,2,Write the stack fields to a NBT object. Return the new NBT object.
func_77956_u,isItemEnchantable,2,True if it is a tool and has no enchantments to begin with
func_77957_a,useItemRightClick,2,"Called whenever this item stack is equipped and right clicked. Returns the new item stack to put in the position where this item is. Args: world, player"
@ -3608,7 +3608,7 @@ func_78017_i,shouldHidePlayerInventory,0,
func_78018_a,displayAllReleventItems,0,only shows items which have tabToDisplayOn == this
func_78019_g,drawInForegroundOfTab,0,
func_78020_k,getTabColumn,0,returns index % 6
func_78021_a,getTabIndex,0,
func_78021_a,getTabIndex,2,
func_78022_j,setNoScrollbar,2,
func_78023_l,isTabInFirstRow,0,returns tabIndex < 6
func_78024_c,getTranslatedTabLabel,0,Gets the translated Label.
@ -4156,7 +4156,7 @@ func_82782_a,setEnchantments,2,Set the enchantments for the specified stack.
func_82787_a,findMatchingRecipe,2,
func_82788_x,canItemEditBlocks,2,"Returns true if players can use this item to affect the world (e.g. placing blocks, placing ender eyes in portal) when not in creative"
func_82789_a,getIsRepairable,2,Return whether this item is repairable in an anvil.
func_82790_a,getColorFromItemStack,0,
func_82790_a,getColorFromItemStack,2,
func_82810_a,createHangingEntity,2,Create the hanging entity associated to this item.
func_82812_d,getArmorMaterial,2,Return the armor material for this armor item.
func_82814_b,getColor,2,Return the color for the specified armor ItemStack.
@ -4188,7 +4188,7 @@ func_82851_a,getRepairInputInventory,2,
func_82863_d,getBeacon,2,Returns the Tile Entity behind this beacon inventory / container
func_82869_a,canTakeStack,2,Return whether this slot's stack can be taken from this slot.
func_82870_a,onPickupFromSlot,2,
func_82877_b,setPlayerWalkSpeed,0,
func_82877_b,setPlayerWalkSpeed,2,
func_82879_c,sendSettingsToServer,0,Send a client info packet with settings information to the server
func_82883_a,getUnicodeFlag,0,Get unicodeFlag controlling whether strings should be rendered with Unicode fonts instead of the default.png font.
func_82889_a,getBatSize,0,"not actually sure this is size, is not used as of now, but the model would be recreated if the value changed and it seems a good match for a bats size"
@ -4462,11 +4462,11 @@ func_94577_B,getBlockPowerInput,2,"Returns the highest redstone signal strength
func_94578_a,destroyBlock,2,"Destroys a block and optionally drops items. Args: X, Y, Z, dropItems"
func_94581_a,registerIcons,0,
func_94599_c,getItemIconForUseDuration,0,"used to cycle through icons based on their used duration, i.e. for the bow"
func_94608_d,getItemSpriteNumber,0,
func_94608_d,getItemSpriteNumber,2,
func_94609_a,callTileEntityID,2,
func_94611_a,callTileEntityDataInfo,2,
func_94613_c,getExplosivePlacedBy,2,"Returns either the entity that placed the explosive block, the entity that caused the explosion or null."
func_94901_k,getSpriteNumber,0,"Returns 0 for /terrain.png, 1 for /gui/items.png"
func_94901_k,getSpriteNumber,2,"Returns 0 for /terrain.png, 1 for /gui/items.png"
func_96090_ax,getTranslatedEntityName,2,Returns the translated name of the entity.
func_96091_a,shouldExplodeBlock,2,
func_96092_aw,isPushedByWater,2,
@ -4475,20 +4475,20 @@ func_96095_a,onActivatorRailPass,2,Called every tick the minecart is on an activ
func_96096_ay,isIgnited,2,Returns true if the TNT minecart is ignited.
func_96099_a,setOutputSignal,2,
func_96100_a,getOutputSignal,2,
func_96102_a,setSignalStrength,2,
func_96103_d,getSignalStrength,2,
func_96102_a,setSignalStrength,1,
func_96103_d,getSignalStrength,1,
func_96104_c,setCommandSenderName,2,Sets the name of the command sender
func_96107_aA,getXPos,2,Gets the world X position for this hopper entity.
func_96108_aC,getZPos,2,Gets the world Z position for this hopper entity.
func_96109_aB,getYPos,2,Gets the world Y position for this hopper entity.
func_96110_f,setBlocked,2,Set whether this hopper minecart is being blocked by an activator rail.
func_96111_ay,getBlocked,2,Get whether this hopper minecart is being blocked by an activator rail.
func_96114_a,insertStackFromEntity,2,
func_96114_a,insertStackFromEntity,0,
func_96115_a,setInventoryName,2,
func_96116_a,suckItemsIntoHopper,2,Sucks one item into the given hopper from an inventory or EntityItem above it.
func_96117_b,getInventoryAtLocation,2,Gets an inventory at the given location to extract items into or take items from. Can find either a tile entity or regular entity implementing IInventory.
func_96118_b,getInventoryAboveHopper,2,"Looks for anything, that can hold items (like chests, furnaces, etc.) one block above the given hopper."
func_96119_a,getEntityAbove,2,
func_96119_a,getEntityAbove,0,
func_96120_a,setEquipmentDropChance,2,
func_96122_a,canAttackPlayer,2,
func_96123_co,getWorldScoreboard,2,
@ -4540,7 +4540,7 @@ func_96512_b,removePlayerFromTeam,2,Removes the given username from the given Sc
func_96514_c,getScoreObjectives,2,
func_96517_b,getObjectiveDisplaySlot,2,"Returns 'list' for 0, 'sidebar' for 1, 'belowName for 2, otherwise null."
func_96518_b,getObjective,2,Returns a ScoreObjective for the objective name
func_96521_a,addPlayerToTeam,2,
func_96521_a,addPlayerToTeam,1,
func_96524_g,removePlayerFromTeams,2,
func_96526_d,getObjectiveNames,2,
func_96527_f,createTeam,2,
@ -4575,14 +4575,14 @@ func_96678_d,getDisplayName,2,
func_96679_b,getName,2,
func_96680_c,getCriteria,2,
func_96681_a,setDisplayName,2,
func_96682_a,getScoreboard,0,
func_96682_a,getScoreboard,2,
func_98033_al,getLogAgent,2,
func_98034_c,isInvisibleToPlayer,0,"Only used by renderer in EntityLivingBase subclasses.\nDetermines if an entity is visible or not to a specfic player, if the entity is normally invisible.\nFor EntityLivingBase subclasses, returning false when invisible will render the entity semitransparent."
func_98034_c,isInvisibleToPlayer,2,"Only used by renderer in EntityLivingBase subclasses.\nDetermines if an entity is visible or not to a specfic player, if the entity is normally invisible.\nFor EntityLivingBase subclasses, returning false when invisible will render the entity semitransparent."
func_98035_c,writeMountToNBT,2,Like writeToNBTOptional but does not check if the entity is ridden. Used for saving ridden entities with their riders.
func_98041_l,getChestType,2,
func_98042_n,setTransferTicker,2,"Sets the transfer ticker, used to determine the delay between transfers."
func_98043_aE,canTransfer,2,Returns whether the hopper cart can currently transfer an item.
func_98045_j,updateHopper,2,
func_98045_j,updateHopper,0,
func_98046_c,setTransferCooldown,2,
func_98047_l,isCoolingDown,2,
func_98049_a,getSpawnerLogic,2,Returns the spawner logic associated with this spawner

1 searge name side desc
6 func_100015_a isKeyDown 0 Returns whether the specified key binding is currently being pressed.
7 func_102007_a canInsertItem 2 Returns true if automation can insert the given item in the given slot from the given side. Args: Slot, item, side
8 func_102008_b canExtractItem 2 Returns true if automation can extract the given item in the given slot from the given side. Args: Slot, item, side
9 func_102012_a insertStackFromInventory 2 0
10 func_102013_b canExtractItemFromInventory 2
11 func_102015_a canInsertItemToInventory 2 Args: inventory, item, slot, side
12 func_102026_a isBlockTopFacingSurfaceSolid 2 Performs check to see if the block is a normal, solid block, or if the metadata of the block indicates that its facing puts its solid side upwards. (inverted stairs, for example)
83 func_110254_bY getHorseSize 2
84 func_110255_k setHorseJumping 2
85 func_110257_ck isHorseSaddled 2
86 func_110258_o getGrassEatingAmount 0 2
87 func_110260_d getHorseArmorIndex 2 0 = iron, 1 = gold, 2 = diamond
88 func_110261_ca isChested 2
89 func_110262_ch prepareChunkForSpawn 2
201 func_110623_a getResourcePath 0
202 func_110624_b getResourceDomain 0
203 func_110628_a bindTexture 0
204 func_110647_a getOSType 0 2
205 func_110746_b getLocationTensionFactor 2 returns a float value that can be used to determine how likely something is to go awry in the area. It increases based on how long the player is within the vicinity, the lunar phase, and game difficulty. The value can be up to 1.5 on the highest difficulty, 1.0 otherwise.
206 func_110750_I getTensionFactorForBlock 2 returns a float value that can be used to determine how likely something is to go awry in the area. It increases based on how long the player is within the vicinity, the lunar phase, and game difficulty. The value can be up to 1.5 on the highest difficulty, 1.0 otherwise.
207 func_110775_a getEntityTexture 0 Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
395 func_70013_c getBrightness 2 Gets how bright this entity is.
396 func_70014_b writeEntityToNBT 2 (abstract) Protected helper method to write subclass entity data to NBT.
397 func_70015_d setFire 2 Sets entity to burn for x amount of seconds, cannot lower amount of existing fire.
398 func_70016_h setVelocity 0 2 Sets the velocity to the args. Args: x, y, z
399 func_70017_D doBlockCollisions 2 Checks for block collisions, and calls the associated onBlockCollided method for the collided block.
400 func_70018_K setBeenAttacked 2 Sets that this entity has been attacked.
401 func_70019_c setEating 2
413 func_70031_b setSprinting 2 Set sprinting switch for Entity.
414 func_70032_d getDistanceToEntity 2 Returns the distance to the entity. Args: entity
415 func_70033_W getYOffset 2 Returns the Y Offset of this entity.
416 func_70034_d setRotationYawHead 0 2 Sets the head's yaw rotation of the entity.
417 func_70035_c getLastActiveItems 2
418 func_70036_a playStepSound 2 Plays step sound at given x, y, z for the entity
419 func_70037_a readEntityFromNBT 2 (abstract) Protected helper method to read subclass entity data from NBT.
435 func_70053_R getShadowSize 0
436 func_70054_a dropItemWithOffset 2 Drops an item stack with a specified y offset. Args: itemID, count, yOffset
437 func_70055_a isInsideOfMaterial 2 Checks if the current block the entity is within of the specified material type
438 func_70056_a setPositionAndRotation2 0 2 Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, posY, posZ, yaw, pitch
439 func_70057_ab performHurtAnimation 0 Setups the entity to do the hurt animation. Only used by packets in multiplayer.
440 func_70058_J handleLavaMovement 2 Whether or not the current entity is in lava
441 func_70060_a moveFlying 2 Used in both water and by flying objects
447 func_70067_L canBeCollidedWith 2 Returns true if other Entities should be prevented from moving through this Entity.
448 func_70068_e getDistanceSqToEntity 2 Returns the squared distance to the entity. Args: entity
449 func_70069_a fall 2 Called when the mob is falling. Calculates and applies fall damage.
450 func_70070_b getBrightnessForRender 0 2
451 func_70071_h_ onUpdate 2 Called to update the entity's position/logic.
452 func_70072_I handleWaterMovement 2 Returns if this entity is in water and will end up adding the waters velocity to the entity
453 func_70074_a onKillEntity 2 This method gets called when the entity kills another one.
458 func_70079_am getRotationYawHead 2
459 func_70080_a setPositionAndRotation 2 Sets the entity's position and rotation. Args: posX, posY, posZ, yaw, pitch
460 func_70081_e dealFireDamage 2 Will deal the specified amount of damage to the entity if the entity isn't immune to fire damage. Args: amountDamage
461 func_70082_c setAngles 0 2 Adds par1*0.15 to the entity's yaw, and *subtracts* par2*0.15 from the pitch. Clamps pitch from -90 to 90. Both arguments in degrees.
462 func_70083_f getFlag 2 Returns true if the flag is active for the entity. Known flags: 0) is burning; 1) is sneaking; 2) is riding something; 3) is sprinting; 4) is eating
463 func_70084_c addToPlayerScore 2 Adds a value to the player score. Currently not actually used and the entity passed in does nothing. Args: entity, scoreToAdd
464 func_70085_c interact 2 Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig.
479 func_70100_b_ onCollideWithPlayer 2 Called by a player entity when they collide with an entity
480 func_70101_b setRotation 2 Sets the rotation of the entity
481 func_70102_a isInRangeToRenderVec3D 0 Checks using a Vec3d to determine if this entity is within range of that vector to be rendered. Args: vec3D
482 func_70103_a handleHealthUpdate 0 2
483 func_70104_M canBePushed 2 Returns true if this entity should push and be pushed by other entities when colliding.
484 func_70105_a setSize 2 Sets the width and height of the entity. Args: width, height
485 func_70106_y setDead 2 Will get destroyed next tick.
488 func_70109_d writeToNBT 2 Save the entity to NBT (calls an abstract helper method to write extra data)
489 func_70110_aj setInWeb 2 Sets the Entity inside a web block.
490 func_70111_Y getCollisionBorderSize 2
491 func_70112_a isInRangeToRenderDist 0 2 Checks if the entity is in range to render by using the past in distance and comparing it to its average edge length * 64 * renderDistanceWeight Args: distance
492 func_70113_ah isEating 0
493 func_70114_g getCollisionBox 2 Returns a boundingBox used to collide the entity with other entities and blocks. This enables the entity to be pushable on contact, like boats or minecarts.
494 func_70115_ae isRiding 2 Returns true if the entity is riding another entity, used by render to rotate the legs to be in 'sit' position for players.
597 func_70450_e hasItem 2 Get if a specifiied item id is inside the inventory.
598 func_70451_h getHotbarSize 2 Get the size of the player hotbar inventory
599 func_70452_e storePartialItemStack 2 This function stores as many items of an ItemStack as possible in a matching slot and returns the quantity of left over items.
600 func_70453_c changeCurrentItem 0 2 Switch the current item to the next one or the previous one
601 func_70454_b canHarvestBlock 2 Returns whether the current item (tool) can harvest from the specified block (actually get a result).
602 func_70455_b copyInventory 2 Copy the ItemStack contents from another InventoryPlayer instance
603 func_70463_b getStackInRowAndColumn 2 Returns the itemstack in the slot specified (Top left is 0, 0). Args: row, column
618 func_70518_d onValidSurface 2 checks to make sure painting can be placed there
619 func_70526_d getXpValue 2 Returns the XP value of this XP orb.
620 func_70527_a getXPSplit 2 Get xp split rate (Is called until the xp drop code in EntityLiving.onEntityUpdate is complete)
621 func_70528_g getTextureByXP 0 2 Returns a number from 1 to 10 based on how much XP this orb is worth. This is used by RenderXPOrb to determine what texture to use.
622 func_70534_d getRedColorF 0
623 func_70535_g getBlueColorF 0
624 func_70536_a setParticleTextureIndex 0 Public method to set private field particleTextureIndex.
642 func_70610_aX isMovementBlocked 2 Dead and sleeping entities cannot move
643 func_70612_e moveEntityWithHeading 2 Moves the entity based on the specified heading. Args: strafe, forward
644 func_70613_aW isClientWorld 2 Returns whether the entity is in a local (client) world
645 func_70614_a rayTrace 0 2 Performs a ray trace for the distance specified and using the partial tick time. Args: distance, partialTickTime
646 func_70615_aA eatGrassBonus 2 This function applies the benefits of growing back wool and faster growing up to the acting entity. (This function is used in the AIEatGrass)
647 func_70617_f_ isOnLadder 2 returns true if this entity is by a ladder, false otherwise
648 func_70618_n removePotionEffectClient 0 Remove the speified potion effect from this entity.
649 func_70619_bc updateAITasks 2
650 func_70620_b getItemIcon 0 2 Gets the Icon Index of the item currently held
651 func_70621_aR getHurtSound 2 Returns the sound this mob makes when it is hurt.
652 func_70623_bb despawnEntity 2 Makes the entity despawn if requirements are reached
653 func_70624_b setAttackTarget 2 Sets the active target the Task system uses for tracking
689 func_70663_b updateRotation 2 Arguments: current rotation, intended rotation, max increment.
690 func_70664_aZ jump 2 Causes this entity to do an upwards motion (jumping).
691 func_70665_d damageEntity 2 Deals damage to the entity. If its a EntityPlayer then will take damage from the armor first and then health second with the reduced value. Args: damageAmount
692 func_70666_h getPosition 0 2 interpolated position vector
693 func_70668_bt getCreatureAttribute 2 Get this Entity's EnumCreatureAttribute
694 func_70669_a renderBrokenItemStack 2 Renders broken item particles using the given ItemStack
695 func_70670_a onNewPotionEffect 2
699 func_70674_bp clearActivePotions 2
700 func_70675_k damageArmor 2
701 func_70676_i getLook 2 interpolated look vector
702 func_70678_g getSwingProgress 0 2 Returns where in the swing animation the living entity is (from 0 to 1). Args: partialTickTime
703 func_70679_bo updatePotionEffects 2
704 func_70681_au getRNG 2
705 func_70682_h decreaseAirSupply 2 Decrements the entity's air supply when underwater
750 func_70825_j teleportTo 2 Teleport the enderman
751 func_70829_a setCreeperState 2 Sets the state of creeper, -1 to idle and 1 to be 'in fuse'
752 func_70830_n getPowered 2 Returns true if the creeper is powered by a lightning bolt.
753 func_70831_j getCreeperFlashIntensity 0 2 Params: (Float)Render tick. Returns the intensity of the creeper's flash when it is ignited.
754 func_70832_p getCreeperState 2 Returns the current state of creeper, -1 is idle, 1 is 'in fuse'
755 func_70835_c becomeAngryAt 2 Causes this PigZombie to become angry at the supplied Entity (which will be a player).
756 func_70839_e setBesideClimbableBlock 2 Updates the WatchableObject (Byte) created in entityInit(), setting it to 0x01 if par1 is true or 0x00 if it is false.
793 func_70920_v getTailRotation 0
794 func_70921_u getWolfShaking 0
795 func_70923_f getShakeAngle 0
796 func_70930_a setRecipes 0 2
797 func_70931_l_ getCustomer 2
798 func_70932_a_ setCustomer 2
799 func_70933_a useRecipe 2
802 func_70939_f setPlaying 2
803 func_70940_q isTrading 2
804 func_70941_o isMating 2
805 func_70942_a generateRandomParticles 0 2 par1 is the particleName
806 func_70943_c getRandomCountForBlacksmithItem 2
807 func_70944_b getRandomCountForItem 2 default to 1, and villagerStockList contains a min/max amount for each index
808 func_70945_p isPlaying 2
917 func_71192_d setUserMessage 2 Typically "menu.convertingLevel", "menu.loadingLevel" or others.
918 func_71193_K allowSpawnMonsters 2
919 func_71194_c canCreateBonusChest 2
920 func_71195_b_ getUserMessage 0 2
921 func_71196_a getServerConfigurationManager 2 Gets the current player count, maximum player count, and player entity list.
922 func_71197_b startServer 2 Initialises the server and starts it.
923 func_71198_k logDebug 2 If isDebuggingEnabled(), logs the message with a level of INFO.
1383 func_72354_b updateTimeAndWeatherForPlayer 2 Updates the time and weather for the given player to those of the given world
1384 func_72355_a initializeConnectionToPlayer 2
1385 func_72356_a transferPlayerToDimension 2
1386 func_72357_a setGameType 0 2
1387 func_72358_d serverUpdateMountedMovingPlayer 2 using player's dimension, update their movement when in a vehicle (e.g. cart, boat)
1388 func_72359_h addToWhiteList 2 Add the specified player to the white list.
1389 func_72360_c removeOp 2 This removes a username from the ops list, then saves the op list
1446 func_72443_a createVectorHelper 2 Static method for creating a new Vec3D given the three x,y,z values. This is only called from the other static method which creates and places it in the list.
1447 func_72444_a subtract 0 Returns a new vector with the result of the specified vector minus this.
1448 func_72445_d squareDistanceTo 2 The square of the Euclidean distance between this and the vector of x,y,z components passed in.
1449 func_72446_c rotateAroundZ 0 2 Rotates the vector around the z axis by the specified angle.
1450 func_72452_a handleRemoveEntityEffect 2 Handle a remove entity effect packet.
1451 func_72453_a handleMapChunks 2
1452 func_72454_a handleBlockEvent 2
1651 func_72799_c isAirBlock 2 Returns true if the block at the specified coordinates is empty
1652 func_72800_K getHeight 2 Returns current world height.
1653 func_72801_o getLightBrightness 2 Returns how bright the block is shown as which is the block's light value looked up in a lookup table (light values aren't linear for brightness). Args: x, y, z
1654 func_72802_i getLightBrightnessForSkyBlocks 0 2 Any Light rendered on a 1.8 Block goes through here
1655 func_72803_f getBlockMaterial 2 Returns the block's material.
1656 func_72804_r isBlockOpaqueCube 2 Returns true if the block at the specified coordinates is an opaque cube. Args: x, y, z
1657 func_72805_g getBlockMetadata 2 Returns the block metadata at coords x,y,z
1667 func_72820_D getWorldTime 2
1668 func_72821_m notifyBlockOfNeighborChange 2 Notifies a block that one of its neighbor change to the specified type Args: x, y, z, blockID
1669 func_72823_a setItemData 2 Assigns the given String id to the given MapDataBase using the MapStorage, removing any existing ones of the same id.
1670 func_72824_f getCloudColour 0 2
1671 func_72825_h getTopSolidOrLiquidBlock 2 Finds the highest block on the x, z coordinate that is solid and returns its y coord. Args x, z
1672 func_72826_c getCelestialAngle 2 calls calculateCelestialAngle
1673 func_72827_u getProviderName 0 2 Returns the name of the current chunk provider, by calling chunkprovider.makeString()
1674 func_72828_b unloadEntities 2 Adds a list of entities to be unloaded on the next pass of World.updateEntities()
1675 func_72829_c checkBlockCollision 2 Returns true if there are any blocks in the region constrained by an AxisAlignedBB
1676 func_72830_b isAABBInMaterial 2 checks if the given AABB is in the material given. Used while swimming.
1677 func_72831_a rayTraceBlocks_do_do 2
1678 func_72832_d setBlock 2 Sets the block ID and metadata at a given location. Args: X, Y, Z, new block ID, new metadata, flags. Flag 1 will cause a block update. Flag 2 will send the change to clients (you almost always want this). Flag 4 prevents the block from being re-rendered, if this is a client world. Flags can be added together.
1679 func_72833_a getSkyColor 0 2 Calculates the color for the skybox
1680 func_72834_c canBlockFreeze 2 checks to see if a given block is both water, and cold enough to freeze - if the par4 boolean is set, this will only return true if there is a non-water block immediately adjacent to the specified block
1681 func_72835_b tick 2 Runs a single tick for the world
1682 func_72836_a scheduleBlockUpdate 2 Schedules a tick to a block with a delay (Most commonly the tick rate)
1691 func_72845_h markBlockForUpdate 2 On the client, re-renders the block. On the server, sends the block to the client (which will re-render it only if the ID or MD changes), including the tile entity description packet if applicable. Args: x, y, z
1692 func_72846_b getClosestVulnerablePlayer 2 Returns the closest vulnerable player within the given radius, or null if none is found.
1693 func_72847_b onEntityRemoved 2
1694 func_72848_b removeWorldAccess 0 2 Removes a worldAccess from the worldAccesses object
1695 func_72849_a getBlockLightValue_do 2 Gets the light value of a block location. This is the actual function that gets the value and has a bool flag that indicates if its a half step block to get the maximum light value of a direct neighboring block (left, right, forward, back, and up)
1696 func_72850_v isBlockFreezableNaturally 2 checks to see if a given block is both water and has at least one immediately adjacent non-water block
1697 func_72851_f notifyBlockChange 2 The block type change and need to notify other systems Args: x, y, z, blockID
1698 func_72852_a addTileEntity 2
1699 func_72853_d getMoonPhase 0 2
1700 func_72854_c updateAllPlayersSleepingFlag 2 Updates the flag that indicates whether or not all players in the world are sleeping.
1701 func_72855_b checkNoEntityCollision 2 Returns true if there are no solid, live entities in the specified AxisAlignedBB
1702 func_72856_b getClosestVulnerablePlayerToEntity 2 Returns the closest vulnerable player to this entity within the given radius, or null if none is found
1720 func_72877_b setWorldTime 2 Sets the world time.
1721 func_72878_l getIndirectPowerLevelTo 2 Gets the power level from a certain block face. Args: x, y, z, direction
1722 func_72879_k isBlockProvidingPowerTo 2 Is this block powering in the specified direction Args: x, y, z, direction
1723 func_72880_h getStarBrightness 0 2 How bright are stars in the sky
1724 func_72882_A sendQuittingDisconnectingPacket 0 If on MP, sends a quitting packet.
1725 func_72883_k getFullBlockLightValue 2 Does the same as getBlockLightValue_do but without checking if its not a normal block
1726 func_72884_u isBlockFreezable 2 checks to see if a given block is both water and is cold enough to freeze
1733 func_72891_a setAllowedSpawnTypes 2 Set which types of mobs are allowed to spawn (peaceful vs hostile).
1734 func_72892_b scheduleBlockUpdateFromLoad 2 Schedules a block update from the saved information in a chunk. Called when the chunk is loaded.
1735 func_72893_g tickBlocksAndAmbiance 2 plays random cave ambient sounds and runs updateTick on random blocks within each chunk in the vacinity of a player
1736 func_72894_k setRainStrength 0 2
1737 func_72896_J isRaining 2 Returns true if the current rain strength is greater than 0.2
1738 func_72897_h joinEntityInSurroundings 0 spwans an entity and loads surrounding chunks
1739 func_72898_h notifyBlocksOfNeighborChange 2 Notifies neighboring blocks that this specified block changed Args: x, y, z, blockID
1763 func_72922_b getFirstUncoveredBlock 2 Returns the block ID of the first block at this (x,z) location with air above it, searching from sea level upwards.
1764 func_72923_a onEntityAdded 2
1765 func_72924_a getPlayerEntityByName 2 Find a player by name in this world.
1766 func_72925_a getSkyBlockTypeBrightness 0 2 Brightness for SkyBlock.Sky is clear white and (through color computing it is assumed) DEPENDENT ON DAYTIME. Brightness for SkyBlock.Block is yellowish and independent.
1767 func_72926_e playAuxSFX 2 See description for func_72706_a.
1768 func_72927_d blockHasTileEntity 2 Checks if a block at a given position should have a tile entity.
1769 func_72928_a markTileEntityForDespawn 2 adds tile entity to despawn list (renamed from markEntityForDespawn)
1785 func_72945_a getCollidingBoundingBoxes 2 Returns a list of bounding boxes that collide with aabb excluding the passed in entity's collision. Args: entity, aabb
1786 func_72946_b findClosestStructure 2 Returns the location of the closest structure of the specified type. If not found returns null.
1787 func_72947_a calculateInitialWeather 2 Called from World constructor to set rainingStrength and thunderingStrength
1788 func_72948_g getFogColor 0 2 Returns vector(ish) with R/G/B for fog
1789 func_72950_A setSpawnLocation 0 2
1790 func_72951_B canLightningStrikeAt 2
1791 func_72953_d isAnyLiquid 2 Returns if any of the blocks within the aabb are liquids. Args: aabb
1792 func_72954_a addWorldAccess 2 Adds a IWorldAccess to the list of worldAccesses
1804 func_72967_a calculateSkylightSubtracted 2 Returns the amount of skylight subtracted for the current time
1805 func_72969_x updateAllLightTypes 2
1806 func_72970_h createChunkProvider 2 Creates the chunk provider for this world. Called in the constructor. Retrieves provider from worldProvider?
1807 func_72971_b getSunBrightness 0 2 Returns the sun brightness - checks time of day, rain and thunder
1808 func_72972_b getSavedLightValue 2 Returns saved light value without taking into account the time of day. Either looks in the sky light map or block light map based on the enumSkyBlock arg.
1809 func_72973_f removePlayerEntityDangerously 2 Do NOT use this method to remove normal entities- use normal removeEntity
1810 func_72974_f setSpawnLocation 0 2 Sets a new spawn location by finding an uncovered block at a random (x,z) location in the chunk.
1811 func_72975_g markBlocksDirtyVertical 2 marks a vertical line of blocks as dirty
1812 func_72976_f getHeightValue 2 Returns the y coordinate with a block in it at this x, z coordinate
1813 func_72977_a getClosestPlayer 2 Gets the closest player to the point within the specified distance (distance can be set to less than 0 to not limit the distance). Args: x, y, z, dist
1814 func_72978_e isBoundingBoxBurning 2 Returns whether or not the given bounding box is on fire or not
1815 func_72979_l updateWeather 2 Updates all weather states.
1816 func_72980_b playSound 2 par8 is loudness, all pars passed to minecraftInstance.sndManager.playSound
1817 func_72981_t getDebugLoadedEntities 0 2 This string is 'All: (number of loaded entities)' Viewable by press ing F3
1818 func_73022_a removeAllEntities 0 also releases skins.
1819 func_73023_g setBlockAndMetadataAndInvalidate 0
1820 func_73025_a doPreChunk 0
2293 func_74740_e getName 2 Gets the name corresponding to the tag, or an empty string if none set.
2294 func_74742_a appendTag 2 Adds the provided tag to the end of the list. There is no check to verify this tag is of the same type as any previous tag.
2295 func_74743_b tagAt 2 Retrieves the tag at the specified index from the list.
2296 func_74744_a removeTag 0 2 Removes a tag at the given index.
2297 func_74745_c tagCount 2 Returns the number of tags in the list.
2298 func_74757_a setBoolean 2 Stores the given boolean value as a NBTTagByte, storing 1 for true and 0 for false, using the given string key.
2299 func_74758_c getTags 2 Returns all the values in the tagMap HashMap.
2323 func_74782_a setTag 2 Stores the given tag into the map with the given string key. This is mostly used to store tag lists.
2324 func_74783_a setIntArray 2 Stores a new NBTTagIntArray with the given array as data into the map with the given string key.
2325 func_74792_a decompress 2
2326 func_74793_a safeWrite 0 2
2327 func_74794_a read 2 Reads from a CompressedStream.
2328 func_74795_b write 0
2329 func_74796_a readCompressed 2 Load the gzipped compound from the inputstream.
2330 func_74797_a read 0 2
2331 func_74798_a compress 2
2332 func_74799_a writeCompressed 2 Write the compound, gzipped, to the outputstream.
2333 func_74800_a write 2
2443 func_75085_a canSpawnMoreVillagePiecesOfType 2
2444 func_75086_a canSpawnMoreVillagePieces 2
2445 func_75091_a writeCapabilitiesToNBT 2
2446 func_75092_a setFlySpeed 0 2
2447 func_75093_a getFlySpeed 2
2448 func_75094_b getWalkSpeed 2
2449 func_75095_b readCapabilitiesFromNBT 2
2450 func_75111_a addStats 2 Eat some food.
2451 func_75112_a readNBT 2 Reads food stats from an NBT object.
2452 func_75113_a addExhaustion 2 adds input to foodExhaustionLevel to a max of 40
2453 func_75114_a setFoodLevel 0 2
2454 func_75115_e getSaturationLevel 2 Get the player's food saturation level.
2455 func_75116_a getFoodLevel 2 Get the player's food level.
2456 func_75117_b writeNBT 2 Writes food stats to an NBT object.
2457 func_75118_a onUpdate 2 Handles the food game logic.
2458 func_75119_b setFoodSaturationLevel 0
2459 func_75120_b getPrevFoodLevel 0 2
2460 func_75121_c needFood 2 If foodLevel is not max.
2461 func_75122_a addStats 2 Args: int foodLevel, float foodSaturationModifier
2462 func_75128_a setPlayerIsPresent 2 adds or removes the player from the container based on par2
2467 func_75133_b retrySlotClick 2
2468 func_75134_a onContainerClosed 2 Called when the container is closed.
2469 func_75135_a mergeItemStack 2 merges provided ItemStack with the first avaliable one in the container/player inventory
2470 func_75136_a getNextTransactionID 0 2 Gets a unique transaction ID. Parameter is unused.
2471 func_75137_b updateProgressBar 0 2
2472 func_75138_a getInventory 2 returns a list if itemStacks, for each slot.
2473 func_75139_a getSlot 2
2474 func_75140_a enchantItem 2 enchants the item on the table using the specified slot; also deducts XP from player
2496 func_75209_a decrStackSize 2 Decrease the size of the stack in slot (first int arg) by the amount of the second int arg. Returns the new stack.
2497 func_75210_a onCrafting 2 the itemStack passed in is the output - ie, iron ingots, and pickaxes, not ore and wood. Typically increases an internal count then calls onCrafting(item).
2498 func_75211_c getStack 2 Helper fnct to get the stack in the slot.
2499 func_75212_b getBackgroundIconIndex 0 2 Returns the icon index on items.png that is used as background image of the slot.
2500 func_75214_a isItemValid 2 Check if the stack is a valid item for this slot. Always true beside for the armor slots.
2501 func_75215_d putStack 2 Helper method to put a stack in the slot.
2502 func_75216_d getHasStack 2 Returns if this slot contains a stack.
2644 func_75684_a hasChanges 2
2645 func_75685_c getAllWatched 2
2646 func_75686_a readWatchableObjects 2
2647 func_75687_a updateWatchedObjectsFromList 0 2
2648 func_75688_b unwatchAndReturnAllWatched 2
2649 func_75689_a writeWatchableObjects 2
2650 func_75690_a writeWatchableObject 2
2688 func_75788_b getDisplayName 0 return the display name of the save
2689 func_75789_g isHardcoreModeEnabled 0
2690 func_75790_f getEnumGameType 0 Gets the EnumGameType.
2691 func_75799_b getSaveList 0 2
2692 func_75800_d flushCache 2
2693 func_75801_b isOldMapFormat 2 Checks if the save directory uses the old map format
2694 func_75802_e deleteWorldDirectory 2 @args: Takes one argument - the name of the directory of the world to delete. @desc: Delete the world by deleting the associated directory recursively.
2695 func_75803_c getWorldInfo 2 gets the world info
2696 func_75804_a getSaveLoader 2 Returns back a loader for the specified save directory
2697 func_75805_a convertMapFormat 2 Converts the specified map to the new map format. Args: worldName, loadingScreen
2698 func_75806_a renameWorld 0 2 @args: Takes two arguments - first the name of the directory containing the world and second the new name for that world. @desc: Renames the world by storing the new name in level.dat. It does *not* rename the directory containing the world data.
2699 func_75807_a deleteFiles 2 @args: Takes one argument - the list of files and directories to delete. @desc: Deletes the files and directory listed in the list recursively.
2700 func_75809_f createFile 2 par: filename for the level.dat_mcr backup
2701 func_75810_a addRegionFilesToCollection 2 filters the files in the par1 directory, and adds them to the par2 collections
2750 func_75887_a decryptSharedKey 2 Decrypt shared secret AES key using RSA private key
2751 func_75888_a decryptInputStream 2
2752 func_75889_b decryptData 2 Decrypt byte[] data with RSA private key
2753 func_75890_a createNewSharedKey 0 2 Generate a new shared secret AES key from a secure random source
2754 func_75891_b createNewKeyPair 2
2755 func_75892_a createBufferedBlockCipher 2 Create a new BufferedBlockCipher instance
2756 func_75893_a digestOperation 2 Compute a message digest on arbitrary byte[] data
2757 func_75894_a encryptData 0 2 Encrypt byte[] data with RSA public key
2758 func_75895_a getServerIdHash 2 Compute a serverId hash for use by sendSessionRequest()
2759 func_75896_a decodePublicKey 2 Create a new PublicKey from encoded X.509 data
2760 func_75897_a encryptOuputStream 2
2782 func_75962_a getGuid 2 Returns the unique GUID of a achievement id.
2783 func_75965_j getNumberFormat 0
2784 func_75966_h initIndependentStat 2 Initializes the current stat as independent (i.e., lacking prerequisites for being updated) and returns the current instance.
2785 func_75967_d isAchievement 0 2 Returns whether or not the StatBase-derived class is a statistic (running counter) or an achievement (one-shot).
2786 func_75969_k getDecimalFormat 0
2787 func_75970_i getName 0
2788 func_75971_g registerStat 2 Register the stat into StatList.
2789 func_75982_a getItemID 0
2790 func_75984_f getSpecial 0 2 Special achievements have a 'spiked' (on normal texture pack) frame, special achievements are the hardest ones to achieve.
2791 func_75985_c registerAchievement 2 Adds the achievement on the internal list of registered achievements, also, it's check for duplicated id's.
2792 func_75986_a setIndependent 2 Indicates whether or not the given achievement or statistic is independent (i.e., lacks prerequisites for being update).
2793 func_75987_b setSpecial 2 Special achievements have a 'spiked' (on normal texture pack) frame, special achievements are the hardest ones to achieve.
2809 func_76047_h grow 2 Increases the number of hash slots
2810 func_76048_a copyTo 2 Copies the hash slots to a new array
2811 func_76049_d removeObject 2 Removes the specified object from the map and returns it
2812 func_76056_b setSpawnY 0 2 Sets the y spawn position
2813 func_76057_l getLastTimePlayed 0 2 Return the last time the player was in this world.
2814 func_76058_a setSpawnX 0 2 Set the x spawn position to the passed in value
2815 func_76059_o isRaining 2 Returns true if it is raining, false otherwise.
2816 func_76060_a setGameType 2 Sets the GameType.
2817 func_76061_m isThundering 2 Returns true if it is thundering, false otherwise.
2840 func_76084_b setRaining 2 Sets whether it is raining or not.
2841 func_76085_a setTerrainType 2
2842 func_76086_u areCommandsAllowed 2 Returns true if commands are allowed on this World.
2843 func_76087_c setSpawnZ 0 2 Set the z spawn position to the passed in value
2844 func_76088_k getSaveVersion 2 Returns the save version of this world
2845 func_76089_r isMapFeaturesEnabled 2 Get whether the map features (e.g. strongholds) generation is enabled or disabled.
2846 func_76090_f setThunderTime 2 Defines the number of ticks until next thunderbolt.
2847 func_76091_d setServerInitialized 2 Sets the initialization status of the World.
2848 func_76092_g getSizeOnDisk 0 2
2849 func_76093_s isHardcoreModeEnabled 2 Returns true if hardcore mode is enabled, otherwise false
2850 func_76116_a putLower 2 a map already defines a general put
2851 func_76118_a countPacket 2
2863 func_76134_b cos 2 cos looked up in the sin table with the appropriate offset
2864 func_76135_e abs 2
2865 func_76136_a getRandomIntegerInRange 2
2866 func_76137_a bucketInt 0 2 Buckets an integer with specifed bucket sizes. Args: i, bucketSize
2867 func_76138_g wrapAngleTo180_double 2 the angle is reduced to an angle between -180 and +180 by mod, and a 360 check
2868 func_76139_a stringNullOrLengthZero 0 2 Tests if a string is null or of length zero
2869 func_76140_b truncateDoubleToInt 0 2 returns par0 cast as an int, and no greater than Integer.MAX_VALUE-1024
2870 func_76141_d floor_float 2 Returns the greatest integer less than or equal to the float argument
2871 func_76142_g wrapAngleTo180_float 2 the angle is reduced to an angle between -180 and +180 by mod, and a 360 check
2872 func_76143_f ceiling_double_int 2
2961 func_76364_f getSourceOfDamage 2
2962 func_76365_a causePlayerDamage 2 returns an EntityDamageSource of type player
2963 func_76388_g getEffectiveness 2
2964 func_76389_a getDurationString 0 2
2965 func_76390_b setPotionName 2 Set the potion name.
2966 func_76392_e getStatusIconIndex 0 Returns the index for the icon to display when the potion is active.
2967 func_76393_a getName 2 returns the name of the potion
2988 func_76459_b getDuration 2
2989 func_76463_a startSnooper 2 Note issuing start multiple times is not an error.
2990 func_76464_f addBaseDataToSnooper 2
2991 func_76465_c getCurrentStats 0 2
2992 func_76466_d getSelfCounterFor 2 returns a value indicating how many times this function has been run on the snooper
2993 func_76467_g addJvmArgsToSnooper 2
2994 func_76468_d isSnooperRunning 2
3029 func_76557_i getAverageGroundLevel 2
3030 func_76558_a registerWorld 2 associate an existing world with a World provider, and setup its lightbrightness table
3031 func_76559_b getMoonPhase 2
3032 func_76560_a calcSunriseSunsetColors 0 2 Returns array with sunrise/sunset colors
3033 func_76561_g isSkyColored 0
3034 func_76562_b getFogColor 0 Return Vec3D with biome specific fog color
3035 func_76563_a calculateCelestialAngle 2 Calculates the angle of sun and moon in the sky relative to a specified time (usually worldTime)
3048 func_76587_i getBlockStorageArray 2 Returns the ExtendedBlockStorage array for this Chunk.
3049 func_76588_a getEntitiesWithinAABBForEntity 2 Fills the given list of all entities that intersect within the given bounding box that aren't the passed entity Args: entity, aabb, listToFill
3050 func_76589_b setBlockMetadata 2 Set the metadata of a block in the chunk
3051 func_76590_a generateHeightMap 0 2 Generates the height map for a chunk from scratch
3052 func_76591_a getBiomeGenForWorldCoords 2 This method retrieves the biome at a set of coordinates
3053 func_76592_a setBlockIDWithMetadata 2 Sets a blockID of a position within a chunk with metadata. Args: x, y, z, blockID, metadata
3054 func_76593_q updateSkylight_do 2 Runs delayed skylight updates.
3134 func_76728_a decorate 2
3135 func_76729_a createBiomeDecorator 2 Allocate a new BiomeDecorator for this BiomeGenBase
3136 func_76730_b getRandomWorldGenForGrass 2 Gets a WorldGen appropriate for this biome.
3137 func_76731_a getSkyColorByTemp 0 2 takes temperature, returns color
3138 func_76732_a setTemperatureRainfall 2 Sets the temperature and rainfall of this biome.
3139 func_76734_h getIntTemperature 2 Gets an integer representation of this biome's temperature
3140 func_76735_a setBiomeName 2
3186 func_76936_a getRainfall 2 Returns a list of rainfall values for the specified blocks. Args: listToReuse, x, z, width, length.
3187 func_76937_a getBiomesForGeneration 2 Returns an array of biomes for the location input.
3188 func_76938_b cleanupCache 2 Calls the WorldChunkManager's biomeCache.cleanupCache()
3189 func_76939_a getTemperatureAtHeight 0 2 Return an adjusted version of a given temperature based on the y height
3190 func_76940_a areBiomesViable 2 checks given Chunk's Biomes against List of allowed ones
3191 func_76941_a findBiomePosition 2 Finds a valid position within a range, that is in one of the listed biomes. Searches {par1,par2} +-par3 blocks. Strongly favors positive y positions.
3192 func_76949_a renderTileEntityAt 0 Render this TileEntity at a given set of coordinates
3300 func_77130_a parseWorldType 2
3301 func_77131_c getGeneratorVersion 2 Returns generatorVersion.
3302 func_77132_a getWorldTypeForGeneratorVersion 2
3303 func_77142_a getByName 0 2 Returns the game type with the specified name, or SURVIVAL if none found. This is case sensitive. Args: name
3304 func_77144_e isSurvivalOrAdventure 0 Returns true if this is the SURVIVAL or ADVENTURE game type
3305 func_77145_d isCreative 2 Returns true if this is the CREATIVE game type
3306 func_77146_a getByID 2 Returns the game type with the specified ID, or SURVIVAL if none found. Args: id
3390 func_77423_b beginReceiveStats 0 Attempts to begin receiving stats from the server. Will throw an IllegalStateException if the syncher is already busy.
3391 func_77424_g getUnsentOldFile 0
3392 func_77439_a getChunkProvider 2 Returns the result of the ChunkProvider's makeString
3393 func_77442_b canUnlockAchievement 0 2 Returns true if the parent has been unlocked, or there is no parent
3394 func_77443_a hasAchievementUnlocked 0 2 Returns true if the achievement has been unlocked.
3395 func_77444_a writeStat 0 2
3396 func_77446_d syncStats 0
3397 func_77447_a writeStats 0 write a whole Map of stats to the statmap
3398 func_77450_a readStat 0
3462 func_77608_a addRecipes 2 Adds the food recipes to the CraftingManager.
3463 func_77609_a addRecipes 2 Adds the armor recipes to the CraftingManager.
3464 func_77612_l getMaxDamage 2 Returns the maximum damage an item can take.
3465 func_77613_e getRarity 0 2 Return an item rarity from EnumRarity
3466 func_77614_k getHasSubtypes 2
3467 func_77615_a onPlayerStoppedUsing 2 called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount
3468 func_77616_k isItemTool 2 Checks isDamagable and if it cannot be stacked
3469 func_77617_a getIconFromDamage 0 Gets an icon index based on an item's damage value
3470 func_77618_c getIconFromDamageForRenderPass 0 2 Gets an icon index based on an item's damage value and the given render pass
3471 func_77619_b getItemEnchantability 2 Return the enchantability factor of the item, most of the time is based on material.
3472 func_77620_a getColorFromDamage 0
3473 func_77621_a getMovingObjectPositionFromPlayer 2
3474 func_77622_d onCreated 2 Called when item is crafted/smelted. Used only by maps so far.
3475 func_77623_v requiresMultipleRenderPasses 0 2
3476 func_77624_a addInformation 0 2 allows items to add custom lines of information to the mouseover description
3477 func_77625_d setMaxStackSize 2
3478 func_77626_a getMaxItemUseDuration 2 How long it takes to use or consume an item
3479 func_77627_a setHasSubtypes 2
3485 func_77633_a getSubItems 0 returns a list of items with the same ID, but different meta (eg: dye returns 16 items)
3486 func_77634_r hasContainerItem 2 True if this Item has a container item (a.k.a. crafting result)
3487 func_77635_s getStatName 2
3488 func_77636_d hasEffect 0 2
3489 func_77637_a setCreativeTab 2 returns this;
3490 func_77638_a getStrVsBlock 2 Returns the strength of the stack against a given block. 1.0F base, (Quality+1)*2 if correct blocktype, 1.5F if sword
3491 func_77639_j getItemStackLimit 2 Returns the maximum size of the stack for a specific item. *Isn't this more a Set than a Get?*
3508 func_77659_a onItemRightClick 2 Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer
3509 func_77660_a onBlockDestroyed 2
3510 func_77661_b getItemUseAction 2 returns the action that specifies what animation to play when the items is being used
3511 func_77662_d isFull3D 0 2 Returns True is the item is renderer in full 3D when hold.
3512 func_77663_a onUpdate 2 Called each tick as long the item is on a player inventory. Uses by maps to check if is on a player hand and update it's contents.
3513 func_77664_n setFull3D 2 Sets bFull3D to True and return the object.
3514 func_77666_t getPotionEffect 2 Returns a string representing what this item does to a potion.
3560 func_77950_b onFoodEaten 2
3561 func_77951_h isItemDamaged 2 returns true when a damageable item is damaged
3562 func_77952_i getItemDamageForDisplay 2 gets the damage of an itemstack, for displaying purposes
3563 func_77953_t getRarity 0 2
3564 func_77954_c getIconIndex 0 2 Returns the icon index of the current stack.
3565 func_77955_b writeToNBT 2 Write the stack fields to a NBT object. Return the new NBT object.
3566 func_77956_u isItemEnchantable 2 True if it is a tool and has no enchantments to begin with
3567 func_77957_a useItemRightClick 2 Called whenever this item stack is equipped and right clicked. Returns the new item stack to put in the position where this item is. Args: world, player
3608 func_78018_a displayAllReleventItems 0 only shows items which have tabToDisplayOn == this
3609 func_78019_g drawInForegroundOfTab 0
3610 func_78020_k getTabColumn 0 returns index % 6
3611 func_78021_a getTabIndex 0 2
3612 func_78022_j setNoScrollbar 2
3613 func_78023_l isTabInFirstRow 0 returns tabIndex < 6
3614 func_78024_c getTranslatedTabLabel 0 Gets the translated Label.
4156 func_82787_a findMatchingRecipe 2
4157 func_82788_x canItemEditBlocks 2 Returns true if players can use this item to affect the world (e.g. placing blocks, placing ender eyes in portal) when not in creative
4158 func_82789_a getIsRepairable 2 Return whether this item is repairable in an anvil.
4159 func_82790_a getColorFromItemStack 0 2
4160 func_82810_a createHangingEntity 2 Create the hanging entity associated to this item.
4161 func_82812_d getArmorMaterial 2 Return the armor material for this armor item.
4162 func_82814_b getColor 2 Return the color for the specified armor ItemStack.
4188 func_82863_d getBeacon 2 Returns the Tile Entity behind this beacon inventory / container
4189 func_82869_a canTakeStack 2 Return whether this slot's stack can be taken from this slot.
4190 func_82870_a onPickupFromSlot 2
4191 func_82877_b setPlayerWalkSpeed 0 2
4192 func_82879_c sendSettingsToServer 0 Send a client info packet with settings information to the server
4193 func_82883_a getUnicodeFlag 0 Get unicodeFlag controlling whether strings should be rendered with Unicode fonts instead of the default.png font.
4194 func_82889_a getBatSize 0 not actually sure this is size, is not used as of now, but the model would be recreated if the value changed and it seems a good match for a bats size
4462 func_94578_a destroyBlock 2 Destroys a block and optionally drops items. Args: X, Y, Z, dropItems
4463 func_94581_a registerIcons 0
4464 func_94599_c getItemIconForUseDuration 0 used to cycle through icons based on their used duration, i.e. for the bow
4465 func_94608_d getItemSpriteNumber 0 2
4466 func_94609_a callTileEntityID 2
4467 func_94611_a callTileEntityDataInfo 2
4468 func_94613_c getExplosivePlacedBy 2 Returns either the entity that placed the explosive block, the entity that caused the explosion or null.
4469 func_94901_k getSpriteNumber 0 2 Returns 0 for /terrain.png, 1 for /gui/items.png
4470 func_96090_ax getTranslatedEntityName 2 Returns the translated name of the entity.
4471 func_96091_a shouldExplodeBlock 2
4472 func_96092_aw isPushedByWater 2
4475 func_96096_ay isIgnited 2 Returns true if the TNT minecart is ignited.
4476 func_96099_a setOutputSignal 2
4477 func_96100_a getOutputSignal 2
4478 func_96102_a setSignalStrength 2 1
4479 func_96103_d getSignalStrength 2 1
4480 func_96104_c setCommandSenderName 2 Sets the name of the command sender
4481 func_96107_aA getXPos 2 Gets the world X position for this hopper entity.
4482 func_96108_aC getZPos 2 Gets the world Z position for this hopper entity.
4483 func_96109_aB getYPos 2 Gets the world Y position for this hopper entity.
4484 func_96110_f setBlocked 2 Set whether this hopper minecart is being blocked by an activator rail.
4485 func_96111_ay getBlocked 2 Get whether this hopper minecart is being blocked by an activator rail.
4486 func_96114_a insertStackFromEntity 2 0
4487 func_96115_a setInventoryName 2
4488 func_96116_a suckItemsIntoHopper 2 Sucks one item into the given hopper from an inventory or EntityItem above it.
4489 func_96117_b getInventoryAtLocation 2 Gets an inventory at the given location to extract items into or take items from. Can find either a tile entity or regular entity implementing IInventory.
4490 func_96118_b getInventoryAboveHopper 2 Looks for anything, that can hold items (like chests, furnaces, etc.) one block above the given hopper.
4491 func_96119_a getEntityAbove 2 0
4492 func_96120_a setEquipmentDropChance 2
4493 func_96122_a canAttackPlayer 2
4494 func_96123_co getWorldScoreboard 2
4540 func_96514_c getScoreObjectives 2
4541 func_96517_b getObjectiveDisplaySlot 2 Returns 'list' for 0, 'sidebar' for 1, 'belowName for 2, otherwise null.
4542 func_96518_b getObjective 2 Returns a ScoreObjective for the objective name
4543 func_96521_a addPlayerToTeam 2 1
4544 func_96524_g removePlayerFromTeams 2
4545 func_96526_d getObjectiveNames 2
4546 func_96527_f createTeam 2
4575 func_96679_b getName 2
4576 func_96680_c getCriteria 2
4577 func_96681_a setDisplayName 2
4578 func_96682_a getScoreboard 0 2
4579 func_98033_al getLogAgent 2
4580 func_98034_c isInvisibleToPlayer 0 2 Only used by renderer in EntityLivingBase subclasses.\nDetermines if an entity is visible or not to a specfic player, if the entity is normally invisible.\nFor EntityLivingBase subclasses, returning false when invisible will render the entity semitransparent.
4581 func_98035_c writeMountToNBT 2 Like writeToNBTOptional but does not check if the entity is ridden. Used for saving ridden entities with their riders.
4582 func_98041_l getChestType 2
4583 func_98042_n setTransferTicker 2 Sets the transfer ticker, used to determine the delay between transfers.
4584 func_98043_aE canTransfer 2 Returns whether the hopper cart can currently transfer an item.
4585 func_98045_j updateHopper 2 0
4586 func_98046_c setTransferCooldown 2
4587 func_98047_l isCoolingDown 2
4588 func_98049_a getSpawnerLogic 2 Returns the spawner logic associated with this spawner

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,22 @@
diff -r -U 3 minecraft\net\minecraft\client\Minecraft.java minecraft_patched\net\minecraft\client\Minecraft.java
--- minecraft\net\minecraft\client\Minecraft.java
+++ minecraft_patched\net\minecraft\client\Minecraft.java
@@ -695,9 +695,7 @@
while(true) {
try {
- if(!this.field_71425_J) {
- break;
- }
+ while(this.field_71425_J) {
if(!this.field_71434_R || this.field_71433_S == null) {
try {
@@ -711,6 +709,7 @@
}
this.func_71377_b(this.field_71433_S);
+ }
} catch (MinecraftError var12) {
break;
} catch (ReportedException var13) {

View file

@ -0,0 +1,12 @@
diff -r -U 3 minecraft\net\minecraft\client\Minecraft.java minecraft_patched\net\minecraft\client\Minecraft.java
--- minecraft\net\minecraft\client\Minecraft.java
+++ minecraft_patched\net\minecraft\client\Minecraft.java
@@ -695,7 +695,7 @@
while(true) {
try {
- if(this.field_71425_J) {
+ while(this.field_71425_J) {
if(!this.field_71434_R || this.field_71433_S == null) {
try {
this.func_71411_J();

View file

@ -0,0 +1,21 @@
diff -r -U 3 minecraft\net\minecraft\client\gui\FontRenderer.java minecraft_patched\net\minecraft\client\gui\FontRenderer.java
--- minecraft\net\minecraft\client\gui\FontRenderer.java
+++ minecraft_patched\net\minecraft\client\gui\FontRenderer.java
@@ -581,8 +581,6 @@
case 10:
--var5;
break;
- case 32:
- var6 = var5;
case 167:
if(var5 < var3 - 1) {
++var5;
@@ -596,6 +594,8 @@
}
}
break;
+ case 32:
+ var6 = var5;
default:
var4 += this.func_78263_a(var8);
if(var7) {

View file

@ -0,0 +1,11 @@
diff -r -U 3 minecraft\net\minecraft\client\network\NetHandlerHandshakeMemory.java minecraft_patched\net\minecraft\client\network\NetHandlerHandshakeMemory.java
--- minecraft\net\minecraft\client\network\NetHandlerHandshakeMemory.java
+++ minecraft_patched\net\minecraft\client\network\NetHandlerHandshakeMemory.java
@@ -31,6 +31,7 @@
switch(NetHandlerHandshakeMemory.SwitchEnumConnectionState.field_151263_a[p_147232_2_.ordinal()]) {
case 1:
this.field_147384_b.func_150719_a(new NetHandlerLoginServer(this.field_147385_a, this.field_147384_b));
+ break;
case 2:
throw new UnsupportedOperationException("NYI");
default:

View file

@ -0,0 +1,23 @@
diff -r -U 3 minecraft\net\minecraft\client\particle\EffectRenderer.java minecraft_patched\net\minecraft\client\particle\EffectRenderer.java
--- minecraft\net\minecraft\client\particle\EffectRenderer.java
+++ minecraft_patched\net\minecraft\client\particle\EffectRenderer.java
@@ -53,7 +53,8 @@
}
public void func_78868_a() {
- for(final int var1 = 0; var1 < 4; ++var1) {
+ for(int var11 = 0; var11 < 4; ++var11) {
+ final int var1 = var11;
for(int var2 = 0; var2 < this.field_78876_b[var1].size(); ++var2) {
final EntityFX var3 = (EntityFX)this.field_78876_b[var1].get(var2);
@@ -99,7 +100,8 @@
EntityFX.field_70554_ao = p_78874_1_.field_70137_T + (p_78874_1_.field_70163_u - p_78874_1_.field_70137_T) * (double)p_78874_2_;
EntityFX.field_70555_ap = p_78874_1_.field_70136_U + (p_78874_1_.field_70161_v - p_78874_1_.field_70136_U) * (double)p_78874_2_;
- for(final int var8 = 0; var8 < 3; ++var8) {
+ for(int var88 = 0; var88 < 3; ++var88) {
+ final int var8 = var88;
if(!this.field_78876_b[var8].isEmpty()) {
switch(var8) {
case 0:

View file

@ -0,0 +1,33 @@
diff -r -U 3 minecraft\net\minecraft\client\renderer\RenderBlocks.java minecraft_patched\net\minecraft\client\renderer\RenderBlocks.java
--- minecraft\net\minecraft\client\renderer\RenderBlocks.java
+++ minecraft_patched\net\minecraft\client\renderer\RenderBlocks.java
@@ -1929,16 +1929,16 @@
float var24 = (float)(p_147788_2_ + 1);
float var25 = (float)(p_147788_4_ + 0);
float var26 = (float)(p_147788_4_ + 1);
- boolean var27 = false;
+ int var27 = 0;
if((var19 || var20) && !var21 && !var22) {
- var27 = true;
+ var27 = 1;
}
if((var21 || var22) && !var20 && !var19) {
- var27 = true;
+ var27 = 2;
}
- if(!var27) {
+ if(var27 == 0) {
int var28 = 0;
int var29 = 0;
int var30 = 16;
@@ -1985,7 +1985,7 @@
var5.func_78374_a((double)var24, (double)p_147788_3_ + 0.015625D, (double)var25, (double)var9.func_94214_a((double)var30), (double)var9.func_94207_b((double)var29));
var5.func_78374_a((double)var23, (double)p_147788_3_ + 0.015625D, (double)var25, (double)var9.func_94214_a((double)var28), (double)var9.func_94207_b((double)var29));
var5.func_78374_a((double)var23, (double)p_147788_3_ + 0.015625D, (double)var26, (double)var9.func_94214_a((double)var28), (double)var9.func_94207_b((double)var31));
- } else if(var27) {
+ } else if(var27 == 1) {
var5.func_78374_a((double)var24, (double)p_147788_3_ + 0.015625D, (double)var26, (double)var8.func_94212_f(), (double)var8.func_94210_h());
var5.func_78374_a((double)var24, (double)p_147788_3_ + 0.015625D, (double)var25, (double)var8.func_94212_f(), (double)var8.func_94206_g());
var5.func_78374_a((double)var23, (double)p_147788_3_ + 0.015625D, (double)var25, (double)var8.func_94209_e(), (double)var8.func_94206_g());

View file

@ -0,0 +1,12 @@
diff -r -U 3 minecraft\net\minecraft\client\renderer\RenderGlobal.java minecraft_patched\net\minecraft\client\renderer\RenderGlobal.java
--- minecraft\net\minecraft\client\renderer\RenderGlobal.java
+++ minecraft_patched\net\minecraft\client\renderer\RenderGlobal.java
@@ -1566,7 +1566,7 @@
double var15 = this.field_72777_q.field_71451_h.field_70165_t - p_72726_2_;
double var17 = this.field_72777_q.field_71451_h.field_70163_u - p_72726_4_;
double var19 = this.field_72777_q.field_71451_h.field_70161_v - p_72726_6_;
- Object var21 = null;
+ EntityFX var21 = null;
if(p_72726_1_.equals("hugeexplosion")) {
this.field_72777_q.field_71452_i.func_78873_a(var21 = new EntityHugeExplodeFX(this.field_72769_h, p_72726_2_, p_72726_4_, p_72726_6_, p_72726_8_, p_72726_10_, p_72726_12_));
} else if(p_72726_1_.equals("largeexplode")) {

View file

@ -0,0 +1,30 @@
diff -r -U 3 minecraft\net\minecraft\client\renderer\texture\TextureManager.java minecraft_patched\net\minecraft\client\renderer\texture\TextureManager.java
--- minecraft\net\minecraft\client\renderer\texture\TextureManager.java
+++ minecraft_patched\net\minecraft\client\renderer\texture\TextureManager.java
@@ -72,13 +72,14 @@
public boolean func_110579_a(ResourceLocation p_110579_1_, final ITextureObject p_110579_2_) {
boolean var3 = true;
-
+ ITextureObject p_110579_2_2 = p_110579_2_;
+
try {
((ITextureObject)p_110579_2_).func_110551_a(this.field_110582_d);
} catch (IOException var8) {
field_147646_a.warn("Failed to load texture: " + p_110579_1_, var8);
- p_110579_2_ = TextureUtil.field_111001_a;
- this.field_110585_a.put(p_110579_1_, p_110579_2_);
+ p_110579_2_2 = TextureUtil.field_111001_a;
+ this.field_110585_a.put(p_110579_1_, p_110579_2_2);
var3 = false;
} catch (Throwable var9) {
CrashReport var5 = CrashReport.func_85055_a(var9, "Registering texture");
@@ -95,7 +96,7 @@
throw new ReportedException(var5);
}
- this.field_110585_a.put(p_110579_1_, p_110579_2_);
+ this.field_110585_a.put(p_110579_1_, p_110579_2_2);
return var3;
}

View file

@ -0,0 +1,12 @@
diff -r -U 3 minecraft\net\minecraft\client\resources\FolderResourcePack.java minecraft_patched\net\minecraft\client\resources\FolderResourcePack.java
--- minecraft\net\minecraft\client\resources\FolderResourcePack.java
+++ minecraft_patched\net\minecraft\client\resources\FolderResourcePack.java
@@ -31,7 +31,7 @@
HashSet var1 = Sets.newHashSet();
File var2 = new File(this.field_110597_b, "assets/");
if(var2.isDirectory()) {
- File[] var3 = var2.listFiles(DirectoryFileFilter.DIRECTORY);
+ File[] var3 = var2.listFiles((java.io.FileFilter)DirectoryFileFilter.DIRECTORY);
int var4 = var3.length;
for(int var5 = 0; var5 < var4; ++var5) {

View file

@ -0,0 +1,34 @@
diff -r -U 3 minecraft\net\minecraft\inventory\ContainerPlayer.java minecraft_patched\net\minecraft\inventory\ContainerPlayer.java
--- minecraft\net\minecraft\inventory\ContainerPlayer.java
+++ minecraft_patched\net\minecraft\inventory\ContainerPlayer.java
@@ -29,7 +29,7 @@
this.field_82862_h = p_i1819_3_;
this.func_75146_a(new SlotCrafting(p_i1819_1_.field_70458_d, this.field_75181_e, this.field_75179_f, 0, 144, 36));
- final int var4;
+ int var4;
int var5;
for(var4 = 0; var4 < 2; ++var4) {
for(var5 = 0; var5 < 2; ++var5) {
@@ -38,6 +38,7 @@
}
for(var4 = 0; var4 < 4; ++var4) {
+ final int var44 = var4;
this.func_75146_a(new Slot(p_i1819_1_, p_i1819_1_.func_70302_i_() - 1 - var4, 8, 8 + var4 * 18) {
private static final String __OBFID = "CL_00001755";
@@ -46,11 +47,11 @@
return 1;
}
public boolean func_75214_a(ItemStack p_75214_1_) {
- return p_75214_1_ == null?false:(p_75214_1_.func_77973_b() instanceof ItemArmor?((ItemArmor)p_75214_1_.func_77973_b()).field_77881_a == var4:(p_75214_1_.func_77973_b() != Item.func_150898_a(Blocks.field_150423_aK) && p_75214_1_.func_77973_b() != Items.field_151144_bL?false:var4 == 0));
+ return p_75214_1_ == null?false:(p_75214_1_.func_77973_b() instanceof ItemArmor?((ItemArmor)p_75214_1_.func_77973_b()).field_77881_a == var44:(p_75214_1_.func_77973_b() != Item.func_150898_a(Blocks.field_150423_aK) && p_75214_1_.func_77973_b() != Items.field_151144_bL?false:var44 == 0));
}
@SideOnly(Side.CLIENT)
public IIcon func_75212_b() {
- return ItemArmor.func_94602_b(var4);
+ return ItemArmor.func_94602_b(var44);
}
});
}

View file

@ -0,0 +1,14 @@
diff -r -U 3 minecraft\net\minecraft\network\EnumConnectionState.java minecraft_patched\net\minecraft\network\EnumConnectionState.java
--- minecraft\net\minecraft\network\EnumConnectionState.java
+++ minecraft_patched\net\minecraft\network\EnumConnectionState.java
@@ -307,8 +307,8 @@
}
// $FF: synthetic method
- EnumConnectionState(int var3, Object var4) {
- this(var1, var2, var3);
+ EnumConnectionState(String ignore1, int ignore2, int var3, Object var4) {
+ this(var3);
}
static {

View file

@ -0,0 +1,14 @@
diff -r -U 3 minecraft\net\minecraft\network\PacketBuffer.java minecraft_patched\net\minecraft\network\PacketBuffer.java
--- minecraft\net\minecraft\network\PacketBuffer.java
+++ minecraft_patched\net\minecraft\network\PacketBuffer.java
@@ -713,10 +713,4 @@
public boolean release(int p_release_1_) {
return this.field_150794_a.release(p_release_1_);
}
-
- // $FF: synthetic method
- // $FF: bridge method
- public int compareTo(Object p_compareTo_1_) {
- return this.compareTo((ByteBuf)p_compareTo_1_);
- }
}

View file

@ -0,0 +1,13 @@
diff -r -U 3 minecraft_server\net\minecraft\server\dedicated\DedicatedServer.java minecraft_server_patched\net\minecraft\server\dedicated\DedicatedServer.java
--- minecraft_server\net\minecraft\server\dedicated\DedicatedServer.java
+++ minecraft_server_patched\net\minecraft\server\dedicated\DedicatedServer.java
@@ -261,7 +261,7 @@
System.exit(0);
}
- protected void func_71190_q() {
+ public void func_71190_q() {
super.func_71190_q();
this.func_71333_ah();
}

View file

@ -0,0 +1,12 @@
diff -r -U 3 minecraft\net\minecraft\server\integrated\IntegratedServer.java minecraft_patched\net\minecraft\server\integrated\IntegratedServer.java
--- minecraft\net\minecraft\server\integrated\IntegratedServer.java
+++ minecraft_patched\net\minecraft\server\integrated\IntegratedServer.java
@@ -95,7 +95,7 @@
return true;
}
- protected void func_71217_p() {
+ public void func_71217_p() {
boolean var1 = this.field_71348_o;
this.field_71348_o = Minecraft.func_71410_x().func_147114_u() != null && Minecraft.func_71410_x().func_147113_T();
if(!var1 && this.field_71348_o) {

View file

@ -0,0 +1,12 @@
diff -r -U 3 minecraft\net\minecraft\util\EnumChatFormatting.java minecraft_patched\net\minecraft\util\EnumChatFormatting.java
--- minecraft\net\minecraft\util\EnumChatFormatting.java
+++ minecraft_patched\net\minecraft\util\EnumChatFormatting.java
@@ -39,7 +39,7 @@
private static final String __OBFID = "CL_00000342";
private EnumChatFormatting(char p_i1336_3_) {
- this(p_i1336_1_, p_i1336_2_, p_i1336_3_, false);
+ this(p_i1336_3_, false);
}
private EnumChatFormatting(char p_i1337_3_, boolean p_i1337_4_) {

View file

@ -0,0 +1,11 @@
diff -r -U 3 minecraft\net\minecraft\world\storage\ThreadedFileIOBase.java minecraft_patched\net\minecraft\world\storage\ThreadedFileIOBase.java
--- minecraft\net\minecraft\world\storage\ThreadedFileIOBase.java
+++ minecraft_patched\net\minecraft\world\storage\ThreadedFileIOBase.java
@@ -21,6 +21,7 @@
}
public void run() {
+ while(true)
this.func_75736_b();
}

View file

@ -1,4 +1,4 @@
[VERSION]
MCPVersion = 8.11
ClientVersion = 1.6.4
ServerVersion = 1.6.4
MCPVersion = 9.01-alpha
ClientVersion = 1.7.2
ServerVersion = 1.7.2

View file

@ -20,3 +20,19 @@ archivesBaseName = "modid"
minecraft {
version = "${version}"
}
processResources
{
// replace stuff in mcmod.info, nothing else
from(sourceSets.main.resources.srcDirs) {
include 'mcmod/info'
// replace version and mcversion
expand 'version':project.version, 'mcversion':project.minecraft.version
}
// copy everything else, thats not the mcmod.info
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
}

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/Minecraft/lib/net/minecraft/launchwrapper/1.3/launchwrapper-1.3.jar"/>
<listEntry value="/Minecraft/lib/net/minecraft/launchwrapper/1.8/launchwrapper-1.8.jar"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="1"/>
@ -9,6 +9,6 @@
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="net.minecraft.launchwrapper.Launch"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--version 1.6 --tweakClass cpw.mods.fml.common.launcher.FMLTweaker"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="Minecraft"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xincgc -Xmx1024M -Xms1024M"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:Minecraft/jars}"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xincgc -Xmx1024M -Xms1024M -Dfml.ignoreInvalidMinecraftCertificates=true"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
</launchConfiguration>

View file

@ -9,5 +9,5 @@
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="cpw.mods.fml.relauncher.ServerLaunchWrapper"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="Minecraft"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xincgc -Xmx1024M -Xms1024M"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:Minecraft/jars}"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
</launchConfiguration>

203
fml/jsons/1.7.2-dev.json Normal file
View file

@ -0,0 +1,203 @@
{
"id": "@minecraft_version@-@project@@version@",
"time": "@timestamp@",
"releaseTime": "1960-01-01T00:00:00-0700",
"type": "release",
"minecraftArguments": "--version FML_DEV --tweakClass cpw.mods.fml.common.launcher.FMLTweaker",
"libraries": [
{
"name": "net.minecraft:launchwrapper:1.8",
"comment" : "Important for FML, we add this"
},
{
"name": "org.ow2.asm:asm-debug-all:4.1",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2",
"comment" : "Important for FML, we add this"
},
{
"name": "org.scala-lang:scala-library:2.10.2",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2",
"comment" : "Important for FML, we add this"
},
{
"name": "org.scala-lang:scala-compiler:2.10.2",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2",
"comment" : "Important for FML, we add this"
},
{
"name": "net.sf.jopt-simple:jopt-simple:4.5",
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "java3d:vecmath:1.3.1"
},
{
"name": "net.sf.trove4j:trove4j:3.0.3"
},
{
"name": "com.ibm.icu:icu4j-core-mojang:51.2"
},
{
"name": "net.sf.jopt-simple:jopt-simple:4.5"
},
{
"name": "lzma:lzma:0.0.1"
},
{
"name": "com.paulscode:codecjorbis:20101023"
},
{
"name": "com.paulscode:codecwav:20101023"
},
{
"name": "com.paulscode:libraryjavasound:20101123"
},
{
"name": "com.paulscode:librarylwjglopenal:20100824"
},
{
"name": "com.paulscode:soundsystem:20120107"
},
{
"name": "io.netty:netty-all:4.0.10.Final"
},
{
"name": "com.google.guava:guava:15.0"
},
{
"name": "org.apache.commons:commons-lang3:3.1"
},
{
"name": "commons-io:commons-io:2.4"
},
{
"name": "net.java.jinput:jinput:2.0.5"
},
{
"name": "net.java.jutils:jutils:1.0.0"
},
{
"name": "com.google.code.gson:gson:2.2.4"
},
{
"name": "com.mojang:authlib:1.3"
},
{
"name": "org.apache.logging.log4j:log4j-api:2.0-beta9"
},
{
"name": "org.apache.logging.log4j:log4j-core:2.0-beta9"
},
{
"name": "org.lwjgl.lwjgl:lwjgl:2.9.0",
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
}
]
},
{
"name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0",
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
}
]
},
{
"name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0",
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
}
],
"natives": {
"linux": "natives-linux",
"windows": "natives-windows"
},
"extract": {
"exclude": [
"META-INF/"
]
}
},
{
"name": "org.lwjgl.lwjgl:lwjgl:2.9.1-nightly-20131017",
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
}
]
},
{
"name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1-nightly-20131017",
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
}
]
},
{
"name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1-nightly-20131017",
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
}
],
"natives": {
"osx": "natives-osx"
},
"extract": {
"exclude": [
"META-INF/"
]
}
},
{
"name": "net.java.jinput:jinput-platform:2.0.5",
"natives": {
"linux": "natives-linux",
"windows": "natives-windows",
"osx": "natives-osx"
},
"extract": {
"exclude": [
"META-INF/"
]
}
}
],
"mainClass": "net.minecraft.launchwrapper.Launch",
"minimumLauncherVersion": 9
}

214
fml/jsons/1.7.2-rel.json Normal file
View file

@ -0,0 +1,214 @@
{
"install": {
"profileName": "@project@",
"target":"@minecraft_version@-@project@@version@",
"path":"@artifact@",
"version":"@project@ @version@",
"filePath":"@universal_jar@",
"welcome":"Welcome to the simple @project@ installer.",
"minecraft":"@minecraft_version@",
"mirrorList" : "http://files.minecraftforge.net/mirror-brand.list",
"logo":"/big_logo.png"
},
"versionInfo": {
"id": "@minecraft_version@-@project@@version@",
"time": "@timestamp@",
"releaseTime": "1960-01-01T00:00:00-0700",
"type": "release",
"minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets} --uuid ${auth_uuid} --accessToken ${auth_access_token} --tweakClass cpw.mods.fml.common.launcher.FMLTweaker",
"libraries": [
{
"name": "@artifact@",
"url": "http://files.minecraftforge.net/maven/"
},
{
"name": "net.minecraft:launchwrapper:1.8",
"serverreq":true
},
{
"name": "org.ow2.asm:asm-all:4.1",
"serverreq":true
},
{
"name": "org.scala-lang:scala-library:2.10.2",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "6ba65d12cd09d441083262d6f73d2257fec7c663", "65de4339eaed1c3675485fb03a3532fecfd8e8cd" ],
"comment" : "Important for FML, we add this",
"serverreq":true,
"clientreq":true
},
{
"name": "org.scala-lang:scala-compiler:2.10.2",
"url" : "http://files.minecraftforge.net/maven/",
"checksums" : [ "64c8b1380cc53d6850823d6e4e7ae984aa44ef9c", "99fd0ffb66f3088b0cd1071315fd5eb2b2b070ff" ],
"comment" : "Important for FML, we add this",
"serverreq":true,
"clientreq":true
},
{
"name": "java3d:vecmath:1.3.1"
},
{
"name": "net.sf.trove4j:trove4j:3.0.3"
},
{
"name": "com.ibm.icu:icu4j-core-mojang:51.2"
},
{
"name": "net.sf.jopt-simple:jopt-simple:4.5"
},
{
"name": "com.paulscode:codecjorbis:20101023"
},
{
"name": "com.paulscode:codecwav:20101023"
},
{
"name": "com.paulscode:libraryjavasound:20101123"
},
{
"name": "com.paulscode:librarylwjglopenal:20100824"
},
{
"name": "com.paulscode:soundsystem:20120107"
},
{
"name": "io.netty:netty-all:4.0.10.Final"
},
{
"name": "com.google.guava:guava:15.0"
},
{
"name": "org.apache.commons:commons-lang3:3.1"
},
{
"name": "commons-io:commons-io:2.4"
},
{
"name": "net.java.jinput:jinput:2.0.5"
},
{
"name": "net.java.jutils:jutils:1.0.0"
},
{
"name": "com.google.code.gson:gson:2.2.4"
},
{
"name": "com.mojang:authlib:1.3"
},
{
"name": "org.apache.logging.log4j:log4j-api:2.0-beta9"
},
{
"name": "org.apache.logging.log4j:log4j-core:2.0-beta9"
},
{
"name": "org.lwjgl.lwjgl:lwjgl:2.9.0",
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
}
]
},
{
"name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0",
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
}
]
},
{
"name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0",
"rules": [
{
"action": "allow"
},
{
"action": "disallow",
"os": {
"name": "osx"
}
}
],
"natives": {
"linux": "natives-linux",
"windows": "natives-windows"
},
"extract": {
"exclude": [
"META-INF/"
]
}
},
{
"name": "org.lwjgl.lwjgl:lwjgl:2.9.1-nightly-20131017",
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
}
]
},
{
"name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1-nightly-20131017",
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
}
]
},
{
"name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1-nightly-20131017",
"rules": [
{
"action": "allow",
"os": {
"name": "osx"
}
}
],
"natives": {
"osx": "natives-osx"
},
"extract": {
"exclude": [
"META-INF/"
]
}
},
{
"name": "net.java.jinput:jinput-platform:2.0.5",
"natives": {
"linux": "natives-linux",
"windows": "natives-windows",
"osx": "natives-osx"
},
"extract": {
"exclude": [
"META-INF/"
]
}
}
],
"mainClass": "net.minecraft.launchwrapper.Launch",
"minimumLauncherVersion": 9
}
}

View file

@ -1,4 +1,9 @@
^org/bouncycastle
^org/apache
^com/google
^com/mojang/authlib
^com/mojang/util
^gnu/trove
^io/netty
^javax/annotation
^argo

View file

@ -7,8 +7,8 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -8,6 +9,6 @@
{
@@ -10,6 +11,6 @@
public static String getClientModName()
{
- return "vanilla";

View file

@ -1,18 +1,16 @@
--- ../src-base/minecraft/net/minecraft/client/Minecraft.java
+++ ../src-work/minecraft/net/minecraft/client/Minecraft.java
@@ -1,6 +1,11 @@
@@ -1,6 +1,9 @@
package net.minecraft.client;
import com.google.common.collect.Lists;
+
+import cpw.mods.fml.client.FMLClientHandler;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.registry.GameData;
+import cpw.mods.fml.common.registry.ItemData;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.awt.image.BufferedImage;
@@ -130,6 +135,8 @@
import io.netty.util.concurrent.GenericFutureListener;
@@ -146,6 +149,8 @@
import org.lwjgl.opengl.PixelFormat;
import org.lwjgl.util.glu.GLU;
@ -21,20 +19,16 @@
@SideOnly(Side.CLIENT)
public class Minecraft implements IPlayerUsage
{
@@ -362,9 +369,12 @@
this.field_71446_o = new TextureManager(this.field_110451_am);
this.field_110451_am.func_110542_a(this.field_71446_o);
this.field_71416_A = new SoundManager(this.field_110451_am, this.field_71474_y, this.field_110446_Y);
+ this.field_71416_A.LOAD_SOUND_SYSTEM = false;
this.field_110451_am.func_110542_a(this.field_71416_A);
@@ -457,6 +462,8 @@
this.func_71357_I();
this.field_71466_p = new FontRenderer(this.field_71474_y, new ResourceLocation("textures/font/ascii.png"), this.field_71446_o, false);
+
+ FMLClientHandler.instance().beginMinecraftLoading(this, this.field_110449_ao, this.field_110451_am);
+ FMLClientHandler.instance().beginMinecraftLoading(this, this.field_110449_ao, this.field_110451_am);
+
if (this.field_71474_y.field_74363_ab != null)
{
@@ -400,6 +410,7 @@
this.field_71466_p.func_78264_a(this.field_135017_as.func_135042_a() || this.field_71474_y.field_151455_aw);
@@ -508,6 +515,7 @@
this.field_71446_o.func_130088_a(TextureMap.field_110576_c, new TextureMap(1, "textures/items"));
GL11.glViewport(0, 0, this.field_71443_c, this.field_71440_d);
this.field_71452_i = new EffectRenderer(this.field_71441_e, this.field_71446_o);
@ -42,23 +36,15 @@
this.func_71361_d("Post startup");
this.field_71456_v = new GuiIngame(this);
@@ -418,6 +429,7 @@
{
@@ -527,6 +535,7 @@
this.func_71352_k();
}
+ FMLClientHandler.instance().onInitializationComplete();
Display.setVSyncEnabled(this.field_71474_y.field_74352_v);
}
public void func_110436_a()
@@ -733,6 +745,7 @@
{
this.func_71405_e();
}
+
}
private void func_71411_J()
@@ -801,9 +814,11 @@
@@ -916,9 +925,11 @@
if (!this.field_71454_w)
{
@ -70,7 +56,7 @@
}
GL11.glFlush();
@@ -1325,10 +1340,14 @@
@@ -1491,11 +1502,15 @@
public void func_71407_l()
{
@ -80,12 +66,13 @@
{
--this.field_71467_ac;
}
+
+ FMLCommonHandler.instance().onPreClientTick();
this.field_71424_I.func_76320_a("stats");
this.field_71413_E.func_77449_e();
@@ -1785,6 +1804,8 @@
+ FMLCommonHandler.instance().onPreClientTick();
+
this.field_71424_I.func_76320_a("gui");
if (!this.field_71445_n)
@@ -1978,6 +1993,8 @@
this.field_71453_ak.func_74428_b();
}
@ -94,31 +81,3 @@
this.field_71424_I.func_76319_b();
this.field_71423_H = func_71386_F();
}
@@ -1808,8 +1829,27 @@
}
this.field_71413_E.func_77450_a(StatList.field_75936_f, 1);
+
+ GameData.initializeServerGate(2);
+
this.field_71437_Z = new IntegratedServer(this, p_71371_1_, p_71371_2_, p_71371_3_);
this.field_71437_Z.func_71256_s();
+
+ MapDifference<Integer, ItemData> idDifferences = GameData.gateWorldLoadingForValidation();
+ if (idDifferences!=null)
+ {
+ FMLClientHandler.instance().warnIDMismatch(idDifferences, true);
+ }
+ else
+ {
+ GameData.releaseGate(true);
+ continueWorldLoading();
+ }
+
+ }
+
+ public void continueWorldLoading()
+ {
this.field_71455_al = true;
this.field_71461_s.func_73720_a(I18n.func_135053_a("menu.loadingLevel"));

View file

@ -1,18 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/audio/SoundManager.java
+++ ../src-work/minecraft/net/minecraft/client/audio/SoundManager.java
@@ -27,6 +27,7 @@
@SideOnly(Side.CLIENT)
public class SoundManager implements ResourceManagerReloadListener
{
+ public boolean LOAD_SOUND_SYSTEM = true;
private static final String[] field_130084_a = new String[] {"ogg"};
private SoundSystem field_77381_a;
private boolean field_77376_g;
@@ -67,6 +68,7 @@
public void func_110549_a(ResourceManager p_110549_1_)
{
+ if (!this.LOAD_SOUND_SYSTEM) return; //Stop the sound system from initializing three times at startup. Causing race conditions on some machines.
this.func_82464_d();
this.func_77370_b();
this.func_77363_d();

View file

@ -1,11 +1,11 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiCreateWorld.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiCreateWorld.java
@@ -212,6 +212,8 @@
@@ -211,6 +211,8 @@
}
}
+ WorldType.field_77139_a[this.field_73916_E].onGUICreateWorldPress();
+ WorldType.field_77139_a[this.field_146331_K].onGUICreateWorldPress();
+
EnumGameType enumgametype = EnumGameType.func_77142_a(this.field_73927_m);
WorldSettings worldsettings = new WorldSettings(i, enumgametype, this.field_73925_n, this.field_73933_r, WorldType.field_77139_a[this.field_73916_E]);
worldsettings.func_82750_a(this.field_82290_a);
WorldSettings.GameType gametype = WorldSettings.GameType.func_77142_a(this.field_146342_r);
WorldSettings worldsettings = new WorldSettings(i, gametype, this.field_146341_s, this.field_146337_w, WorldType.field_77139_a[this.field_146331_K]);
worldsettings.func_82750_a(this.field_146334_a);

View file

@ -14,78 +14,77 @@
import java.util.Date;
+import java.util.List;
import java.util.Random;
import java.util.concurrent.atomic.AtomicInteger;
import net.minecraft.client.Minecraft;
import net.minecraft.client.mco.ExceptionMcoService;
@@ -26,6 +29,9 @@
import org.apache.commons.io.Charsets;
@@ -33,6 +36,9 @@
import org.lwjgl.opengl.GL11;
import org.lwjgl.util.glu.Project;
+
+import com.google.common.base.Strings;
+import com.google.common.collect.Lists;
+
@SideOnly(Side.CLIENT)
public class GuiMainMenu extends GuiScreen
@@ -55,6 +61,8 @@
private ResourceLocation field_110351_G;
{
@@ -65,6 +71,8 @@
private GuiButton field_130023_H;
private static final String __OBFID = "CL_00001154";
+ private GuiButton fmlModButton = null;
+
public GuiMainMenu()
{
BufferedReader bufferedreader = null;
@@ -206,13 +214,22 @@
this.field_146972_A = field_96138_a;
@@ -265,13 +273,22 @@
private void func_130022_h()
{
this.field_130023_H.field_73748_h = true;
+ fmlModButton.field_73747_a = 98;
+ fmlModButton.field_73746_c = this.field_73880_f / 2 + 2;
this.field_130023_H.field_146125_m = true;
+ fmlModButton.field_146120_f = 98;
+ fmlModButton.field_146121_g = this.field_146294_l / 2 + 2;
}
private void func_73969_a(int p_73969_1_, int p_73969_2_)
{
this.field_73887_h.add(new GuiButton(1, this.field_73880_f / 2 - 100, p_73969_1_, I18n.func_135053_a("menu.singleplayer")));
this.field_73887_h.add(new GuiButton(2, this.field_73880_f / 2 - 100, p_73969_1_ + p_73969_2_ * 1, I18n.func_135053_a("menu.multiplayer")));
- this.field_73887_h.add(this.field_130023_H = new GuiButton(14, this.field_73880_f / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.func_135053_a("menu.online")));
this.field_146292_n.add(new GuiButton(1, this.field_146294_l / 2 - 100, p_73969_1_, I18n.func_135052_a("menu.singleplayer", new Object[0])));
this.field_146292_n.add(new GuiButton(2, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 1, I18n.func_135052_a("menu.multiplayer", new Object[0])));
- this.field_146292_n.add(this.field_130023_H = new GuiButton(14, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.func_135052_a("menu.online", new Object[0])));
+ //If Minecraft Realms is enabled, halve the size of both buttons and set them next to eachother.
+ fmlModButton = new GuiButton(6, this.field_73880_f / 2 - 100, p_73969_1_ + p_73969_2_ * 2, "Mods");
+ this.field_73887_h.add(fmlModButton);
+ fmlModButton = new GuiButton(6, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 2, "Mods");
+ this.field_146292_n.add(fmlModButton);
+
+ field_130023_H = new GuiButton(14, this.field_73880_f / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.func_135053_a("menu.online"));
+ field_130023_H.field_73747_a = 98;
+ field_130023_H.field_73746_c = this.field_73880_f / 2 - 100;
+ this.field_73887_h.add(field_130023_H);
this.field_130023_H.field_73748_h = false;
+ field_130023_H = new GuiButton(14, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.func_135052_a("menu.online"));
+ field_130023_H.field_146120_f = 98;
+ field_130023_H.field_146121_g = this.field_146294_l / 2 - 100;
+ this.field_146292_n.add(field_130023_H);
this.field_130023_H.field_146125_m = false;
}
@@ -259,6 +276,11 @@
if (p_73875_1_.field_73741_f == 4)
{
this.field_73882_e.func_71400_g();
@@ -320,6 +337,11 @@
this.field_146297_k.func_71400_g();
}
+ if (p_146284_1_.field_146127_k == 6)
+ {
+ this.field_146297_k.func_147108_a(new GuiModList(this));
+ }
+
+ if (p_73875_1_.field_73741_f == 6)
+ {
+ this.field_73882_e.func_71373_a(new GuiModList(this));
}
if (p_73875_1_.field_73741_f == 11)
@@ -520,7 +542,16 @@
if (p_146284_1_.field_146127_k == 11)
{
this.field_146297_k.func_71371_a("Demo_World", "Demo_World", DemoWorldServer.field_73071_a);
@@ -583,7 +605,15 @@
s = s + " Demo";
}
- this.func_73731_b(this.field_73886_k, s, 2, this.field_73881_g - 10, 16777215);
- this.func_73731_b(this.field_146289_q, s, 2, this.field_146295_m - 10, -1);
+ List<String> brandings = Lists.reverse(FMLCommonHandler.instance().getBrandings());
+ for (int i = 0; i < brandings.size(); i++)
+ {
+ String brd = brandings.get(i);
+ if (!Strings.isNullOrEmpty(brd))
+ {
+ this.func_73731_b(this.field_73886_k, brd, 2, this.field_73881_g - ( 10 + i * (this.field_73886_k.field_78288_b + 1)), 16777215);
+ this.func_73731_b(this.field_146289_q, brd, 2, this.field_146295_m - ( 10 + i * (this.field_146289_q.field_78288_b + 1)), 16777215);
+ }
+ }
+
String s1 = "Copyright Mojang AB. Do not distribute!";
this.func_73731_b(this.field_73886_k, s1, this.field_73880_f - this.field_73886_k.func_78256_a(s1) - 2, this.field_73881_g - 10, 16777215);
this.func_73731_b(this.field_146289_q, s1, this.field_146294_l - this.field_146289_q.func_78256_a(s1) - 2, this.field_146295_m - 10, -1);

View file

@ -1,13 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java
+++ ../src-work/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java
@@ -131,4 +131,10 @@
{
return p_98096_0_.field_73882_e;
}
+
+ public static void forceTermination(GuiConnecting gui)
+ {
+ gui.field_74258_b = true;
+ gui.field_74259_a = null;
+ }
}

View file

@ -1,123 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/multiplayer/NetClientHandler.java
+++ ../src-work/minecraft/net/minecraft/client/multiplayer/NetClientHandler.java
@@ -1,6 +1,8 @@
package net.minecraft.client.multiplayer;
import com.google.common.base.Charsets;
+
+import cpw.mods.fml.common.network.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.BufferedReader;
@@ -205,11 +207,14 @@
private GuiScreen field_98183_l;
Random field_72557_e = new Random();
+ private static byte connectionCompatibilityLevel;
+
public NetClientHandler(Minecraft p_i1176_1_, String p_i1176_2_, int p_i1176_3_) throws IOException
{
this.field_72563_h = p_i1176_1_;
Socket socket = new Socket(InetAddress.getByName(p_i1176_2_), p_i1176_3_);
this.field_72555_g = new TcpConnection(p_i1176_1_.func_98033_al(), socket, "Client", this);
+ FMLNetworkHandler.onClientConnectionToRemoteServer(this, p_i1176_2_, p_i1176_3_, this.field_72555_g);
}
public NetClientHandler(Minecraft p_i1177_1_, String p_i1177_2_, int p_i1177_3_, GuiScreen p_i1177_4_) throws IOException
@@ -218,6 +223,7 @@
this.field_98183_l = p_i1177_4_;
Socket socket = new Socket(InetAddress.getByName(p_i1177_2_), p_i1177_3_);
this.field_72555_g = new TcpConnection(p_i1177_1_.func_98033_al(), socket, "Client", this);
+ FMLNetworkHandler.onClientConnectionToRemoteServer(this, p_i1177_2_, p_i1177_3_, this.field_72555_g);
}
public NetClientHandler(Minecraft p_i1178_1_, IntegratedServer p_i1178_2_) throws IOException
@@ -225,6 +231,7 @@
this.field_72563_h = p_i1178_1_;
this.field_72555_g = new MemoryConnection(p_i1178_1_.func_98033_al(), this);
p_i1178_2_.func_71343_a().func_71754_a((MemoryConnection)this.field_72555_g, p_i1178_1_.func_110432_I().func_111285_a());
+ FMLNetworkHandler.onClientConnectionToIntegratedServer(this, p_i1178_2_, this.field_72555_g);
}
public void func_72547_c()
@@ -296,6 +303,7 @@
public void func_72513_a(Packet252SharedKey p_72513_1_)
{
+ this.func_72552_c(FMLNetworkHandler.getFMLFakeLoginPacket());
this.func_72552_c(new Packet205ClientCommand(0));
}
@@ -311,6 +319,7 @@
this.field_72563_h.field_71439_g.field_70157_k = p_72455_1_.field_73561_a;
this.field_72556_d = p_72455_1_.field_73562_h;
this.field_72563_h.field_71442_b.func_78746_a(p_72455_1_.field_73557_d);
+ FMLNetworkHandler.onConnectionEstablishedToServer(this, field_72555_g, p_72455_1_);
this.field_72563_h.field_71474_y.func_82879_c();
this.field_72555_g.func_74429_a(new Packet250CustomPayload("MC|Brand", ClientBrandRetriever.getClientModName().getBytes(Charsets.UTF_8)));
}
@@ -765,6 +774,7 @@
{
this.field_72555_g.func_74429_a(p_72546_1_);
this.field_72555_g.func_74423_d();
+ FMLNetworkHandler.onConnectionClosed(this.field_72555_g, this.getPlayer());
}
}
@@ -804,7 +814,11 @@
public void func_72481_a(Packet3Chat p_72481_1_)
{
+ p_72481_1_ = FMLNetworkHandler.handleChatMessage(this, p_72481_1_);
+ if (p_72481_1_ != null)
+ {
this.field_72563_h.field_71456_v.func_73827_b().func_73765_a(ChatMessageComponent.func_111078_c(p_72481_1_.field_73476_b).func_111068_a(true));
+ }
}
public void func_72524_a(Packet18Animation p_72524_1_)
@@ -1403,6 +1417,11 @@
public void func_72494_a(Packet131MapData p_72494_1_)
{
+ FMLNetworkHandler.handlePacket131Packet(this, p_72494_1_);
+ }
+
+ public void fmlPacket131Callback(Packet131MapData p_72494_1_)
+ {
if (p_72494_1_.field_73438_a == Item.field_77744_bd.field_77779_bT)
{
ItemMap.func_77874_a(p_72494_1_.field_73436_b, this.field_72563_h.field_71441_e).func_76192_a(p_72494_1_.field_73437_c);
@@ -1514,6 +1533,11 @@
public void func_72501_a(Packet250CustomPayload p_72501_1_)
{
+ FMLNetworkHandler.handlePacket250Packet(p_72501_1_, field_72555_g, this);
+ }
+
+ public void handleVanilla250Packet(Packet250CustomPayload p_72501_1_)
+ {
if ("MC|TrList".equals(p_72501_1_.field_73630_a))
{
DataInputStream datainputstream = new DataInputStream(new ByteArrayInputStream(p_72501_1_.field_73629_c));
@@ -1707,4 +1731,20 @@
{
return this.field_72555_g;
}
+
+ @Override
+ public EntityPlayer getPlayer()
+ {
+ return field_72563_h.field_71439_g;
+ }
+
+ public static void setConnectionCompatibilityLevel(byte connectionCompatibilityLevel)
+ {
+ NetClientHandler.connectionCompatibilityLevel = connectionCompatibilityLevel;
+ }
+
+ public static byte getConnectionCompatibilityLevel()
+ {
+ return connectionCompatibilityLevel;
+ }
}

View file

@ -1,85 +1,87 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/RenderBlocks.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/RenderBlocks.java
@@ -35,6 +35,7 @@
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.texture.TextureMap;
@@ -40,6 +40,7 @@
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
+import net.minecraft.src.FMLRenderAccessLibrary;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityFlowerPot;
import net.minecraft.util.Direction;
import net.minecraft.util.Icon;
import net.minecraft.util.MathHelper;
@@ -223,7 +224,51 @@
@@ -242,7 +243,53 @@
{
p_78612_1_.func_71902_a(this.field_78669_a, p_78612_2_, p_78612_3_, p_78612_4_);
this.func_83018_a(p_78612_1_);
- return l == 0 ? this.func_78570_q(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 4 ? this.func_78621_p(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 31 ? this.func_78581_r(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 1 ? this.func_78620_l(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 2 ? this.func_78572_c(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 20 ? this.func_78598_k(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 11 ? this.func_78582_a((BlockFence)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 39 ? this.func_96445_r(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 5 ? this.func_78589_i(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 13 ? this.func_78584_s(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 9 ? this.func_78586_a((BlockRailBase)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 19 ? this.func_78603_m(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 23 ? this.func_78566_o(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 6 ? this.func_78614_n(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 3 ? this.func_78590_h((BlockFire)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 8 ? this.func_78576_j(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 7 ? this.func_78601_u(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 10 ? this.func_78565_t((BlockStairs)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 27 ? this.func_78618_a((BlockDragonEgg)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 32 ? this.func_82779_a((BlockWall)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 12 ? this.func_78594_e(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 29 ? this.func_78577_f(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 30 ? this.func_78619_g(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 14 ? this.func_78574_w(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 15 ? this.func_78610_x((BlockRedstoneRepeater)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 36 ? this.func_94176_a((BlockRedstoneLogic)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 37 ? this.func_94171_a((BlockComparator)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 16 ? this.func_78593_b(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_, false) : (l == 17 ? this.func_78608_c(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_, true) : (l == 18 ? this.func_78592_a((BlockPane)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 21 ? this.func_78580_a((BlockFenceGate)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 24 ? this.func_78615_a((BlockCauldron)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 33 ? this.func_82780_a((BlockFlowerPot)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 35 ? this.func_82775_a((BlockAnvil)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 25 ? this.func_78585_a((BlockBrewingStand)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 26 ? this.func_78567_v((BlockEndPortalFrame)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 28 ? this.func_78616_a((BlockCocoa)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 34 ? this.func_82778_a((BlockBeacon)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (l == 38 ? this.func_94172_a((BlockHopper)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : false))))))))))))))))))))))))))))))))))))));
p_147805_1_.func_149719_a(this.field_147845_a, p_147805_2_, p_147805_3_, p_147805_4_);
this.func_147775_a(p_147805_1_);
- return l == 0 ? this.func_147784_q(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 4 ? this.func_147721_p(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 31 ? this.func_147742_r(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 1 ? this.func_147746_l(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 40 ? this.func_147774_a((BlockDoublePlant)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 2 ? this.func_147791_c(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 20 ? this.func_147726_j(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 11 ? this.func_147735_a((BlockFence)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 39 ? this.func_147779_s(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 5 ? this.func_147788_h(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 13 ? this.func_147755_t(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 9 ? this.func_147766_a((BlockRailBase)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 19 ? this.func_147724_m(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 23 ? this.func_147783_o(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 6 ? this.func_147796_n(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 3 ? this.func_147801_a((BlockFire)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 8 ? this.func_147794_i(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 7 ? this.func_147760_u(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 10 ? this.func_147722_a((BlockStairs)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 27 ? this.func_147802_a((BlockDragonEgg)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 32 ? this.func_147807_a((BlockWall)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 12 ? this.func_147790_e(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 29 ? this.func_147723_f(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 30 ? this.func_147756_g(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 14 ? this.func_147773_v(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 15 ? this.func_147759_a((BlockRedstoneRepeater)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 36 ? this.func_147748_a((BlockRedstoneDiode)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 37 ? this.func_147781_a((BlockRedstoneComparator)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 16 ? this.func_147731_b(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_, false) : (l == 17 ? this.func_147809_c(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_, true) : (l == 18 ? this.func_147767_a((BlockPane)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 41 ? this.func_147733_k(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 21 ? this.func_147776_a((BlockFenceGate)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 24 ? this.func_147785_a((BlockCauldron)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 33 ? this.func_147752_a((BlockFlowerPot)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 35 ? this.func_147725_a((BlockAnvil)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 25 ? this.func_147741_a((BlockBrewingStand)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 26 ? this.func_147743_a((BlockEndPortalFrame)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 28 ? this.func_147772_a((BlockCocoa)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 34 ? this.func_147797_a((BlockBeacon)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : (l == 38 ? this.func_147803_a((BlockHopper)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) : false))))))))))))))))))))))))))))))))))))))));
+
+ switch (l)
+ {
+ //regex: ' : \(l == ([\d]+) \?' replace: ';\ncase \1: return' ::: IMPORTANT: REMEMBER THIS ON FIRST line!
+ case 0: return this.func_78570_q(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 4: return this.func_78621_p(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 31: return this.func_78581_r(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 1: return this.func_78620_l(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 2: return this.func_78572_c(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 20: return this.func_78598_k(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 11: return this.func_78582_a((BlockFence)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 39: return this.func_96445_r(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 5: return this.func_78589_i(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 13: return this.func_78584_s(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 9: return this.func_78586_a((BlockRailBase)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 19: return this.func_78603_m(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 23: return this.func_78566_o(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 6: return this.func_78614_n(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 3: return this.func_78590_h((BlockFire)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 8: return this.func_78576_j(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 7: return this.func_78601_u(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 10: return this.func_78565_t((BlockStairs)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 27: return this.func_78618_a((BlockDragonEgg)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 32: return this.func_82779_a((BlockWall)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 12: return this.func_78594_e(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 29: return this.func_78577_f(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 30: return this.func_78619_g(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 14: return this.func_78574_w(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 15: return this.func_78610_x((BlockRedstoneRepeater)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 36: return this.func_94176_a((BlockRedstoneLogic)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 37: return this.func_94171_a((BlockComparator)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 16: return this.func_78593_b(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_, false);
+ case 17: return this.func_78608_c(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_, true);
+ case 18: return this.func_78592_a((BlockPane)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 21: return this.func_78580_a((BlockFenceGate)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 24: return this.func_78615_a((BlockCauldron)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 33: return this.func_82780_a((BlockFlowerPot)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 35: return this.func_82775_a((BlockAnvil)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 25: return this.func_78585_a((BlockBrewingStand)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 26: return this.func_78567_v((BlockEndPortalFrame)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 28: return this.func_78616_a((BlockCocoa)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 34: return this.func_82778_a((BlockBeacon)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ case 38: return this.func_94172_a((BlockHopper)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_);
+ default: return FMLRenderAccessLibrary.renderWorldBlock(this, field_78669_a, p_78612_2_, p_78612_3_, p_78612_4_, p_78612_1_, l);
+ case 0 : return this.func_147784_q(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 4: return this.func_147721_p(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 31: return this.func_147742_r(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 1: return this.func_147746_l(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 40: return this.func_147774_a((BlockDoublePlant)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 2: return this.func_147791_c(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 20: return this.func_147726_j(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 11: return this.func_147735_a((BlockFence)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 39: return this.func_147779_s(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 5: return this.func_147788_h(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 13: return this.func_147755_t(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 9: return this.func_147766_a((BlockRailBase)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 19: return this.func_147724_m(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 23: return this.func_147783_o(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 6: return this.func_147796_n(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 3: return this.func_147801_a((BlockFire)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 8: return this.func_147794_i(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 7: return this.func_147760_u(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 10: return this.func_147722_a((BlockStairs)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 27: return this.func_147802_a((BlockDragonEgg)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 32: return this.func_147807_a((BlockWall)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 12: return this.func_147790_e(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 29: return this.func_147723_f(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 30: return this.func_147756_g(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 14: return this.func_147773_v(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 15: return this.func_147759_a((BlockRedstoneRepeater)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 36: return this.func_147748_a((BlockRedstoneDiode)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 37: return this.func_147781_a((BlockRedstoneComparator)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 16: return this.func_147731_b(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_, false) ;
+ case 17: return this.func_147809_c(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_, true) ;
+ case 18: return this.func_147767_a((BlockPane)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 41: return this.func_147733_k(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 21: return this.func_147776_a((BlockFenceGate)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 24: return this.func_147785_a((BlockCauldron)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 33: return this.func_147752_a((BlockFlowerPot)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 35: return this.func_147725_a((BlockAnvil)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 25: return this.func_147741_a((BlockBrewingStand)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 26: return this.func_147743_a((BlockEndPortalFrame)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 28: return this.func_147772_a((BlockCocoa)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 34: return this.func_147797_a((BlockBeacon)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ;
+ case 38: return this.func_147803_a((BlockHopper)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_);
+ default: return FMLRenderAccessLibrary.renderWorldBlock(this, field_147845_a, p_147805_2_, p_147805_3_, p_147805_4_, p_147805_1_, l);
+ }
}
}
@@ -7636,6 +7681,10 @@
this.func_96447_a((BlockHopper)p_78600_1_, 0, 0, 0, 0, true);
@@ -8060,6 +8107,10 @@
this.func_147799_a((BlockHopper)p_147800_1_, 0, 0, 0, 0, true);
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
}
+ else
+ {
+ FMLRenderAccessLibrary.renderInventoryBlock(this, p_78600_1_, p_78600_2_, j);
+ FMLRenderAccessLibrary.renderInventoryBlock(this, p_147800_1_, p_147800_2_, j);
+ }
}
else
{
@@ -7694,7 +7743,25 @@
@@ -8118,7 +8169,24 @@
public static boolean func_78597_b(int p_78597_0_)
public static boolean func_147739_a(int p_147739_0_)
{
- return p_78597_0_ == 0 ? true : (p_78597_0_ == 31 ? true : (p_78597_0_ == 39 ? true : (p_78597_0_ == 13 ? true : (p_78597_0_ == 10 ? true : (p_78597_0_ == 11 ? true : (p_78597_0_ == 27 ? true : (p_78597_0_ == 22 ? true : (p_78597_0_ == 21 ? true : (p_78597_0_ == 16 ? true : (p_78597_0_ == 26 ? true : (p_78597_0_ == 32 ? true : (p_78597_0_ == 34 ? true : p_78597_0_ == 35))))))))))));
+ switch (p_78597_0_)
- return p_147739_0_ == 0 ? true : (p_147739_0_ == 31 ? true : (p_147739_0_ == 39 ? true : (p_147739_0_ == 13 ? true : (p_147739_0_ == 10 ? true : (p_147739_0_ == 11 ? true : (p_147739_0_ == 27 ? true : (p_147739_0_ == 22 ? true : (p_147739_0_ == 21 ? true : (p_147739_0_ == 16 ? true : (p_147739_0_ == 26 ? true : (p_147739_0_ == 32 ? true : (p_147739_0_ == 34 ? true : (p_147739_0_ == 35 ? true : (p_147739_0_ == -1 ? false : false))))))))))))));
+ switch (p_147739_0_)
+ {
+ case 0: return true;
+ case 0 : return true ;
+ case 31: return true ;
+ case 39: return true ;
+ case 13: return true ;
@ -93,9 +95,8 @@
+ case 32: return true ;
+ case 34: return true ;
+ case 35: return true ;
+ default: return FMLRenderAccessLibrary.renderItemAsFull3DBlock(p_78597_0_);
+ default: return FMLRenderAccessLibrary.renderItemAsFull3DBlock(p_147739_0_);
+ }
+
}
public Icon func_94170_a(Block p_94170_1_, IBlockAccess p_94170_2_, int p_94170_3_, int p_94170_4_, int p_94170_5_, int p_94170_6_)
public IIcon func_147793_a(Block p_147793_1_, IBlockAccess p_147793_2_, int p_147793_3_, int p_147793_4_, int p_147793_5_, int p_147793_6_)

View file

@ -7,7 +7,7 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelVillager;
@@ -52,7 +53,7 @@
@@ -53,7 +54,7 @@
case 4:
return field_110906_m;
default:

View file

@ -9,7 +9,7 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.IOException;
@@ -80,6 +82,7 @@
@@ -83,6 +85,7 @@
}
field_135049_a.func_135022_a(p_110549_1_, arraylist);

View file

@ -1,13 +1,15 @@
--- ../src-base/minecraft/net/minecraft/client/settings/GameSettings.java
+++ ../src-work/minecraft/net/minecraft/client/settings/GameSettings.java
@@ -1,5 +1,6 @@
package net.minecraft.client.settings;
@@ -2,6 +2,8 @@
import com.google.common.collect.Maps;
import com.google.gson.Gson;
+
+import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.BufferedReader;
@@ -705,6 +706,7 @@
@@ -879,6 +881,7 @@
public void func_74303_b()
{

View file

@ -1,17 +0,0 @@
--- ../src-base/minecraft/net/minecraft/crash/CallableSuspiciousClasses.java
+++ ../src-work/minecraft/net/minecraft/crash/CallableSuspiciousClasses.java
@@ -130,13 +130,6 @@
public Object call()
{
- try
- {
- return this.func_85085_a();
- }
- catch (Exception ex)
- {
- return null;
- }
+ return "FML is installed";
}
}

View file

@ -7,10 +7,10 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.File;
@@ -43,6 +44,7 @@
this.field_85061_c.func_71500_a("AABB Pool Size", new CallableCrashMemoryReport(this));
this.field_85061_c.func_71500_a("Suspicious classes", new CallableSuspiciousClasses(this));
this.field_85061_c.func_71500_a("IntCache", new CallableIntCache(this));
@@ -141,6 +142,7 @@
return IntCache.func_85144_b();
}
});
+ FMLCommonHandler.instance().enhanceCrashReport(this, this.field_85061_c);
}

View file

@ -1,16 +1,24 @@
--- ../src-base/minecraft/net/minecraft/entity/EntityList.java
+++ ../src-work/minecraft/net/minecraft/entity/EntityList.java
@@ -3,6 +3,9 @@
import java.util.HashMap;
@@ -5,6 +5,8 @@
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
+import java.util.logging.Level;
+
+import cpw.mods.fml.common.FMLLog;
import net.minecraft.entity.ai.EntityMinecartMobSpawner;
import net.minecraft.entity.boss.EntityDragon;
import net.minecraft.entity.boss.EntityWither;
@@ -126,9 +129,10 @@
@@ -66,6 +68,8 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import cpw.mods.fml.common.FMLLog;
+
public class EntityList
{
private static final Logger field_151516_b = LogManager.getLogger();
@@ -145,9 +149,10 @@
p_75615_0_.func_82580_o("Type");
}
@ -22,7 +30,7 @@
if (oclass != null)
{
@@ -142,7 +146,17 @@
@@ -161,7 +166,17 @@
if (entity != null)
{

View file

@ -1,15 +1,15 @@
--- ../src-base/minecraft/net/minecraft/entity/EntityTracker.java
+++ ../src-work/minecraft/net/minecraft/entity/EntityTracker.java
@@ -4,6 +4,8 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
+
@@ -39,6 +39,8 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import cpw.mods.fml.common.registry.EntityRegistry;
import net.minecraft.crash.CrashReport;
import net.minecraft.crash.CrashReportCategory;
import net.minecraft.entity.boss.EntityDragon;
@@ -51,6 +53,11 @@
+
public class EntityTracker
{
private static final Logger field_151249_a = LogManager.getLogger();
@@ -56,6 +58,11 @@
public void func_72786_a(Entity p_72786_1_)
{

View file

@ -1,15 +1,15 @@
--- ../src-base/minecraft/net/minecraft/entity/EntityTrackerEntry.java
+++ ../src-work/minecraft/net/minecraft/entity/EntityTrackerEntry.java
@@ -5,6 +5,8 @@
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+
@@ -57,6 +57,8 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import cpw.mods.fml.common.network.FMLNetworkHandler;
import net.minecraft.entity.ai.attributes.ServersideAttributeMap;
import net.minecraft.entity.boss.EntityDragon;
import net.minecraft.entity.item.EntityBoat;
@@ -378,6 +380,14 @@
+
public class EntityTrackerEntry
{
private static final Logger field_151262_p = LogManager.getLogger();
@@ -377,6 +379,14 @@
this.field_73138_k = this.field_73132_a.field_70181_x;
this.field_73135_l = this.field_73132_a.field_70179_y;
@ -18,23 +18,22 @@
+ int posZ = MathHelper.func_76128_c(this.field_73132_a.field_70161_v * 32.0D);
+ if (posX != this.field_73128_d || posY != this.field_73129_e || posZ != this.field_73126_f)
+ {
+ FMLNetworkHandler.makeEntitySpawnAdjustment(this.field_73132_a.field_70157_k, p_73117_1_, this.field_73128_d, this.field_73129_e, this.field_73126_f);
+ FMLNetworkHandler.makeEntitySpawnAdjustment(this.field_73132_a.func_145782_y(), p_73117_1_, this.field_73128_d, this.field_73129_e, this.field_73126_f);
+ }
+
if (this.field_73143_t && !(packet instanceof Packet24MobSpawn))
if (this.field_73143_t && !(packet instanceof S0FPacketSpawnMob))
{
p_73117_1_.field_71135_a.func_72567_b(new Packet28EntityVelocity(this.field_73132_a.field_70157_k, this.field_73132_a.field_70159_w, this.field_73132_a.field_70181_x, this.field_73132_a.field_70179_y));
@@ -455,6 +465,13 @@
if (this.field_73132_a.field_70128_L)
{
this.field_73132_a.field_70170_p.func_98180_V().func_98236_b("Fetching addPacket for removed entity");
+ }
+
p_73117_1_.field_71135_a.func_147359_a(new S12PacketEntityVelocity(this.field_73132_a.func_145782_y(), this.field_73132_a.field_70159_w, this.field_73132_a.field_70181_x, this.field_73132_a.field_70179_y));
@@ -456,6 +466,12 @@
field_151262_p.warn("Fetching addPacket for removed entity");
}
+ Packet pkt = FMLNetworkHandler.getEntitySpawningPacket(this.field_73132_a);
+
+ if (pkt != null)
+ {
+ return pkt;
}
+ }
if (this.field_73132_a instanceof EntityItem)
{
return new S0EPacketSpawnObject(this.field_73132_a, 2, 1);

View file

@ -1,11 +1,9 @@
--- ../src-base/minecraft/net/minecraft/entity/boss/IBossDisplayData.java
+++ ../src-work/minecraft/net/minecraft/entity/boss/IBossDisplayData.java
@@ -1,9 +1,5 @@
package net.minecraft.entity.boss;
@@ -4,7 +4,6 @@
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.util.IChatComponent;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@SideOnly(Side.CLIENT)
public interface IBossDisplayData
{

View file

@ -1,20 +1,20 @@
--- ../src-base/minecraft/net/minecraft/entity/item/EntityItem.java
+++ ../src-work/minecraft/net/minecraft/entity/item/EntityItem.java
@@ -1,6 +1,8 @@
package net.minecraft.entity.item;
@@ -17,6 +17,8 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.Iterator;
+
+import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
@@ -277,6 +279,8 @@
p_70100_1_.func_71029_a(AchievementList.field_76027_z);
+
public class EntityItem extends Entity
{
private static final Logger field_145803_d = LogManager.getLogger();
@@ -325,6 +327,8 @@
}
}
+ GameRegistry.onPickupNotification(p_70100_1_, this);
+
this.func_85030_a("random.pop", 0.2F, ((this.field_70146_Z.nextFloat() - this.field_70146_Z.nextFloat()) * 0.7F + 1.0F) * 2.0F);
this.field_70170_p.func_72956_a(p_70100_1_, "random.pop", 0.2F, ((this.field_70146_Z.nextFloat() - this.field_70146_Z.nextFloat()) * 0.7F + 1.0F) * 2.0F);
p_70100_1_.func_71001_a(this, i);

View file

@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/entity/monster/EntitySlime.java
+++ ../src-work/minecraft/net/minecraft/entity/monster/EntitySlime.java
@@ -237,7 +237,7 @@
@@ -240,7 +240,7 @@
{
Chunk chunk = this.field_70170_p.func_72938_d(MathHelper.func_76128_c(this.field_70165_t), MathHelper.func_76128_c(this.field_70161_v));

View file

@ -7,7 +7,7 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.Collections;
@@ -420,6 +421,7 @@
@@ -422,6 +423,7 @@
MerchantRecipeList merchantrecipelist;
merchantrecipelist = new MerchantRecipeList();
@ -15,8 +15,8 @@
int j;
label50:
@@ -624,7 +626,7 @@
public EntityLivingData func_110161_a(EntityLivingData p_110161_1_)
@@ -626,7 +628,7 @@
public IEntityLivingData func_110161_a(IEntityLivingData p_110161_1_)
{
p_110161_1_ = super.func_110161_a(p_110161_1_);
- this.func_70938_b(this.field_70170_p.field_73012_v.nextInt(5));

View file

@ -1,14 +1,16 @@
--- ../src-base/minecraft/net/minecraft/entity/player/EntityPlayer.java
+++ ../src-work/minecraft/net/minecraft/entity/player/EntityPlayer.java
@@ -1,5 +1,7 @@
package net.minecraft.entity.player;
@@ -2,6 +2,9 @@
import com.google.common.base.Charsets;
import com.mojang.authlib.GameProfile;
+
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.network.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.Collection;
@@ -181,6 +183,7 @@
@@ -194,6 +197,7 @@
public void func_70071_h_()
{
@ -16,21 +18,23 @@
if (this.field_71074_e != null)
{
ItemStack itemstack = this.field_71071_by.func_70448_g();
@@ -304,6 +307,7 @@
{
@@ -317,6 +321,7 @@
this.field_71100_bB.func_75118_a(this);
this.func_71064_a(StatList.field_75948_k, 1);
}
+ FMLCommonHandler.instance().onPlayerPostTick(this);
}
public int func_82145_z()
@@ -1906,4 +1910,9 @@
{
return this.func_70096_w().func_111145_d(17);
@@ -1986,6 +1991,11 @@
return uuid;
}
+
+ public void openGui(Object mod, int modGuiId, World world, int x, int y, int z)
+ {
+ FMLNetworkHandler.openGui(this, mod, modGuiId, world, x, y, z);
+ }
}
+
public static enum EnumStatus
{
OK("OK", 0),

View file

@ -4,10 +4,10 @@
package net.minecraft.inventory;
+import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
@@ -89,6 +90,7 @@
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
@@ -103,6 +104,7 @@
public void func_82870_a(EntityPlayer p_82870_1_, ItemStack p_82870_2_)
{

View file

@ -6,13 +6,13 @@
+import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.entity.item.EntityXPOrb;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
@@ -82,6 +83,8 @@
import net.minecraft.init.Items;
@@ -83,6 +84,8 @@
this.field_75228_b = 0;
+ GameRegistry.onItemSmelted(field_75229_a, p_75208_1_);
+
if (p_75208_1_.field_77993_c == Item.field_77703_o.field_77779_bT)
if (p_75208_1_.func_77973_b() == Items.field_151042_j)
{
this.field_75229_a.func_71064_a(AchievementList.field_76016_k, 1);

View file

@ -1,20 +0,0 @@
--- ../src-base/minecraft/net/minecraft/item/Item.java
+++ ../src-work/minecraft/net/minecraft/item/Item.java
@@ -2,6 +2,8 @@
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
+
+import cpw.mods.fml.common.registry.GameData;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
@@ -224,6 +226,8 @@
}
field_77698_e[256 + p_i1875_1_] = this;
+
+ GameData.newItemAdded(this);
}
public Item func_77625_d(int p_77625_1_)

View file

@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/item/ItemMap.java
+++ ../src-work/minecraft/net/minecraft/item/ItemMap.java
@@ -52,7 +52,7 @@
@@ -57,7 +57,7 @@
int i = 128 * (1 << mapdata.field_76197_d);
mapdata.field_76201_a = Math.round((float)p_77873_2_.func_72912_H().func_76079_c() / (float)i) * i;
mapdata.field_76199_b = Math.round((float)(p_77873_2_.func_72912_H().func_76074_e() / i)) * i;

View file

@ -1,28 +0,0 @@
--- ../src-base/minecraft/net/minecraft/logging/LogAgent.java
+++ ../src-work/minecraft/net/minecraft/logging/LogAgent.java
@@ -1,5 +1,6 @@
package net.minecraft.logging;
+import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.logging.ConsoleHandler;
@@ -26,7 +27,7 @@
private void func_98238_b()
{
- this.field_98242_a.setUseParentHandlers(false);
+ this.field_98242_a.setParent(FMLLog.getLogger());
Handler[] ahandler = this.field_98242_a.getHandlers();
int i = ahandler.length;
@@ -37,9 +38,6 @@
}
LogFormatter logformatter = new LogFormatter(this, (LogAgentEmptyAnon)null);
- ConsoleHandler consolehandler = new ConsoleHandler();
- consolehandler.setFormatter(logformatter);
- this.field_98242_a.addHandler(consolehandler);
try
{

View file

@ -1,47 +0,0 @@
--- ../src-base/minecraft/net/minecraft/network/MemoryConnection.java
+++ ../src-work/minecraft/net/minecraft/network/MemoryConnection.java
@@ -1,5 +1,6 @@
package net.minecraft.network;
+import cpw.mods.fml.common.network.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.net.InetSocketAddress;
@@ -7,6 +8,11 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.Queue;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
+import com.google.common.collect.Queues;
+
import net.minecraft.logging.ILogAgent;
import net.minecraft.network.packet.NetHandler;
import net.minecraft.network.packet.Packet;
@@ -14,7 +20,7 @@
public class MemoryConnection implements INetworkManager
{
private static final SocketAddress field_74444_a = new InetSocketAddress("127.0.0.1", 0);
- private final List field_74442_b = Collections.synchronizedList(new ArrayList());
+ private final Queue<Packet> field_74442_b = Queues.newConcurrentLinkedQueue();
private final ILogAgent field_98214_c;
private MemoryConnection field_74443_c;
private NetHandler field_74440_d;
@@ -65,7 +71,7 @@
while (i-- >= 0 && !this.field_74442_b.isEmpty())
{
- Packet packet = (Packet)this.field_74442_b.remove(0);
+ Packet packet = field_74442_b.poll();
packet.func_73279_a(this.field_74440_d);
}
@@ -77,6 +83,7 @@
if (this.field_74441_e && this.field_74442_b.isEmpty())
{
this.field_74440_d.func_72515_a(this.field_74438_f, this.field_74439_g);
+ FMLNetworkHandler.onConnectionClosed(this, this.field_74440_d.getPlayer());
}
}

View file

@ -1,71 +0,0 @@
--- ../src-base/minecraft/net/minecraft/network/NetLoginHandler.java
+++ ../src-work/minecraft/net/minecraft/network/NetLoginHandler.java
@@ -11,11 +11,15 @@
import java.util.List;
import java.util.Random;
import javax.crypto.SecretKey;
+
+import cpw.mods.fml.common.network.FMLNetworkHandler;
+import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.network.packet.NetHandler;
import net.minecraft.network.packet.Packet;
import net.minecraft.network.packet.Packet1Login;
import net.minecraft.network.packet.Packet205ClientCommand;
+import net.minecraft.network.packet.Packet250CustomPayload;
import net.minecraft.network.packet.Packet252SharedKey;
import net.minecraft.network.packet.Packet253ServerAuthData;
import net.minecraft.network.packet.Packet254ServerPing;
@@ -54,7 +58,7 @@
this.func_72529_d();
}
- if (this.field_72535_g++ == 600)
+ if (this.field_72535_g++ == 6000)
{
this.func_72527_a("Took too long to log in");
}
@@ -155,11 +159,18 @@
}
}
- public void func_72455_a(Packet1Login p_72455_1_) {}
+ public void func_72455_a(Packet1Login p_72455_1_)
+ {
+ FMLNetworkHandler.handleLoginPacketOnServer(this, p_72455_1_);
+ }
public void func_72529_d()
{
- String s = this.field_72534_f.func_71203_ab().func_72399_a(this.field_72538_b.func_74430_c(), this.field_72543_h);
+ FMLNetworkHandler.onConnectionReceivedFromClient(this, this.field_72534_f, this.field_72538_b.func_74430_c(), this.field_72543_h);
+ }
+
+ public void completeConnection(String s)
+ {
if (s != null)
{
@@ -282,4 +293,22 @@
{
return p_72531_0_.field_72544_i = p_72531_1_;
}
+
+
+ public void func_72501_a(Packet250CustomPayload p_72501_1_)
+ {
+ FMLNetworkHandler.handlePacket250Packet(p_72501_1_, field_72538_b, this);
+ }
+
+ @Override
+ public void handleVanilla250Packet(Packet250CustomPayload payload)
+ {
+ // NOOP for login
+ }
+
+ @Override
+ public EntityPlayer getPlayer()
+ {
+ return null;
+ }
}

View file

@ -1,81 +0,0 @@
--- ../src-base/minecraft/net/minecraft/network/NetServerHandler.java
+++ ../src-work/minecraft/net/minecraft/network/NetServerHandler.java
@@ -6,6 +6,8 @@
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;
+
+import cpw.mods.fml.common.network.FMLNetworkHandler;
import net.minecraft.crash.CrashReport;
import net.minecraft.crash.CrashReportCategory;
import net.minecraft.entity.Entity;
@@ -36,6 +38,7 @@
import net.minecraft.network.packet.Packet108EnchantItem;
import net.minecraft.network.packet.Packet10Flying;
import net.minecraft.network.packet.Packet130UpdateSign;
+import net.minecraft.network.packet.Packet131MapData;
import net.minecraft.network.packet.Packet13PlayerLookMove;
import net.minecraft.network.packet.Packet14BlockDig;
import net.minecraft.network.packet.Packet15Place;
@@ -618,6 +621,10 @@
public void func_72481_a(Packet3Chat p_72481_1_)
{
+ p_72481_1_ = FMLNetworkHandler.handleChatMessage(this, p_72481_1_);
+
+ if (p_72481_1_ != null)
+ {
if (this.field_72574_e.func_71126_v() == 2)
{
this.func_72567_b(new Packet3Chat(ChatMessageComponent.func_111077_e("chat.cannotSend").func_111059_a(EnumChatFormatting.RED)));
@@ -635,6 +642,8 @@
{
s = StringUtils.normalizeSpace(s);
+ if (s != null)
+ {
for (int i = 0; i < s.length(); ++i)
{
if (!ChatAllowedCharacters.func_71566_a(s.charAt(i)))
@@ -666,7 +675,9 @@
{
this.func_72565_c("disconnect.spam");
}
- }
+ }
+ }
+ }
}
}
@@ -1013,6 +1024,11 @@
}
public void func_72501_a(Packet250CustomPayload p_72501_1_)
+ {
+ FMLNetworkHandler.handlePacket250Packet(p_72501_1_, field_72575_b, this);
+ }
+
+ public void handleVanilla250Packet(Packet250CustomPayload p_72501_1_)
{
DataInputStream datainputstream;
ItemStack itemstack;
@@ -1182,4 +1198,18 @@
{
return this.field_72576_c;
}
+
+
+ @Override
+ public void func_72494_a(Packet131MapData p_72494_1_)
+ {
+ FMLNetworkHandler.handlePacket131Packet(this, p_72494_1_);
+ }
+
+ // modloader compat -- yuk!
+ @Override
+ public EntityPlayerMP getPlayer()
+ {
+ return field_72574_e;
+ }
}

View file

@ -1,20 +0,0 @@
--- ../src-base/minecraft/net/minecraft/network/NetworkListenThread.java
+++ ../src-work/minecraft/net/minecraft/network/NetworkListenThread.java
@@ -4,6 +4,9 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.logging.Level;
+
+import cpw.mods.fml.common.FMLLog;
import net.minecraft.crash.CrashReport;
import net.minecraft.crash.CrashReportCategory;
import net.minecraft.server.MinecraftServer;
@@ -51,6 +54,7 @@
throw new ReportedException(crashreport);
}
+ FMLLog.log(Level.SEVERE, exception, "A critical server error occured handling a packet, kicking %s", netserverhandler.getPlayer().field_70157_k);
this.field_71750_c.func_98033_al().func_98235_b("Failed to handle packet for " + netserverhandler.field_72574_e.func_70023_ak() + "/" + netserverhandler.field_72574_e.func_71114_r() + ": " + exception, exception);
netserverhandler.func_72565_c("Internal server error");
}

View file

@ -0,0 +1,14 @@
--- ../src-base/minecraft/net/minecraft/network/NetworkManager.java
+++ ../src-work/minecraft/net/minecraft/network/NetworkManager.java
@@ -299,6 +299,11 @@
this.channelRead0(p_channelRead0_1_, (Packet)p_channelRead0_2_);
}
+ public Channel channel()
+ {
+ return field_150746_k;
+ }
+
static class InboundHandlerTuplePacketListener
{
private final Packet field_150774_a;

View file

@ -1,17 +0,0 @@
--- ../src-base/minecraft/net/minecraft/network/TcpConnection.java
+++ ../src-work/minecraft/net/minecraft/network/TcpConnection.java
@@ -1,5 +1,6 @@
package net.minecraft.network;
+import cpw.mods.fml.common.network.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.BufferedOutputStream;
@@ -392,6 +393,7 @@
if (this.field_74472_n && this.field_74473_o.isEmpty())
{
this.field_74485_r.func_72515_a(this.field_74481_v, this.field_74480_w);
+ FMLNetworkHandler.onConnectionClosed(this, this.field_74485_r.getPlayer());
}
}

View file

@ -1,18 +0,0 @@
--- ../src-base/minecraft/net/minecraft/network/packet/NetHandler.java
+++ ../src-work/minecraft/net/minecraft/network/packet/NetHandler.java
@@ -1,4 +1,6 @@
package net.minecraft.network.packet;
+
+import net.minecraft.entity.player.EntityPlayer;
public abstract class NetHandler
{
@@ -382,4 +384,8 @@
{
return false;
}
+
+ public abstract void handleVanilla250Packet(Packet250CustomPayload payload);
+
+ public abstract EntityPlayer getPlayer();
}

View file

@ -1,11 +0,0 @@
--- ../src-base/minecraft/net/minecraft/network/packet/Packet.java
+++ ../src-work/minecraft/net/minecraft/network/packet/Packet.java
@@ -355,7 +355,7 @@
func_73285_a(107, true, true, Packet107CreativeSetSlot.class);
func_73285_a(108, false, true, Packet108EnchantItem.class);
func_73285_a(130, true, true, Packet130UpdateSign.class);
- func_73285_a(131, true, false, Packet131MapData.class);
+ func_73285_a(131, true, true, Packet131MapData.class);
func_73285_a(132, true, false, Packet132TileEntityData.class);
func_73285_a(133, true, false, Packet133TileEditorOpen.class);
func_73285_a(200, true, false, Packet200Statistic.class);

View file

@ -1,77 +0,0 @@
--- ../src-base/minecraft/net/minecraft/network/packet/Packet1Login.java
+++ ../src-work/minecraft/net/minecraft/network/packet/Packet1Login.java
@@ -3,6 +3,8 @@
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
+
+import cpw.mods.fml.common.network.FMLNetworkHandler;
import net.minecraft.world.EnumGameType;
import net.minecraft.world.WorldType;
@@ -17,7 +19,12 @@
public byte field_73556_g;
public byte field_73562_h;
- public Packet1Login() {}
+ private boolean vanillaCompatible;
+
+ public Packet1Login()
+ {
+ this.vanillaCompatible = FMLNetworkHandler.vanillaLoginPacketCompatibility();
+ }
public Packet1Login(int p_i1440_1_, WorldType p_i1440_2_, EnumGameType p_i1440_3_, boolean p_i1440_4_, int p_i1440_5_, int p_i1440_6_, int p_i1440_7_, int p_i1440_8_)
{
@@ -29,6 +36,7 @@
this.field_73556_g = (byte)p_i1440_7_;
this.field_73562_h = (byte)p_i1440_8_;
this.field_73560_c = p_i1440_4_;
+ this.vanillaCompatible = false;
}
public void func_73267_a(DataInput p_73267_1_) throws IOException
@@ -46,7 +54,16 @@
this.field_73560_c = (b0 & 8) == 8;
int i = b0 & -9;
this.field_73557_d = EnumGameType.func_77146_a(i);
- this.field_73558_e = p_73267_1_.readByte();
+
+ if (vanillaCompatible)
+ {
+ this.field_73558_e = p_73267_1_.readByte();
+ }
+ else
+ {
+ this.field_73558_e = p_73267_1_.readInt();
+ }
+
this.field_73555_f = p_73267_1_.readByte();
this.field_73556_g = p_73267_1_.readByte();
this.field_73562_h = p_73267_1_.readByte();
@@ -64,7 +81,16 @@
}
p_73273_1_.writeByte(i);
- p_73273_1_.writeByte(this.field_73558_e);
+
+ if (vanillaCompatible)
+ {
+ p_73273_1_.writeByte(this.field_73558_e);
+ }
+ else
+ {
+ p_73273_1_.writeInt(this.field_73558_e);
+ }
+
p_73273_1_.writeByte(this.field_73555_f);
p_73273_1_.writeByte(this.field_73556_g);
p_73273_1_.writeByte(this.field_73562_h);
@@ -84,6 +110,6 @@
i = this.field_73559_b.func_77127_a().length();
}
- return 6 + 2 * i + 4 + 4 + 1 + 1 + 1;
+ return 6 + 2 * i + 4 + 4 + 1 + 1 + 1 + (vanillaCompatible ? 0 : 3);
}
}

View file

@ -1,13 +1,15 @@
--- ../src-base/minecraft/net/minecraft/server/MinecraftServer.java
+++ ../src-work/minecraft/net/minecraft/server/MinecraftServer.java
@@ -1,5 +1,6 @@
package net.minecraft.server;
@@ -4,6 +4,8 @@
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.minecraft.MinecraftSessionService;
import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService;
+
+import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.awt.GraphicsEnvironment;
@@ -368,7 +369,11 @@
import io.netty.buffer.ByteBuf;
@@ -381,7 +383,11 @@
{
if (this.func_71197_b())
{
@ -16,29 +18,18 @@
long i = func_130071_aq();
+
+ FMLCommonHandler.instance().onWorldLoadTick(field_71305_c);
for (long j = 0L; this.field_71317_u; this.field_71296_Q = true)
{
@@ -407,6 +412,7 @@
long j = 0L;
this.field_147147_p.func_151315_a(new ChatComponentText(this.field_71286_C));
this.field_147147_p.func_151321_a(new ServerStatusResponse.MinecraftProtocolVersionIdentifier("1.7.2", 4));
@@ -425,6 +431,7 @@
Thread.sleep(1L);
this.field_71296_Q = true;
}
+ FMLCommonHandler.instance().handleServerStopping();
}
else
{
@@ -415,6 +421,10 @@
}
catch (Throwable throwable)
{
+ if (FMLCommonHandler.instance().shouldServerBeKilledQuietly())
+ {
+ return;
+ }
throwable.printStackTrace();
this.func_98033_al().func_98234_c("Encountered an unexpected exception " + throwable.getClass().getSimpleName(), throwable);
CrashReport crashreport = null;
@@ -445,6 +455,10 @@
@@ -462,6 +469,10 @@
{
try
{
@ -49,7 +40,7 @@
this.func_71260_j();
this.field_71316_v = true;
}
@@ -454,6 +468,8 @@
@@ -471,6 +482,8 @@
}
finally
{
@ -58,7 +49,7 @@
this.func_71240_o();
}
}
@@ -470,8 +486,10 @@
@@ -511,8 +524,10 @@
public void func_71217_p()
{
@ -69,7 +60,7 @@
++this.field_71315_w;
if (this.field_71295_T)
@@ -517,6 +535,7 @@
@@ -566,6 +581,7 @@
this.field_71304_b.func_76319_b();
this.field_71304_b.func_76319_b();
@ -77,7 +68,7 @@
}
public void func_71190_q()
@@ -544,6 +563,7 @@
@@ -593,6 +609,7 @@
}
this.field_71304_b.func_76320_a("tick");
@ -85,7 +76,7 @@
CrashReport crashreport;
try
@@ -568,6 +588,7 @@
@@ -617,6 +634,7 @@
throw new ReportedException(crashreport);
}
@ -93,7 +84,7 @@
this.field_71304_b.func_76319_b();
this.field_71304_b.func_76320_a("tracker");
worldserver.func_73039_n().func_72788_a();
@@ -695,7 +716,7 @@
@@ -695,7 +713,7 @@
public String getServerModName()
{

View file

@ -1,26 +0,0 @@
--- ../src-base/minecraft/net/minecraft/server/ServerListenThread.java
+++ ../src-work/minecraft/net/minecraft/server/ServerListenThread.java
@@ -1,5 +1,6 @@
package net.minecraft.server;
+import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.IOException;
@@ -10,6 +11,8 @@
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
+import java.util.logging.Level;
+
import net.minecraft.network.NetLoginHandler;
import net.minecraft.network.NetworkListenThread;
@@ -50,6 +53,7 @@
catch (Exception exception)
{
netloginhandler.func_72527_a("Internal server error");
+ FMLLog.log(Level.SEVERE, exception, "Error handling login related packet - connection from %s refused", netloginhandler.func_72528_e());
this.field_71771_f.func_71746_d().func_98033_al().func_98235_b("Failed to handle packet for " + netloginhandler.func_72528_e() + ": " + exception, exception);
}

View file

@ -6,34 +6,34 @@
+import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.File;
@@ -62,6 +63,8 @@
this.func_98033_al().func_98236_b("To start the server with more ram, launch it as \"java -Xmx1024M -Xms1024M -jar minecraft_server.jar\"");
import java.io.BufferedReader;
@@ -109,6 +110,8 @@
field_155771_h.warn("To start the server with more ram, launch it as \"java -Xmx1024M -Xms1024M -jar minecraft_server.jar\"");
}
+ FMLCommonHandler.instance().onServerStart(this);
+
this.func_98033_al().func_98233_a("Loading properties");
this.field_71340_o = new PropertyManager(new File("server.properties"), this.func_98033_al());
field_155771_h.info("Loading properties");
this.field_71340_o = new PropertyManager(new File("server.properties"));
@@ -132,6 +135,8 @@
this.func_98033_al().func_98236_b("While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.");
this.func_98033_al().func_98236_b("To change this, set \"online-mode\" to \"true\" in the server.properties file.");
@@ -180,6 +183,8 @@
field_155771_h.warn("To change this, set \"online-mode\" to \"true\" in the server.properties file.");
}
+
+ FMLCommonHandler.instance().onServerStarted();
+ FMLCommonHandler.instance().onServerStarted();
+
this.func_71210_a(new DedicatedPlayerList(this));
long j = System.nanoTime();
@@ -174,6 +179,7 @@
@@ -225,6 +230,7 @@
this.func_71191_d((this.func_71207_Z() + 8) / 16 * 16);
this.func_71191_d(MathHelper.func_76125_a(this.func_71207_Z(), 64, 256));
this.field_71340_o.func_73667_a("max-build-height", Integer.valueOf(this.func_71207_Z()));
+ if (!FMLCommonHandler.instance().handleServerAboutToStart(this)) { return false; }
this.func_98033_al().func_98233_a("Preparing level \"" + this.func_71270_I() + "\"");
this.func_71247_a(this.func_71270_I(), this.func_71270_I(), k, worldtype, s2);
field_155771_h.info("Preparing level \"" + this.func_71270_I() + "\"");
this.func_71247_a(this.func_71270_I(), this.func_71270_I(), k, worldtype, s3);
long i1 = System.nanoTime() - j;
@@ -194,7 +200,7 @@
@@ -245,7 +251,7 @@
this.field_71339_n.func_72602_a();
}

View file

@ -7,9 +7,9 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.File;
@@ -113,9 +114,10 @@
@@ -105,9 +106,10 @@
this.func_71245_h(true);
this.field_98130_m.func_98233_a("Generating keypair");
field_147148_h.info("Generating keypair");
this.func_71253_a(CryptManager.func_75891_b());
+ if (!FMLCommonHandler.instance().handleServerAboutToStart(this)) { return false; }
this.func_71247_a(this.func_71270_I(), this.func_71221_J(), this.field_71350_m.func_77160_d(), this.field_71350_m.func_77165_h(), this.field_71350_m.func_82749_j());

View file

@ -1,9 +0,0 @@
--- ../src-base/minecraft/net/minecraft/server/integrated/IntegratedServerListenThread.java
+++ ../src-work/minecraft/net/minecraft/server/integrated/IntegratedServerListenThread.java
@@ -1,5 +1,6 @@
package net.minecraft.server.integrated;
+import cpw.mods.fml.common.network.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.IOException;

View file

@ -1,46 +1,20 @@
--- ../src-base/minecraft/net/minecraft/server/management/ServerConfigurationManager.java
+++ ../src-work/minecraft/net/minecraft/server/management/ServerConfigurationManager.java
@@ -1,6 +1,9 @@
package net.minecraft.server.management;
@@ -88,7 +88,7 @@
this.field_72405_c = 8;
}
import com.google.common.base.Charsets;
+
+import cpw.mods.fml.common.network.FMLNetworkHandler;
+import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.File;
@@ -124,6 +127,8 @@
p_72355_2_.func_71116_b();
+ FMLNetworkHandler.handlePlayerLogin(p_72355_2_, netserverhandler, p_72355_1_);
+
if (nbttagcompound != null && nbttagcompound.func_74764_b("Riding"))
- public void func_72355_a(NetworkManager p_72355_1_, EntityPlayerMP p_72355_2_)
+ public void func_72355_a(NetworkManager p_72355_1_, EntityPlayerMP p_72355_2_, NetHandlerPlayServer nethandlerplayserver)
{
Entity entity = EntityList.func_75615_a(nbttagcompound.func_74775_l("Riding"), worldserver);
@@ -238,6 +243,7 @@
public void func_72367_e(EntityPlayerMP p_72367_1_)
{
+ GameRegistry.onPlayerLogout(p_72367_1_);
this.func_72391_b(p_72367_1_);
WorldServer worldserver = p_72367_1_.func_71121_q();
@@ -395,6 +401,7 @@
this.field_72404_b.add(entityplayermp1);
entityplayermp1.func_71116_b();
entityplayermp1.func_70606_j(entityplayermp1.func_110143_aJ());
+ GameRegistry.onPlayerRespawn(entityplayermp1);
return entityplayermp1;
}
@@ -420,6 +427,8 @@
PotionEffect potioneffect = (PotionEffect)iterator.next();
p_72356_1_.field_71135_a.func_72567_b(new Packet41EntityEffect(p_72356_1_.field_70157_k, potioneffect));
}
+
+ GameRegistry.onPlayerChangedDimension(p_72356_1_);
}
public void func_82448_a(Entity p_82448_1_, int p_82448_2_, WorldServer p_82448_3_, WorldServer p_82448_4_)
NBTTagCompound nbttagcompound = this.func_72380_a(p_72355_2_);
p_72355_2_.func_70029_a(this.field_72400_f.func_71218_a(p_72355_2_.field_71093_bK));
@@ -104,7 +104,7 @@
WorldServer worldserver = this.field_72400_f.func_71218_a(p_72355_2_.field_71093_bK);
ChunkCoordinates chunkcoordinates = worldserver.func_72861_E();
this.func_72381_a(p_72355_2_, (EntityPlayerMP)null, worldserver);
- NetHandlerPlayServer nethandlerplayserver = new NetHandlerPlayServer(this.field_72400_f, p_72355_1_, p_72355_2_);
+ p_72355_2_.field_71135_a = nethandlerplayserver;
nethandlerplayserver.func_147359_a(new S01PacketJoinGame(p_72355_2_.func_145782_y(), p_72355_2_.field_71134_c.func_73081_b(), worldserver.func_72912_H().func_76093_s(), worldserver.field_73011_w.field_76574_g, worldserver.field_73013_u, this.func_72352_l(), worldserver.func_72912_H().func_76067_t()));
nethandlerplayserver.func_147359_a(new S3FPacketCustomPayload("MC|Brand", this.func_72365_p().getServerModName().getBytes(Charsets.UTF_8)));
nethandlerplayserver.func_147359_a(new S05PacketSpawnPosition(chunkcoordinates.field_71574_a, chunkcoordinates.field_71572_b, chunkcoordinates.field_71573_c));

View file

@ -0,0 +1,20 @@
--- ../src-base/minecraft/net/minecraft/server/network/NetHandlerLoginServer.java
+++ ../src-work/minecraft/net/minecraft/server/network/NetHandlerLoginServer.java
@@ -3,6 +3,8 @@
import com.google.common.base.Charsets;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.exceptions.AuthenticationUnavailableException;
+
+import cpw.mods.fml.common.network.FMLNetworkHandler;
import io.netty.util.concurrent.GenericFutureListener;
import java.math.BigInteger;
import java.security.PrivateKey;
@@ -97,7 +99,7 @@
{
this.field_147328_g = NetHandlerLoginServer.LoginState.ACCEPTED;
this.field_147333_a.func_150725_a(new S02PacketLoginSuccess(this.field_147337_i), new GenericFutureListener[0]);
- this.field_147327_f.func_71203_ab().func_72355_a(this.field_147333_a, this.field_147327_f.func_71203_ab().func_148545_a(this.field_147337_i));
+ FMLNetworkHandler.fmlHandshake(this.field_147327_f.func_71203_ab(), this.field_147333_a, this.field_147327_f.func_71203_ab().func_148545_a(this.field_147337_i));
}
}

View file

@ -1,18 +0,0 @@
--- ../src-base/minecraft/net/minecraft/stats/StatFileWriter.java
+++ ../src-work/minecraft/net/minecraft/stats/StatFileWriter.java
@@ -5,6 +5,7 @@
import argo.jdom.JsonRootNode;
import argo.jdom.JsonStringNode;
import argo.saj.InvalidSyntaxException;
+import cpw.mods.fml.common.asm.ReobfuscationMarker;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.File;
@@ -17,6 +18,7 @@
import net.minecraft.util.MD5String;
import net.minecraft.util.Session;
+@ReobfuscationMarker
@SideOnly(Side.CLIENT)
public class StatFileWriter
{

View file

@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/tileentity/TileEntity.java
+++ ../src-work/minecraft/net/minecraft/tileentity/TileEntity.java
@@ -1,9 +1,12 @@
@@ -1,10 +1,13 @@
package net.minecraft.tileentity;
+import cpw.mods.fml.common.FMLLog;
@ -8,48 +8,39 @@
import cpw.mods.fml.relauncher.SideOnly;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.Callable;
+import java.util.logging.Level;
+
import net.minecraft.block.Block;
import net.minecraft.block.BlockJukebox;
import net.minecraft.crash.CrashReportCategory;
import net.minecraft.nbt.NBTTagCompound;
@@ -81,9 +84,11 @@
@@ -87,9 +90,10 @@
{
TileEntity tileentity = null;
+ Class oclass = null;
+
try
{
- Class oclass = (Class)field_70326_a.get(p_70317_0_.func_74779_i("id"));
+ oclass = (Class)field_70326_a.get(p_70317_0_.func_74779_i("id"));
- Class oclass = (Class)field_145855_i.get(p_145827_0_.func_74779_i("id"));
+ oclass = (Class)field_145855_i.get(p_145827_0_.func_74779_i("id"));
if (oclass != null)
{
@@ -97,7 +102,17 @@
@@ -103,7 +107,17 @@
if (tileentity != null)
{
- tileentity.func_70307_a(p_70317_0_);
+ try
+ {
+ tileentity.func_70307_a(p_70317_0_);
tileentity.func_145839_a(p_145827_0_);
+ }
+ catch (Exception e)
+ catch (Exception ex)
+ {
+ FMLLog.log(Level.SEVERE, e,
+ FMLLog.log(Level.SEVERE, ex,
+ "A TileEntity %s(%s) has thrown an exception during loading, its state cannot be restored. Report this to the mod author",
+ p_70317_0_.func_74779_i("id"), oclass.getName());
+ p_145827_0_.func_74779_i("id"), oclass.getName());
+ tileentity = null;
+ }
}
else
{
@@ -131,7 +146,6 @@
}
}
- @SideOnly(Side.CLIENT)
public double func_70318_a(double p_70318_1_, double p_70318_3_, double p_70318_5_)
{
double d3 = (double)this.field_70329_l + 0.5D - p_70318_1_;

View file

@ -7,20 +7,20 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
@@ -316,7 +317,15 @@
@@ -319,7 +320,15 @@
}
}
- return item instanceof ItemTool && ((ItemTool)item).func_77861_e().equals("WOOD") ? 200 : (item instanceof ItemSword && ((ItemSword)item).func_77825_f().equals("WOOD") ? 200 : (item instanceof ItemHoe && ((ItemHoe)item).func_77842_f().equals("WOOD") ? 200 : (i == Item.field_77669_D.field_77779_bT ? 100 : (i == Item.field_77705_m.field_77779_bT ? 1600 : (i == Item.field_77775_ay.field_77779_bT ? 20000 : (i == Block.field_71987_y.field_71990_ca ? 100 : (i == Item.field_77731_bo.field_77779_bT ? 2400 : 0)))))));
+ if (item instanceof ItemTool && ((ItemTool) item).func_77861_e().equals("WOOD")) return 200;
+ if (item instanceof ItemSword && ((ItemSword) item).func_77825_f().equals("WOOD")) return 200;
+ if (item instanceof ItemHoe && ((ItemHoe) item).func_77842_f().equals("WOOD")) return 200;
+ if (i == Item.field_77669_D.field_77779_bT) return 100;
+ if (i == Item.field_77705_m.field_77779_bT) return 1600;
+ if (i == Item.field_77775_ay.field_77779_bT) return 20000;
+ if (i == Block.field_71987_y.field_71990_ca) return 100;
+ if (i == Item.field_77731_bo.field_77779_bT) return 2400;
+ return GameRegistry.getFuelValue(p_70398_0_);
- return item instanceof ItemTool && ((ItemTool)item).func_77861_e().equals("WOOD") ? 200 : (item instanceof ItemSword && ((ItemSword)item).func_150932_j().equals("WOOD") ? 200 : (item instanceof ItemHoe && ((ItemHoe)item).func_77842_f().equals("WOOD") ? 200 : (item == Items.field_151055_y ? 100 : (item == Items.field_151044_h ? 1600 : (item == Items.field_151129_at ? 20000 : (item == Item.func_150898_a(Blocks.field_150345_g) ? 100 : (item == Items.field_151072_bj ? 2400 : 0)))))));
+ if (item instanceof ItemTool && ((ItemTool)item).func_77861_e().equals("WOOD")) return 200;
+ if (item instanceof ItemSword && ((ItemSword)item).func_150932_j().equals("WOOD")) return 200;
+ if (item instanceof ItemHoe && ((ItemHoe)item).func_77842_f().equals("WOOD")) return 200;
+ if (item == Items.field_151055_y) return 100;
+ if (item == Items.field_151044_h) return 1600;
+ if (item == Items.field_151129_at) return 20000;
+ if (item == Item.func_150898_a(Blocks.field_150345_g)) return 100;
+ if (item == Items.field_151072_bj) return 2400;
+ return GameRegistry.getFuelValue(p_145952_0_);
}
}

View file

@ -1,17 +0,0 @@
--- ../src-base/minecraft/net/minecraft/util/CryptManager.java
+++ ../src-work/minecraft/net/minecraft/util/CryptManager.java
@@ -1,5 +1,6 @@
package net.minecraft.util;
+import cpw.mods.fml.common.asm.ReobfuscationMarker;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.InputStream;
@@ -35,6 +36,7 @@
import org.bouncycastle.crypto.params.ParametersWithIV;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
+@ReobfuscationMarker
public class CryptManager
{
@SideOnly(Side.CLIENT)

View file

@ -9,7 +9,7 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.IOException;
@@ -23,9 +25,19 @@
@@ -25,9 +27,19 @@
public StringTranslate()
{
@ -30,12 +30,3 @@
Iterator iterator = IOUtils.readLines(inputstream, Charsets.UTF_8).iterator();
while (iterator.hasNext())
@@ -45,7 +57,7 @@
}
}
}
- catch (IOException ioexception)
+ catch (Exception ioexception)
{
;
}

View file

@ -1,22 +1,23 @@
--- ../src-base/minecraft/net/minecraft/world/World.java
+++ ../src-work/minecraft/net/minecraft/world/World.java
@@ -1811,13 +1811,14 @@
@@ -1800,14 +1800,14 @@
}
}
- this.field_72989_L = false;
if (!this.field_73000_b.isEmpty())
- this.field_147481_N = false;
-
if (!this.field_147483_b.isEmpty())
{
this.field_73009_h.removeAll(this.field_73000_b);
this.field_73000_b.clear();
this.field_147482_g.removeAll(this.field_147483_b);
this.field_147483_b.clear();
}
+ this.field_147481_N = false;
+
+ this.field_72989_L = false;
this.field_72984_F.func_76318_c("pendingBlockEntities");
this.field_72984_F.func_76318_c("pendingTileEntities");
@@ -3646,7 +3647,7 @@
if (!this.field_147484_a.isEmpty())
@@ -3570,7 +3570,7 @@
@SideOnly(Side.CLIENT)
public double func_72919_O()
{

View file

@ -1,19 +1,19 @@
--- ../src-base/minecraft/net/minecraft/world/WorldProvider.java
+++ ../src-work/minecraft/net/minecraft/world/WorldProvider.java
@@ -49,20 +49,12 @@
@@ -50,20 +50,12 @@
protected void func_76572_b()
{
- if (this.field_76579_a.func_72912_H().func_76067_t() == WorldType.field_77138_c)
- {
- FlatGeneratorInfo flatgeneratorinfo = FlatGeneratorInfo.func_82651_a(this.field_76579_a.func_72912_H().func_82571_y());
- this.field_76578_c = new WorldChunkManagerHell(BiomeGenBase.field_76773_a[flatgeneratorinfo.func_82648_a()], 0.5F, 0.5F);
- this.field_76578_c = new WorldChunkManagerHell(BiomeGenBase.func_150568_d(flatgeneratorinfo.func_82648_a()), 0.5F);
- }
- else
- {
- this.field_76578_c = new WorldChunkManager(this.field_76579_a);
- }
+ field_76578_c = field_76577_b.getChunkManager(field_76579_a);
+ this.field_76578_c = field_76577_b.getChunkManager(field_76579_a);
}
public IChunkProvider func_76555_c()

View file

@ -1,57 +1,23 @@
--- ../src-base/minecraft/net/minecraft/world/WorldType.java
+++ ../src-work/minecraft/net/minecraft/world/WorldType.java
@@ -3,8 +3,23 @@
@@ -1,5 +1,14 @@
package net.minecraft.world;
+import java.util.Random;
+
+import net.minecraft.world.biome.BiomeGenBase;
+import net.minecraft.world.biome.WorldChunkManager;
+import net.minecraft.world.biome.WorldChunkManagerHell;
+import net.minecraft.world.chunk.IChunkProvider;
+import net.minecraft.world.gen.ChunkProviderFlat;
+import net.minecraft.world.gen.ChunkProviderGenerate;
+import net.minecraft.world.gen.FlatGeneratorInfo;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import java.util.Arrays;
+import java.util.Random;
+import java.util.Set;
+
+import com.google.common.collect.ObjectArrays;
+import com.google.common.collect.Sets;
+
+import net.minecraft.world.*;
+import net.minecraft.world.gen.*;
+import net.minecraft.world.biome.*;
+import net.minecraft.world.chunk.IChunkProvider;
+
public class WorldType
{
+ public static final BiomeGenBase[] base11Biomes = new BiomeGenBase[] {BiomeGenBase.field_76769_d, BiomeGenBase.field_76767_f, BiomeGenBase.field_76770_e, BiomeGenBase.field_76780_h, BiomeGenBase.field_76772_c, BiomeGenBase.field_76768_g};
+ public static final BiomeGenBase[] base12Biomes = ObjectArrays.concat(base11Biomes, BiomeGenBase.field_76782_w);
+
public static final WorldType[] field_77139_a = new WorldType[16];
public static final WorldType field_77137_b = (new WorldType(0, "default", 1)).func_77129_f();
public static final WorldType field_77138_c = new WorldType(1, "flat");
@@ -15,6 +30,8 @@
private final int field_77134_g;
private boolean field_77140_h;
private boolean field_77141_i;
+
+ protected BiomeGenBase[] biomesForWorldType;
public WorldType(int p_i1959_1_, String p_i1959_2_)
{
@@ -28,6 +45,15 @@
this.field_77140_h = true;
this.field_82748_f = p_i1960_1_;
field_77139_a[p_i1960_1_] = this;
+
+ switch (p_i1960_1_)
+ {
+ case 8:
+ biomesForWorldType = base11Biomes;
+ break;
+ default:
+ biomesForWorldType = base12Biomes;
+ }
}
public String func_77127_a()
@@ -91,4 +117,70 @@
{
return this.field_82748_f;
@@ -112,4 +121,70 @@
this.field_151361_l = true;
return this;
}
+
+ public WorldChunkManager getChunkManager(World world)
@ -59,7 +25,7 @@
+ if (this == field_77138_c)
+ {
+ FlatGeneratorInfo flatgeneratorinfo = FlatGeneratorInfo.func_82651_a(world.func_72912_H().func_82571_y());
+ return new WorldChunkManagerHell(BiomeGenBase.field_76773_a[flatgeneratorinfo.func_82648_a()], 0.5F, 0.5F);
+ return new WorldChunkManagerHell(BiomeGenBase.func_150568_d(flatgeneratorinfo.func_82648_a()), 0.5F);
+ }
+ else
+ {
@ -92,7 +58,7 @@
+ return this == field_77138_c ? 1.0D : 0.03125D;
+ }
+
+ public BiomeGenBase[] getBiomesForWorldType() {
+/* public BiomeGenBase[] getBiomesForWorldType() {
+ return biomesForWorldType;
+ }
+
@ -109,7 +75,7 @@
+ newBiomesForWorld.remove(biome);
+ biomesForWorldType = newBiomesForWorld.toArray(new BiomeGenBase[0]);
+ }
+
+*/
+ public boolean handleSlimeSpawnReduction(Random random, World world)
+ {
+ return this == field_77138_c ? random.nextInt(4) != 1 : false;

View file

@ -1,50 +1,54 @@
--- ../src-base/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java
+++ ../src-work/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java
@@ -9,6 +9,10 @@
@@ -9,6 +9,8 @@
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+import java.util.logging.Level;
+
+import cpw.mods.fml.common.FMLLog;
+
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityList;
import net.minecraft.nbt.CompressedStreamTools;
@@ -253,10 +257,19 @@
@@ -27,6 +29,8 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import cpw.mods.fml.common.FMLLog;
+
public class AnvilChunkLoader implements IChunkLoader, IThreadedFileIO
{
private static final Logger field_151505_a = LogManager.getLogger();
@@ -260,11 +264,20 @@
Entity entity = (Entity)iterator.next();
nbttagcompound1 = new NBTTagCompound();
- if (entity.func_70039_c(nbttagcompound1))
- {
+ try
{
- p_75820_1_.field_76644_m = true;
- nbttaglist1.func_74742_a(nbttagcompound1);
+ try
+ {
+ if (entity.func_70039_c(nbttagcompound1))
+ {
+ p_75820_1_.field_76644_m = true;
+ nbttaglist1.func_74742_a(nbttagcompound1);
+ }
+ }
}
+ catch (Exception e)
+ {
+ FMLLog.log(Level.SEVERE, e,
+ "An Entity type %s has thrown an exception trying to write state. It will not persist. Report this to the mod author",
+ entity.getClass().getName());
+ }
}
}
}
@@ -269,8 +282,17 @@
@@ -276,8 +289,16 @@
{
TileEntity tileentity = (TileEntity)iterator.next();
nbttagcompound1 = new NBTTagCompound();
- tileentity.func_70310_b(nbttagcompound1);
- nbttaglist2.func_74742_a(nbttagcompound1);
+ try
+ {
+ tileentity.func_70310_b(nbttagcompound1);
+ nbttaglist2.func_74742_a(nbttagcompound1);
+ try {
tileentity.func_145841_b(nbttagcompound1);
nbttaglist2.func_74742_a(nbttagcompound1);
+ }
+ catch (Exception e)
+ {

View file

@ -9,7 +9,7 @@
import net.minecraft.crash.CrashReport;
import net.minecraft.crash.CrashReportCategory;
import net.minecraft.entity.EnumCreatureType;
@@ -210,6 +212,7 @@
@@ -209,6 +211,7 @@
if (this.field_73246_d != null)
{
this.field_73246_d.func_73153_a(p_73153_1_, p_73153_2_, p_73153_3_);

View file

@ -1,17 +0,0 @@
--- ../src-base/minecraft/net/minecraft/world/gen/layer/GenLayerBiome.java
+++ ../src-work/minecraft/net/minecraft/world/gen/layer/GenLayerBiome.java
@@ -10,13 +10,9 @@
public GenLayerBiome(long p_i2122_1_, GenLayer p_i2122_3_, WorldType p_i2122_4_)
{
super(p_i2122_1_);
- this.field_75914_b = new BiomeGenBase[] {BiomeGenBase.field_76769_d, BiomeGenBase.field_76767_f, BiomeGenBase.field_76770_e, BiomeGenBase.field_76780_h, BiomeGenBase.field_76772_c, BiomeGenBase.field_76768_g, BiomeGenBase.field_76782_w};
+ this.field_75914_b = p_i2122_4_.getBiomesForWorldType();
this.field_75909_a = p_i2122_3_;
- if (p_i2122_4_ == WorldType.field_77136_e)
- {
- this.field_75914_b = new BiomeGenBase[] {BiomeGenBase.field_76769_d, BiomeGenBase.field_76767_f, BiomeGenBase.field_76770_e, BiomeGenBase.field_76780_h, BiomeGenBase.field_76772_c, BiomeGenBase.field_76768_g};
- }
}
public int[] func_75904_a(int p_75904_1_, int p_75904_2_, int p_75904_3_, int p_75904_4_)

View file

@ -6,26 +6,26 @@
import java.util.Random;
+
+import cpw.mods.fml.common.registry.VillagerRegistry;
import net.minecraft.util.MathHelper;
public class StructureVillagePieces
@@ -37,6 +39,8 @@
arraylist.add(new StructureVillagePieceWeight(ComponentVillageField2.class, 3, MathHelper.func_76136_a(p_75084_0_, 2 + p_75084_1_, 4 + p_75084_1_ * 2)));
arraylist.add(new StructureVillagePieceWeight(ComponentVillageHouse2.class, 15, MathHelper.func_76136_a(p_75084_0_, 0, 1 + p_75084_1_)));
arraylist.add(new StructureVillagePieceWeight(ComponentVillageHouse3.class, 8, MathHelper.func_76136_a(p_75084_0_, 0 + p_75084_1_, 3 + p_75084_1_ * 2)));
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.passive.EntityVillager;
@@ -50,6 +52,8 @@
arraylist.add(new StructureVillagePieces.PieceWeight(StructureVillagePieces.Field2.class, 3, MathHelper.func_76136_a(p_75084_0_, 2 + p_75084_1_, 4 + p_75084_1_ * 2)));
arraylist.add(new StructureVillagePieces.PieceWeight(StructureVillagePieces.House2.class, 15, MathHelper.func_76136_a(p_75084_0_, 0, 1 + p_75084_1_)));
arraylist.add(new StructureVillagePieces.PieceWeight(StructureVillagePieces.House3.class, 8, MathHelper.func_76136_a(p_75084_0_, 0 + p_75084_1_, 3 + p_75084_1_ * 2)));
+ VillagerRegistry.addExtraVillageComponents(arraylist, p_75084_0_, p_75084_1_);
+
Iterator iterator = arraylist.iterator();
while (iterator.hasNext())
@@ -109,6 +113,10 @@
else if (oclass == ComponentVillageHouse3.class)
@@ -123,6 +127,10 @@
{
object = ComponentVillageHouse3.func_74921_a(p_75083_0_, p_75083_2_, p_75083_3_, p_75083_4_, p_75083_5_, p_75083_6_, p_75083_7_, p_75083_8_);
+ }
object = StructureVillagePieces.House3.func_74921_a(p_75083_0_, p_75083_2_, p_75083_3_, p_75083_4_, p_75083_5_, p_75083_6_, p_75083_7_, p_75083_8_);
}
+ else
+ {
+ object = VillagerRegistry.getVillageComponent(p_75083_1_, p_75083_0_ , p_75083_2_, p_75083_3_, p_75083_4_, p_75083_5_, p_75083_6_, p_75083_7_, p_75083_8_);
}
+ }
return (ComponentVillage)object;
return (StructureVillagePieces.Village)object;
}

View file

@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/world/storage/MapData.java
+++ ../src-work/minecraft/net/minecraft/world/storage/MapData.java
@@ -9,7 +9,7 @@
@@ -10,7 +10,7 @@
import java.util.Map;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
@ -9,7 +9,7 @@
import net.minecraft.world.World;
import net.minecraft.world.WorldSavedData;
@@ -17,7 +17,7 @@
@@ -18,7 +18,7 @@
{
public int field_76201_a;
public int field_76199_b;
@ -18,7 +18,7 @@
public byte field_76197_d;
public byte[] field_76198_e = new byte[16384];
public List field_76196_g = new ArrayList();
@@ -31,7 +31,17 @@
@@ -33,7 +33,17 @@
public void func_76184_a(NBTTagCompound p_76184_1_)
{
@ -27,17 +27,17 @@
+
+ if (dimension instanceof NBTTagByte)
+ {
+ this.field_76200_c = ((NBTTagByte)dimension).field_74756_a;
+ this.field_76200_c = ((NBTTagByte)dimension).func_150290_f();
+ }
+ else
+ {
+ this.field_76200_c = ((NBTTagInt)dimension).field_74748_a;
+ this.field_76200_c = ((NBTTagInt)dimension).func_150287_d();
+ }
+
this.field_76201_a = p_76184_1_.func_74762_e("xCenter");
this.field_76199_b = p_76184_1_.func_74762_e("zCenter");
this.field_76197_d = p_76184_1_.func_74771_c("scale");
@@ -82,7 +92,7 @@
@@ -84,7 +94,7 @@
public void func_76187_b(NBTTagCompound p_76187_1_)
{

View file

@ -9,7 +9,7 @@
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.CompressedStreamTools;
import net.minecraft.nbt.NBTTagCompound;
@@ -103,16 +105,24 @@
@@ -107,16 +109,24 @@
NBTTagCompound nbttagcompound;
NBTTagCompound nbttagcompound1;
@ -35,7 +35,7 @@
exception.printStackTrace();
}
}
@@ -125,7 +135,9 @@
@@ -129,7 +139,9 @@
{
nbttagcompound = CompressedStreamTools.func_74796_a(new FileInputStream(file1));
nbttagcompound1 = nbttagcompound.func_74775_l("Data");
@ -46,21 +46,21 @@
}
catch (Exception exception1)
{
@@ -141,6 +153,8 @@
NBTTagCompound nbttagcompound1 = p_75755_1_.func_76082_a(p_75755_2_);
@@ -146,6 +158,8 @@
NBTTagCompound nbttagcompound2 = new NBTTagCompound();
nbttagcompound2.func_74782_a("Data", nbttagcompound1);
+
+ FMLCommonHandler.instance().handleWorldDataSave(this, p_75755_1_, nbttagcompound2);
+ FMLCommonHandler.instance().handleWorldDataSave(this, p_75755_1_, nbttagcompound2);
+
try
{
@@ -179,6 +193,8 @@
NBTTagCompound nbttagcompound = p_75761_1_.func_76066_a();
File file1 = new File(this.field_75770_b, "level.dat_new");
@@ -184,6 +198,8 @@
NBTTagCompound nbttagcompound1 = new NBTTagCompound();
nbttagcompound1.func_74782_a("Data", nbttagcompound);
+
+ FMLCommonHandler.instance().handleWorldDataSave(this, p_75761_1_, nbttagcompound1);
+ FMLCommonHandler.instance().handleWorldDataSave(this, p_75761_1_, nbttagcompound1);
+
try
{
File file1 = new File(this.field_75770_b, "level.dat_new");

View file

@ -1,28 +1,28 @@
--- ../src-base/minecraft/net/minecraft/world/storage/WorldInfo.java
+++ ../src-work/minecraft/net/minecraft/world/storage/WorldInfo.java
@@ -1,8 +1,11 @@
package net.minecraft.world.storage;
+
+import java.util.Map;
@@ -2,8 +2,11 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+
+import java.util.Map;
import java.util.concurrent.Callable;
import net.minecraft.crash.CrashReportCategory;
+import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.server.MinecraftServer;
import net.minecraft.world.EnumGameType;
import net.minecraft.world.GameRules;
@@ -36,6 +39,7 @@
private boolean field_76110_t;
private boolean field_76109_u;
private GameRules field_82577_x;
+ private Map<String, NBTBase> additionalProperties;
private static final String __OBFID = "CL_00000587";
protected WorldInfo()
{
@@ -535,4 +539,24 @@
{
return p_85131_0_.field_76110_t;
@@ -532,4 +536,24 @@
}
});
}
+
+ /**

View file

@ -22,34 +22,23 @@ import java.util.logging.Logger;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.multiplayer.GuiConnecting;
import net.minecraft.client.multiplayer.NetClientHandler;
import net.minecraft.client.multiplayer.WorldClient;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.resources.ReloadableResourceManager;
import net.minecraft.client.resources.ResourcePack;
import net.minecraft.client.resources.IReloadableResourceManager;
import net.minecraft.client.resources.IResourcePack;
import net.minecraft.crash.CrashReport;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.launchwrapper.Launch;
import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.NetHandler;
import net.minecraft.network.packet.Packet;
import net.minecraft.network.packet.Packet131MapData;
import net.minecraft.server.MinecraftServer;
import net.minecraft.world.World;
import com.google.common.base.Throwables;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.MapDifference;
import com.google.common.collect.MapDifference.ValueDifference;
import com.google.common.collect.Maps;
import cpw.mods.fml.client.registry.KeyBindingRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.DummyModContainer;
import cpw.mods.fml.common.DuplicateModsFoundException;
import cpw.mods.fml.common.FMLCommonHandler;
@ -63,14 +52,12 @@ import cpw.mods.fml.common.ModContainer;
import cpw.mods.fml.common.ModMetadata;
import cpw.mods.fml.common.ObfuscationReflectionHelper;
import cpw.mods.fml.common.WrongMinecraftVersionException;
import cpw.mods.fml.common.network.EntitySpawnAdjustmentPacket;
import cpw.mods.fml.common.network.EntitySpawnPacket;
import cpw.mods.fml.common.network.ModMissingPacket;
import cpw.mods.fml.common.network.packet.EntitySpawnAdjustmentPacket;
import cpw.mods.fml.common.network.packet.EntitySpawnPacket;
import cpw.mods.fml.common.network.packet.ModMissingPacket;
import cpw.mods.fml.common.registry.EntityRegistry.EntityRegistration;
import cpw.mods.fml.common.registry.GameData;
import cpw.mods.fml.common.registry.IEntityAdditionalSpawnData;
import cpw.mods.fml.common.registry.IThrowableEntity;
import cpw.mods.fml.common.registry.ItemData;
import cpw.mods.fml.common.toposort.ModSortingException;
import cpw.mods.fml.relauncher.Side;
@ -128,12 +115,12 @@ public class FMLClientHandler implements IFMLSidedHandler
private boolean serverShouldBeKilledQuietly;
private List<ResourcePack> resourcePackList;
private List<IResourcePack> resourcePackList;
@SuppressWarnings("unused")
private ReloadableResourceManager resourceManager;
private IReloadableResourceManager resourceManager;
private Map<String, ResourcePack> resourcePackMap;
private Map<String, IResourcePack> resourcePackMap;
/**
* Called to start the whole game off
@ -143,7 +130,7 @@ public class FMLClientHandler implements IFMLSidedHandler
* @param resourceManager The resource manager
*/
@SuppressWarnings("unchecked")
public void beginMinecraftLoading(Minecraft minecraft, @SuppressWarnings("rawtypes") List resourcePackList, ReloadableResourceManager resourceManager)
public void beginMinecraftLoading(Minecraft minecraft, @SuppressWarnings("rawtypes") List resourcePackList, IReloadableResourceManager resourceManager)
{
client = minecraft;
this.resourcePackList = resourcePackList;
@ -229,7 +216,7 @@ public class FMLClientHandler implements IFMLSidedHandler
* Also initializes key bindings
*
*/
@SuppressWarnings({ "deprecation", "unchecked" })
@SuppressWarnings({ "deprecation" })
public void finishMinecraftLoading()
{
if (modsMissing != null || wrongMC != null || customError!=null || dupesFound!=null || modSorting!=null)
@ -252,11 +239,8 @@ public class FMLClientHandler implements IFMLSidedHandler
return;
}
client.field_71416_A.LOAD_SOUND_SYSTEM = true;
// Reload resources
client.func_110436_a();
RenderingRegistry.instance().loadEntityRenderers((Map<Class<? extends Entity>, Render>)RenderManager.field_78727_a.field_78729_o);
loading = false;
KeyBindingRegistry.instance().uploadKeyBindingsToGame(client.field_71474_y);
}
@ -292,29 +276,26 @@ public class FMLClientHandler implements IFMLSidedHandler
{
if (wrongMC != null)
{
client.func_71373_a(new GuiWrongMinecraft(wrongMC));
showGuiScreen(new GuiWrongMinecraft(wrongMC));
}
else if (modsMissing != null)
{
client.func_71373_a(new GuiModsMissing(modsMissing));
showGuiScreen(new GuiModsMissing(modsMissing));
}
else if (dupesFound != null)
{
client.func_71373_a(new GuiDupesFound(dupesFound));
showGuiScreen(new GuiDupesFound(dupesFound));
}
else if (modSorting != null)
{
client.func_71373_a(new GuiSortingProblem(modSorting));
showGuiScreen(new GuiSortingProblem(modSorting));
}
else if (customError != null)
{
client.func_71373_a(new GuiCustomModLoadingErrorScreen(customError));
showGuiScreen(new GuiCustomModLoadingErrorScreen(customError));
}
else
{
// Force renderengine to reload and re-initialize all textures
// client.field_71446_o.func_78352_b();
// TextureFXManager.instance().loadTextures(client.field_71418_C.func_77292_e());
}
}
/**
@ -349,7 +330,7 @@ public class FMLClientHandler implements IFMLSidedHandler
public void displayGuiScreen(EntityPlayer player, GuiScreen gui)
{
if (client.field_71439_g==player && gui != null) {
client.func_71373_a(gui);
client.func_147108_a(gui);
}
}
@ -389,7 +370,7 @@ public class FMLClientHandler implements IFMLSidedHandler
public void showGuiScreen(Object clientGuiElement)
{
GuiScreen gui = (GuiScreen) clientGuiElement;
client.func_71373_a(gui);
client.func_147108_a(gui);
}
@SuppressWarnings("rawtypes")
@ -410,8 +391,8 @@ public class FMLClientHandler implements IFMLSidedHandler
else
{
entity = (Entity)(cls.getConstructor(World.class).newInstance(wc));
int offset = packet.entityId - entity.field_70157_k;
entity.field_70157_k = packet.entityId;
int offset = packet.entityId - entity.func_145782_y();
entity.func_145769_d(packet.entityId);
entity.func_70012_b(packet.scaledX, packet.scaledY, packet.scaledZ, packet.scaledYaw, packet.scaledPitch);
if (entity instanceof EntityLiving)
{
@ -423,7 +404,7 @@ public class FMLClientHandler implements IFMLSidedHandler
{
for (int j = 0; j < parts.length; j++)
{
parts[j].field_70157_k += offset;
parts[j].func_145769_d(parts[j].func_145782_y() + offset);
}
}
}
@ -434,7 +415,7 @@ public class FMLClientHandler implements IFMLSidedHandler
if (entity instanceof IThrowableEntity)
{
Entity thrower = client.field_71439_g.field_70157_k == packet.throwerId ? client.field_71439_g : wc.func_73045_a(packet.throwerId);
Entity thrower = client.field_71439_g.func_145782_y() == packet.throwerId ? client.field_71439_g : wc.func_73045_a(packet.throwerId);
((IThrowableEntity)entity).setThrower(thrower);
}
@ -498,19 +479,10 @@ public class FMLClientHandler implements IFMLSidedHandler
return client.func_71401_C();
}
@Override
public void sendPacket(Packet packet)
{
if(client.field_71439_g != null)
{
client.field_71439_g.field_71174_a.func_72552_c(packet);
}
}
@Override
public void displayMissingMods(ModMissingPacket modMissingPacket)
{
client.func_71373_a(new GuiModsMissingForServer(modMissingPacket));
showGuiScreen(new GuiModsMissingForServer(modMissingPacket));
}
/**
@ -521,84 +493,12 @@ public class FMLClientHandler implements IFMLSidedHandler
return loading;
}
@Override
public void handleTinyPacket(NetHandler handler, Packet131MapData mapData)
{
((NetClientHandler)handler).fmlPacket131Callback(mapData);
}
@Override
public void setClientCompatibilityLevel(byte compatibilityLevel)
{
NetClientHandler.setConnectionCompatibilityLevel(compatibilityLevel);
}
@Override
public byte getClientCompatibilityLevel()
{
return NetClientHandler.getConnectionCompatibilityLevel();
}
public void warnIDMismatch(MapDifference<Integer, ItemData> idDifferences, boolean mayContinue)
{
GuiIdMismatchScreen mismatch = new GuiIdMismatchScreen(idDifferences, mayContinue);
client.func_71373_a(mismatch);
}
public void callbackIdDifferenceResponse(boolean response)
{
if (response)
{
serverShouldBeKilledQuietly = false;
GameData.releaseGate(true);
client.continueWorldLoading();
}
else
{
serverShouldBeKilledQuietly = true;
GameData.releaseGate(false);
// Reset and clear the client state
client.func_71403_a((WorldClient)null);
client.func_71373_a(null);
}
}
@Override
public boolean shouldServerShouldBeKilledQuietly()
{
return serverShouldBeKilledQuietly;
}
@Override
public void disconnectIDMismatch(MapDifference<Integer, ItemData> s, NetHandler toKill, INetworkManager mgr)
{
boolean criticalMismatch = !s.entriesOnlyOnLeft().isEmpty();
for (Entry<Integer, ValueDifference<ItemData>> mismatch : s.entriesDiffering().entrySet())
{
ValueDifference<ItemData> vd = mismatch.getValue();
if (!vd.leftValue().mayDifferByOrdinal(vd.rightValue()))
{
criticalMismatch = true;
}
}
if (!criticalMismatch)
{
// We'll carry on with this connection, and just log a message instead
return;
}
// Nuke the connection
((NetClientHandler)toKill).func_72553_e();
// Stop GuiConnecting
GuiConnecting.forceTermination((GuiConnecting)client.field_71462_r);
// pulse the network manager queue to clear cruft
mgr.func_74428_b();
// Nuke the world client
client.func_71403_a((WorldClient)null);
// Show error screen
warnIDMismatch(s, false);
}
/**
* Is this GUI type open?
*
@ -619,7 +519,7 @@ public class FMLClientHandler implements IFMLSidedHandler
{
try
{
ResourcePack pack = (ResourcePack) resourcePackType.getConstructor(ModContainer.class).newInstance(container);
IResourcePack pack = (IResourcePack) resourcePackType.getConstructor(ModContainer.class).newInstance(container);
resourcePackList.add(pack);
resourcePackMap.put(container.getModId(), pack);
}
@ -642,7 +542,7 @@ public class FMLClientHandler implements IFMLSidedHandler
client.func_110436_a();
}
public ResourcePack getResourcePackFor(String modId)
public IResourcePack getResourcePackFor(String modId)
{
return resourcePackMap.get(modId);
}

View file

@ -26,12 +26,12 @@ public class GuiCustomModLoadingErrorScreen extends GuiErrorScreen
public void func_73866_w_()
{
super.func_73866_w_();
this.customException.initGui(this, field_73886_k);
this.customException.initGui(this, field_146289_q);
}
@Override
public void func_73863_a(int p_73863_1_, int p_73863_2_, float p_73863_3_)
{
this.func_73873_v_();
this.customException.drawScreen(this, field_73886_k, p_73863_1_, p_73863_2_, p_73863_3_);
this.func_146276_q_();
this.customException.drawScreen(this, field_146289_q, p_73863_1_, p_73863_2_, p_73863_3_);
}
}

View file

@ -38,18 +38,18 @@ public class GuiDupesFound extends GuiErrorScreen
@Override
public void func_73863_a(int p_73863_1_, int p_73863_2_, float p_73863_3_)
{
this.func_73873_v_();
this.func_146276_q_();
int offset = Math.max(85 - dupes.dupes.size() * 10, 10);
this.func_73732_a(this.field_73886_k, "Forge Mod Loader has found a problem with your minecraft installation", this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "Forge Mod Loader has found a problem with your minecraft installation", this.field_146294_l / 2, offset, 0xFFFFFF);
offset+=10;
this.func_73732_a(this.field_73886_k, "You have mod sources that are duplicate within your system", this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "You have mod sources that are duplicate within your system", this.field_146294_l / 2, offset, 0xFFFFFF);
offset+=10;
this.func_73732_a(this.field_73886_k, "Mod Id : File name", this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "Mod Id : File name", this.field_146294_l / 2, offset, 0xFFFFFF);
offset+=5;
for (Entry<ModContainer, File> mc : dupes.dupes.entries())
{
offset+=10;
this.func_73732_a(this.field_73886_k, String.format("%s : %s", mc.getKey().getModId(), mc.getValue().getName()), this.field_73880_f / 2, offset, 0xEEEEEE);
this.func_73732_a(this.field_146289_q, String.format("%s : %s", mc.getKey().getModId(), mc.getValue().getName()), this.field_146294_l / 2, offset, 0xEEEEEE);
}
}
}

View file

@ -1,106 +0,0 @@
/*
* Forge Mod Loader
* Copyright (c) 2012-2013 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v2.1
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*
* Contributors:
* cpw - implementation
*/
package cpw.mods.fml.client;
import java.util.List;
import java.util.Map.Entry;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiYesNo;
import net.minecraft.client.resources.I18n;
import com.google.common.collect.Lists;
import com.google.common.collect.MapDifference;
import com.google.common.collect.MapDifference.ValueDifference;
import cpw.mods.fml.common.registry.ItemData;
public class GuiIdMismatchScreen extends GuiYesNo {
private List<String> missingIds = Lists.newArrayList();
private List<String> mismatchedIds = Lists.newArrayList();
private boolean allowContinue;
public GuiIdMismatchScreen(MapDifference<Integer, ItemData> idDifferences, boolean allowContinue)
{
super(null,"ID mismatch", "Should I continue?", 1);
field_73942_a = this;
for (Entry<Integer, ItemData> entry : idDifferences.entriesOnlyOnLeft().entrySet())
{
missingIds.add(String.format("ID %d from Mod %s is missing", entry.getValue().getItemId(), entry.getValue().getModId(), entry.getValue().getItemType()));
}
for (Entry<Integer, ValueDifference<ItemData>> entry : idDifferences.entriesDiffering().entrySet())
{
ItemData world = entry.getValue().leftValue();
// ItemData game = entry.getValue().rightValue();
mismatchedIds.add(String.format("ID %d is mismatched between world and game", world.getItemId()));
}
this.allowContinue = allowContinue;
}
@Override
public void func_73878_a(boolean choice, int p_73878_2_)
{
FMLClientHandler.instance().callbackIdDifferenceResponse(choice);
}
@Override
public void func_73863_a(int p_73863_1_, int p_73863_2_, float p_73863_3_)
{
this.func_73873_v_();
if (!allowContinue && field_73887_h.size() == 2)
{
field_73887_h.remove(0);
}
int offset = Math.max(85 - (missingIds.size() + mismatchedIds.size()) * 10, 30);
this.func_73732_a(this.field_73886_k, "Forge Mod Loader has found ID mismatches", this.field_73880_f / 2, 10, 0xFFFFFF);
this.func_73732_a(this.field_73886_k, "Complete details are in the log file", this.field_73880_f / 2, 20, 0xFFFFFF);
int maxLines = 20;
for (String s: missingIds) {
this.func_73732_a(this.field_73886_k, s, this.field_73880_f / 2, offset, 0xEEEEEE);
offset += 10;
maxLines --;
if (maxLines < 0) break;
if (offset >= this.field_73881_g - 30) break;
}
if (maxLines > 0 && offset < this.field_73881_g - 30)
{
for (String s: mismatchedIds) {
this.func_73732_a(this.field_73886_k, s, this.field_73880_f / 2, offset, 0xEEEEEE);
offset += 10;
maxLines --;
if (maxLines < 0) break;
if (offset >= this.field_73881_g - 30) break;
}
}
if (allowContinue)
{
this.func_73732_a(this.field_73886_k, "Do you wish to continue loading?", this.field_73880_f / 2, this.field_73881_g - 30, 0xFFFFFF);
}
else
{
this.func_73732_a(this.field_73886_k, "You cannot connect to this server", this.field_73880_f / 2, this.field_73881_g - 30, 0xFFFFFF);
}
// super.super. Grrr
for (int var4 = 0; var4 < this.field_73887_h.size(); ++var4)
{
GuiButton var5 = (GuiButton)this.field_73887_h.get(var4);
var5.field_73743_d = this.field_73881_g - 20;
if (!allowContinue)
{
var5.field_73746_c = this.field_73880_f / 2 - 75;
var5.field_73744_e = I18n.func_135053_a("gui.done");
}
var5.func_73737_a(this.field_73882_e, p_73863_1_, p_73863_2_);
}
}
}

View file

@ -26,12 +26,11 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiSmallButton;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.texture.DynamicTexture;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.client.resources.I18n;
import net.minecraft.client.resources.ResourcePack;
import net.minecraft.client.resources.IResourcePack;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
@ -90,28 +89,28 @@ public class GuiModList extends GuiScreen
listWidth=Math.max(listWidth,getFontRenderer().func_78256_a(mod.getVersion()) + 10);
}
listWidth=Math.min(listWidth, 150);
this.field_73887_h.add(new GuiSmallButton(6, this.field_73880_f / 2 - 75, this.field_73881_g - 38, I18n.func_135053_a("gui.done")));
this.field_146292_n.add(new GuiButton(6, this.field_146294_l / 2 - 75, this.field_146295_m - 38, I18n.func_135052_a("gui.done")));
this.modList=new GuiSlotModList(this, mods, listWidth);
this.modList.registerScrollButtons(this.field_73887_h, 7, 8);
this.modList.registerScrollButtons(this.field_146292_n, 7, 8);
}
@Override
protected void func_73875_a(GuiButton button) {
if (button.field_73742_g)
protected void func_146284_a(GuiButton button) {
if (button.field_146124_l)
{
switch (button.field_73741_f)
switch (button.field_146127_k)
{
case 6:
this.field_73882_e.func_71373_a(this.mainMenu);
this.field_146297_k.func_147108_a(this.mainMenu);
return;
}
}
super.func_73875_a(button);
super.func_146284_a(button);
}
public int drawLine(String line, int offset, int shifty)
{
int r = this.field_73886_k.func_78276_b(line, offset, shifty, 0xd7edea);
this.field_146289_q.func_78276_b(line, offset, shifty, 0xd7edea);
return shifty + 10;
}
@ -119,7 +118,7 @@ public class GuiModList extends GuiScreen
public void func_73863_a(int p_571_1_, int p_571_2_, float p_571_3_)
{
this.modList.drawScreen(p_571_1_, p_571_2_, p_571_3_);
this.func_73732_a(this.field_73886_k, "Mod List", this.field_73880_f / 2, 16, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "Mod List", this.field_146294_l / 2, 16, 0xFFFFFF);
int offset = this.listWidth + 20;
if (selectedMod != null) {
GL11.glEnable(GL11.GL_BLEND);
@ -129,8 +128,8 @@ public class GuiModList extends GuiScreen
if (!logoFile.isEmpty())
{
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
TextureManager tm = field_73882_e.func_110434_K();
ResourcePack pack = FMLClientHandler.instance().getResourcePackFor(selectedMod.getModId());
TextureManager tm = field_146297_k.func_110434_K();
IResourcePack pack = FMLClientHandler.instance().getResourcePackFor(selectedMod.getModId());
try
{
BufferedImage logo = null;
@ -149,7 +148,7 @@ public class GuiModList extends GuiScreen
if (logo != null)
{
ResourceLocation rl = tm.func_110578_a("modlogo", new DynamicTexture(logo));
this.field_73882_e.field_71446_o.func_110577_a(rl);
this.field_146297_k.field_71446_o.func_110577_a(rl);
Dimension dim = new Dimension(logo.getWidth(), logo.getHeight());
double scaleX = dim.width / 200.0;
double scaleY = dim.height / 65.0;
@ -177,7 +176,7 @@ public class GuiModList extends GuiScreen
;
}
}
this.field_73886_k.func_78261_a(selectedMod.getMetadata().name, offset, shifty, 0xFFFFFF);
this.field_146289_q.func_78261_a(selectedMod.getMetadata().name, offset, shifty, 0xFFFFFF);
shifty += 12;
shifty = drawLine(String.format("Version: %s (%s)", selectedMod.getDisplayVersion(), selectedMod.getVersion()), offset, shifty);
@ -188,18 +187,18 @@ public class GuiModList extends GuiScreen
shifty = drawLine(String.format("Authors: %s", selectedMod.getMetadata().getAuthorList()), offset, shifty);
shifty = drawLine(String.format("URL: %s", selectedMod.getMetadata().url), offset, shifty);
shifty = drawLine(selectedMod.getMetadata().childMods.isEmpty() ? "No child mods for this mod" : String.format("Child mods: %s", selectedMod.getMetadata().getChildModList()), offset, shifty);
int rightSide = this.field_73880_f - offset - 20;
int rightSide = this.field_146294_l - offset - 20;
if (rightSide > 20)
{
this.getFontRenderer().func_78279_b(selectedMod.getMetadata().description, offset, shifty + 10, rightSide, 0xDDDDDD);
}
} else {
offset = ( this.listWidth + this.field_73880_f ) / 2;
this.func_73732_a(this.field_73886_k, selectedMod.getName(), offset, 35, 0xFFFFFF);
this.func_73732_a(this.field_73886_k, String.format("Version: %s",selectedMod.getVersion()), offset, 45, 0xFFFFFF);
this.func_73732_a(this.field_73886_k, String.format("Mod State: %s",Loader.instance().getModState(selectedMod)), offset, 55, 0xFFFFFF);
this.func_73732_a(this.field_73886_k, "No mod information found", offset, 65, 0xDDDDDD);
this.func_73732_a(this.field_73886_k, "Ask your mod author to provide a mod mcmod.info file", offset, 75, 0xDDDDDD);
offset = ( this.listWidth + this.field_146294_l ) / 2;
this.func_73732_a(this.field_146289_q, selectedMod.getName(), offset, 35, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, String.format("Version: %s",selectedMod.getVersion()), offset, 45, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, String.format("Mod State: %s",Loader.instance().getModState(selectedMod)), offset, 55, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "No mod information found", offset, 65, 0xDDDDDD);
this.func_73732_a(this.field_146289_q, "Ask your mod author to provide a mod mcmod.info file", offset, 75, 0xDDDDDD);
}
GL11.glDisable(GL11.GL_BLEND);
}
@ -207,11 +206,11 @@ public class GuiModList extends GuiScreen
}
Minecraft getMinecraftInstance() {
return field_73882_e;
return field_146297_k;
}
FontRenderer getFontRenderer() {
return field_73886_k;
return field_146289_q;
}
/**

View file

@ -36,11 +36,11 @@ public class GuiModsMissing extends GuiErrorScreen
@Override
public void func_73863_a(int p_73863_1_, int p_73863_2_, float p_73863_3_)
{
this.func_73873_v_();
this.func_146276_q_();
int offset = Math.max(85 - modsMissing.missingMods.size() * 10, 10);
this.func_73732_a(this.field_73886_k, "Forge Mod Loader has found a problem with your minecraft installation", this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "Forge Mod Loader has found a problem with your minecraft installation", this.field_146294_l / 2, offset, 0xFFFFFF);
offset+=10;
this.func_73732_a(this.field_73886_k, "The mods and versions listed below could not be found", this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "The mods and versions listed below could not be found", this.field_146294_l / 2, offset, 0xFFFFFF);
offset+=5;
for (ArtifactVersion v : modsMissing.missingMods)
{
@ -50,13 +50,13 @@ public class GuiModsMissing extends GuiErrorScreen
DefaultArtifactVersion dav = (DefaultArtifactVersion)v;
if (dav.getRange() != null && dav.getRange().isUnboundedAbove())
{
this.func_73732_a(this.field_73886_k, String.format("%s : minimum version required is %s", v.getLabel(), dav.getRange().getLowerBoundString()), this.field_73880_f / 2, offset, 0xEEEEEE);
this.func_73732_a(this.field_146289_q, String.format("%s : minimum version required is %s", v.getLabel(), dav.getRange().getLowerBoundString()), this.field_146294_l / 2, offset, 0xEEEEEE);
continue;
}
}
this.func_73732_a(this.field_73886_k, String.format("%s : %s", v.getLabel(), v.getRangeString()), this.field_73880_f / 2, offset, 0xEEEEEE);
this.func_73732_a(this.field_146289_q, String.format("%s : %s", v.getLabel(), v.getRangeString()), this.field_146294_l / 2, offset, 0xEEEEEE);
}
offset+=20;
this.func_73732_a(this.field_73886_k, "The file 'ForgeModLoader-client-0.log' contains more information", this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "The file 'ForgeModLoader-client-0.log' contains more information", this.field_146294_l / 2, offset, 0xFFFFFF);
}
}

View file

@ -14,9 +14,8 @@ package cpw.mods.fml.client;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiSmallButton;
import net.minecraft.client.resources.I18n;
import cpw.mods.fml.common.network.ModMissingPacket;
import cpw.mods.fml.common.network.packet.ModMissingPacket;
import cpw.mods.fml.common.versioning.ArtifactVersion;
public class GuiModsMissingForServer extends GuiScreen
@ -32,32 +31,32 @@ public class GuiModsMissingForServer extends GuiScreen
@Override
public void func_73866_w_()
{
this.field_73887_h.add(new GuiSmallButton(1, this.field_73880_f / 2 - 75, this.field_73881_g - 38, I18n.func_135053_a("gui.done")));
this.field_146292_n.add(new GuiButton(1, this.field_146294_l / 2 - 75, this.field_146295_m - 38, I18n.func_135052_a("gui.done")));
}
@Override
protected void func_73875_a(GuiButton p_73875_1_)
protected void func_146284_a(GuiButton p_73875_1_)
{
if (p_73875_1_.field_73742_g && p_73875_1_.field_73741_f == 1)
if (p_73875_1_.field_146124_l && p_73875_1_.field_146127_k == 1)
{
FMLClientHandler.instance().getClient().func_71373_a(null);
FMLClientHandler.instance().showGuiScreen(null);
}
}
@Override
public void func_73863_a(int p_73863_1_, int p_73863_2_, float p_73863_3_)
{
this.func_73873_v_();
this.func_146276_q_();
int offset = Math.max(85 - modsMissing.getModList().size() * 10, 10);
this.func_73732_a(this.field_73886_k, "Forge Mod Loader could not connect to this server", this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "Forge Mod Loader could not connect to this server", this.field_146294_l / 2, offset, 0xFFFFFF);
offset += 10;
this.func_73732_a(this.field_73886_k, "The mods and versions listed below could not be found", this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "The mods and versions listed below could not be found", this.field_146294_l / 2, offset, 0xFFFFFF);
offset += 10;
this.func_73732_a(this.field_73886_k, "They are required to play on this server", this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "They are required to play on this server", this.field_146294_l / 2, offset, 0xFFFFFF);
offset += 5;
for (ArtifactVersion v : modsMissing.getModList())
{
offset += 10;
this.func_73732_a(this.field_73886_k, String.format("%s : %s", v.getLabel(), v.getRangeString()), this.field_73880_f / 2, offset, 0xEEEEEE);
this.func_73732_a(this.field_146289_q, String.format("%s : %s", v.getLabel(), v.getRangeString()), this.field_146294_l / 2, offset, 0xEEEEEE);
}
super.func_73863_a(p_73863_1_, p_73863_2_, p_73863_3_);
}

View file

@ -132,15 +132,15 @@ public abstract class GuiScrollingList
public void actionPerformed(GuiButton button)
{
if (button.field_73742_g)
if (button.field_146124_l)
{
if (button.field_73741_f == this.scrollUpActionId)
if (button.field_146127_k == this.scrollUpActionId)
{
this.scrollDistance -= (float)(this.slotHeight * 2 / 3);
this.initialMouseClickY = -2.0F;
this.applyScrollLimits();
}
else if (button.field_73741_f == this.scrollDownActionId)
else if (button.field_146127_k == this.scrollDownActionId)
{
this.scrollDistance += (float)(this.slotHeight * 2 / 3);
this.initialMouseClickY = -2.0F;

View file

@ -31,7 +31,7 @@ public class GuiSlotModList extends GuiScrollingList
public GuiSlotModList(GuiModList parent, ArrayList<ModContainer> mods, int listWidth)
{
super(parent.getMinecraftInstance(), listWidth, parent.field_73881_g, 32, parent.field_73881_g - 65 + 4, 10, 35);
super(parent.getMinecraftInstance(), listWidth, parent.field_146295_m, 32, parent.field_146295_m - 65 + 4, 10, 35);
this.parent=parent;
this.mods=mods;
}
@ -57,7 +57,7 @@ public class GuiSlotModList extends GuiScrollingList
@Override
protected void drawBackground()
{
this.parent.func_73873_v_();
this.parent.func_146276_q_();
}
@Override

View file

@ -22,23 +22,23 @@ public class GuiSortingProblem extends GuiScreen {
@Override
public void func_73863_a(int p_73863_1_, int p_73863_2_, float p_73863_3_)
{
this.func_73873_v_();
this.func_146276_q_();
int offset = Math.max(85 - (failedList.getVisitedNodes().size() + 3) * 10, 10);
this.func_73732_a(this.field_73886_k, "Forge Mod Loader has found a problem with your minecraft installation", this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "Forge Mod Loader has found a problem with your minecraft installation", this.field_146294_l / 2, offset, 0xFFFFFF);
offset+=10;
this.func_73732_a(this.field_73886_k, "A mod sorting cycle was detected and loading cannot continue", this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "A mod sorting cycle was detected and loading cannot continue", this.field_146294_l / 2, offset, 0xFFFFFF);
offset+=10;
this.func_73732_a(this.field_73886_k, String.format("The first mod in the cycle is %s", failedList.getFirstBadNode()), this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, String.format("The first mod in the cycle is %s", failedList.getFirstBadNode()), this.field_146294_l / 2, offset, 0xFFFFFF);
offset+=10;
this.func_73732_a(this.field_73886_k, "The remainder of the cycle involves these mods", this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "The remainder of the cycle involves these mods", this.field_146294_l / 2, offset, 0xFFFFFF);
offset+=5;
for (ModContainer mc : failedList.getVisitedNodes())
{
offset+=10;
this.func_73732_a(this.field_73886_k, String.format("%s : before: %s, after: %s", mc.toString(), mc.getDependants(), mc.getDependencies()), this.field_73880_f / 2, offset, 0xEEEEEE);
this.func_73732_a(this.field_146289_q, String.format("%s : before: %s, after: %s", mc.toString(), mc.getDependants(), mc.getDependencies()), this.field_146294_l / 2, offset, 0xEEEEEE);
}
offset+=20;
this.func_73732_a(this.field_73886_k, "The file 'ForgeModLoader-client-0.log' contains more information", this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "The file 'ForgeModLoader-client-0.log' contains more information", this.field_146294_l / 2, offset, 0xFFFFFF);
}
}

View file

@ -32,15 +32,15 @@ public class GuiWrongMinecraft extends GuiErrorScreen
@Override
public void func_73863_a(int p_73863_1_, int p_73863_2_, float p_73863_3_)
{
this.func_73873_v_();
this.func_146276_q_();
int offset = 75;
this.func_73732_a(this.field_73886_k, "Forge Mod Loader has found a problem with your minecraft installation", this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "Forge Mod Loader has found a problem with your minecraft installation", this.field_146294_l / 2, offset, 0xFFFFFF);
offset+=10;
this.func_73732_a(this.field_73886_k, String.format("The mod listed below does not want to run in Minecraft version %s", Loader.instance().getMinecraftModContainer().getVersion()), this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, String.format("The mod listed below does not want to run in Minecraft version %s", Loader.instance().getMinecraftModContainer().getVersion()), this.field_146294_l / 2, offset, 0xFFFFFF);
offset+=5;
offset+=10;
this.func_73732_a(this.field_73886_k, String.format("%s (%s) wants Minecraft %s", wrongMC.mod.getName(), wrongMC.mod.getModId(), wrongMC.mod.acceptableMinecraftVersionRange()), this.field_73880_f / 2, offset, 0xEEEEEE);
this.func_73732_a(this.field_146289_q, String.format("%s (%s) wants Minecraft %s", wrongMC.mod.getName(), wrongMC.mod.getModId(), wrongMC.mod.acceptableMinecraftVersionRange()), this.field_146294_l / 2, offset, 0xEEEEEE);
offset+=20;
this.func_73732_a(this.field_73886_k, "The file 'ForgeModLoader-client-0.log' contains more information", this.field_73880_f / 2, offset, 0xFFFFFF);
this.func_73732_a(this.field_146289_q, "The file 'ForgeModLoader-client-0.log' contains more information", this.field_146294_l / 2, offset, 0xFFFFFF);
}
}

View file

@ -13,7 +13,7 @@
package cpw.mods.fml.client.registry;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
@ -36,7 +36,7 @@ public class ClientRegistry
@SuppressWarnings("unchecked")
public static void bindTileEntitySpecialRenderer(Class <? extends TileEntity> tileEntityClass, TileEntitySpecialRenderer specialRenderer)
{
TileEntityRenderer.field_76963_a.field_76966_m.put(tileEntityClass, specialRenderer);
specialRenderer.func_76893_a(TileEntityRenderer.field_76963_a);
TileEntityRendererDispatcher.field_147556_a.field_147559_m.put(tileEntityClass, specialRenderer);
specialRenderer.func_147497_a(TileEntityRendererDispatcher.field_147556_a);
}
}

Some files were not shown because too many files have changed in this diff Show more