From b9ac73b0f1ac10b6d4cca8ac3771f2e0034597e4 Mon Sep 17 00:00:00 2001 From: LexManos Date: Wed, 18 May 2016 03:29:10 -0700 Subject: [PATCH] 1.9.4 Update. Major things to note: Class renames: https://gist.github.com/LexManos/44dd211f90f498ad4015279b103dff86 Tile Entities are now packed in the ChunkData packet. Forge intends to work around this to better support large moded worlds, but for the time being modders should implement the new function carefully and only send what data they need to! Minecraft's codebase now has annotations, these are directly from Mojang and should be adheared to! Added support for package-info.java's containing @Nullable information for all MC code base. --- .gitignore | 1 + build.gradle | 11 +- jsons/1.9.4-dev.json | 92 +++ jsons/1.9.4-rel.json | 138 +++++ jsons/1.9.4.json | 551 ++++++++++++++++++ .../net/minecraft/block/Block.java.patch | 48 +- .../minecraft/block/BlockBanner.java.patch | 4 +- .../net/minecraft/block/BlockBush.java.patch | 8 +- .../minecraft/block/BlockButton.java.patch | 2 +- .../net/minecraft/block/BlockChest.java.patch | 2 +- .../net/minecraft/block/BlockCrops.java.patch | 6 +- .../minecraft/block/BlockDeadBush.java.patch | 8 +- .../net/minecraft/block/BlockDoor.java.patch | 4 +- .../block/BlockDoublePlant.java.patch | 14 +- .../minecraft/block/BlockDragonEgg.java.patch | 4 +- .../minecraft/block/BlockDropper.java.patch | 2 +- .../minecraft/block/BlockFarmland.java.patch | 2 +- .../net/minecraft/block/BlockFire.java.patch | 70 +-- .../minecraft/block/BlockFlowerPot.java.patch | 4 +- .../net/minecraft/block/BlockGrass.java.patch | 6 +- .../block/BlockHugeMushroom.java.patch | 2 +- .../net/minecraft/block/BlockIce.java.patch | 4 +- .../minecraft/block/BlockLeaves.java.patch | 10 +- .../net/minecraft/block/BlockLever.java.patch | 2 +- .../block/BlockMobSpawner.java.patch | 2 +- .../minecraft/block/BlockMycelium.java.patch | 4 +- .../block/BlockNetherWart.java.patch | 6 +- .../minecraft/block/BlockNewLeaf.java.patch | 6 +- .../net/minecraft/block/BlockNote.java.patch | 18 +- .../minecraft/block/BlockOldLeaf.java.patch | 2 +- .../net/minecraft/block/BlockOre.java.patch | 2 +- .../net/minecraft/block/BlockPane.java.patch | 6 +- .../block/BlockPistonBase.java.patch | 12 +- .../block/BlockPistonMoving.java.patch | 6 +- .../minecraft/block/BlockPumpkin.java.patch | 2 +- .../minecraft/block/BlockRailBase.java.patch | 42 +- .../block/BlockRedstoneComparator.java.patch | 4 +- .../block/BlockRedstoneOre.java.patch | 2 +- .../block/BlockRedstoneWire.java.patch | 28 +- .../net/minecraft/block/BlockReed.java.patch | 6 +- .../net/minecraft/block/BlockSkull.java.patch | 17 +- .../net/minecraft/block/BlockSnow.java.patch | 16 +- .../minecraft/block/BlockStairs.java.patch | 2 +- .../net/minecraft/block/BlockStem.java.patch | 6 +- .../minecraft/block/BlockTallGrass.java.patch | 14 +- .../net/minecraft/block/BlockTorch.java.patch | 8 +- .../minecraft/block/BlockTrapDoor.java.patch | 2 +- .../block/BlockTripWireHook.java.patch | 14 +- .../net/minecraft/block/BlockVine.java.patch | 8 +- .../block/state/BlockStateBase.java.patch | 2 +- .../state/BlockStateContainer.java.patch | 10 +- .../block/state/IBlockProperties.java.patch | 4 +- .../net/minecraft/client/Minecraft.java.patch | 72 +-- .../entity/AbstractClientPlayer.java.patch | 2 +- .../client/entity/EntityPlayerSP.java.patch | 8 +- .../minecraft/client/gui/GuiChat.java.patch | 10 - .../minecraft/client/gui/GuiIngame.java.patch | 6 +- .../client/gui/GuiOverlayDebug.java.patch | 2 +- .../gui/ServerListEntryNormal.java.patch | 2 +- .../achievement/GuiAchievements.java.patch | 4 +- .../inventory/GuiContainerCreative.java.patch | 32 +- .../ChunkProviderClient.java.patch | 6 +- .../multiplayer/GuiConnecting.java.patch | 4 +- .../multiplayer/PlayerControllerMP.java.patch | 22 +- .../client/multiplayer/WorldClient.java.patch | 4 +- .../network/NetHandlerPlayClient.java.patch | 14 +- ....java.patch => ParticleManager.java.patch} | 14 +- .../renderer/BlockModelRenderer.java.patch | 4 +- .../client/renderer/EntityRenderer.java.patch | 32 +- .../renderer/ItemModelMesher.java.patch | 2 +- .../client/renderer/ItemRenderer.java.patch | 12 +- .../client/renderer/RenderGlobal.java.patch | 24 +- .../client/renderer/RenderItem.java.patch | 16 +- .../block/model/FaceBakery.java.patch | 20 +- .../block/model/IBakedModel.java.patch | 2 +- .../block/model/ItemOverrideList.java.patch | 8 +- .../block/model/ModelBakery.java.patch | 26 +- .../model/ModelBlockDefinition.java.patch | 2 +- .../block/statemap/StateMap.java.patch | 2 +- .../renderer/chunk/RenderChunk.java.patch | 44 +- .../renderer/color/BlockColors.java.patch | 8 +- .../renderer/entity/RenderManager.java.patch | 4 +- .../entity/layers/LayerArmorBase.java.patch | 6 +- .../renderer/texture/TextureMap.java.patch | 30 +- .../TileEntityRendererDispatcher.java.patch | 6 +- .../resources/AbstractResourcePack.java.patch | 2 +- ...SimpleReloadableResourceManager.java.patch | 6 +- .../client/settings/GameSettings.java.patch | 12 +- .../command/CommandEnchant.java.patch | 2 +- .../minecraft/command/CommandFill.java.patch | 6 +- .../command/CommandHandler.java.patch | 4 +- .../command/EntitySelector.java.patch | 4 +- .../command/server/CommandSetBlock.java.patch | 4 +- .../server/CommandTestForBlock.java.patch | 2 +- .../minecraft/crash/CrashReport.java.patch | 2 +- .../crash/CrashReportCategory.java.patch | 2 +- .../enchantment/Enchantment.java.patch | 6 +- .../enchantment/EnchantmentHelper.java.patch | 8 +- .../net/minecraft/entity/Entity.java.patch | 33 +- .../minecraft/entity/EntityHanging.java.patch | 2 +- .../minecraft/entity/EntityList.java.patch | 10 +- .../minecraft/entity/EntityLiving.java.patch | 8 +- .../entity/EntityLivingBase.java.patch | 48 +- .../entity/boss/EntityDragon.java.patch | 2 +- .../entity/boss/EntityWither.java.patch | 2 +- .../entity/item/EntityFallingBlock.java.patch | 2 +- .../entity/item/EntityItem.java.patch | 18 +- .../entity/item/EntityItemFrame.java.patch | 2 +- .../entity/item/EntityMinecart.java.patch | 33 +- .../EntityMinecartCommandBlock.java.patch | 4 +- .../item/EntityMinecartContainer.java.patch | 2 +- .../item/EntityMinecartEmpty.java.patch | 4 +- .../item/EntityMinecartFurnace.java.patch | 4 +- .../item/EntityMinecartHopper.java.patch | 4 +- .../entity/monster/EntityEnderman.java.patch | 4 +- .../entity/monster/EntityMagmaCube.java.patch | 2 +- .../entity/monster/EntitySlime.java.patch | 6 +- .../entity/monster/EntityZombie.java.patch | 8 +- .../entity/passive/EntityHorse.java.patch | 8 +- .../entity/passive/EntityMooshroom.java.patch | 12 +- .../entity/passive/EntityOcelot.java.patch | 2 +- .../entity/passive/EntitySheep.java.patch | 13 +- .../entity/passive/EntityVillager.java.patch | 26 +- .../entity/player/EntityPlayer.java.patch | 82 +-- .../entity/player/EntityPlayerMP.java.patch | 16 +- .../entity/player/InventoryPlayer.java.patch | 6 +- .../net/minecraft/init/Bootstrap.java.patch | 2 +- .../minecraft/inventory/Container.java.patch | 2 +- .../inventory/ContainerBeacon.java.patch | 4 +- .../ContainerBrewingStand.java.patch | 6 +- .../inventory/ContainerEnchantment.java.patch | 10 +- .../inventory/ContainerPlayer.java.patch | 4 +- .../inventory/ContainerRepair.java.patch | 10 +- .../net/minecraft/inventory/Slot.java.patch | 4 +- .../inventory/SlotCrafting.java.patch | 2 +- .../inventory/SlotFurnaceOutput.java.patch | 2 +- .../net/minecraft/item/Item.java.patch | 16 +- .../net/minecraft/item/ItemArmor.java.patch | 8 +- .../net/minecraft/item/ItemBlock.java.patch | 2 +- .../net/minecraft/item/ItemBow.java.patch | 6 +- .../net/minecraft/item/ItemBucket.java.patch | 2 +- .../minecraft/item/ItemBucketMilk.java.patch | 2 +- .../net/minecraft/item/ItemDye.java.patch | 32 +- .../net/minecraft/item/ItemMap.java.patch | 4 +- .../item/ItemMonsterPlacer.java.patch | 23 +- .../net/minecraft/item/ItemRecord.java.patch | 6 +- .../net/minecraft/item/ItemStack.java.patch | 34 +- .../item/crafting/FurnaceRecipes.java.patch | 4 +- .../item/crafting/RecipeFireworks.java.patch | 6 +- .../item/crafting/RecipeRepairItem.java.patch | 8 +- .../item/crafting/RecipesArmorDyes.java.patch | 2 +- .../item/crafting/RecipesBanners.java.patch | 12 +- .../crafting/RecipesMapCloning.java.patch | 2 +- .../item/crafting/ShapedRecipes.java.patch | 2 +- .../item/crafting/ShapelessRecipes.java.patch | 2 +- .../minecraft/nbt/NBTTagCompound.java.patch | 4 +- .../network/NetworkManager.java.patch | 10 +- .../net/minecraft/potion/Potion.java.patch | 6 +- .../minecraft/potion/PotionType.java.patch | 2 +- .../minecraft/realms/RealmsConnect.java.patch | 4 +- .../server/MinecraftServer.java.patch | 42 +- .../dedicated/DedicatedServer.java.patch | 16 +- .../integrated/IntegratedServer.java.patch | 4 +- .../management/PlayerChunkMapEntry.java.patch | 117 ++++ .../PlayerInteractionManager.java.patch | 32 +- .../server/management/PlayerList.java.patch | 36 +- .../management/PlayerManager.java.patch | 121 ---- .../net/minecraft/stats/StatList.java.patch | 12 +- .../tileentity/TileEntity.java.patch | 32 +- .../tileentity/TileEntityBeacon.java.patch | 4 +- .../TileEntityBrewingStand.java.patch | 10 +- .../tileentity/TileEntityChest.java.patch | 11 +- .../tileentity/TileEntityFurnace.java.patch | 30 +- .../tileentity/TileEntityHopper.java.patch | 8 +- .../tileentity/TileEntityLockable.java.patch | 2 +- .../tileentity/TileEntityNote.java.patch | 2 +- .../tileentity/TileEntitySign.java.patch | 2 +- .../net/minecraft/util/EnumFacing.java.patch | 22 +- .../util/IntIdentityHashBiMap.java.patch | 2 +- .../net/minecraft/util/Session.java.patch | 4 +- .../minecraft/util/TabCompleter.java.patch | 6 +- .../minecraft/util/math/BlockPos.java.patch | 11 - .../net/minecraft/util/math/Vec3d.java.patch | 5 +- ...egistryNamespacedDefaultedByKey.java.patch | 2 +- .../net/minecraft/util/text/Style.java.patch | 2 +- .../util/text/TextComponentBase.java.patch | 2 +- .../minecraft/world/BossInfoServer.java.patch | 2 +- .../net/minecraft/world/ChunkCache.java.patch | 10 +- .../minecraft/world/IBlockAccess.java.patch | 2 +- ...tch => ServerWorldEventHandler.java.patch} | 10 +- .../net/minecraft/world/World.java.patch | 382 ++++-------- .../world/WorldEntitySpawner.java.patch | 16 +- .../minecraft/world/WorldProvider.java.patch | 14 +- .../minecraft/world/WorldSavedData.java.patch | 6 +- .../minecraft/world/WorldServer.java.patch | 122 ++-- .../net/minecraft/world/WorldType.java.patch | 2 +- ...omeGenBase.java.patch => Biome.java.patch} | 34 +- .../world/biome/BiomeDecorator.java.patch | 2 +- ...rest.java.patch => BiomeForest.java.patch} | 10 +- ...Hills.java.patch => BiomeHills.java.patch} | 4 +- ...ngle.java.patch => BiomeJungle.java.patch} | 4 +- ...ains.java.patch => BiomePlains.java.patch} | 4 +- .../world/biome/BiomeProvider.java.patch | 14 +- ...Swamp.java.patch => BiomeSwamp.java.patch} | 4 +- .../minecraft/world/chunk/Chunk.java.patch | 51 +- .../chunk/storage/AnvilChunkLoader.java.patch | 33 +- .../chunk/storage/AnvilSaveHandler.java.patch | 2 +- .../world/gen/ChunkProviderEnd.java.patch | 14 +- .../world/gen/ChunkProviderHell.java.patch | 16 +- .../gen/ChunkProviderOverworld.java.patch | 28 +- .../world/gen/ChunkProviderServer.java.patch | 105 ++-- .../world/gen/MapGenCaves.java.patch | 6 +- .../world/gen/MapGenRavine.java.patch | 6 +- .../gen/feature/WorldGenHellLava.java.patch | 2 +- .../gen/feature/WorldGenLiquids.java.patch | 16 +- .../world/gen/layer/GenLayer.java.patch | 6 +- .../world/gen/layer/GenLayerBiome.java.patch | 26 +- .../gen/structure/MapGenStronghold.java.patch | 10 +- .../structure/StructureComponent.java.patch | 2 +- .../StructureVillagePieces.java.patch | 8 +- .../world/storage/MapData.java.patch | 20 +- .../world/storage/SaveFormatOld.java.patch | 2 +- .../world/storage/SaveHandler.java.patch | 8 +- .../world/storage/WorldInfo.java.patch | 4 +- .../storage/loot/LootTableManager.java.patch | 4 +- .../LootConditionManager.java.patch | 7 +- .../client/ForgeHooksClient.java | 4 +- .../client/MinecraftForgeClient.java | 14 +- .../client/model/ModelLoader.java | 4 +- .../common/BiomeDictionary.java | 56 +- .../minecraftforge/common/BiomeManager.java | 28 +- .../common/DimensionManager.java | 4 +- .../common/ForgeChunkManager.java | 48 +- .../net/minecraftforge/common/ForgeHooks.java | 6 +- .../common/chunkio/ChunkIOProvider.java | 5 +- .../common/util/BlockSnapshot.java | 4 +- .../common/util/ChunkCoordComparator.java | 6 +- .../common/util/EnumHelper.java | 8 +- .../event/ForgeEventFactory.java | 8 +- .../entity/player/PlayerSleepInBedEvent.java | 8 +- .../event/terraingen/BiomeEvent.java | 20 +- .../terraingen/DeferredBiomeDecorator.java | 6 +- .../event/world/ChunkWatchEvent.java | 18 +- .../event/world/WorldEvent.java | 2 +- .../minecraftforge/fluids/BlockFluidBase.java | 2 +- .../fluids/TileFluidHandler.java | 5 +- .../fml/client/FMLClientHandler.java | 4 +- .../fml/common/FMLCommonHandler.java | 2 +- .../fml/common/ICrashCallable.java | 6 +- .../fml/common/registry/EntityRegistry.java | 16 +- .../fml/common/registry/ForgeRegistries.java | 4 +- .../fml/common/registry/GameData.java | 12 +- .../fml/server/FMLServerHandler.java | 4 +- src/main/resources/forge.exc | 33 +- src/main/resources/forge_at.cfg | 46 +- .../minecraftforge/debug/DynBucketTest.java | 9 +- .../test/NoBedSleepingTest.java | 6 +- 257 files changed, 2398 insertions(+), 1919 deletions(-) create mode 100644 jsons/1.9.4-dev.json create mode 100644 jsons/1.9.4-rel.json create mode 100644 jsons/1.9.4.json delete mode 100644 patches/minecraft/net/minecraft/client/gui/GuiChat.java.patch rename patches/minecraft/net/minecraft/client/particle/{EffectRenderer.java.patch => ParticleManager.java.patch} (65%) create mode 100644 patches/minecraft/net/minecraft/server/management/PlayerChunkMapEntry.java.patch delete mode 100644 patches/minecraft/net/minecraft/server/management/PlayerManager.java.patch delete mode 100644 patches/minecraft/net/minecraft/util/math/BlockPos.java.patch rename patches/minecraft/net/minecraft/world/{WorldManager.java.patch => ServerWorldEventHandler.java.patch} (80%) rename patches/minecraft/net/minecraft/world/biome/{BiomeGenBase.java.patch => Biome.java.patch} (83%) rename patches/minecraft/net/minecraft/world/biome/{BiomeGenForest.java.patch => BiomeForest.java.patch} (68%) rename patches/minecraft/net/minecraft/world/biome/{BiomeGenHills.java.patch => BiomeHills.java.patch} (95%) rename patches/minecraft/net/minecraft/world/biome/{BiomeGenJungle.java.patch => BiomeJungle.java.patch} (82%) rename patches/minecraft/net/minecraft/world/biome/{BiomeGenPlains.java.patch => BiomePlains.java.patch} (89%) rename patches/minecraft/net/minecraft/world/biome/{BiomeGenSwamp.java.patch => BiomeSwamp.java.patch} (66%) diff --git a/.gitignore b/.gitignore index ee7a997dd..429a832e0 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ #Patch rejects /patches-/ +*.patch.rej # FML changelog changelog.txt diff --git a/build.gradle b/build.gradle index 285a7ea67..cb1a1ed10 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ buildscript { } } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT' + classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT' } } @@ -26,11 +26,11 @@ apply plugin: "net.minecraftforge.gradle.patcher" apply plugin: "net.minecraftforge.gradle.launch4j" minecraft { - version = "1.9" + version = "1.9.4" mappings = 'snapshot_nodoc_20160312' //mappings = "snapshot_nodoc_20151122" workspaceDir = "projects" - versionJson = "jsons/1.9-dev.json" + versionJson = "jsons/1.9.4-dev.json" buildUserdev = true buildInstaller = true installerVersion = "1.4" @@ -52,6 +52,7 @@ minecraft { genPatchesFrom "clean" genMcpPatches = false applyMcpPatches = false + s2sKeepImports = true with common } } @@ -66,7 +67,7 @@ extractForgeResources { exclude "**/log4j2.xml" } genGradleProjects { addTestCompileDep "junit:junit:4.12" } processJson { - releaseJson = "jsons/1.9-rel.json" + releaseJson = "jsons/1.9.4-rel.json" addReplacements([ "@minecraft_version@": project.minecraft.version, "@version@": project.version, @@ -380,7 +381,7 @@ task fixParams << { logger.lifecycle('Fixing param names!') def params = new File(extractMcpMappings.destinationDir, 'params.csv') def text = params.text - text = text.replaceAll('p_82499_3_,stack,', 'p_82499_3_,stackIn,') + text = text.replaceAll('p_180276_1_,biome,', 'p_180276_1_,biomeIn,') params.write(text) } fixParams.dependsOn('extractMcpMappings') diff --git a/jsons/1.9.4-dev.json b/jsons/1.9.4-dev.json new file mode 100644 index 000000000..861b75dc0 --- /dev/null +++ b/jsons/1.9.4-dev.json @@ -0,0 +1,92 @@ +{ + "id": "@minecraft_version@-@project@@version@", + "time": "@timestamp@", + "releaseTime": "1960-01-01T00:00:00-0700", + "type": "release", + "inheritsFrom": "1.9.4", + "minecraftArguments": "--version FML_DEV --tweakClass net.minecraftforge.fml.common.launcher.FMLTweaker", + "libraries": [ + { + "name": "net.minecraft:launchwrapper:1.12" + }, + { + "name": "jline:jline:2.13", + "children": ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.google.code.findbugs:jsr305:1.3.9", + "children": ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.ow2.asm:asm-debug-all:5.0.3", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.typesafe.akka:akka-actor_2.11:2.3.3", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.typesafe:config:1.2.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-actors-migration_2.11:1.1.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-compiler:2.11.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-library:2.11.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang.modules:scala-parser-combinators_2.11:1.0.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-reflect:2.11.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang.modules:scala-swing_2.11:1.0.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang.modules:scala-xml_2.11:1.0.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "lzma:lzma:0.0.1" + }, + { + "name": "java3d:vecmath:1.5.2" + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3" + } + ] +} diff --git a/jsons/1.9.4-rel.json b/jsons/1.9.4-rel.json new file mode 100644 index 000000000..22daa58ed --- /dev/null +++ b/jsons/1.9.4-rel.json @@ -0,0 +1,138 @@ +{ +"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 ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userType ${user_type} --tweakClass net.minecraftforge.fml.common.launcher.FMLTweaker --versionType Forge", + "mainClass": "net.minecraft.launchwrapper.Launch", + "inheritsFrom": "1.9.4", + "libraries": [ + { + "name": "@artifact@", + "url": "http://files.minecraftforge.net/maven/" + }, + { + "name": "net.minecraft:launchwrapper:1.12", + "serverreq":true + }, + { + "name": "org.ow2.asm:asm-all:5.0.3", + "serverreq":true + }, + { + "name": "jline:jline:2.13", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "2d9530d0a25daffaffda7c35037b046b627bb171" ], + "serverreq":true, + "clientreq":false + }, + { + "name": "com.typesafe.akka:akka-actor_2.11:2.3.3", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "ed62e9fc709ca0f2ff1a3220daa8b70a2870078e", "25a86ccfdb6f6dfe08971f4825d0a01be83a6f2e" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "com.typesafe:config:1.2.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "f771f71fdae3df231bcd54d5ca2d57f0bf93f467", "7d7bc36df0989d72f2d5d057309675777acc528b" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-actors-migration_2.11:1.1.0", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "dfa8bc42b181d5b9f1a5dd147f8ae308b893eb6f", "8c9aaeeb68487ca519411a14068e1b4d69739207" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-compiler:2.11.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "56ea2e6c025e0821f28d73ca271218b8dd04926a", "1444992390544ba3780867a13ff696a89d7d1639" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "87213338cd5a153a7712cb574c0ddd2edfee0386", "0b4c1bf8d48993f138d6e10c0c144e50acfff581" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "1f7371605d4ba42aa26d3443440c0083c587b4e9", "1ea655dda4504ae0a367327e2340cd3beaee6c73" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-library:2.11.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "0e11da23da3eabab9f4777b9220e60d44c1aab6a", "1e4df76e835201c6eabd43adca89ab11f225f134" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-parser-combinators_2.11:1.0.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "f05d7345bf5a58924f2837c6c1f4d73a938e1ff0", "a1cbbcbde1dcc614f4253ed1aa0b320bc78d8f1d" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-reflect:2.11.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "6580347e61cc7f8e802941e7fde40fa83b8badeb", "91ce0f0be20f4a536321724b4b3bbc6530ddcd88" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-swing_2.11:1.0.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "b1cdd92bd47b1e1837139c1c53020e86bb9112ae", "d77152691dcf5bbdb00529af37aa7d3d887b3e63" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-xml_2.11:1.0.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "7a80ec00aec122fba7cd4e0d4cdd87ff7e4cb6d0", "62736b01689d56b6d09a0164b7ef9da2b0b9633d" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "lzma:lzma:0.0.1", + "serverreq":true + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.6", + "serverreq":true + }, + { + "name": "java3d:vecmath:1.5.2", + "clientreq":true, + "serverreq":true + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3", + "clientreq":true, + "serverreq":true + } + ] +} +} diff --git a/jsons/1.9.4.json b/jsons/1.9.4.json new file mode 100644 index 000000000..ebdf2a248 --- /dev/null +++ b/jsons/1.9.4.json @@ -0,0 +1,551 @@ +{ + "assetIndex": { + "id": "1.9", + "sha1": "8549e8aca91ee8b8d1620e9e8252d477f16a56d5", + "size": 137552, + "url": "https://launchermeta.mojang.com/mc-staging/assets/1.9/8549e8aca91ee8b8d1620e9e8252d477f16a56d5/1.9.json", + "totalSize": 120896362 + }, + "assets": "1.9", + "downloads": { + "client": { + "sha1": "4a61c873be90bb1196d68dac7b29870408c56969", + "size": 8736083, + "url": "https://launcher.mojang.com/mc/game/1.9.4/client/4a61c873be90bb1196d68dac7b29870408c56969/client.jar" + }, + "server": { + "sha1": "edbb7b1758af33d365bf835eb9d13de005b1e274", + "size": 9399053, + "url": "https://launcher.mojang.com/mc/game/1.9.4/server/edbb7b1758af33d365bf835eb9d13de005b1e274/server.jar" + } + }, + "id": "1.9.4", + "libraries": [ + { + "name": "com.mojang:netty:1.6", + "downloads": { + "artifact": { + "size": 7877, + "sha1": "4b75825a06139752bd800d9e29c5fd55b8b1b1e4", + "path": "com/mojang/netty/1.6/netty-1.6.jar", + "url": "https://libraries.minecraft.net/com/mojang/netty/1.6/netty-1.6.jar" + } + } + }, + { + "name": "oshi-project:oshi-core:1.1", + "downloads": { + "artifact": { + "size": 30973, + "sha1": "9ddf7b048a8d701be231c0f4f95fd986198fd2d8", + "path": "oshi-project/oshi-core/1.1/oshi-core-1.1.jar", + "url": "https://libraries.minecraft.net/oshi-project/oshi-core/1.1/oshi-core-1.1.jar" + } + } + }, + { + "name": "net.java.dev.jna:jna:3.4.0", + "downloads": { + "artifact": { + "size": 1008730, + "sha1": "803ff252fedbd395baffd43b37341dc4a150a554", + "path": "net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar", + "url": "https://libraries.minecraft.net/net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar" + } + } + }, + { + "name": "net.java.dev.jna:platform:3.4.0", + "downloads": { + "artifact": { + "size": 913436, + "sha1": "e3f70017be8100d3d6923f50b3d2ee17714e9c13", + "path": "net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar", + "url": "https://libraries.minecraft.net/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar" + } + } + }, + { + "name": "com.ibm.icu:icu4j-core-mojang:51.2", + "downloads": { + "artifact": { + "size": 1634692, + "sha1": "63d216a9311cca6be337c1e458e587f99d382b84", + "path": "com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2.jar", + "url": "https://libraries.minecraft.net/com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2.jar" + } + } + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.6", + "downloads": { + "artifact": { + "size": 62477, + "sha1": "306816fb57cf94f108a43c95731b08934dcae15c", + "path": "net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.jar", + "url": "https://libraries.minecraft.net/net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.jar" + } + } + }, + { + "name": "com.paulscode:codecjorbis:20101023", + "downloads": { + "artifact": { + "size": 103871, + "sha1": "c73b5636faf089d9f00e8732a829577de25237ee", + "path": "com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar", + "url": "https://libraries.minecraft.net/com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar" + } + } + }, + { + "name": "com.paulscode:codecwav:20101023", + "downloads": { + "artifact": { + "size": 5618, + "sha1": "12f031cfe88fef5c1dd36c563c0a3a69bd7261da", + "path": "com/paulscode/codecwav/20101023/codecwav-20101023.jar", + "url": "https://libraries.minecraft.net/com/paulscode/codecwav/20101023/codecwav-20101023.jar" + } + } + }, + { + "name": "com.paulscode:libraryjavasound:20101123", + "downloads": { + "artifact": { + "size": 21679, + "sha1": "5c5e304366f75f9eaa2e8cca546a1fb6109348b3", + "path": "com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar", + "url": "https://libraries.minecraft.net/com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar" + } + } + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824", + "downloads": { + "artifact": { + "size": 18981, + "sha1": "73e80d0794c39665aec3f62eee88ca91676674ef", + "path": "com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar", + "url": "https://libraries.minecraft.net/com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar" + } + } + }, + { + "name": "com.paulscode:soundsystem:20120107", + "downloads": { + "artifact": { + "size": 65020, + "sha1": "419c05fe9be71f792b2d76cfc9b67f1ed0fec7f6", + "path": "com/paulscode/soundsystem/20120107/soundsystem-20120107.jar", + "url": "https://libraries.minecraft.net/com/paulscode/soundsystem/20120107/soundsystem-20120107.jar" + } + } + }, + { + "name": "io.netty:netty-all:4.0.23.Final", + "downloads": { + "artifact": { + "size": 1779991, + "sha1": "0294104aaf1781d6a56a07d561e792c5d0c95f45", + "path": "io/netty/netty-all/4.0.23.Final/netty-all-4.0.23.Final.jar", + "url": "https://libraries.minecraft.net/io/netty/netty-all/4.0.23.Final/netty-all-4.0.23.Final.jar" + } + } + }, + { + "name": "com.google.guava:guava:17.0", + "downloads": { + "artifact": { + "size": 2243036, + "sha1": "9c6ef172e8de35fd8d4d8783e4821e57cdef7445", + "path": "com/google/guava/guava/17.0/guava-17.0.jar", + "url": "https://libraries.minecraft.net/com/google/guava/guava/17.0/guava-17.0.jar" + } + } + }, + { + "name": "org.apache.commons:commons-lang3:3.3.2", + "downloads": { + "artifact": { + "size": 412739, + "sha1": "90a3822c38ec8c996e84c16a3477ef632cbc87a3", + "path": "org/apache/commons/commons-lang3/3.3.2/commons-lang3-3.3.2.jar", + "url": "https://libraries.minecraft.net/org/apache/commons/commons-lang3/3.3.2/commons-lang3-3.3.2.jar" + } + } + }, + { + "name": "commons-io:commons-io:2.4", + "downloads": { + "artifact": { + "size": 185140, + "sha1": "b1b6ea3b7e4aa4f492509a4952029cd8e48019ad", + "path": "commons-io/commons-io/2.4/commons-io-2.4.jar", + "url": "https://libraries.minecraft.net/commons-io/commons-io/2.4/commons-io-2.4.jar" + } + } + }, + { + "name": "commons-codec:commons-codec:1.9", + "downloads": { + "artifact": { + "size": 263965, + "sha1": "9ce04e34240f674bc72680f8b843b1457383161a", + "path": "commons-codec/commons-codec/1.9/commons-codec-1.9.jar", + "url": "https://libraries.minecraft.net/commons-codec/commons-codec/1.9/commons-codec-1.9.jar" + } + } + }, + { + "name": "net.java.jinput:jinput:2.0.5", + "downloads": { + "artifact": { + "size": 208338, + "sha1": "39c7796b469a600f72380316f6b1f11db6c2c7c4", + "path": "net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar", + "url": "https://libraries.minecraft.net/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar" + } + } + }, + { + "name": "net.java.jutils:jutils:1.0.0", + "downloads": { + "artifact": { + "size": 7508, + "sha1": "e12fe1fda814bd348c1579329c86943d2cd3c6a6", + "path": "net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar", + "url": "https://libraries.minecraft.net/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar" + } + } + }, + { + "name": "com.google.code.gson:gson:2.2.4", + "downloads": { + "artifact": { + "size": 190432, + "sha1": "a60a5e993c98c864010053cb901b7eab25306568", + "path": "com/google/code/gson/gson/2.2.4/gson-2.2.4.jar", + "url": "https://libraries.minecraft.net/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar" + } + } + }, + { + "name": "com.mojang:authlib:1.5.22", + "downloads": { + "artifact": { + "size": 64539, + "sha1": "afaa8f6df976fcb5520e76ef1d5798c9e6b5c0b2", + "path": "com/mojang/authlib/1.5.22/authlib-1.5.22.jar", + "url": "https://libraries.minecraft.net/com/mojang/authlib/1.5.22/authlib-1.5.22.jar" + } + } + }, + { + "name": "com.mojang:realms:1.8.19", + "downloads": { + "artifact": { + "size": 1575795, + "sha1": "f7469a9307b962d1097e44713eb1baa087c06e43", + "path": "com/mojang/realms/1.8.19/realms-1.8.19.jar", + "url": "https://libraries.minecraft.net/com/mojang/realms/1.8.19/realms-1.8.19.jar" + } + } + }, + { + "name": "org.apache.commons:commons-compress:1.8.1", + "downloads": { + "artifact": { + "size": 365552, + "sha1": "a698750c16740fd5b3871425f4cb3bbaa87f529d", + "path": "org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar", + "url": "https://libraries.minecraft.net/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar" + } + } + }, + { + "name": "org.apache.httpcomponents:httpclient:4.3.3", + "downloads": { + "artifact": { + "size": 589512, + "sha1": "18f4247ff4572a074444572cee34647c43e7c9c7", + "path": "org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar", + "url": "https://libraries.minecraft.net/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar" + } + } + }, + { + "name": "commons-logging:commons-logging:1.1.3", + "downloads": { + "artifact": { + "size": 62050, + "sha1": "f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f", + "path": "commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar", + "url": "https://libraries.minecraft.net/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar" + } + } + }, + { + "name": "org.apache.httpcomponents:httpcore:4.3.2", + "downloads": { + "artifact": { + "size": 282269, + "sha1": "31fbbff1ddbf98f3aa7377c94d33b0447c646b6e", + "path": "org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar", + "url": "https://libraries.minecraft.net/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar" + } + } + }, + { + "name": "it.unimi.dsi:fastutil:7.0.12_mojang", + "downloads": { + "artifact": { + "size": 522306, + "sha1": "ba787e741efdc425fc5d2ea654b57c15fba27efa", + "path": "it/unimi/dsi/fastutil/7.0.12_mojang/fastutil-7.0.12_mojang.jar", + "url": "https://libraries.minecraft.net/it/unimi/dsi/fastutil/7.0.12_mojang/fastutil-7.0.12_mojang.jar" + } + } + }, + { + "name": "org.apache.logging.log4j:log4j-api:2.0-beta9", + "downloads": { + "artifact": { + "size": 108161, + "sha1": "1dd66e68cccd907880229f9e2de1314bd13ff785", + "path": "org/apache/logging/log4j/log4j-api/2.0-beta9/log4j-api-2.0-beta9.jar", + "url": "https://libraries.minecraft.net/org/apache/logging/log4j/log4j-api/2.0-beta9/log4j-api-2.0-beta9.jar" + } + } + }, + { + "name": "org.apache.logging.log4j:log4j-core:2.0-beta9", + "downloads": { + "artifact": { + "size": 681134, + "sha1": "678861ba1b2e1fccb594bb0ca03114bb05da9695", + "path": "org/apache/logging/log4j/log4j-core/2.0-beta9/log4j-core-2.0-beta9.jar", + "url": "https://libraries.minecraft.net/org/apache/logging/log4j/log4j-core/2.0-beta9/log4j-core-2.0-beta9.jar" + } + } + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.4-nightly-20150209", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ], + "downloads": { + "artifact": { + "size": 1047168, + "sha1": "697517568c68e78ae0b4544145af031c81082dfe", + "path": "org/lwjgl/lwjgl/lwjgl/2.9.4-nightly-20150209/lwjgl-2.9.4-nightly-20150209.jar", + "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl/2.9.4-nightly-20150209/lwjgl-2.9.4-nightly-20150209.jar" + } + } + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.4-nightly-20150209", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ], + "downloads": { + "artifact": { + "size": 173887, + "sha1": "d51a7c040a721d13efdfbd34f8b257b2df882ad0", + "path": "org/lwjgl/lwjgl/lwjgl_util/2.9.4-nightly-20150209/lwjgl_util-2.9.4-nightly-20150209.jar", + "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl_util/2.9.4-nightly-20150209/lwjgl_util-2.9.4-nightly-20150209.jar" + } + } + }, + { + "extract": { + "exclude": [ + "META-INF/" + ] + }, + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.4-nightly-20150209", + "natives": { + "linux": "natives-linux", + "osx": "natives-osx", + "windows": "natives-windows" + }, + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ], + "downloads": { + "classifiers": { + "natives-linux": { + "size": 578680, + "sha1": "931074f46c795d2f7b30ed6395df5715cfd7675b", + "path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-linux.jar", + "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-linux.jar" + }, + "natives-osx": { + "size": 426822, + "sha1": "bcab850f8f487c3f4c4dbabde778bb82bd1a40ed", + "path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-osx.jar", + "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-osx.jar" + }, + "natives-windows": { + "size": 613748, + "sha1": "b84d5102b9dbfabfeb5e43c7e2828d98a7fc80e0", + "path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar", + "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar" + } + }, + "artifact": { + "size": 22, + "sha1": "b04f3ee8f5e43fa3b162981b50bb72fe1acabb33", + "path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209.jar", + "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209.jar" + } + } + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.2-nightly-20140822", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ], + "downloads": { + "artifact": { + "size": 1045632, + "sha1": "7707204c9ffa5d91662de95f0a224e2f721b22af", + "path": "org/lwjgl/lwjgl/lwjgl/2.9.2-nightly-20140822/lwjgl-2.9.2-nightly-20140822.jar", + "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl/2.9.2-nightly-20140822/lwjgl-2.9.2-nightly-20140822.jar" + } + } + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.2-nightly-20140822", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ], + "downloads": { + "artifact": { + "size": 173887, + "sha1": "f0e612c840a7639c1f77f68d72a28dae2f0c8490", + "path": "org/lwjgl/lwjgl/lwjgl_util/2.9.2-nightly-20140822/lwjgl_util-2.9.2-nightly-20140822.jar", + "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl_util/2.9.2-nightly-20140822/lwjgl_util-2.9.2-nightly-20140822.jar" + } + } + }, + { + "extract": { + "exclude": [ + "META-INF/" + ] + }, + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.2-nightly-20140822", + "natives": { + "linux": "natives-linux", + "osx": "natives-osx", + "windows": "natives-windows" + }, + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ], + "downloads": { + "classifiers": { + "natives-linux": { + "size": 578539, + "sha1": "d898a33b5d0a6ef3fed3a4ead506566dce6720a5", + "path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-linux.jar", + "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-linux.jar" + }, + "natives-osx": { + "size": 468116, + "sha1": "79f5ce2fea02e77fe47a3c745219167a542121d7", + "path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-osx.jar", + "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-osx.jar" + }, + "natives-windows": { + "size": 613680, + "sha1": "78b2a55ce4dc29c6b3ec4df8ca165eba05f9b341", + "path": "org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-windows.jar", + "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-windows.jar" + } + } + } + }, + { + "extract": { + "exclude": [ + "META-INF/" + ] + }, + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "osx": "natives-osx", + "windows": "natives-windows" + }, + "downloads": { + "classifiers": { + "natives-linux": { + "size": 10362, + "sha1": "7ff832a6eb9ab6a767f1ade2b548092d0fa64795", + "path": "net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-linux.jar", + "url": "https://libraries.minecraft.net/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-linux.jar" + }, + "natives-osx": { + "size": 12186, + "sha1": "53f9c919f34d2ca9de8c51fc4e1e8282029a9232", + "path": "net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-osx.jar", + "url": "https://libraries.minecraft.net/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-osx.jar" + }, + "natives-windows": { + "size": 155179, + "sha1": "385ee093e01f587f30ee1c8a2ee7d408fd732e16", + "path": "net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-windows.jar", + "url": "https://libraries.minecraft.net/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-windows.jar" + } + } + } + } + ], + "mainClass": "net.minecraft.client.main.Main", + "minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userType ${user_type} --versionType ${version_type}", + "minimumLauncherVersion": 18, + "releaseTime": "2016-05-10T10:17:16+00:00", + "time": "2016-05-10T14:45:26+00:00", + "type": "release" +} diff --git a/patches/minecraft/net/minecraft/block/Block.java.patch b/patches/minecraft/net/minecraft/block/Block.java.patch index 8e26daf20..051c24dab 100644 --- a/patches/minecraft/net/minecraft/block/Block.java.patch +++ b/patches/minecraft/net/minecraft/block/Block.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/Block.java +++ ../src-work/minecraft/net/minecraft/block/Block.java -@@ -43,11 +43,12 @@ +@@ -44,11 +44,12 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -16,7 +16,7 @@ public static final AxisAlignedBB field_185505_j = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); public static final AxisAlignedBB field_185506_k = null; private CreativeTabs field_149772_a; -@@ -83,7 +84,8 @@ +@@ -84,7 +85,8 @@ public static Block func_149729_e(int p_149729_0_) { @@ -26,7 +26,7 @@ } public static IBlockState func_176220_d(int p_176220_0_) -@@ -268,7 +270,7 @@ +@@ -286,7 +288,7 @@ public boolean func_176200_f(IBlockAccess p_176200_1_, BlockPos p_176200_2_) { @@ -35,7 +35,7 @@ } public Block func_149711_c(float p_149711_1_) -@@ -305,9 +307,10 @@ +@@ -324,9 +326,10 @@ return this.field_149789_z; } @@ -46,8 +46,8 @@ + return hasTileEntity(func_176223_P()); } - public AxisAlignedBB func_185496_a(IBlockState p_185496_1_, IBlockAccess p_185496_2_, BlockPos p_185496_3_) -@@ -346,13 +349,13 @@ + @Deprecated +@@ -370,13 +373,13 @@ @SideOnly(Side.CLIENT) public int func_185484_c(IBlockState p_185484_1_, IBlockAccess p_185484_2_, BlockPos p_185484_3_) { @@ -63,7 +63,7 @@ } else { -@@ -415,7 +418,7 @@ +@@ -440,7 +443,7 @@ } } @@ -71,8 +71,8 @@ + return !p_176225_2_.func_180495_p(p_176225_3_.func_177972_a(p_176225_4_)).doesSideBlockRendering(p_176225_2_, p_176225_3_.func_177972_a(p_176225_4_), p_176225_4_.func_176734_d()); } - @SideOnly(Side.CLIENT) -@@ -472,6 +475,10 @@ + @Deprecated +@@ -500,6 +503,10 @@ public void func_180663_b(World p_180663_1_, BlockPos p_180663_2_, IBlockState p_180663_3_) { @@ -83,8 +83,8 @@ } public int func_149745_a(Random p_149745_1_) -@@ -486,8 +493,7 @@ - +@@ -516,8 +523,7 @@ + @Deprecated public float func_180647_a(IBlockState p_180647_1_, EntityPlayer p_180647_2_, World p_180647_3_, BlockPos p_180647_4_) { - float f = p_180647_1_.func_185887_b(p_180647_3_, p_180647_4_); @@ -93,7 +93,7 @@ } public final void func_176226_b(World p_176226_1_, BlockPos p_176226_2_, IBlockState p_176226_3_, int p_176226_4_) -@@ -497,20 +503,16 @@ +@@ -527,20 +533,16 @@ public void func_180653_a(World p_180653_1_, BlockPos p_180653_2_, IBlockState p_180653_3_, float p_180653_4_, int p_180653_5_) { @@ -119,7 +119,7 @@ } } } -@@ -518,8 +520,13 @@ +@@ -548,8 +550,13 @@ public static void func_180635_a(World p_180635_0_, BlockPos p_180635_1_, ItemStack p_180635_2_) { @@ -134,7 +134,7 @@ float f = 0.5F; double d0 = (double)(p_180635_0_.field_73012_v.nextFloat() * f) + (double)(1.0F - f) * 0.5D; double d1 = (double)(p_180635_0_.field_73012_v.nextFloat() * f) + (double)(1.0F - f) * 0.5D; -@@ -588,7 +595,7 @@ +@@ -621,7 +628,7 @@ public boolean func_176196_c(World p_176196_1_, BlockPos p_176196_2_) { @@ -142,8 +142,8 @@ + return p_176196_1_.func_180495_p(p_176196_2_).func_177230_c().func_176200_f(p_176196_1_, p_176196_2_); } - public boolean func_180639_a(World p_180639_1_, BlockPos p_180639_2_, IBlockState p_180639_3_, EntityPlayer p_180639_4_, EnumHand p_180639_5_, ItemStack p_180639_6_, EnumFacing p_180639_7_, float p_180639_8_, float p_180639_9_, float p_180639_10_) -@@ -638,25 +645,35 @@ + public boolean func_180639_a(World p_180639_1_, BlockPos p_180639_2_, IBlockState p_180639_3_, EntityPlayer p_180639_4_, EnumHand p_180639_5_, @Nullable ItemStack p_180639_6_, EnumFacing p_180639_7_, float p_180639_8_, float p_180639_9_, float p_180639_10_) +@@ -674,25 +681,35 @@ p_180657_2_.func_71029_a(StatList.func_188055_a(this)); p_180657_2_.func_71020_j(0.025F); @@ -181,11 +181,11 @@ + return this.func_176223_P().func_185917_h() && !this.hasTileEntity(silk_check_state.get()); } - protected ItemStack func_180643_i(IBlockState p_180643_1_) -@@ -747,9 +764,11 @@ - p_176216_2_.field_70181_x = 0.0D; + @Nullable +@@ -788,9 +805,11 @@ } + @Nullable + @Deprecated // Forge: Use more sensitive version below: getPickBlock public ItemStack func_185473_a(World p_185473_1_, BlockPos p_185473_2_, IBlockState p_185473_3_) { @@ -195,7 +195,7 @@ } @SideOnly(Side.CLIENT) -@@ -844,6 +863,1141 @@ +@@ -887,6 +906,1141 @@ return "Block{" + field_149771_c.func_177774_c(this) + "}"; } @@ -842,11 +842,11 @@ + * @param state The current state + * @param world The current world + * @param target The target the player is looking at {x/y/z/side/sub} -+ * @param effectRenderer A reference to the current effect renderer. ++ * @param manager A reference to the current particle manager. + * @return True to prevent vanilla digging particles form spawning. + */ + @SideOnly(Side.CLIENT) -+ public boolean addHitEffects(IBlockState state, World worldObj, RayTraceResult target, net.minecraft.client.particle.EffectRenderer effectRenderer) ++ public boolean addHitEffects(IBlockState state, World worldObj, RayTraceResult target, net.minecraft.client.particle.ParticleManager manager) + { + return false; + } @@ -859,11 +859,11 @@ + * + * @param world The current world + * @param pos Position to spawn the particle -+ * @param effectRenderer A reference to the current effect renderer. ++ * @param manager A reference to the current particle manager. + * @return True to prevent vanilla break particles from spawning. + */ + @SideOnly(Side.CLIENT) -+ public boolean addDestroyEffects(World world, BlockPos pos, net.minecraft.client.particle.EffectRenderer effectRenderer) ++ public boolean addDestroyEffects(World world, BlockPos pos, net.minecraft.client.particle.ParticleManager manager) + { + return false; + } diff --git a/patches/minecraft/net/minecraft/block/BlockBanner.java.patch b/patches/minecraft/net/minecraft/block/BlockBanner.java.patch index f2e82e73e..aa5eb1502 100644 --- a/patches/minecraft/net/minecraft/block/BlockBanner.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockBanner.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockBanner.java +++ ../src-work/minecraft/net/minecraft/block/BlockBanner.java -@@ -104,14 +104,7 @@ +@@ -107,14 +107,7 @@ public void func_180653_a(World p_180653_1_, BlockPos p_180653_2_, IBlockState p_180653_3_, float p_180653_4_, int p_180653_5_) { @@ -15,7 +15,7 @@ super.func_180653_a(p_180653_1_, p_180653_2_, p_180653_3_, p_180653_4_, p_180653_5_); } } -@@ -138,6 +131,28 @@ +@@ -141,6 +134,28 @@ } } diff --git a/patches/minecraft/net/minecraft/block/BlockBush.java.patch b/patches/minecraft/net/minecraft/block/BlockBush.java.patch index 1bd0b0e43..03f7cde2e 100644 --- a/patches/minecraft/net/minecraft/block/BlockBush.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockBush.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockBush.java +++ ../src-work/minecraft/net/minecraft/block/BlockBush.java -@@ -14,7 +14,7 @@ +@@ -15,7 +15,7 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -9,7 +9,7 @@ { protected static final AxisAlignedBB field_185515_b = new AxisAlignedBB(0.30000001192092896D, 0.0D, 0.30000001192092896D, 0.699999988079071D, 0.6000000238418579D, 0.699999988079071D); -@@ -37,7 +37,8 @@ +@@ -38,7 +38,8 @@ public boolean func_176196_c(World p_176196_1_, BlockPos p_176196_2_) { @@ -19,7 +19,7 @@ } protected boolean func_185514_i(IBlockState p_185514_1_) -@@ -67,6 +68,11 @@ +@@ -68,6 +69,11 @@ public boolean func_180671_f(World p_180671_1_, BlockPos p_180671_2_, IBlockState p_180671_3_) { @@ -31,7 +31,7 @@ return this.func_185514_i(p_180671_1_.func_180495_p(p_180671_2_.func_177977_b())); } -@@ -90,6 +96,35 @@ +@@ -92,6 +98,35 @@ return false; } diff --git a/patches/minecraft/net/minecraft/block/BlockButton.java.patch b/patches/minecraft/net/minecraft/block/BlockButton.java.patch index 984b01117..d79d251a1 100644 --- a/patches/minecraft/net/minecraft/block/BlockButton.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockButton.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockButton.java +++ ../src-work/minecraft/net/minecraft/block/BlockButton.java -@@ -89,7 +89,7 @@ +@@ -91,7 +91,7 @@ protected static boolean func_181088_a(World p_181088_0_, BlockPos p_181088_1_, EnumFacing p_181088_2_) { BlockPos blockpos = p_181088_1_.func_177972_a(p_181088_2_); diff --git a/patches/minecraft/net/minecraft/block/BlockChest.java.patch b/patches/minecraft/net/minecraft/block/BlockChest.java.patch index 4141d144f..bb875f7ab 100644 --- a/patches/minecraft/net/minecraft/block/BlockChest.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockChest.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockChest.java +++ ../src-work/minecraft/net/minecraft/block/BlockChest.java -@@ -506,7 +506,7 @@ +@@ -514,7 +514,7 @@ private boolean func_176456_n(World p_176456_1_, BlockPos p_176456_2_) { diff --git a/patches/minecraft/net/minecraft/block/BlockCrops.java.patch b/patches/minecraft/net/minecraft/block/BlockCrops.java.patch index bd8c46996..9ecf1fe8e 100644 --- a/patches/minecraft/net/minecraft/block/BlockCrops.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockCrops.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockCrops.java +++ ../src-work/minecraft/net/minecraft/block/BlockCrops.java -@@ -116,11 +116,11 @@ +@@ -117,11 +117,11 @@ float f1 = 0.0F; IBlockState iblockstate = p_180672_1_.func_180495_p(blockpos.func_177982_a(i, 0, j)); @@ -14,7 +14,7 @@ { f1 = 3.0F; } -@@ -161,7 +161,8 @@ +@@ -162,7 +162,8 @@ public boolean func_180671_f(World p_180671_1_, BlockPos p_180671_2_, IBlockState p_180671_3_) { @@ -24,7 +24,7 @@ } protected Item func_149866_i() -@@ -174,11 +175,33 @@ +@@ -175,11 +176,33 @@ return Items.field_151015_O; } diff --git a/patches/minecraft/net/minecraft/block/BlockDeadBush.java.patch b/patches/minecraft/net/minecraft/block/BlockDeadBush.java.patch index 5ef70af15..8264ec529 100644 --- a/patches/minecraft/net/minecraft/block/BlockDeadBush.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockDeadBush.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockDeadBush.java +++ ../src-work/minecraft/net/minecraft/block/BlockDeadBush.java -@@ -16,7 +16,7 @@ +@@ -17,7 +17,7 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -9,16 +9,16 @@ { protected static final AxisAlignedBB field_185516_a = new AxisAlignedBB(0.09999999403953552D, 0.0D, 0.09999999403953552D, 0.8999999761581421D, 0.800000011920929D, 0.8999999761581421D); -@@ -57,7 +57,7 @@ +@@ -59,7 +59,7 @@ - public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, TileEntity p_180657_5_, ItemStack p_180657_6_) + public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, @Nullable TileEntity p_180657_5_, @Nullable ItemStack p_180657_6_) { - if (!p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ) + if (false && !p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ) // Forge: Noop { p_180657_2_.func_71029_a(StatList.func_188055_a(this)); func_180635_a(p_180657_1_, p_180657_3_, new ItemStack(Blocks.field_150330_I, 1, 0)); -@@ -67,4 +67,11 @@ +@@ -69,4 +69,11 @@ super.func_180657_a(p_180657_1_, p_180657_2_, p_180657_3_, p_180657_4_, p_180657_5_, p_180657_6_); } } diff --git a/patches/minecraft/net/minecraft/block/BlockDoor.java.patch b/patches/minecraft/net/minecraft/block/BlockDoor.java.patch index 51d575be8..a97b2f3b9 100644 --- a/patches/minecraft/net/minecraft/block/BlockDoor.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockDoor.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockDoor.java +++ ../src-work/minecraft/net/minecraft/block/BlockDoor.java -@@ -107,7 +107,7 @@ +@@ -108,7 +108,7 @@ { if (this.field_149764_J == Material.field_151573_f) { @@ -9,7 +9,7 @@ } else { -@@ -219,7 +219,7 @@ +@@ -221,7 +221,7 @@ public boolean func_176196_c(World p_176196_1_, BlockPos p_176196_2_) { diff --git a/patches/minecraft/net/minecraft/block/BlockDoublePlant.java.patch b/patches/minecraft/net/minecraft/block/BlockDoublePlant.java.patch index 1a92f21a6..d9174d467 100644 --- a/patches/minecraft/net/minecraft/block/BlockDoublePlant.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockDoublePlant.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockDoublePlant.java +++ ../src-work/minecraft/net/minecraft/block/BlockDoublePlant.java -@@ -25,7 +25,7 @@ +@@ -26,7 +26,7 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -9,7 +9,7 @@ { public static final PropertyEnum field_176493_a = PropertyEnum.func_177709_a("variant", BlockDoublePlant.EnumPlantType.class); public static final PropertyEnum field_176492_b = PropertyEnum.func_177709_a("half", BlockDoublePlant.EnumBlockHalf.class); -@@ -88,6 +88,8 @@ +@@ -89,6 +89,8 @@ Block block = (Block)(flag ? this : p_176475_1_.func_180495_p(blockpos).func_177230_c()); Block block1 = (Block)(flag ? p_176475_1_.func_180495_p(blockpos1).func_177230_c() : this); @@ -18,7 +18,7 @@ if (block == this) { p_176475_1_.func_180501_a(blockpos, Blocks.field_150350_a.func_176223_P(), 2); -@@ -96,17 +98,13 @@ +@@ -97,17 +99,13 @@ if (block1 == this) { p_176475_1_.func_180501_a(blockpos1, Blocks.field_150350_a.func_176223_P(), 3); @@ -37,15 +37,15 @@ if (p_180671_3_.func_177229_b(field_176492_b) == BlockDoublePlant.EnumBlockHalf.UPPER) { return p_180671_1_.func_180495_p(p_180671_2_.func_177977_b()).func_177230_c() == this; -@@ -149,7 +147,6 @@ +@@ -151,7 +149,6 @@ - public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, TileEntity p_180657_5_, ItemStack p_180657_6_) + public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, @Nullable TileEntity p_180657_5_, @Nullable ItemStack p_180657_6_) { - if (p_180657_1_.field_72995_K || p_180657_6_ == null || p_180657_6_.func_77973_b() != Items.field_151097_aZ || p_180657_4_.func_177229_b(field_176492_b) != BlockDoublePlant.EnumBlockHalf.LOWER || !this.func_176489_b(p_180657_1_, p_180657_3_, p_180657_4_, p_180657_2_)) { super.func_180657_a(p_180657_1_, p_180657_2_, p_180657_3_, p_180657_4_, p_180657_5_, p_180657_6_); } -@@ -212,8 +209,6 @@ +@@ -214,8 +211,6 @@ else { p_176489_4_.func_71029_a(StatList.func_188055_a(this)); @@ -54,7 +54,7 @@ return true; } } -@@ -284,6 +279,33 @@ +@@ -286,6 +281,33 @@ return Block.EnumOffsetType.XZ; } diff --git a/patches/minecraft/net/minecraft/block/BlockDragonEgg.java.patch b/patches/minecraft/net/minecraft/block/BlockDragonEgg.java.patch index 2eb9dd2a2..3dd148bd4 100644 --- a/patches/minecraft/net/minecraft/block/BlockDragonEgg.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockDragonEgg.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockDragonEgg.java +++ ../src-work/minecraft/net/minecraft/block/BlockDragonEgg.java -@@ -48,7 +48,7 @@ +@@ -49,7 +49,7 @@ private void func_180683_d(World p_180683_1_, BlockPos p_180683_2_) { @@ -9,7 +9,7 @@ { int i = 32; -@@ -61,7 +61,7 @@ +@@ -62,7 +62,7 @@ p_180683_1_.func_175698_g(p_180683_2_); BlockPos blockpos; diff --git a/patches/minecraft/net/minecraft/block/BlockDropper.java.patch b/patches/minecraft/net/minecraft/block/BlockDropper.java.patch index e6c1bce0b..5145575b8 100644 --- a/patches/minecraft/net/minecraft/block/BlockDropper.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockDropper.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockDropper.java +++ ../src-work/minecraft/net/minecraft/block/BlockDropper.java -@@ -43,7 +43,7 @@ +@@ -44,7 +44,7 @@ { ItemStack itemstack = tileentitydispenser.func_70301_a(i); diff --git a/patches/minecraft/net/minecraft/block/BlockFarmland.java.patch b/patches/minecraft/net/minecraft/block/BlockFarmland.java.patch index 6332eeec8..902edd016 100644 --- a/patches/minecraft/net/minecraft/block/BlockFarmland.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockFarmland.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockFarmland.java +++ ../src-work/minecraft/net/minecraft/block/BlockFarmland.java -@@ -87,7 +87,7 @@ +@@ -89,7 +89,7 @@ private boolean func_176529_d(World p_176529_1_, BlockPos p_176529_2_) { Block block = p_176529_1_.func_180495_p(p_176529_2_.func_177984_a()).func_177230_c(); diff --git a/patches/minecraft/net/minecraft/block/BlockFire.java.patch b/patches/minecraft/net/minecraft/block/BlockFire.java.patch index 62f2ba905..ad30232b3 100644 --- a/patches/minecraft/net/minecraft/block/BlockFire.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockFire.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockFire.java +++ ../src-work/minecraft/net/minecraft/block/BlockFire.java -@@ -37,7 +37,15 @@ +@@ -38,7 +38,15 @@ public IBlockState func_176221_a(IBlockState p_176221_1_, IBlockAccess p_176221_2_, BlockPos p_176221_3_) { @@ -17,7 +17,7 @@ } protected BlockFire() -@@ -90,6 +98,7 @@ +@@ -91,6 +99,7 @@ public void func_180686_a(Block p_180686_1_, int p_180686_2_, int p_180686_3_) { @@ -25,7 +25,7 @@ this.field_149849_a.put(p_180686_1_, Integer.valueOf(p_180686_2_)); this.field_149848_b.put(p_180686_1_, Integer.valueOf(p_180686_3_)); } -@@ -129,13 +138,8 @@ +@@ -131,13 +140,8 @@ } Block block = p_180650_1_.func_180495_p(p_180650_2_.func_177977_b()).func_177230_c(); @@ -40,7 +40,7 @@ int i = ((Integer)p_180650_3_.func_177229_b(field_176543_a)).intValue(); if (!flag && p_180650_1_.func_72896_J() && this.func_176537_d(p_180650_1_, p_180650_2_) && p_180650_4_.nextFloat() < 0.2F + (float)i * 0.03F) -@@ -156,7 +160,7 @@ +@@ -158,7 +162,7 @@ { if (!this.func_176533_e(p_180650_1_, p_180650_2_)) { @@ -49,7 +49,7 @@ { p_180650_1_.func_175698_g(p_180650_2_); } -@@ -164,7 +168,7 @@ +@@ -166,7 +170,7 @@ return; } @@ -58,7 +58,7 @@ { p_180650_1_.func_175698_g(p_180650_2_); return; -@@ -179,12 +183,12 @@ +@@ -181,12 +185,12 @@ j = -50; } @@ -77,7 +77,7 @@ for (int k = -1; k <= 1; ++k) { -@@ -243,45 +247,53 @@ +@@ -245,22 +249,30 @@ return false; } @@ -102,44 +102,14 @@ + this.tryCatchFire(p_176536_1_, p_176536_2_, p_176536_3_, p_176536_4_, p_176536_5_, EnumFacing.UP); + } -- if (p_176536_4_.nextInt(p_176536_3_) < i) -+ private void tryCatchFire(World worldIn, BlockPos pos, int chance, Random random, int age, EnumFacing face) ++ private void tryCatchFire(World p_176536_1_, BlockPos p_176536_2_, int p_176536_3_, Random p_176536_4_, int p_176536_5_, EnumFacing face) + { -+ int i = worldIn.func_180495_p(pos).func_177230_c().getFlammability(worldIn, pos, face); ++ int i = p_176536_1_.func_180495_p(p_176536_2_).func_177230_c().getFlammability(p_176536_1_, p_176536_2_, face); + -+ if (random.nextInt(chance) < i) + if (p_176536_4_.nextInt(p_176536_3_) < i) { -- IBlockState iblockstate = p_176536_1_.func_180495_p(p_176536_2_); -+ IBlockState iblockstate = worldIn.func_180495_p(pos); - -- if (p_176536_4_.nextInt(p_176536_5_ + 10) < 5 && !p_176536_1_.func_175727_C(p_176536_2_)) -+ if (random.nextInt(age + 10) < 5 && !worldIn.func_175727_C(pos)) - { -- int j = p_176536_5_ + p_176536_4_.nextInt(5) / 4; -+ int j = age + random.nextInt(5) / 4; - - if (j > 15) - { - j = 15; - } - -- p_176536_1_.func_180501_a(p_176536_2_, this.func_176223_P().func_177226_a(field_176543_a, Integer.valueOf(j)), 3); -+ worldIn.func_180501_a(pos, this.func_176223_P().func_177226_a(field_176543_a, Integer.valueOf(j)), 3); - } - else - { -- p_176536_1_.func_175698_g(p_176536_2_); -+ worldIn.func_175698_g(pos); - } - - if (iblockstate.func_177230_c() == Blocks.field_150335_W) - { -- Blocks.field_150335_W.func_176206_d(p_176536_1_, p_176536_2_, iblockstate.func_177226_a(BlockTNT.field_176246_a, Boolean.valueOf(true))); -+ Blocks.field_150335_W.func_176206_d(worldIn, pos, iblockstate.func_177226_a(BlockTNT.field_176246_a, Boolean.valueOf(true))); - } - } - } -@@ -290,7 +302,7 @@ + IBlockState iblockstate = p_176536_1_.func_180495_p(p_176536_2_); +@@ -292,7 +304,7 @@ { for (EnumFacing enumfacing : EnumFacing.values()) { @@ -148,7 +118,7 @@ { return true; } -@@ -311,7 +323,7 @@ +@@ -313,7 +325,7 @@ for (EnumFacing enumfacing : EnumFacing.values()) { @@ -157,7 +127,7 @@ } return i; -@@ -323,9 +335,10 @@ +@@ -325,9 +337,10 @@ return false; } @@ -169,7 +139,7 @@ } public boolean func_176196_c(World p_176196_1_, BlockPos p_176196_2_) -@@ -364,9 +377,9 @@ +@@ -366,9 +379,9 @@ p_180655_2_.func_184134_a((double)((float)p_180655_3_.func_177958_n() + 0.5F), (double)((float)p_180655_3_.func_177956_o() + 0.5F), (double)((float)p_180655_3_.func_177952_p() + 0.5F), SoundEvents.field_187643_bs, SoundCategory.BLOCKS, 1.0F + p_180655_4_.nextFloat(), p_180655_4_.nextFloat() * 0.7F + 0.3F, false); } @@ -181,7 +151,7 @@ { for (int j = 0; j < 2; ++j) { -@@ -377,7 +390,7 @@ +@@ -379,7 +392,7 @@ } } @@ -190,7 +160,7 @@ { for (int k = 0; k < 2; ++k) { -@@ -388,7 +401,7 @@ +@@ -390,7 +403,7 @@ } } @@ -199,7 +169,7 @@ { for (int l = 0; l < 2; ++l) { -@@ -399,7 +412,7 @@ +@@ -401,7 +414,7 @@ } } @@ -208,7 +178,7 @@ { for (int i1 = 0; i1 < 2; ++i1) { -@@ -410,7 +423,7 @@ +@@ -412,7 +425,7 @@ } } @@ -217,7 +187,7 @@ { for (int j1 = 0; j1 < 2; ++j1) { -@@ -458,4 +471,19 @@ +@@ -460,4 +473,19 @@ { return new BlockStateContainer(this, new IProperty[] {field_176543_a, field_176545_N, field_176546_O, field_176541_P, field_176539_Q, field_176542_R}); } diff --git a/patches/minecraft/net/minecraft/block/BlockFlowerPot.java.patch b/patches/minecraft/net/minecraft/block/BlockFlowerPot.java.patch index cf36d9316..5b2e21741 100644 --- a/patches/minecraft/net/minecraft/block/BlockFlowerPot.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockFlowerPot.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockFlowerPot.java +++ ../src-work/minecraft/net/minecraft/block/BlockFlowerPot.java -@@ -148,13 +148,6 @@ +@@ -149,13 +149,6 @@ public void func_180663_b(World p_180663_1_, BlockPos p_180663_2_, IBlockState p_180663_3_) { @@ -14,7 +14,7 @@ super.func_180663_b(p_180663_1_, p_180663_2_, p_180663_3_); } -@@ -374,6 +367,31 @@ +@@ -377,6 +370,31 @@ return BlockRenderLayer.CUTOUT; } diff --git a/patches/minecraft/net/minecraft/block/BlockGrass.java.patch b/patches/minecraft/net/minecraft/block/BlockGrass.java.patch index d56f0539b..d675df174 100644 --- a/patches/minecraft/net/minecraft/block/BlockGrass.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockGrass.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockGrass.java +++ ../src-work/minecraft/net/minecraft/block/BlockGrass.java -@@ -38,7 +38,7 @@ +@@ -39,7 +39,7 @@ { if (!p_180650_1_.field_72995_K) { @@ -9,7 +9,7 @@ { p_180650_1_.func_175656_a(p_180650_2_, Blocks.field_150346_d.func_176223_P()); } -@@ -58,7 +58,7 @@ +@@ -59,7 +59,7 @@ IBlockState iblockstate = p_180650_1_.func_180495_p(blockpos.func_177984_a()); IBlockState iblockstate1 = p_180650_1_.func_180495_p(blockpos); @@ -18,7 +18,7 @@ { p_180650_1_.func_175656_a(blockpos, Blocks.field_150349_c.func_176223_P()); } -@@ -96,7 +96,7 @@ +@@ -98,7 +98,7 @@ { if (j >= i / 16) { diff --git a/patches/minecraft/net/minecraft/block/BlockHugeMushroom.java.patch b/patches/minecraft/net/minecraft/block/BlockHugeMushroom.java.patch index c4f0ba396..1c4c23501 100644 --- a/patches/minecraft/net/minecraft/block/BlockHugeMushroom.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockHugeMushroom.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockHugeMushroom.java +++ ../src-work/minecraft/net/minecraft/block/BlockHugeMushroom.java -@@ -221,6 +221,20 @@ +@@ -223,6 +223,20 @@ return new BlockStateContainer(this, new IProperty[] {field_176380_a}); } diff --git a/patches/minecraft/net/minecraft/block/BlockIce.java.patch b/patches/minecraft/net/minecraft/block/BlockIce.java.patch index e7570c693..9abffdf1b 100644 --- a/patches/minecraft/net/minecraft/block/BlockIce.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockIce.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockIce.java +++ ../src-work/minecraft/net/minecraft/block/BlockIce.java -@@ -40,14 +40,19 @@ +@@ -41,14 +41,19 @@ p_180657_2_.func_71029_a(StatList.func_188055_a(this)); p_180657_2_.func_71020_j(0.025F); @@ -22,7 +22,7 @@ } else { -@@ -58,7 +63,9 @@ +@@ -59,7 +64,9 @@ } int i = EnchantmentHelper.func_77506_a(Enchantments.field_185308_t, p_180657_6_); diff --git a/patches/minecraft/net/minecraft/block/BlockLeaves.java.patch b/patches/minecraft/net/minecraft/block/BlockLeaves.java.patch index 201fd6013..be6d95bd8 100644 --- a/patches/minecraft/net/minecraft/block/BlockLeaves.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockLeaves.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockLeaves.java +++ ../src-work/minecraft/net/minecraft/block/BlockLeaves.java -@@ -17,7 +17,7 @@ +@@ -18,7 +18,7 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -9,7 +9,7 @@ { public static final PropertyBool field_176237_a = PropertyBool.func_177716_a("decayable"); public static final PropertyBool field_176236_b = PropertyBool.func_177716_a("check_decay"); -@@ -53,9 +53,9 @@ +@@ -54,9 +54,9 @@ BlockPos blockpos = p_180663_2_.func_177982_a(j1, k1, l1); IBlockState iblockstate = p_180663_1_.func_180495_p(blockpos); @@ -21,7 +21,7 @@ } } } -@@ -96,9 +96,9 @@ +@@ -97,9 +97,9 @@ IBlockState iblockstate = p_180650_1_.func_180495_p(blockpos$mutableblockpos.func_181079_c(k + i2, l + j2, i1 + k2)); Block block = iblockstate.func_177230_c(); @@ -33,7 +33,7 @@ { this.field_150128_a[(i2 + l1) * k1 + (j2 + l1) * j1 + k2 + l1] = -2; } -@@ -205,40 +205,7 @@ +@@ -207,40 +207,7 @@ public void func_180653_a(World p_180653_1_, BlockPos p_180653_2_, IBlockState p_180653_3_, float p_180653_4_, int p_180653_5_) { @@ -75,7 +75,7 @@ } protected void func_176234_a(World p_176234_1_, BlockPos p_176234_2_, IBlockState p_176234_3_, int p_176234_4_) -@@ -274,6 +241,49 @@ +@@ -276,6 +243,49 @@ public abstract BlockPlanks.EnumType func_176233_b(int p_176233_1_); diff --git a/patches/minecraft/net/minecraft/block/BlockLever.java.patch b/patches/minecraft/net/minecraft/block/BlockLever.java.patch index b3e399cd0..f48e9f4ab 100644 --- a/patches/minecraft/net/minecraft/block/BlockLever.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockLever.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockLever.java +++ ../src-work/minecraft/net/minecraft/block/BlockLever.java -@@ -295,6 +295,12 @@ +@@ -297,6 +297,12 @@ return new BlockStateContainer(this, new IProperty[] {field_176360_a, field_176359_b}); } diff --git a/patches/minecraft/net/minecraft/block/BlockMobSpawner.java.patch b/patches/minecraft/net/minecraft/block/BlockMobSpawner.java.patch index 49d79f3fc..eaf055571 100644 --- a/patches/minecraft/net/minecraft/block/BlockMobSpawner.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockMobSpawner.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockMobSpawner.java +++ ../src-work/minecraft/net/minecraft/block/BlockMobSpawner.java -@@ -39,10 +39,14 @@ +@@ -41,10 +41,14 @@ public void func_180653_a(World p_180653_1_, BlockPos p_180653_2_, IBlockState p_180653_3_, float p_180653_4_, int p_180653_5_) { super.func_180653_a(p_180653_1_, p_180653_2_, p_180653_3_, p_180653_4_, p_180653_5_); diff --git a/patches/minecraft/net/minecraft/block/BlockMycelium.java.patch b/patches/minecraft/net/minecraft/block/BlockMycelium.java.patch index f97644492..67477c39b 100644 --- a/patches/minecraft/net/minecraft/block/BlockMycelium.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockMycelium.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockMycelium.java +++ ../src-work/minecraft/net/minecraft/block/BlockMycelium.java -@@ -39,7 +39,7 @@ +@@ -40,7 +40,7 @@ { if (!p_180650_1_.field_72995_K) { @@ -9,7 +9,7 @@ { p_180650_1_.func_175656_a(p_180650_2_, Blocks.field_150346_d.func_176223_P().func_177226_a(BlockDirt.field_176386_a, BlockDirt.DirtType.DIRT)); } -@@ -53,7 +53,7 @@ +@@ -54,7 +54,7 @@ IBlockState iblockstate = p_180650_1_.func_180495_p(blockpos); IBlockState iblockstate1 = p_180650_1_.func_180495_p(blockpos.func_177984_a()); diff --git a/patches/minecraft/net/minecraft/block/BlockNetherWart.java.patch b/patches/minecraft/net/minecraft/block/BlockNetherWart.java.patch index 3424c6cd8..a9f312ffa 100644 --- a/patches/minecraft/net/minecraft/block/BlockNetherWart.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockNetherWart.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockNetherWart.java +++ ../src-work/minecraft/net/minecraft/block/BlockNetherWart.java -@@ -42,7 +42,7 @@ +@@ -43,7 +43,7 @@ public boolean func_180671_f(World p_180671_1_, BlockPos p_180671_2_, IBlockState p_180671_3_) { @@ -9,7 +9,7 @@ } public void func_180650_b(World p_180650_1_, BlockPos p_180650_2_, IBlockState p_180650_3_, Random p_180650_4_) -@@ -58,9 +58,11 @@ +@@ -59,9 +59,11 @@ super.func_180650_b(p_180650_1_, p_180650_2_, p_180650_3_, p_180650_4_); } @@ -22,7 +22,7 @@ { int i = 1; -@@ -106,6 +108,26 @@ +@@ -108,6 +110,26 @@ return ((Integer)p_176201_1_.func_177229_b(field_176486_a)).intValue(); } diff --git a/patches/minecraft/net/minecraft/block/BlockNewLeaf.java.patch b/patches/minecraft/net/minecraft/block/BlockNewLeaf.java.patch index 7efe335af..12f218dfa 100644 --- a/patches/minecraft/net/minecraft/block/BlockNewLeaf.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockNewLeaf.java.patch @@ -1,15 +1,15 @@ --- ../src-base/minecraft/net/minecraft/block/BlockNewLeaf.java +++ ../src-work/minecraft/net/minecraft/block/BlockNewLeaf.java -@@ -98,7 +98,7 @@ +@@ -99,7 +99,7 @@ - public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, TileEntity p_180657_5_, ItemStack p_180657_6_) + public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, @Nullable TileEntity p_180657_5_, @Nullable ItemStack p_180657_6_) { - if (!p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ) + if (false && !p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ) //Forge: Noop this { p_180657_2_.func_71029_a(StatList.func_188055_a(this)); func_180635_a(p_180657_1_, p_180657_3_, new ItemStack(Item.func_150898_a(this), 1, ((BlockPlanks.EnumType)p_180657_4_.func_177229_b(field_176240_P)).func_176839_a() - 4)); -@@ -108,4 +108,10 @@ +@@ -109,4 +109,10 @@ super.func_180657_a(p_180657_1_, p_180657_2_, p_180657_3_, p_180657_4_, p_180657_5_, p_180657_6_); } } diff --git a/patches/minecraft/net/minecraft/block/BlockNote.java.patch b/patches/minecraft/net/minecraft/block/BlockNote.java.patch index 68bc8aa6d..a40bace0f 100644 --- a/patches/minecraft/net/minecraft/block/BlockNote.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockNote.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockNote.java +++ ../src-work/minecraft/net/minecraft/block/BlockNote.java -@@ -64,7 +64,9 @@ +@@ -65,7 +65,9 @@ if (tileentity instanceof TileEntityNote) { TileEntityNote tileentitynote = (TileEntityNote)tileentity; @@ -10,14 +10,14 @@ tileentitynote.func_175108_a(p_180639_1_, p_180639_2_); p_180639_4_.func_71029_a(StatList.field_188087_U); } -@@ -104,6 +106,10 @@ +@@ -105,6 +107,10 @@ - public boolean func_180648_a(World p_180648_1_, BlockPos p_180648_2_, IBlockState p_180648_3_, int p_180648_4_, int p_180648_5_) + public boolean func_189539_a(IBlockState p_189539_1_, World p_189539_2_, BlockPos p_189539_3_, int p_189539_4_, int p_189539_5_) { -+ net.minecraftforge.event.world.NoteBlockEvent.Play e = new net.minecraftforge.event.world.NoteBlockEvent.Play(p_180648_1_, p_180648_2_, p_180648_3_, p_180648_5_, p_180648_4_); ++ net.minecraftforge.event.world.NoteBlockEvent.Play e = new net.minecraftforge.event.world.NoteBlockEvent.Play(p_189539_2_, p_189539_3_, p_189539_1_, p_189539_5_, p_189539_4_); + if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(e)) return false; -+ p_180648_4_ = e.getInstrument().ordinal(); -+ p_180648_5_ = e.getVanillaNoteId(); - float f = (float)Math.pow(2.0D, (double)(p_180648_5_ - 12) / 12.0D); - p_180648_1_.func_184133_a((EntityPlayer)null, p_180648_2_, this.func_185576_e(p_180648_4_), SoundCategory.BLOCKS, 3.0F, f); - p_180648_1_.func_175688_a(EnumParticleTypes.NOTE, (double)p_180648_2_.func_177958_n() + 0.5D, (double)p_180648_2_.func_177956_o() + 1.2D, (double)p_180648_2_.func_177952_p() + 0.5D, (double)p_180648_5_ / 24.0D, 0.0D, 0.0D, new int[0]); ++ p_189539_4_ = e.getInstrument().ordinal(); ++ p_189539_5_ = e.getVanillaNoteId(); + float f = (float)Math.pow(2.0D, (double)(p_189539_5_ - 12) / 12.0D); + p_189539_2_.func_184133_a((EntityPlayer)null, p_189539_3_, this.func_185576_e(p_189539_4_), SoundCategory.BLOCKS, 3.0F, f); + p_189539_2_.func_175688_a(EnumParticleTypes.NOTE, (double)p_189539_3_.func_177958_n() + 0.5D, (double)p_189539_3_.func_177956_o() + 1.2D, (double)p_189539_3_.func_177952_p() + 0.5D, (double)p_189539_5_ / 24.0D, 0.0D, 0.0D, new int[0]); diff --git a/patches/minecraft/net/minecraft/block/BlockOldLeaf.java.patch b/patches/minecraft/net/minecraft/block/BlockOldLeaf.java.patch index a9f19415b..70af2e65e 100644 --- a/patches/minecraft/net/minecraft/block/BlockOldLeaf.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockOldLeaf.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockOldLeaf.java +++ ../src-work/minecraft/net/minecraft/block/BlockOldLeaf.java -@@ -103,11 +103,16 @@ +@@ -104,11 +104,16 @@ if (!p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ) { p_180657_2_.func_71029_a(StatList.func_188055_a(this)); diff --git a/patches/minecraft/net/minecraft/block/BlockOre.java.patch b/patches/minecraft/net/minecraft/block/BlockOre.java.patch index 15b1046bc..a73fdb7e1 100644 --- a/patches/minecraft/net/minecraft/block/BlockOre.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockOre.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockOre.java +++ ../src-work/minecraft/net/minecraft/block/BlockOre.java -@@ -59,34 +59,39 @@ +@@ -61,34 +61,39 @@ public void func_180653_a(World p_180653_1_, BlockPos p_180653_2_, IBlockState p_180653_3_, float p_180653_4_, int p_180653_5_) { super.func_180653_a(p_180653_1_, p_180653_2_, p_180653_3_, p_180653_4_, p_180653_5_); diff --git a/patches/minecraft/net/minecraft/block/BlockPane.java.patch b/patches/minecraft/net/minecraft/block/BlockPane.java.patch index 0d9d74407..cd313a6cc 100644 --- a/patches/minecraft/net/minecraft/block/BlockPane.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockPane.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockPane.java +++ ../src-work/minecraft/net/minecraft/block/BlockPane.java -@@ -105,7 +105,10 @@ +@@ -106,7 +106,10 @@ public IBlockState func_176221_a(IBlockState p_176221_1_, IBlockAccess p_176221_2_, BlockPos p_176221_3_) { @@ -11,8 +11,8 @@ + .func_177226_a(field_176242_M, canPaneConnectTo(p_176221_2_, p_176221_3_, EnumFacing.EAST)); } - public Item func_180660_a(IBlockState p_180660_1_, Random p_180660_2_, int p_180660_3_) -@@ -182,4 +185,11 @@ + @Nullable +@@ -184,4 +187,11 @@ { return new BlockStateContainer(this, new IProperty[] {field_176241_b, field_176242_M, field_176244_O, field_176243_N}); } diff --git a/patches/minecraft/net/minecraft/block/BlockPistonBase.java.patch b/patches/minecraft/net/minecraft/block/BlockPistonBase.java.patch index d3d13188c..063eab9f8 100644 --- a/patches/minecraft/net/minecraft/block/BlockPistonBase.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockPistonBase.java.patch @@ -1,15 +1,15 @@ --- ../src-base/minecraft/net/minecraft/block/BlockPistonBase.java +++ ../src-work/minecraft/net/minecraft/block/BlockPistonBase.java -@@ -235,7 +235,7 @@ +@@ -236,7 +236,7 @@ } } -- if (!flag1 && iblockstate.func_185904_a() != Material.field_151579_a && func_185646_a(iblockstate, p_180648_1_, blockpos, enumfacing.func_176734_d(), false) && (iblockstate.func_185905_o() == EnumPushReaction.NORMAL || block == Blocks.field_150331_J || block == Blocks.field_150320_F)) -+ if (!flag1 && !iblockstate.func_177230_c().isAir(iblockstate, p_180648_1_, blockpos) && func_185646_a(iblockstate, p_180648_1_, blockpos, enumfacing.func_176734_d(), false) && (iblockstate.func_185905_o() == EnumPushReaction.NORMAL || block == Blocks.field_150331_J || block == Blocks.field_150320_F)) +- if (!flag1 && iblockstate.func_185904_a() != Material.field_151579_a && func_185646_a(iblockstate, p_189539_2_, blockpos, enumfacing.func_176734_d(), false) && (iblockstate.func_185905_o() == EnumPushReaction.NORMAL || block == Blocks.field_150331_J || block == Blocks.field_150320_F)) ++ if (!flag1 && !iblockstate.func_177230_c().isAir(iblockstate, p_189539_2_, p_189539_3_) && func_185646_a(iblockstate, p_189539_2_, blockpos, enumfacing.func_176734_d(), false) && (iblockstate.func_185905_o() == EnumPushReaction.NORMAL || block == Blocks.field_150331_J || block == Blocks.field_150320_F)) { - this.func_176319_a(p_180648_1_, p_180648_2_, enumfacing, false); + this.func_176319_a(p_189539_2_, p_189539_3_, enumfacing, false); } -@@ -320,7 +320,7 @@ +@@ -322,7 +322,7 @@ return false; } @@ -18,7 +18,7 @@ } else { -@@ -366,7 +366,9 @@ +@@ -368,7 +368,9 @@ { BlockPos blockpos1 = (BlockPos)list2.get(j); IBlockState iblockstate = p_176319_1_.func_180495_p(blockpos1); diff --git a/patches/minecraft/net/minecraft/block/BlockPistonMoving.java.patch b/patches/minecraft/net/minecraft/block/BlockPistonMoving.java.patch index 9cbc42a5d..cebd6c619 100644 --- a/patches/minecraft/net/minecraft/block/BlockPistonMoving.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockPistonMoving.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockPistonMoving.java +++ ../src-work/minecraft/net/minecraft/block/BlockPistonMoving.java -@@ -110,7 +110,7 @@ +@@ -112,7 +112,7 @@ public void func_180653_a(World p_180653_1_, BlockPos p_180653_2_, IBlockState p_180653_3_, float p_180653_4_, int p_180653_5_) { @@ -9,7 +9,7 @@ { TileEntityPiston tileentitypiston = this.func_185589_c(p_180653_1_, p_180653_2_); -@@ -120,6 +120,7 @@ +@@ -122,6 +122,7 @@ iblockstate.func_177230_c().func_176226_b(p_180653_1_, p_180653_2_, iblockstate, 0); } } @@ -17,7 +17,7 @@ } public RayTraceResult func_180636_a(IBlockState p_180636_1_, World p_180636_2_, BlockPos p_180636_3_, Vec3d p_180636_4_, Vec3d p_180636_5_) -@@ -190,4 +191,16 @@ +@@ -195,4 +196,16 @@ { return new BlockStateContainer(this, new IProperty[] {field_176426_a, field_176425_b}); } diff --git a/patches/minecraft/net/minecraft/block/BlockPumpkin.java.patch b/patches/minecraft/net/minecraft/block/BlockPumpkin.java.patch index 1d4332d11..6629230b8 100644 --- a/patches/minecraft/net/minecraft/block/BlockPumpkin.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockPumpkin.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockPumpkin.java +++ ../src-work/minecraft/net/minecraft/block/BlockPumpkin.java -@@ -117,7 +117,7 @@ +@@ -118,7 +118,7 @@ public boolean func_176196_c(World p_176196_1_, BlockPos p_176196_2_) { diff --git a/patches/minecraft/net/minecraft/block/BlockRailBase.java.patch b/patches/minecraft/net/minecraft/block/BlockRailBase.java.patch index 4ba016412..52830feb3 100644 --- a/patches/minecraft/net/minecraft/block/BlockRailBase.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockRailBase.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockRailBase.java +++ ../src-work/minecraft/net/minecraft/block/BlockRailBase.java -@@ -32,7 +32,7 @@ +@@ -33,7 +33,7 @@ public static boolean func_176563_d(IBlockState p_176563_0_) { Block block = p_176563_0_.func_177230_c(); @@ -9,7 +9,7 @@ } protected BlockRailBase(boolean p_i45389_1_) -@@ -65,7 +65,7 @@ +@@ -67,7 +67,7 @@ public boolean func_176196_c(World p_176196_1_, BlockPos p_176196_2_) { @@ -18,37 +18,37 @@ } public void func_176213_c(World p_176213_1_, BlockPos p_176213_2_, IBlockState p_176213_3_) -@@ -88,24 +88,24 @@ - BlockRailBase.EnumRailDirection blockrailbase$enumraildirection = (BlockRailBase.EnumRailDirection)p_176204_3_.func_177229_b(this.func_176560_l()); +@@ -90,24 +90,24 @@ + BlockRailBase.EnumRailDirection blockrailbase$enumraildirection = (BlockRailBase.EnumRailDirection)p_189540_1_.func_177229_b(this.func_176560_l()); boolean flag = false; -- if (!p_176204_1_.func_180495_p(p_176204_2_.func_177977_b()).func_185896_q()) -+ if (!p_176204_1_.func_180495_p(p_176204_2_.func_177977_b()).isSideSolid(p_176204_1_, p_176204_2_.func_177977_b(), EnumFacing.UP)) +- if (!p_189540_2_.func_180495_p(p_189540_3_.func_177977_b()).func_185896_q()) ++ if (!p_189540_2_.func_180495_p(p_189540_3_.func_177977_b()).isSideSolid(p_189540_2_, p_189540_3_.func_177977_b(), EnumFacing.UP)) { flag = true; } -- if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_EAST && !p_176204_1_.func_180495_p(p_176204_2_.func_177974_f()).func_185896_q()) -+ if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_EAST && !p_176204_1_.func_180495_p(p_176204_2_.func_177974_f()).isSideSolid(p_176204_1_, p_176204_2_.func_177974_f(), EnumFacing.UP)) +- if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_EAST && !p_189540_2_.func_180495_p(p_189540_3_.func_177974_f()).func_185896_q()) ++ if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_EAST && !p_189540_2_.func_180495_p(p_189540_3_.func_177974_f()).isSideSolid(p_189540_2_, p_189540_3_.func_177974_f(), EnumFacing.UP)) { flag = true; } -- else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_WEST && !p_176204_1_.func_180495_p(p_176204_2_.func_177976_e()).func_185896_q()) -+ else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_WEST && !p_176204_1_.func_180495_p(p_176204_2_.func_177976_e()).isSideSolid(p_176204_1_, p_176204_2_.func_177976_e(), EnumFacing.UP)) +- else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_WEST && !p_189540_2_.func_180495_p(p_189540_3_.func_177976_e()).func_185896_q()) ++ else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_WEST && !p_189540_2_.func_180495_p(p_189540_3_.func_177976_e()).isSideSolid(p_189540_2_, p_189540_3_.func_177976_e(), EnumFacing.UP)) { flag = true; } -- else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_NORTH && !p_176204_1_.func_180495_p(p_176204_2_.func_177978_c()).func_185896_q()) -+ else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_NORTH && !p_176204_1_.func_180495_p(p_176204_2_.func_177978_c()).isSideSolid(p_176204_1_, p_176204_2_.func_177978_c(), EnumFacing.UP)) +- else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_NORTH && !p_189540_2_.func_180495_p(p_189540_3_.func_177978_c()).func_185896_q()) ++ else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_NORTH && !p_189540_2_.func_180495_p(p_189540_3_.func_177978_c()).isSideSolid(p_189540_2_, p_189540_3_.func_177978_c(), EnumFacing.UP)) { flag = true; } -- else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_SOUTH && !p_176204_1_.func_180495_p(p_176204_2_.func_177968_d()).func_185896_q()) -+ else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_SOUTH && !p_176204_1_.func_180495_p(p_176204_2_.func_177968_d()).isSideSolid(p_176204_1_, p_176204_2_.func_177968_d(), EnumFacing.UP)) +- else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_SOUTH && !p_189540_2_.func_180495_p(p_189540_3_.func_177968_d()).func_185896_q()) ++ else if (blockrailbase$enumraildirection == BlockRailBase.EnumRailDirection.ASCENDING_SOUTH && !p_189540_2_.func_180495_p(p_189540_3_.func_177968_d()).isSideSolid(p_189540_2_, p_189540_3_.func_177968_d(), EnumFacing.UP)) { flag = true; } -@@ -160,6 +160,98 @@ +@@ -162,6 +162,98 @@ public abstract IProperty func_176560_l(); @@ -147,7 +147,7 @@ public static enum EnumRailDirection implements IStringSerializable { NORTH_SOUTH(0, "north_south"), -@@ -230,6 +322,7 @@ +@@ -232,6 +324,7 @@ private IBlockState field_180366_e; private final boolean field_150656_f; private final List field_150657_g = Lists.newArrayList(); @@ -155,7 +155,7 @@ public Rail(World p_i45739_2_, BlockPos p_i45739_3_, IBlockState p_i45739_4_) { -@@ -237,8 +330,9 @@ +@@ -239,8 +332,9 @@ this.field_180367_c = p_i45739_3_; this.field_180366_e = p_i45739_4_; this.field_180365_d = (BlockRailBase)p_i45739_4_.func_177230_c(); @@ -167,7 +167,7 @@ this.func_180360_a(blockrailbase$enumraildirection); } -@@ -429,7 +523,7 @@ +@@ -432,7 +526,7 @@ } } @@ -176,7 +176,7 @@ { if (BlockRailBase.func_176562_d(this.field_150660_b, blockpos.func_177984_a())) { -@@ -442,7 +536,7 @@ +@@ -445,7 +539,7 @@ } } @@ -185,7 +185,7 @@ { if (BlockRailBase.func_176562_d(this.field_150660_b, blockpos3.func_177984_a())) { -@@ -585,7 +679,7 @@ +@@ -588,7 +682,7 @@ } } @@ -194,7 +194,7 @@ { if (BlockRailBase.func_176562_d(this.field_150660_b, blockpos.func_177984_a())) { -@@ -598,7 +692,7 @@ +@@ -601,7 +695,7 @@ } } diff --git a/patches/minecraft/net/minecraft/block/BlockRedstoneComparator.java.patch b/patches/minecraft/net/minecraft/block/BlockRedstoneComparator.java.patch index 84a6de664..b1f640862 100644 --- a/patches/minecraft/net/minecraft/block/BlockRedstoneComparator.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockRedstoneComparator.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockRedstoneComparator.java +++ ../src-work/minecraft/net/minecraft/block/BlockRedstoneComparator.java -@@ -310,6 +310,21 @@ +@@ -313,6 +313,21 @@ return this.func_176223_P().func_177226_a(field_185512_D, p_180642_8_.func_174811_aO().func_176734_d()).func_177226_a(field_176464_a, Boolean.valueOf(false)).func_177226_a(field_176463_b, BlockRedstoneComparator.Mode.COMPARE); } @@ -9,7 +9,7 @@ + { + if (pos.func_177956_o() == neighbor.func_177956_o() && world instanceof World) + { -+ func_176204_a((World)world, pos, world.func_180495_p(pos), world.func_180495_p(neighbor).func_177230_c()); ++ func_189540_a(world.func_180495_p(pos), (World)world, pos, world.func_180495_p(neighbor).func_177230_c()); + } + } + diff --git a/patches/minecraft/net/minecraft/block/BlockRedstoneOre.java.patch b/patches/minecraft/net/minecraft/block/BlockRedstoneOre.java.patch index 7762d1ea3..d9adb18e1 100644 --- a/patches/minecraft/net/minecraft/block/BlockRedstoneOre.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockRedstoneOre.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockRedstoneOre.java +++ ../src-work/minecraft/net/minecraft/block/BlockRedstoneOre.java -@@ -92,12 +92,16 @@ +@@ -94,12 +94,16 @@ public void func_180653_a(World p_180653_1_, BlockPos p_180653_2_, IBlockState p_180653_3_, float p_180653_4_, int p_180653_5_) { super.func_180653_a(p_180653_1_, p_180653_2_, p_180653_3_, p_180653_4_, p_180653_5_); diff --git a/patches/minecraft/net/minecraft/block/BlockRedstoneWire.java.patch b/patches/minecraft/net/minecraft/block/BlockRedstoneWire.java.patch index e824763bc..2c3aeb1dd 100644 --- a/patches/minecraft/net/minecraft/block/BlockRedstoneWire.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockRedstoneWire.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockRedstoneWire.java +++ ../src-work/minecraft/net/minecraft/block/BlockRedstoneWire.java -@@ -97,15 +97,15 @@ +@@ -98,15 +98,15 @@ BlockPos blockpos = p_176341_2_.func_177972_a(p_176341_3_); IBlockState iblockstate = p_176341_1_.func_180495_p(p_176341_2_.func_177972_a(p_176341_3_)); @@ -19,7 +19,7 @@ { if (iblockstate.func_185898_k()) { -@@ -406,35 +406,30 @@ +@@ -409,21 +409,16 @@ IBlockState iblockstate = p_176339_1_.func_180495_p(blockpos); boolean flag = iblockstate.func_185915_l(); boolean flag1 = p_176339_1_.func_180495_p(p_176339_2_.func_177984_a()).func_185915_l(); @@ -34,32 +34,22 @@ } - protected static boolean func_176346_d(IBlockState p_176346_0_) -+ protected static boolean canConnectTo(IBlockState blockState, EnumFacing side, IBlockAccess world, BlockPos pos) ++ protected static boolean canConnectTo(IBlockState p_176343_0_, @Nullable EnumFacing p_176343_1_, IBlockAccess world, BlockPos pos ) { - return func_176343_a(p_176346_0_, (EnumFacing)null); - } -+ Block block = blockState.func_177230_c(); - -- protected static boolean func_176343_a(IBlockState p_176343_0_, EnumFacing p_176343_1_) -- { -- Block block = p_176343_0_.func_177230_c(); - +- protected static boolean func_176343_a(IBlockState p_176343_0_, @Nullable EnumFacing p_176343_1_) +- { + Block block = p_176343_0_.func_177230_c(); + if (block == Blocks.field_150488_af) - { - return true; - } -- else if (Blocks.field_150413_aR.func_185547_C(p_176343_0_)) -+ else if (Blocks.field_150413_aR.func_185547_C(blockState)) - { -- EnumFacing enumfacing = (EnumFacing)p_176343_0_.func_177229_b(BlockRedstoneRepeater.field_185512_D); -- return enumfacing == p_176343_1_ || enumfacing.func_176734_d() == p_176343_1_; -+ EnumFacing enumfacing = (EnumFacing)blockState.func_177229_b(BlockRedstoneRepeater.field_185512_D); -+ return enumfacing == side || enumfacing.func_176734_d() == side; +@@ -437,7 +432,7 @@ } else { - return p_176343_0_.func_185897_m() && p_176343_1_ != null; -+ return blockState.func_177230_c().canConnectRedstone(blockState, world, pos, side); ++ return p_176343_0_.func_177230_c().canConnectRedstone(p_176343_0_, world, pos, p_176343_1_); } } diff --git a/patches/minecraft/net/minecraft/block/BlockReed.java.patch b/patches/minecraft/net/minecraft/block/BlockReed.java.patch index 3fccec1b8..de5c601f7 100644 --- a/patches/minecraft/net/minecraft/block/BlockReed.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockReed.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockReed.java +++ ../src-work/minecraft/net/minecraft/block/BlockReed.java -@@ -19,7 +19,7 @@ +@@ -20,7 +20,7 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -9,7 +9,7 @@ { public static final PropertyInteger field_176355_a = PropertyInteger.func_177719_a("age", 0, 15); protected static final AxisAlignedBB field_185701_b = new AxisAlignedBB(0.125D, 0.0D, 0.125D, 0.875D, 1.0D, 0.875D); -@@ -69,7 +69,9 @@ +@@ -70,7 +70,9 @@ public boolean func_176196_c(World p_176196_1_, BlockPos p_176196_2_) { @@ -20,7 +20,7 @@ if (block == this) { -@@ -162,6 +164,17 @@ +@@ -165,6 +167,17 @@ return ((Integer)p_176201_1_.func_177229_b(field_176355_a)).intValue(); } diff --git a/patches/minecraft/net/minecraft/block/BlockSkull.java.patch b/patches/minecraft/net/minecraft/block/BlockSkull.java.patch index a7327502a..23c306757 100644 --- a/patches/minecraft/net/minecraft/block/BlockSkull.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockSkull.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockSkull.java +++ ../src-work/minecraft/net/minecraft/block/BlockSkull.java -@@ -116,10 +116,6 @@ +@@ -117,10 +117,6 @@ return new ItemStack(Items.field_151144_bL, 1, i); } @@ -11,7 +11,7 @@ public void func_176208_a(World p_176208_1_, BlockPos p_176208_2_, IBlockState p_176208_3_, EntityPlayer p_176208_4_) { if (p_176208_4_.field_71075_bZ.field_75098_d) -@@ -127,22 +123,27 @@ +@@ -128,13 +124,18 @@ p_176208_3_ = p_176208_3_.func_177226_a(field_176417_b, Boolean.valueOf(true)); p_176208_1_.func_180501_a(p_176208_2_, p_176208_3_, 4); } @@ -25,16 +25,13 @@ - if (!p_180663_1_.field_72995_K) + super.func_180663_b(p_180663_1_, p_180663_2_, p_180663_3_); + } -+ public java.util.List getDrops(IBlockAccess worldIn, BlockPos pos, IBlockState state, int fortune) ++ public java.util.List getDrops(IBlockAccess p_180663_1_, BlockPos p_180663_2_, IBlockState p_180663_3_, int fortune) + { + java.util.List ret = new java.util.ArrayList(); { -- if (!((Boolean)p_180663_3_.func_177229_b(field_176417_b)).booleanValue()) -+ if (!((Boolean)state.func_177229_b(field_176417_b)).booleanValue()) + if (!((Boolean)p_180663_3_.func_177229_b(field_176417_b)).booleanValue()) { -- TileEntity tileentity = p_180663_1_.func_175625_s(p_180663_2_); -+ TileEntity tileentity = worldIn.func_175625_s(pos); - +@@ -143,7 +144,7 @@ if (tileentity instanceof TileEntitySkull) { TileEntitySkull tileentityskull = (TileEntitySkull)tileentity; @@ -43,7 +40,7 @@ if (tileentityskull.func_145904_a() == 3 && tileentityskull.func_152108_a() != null) { -@@ -152,12 +153,11 @@ +@@ -153,12 +154,11 @@ itemstack.func_77978_p().func_74782_a("SkullOwner", nbttagcompound); } @@ -57,4 +54,4 @@ + return ret; } - public Item func_180660_a(IBlockState p_180660_1_, Random p_180660_2_, int p_180660_3_) + @Nullable diff --git a/patches/minecraft/net/minecraft/block/BlockSnow.java.patch b/patches/minecraft/net/minecraft/block/BlockSnow.java.patch index 956143674..d3522c76e 100644 --- a/patches/minecraft/net/minecraft/block/BlockSnow.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockSnow.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockSnow.java +++ ../src-work/minecraft/net/minecraft/block/BlockSnow.java -@@ -73,7 +73,7 @@ +@@ -75,7 +75,7 @@ { IBlockState iblockstate = p_176196_1_.func_180495_p(p_176196_2_.func_177977_b()); Block block = iblockstate.func_177230_c(); @@ -8,8 +8,8 @@ + return block != Blocks.field_150432_aD && block != Blocks.field_150403_cj ? (iblockstate.func_177230_c().isLeaves(iblockstate, p_176196_1_, p_176196_2_.func_177977_b()) ? true : (block == this && ((Integer)iblockstate.func_177229_b(field_176315_a)).intValue() >= 7 ? true : iblockstate.func_185914_p() && iblockstate.func_185904_a().func_76230_c())) : false; } - public void func_176204_a(World p_176204_1_, BlockPos p_176204_2_, IBlockState p_176204_3_, Block p_176204_4_) -@@ -85,7 +85,6 @@ + public void func_189540_a(IBlockState p_189540_1_, World p_189540_2_, BlockPos p_189540_3_, Block p_189540_4_) +@@ -87,7 +87,6 @@ { if (!this.func_176196_c(p_176314_1_, p_176314_2_)) { @@ -17,9 +17,9 @@ p_176314_1_.func_175698_g(p_176314_2_); return false; } -@@ -97,9 +96,8 @@ +@@ -99,9 +98,8 @@ - public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, TileEntity p_180657_5_, ItemStack p_180657_6_) + public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, @Nullable TileEntity p_180657_5_, @Nullable ItemStack p_180657_6_) { - func_180635_a(p_180657_1_, p_180657_3_, new ItemStack(Items.field_151126_ay, ((Integer)p_180657_4_.func_177229_b(field_176315_a)).intValue() + 1, 0)); + super.func_180657_a(p_180657_1_, p_180657_2_, p_180657_3_, p_180657_4_, p_180657_5_, p_180657_6_); @@ -27,8 +27,8 @@ - p_180657_2_.func_71029_a(StatList.func_188055_a(this)); } - public Item func_180660_a(IBlockState p_180660_1_, Random p_180660_2_, int p_180660_3_) -@@ -109,14 +107,13 @@ + @Nullable +@@ -112,14 +110,13 @@ public int func_149745_a(Random p_149745_1_) { @@ -44,7 +44,7 @@ p_180650_1_.func_175698_g(p_180650_2_); } } -@@ -150,6 +147,8 @@ +@@ -153,6 +150,8 @@ return ((Integer)p_176201_1_.func_177229_b(field_176315_a)).intValue() - 1; } diff --git a/patches/minecraft/net/minecraft/block/BlockStairs.java.patch b/patches/minecraft/net/minecraft/block/BlockStairs.java.patch index 239394de8..821425704 100644 --- a/patches/minecraft/net/minecraft/block/BlockStairs.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockStairs.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockStairs.java +++ ../src-work/minecraft/net/minecraft/block/BlockStairs.java -@@ -443,6 +443,17 @@ +@@ -445,6 +445,17 @@ return new BlockStateContainer(this, new IProperty[] {field_176309_a, field_176308_b, field_176310_M}); } diff --git a/patches/minecraft/net/minecraft/block/BlockStem.java.patch b/patches/minecraft/net/minecraft/block/BlockStem.java.patch index 2b37ff3d3..04185835d 100644 --- a/patches/minecraft/net/minecraft/block/BlockStem.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockStem.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockStem.java +++ ../src-work/minecraft/net/minecraft/block/BlockStem.java -@@ -89,9 +89,10 @@ +@@ -90,9 +90,10 @@ } p_180650_2_ = p_180650_2_.func_177972_a(EnumFacing.Plane.HORIZONTAL.func_179518_a(p_180650_4_)); @@ -13,7 +13,7 @@ { p_180650_1_.func_175656_a(p_180650_2_, this.field_149877_a.func_176223_P()); } -@@ -109,24 +110,29 @@ +@@ -110,24 +111,29 @@ public void func_180653_a(World p_180653_1_, BlockPos p_180653_2_, IBlockState p_180653_3_, float p_180653_4_, int p_180653_5_) { super.func_180653_a(p_180653_1_, p_180653_2_, p_180653_3_, p_180653_4_, p_180653_5_); @@ -46,4 +46,4 @@ + return ret; } - protected Item func_176481_j() + @Nullable diff --git a/patches/minecraft/net/minecraft/block/BlockTallGrass.java.patch b/patches/minecraft/net/minecraft/block/BlockTallGrass.java.patch index 2327fb98d..6261b3eec 100644 --- a/patches/minecraft/net/minecraft/block/BlockTallGrass.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockTallGrass.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockTallGrass.java +++ ../src-work/minecraft/net/minecraft/block/BlockTallGrass.java -@@ -23,7 +23,7 @@ +@@ -24,7 +24,7 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -9,7 +9,7 @@ { public static final PropertyEnum field_176497_a = PropertyEnum.func_177709_a("type", BlockTallGrass.EnumType.class); protected static final AxisAlignedBB field_185522_c = new AxisAlignedBB(0.09999999403953552D, 0.0D, 0.09999999403953552D, 0.8999999761581421D, 0.800000011920929D, 0.8999999761581421D); -@@ -41,7 +41,7 @@ +@@ -42,7 +42,7 @@ public boolean func_180671_f(World p_180671_1_, BlockPos p_180671_2_, IBlockState p_180671_3_) { @@ -18,8 +18,8 @@ } public boolean func_176200_f(IBlockAccess p_176200_1_, BlockPos p_176200_2_) -@@ -51,7 +51,7 @@ - +@@ -53,7 +53,7 @@ + @Nullable public Item func_180660_a(IBlockState p_180660_1_, Random p_180660_2_, int p_180660_3_) { - return p_180660_2_.nextInt(8) == 0 ? Items.field_151014_N : null; @@ -27,16 +27,16 @@ } public int func_149679_a(int p_149679_1_, Random p_149679_2_) -@@ -61,7 +61,7 @@ +@@ -63,7 +63,7 @@ - public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, TileEntity p_180657_5_, ItemStack p_180657_6_) + public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, @Nullable TileEntity p_180657_5_, @Nullable ItemStack p_180657_6_) { - if (!p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ) + if (false && !p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ) // Forge: Noop Taken care of by IShearable { p_180657_2_.func_71029_a(StatList.func_188055_a(this)); func_180635_a(p_180657_1_, p_180657_3_, new ItemStack(Blocks.field_150329_H, 1, ((BlockTallGrass.EnumType)p_180657_4_.func_177229_b(field_176497_a)).func_177044_a())); -@@ -181,4 +181,22 @@ +@@ -183,4 +183,22 @@ } } } diff --git a/patches/minecraft/net/minecraft/block/BlockTorch.java.patch b/patches/minecraft/net/minecraft/block/BlockTorch.java.patch index 2b6f02aa2..fa4280fdb 100644 --- a/patches/minecraft/net/minecraft/block/BlockTorch.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockTorch.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockTorch.java +++ ../src-work/minecraft/net/minecraft/block/BlockTorch.java -@@ -79,14 +79,14 @@ +@@ -81,14 +81,14 @@ private boolean func_176594_d(World p_176594_1_, BlockPos p_176594_2_) { @@ -18,7 +18,7 @@ } } -@@ -107,7 +107,7 @@ +@@ -109,7 +109,7 @@ { BlockPos blockpos = p_176595_2_.func_177972_a(p_176595_3_.func_176734_d()); boolean flag = p_176595_3_.func_176740_k().func_176722_c(); @@ -27,7 +27,7 @@ } public IBlockState func_180642_a(World p_180642_1_, BlockPos p_180642_2_, EnumFacing p_180642_3_, float p_180642_4_, float p_180642_5_, float p_180642_6_, int p_180642_7_, EntityLivingBase p_180642_8_) -@@ -120,7 +120,7 @@ +@@ -122,7 +122,7 @@ { for (EnumFacing enumfacing : EnumFacing.Plane.HORIZONTAL) { @@ -36,7 +36,7 @@ { return this.func_176223_P().func_177226_a(field_176596_a, enumfacing); } -@@ -153,7 +153,7 @@ +@@ -155,7 +155,7 @@ EnumFacing enumfacing1 = enumfacing.func_176734_d(); boolean flag = false; diff --git a/patches/minecraft/net/minecraft/block/BlockTrapDoor.java.patch b/patches/minecraft/net/minecraft/block/BlockTrapDoor.java.patch index 92f977591..b3ef4e159 100644 --- a/patches/minecraft/net/minecraft/block/BlockTrapDoor.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockTrapDoor.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockTrapDoor.java +++ ../src-work/minecraft/net/minecraft/block/BlockTrapDoor.java -@@ -241,6 +241,18 @@ +@@ -242,6 +242,18 @@ return new BlockStateContainer(this, new IProperty[] {field_176284_a, field_176283_b, field_176285_M}); } diff --git a/patches/minecraft/net/minecraft/block/BlockTripWireHook.java.patch b/patches/minecraft/net/minecraft/block/BlockTripWireHook.java.patch index 6850b831b..990880a0a 100644 --- a/patches/minecraft/net/minecraft/block/BlockTripWireHook.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockTripWireHook.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockTripWireHook.java +++ ../src-work/minecraft/net/minecraft/block/BlockTripWireHook.java -@@ -77,14 +77,14 @@ +@@ -79,14 +79,14 @@ public boolean func_176198_a(World p_176198_1_, BlockPos p_176198_2_, EnumFacing p_176198_3_) { @@ -17,12 +17,12 @@ { return true; } -@@ -118,7 +118,7 @@ +@@ -120,7 +120,7 @@ { - EnumFacing enumfacing = (EnumFacing)p_176204_3_.func_177229_b(field_176264_a); + EnumFacing enumfacing = (EnumFacing)p_189540_1_.func_177229_b(field_176264_a); -- if (!p_176204_1_.func_180495_p(p_176204_2_.func_177972_a(enumfacing.func_176734_d())).func_185915_l()) -+ if (!p_176204_1_.func_180495_p(p_176204_2_.func_177972_a(enumfacing.func_176734_d())).isSideSolid(p_176204_1_, p_176204_2_.func_177972_a(enumfacing.func_176734_d()), enumfacing)) +- if (!p_189540_2_.func_180495_p(p_189540_3_.func_177972_a(enumfacing.func_176734_d())).func_185915_l()) ++ if (!p_189540_2_.func_180495_p(p_189540_3_.func_177972_a(enumfacing.func_176734_d())).isSideSolid(p_189540_2_, p_189540_3_.func_177972_a(enumfacing.func_176734_d()), enumfacing)) { - this.func_176226_b(p_176204_1_, p_176204_2_, p_176204_3_, 0); - p_176204_1_.func_175698_g(p_176204_2_); + this.func_176226_b(p_189540_2_, p_189540_3_, p_189540_1_, 0); + p_189540_2_.func_175698_g(p_189540_3_); diff --git a/patches/minecraft/net/minecraft/block/BlockVine.java.patch b/patches/minecraft/net/minecraft/block/BlockVine.java.patch index f4f42e06c..f903027ac 100644 --- a/patches/minecraft/net/minecraft/block/BlockVine.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockVine.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/BlockVine.java +++ ../src-work/minecraft/net/minecraft/block/BlockVine.java -@@ -26,7 +26,7 @@ +@@ -27,7 +27,7 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -9,16 +9,16 @@ { public static final PropertyBool field_176277_a = PropertyBool.func_177716_a("up"); public static final PropertyBool field_176273_b = PropertyBool.func_177716_a("north"); -@@ -342,7 +342,7 @@ +@@ -345,7 +345,7 @@ - public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, TileEntity p_180657_5_, ItemStack p_180657_6_) + public void func_180657_a(World p_180657_1_, EntityPlayer p_180657_2_, BlockPos p_180657_3_, IBlockState p_180657_4_, @Nullable TileEntity p_180657_5_, @Nullable ItemStack p_180657_6_) { - if (!p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ) + if (false && !p_180657_1_.field_72995_K && p_180657_6_ != null && p_180657_6_.func_77973_b() == Items.field_151097_aZ) // Forge: Noop, Covered by IShearable { p_180657_2_.func_71029_a(StatList.func_188055_a(this)); func_180635_a(p_180657_1_, p_180657_3_, new ItemStack(Blocks.field_150395_bd, 1, 0)); -@@ -457,4 +457,14 @@ +@@ -460,4 +460,14 @@ return i; } diff --git a/patches/minecraft/net/minecraft/block/state/BlockStateBase.java.patch b/patches/minecraft/net/minecraft/block/state/BlockStateBase.java.patch index e6d4fff7f..646017678 100644 --- a/patches/minecraft/net/minecraft/block/state/BlockStateBase.java.patch +++ b/patches/minecraft/net/minecraft/block/state/BlockStateBase.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/state/BlockStateBase.java +++ ../src-work/minecraft/net/minecraft/block/state/BlockStateBase.java -@@ -71,4 +71,9 @@ +@@ -73,4 +73,9 @@ return stringbuilder.toString(); } diff --git a/patches/minecraft/net/minecraft/block/state/BlockStateContainer.java.patch b/patches/minecraft/net/minecraft/block/state/BlockStateContainer.java.patch index fa321efa1..5453b968e 100644 --- a/patches/minecraft/net/minecraft/block/state/BlockStateContainer.java.patch +++ b/patches/minecraft/net/minecraft/block/state/BlockStateContainer.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/state/BlockStateContainer.java +++ ../src-work/minecraft/net/minecraft/block/state/BlockStateContainer.java -@@ -55,12 +55,22 @@ +@@ -57,12 +57,22 @@ public BlockStateContainer(Block p_i45663_1_, IProperty... p_i45663_2_) { @@ -26,7 +26,7 @@ map.put(iproperty.func_177701_a(), iproperty); } -@@ -71,7 +81,7 @@ +@@ -73,7 +83,7 @@ for (List < Comparable> list : Cartesian.func_179321_a(this.func_177620_e())) { Map < IProperty, Comparable> map1 = MapPopulator. < IProperty, Comparable> func_179400_b(this.field_177624_d.values(), list); @@ -35,7 +35,7 @@ map2.put(map1, blockstatecontainer$stateimplementation); list1.add(blockstatecontainer$stateimplementation); } -@@ -163,6 +173,13 @@ +@@ -166,6 +176,13 @@ this.field_177237_b = p_i45660_2_; } @@ -49,9 +49,9 @@ public Collection < IProperty> func_177227_a() { return Collections. < IProperty> unmodifiableCollection(this.field_177237_b.keySet()); -@@ -414,5 +431,86 @@ +@@ -441,5 +458,86 @@ { - return this.field_177239_a.func_185481_k(this); + this.field_177239_a.func_189540_a(this, p_189546_1_, p_189546_2_, p_189546_3_); } + + //Forge Start diff --git a/patches/minecraft/net/minecraft/block/state/IBlockProperties.java.patch b/patches/minecraft/net/minecraft/block/state/IBlockProperties.java.patch index e90318ea8..584b15fc6 100644 --- a/patches/minecraft/net/minecraft/block/state/IBlockProperties.java.patch +++ b/patches/minecraft/net/minecraft/block/state/IBlockProperties.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/block/state/IBlockProperties.java +++ ../src-work/minecraft/net/minecraft/block/state/IBlockProperties.java -@@ -25,9 +25,13 @@ +@@ -26,9 +26,13 @@ boolean func_185913_b(); @@ -14,7 +14,7 @@ @SideOnly(Side.CLIENT) boolean func_185895_e(); -@@ -88,5 +92,10 @@ +@@ -90,5 +94,10 @@ RayTraceResult func_185910_a(World p_185910_1_, BlockPos p_185910_2_, Vec3d p_185910_3_, Vec3d p_185910_4_); diff --git a/patches/minecraft/net/minecraft/client/Minecraft.java.patch b/patches/minecraft/net/minecraft/client/Minecraft.java.patch index 3d7c29f98..06127c312 100644 --- a/patches/minecraft/net/minecraft/client/Minecraft.java.patch +++ b/patches/minecraft/net/minecraft/client/Minecraft.java.patch @@ -1,14 +1,14 @@ --- ../src-base/minecraft/net/minecraft/client/Minecraft.java +++ ../src-work/minecraft/net/minecraft/client/Minecraft.java -@@ -318,7 +318,6 @@ +@@ -321,7 +321,6 @@ this.field_152355_az = (new YggdrasilAuthenticationService(this.field_110453_aa, UUID.randomUUID().toString())).createMinecraftSessionService(); this.field_71449_j = p_i45547_1_.field_178745_a.field_178752_a; field_147123_G.info("Setting user: " + this.field_71449_j.func_111285_a()); -- field_147123_G.info("(Session ID is " + this.field_71449_j.func_111286_b() + ")"); +- field_147123_G.debug("(Session ID is " + this.field_71449_j.func_111286_b() + ")"); this.field_71459_aj = p_i45547_1_.field_178741_d.field_178756_a; this.field_71443_c = p_i45547_1_.field_178743_b.field_178764_a > 0 ? p_i45547_1_.field_178743_b.field_178764_a : 1; this.field_71440_d = p_i45547_1_.field_178743_b.field_178762_b > 0 ? p_i45547_1_.field_178743_b.field_178762_b : 1; -@@ -432,10 +431,10 @@ +@@ -435,10 +434,10 @@ this.field_110451_am = new SimpleReloadableResourceManager(this.field_110452_an); this.field_135017_as = new LanguageManager(this.field_110452_an, this.field_71474_y.field_74363_ab); this.field_110451_am.func_110542_a(this.field_135017_as); @@ -21,7 +21,7 @@ this.field_152350_aA = new SkinManager(this.field_71446_o, new File(this.field_110446_Y, "skins"), this.field_152355_az); this.field_71469_aa = new AnvilSaveConverter(new File(this.field_71412_D, "saves"), this.field_184131_U); this.field_147127_av = new SoundHandler(this.field_110451_am, this.field_71474_y); -@@ -460,7 +459,7 @@ +@@ -463,7 +462,7 @@ { try { @@ -30,7 +30,7 @@ } catch (Exception exception) { -@@ -469,6 +468,8 @@ +@@ -472,6 +471,8 @@ } }); this.field_71417_B = new MouseHelper(); @@ -39,7 +39,7 @@ this.func_71361_d("Pre startup"); GlStateManager.func_179098_w(); GlStateManager.func_179103_j(7425); -@@ -482,19 +483,23 @@ +@@ -485,19 +486,23 @@ GlStateManager.func_179096_D(); GlStateManager.func_179128_n(5888); this.func_71361_d("Startup"); @@ -64,10 +64,10 @@ this.field_71460_t = new EntityRenderer(this, this.field_110451_am); this.field_110451_am.func_110542_a(this.field_71460_t); this.field_175618_aM = new BlockRendererDispatcher(this.field_175617_aL.func_174954_c(), this.field_184127_aH); -@@ -504,23 +509,26 @@ +@@ -507,23 +512,26 @@ this.field_71458_u = new GuiAchievement(this); GlStateManager.func_179083_b(0, 0, this.field_71443_c, this.field_71440_d); - this.field_71452_i = new EffectRenderer(this.field_71441_e, this.field_71446_o); + this.field_71452_i = new ParticleManager(this.field_71441_e, this.field_71446_o); + net.minecraftforge.fml.common.ProgressManager.pop(bar); + net.minecraftforge.fml.client.FMLClientHandler.instance().finishMinecraftLoading(); this.func_71361_d("Post startup"); @@ -94,7 +94,7 @@ if (this.field_71474_y.field_74353_u && !this.field_71431_Q) { this.func_71352_k(); -@@ -692,21 +700,23 @@ +@@ -695,21 +703,23 @@ File file2 = new File(file1, "crash-" + (new SimpleDateFormat("yyyy-MM-dd_HH.mm.ss")).format(new Date()) + "-client.txt"); Bootstrap.func_179870_a(p_71377_1_.func_71502_e()); @@ -121,9 +121,9 @@ } public boolean func_152349_b() -@@ -899,11 +909,6 @@ +@@ -902,11 +912,6 @@ - public void func_147108_a(GuiScreen p_147108_1_) + public void func_147108_a(@Nullable GuiScreen p_147108_1_) { - if (this.field_71462_r != null) - { @@ -133,7 +133,7 @@ if (p_147108_1_ == null && this.field_71441_e == null) { p_147108_1_ = new GuiMainMenu(); -@@ -913,6 +918,17 @@ +@@ -916,6 +921,17 @@ p_147108_1_ = new GuiGameOver((ITextComponent)null); } @@ -151,7 +151,7 @@ if (p_147108_1_ instanceof GuiMainMenu || p_147108_1_ instanceof GuiMultiplayer) { this.field_71474_y.field_74330_P = false; -@@ -1051,9 +1067,11 @@ +@@ -1054,9 +1070,11 @@ if (!this.field_71454_w) { @@ -163,7 +163,7 @@ } this.field_71424_I.func_76319_b(); -@@ -1393,9 +1411,9 @@ +@@ -1396,9 +1414,9 @@ { BlockPos blockpos = this.field_71476_x.func_178782_a(); @@ -175,7 +175,7 @@ this.field_71439_g.func_184609_a(EnumHand.MAIN_HAND); } } -@@ -1429,7 +1447,7 @@ +@@ -1432,7 +1450,7 @@ case BLOCK: BlockPos blockpos = this.field_71476_x.func_178782_a(); @@ -184,7 +184,7 @@ { this.field_71442_b.func_180511_b(blockpos, this.field_71476_x.field_178784_b); break; -@@ -1473,7 +1491,7 @@ +@@ -1476,7 +1494,7 @@ switch (this.field_71476_x.field_72313_a) { case ENTITY: @@ -193,7 +193,7 @@ if (this.field_71442_b.func_187102_a(this.field_71439_g, this.field_71476_x.field_72308_g, this.field_71476_x, this.field_71439_g.func_184586_b(enumhand), enumhand) == EnumActionResult.SUCCESS) { return; -@@ -1516,7 +1534,7 @@ +@@ -1519,7 +1537,7 @@ } ItemStack itemstack1 = this.field_71439_g.func_184586_b(enumhand); @@ -202,7 +202,7 @@ if (itemstack1 != null && this.field_71442_b.func_187101_a(this.field_71439_g, this.field_71441_e, itemstack1, enumhand) == EnumActionResult.SUCCESS) { this.field_71460_t.field_78516_c.func_187460_a(enumhand); -@@ -1623,6 +1641,8 @@ +@@ -1626,6 +1644,8 @@ --this.field_71467_ac; } @@ -211,7 +211,7 @@ this.field_71424_I.func_76320_a("gui"); if (!this.field_71445_n) -@@ -1734,6 +1754,7 @@ +@@ -1737,6 +1757,7 @@ this.field_71457_ai = 0; this.field_71441_e.func_72897_h(this.field_71439_g); } @@ -219,7 +219,7 @@ } this.field_71424_I.func_76318_c("gameRenderer"); -@@ -1821,6 +1842,7 @@ +@@ -1824,6 +1845,7 @@ this.field_71453_ak.func_74428_b(); } @@ -227,7 +227,7 @@ this.field_71424_I.func_76319_b(); this.field_71423_H = func_71386_F(); } -@@ -1927,6 +1949,7 @@ +@@ -1930,6 +1952,7 @@ } } } @@ -235,7 +235,7 @@ } this.func_184117_aA(); -@@ -2166,6 +2189,8 @@ +@@ -2169,6 +2192,8 @@ { while (Mouse.next()) { @@ -244,15 +244,15 @@ int i = Mouse.getEventButton(); KeyBinding.func_74510_a(i - 100, Mouse.getEventButtonState()); -@@ -2231,6 +2256,7 @@ +@@ -2234,6 +2259,7 @@ - public void func_71371_a(String p_71371_1_, String p_71371_2_, WorldSettings p_71371_3_) + public void func_71371_a(String p_71371_1_, String p_71371_2_, @Nullable WorldSettings p_71371_3_) { + net.minecraftforge.fml.client.FMLClientHandler.instance().startIntegratedServer(p_71371_1_, p_71371_2_, p_71371_3_); this.func_71403_a((WorldClient)null); System.gc(); ISaveHandler isavehandler = this.field_71469_aa.func_75804_a(p_71371_1_, false); -@@ -2273,6 +2299,12 @@ +@@ -2276,6 +2302,12 @@ while (!this.field_71437_Z.func_71200_ad()) { @@ -265,13 +265,13 @@ String s = this.field_71437_Z.func_71195_b_(); if (s != null) -@@ -2298,8 +2330,14 @@ +@@ -2301,8 +2333,14 @@ SocketAddress socketaddress = this.field_71437_Z.func_147137_ag().func_151270_a(); NetworkManager networkmanager = NetworkManager.func_150722_a(socketaddress); networkmanager.func_150719_a(new NetHandlerLoginClient(networkmanager, this, (GuiScreen)null)); -- networkmanager.func_179290_a(new C00Handshake(107, socketaddress.toString(), 0, EnumConnectionState.LOGIN)); +- networkmanager.func_179290_a(new C00Handshake(110, socketaddress.toString(), 0, EnumConnectionState.LOGIN)); - networkmanager.func_179290_a(new CPacketLoginStart(this.func_110432_I().func_148256_e())); -+ networkmanager.func_179290_a(new C00Handshake(107, socketaddress.toString(), 0, EnumConnectionState.LOGIN, true)); ++ networkmanager.func_179290_a(new C00Handshake(110, socketaddress.toString(), 0, EnumConnectionState.LOGIN, true)); + com.mojang.authlib.GameProfile gameProfile = this.func_110432_I().func_148256_e(); + if (!this.func_110432_I().hasCachedProperties()) + { @@ -282,16 +282,16 @@ this.field_71453_ak = networkmanager; } -@@ -2310,6 +2348,8 @@ +@@ -2313,6 +2351,8 @@ - public void func_71353_a(WorldClient p_71353_1_, String p_71353_2_) + public void func_71353_a(@Nullable WorldClient p_71353_1_, String p_71353_2_) { + if (field_71441_e != null) net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.world.WorldEvent.Unload(field_71441_e)); + if (p_71353_1_ == null) { NetHandlerPlayClient nethandlerplayclient = this.func_147114_u(); -@@ -2322,6 +2362,18 @@ +@@ -2325,6 +2365,18 @@ if (this.field_71437_Z != null && this.field_71437_Z.func_175578_N()) { this.field_71437_Z.func_71263_m(); @@ -310,7 +310,7 @@ } this.field_71437_Z = null; -@@ -2345,6 +2397,7 @@ +@@ -2348,6 +2400,7 @@ this.field_71456_v.func_181029_i(); this.func_71351_a((ServerData)null); this.field_71455_al = false; @@ -318,7 +318,7 @@ } this.field_147127_av.func_147690_c(); -@@ -2461,159 +2514,8 @@ +@@ -2464,159 +2517,8 @@ { if (this.field_71476_x != null && this.field_71476_x.field_72313_a != RayTraceResult.Type.MISS) { @@ -480,7 +480,7 @@ } } -@@ -2909,18 +2811,8 @@ +@@ -2912,18 +2814,8 @@ public static int func_71369_N() { @@ -501,7 +501,7 @@ } public boolean func_70002_Q() -@@ -3057,15 +2949,16 @@ +@@ -3060,15 +2952,16 @@ { if (Keyboard.getEventKeyState()) { @@ -520,7 +520,7 @@ } } } -@@ -3192,4 +3085,10 @@ +@@ -3195,4 +3088,10 @@ { return this.field_184127_aH; } diff --git a/patches/minecraft/net/minecraft/client/entity/AbstractClientPlayer.java.patch b/patches/minecraft/net/minecraft/client/entity/AbstractClientPlayer.java.patch index 74fca0297..10a72e174 100644 --- a/patches/minecraft/net/minecraft/client/entity/AbstractClientPlayer.java.patch +++ b/patches/minecraft/net/minecraft/client/entity/AbstractClientPlayer.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/entity/AbstractClientPlayer.java +++ ../src-work/minecraft/net/minecraft/client/entity/AbstractClientPlayer.java -@@ -148,6 +148,6 @@ +@@ -152,6 +152,6 @@ f *= 1.0F - f1 * 0.15F; } diff --git a/patches/minecraft/net/minecraft/client/entity/EntityPlayerSP.java.patch b/patches/minecraft/net/minecraft/client/entity/EntityPlayerSP.java.patch index 107cb5f35..c2af00bca 100644 --- a/patches/minecraft/net/minecraft/client/entity/EntityPlayerSP.java.patch +++ b/patches/minecraft/net/minecraft/client/entity/EntityPlayerSP.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/entity/EntityPlayerSP.java +++ ../src-work/minecraft/net/minecraft/client/entity/EntityPlayerSP.java -@@ -400,6 +400,15 @@ +@@ -404,6 +404,15 @@ this.field_71159_c.field_71456_v.func_146158_b().func_146227_a(p_146105_1_); } @@ -16,7 +16,7 @@ protected boolean func_145771_j(double p_145771_1_, double p_145771_3_, double p_145771_5_) { if (this.field_70145_X) -@@ -412,30 +421,34 @@ +@@ -416,30 +425,34 @@ double d0 = p_145771_1_ - (double)blockpos.func_177958_n(); double d1 = p_145771_5_ - (double)blockpos.func_177952_p(); @@ -56,7 +56,7 @@ { d2 = 1.0D - d1; i = 5; -@@ -470,7 +483,7 @@ +@@ -474,7 +487,7 @@ private boolean func_175162_d(BlockPos p_175162_1_) { @@ -65,7 +65,7 @@ } public void func_70031_b(boolean p_70031_1_) -@@ -515,7 +528,13 @@ +@@ -519,7 +532,13 @@ public void func_184185_a(SoundEvent p_184185_1_, float p_184185_2_, float p_184185_3_) { diff --git a/patches/minecraft/net/minecraft/client/gui/GuiChat.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiChat.java.patch deleted file mode 100644 index afbde6baf..000000000 --- a/patches/minecraft/net/minecraft/client/gui/GuiChat.java.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/client/gui/GuiChat.java -+++ ../src-work/minecraft/net/minecraft/client/gui/GuiChat.java -@@ -250,6 +250,7 @@ - - public BlockPos func_186839_b() - { -+ - BlockPos blockpos = null; - - if (this.field_186853_g.field_71476_x != null && this.field_186853_g.field_71476_x.field_72313_a == RayTraceResult.Type.BLOCK) diff --git a/patches/minecraft/net/minecraft/client/gui/GuiIngame.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiIngame.java.patch index 9d96734bc..29c9752ad 100644 --- a/patches/minecraft/net/minecraft/client/gui/GuiIngame.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/GuiIngame.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/gui/GuiIngame.java +++ ../src-work/minecraft/net/minecraft/client/gui/GuiIngame.java -@@ -360,7 +360,8 @@ +@@ -361,7 +361,8 @@ BlockPos blockpos = raytraceresult.func_178782_a(); @@ -10,7 +10,7 @@ { return; } -@@ -418,7 +419,10 @@ +@@ -419,7 +420,10 @@ { Potion potion = potioneffect.func_188419_a(); @@ -22,7 +22,7 @@ { int k = p_184048_1_.func_78326_a(); int l = 1; -@@ -455,7 +459,10 @@ +@@ -456,7 +460,10 @@ } GlStateManager.func_179131_c(1.0F, 1.0F, 1.0F, f); diff --git a/patches/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java.patch index 689452fc8..ea495f49b 100644 --- a/patches/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java +++ ../src-work/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java -@@ -190,6 +190,9 @@ +@@ -193,6 +193,9 @@ long l = j - k; List list = Lists.newArrayList(new String[] {String.format("Java: %s %dbit", new Object[]{System.getProperty("java.version"), Integer.valueOf(this.field_175242_a.func_147111_S() ? 64 : 32)}), String.format("Mem: % 2d%% %03d/%03dMB", new Object[]{Long.valueOf(l * 100L / i), Long.valueOf(func_175240_a(l)), Long.valueOf(func_175240_a(i))}), String.format("Allocated: % 2d%% %03dMB", new Object[]{Long.valueOf(j * 100L / i), Long.valueOf(func_175240_a(j))}), "", String.format("CPU: %s", new Object[]{OpenGlHelper.func_183029_j()}), "", String.format("Display: %dx%d (%s)", new Object[]{Integer.valueOf(Display.getWidth()), Integer.valueOf(Display.getHeight()), GlStateManager.func_187416_u(7936)}), GlStateManager.func_187416_u(7937), GlStateManager.func_187416_u(7938)}); diff --git a/patches/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java.patch b/patches/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java.patch index e3f9b78ed..d4606c3f0 100644 --- a/patches/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java.patch @@ -1,7 +1,7 @@ --- ../src-base/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java +++ ../src-work/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java @@ -82,7 +82,7 @@ - boolean flag1 = this.field_148301_e.field_82821_f < 107; + boolean flag1 = this.field_148301_e.field_82821_f < 110; boolean flag2 = flag || flag1; this.field_148300_d.field_71466_p.func_78276_b(this.field_148301_e.field_78847_a, p_180790_2_ + 32 + 3, p_180790_3_ + 1, 16777215); - List list = this.field_148300_d.field_71466_p.func_78271_c(this.field_148301_e.field_78843_d, p_180790_4_ - 32 - 2); diff --git a/patches/minecraft/net/minecraft/client/gui/achievement/GuiAchievements.java.patch b/patches/minecraft/net/minecraft/client/gui/achievement/GuiAchievements.java.patch index 0155153ef..4d7d45424 100644 --- a/patches/minecraft/net/minecraft/client/gui/achievement/GuiAchievements.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/achievement/GuiAchievements.java.patch @@ -1,14 +1,14 @@ --- ../src-base/minecraft/net/minecraft/client/gui/achievement/GuiAchievements.java +++ ../src-work/minecraft/net/minecraft/client/gui/achievement/GuiAchievements.java @@ -49,6 +49,10 @@ - private StatFileWriter field_146556_E; + private StatisticsManager field_146556_E; private boolean field_146558_F = true; + private int currentPage = -1; + private GuiButton button; + private java.util.LinkedList minecraftAchievements = new java.util.LinkedList(); + - public GuiAchievements(GuiScreen p_i45026_1_, StatFileWriter p_i45026_2_) + public GuiAchievements(GuiScreen p_i45026_1_, StatisticsManager p_i45026_2_) { this.field_146562_a = p_i45026_1_; @@ -57,6 +61,14 @@ diff --git a/patches/minecraft/net/minecraft/client/gui/inventory/GuiContainerCreative.java.patch b/patches/minecraft/net/minecraft/client/gui/inventory/GuiContainerCreative.java.patch index a4786eeeb..fa5d4bb8c 100644 --- a/patches/minecraft/net/minecraft/client/gui/inventory/GuiContainerCreative.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/inventory/GuiContainerCreative.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/gui/inventory/GuiContainerCreative.java +++ ../src-work/minecraft/net/minecraft/client/gui/inventory/GuiContainerCreative.java -@@ -49,6 +49,8 @@ +@@ -50,6 +50,8 @@ private Slot field_147064_C; private boolean field_147057_D; private CreativeCrafting field_147059_E; @@ -9,7 +9,7 @@ public GuiContainerCreative(EntityPlayer p_i1088_1_) { -@@ -258,6 +260,13 @@ +@@ -259,6 +261,13 @@ this.func_147050_b(CreativeTabs.field_78032_a[i]); this.field_147059_E = new CreativeCrafting(this.field_146297_k); this.field_146297_k.field_71439_g.field_71069_bz.func_75132_a(this.field_147059_E); @@ -23,7 +23,7 @@ } else { -@@ -279,7 +288,7 @@ +@@ -280,7 +289,7 @@ protected void func_73869_a(char p_73869_1_, int p_73869_2_) throws IOException { @@ -32,7 +32,7 @@ { if (GameSettings.func_100015_a(this.field_146297_k.field_71474_y.field_74310_D)) { -@@ -317,6 +326,14 @@ +@@ -318,6 +327,14 @@ GuiContainerCreative.ContainerCreative guicontainercreative$containercreative = (GuiContainerCreative.ContainerCreative)this.field_147002_h; guicontainercreative$containercreative.field_148330_a.clear(); @@ -47,7 +47,7 @@ for (Item item : Item.field_150901_e) { if (item != null && item.func_77640_w() != null) -@@ -324,7 +341,13 @@ +@@ -325,7 +342,13 @@ item.func_150895_a(item, (CreativeTabs)null, guicontainercreative$containercreative.field_148330_a); } } @@ -61,7 +61,7 @@ for (Enchantment enchantment : Enchantment.field_185264_b) { if (enchantment != null && enchantment.field_77351_y != null) -@@ -332,7 +355,6 @@ +@@ -333,7 +356,6 @@ Items.field_151134_bR.func_92113_a(enchantment, guicontainercreative$containercreative.field_148330_a); } } @@ -69,7 +69,7 @@ Iterator iterator = guicontainercreative$containercreative.field_148330_a.iterator(); String s1 = this.field_147062_A.func_146179_b().toLowerCase(); -@@ -364,7 +386,7 @@ +@@ -365,7 +387,7 @@ { CreativeTabs creativetabs = CreativeTabs.field_78032_a[field_147058_w]; @@ -78,7 +78,7 @@ { GlStateManager.func_179084_k(); this.field_146289_q.func_78276_b(I18n.func_135052_a(creativetabs.func_78024_c(), new Object[0]), 8, 6, 4210752); -@@ -399,7 +421,7 @@ +@@ -400,7 +422,7 @@ for (CreativeTabs creativetabs : CreativeTabs.field_78032_a) { @@ -87,7 +87,7 @@ { this.func_147050_b(creativetabs); return; -@@ -412,11 +434,13 @@ +@@ -413,11 +435,13 @@ private boolean func_147055_p() { @@ -101,7 +101,7 @@ int i = field_147058_w; field_147058_w = p_147050_1_.func_78021_a(); GuiContainerCreative.ContainerCreative guicontainercreative$containercreative = (GuiContainerCreative.ContainerCreative)this.field_147002_h; -@@ -487,12 +511,14 @@ +@@ -488,12 +512,14 @@ if (this.field_147062_A != null) { @@ -117,7 +117,7 @@ this.func_147053_i(); } else -@@ -562,20 +588,43 @@ +@@ -563,20 +589,43 @@ } super.func_73863_a(p_73863_1_, p_73863_2_, p_73863_3_); @@ -162,7 +162,7 @@ GlStateManager.func_179131_c(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.func_179140_f(); } -@@ -637,16 +686,35 @@ +@@ -638,16 +687,35 @@ RenderHelper.func_74520_c(); CreativeTabs creativetabs = CreativeTabs.field_78032_a[field_147058_w]; @@ -199,7 +199,7 @@ this.field_146297_k.func_110434_K().func_110577_a(new ResourceLocation("textures/gui/container/creative_inventory/tab_" + creativetabs.func_78015_f())); this.func_73729_b(this.field_147003_i, this.field_147009_r, 0, 0, this.field_146999_f, this.field_147000_g); this.field_147062_A.func_146194_f(); -@@ -661,6 +729,14 @@ +@@ -662,6 +730,14 @@ this.func_73729_b(i, j + (int)((float)(k - j - 17) * this.field_147067_x), 232 + (this.func_147055_p() ? 0 : 12), 0, 12, 15); } @@ -214,7 +214,7 @@ this.func_147051_a(creativetabs); if (creativetabs == CreativeTabs.field_78036_m) -@@ -671,6 +747,14 @@ +@@ -672,6 +748,14 @@ protected boolean func_147049_a(CreativeTabs p_147049_1_, int p_147049_2_, int p_147049_3_) { @@ -229,7 +229,7 @@ int i = p_147049_1_.func_78020_k(); int j = 28 * i; int k = 0; -@@ -767,6 +851,8 @@ +@@ -768,6 +852,8 @@ } GlStateManager.func_179140_f(); @@ -238,7 +238,7 @@ this.func_73729_b(l, i1, j, k, 28, j1); this.field_73735_i = 100.0F; this.field_146296_j.field_77023_b = 100.0F; -@@ -793,6 +879,15 @@ +@@ -794,6 +880,15 @@ { this.field_146297_k.func_147108_a(new GuiStats(this, this.field_146297_k.field_71439_g.func_146107_m())); } diff --git a/patches/minecraft/net/minecraft/client/multiplayer/ChunkProviderClient.java.patch b/patches/minecraft/net/minecraft/client/multiplayer/ChunkProviderClient.java.patch index 97d95aea6..0350d3139 100644 --- a/patches/minecraft/net/minecraft/client/multiplayer/ChunkProviderClient.java.patch +++ b/patches/minecraft/net/minecraft/client/multiplayer/ChunkProviderClient.java.patch @@ -1,9 +1,9 @@ --- ../src-base/minecraft/net/minecraft/client/multiplayer/ChunkProviderClient.java +++ ../src-work/minecraft/net/minecraft/client/multiplayer/ChunkProviderClient.java -@@ -52,6 +52,7 @@ +@@ -59,6 +59,7 @@ + { Chunk chunk = new Chunk(this.field_73235_d, p_73158_1_, p_73158_2_); - this.field_73236_b.func_76163_a(ChunkCoordIntPair.func_77272_a(p_73158_1_, p_73158_2_), chunk); - this.field_73237_c.add(chunk); + this.field_73236_b.put(ChunkPos.func_77272_a(p_73158_1_, p_73158_2_), chunk); + net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.world.ChunkEvent.Load(chunk)); chunk.func_177417_c(true); return chunk; diff --git a/patches/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java.patch b/patches/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java.patch index 0d82da59b..3bb2a1d0f 100644 --- a/patches/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java.patch +++ b/patches/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java.patch @@ -4,8 +4,8 @@ inetaddress = InetAddress.getByName(p_146367_1_); GuiConnecting.this.field_146371_g = NetworkManager.func_181124_a(inetaddress, p_146367_2_, GuiConnecting.this.field_146297_k.field_71474_y.func_181148_f()); GuiConnecting.this.field_146371_g.func_150719_a(new NetHandlerLoginClient(GuiConnecting.this.field_146371_g, GuiConnecting.this.field_146297_k, GuiConnecting.this.field_146374_i)); -- GuiConnecting.this.field_146371_g.func_179290_a(new C00Handshake(107, p_146367_1_, p_146367_2_, EnumConnectionState.LOGIN)); -+ GuiConnecting.this.field_146371_g.func_179290_a(new C00Handshake(107, p_146367_1_, p_146367_2_, EnumConnectionState.LOGIN, true)); +- GuiConnecting.this.field_146371_g.func_179290_a(new C00Handshake(110, p_146367_1_, p_146367_2_, EnumConnectionState.LOGIN)); ++ GuiConnecting.this.field_146371_g.func_179290_a(new C00Handshake(110, p_146367_1_, p_146367_2_, EnumConnectionState.LOGIN, true)); GuiConnecting.this.field_146371_g.func_179290_a(new CPacketLoginStart(GuiConnecting.this.field_146297_k.func_110432_I().func_148256_e())); } catch (UnknownHostException unknownhostexception) diff --git a/patches/minecraft/net/minecraft/client/multiplayer/PlayerControllerMP.java.patch b/patches/minecraft/net/minecraft/client/multiplayer/PlayerControllerMP.java.patch index b9fcfafa1..d8396ced2 100644 --- a/patches/minecraft/net/minecraft/client/multiplayer/PlayerControllerMP.java.patch +++ b/patches/minecraft/net/minecraft/client/multiplayer/PlayerControllerMP.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/multiplayer/PlayerControllerMP.java +++ ../src-work/minecraft/net/minecraft/client/multiplayer/PlayerControllerMP.java -@@ -121,6 +121,12 @@ +@@ -122,6 +122,12 @@ } } @@ -13,7 +13,7 @@ if (this.field_78779_k.func_77145_d() && this.field_78776_a.field_71439_g.func_184614_ca() != null && this.field_78776_a.field_71439_g.func_184614_ca().func_77973_b() instanceof ItemSword) { return false; -@@ -142,14 +148,7 @@ +@@ -143,14 +149,7 @@ else { world.func_175718_b(2001, p_187103_1_, Block.func_176210_f(iblockstate)); @@ -28,7 +28,7 @@ this.field_178895_c = new BlockPos(this.field_178895_c.func_177958_n(), -1, this.field_178895_c.func_177952_p()); if (!this.field_78779_k.func_77145_d()) -@@ -160,13 +159,20 @@ +@@ -161,13 +160,20 @@ { itemstack1.func_179548_a(world, iblockstate, p_187103_1_, this.field_78776_a.field_71439_g); @@ -50,7 +50,7 @@ return flag; } } -@@ -217,14 +223,17 @@ +@@ -218,14 +224,17 @@ } this.field_78774_b.func_147297_a(new CPacketPlayerDigging(CPacketPlayerDigging.Action.START_DESTROY_BLOCK, p_180511_1_, p_180511_2_)); @@ -69,7 +69,7 @@ if (flag && iblockstate.func_185903_a(this.field_78776_a.field_71439_g, this.field_78776_a.field_71439_g.field_70170_p, p_180511_1_) >= 1.0F) { this.func_187103_a(p_180511_1_); -@@ -371,13 +380,32 @@ +@@ -372,13 +381,32 @@ } else { @@ -78,7 +78,7 @@ + if (event.isCanceled()) + { + // Give the server a chance to fire event as well. That way server event is not dependant on client event. -+ this.field_78774_b.func_147297_a(new CPacketPlayerTryUseItem(p_187099_4_, p_187099_5_, p_187099_7_, f, f1, f2)); ++ this.field_78774_b.func_147297_a(new CPacketPlayerTryUseItemOnBlock(p_187099_4_, p_187099_5_, p_187099_7_, f, f1, f2)); + return EnumActionResult.PASS; + } + EnumActionResult result = EnumActionResult.PASS; @@ -104,16 +104,16 @@ } if (!flag && p_187099_3_ != null && p_187099_3_.func_77973_b() instanceof ItemBlock) -@@ -393,7 +421,7 @@ +@@ -394,7 +422,7 @@ - this.field_78774_b.func_147297_a(new CPacketPlayerTryUseItem(p_187099_4_, p_187099_5_, p_187099_7_, f, f1, f2)); + this.field_78774_b.func_147297_a(new CPacketPlayerTryUseItemOnBlock(p_187099_4_, p_187099_5_, p_187099_7_, f, f1, f2)); - if (!flag && this.field_78779_k != WorldSettings.GameType.SPECTATOR) + if (!flag && this.field_78779_k != WorldSettings.GameType.SPECTATOR || event.getUseItem() == net.minecraftforge.fml.common.eventhandler.Event.Result.ALLOW) { if (p_187099_3_ == null) { -@@ -411,14 +439,19 @@ +@@ -412,14 +440,19 @@ { int i = p_187099_3_.func_77960_j(); int j = p_187099_3_.field_77994_a; @@ -134,7 +134,7 @@ } } else -@@ -445,6 +478,7 @@ +@@ -446,6 +479,7 @@ } else { @@ -142,7 +142,7 @@ int i = p_187101_3_.field_77994_a; ActionResult actionresult = p_187101_3_.func_77957_a(p_187101_2_, p_187101_1_, p_187101_4_); ItemStack itemstack = (ItemStack)actionresult.func_188398_b(); -@@ -453,9 +487,10 @@ +@@ -454,9 +488,10 @@ { p_187101_1_.func_184611_a(p_187101_4_, itemstack); diff --git a/patches/minecraft/net/minecraft/client/multiplayer/WorldClient.java.patch b/patches/minecraft/net/minecraft/client/multiplayer/WorldClient.java.patch index 8d7f15464..d29998294 100644 --- a/patches/minecraft/net/minecraft/client/multiplayer/WorldClient.java.patch +++ b/patches/minecraft/net/minecraft/client/multiplayer/WorldClient.java.patch @@ -1,13 +1,13 @@ --- ../src-base/minecraft/net/minecraft/client/multiplayer/WorldClient.java +++ ../src-work/minecraft/net/minecraft/client/multiplayer/WorldClient.java -@@ -58,17 +58,18 @@ +@@ -59,17 +59,18 @@ public WorldClient(NetHandlerPlayClient p_i45063_1_, WorldSettings p_i45063_2_, int p_i45063_3_, EnumDifficulty p_i45063_4_, Profiler p_i45063_5_) { - super(new SaveHandlerMP(), new WorldInfo(p_i45063_2_, "MpServer"), DimensionType.func_186069_a(p_i45063_3_).func_186070_d(), p_i45063_5_, true); + super(new SaveHandlerMP(), new WorldInfo(p_i45063_2_, "MpServer"), net.minecraftforge.common.DimensionManager.createProviderFor(p_i45063_3_), p_i45063_5_, true); this.field_184158_M = this.field_73012_v.nextInt(12000); - this.field_184157_a = Sets.newHashSet(); + this.field_184157_a = Sets.newHashSet(); this.field_73035_a = p_i45063_1_; this.func_72912_H().func_176144_a(p_i45063_4_); - this.func_175652_B(new BlockPos(8, 64, 8)); diff --git a/patches/minecraft/net/minecraft/client/network/NetHandlerPlayClient.java.patch b/patches/minecraft/net/minecraft/client/network/NetHandlerPlayClient.java.patch index 61b8bd175..b386a5048 100644 --- a/patches/minecraft/net/minecraft/client/network/NetHandlerPlayClient.java.patch +++ b/patches/minecraft/net/minecraft/client/network/NetHandlerPlayClient.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/network/NetHandlerPlayClient.java +++ ../src-work/minecraft/net/minecraft/client/network/NetHandlerPlayClient.java -@@ -267,7 +267,7 @@ +@@ -268,7 +268,7 @@ { PacketThreadUtil.func_180031_a(p_147282_1_, this, this.field_147299_f); this.field_147299_f.field_71442_b = new PlayerControllerMP(this.field_147299_f, this); @@ -9,7 +9,7 @@ this.field_147299_f.field_71474_y.field_74318_M = p_147282_1_.func_149192_g(); this.field_147299_f.func_71403_a(this.field_147300_g); this.field_147299_f.field_71439_g.field_71093_bK = p_147282_1_.func_149194_f(); -@@ -785,14 +785,16 @@ +@@ -797,14 +797,16 @@ public void func_147251_a(SPacketChat p_147251_1_) { PacketThreadUtil.func_180031_a(p_147251_1_, this, this.field_147299_f); @@ -28,7 +28,7 @@ } } -@@ -848,6 +850,11 @@ +@@ -860,6 +862,11 @@ float f = (float)(p_147281_1_.func_149028_l() * 360) / 256.0F; float f1 = (float)(p_147281_1_.func_149030_m() * 360) / 256.0F; EntityLivingBase entitylivingbase = (EntityLivingBase)EntityList.func_75616_a(p_147281_1_.func_149025_e(), this.field_147299_f.field_71441_e); @@ -40,7 +40,7 @@ EntityTracker.func_187254_a(entitylivingbase, d0, d1, d2); entitylivingbase.field_70761_aq = entitylivingbase.field_70759_as = (float)(p_147281_1_.func_149032_n() * 360) / 256.0F; Entity[] aentity = entitylivingbase.func_70021_al(); -@@ -919,7 +926,7 @@ +@@ -931,7 +938,7 @@ if (entity1 == this.field_147299_f.field_71439_g && !flag) { @@ -49,7 +49,7 @@ } } } -@@ -1179,6 +1186,10 @@ +@@ -1162,6 +1169,10 @@ { tileentity.func_145839_a(p_147273_1_.func_148857_g()); } @@ -60,7 +60,7 @@ if (flag && this.field_147299_f.field_71462_r instanceof GuiCommandBlock) { -@@ -1276,15 +1287,15 @@ +@@ -1259,15 +1270,15 @@ } else if (f == 101.0F) { @@ -79,7 +79,7 @@ } } else if (i == 6) -@@ -1378,7 +1389,7 @@ +@@ -1361,7 +1372,7 @@ if (entity instanceof EntityLivingBase) { diff --git a/patches/minecraft/net/minecraft/client/particle/EffectRenderer.java.patch b/patches/minecraft/net/minecraft/client/particle/ParticleManager.java.patch similarity index 65% rename from patches/minecraft/net/minecraft/client/particle/EffectRenderer.java.patch rename to patches/minecraft/net/minecraft/client/particle/ParticleManager.java.patch index d3cfc56bc..42fac1883 100644 --- a/patches/minecraft/net/minecraft/client/particle/EffectRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/particle/ParticleManager.java.patch @@ -1,23 +1,23 @@ ---- ../src-base/minecraft/net/minecraft/client/particle/EffectRenderer.java -+++ ../src-work/minecraft/net/minecraft/client/particle/EffectRenderer.java -@@ -143,6 +143,7 @@ +--- ../src-base/minecraft/net/minecraft/client/particle/ParticleManager.java ++++ ../src-work/minecraft/net/minecraft/client/particle/ParticleManager.java +@@ -145,6 +145,7 @@ - public void func_78873_a(EntityFX p_78873_1_) + public void func_78873_a(Particle p_78873_1_) { + if (p_78873_1_ == null) return; //Forge: Prevent modders from being bad and adding nulls causing untraceable NPEs. this.field_187241_h.add(p_78873_1_); } -@@ -376,7 +377,7 @@ +@@ -378,7 +379,7 @@ public void func_180533_a(BlockPos p_180533_1_, IBlockState p_180533_2_) { - if (p_180533_2_.func_185904_a() != Material.field_151579_a) -+ if (!p_180533_2_.func_177230_c().isAir(p_180533_2_, field_78878_a, p_180533_1_) && !p_180533_2_.func_177230_c().addDestroyEffects(field_78878_a, p_180533_1_, this)) ++ if (!p_180533_2_.func_177230_c().isAir(p_180533_2_, this.field_78878_a, p_180533_1_) && !p_180533_2_.func_177230_c().addDestroyEffects(field_78878_a, p_180533_1_, this)) { p_180533_2_ = p_180533_2_.func_185899_b(this.field_78878_a, p_180533_1_); int i = 4; -@@ -460,4 +461,13 @@ +@@ -462,4 +463,13 @@ return "" + i; } diff --git a/patches/minecraft/net/minecraft/client/renderer/BlockModelRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/BlockModelRenderer.java.patch index be9bcb78f..f3d7fc94e 100644 --- a/patches/minecraft/net/minecraft/client/renderer/BlockModelRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/BlockModelRenderer.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/BlockModelRenderer.java +++ ../src-work/minecraft/net/minecraft/client/renderer/BlockModelRenderer.java -@@ -140,7 +140,14 @@ +@@ -141,7 +141,14 @@ p_187492_8_.func_187491_a(p_187492_1_, p_187492_2_, p_187492_3_, bakedquad.func_178210_d(), p_187492_6_, p_187492_7_); p_187492_4_.func_178981_a(bakedquad.func_178209_a()); p_187492_4_.func_178962_a(p_187492_8_.field_178207_c[0], p_187492_8_.field_178207_c[1], p_187492_8_.field_178207_c[2], p_187492_8_.field_178207_c[3]); @@ -16,7 +16,7 @@ if (bakedquad.func_178212_b()) { int k = this.field_187499_a.func_186724_a(p_187492_2_, p_187492_1_, p_187492_3_, bakedquad.func_178211_c()); -@@ -289,11 +296,26 @@ +@@ -290,11 +297,26 @@ float f = (float)(l >> 16 & 255) / 255.0F; float f1 = (float)(l >> 8 & 255) / 255.0F; float f2 = (float)(l & 255) / 255.0F; diff --git a/patches/minecraft/net/minecraft/client/renderer/EntityRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/EntityRenderer.java.patch index eec1cf045..fa8071fea 100644 --- a/patches/minecraft/net/minecraft/client/renderer/EntityRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/EntityRenderer.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/EntityRenderer.java +++ ../src-work/minecraft/net/minecraft/client/renderer/EntityRenderer.java -@@ -207,6 +207,7 @@ +@@ -208,6 +208,7 @@ { this.func_175069_a(new ResourceLocation("shaders/post/invert.json")); } @@ -8,7 +8,7 @@ } } -@@ -398,7 +399,7 @@ +@@ -399,7 +400,7 @@ if (d3 < d2 || d2 == 0.0D) { @@ -17,7 +17,7 @@ { if (d2 == 0.0D) { -@@ -491,7 +492,7 @@ +@@ -492,7 +493,7 @@ f = f * 60.0F / 70.0F; } @@ -26,7 +26,7 @@ } } -@@ -555,14 +556,8 @@ +@@ -556,14 +557,8 @@ { BlockPos blockpos = new BlockPos(entity); IBlockState iblockstate = this.field_78531_r.field_71441_e.func_180495_p(blockpos); @@ -42,7 +42,7 @@ GlStateManager.func_179114_b(entity.field_70126_B + (entity.field_70177_z - entity.field_70126_B) * p_78467_1_ + 180.0F, 0.0F, -1.0F, 0.0F); GlStateManager.func_179114_b(entity.field_70127_C + (entity.field_70125_A - entity.field_70127_C) * p_78467_1_, -1.0F, 0.0F, 0.0F); } -@@ -629,17 +624,20 @@ +@@ -630,17 +625,20 @@ if (!this.field_78531_r.field_71474_y.field_74325_U) { @@ -70,7 +70,7 @@ } GlStateManager.func_179109_b(0.0F, -f, 0.0F); -@@ -757,6 +755,7 @@ +@@ -758,6 +756,7 @@ boolean flag = this.field_78531_r.func_175606_aa() instanceof EntityLivingBase && ((EntityLivingBase)this.field_78531_r.func_175606_aa()).func_70608_bn(); @@ -78,7 +78,7 @@ if (this.field_78531_r.field_71474_y.field_74320_O == 0 && !flag && !this.field_78531_r.field_71474_y.field_74319_N && !this.field_78531_r.field_71442_b.func_78747_a()) { this.func_180436_i(); -@@ -1092,7 +1091,7 @@ +@@ -1093,7 +1092,7 @@ try { @@ -87,7 +87,7 @@ } catch (Throwable throwable) { -@@ -1187,7 +1186,7 @@ +@@ -1188,7 +1187,7 @@ if (this.field_78531_r.field_71442_b.func_178889_l() == WorldSettings.GameType.SPECTATOR) { @@ -96,7 +96,7 @@ } else { -@@ -1312,7 +1311,9 @@ +@@ -1313,7 +1312,9 @@ GlStateManager.func_179094_E(); RenderHelper.func_74519_b(); this.field_78531_r.field_71424_I.func_76318_c("entities"); @@ -106,7 +106,7 @@ RenderHelper.func_74518_a(); this.func_175072_h(); } -@@ -1325,6 +1326,7 @@ +@@ -1326,6 +1327,7 @@ EntityPlayer entityplayer = (EntityPlayer)entity; GlStateManager.func_179118_c(); this.field_78531_r.field_71424_I.func_76318_c("outline"); @@ -114,7 +114,7 @@ renderglobal.func_72731_b(entityplayer, this.field_78531_r.field_71476_x, 0, p_175068_2_); GlStateManager.func_179141_d(); } -@@ -1366,6 +1368,17 @@ +@@ -1367,6 +1369,17 @@ GlStateManager.func_179103_j(7425); this.field_78531_r.field_71424_I.func_76318_c("translucent"); renderglobal.func_174977_a(BlockRenderLayer.TRANSLUCENT, (double)p_175068_2_, p_175068_1_, entity); @@ -132,7 +132,7 @@ GlStateManager.func_179103_j(7424); GlStateManager.func_179132_a(true); GlStateManager.func_179089_o(); -@@ -1378,6 +1391,9 @@ +@@ -1379,6 +1392,9 @@ this.func_180437_a(renderglobal, p_175068_2_, p_175068_1_); } @@ -142,7 +142,7 @@ this.field_78531_r.field_71424_I.func_76318_c("hand"); if (this.field_175074_C) -@@ -1490,6 +1506,13 @@ +@@ -1491,6 +1507,13 @@ protected void func_78474_d(float p_78474_1_) { @@ -156,7 +156,7 @@ float f = this.field_78531_r.field_71441_e.func_72867_j(p_78474_1_); if (f > 0.0F) -@@ -1820,6 +1843,13 @@ +@@ -1821,6 +1844,13 @@ this.field_175081_S = f7; } @@ -170,7 +170,7 @@ GlStateManager.func_179082_a(this.field_175080_Q, this.field_175082_R, this.field_175081_S, 0.0F); } -@@ -1830,7 +1860,9 @@ +@@ -1831,7 +1861,9 @@ GlStateManager.func_187432_a(0.0F, -1.0F, 0.0F); GlStateManager.func_179131_c(1.0F, 1.0F, 1.0F, 1.0F); IBlockState iblockstate = ActiveRenderInfo.func_186703_a(this.field_78531_r.field_71441_e, entity, p_78468_2_); @@ -181,7 +181,7 @@ if (entity instanceof EntityLivingBase && ((EntityLivingBase)entity).func_70644_a(MobEffects.field_76440_q)) { float f1 = 5.0F; -@@ -1915,6 +1947,7 @@ +@@ -1916,6 +1948,7 @@ GlStateManager.func_179102_b(f * 0.05F); GlStateManager.func_179153_c(Math.min(f, 192.0F) * 0.5F); } diff --git a/patches/minecraft/net/minecraft/client/renderer/ItemModelMesher.java.patch b/patches/minecraft/net/minecraft/client/renderer/ItemModelMesher.java.patch index 1b7646b17..d8b6f3ce0 100644 --- a/patches/minecraft/net/minecraft/client/renderer/ItemModelMesher.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/ItemModelMesher.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/ItemModelMesher.java +++ ../src-work/minecraft/net/minecraft/client/renderer/ItemModelMesher.java -@@ -32,7 +32,9 @@ +@@ -33,7 +33,9 @@ public TextureAtlasSprite func_178087_a(Item p_178087_1_, int p_178087_2_) { diff --git a/patches/minecraft/net/minecraft/client/renderer/ItemRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/ItemRenderer.java.patch index af69531d0..d09c9336b 100644 --- a/patches/minecraft/net/minecraft/client/renderer/ItemRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/ItemRenderer.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/ItemRenderer.java +++ ../src-work/minecraft/net/minecraft/client/renderer/ItemRenderer.java -@@ -316,7 +316,7 @@ +@@ -317,7 +317,7 @@ { ItemStack itemstack = abstractclientplayer.func_184607_cu(); @@ -9,7 +9,7 @@ { EnumHand enumhand1 = abstractclientplayer.func_184600_cs(); flag = enumhand1 == EnumHand.MAIN_HAND; -@@ -360,7 +360,7 @@ +@@ -361,7 +361,7 @@ this.func_187456_a(p_187457_7_, p_187457_5_, enumhandside); } } @@ -18,7 +18,7 @@ { if (flag && this.field_187468_e == null) { -@@ -444,6 +444,7 @@ +@@ -445,6 +445,7 @@ if (this.field_78455_a.field_71439_g.func_70094_T()) { IBlockState iblockstate = this.field_78455_a.field_71441_e.func_180495_p(new BlockPos(this.field_78455_a.field_71439_g)); @@ -26,7 +26,7 @@ EntityPlayer entityplayer = this.field_78455_a.field_71439_g; for (int i = 0; i < 8; ++i) -@@ -457,11 +458,13 @@ +@@ -458,11 +459,13 @@ if (iblockstate1.func_177230_c().func_176214_u()) { iblockstate = iblockstate1; @@ -40,7 +40,7 @@ this.func_178108_a(p_78447_1_, this.field_78455_a.func_175602_ab().func_175023_a().func_178122_a(iblockstate)); } } -@@ -470,11 +473,13 @@ +@@ -471,11 +474,13 @@ { if (this.field_78455_a.field_71439_g.func_70055_a(Material.field_151586_h)) { @@ -54,7 +54,7 @@ this.func_78442_d(p_78447_1_); } } -@@ -596,8 +601,8 @@ +@@ -597,8 +602,8 @@ else { float f = entityplayersp.func_184825_o(1.0F); diff --git a/patches/minecraft/net/minecraft/client/renderer/RenderGlobal.java.patch b/patches/minecraft/net/minecraft/client/renderer/RenderGlobal.java.patch index cb766654a..97010fc01 100644 --- a/patches/minecraft/net/minecraft/client/renderer/RenderGlobal.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/RenderGlobal.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/RenderGlobal.java +++ ../src-work/minecraft/net/minecraft/client/renderer/RenderGlobal.java -@@ -547,8 +547,10 @@ +@@ -548,8 +548,10 @@ public void func_180446_a(Entity p_180446_1_, ICamera p_180446_2_, float p_180446_3_) { @@ -11,7 +11,7 @@ --this.field_72740_G; } else -@@ -559,9 +561,12 @@ +@@ -560,9 +562,12 @@ this.field_72769_h.field_72984_F.func_76320_a("prepare"); TileEntityRendererDispatcher.field_147556_a.func_178470_a(this.field_72769_h, this.field_72777_q.func_110434_K(), this.field_72777_q.field_71466_p, this.field_72777_q.func_175606_aa(), p_180446_3_); this.field_175010_j.func_180597_a(this.field_72769_h, this.field_72777_q.field_71466_p, this.field_72777_q.func_175606_aa(), this.field_72777_q.field_147125_j, this.field_72777_q.field_71474_y, p_180446_3_); @@ -24,7 +24,7 @@ Entity entity = this.field_72777_q.func_175606_aa(); double d3 = entity.field_70142_S + (entity.field_70165_t - entity.field_70142_S) * (double)p_180446_3_; double d4 = entity.field_70137_T + (entity.field_70163_u - entity.field_70137_T) * (double)p_180446_3_; -@@ -573,11 +578,15 @@ +@@ -574,11 +579,15 @@ this.field_72777_q.field_71460_t.func_180436_i(); this.field_72769_h.field_72984_F.func_76318_c("global"); List list = this.field_72769_h.func_72910_y(); @@ -40,7 +40,7 @@ ++this.field_72749_I; if (entity1.func_145770_h(d0, d1, d2)) -@@ -599,6 +608,7 @@ +@@ -601,6 +610,7 @@ { for (Entity entity2 : classinheritancemultimap) { @@ -48,7 +48,7 @@ boolean flag = this.field_175010_j.func_178635_a(entity2, p_180446_2_, d0, d1, d2) || entity2.func_184215_y(this.field_72777_q.field_71439_g); if (flag) -@@ -633,6 +643,7 @@ +@@ -637,6 +647,7 @@ } } @@ -56,7 +56,7 @@ if (this.func_174985_d() && (!list1.isEmpty() || this.field_184386_ad)) { this.field_72769_h.field_72984_F.func_76318_c("entityOutlines"); -@@ -672,6 +683,7 @@ +@@ -676,6 +687,7 @@ this.field_72769_h.field_72984_F.func_76318_c("blockentities"); RenderHelper.func_74519_b(); @@ -64,7 +64,7 @@ for (RenderGlobal.ContainerLocalRenderInformation renderglobal$containerlocalrenderinformation1 : this.field_72755_R) { List list3 = renderglobal$containerlocalrenderinformation1.field_178036_a.func_178571_g().func_178485_b(); -@@ -680,6 +692,7 @@ +@@ -684,6 +696,7 @@ { for (TileEntity tileentity2 : list3) { @@ -72,7 +72,7 @@ TileEntityRendererDispatcher.field_147556_a.func_180546_a(tileentity2, p_180446_3_, -1); } } -@@ -689,9 +702,11 @@ +@@ -693,9 +706,11 @@ { for (TileEntity tileentity : this.field_181024_n) { @@ -84,7 +84,7 @@ this.func_180443_s(); -@@ -718,7 +733,7 @@ +@@ -722,7 +737,7 @@ Block block = this.field_72769_h.func_180495_p(blockpos).func_177230_c(); @@ -93,7 +93,7 @@ { TileEntityRendererDispatcher.field_147556_a.func_180546_a(tileentity1, p_180446_3_, destroyblockprogress.func_73106_e()); } -@@ -1210,6 +1225,13 @@ +@@ -1214,6 +1229,13 @@ public void func_174976_a(float p_174976_1_, int p_174976_2_) { @@ -107,7 +107,7 @@ if (this.field_72777_q.field_71441_e.field_73011_w.func_186058_p().func_186068_a() == 1) { this.func_180448_r(); -@@ -1427,6 +1449,12 @@ +@@ -1431,6 +1453,12 @@ public void func_180447_b(float p_180447_1_, int p_180447_2_) { @@ -120,7 +120,7 @@ if (this.field_72777_q.field_71441_e.field_73011_w.func_76569_d()) { if (this.field_72777_q.field_71474_y.func_181147_e() == 2) -@@ -1854,8 +1882,11 @@ +@@ -1858,8 +1886,11 @@ double d4 = (double)blockpos.func_177956_o() - d1; double d5 = (double)blockpos.func_177952_p() - d2; Block block = this.field_72769_h.func_180495_p(blockpos).func_177230_c(); diff --git a/patches/minecraft/net/minecraft/client/renderer/RenderItem.java.patch b/patches/minecraft/net/minecraft/client/renderer/RenderItem.java.patch index e4a020fc9..b2b512426 100644 --- a/patches/minecraft/net/minecraft/client/renderer/RenderItem.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/RenderItem.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/RenderItem.java +++ ../src-work/minecraft/net/minecraft/client/renderer/RenderItem.java -@@ -71,7 +71,7 @@ +@@ -72,7 +72,7 @@ public RenderItem(TextureManager p_i46552_1_, ModelManager p_i46552_2_, ItemColors p_i46552_3_) { this.field_175057_n = p_i46552_1_; @@ -9,7 +9,7 @@ this.func_175041_b(); this.field_184395_f = p_i46552_3_; } -@@ -223,7 +223,7 @@ +@@ -224,7 +224,7 @@ k = k | -16777216; } @@ -18,8 +18,8 @@ } } -@@ -245,17 +245,7 @@ - public IBakedModel func_184393_a(ItemStack p_184393_1_, World p_184393_2_, EntityLivingBase p_184393_3_) +@@ -246,17 +246,7 @@ + public IBakedModel func_184393_a(ItemStack p_184393_1_, @Nullable World p_184393_2_, @Nullable EntityLivingBase p_184393_3_) { IBakedModel ibakedmodel = this.field_175059_m.func_178089_a(p_184393_1_); - Item item = p_184393_1_.func_77973_b(); @@ -37,7 +37,7 @@ } public void func_184392_a(ItemStack p_184392_1_, EntityLivingBase p_184392_2_, ItemCameraTransforms.TransformType p_184392_3_, boolean p_184392_4_) -@@ -279,14 +269,9 @@ +@@ -280,14 +270,9 @@ GlStateManager.func_179147_l(); GlStateManager.func_187428_a(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); GlStateManager.func_179094_E(); @@ -54,7 +54,7 @@ this.func_180454_a(p_184394_1_, p_184394_2_); GlStateManager.func_187407_a(GlStateManager.CullFace.BACK); GlStateManager.func_179121_F(); -@@ -319,7 +304,7 @@ +@@ -320,7 +305,7 @@ GlStateManager.func_187401_a(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); GlStateManager.func_179131_c(1.0F, 1.0F, 1.0F, 1.0F); this.func_180452_a(p_184390_2_, p_184390_3_, p_184390_4_.func_177556_c()); @@ -63,7 +63,7 @@ this.func_180454_a(p_184390_1_, p_184390_4_); GlStateManager.func_179118_c(); GlStateManager.func_179101_C(); -@@ -424,12 +409,16 @@ +@@ -425,12 +410,16 @@ p_180453_1_.func_175063_a(s, (float)(p_180453_3_ + 19 - 2 - p_180453_1_.func_78256_a(s)), (float)(p_180453_4_ + 6 + 3), 16777215); GlStateManager.func_179145_e(); GlStateManager.func_179126_j(); @@ -83,7 +83,7 @@ GlStateManager.func_179140_f(); GlStateManager.func_179097_i(); GlStateManager.func_179090_x(); -@@ -1053,6 +1042,7 @@ +@@ -1054,6 +1043,7 @@ this.func_175029_a(Blocks.field_185779_df, TileEntityStructure.Mode.LOAD.func_185110_a(), "structure_block"); this.func_175029_a(Blocks.field_185779_df, TileEntityStructure.Mode.CORNER.func_185110_a(), "structure_block"); this.func_175029_a(Blocks.field_185779_df, TileEntityStructure.Mode.DATA.func_185110_a(), "structure_block"); diff --git a/patches/minecraft/net/minecraft/client/renderer/block/model/FaceBakery.java.patch b/patches/minecraft/net/minecraft/client/renderer/block/model/FaceBakery.java.patch index f27905bd1..dd3378717 100644 --- a/patches/minecraft/net/minecraft/client/renderer/block/model/FaceBakery.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/block/model/FaceBakery.java.patch @@ -1,8 +1,8 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/block/model/FaceBakery.java +++ ../src-work/minecraft/net/minecraft/client/renderer/block/model/FaceBakery.java -@@ -48,14 +48,19 @@ +@@ -49,14 +49,19 @@ - public BakedQuad func_178414_a(Vector3f p_178414_1_, Vector3f p_178414_2_, BlockPartFace p_178414_3_, TextureAtlasSprite p_178414_4_, EnumFacing p_178414_5_, ModelRotation p_178414_6_, BlockPartRotation p_178414_7_, boolean p_178414_8_, boolean p_178414_9_) + public BakedQuad func_178414_a(Vector3f p_178414_1_, Vector3f p_178414_2_, BlockPartFace p_178414_3_, TextureAtlasSprite p_178414_4_, EnumFacing p_178414_5_, ModelRotation p_178414_6_, @Nullable BlockPartRotation p_178414_7_, boolean p_178414_8_, boolean p_178414_9_) { + return makeBakedQuad(p_178414_1_, p_178414_2_, p_178414_3_, p_178414_4_, p_178414_5_, (net.minecraftforge.common.model.ITransformation)p_178414_6_, p_178414_7_, p_178414_8_, p_178414_9_); + } @@ -22,7 +22,7 @@ EnumFacing enumfacing = func_178410_a(aint); if (p_178414_7_ == null) -@@ -63,7 +68,8 @@ +@@ -64,7 +69,8 @@ this.func_178408_a(aint, enumfacing); } @@ -32,9 +32,9 @@ } private BlockFaceUV func_188010_a(BlockFaceUV p_188010_1_, EnumFacing p_188010_2_, ModelRotation p_188010_3_) -@@ -73,11 +79,16 @@ +@@ -74,11 +80,16 @@ - private int[] func_188012_a(BlockFaceUV p_188012_1_, TextureAtlasSprite p_188012_2_, EnumFacing p_188012_3_, float[] p_188012_4_, ModelRotation p_188012_5_, BlockPartRotation p_188012_6_, boolean p_188012_7_) + private int[] func_188012_a(BlockFaceUV p_188012_1_, TextureAtlasSprite p_188012_2_, EnumFacing p_188012_3_, float[] p_188012_4_, ModelRotation p_188012_5_, @Nullable BlockPartRotation p_188012_6_, boolean p_188012_7_) { + return makeQuadVertexData(p_188012_1_, p_188012_2_, p_188012_3_, p_188012_4_, (net.minecraftforge.common.model.ITransformation)p_188012_5_, p_188012_6_, p_188012_7_); + } @@ -50,9 +50,9 @@ } return aint; -@@ -123,12 +134,17 @@ +@@ -124,12 +135,17 @@ - private void func_188015_a(int[] p_188015_1_, int p_188015_2_, EnumFacing p_188015_3_, BlockFaceUV p_188015_4_, float[] p_188015_5_, TextureAtlasSprite p_188015_6_, ModelRotation p_188015_7_, BlockPartRotation p_188015_8_, boolean p_188015_9_) + private void func_188015_a(int[] p_188015_1_, int p_188015_2_, EnumFacing p_188015_3_, BlockFaceUV p_188015_4_, float[] p_188015_5_, TextureAtlasSprite p_188015_6_, ModelRotation p_188015_7_, @Nullable BlockPartRotation p_188015_8_, boolean p_188015_9_) { - EnumFacing enumfacing = p_188015_7_.func_177523_a(p_188015_3_); + fillVertexData(p_188015_1_, p_188015_2_, p_188015_3_, p_188015_4_, p_188015_5_, p_188015_6_, (net.minecraftforge.common.model.ITransformation)p_188015_7_, p_188015_8_, p_188015_9_); @@ -70,7 +70,7 @@ this.func_178404_a(p_188015_1_, j, p_188015_2_, vector3f, i, p_188015_6_, p_188015_4_); } -@@ -139,8 +155,8 @@ +@@ -140,8 +156,8 @@ p_178404_1_[i + 1] = Float.floatToRawIntBits(p_178404_4_.y); p_178404_1_[i + 2] = Float.floatToRawIntBits(p_178404_4_.z); p_178404_1_[i + 3] = p_178404_5_; @@ -80,8 +80,8 @@ + p_178404_1_[i + 4 + 1] = Float.floatToRawIntBits(p_178404_6_.func_94207_b((double)p_178404_7_.func_178346_b(p_178404_3_) * .999 + p_178404_7_.func_178346_b((p_178404_3_ + 2) % 4) * .001)); } - private void func_178407_a(Vector3f p_178407_1_, BlockPartRotation p_178407_2_) -@@ -189,14 +205,19 @@ + private void func_178407_a(Vector3f p_178407_1_, @Nullable BlockPartRotation p_178407_2_) +@@ -190,14 +206,19 @@ public int func_188011_a(Vector3f p_188011_1_, EnumFacing p_188011_2_, int p_188011_3_, ModelRotation p_188011_4_) { diff --git a/patches/minecraft/net/minecraft/client/renderer/block/model/IBakedModel.java.patch b/patches/minecraft/net/minecraft/client/renderer/block/model/IBakedModel.java.patch index af5da1d94..91066f0a8 100644 --- a/patches/minecraft/net/minecraft/client/renderer/block/model/IBakedModel.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/block/model/IBakedModel.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/block/model/IBakedModel.java +++ ../src-work/minecraft/net/minecraft/client/renderer/block/model/IBakedModel.java -@@ -20,6 +20,7 @@ +@@ -21,6 +21,7 @@ TextureAtlasSprite func_177554_e(); diff --git a/patches/minecraft/net/minecraft/client/renderer/block/model/ItemOverrideList.java.patch b/patches/minecraft/net/minecraft/client/renderer/block/model/ItemOverrideList.java.patch index a00094176..cb5428221 100644 --- a/patches/minecraft/net/minecraft/client/renderer/block/model/ItemOverrideList.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/block/model/ItemOverrideList.java.patch @@ -1,14 +1,14 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/block/model/ItemOverrideList.java +++ ../src-work/minecraft/net/minecraft/client/renderer/block/model/ItemOverrideList.java -@@ -27,6 +27,7 @@ - } +@@ -29,6 +29,7 @@ } + @Nullable + @Deprecated - public ResourceLocation func_188021_a(ItemStack p_188021_1_, World p_188021_2_, EntityLivingBase p_188021_3_) + public ResourceLocation func_188021_a(ItemStack p_188021_1_, @Nullable World p_188021_2_, @Nullable EntityLivingBase p_188021_3_) { if (!this.field_188023_b.isEmpty()) -@@ -42,4 +43,23 @@ +@@ -44,4 +45,23 @@ return null; } diff --git a/patches/minecraft/net/minecraft/client/renderer/block/model/ModelBakery.java.patch b/patches/minecraft/net/minecraft/client/renderer/block/model/ModelBakery.java.patch index b7ac03ea1..8f8b0f81c 100644 --- a/patches/minecraft/net/minecraft/client/renderer/block/model/ModelBakery.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/block/model/ModelBakery.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/block/model/ModelBakery.java +++ ../src-work/minecraft/net/minecraft/client/renderer/block/model/ModelBakery.java -@@ -102,6 +102,21 @@ +@@ -103,6 +103,21 @@ { try { @@ -22,16 +22,16 @@ ModelBlockDefinition modelblockdefinition = this.func_177586_a(resourcelocation); Map map = blockstatemapper.func_188181_b(block); -@@ -109,7 +124,7 @@ +@@ -110,7 +125,7 @@ { Collection collection = Sets.newHashSet(map.values()); modelblockdefinition.func_188001_c().func_188138_a(block.func_176194_O()); - this.field_188642_k.put(modelblockdefinition, Lists.newArrayList(Iterables.filter(collection, new Predicate() + registerMultipartVariant(modelblockdefinition, Lists.newArrayList(Iterables.filter(collection, new Predicate() { - public boolean apply(ModelResourceLocation p_apply_1_) + public boolean apply(@Nullable ModelResourceLocation p_apply_1_) { -@@ -126,22 +141,18 @@ +@@ -127,22 +142,18 @@ { try { @@ -56,7 +56,7 @@ } } } -@@ -370,6 +381,7 @@ +@@ -371,6 +382,7 @@ protected void func_177592_e() { @@ -64,7 +64,7 @@ this.field_177613_u.put(Item.func_150898_a(Blocks.field_150348_b), Lists.newArrayList(new String[] {"stone", "granite", "granite_smooth", "diorite", "diorite_smooth", "andesite", "andesite_smooth"})); this.field_177613_u.put(Item.func_150898_a(Blocks.field_150346_d), Lists.newArrayList(new String[] {"dirt", "coarse_dirt", "podzol"})); this.field_177613_u.put(Item.func_150898_a(Blocks.field_150344_f), Lists.newArrayList(new String[] {"oak_planks", "spruce_planks", "birch_planks", "jungle_planks", "acacia_planks", "dark_oak_planks"})); -@@ -413,6 +425,10 @@ +@@ -414,6 +426,10 @@ this.field_177613_u.put(Item.func_150898_a(Blocks.field_180407_aO), Lists.newArrayList(new String[] {"oak_fence"})); this.field_177613_u.put(Items.field_179570_aq, Lists.newArrayList(new String[] {"oak_door"})); this.field_177613_u.put(Items.field_151124_az, Lists.newArrayList(new String[] {"oak_boat"})); @@ -75,7 +75,7 @@ } protected List func_177596_a(Item p_177596_1_) -@@ -429,7 +445,7 @@ +@@ -430,7 +446,7 @@ protected ResourceLocation func_177583_a(String p_177583_1_) { @@ -84,7 +84,7 @@ return new ResourceLocation(resourcelocation.func_110624_b(), "item/" + resourcelocation.func_110623_a()); } -@@ -536,7 +552,7 @@ +@@ -538,7 +554,7 @@ for (Entry entry : this.field_177615_s.entrySet()) { ResourceLocation resourcelocation = (ResourceLocation)entry.getValue(); @@ -93,8 +93,8 @@ ModelBlock modelblock = (ModelBlock)this.field_177611_h.get(resourcelocation); if (modelblock != null && modelblock.func_178303_d()) -@@ -623,6 +639,11 @@ - +@@ -626,6 +642,11 @@ + @Nullable private IBakedModel func_177578_a(ModelBlock p_177578_1_, ModelRotation p_177578_2_, boolean p_177578_3_) { + return bakeModel(p_177578_1_, (net.minecraftforge.common.model.ITransformation)p_177578_2_, p_177578_3_); @@ -105,7 +105,7 @@ TextureAtlasSprite textureatlassprite = (TextureAtlasSprite)this.field_177599_g.get(new ResourceLocation(p_177578_1_.func_178308_c("particle"))); SimpleBakedModel.Builder simplebakedmodel$builder = (new SimpleBakedModel.Builder(p_177578_1_, p_177578_1_.func_187967_g())).func_177646_a(textureatlassprite); -@@ -639,13 +660,13 @@ +@@ -642,13 +663,13 @@ BlockPartFace blockpartface = (BlockPartFace)blockpart.field_178240_c.get(enumfacing); TextureAtlasSprite textureatlassprite1 = (TextureAtlasSprite)this.field_177599_g.get(new ResourceLocation(p_177578_1_.func_178308_c(blockpartface.field_178242_d))); @@ -122,7 +122,7 @@ } } } -@@ -656,9 +677,14 @@ +@@ -659,9 +680,14 @@ private BakedQuad func_177589_a(BlockPart p_177589_1_, BlockPartFace p_177589_2_, TextureAtlasSprite p_177589_3_, EnumFacing p_177589_4_, ModelRotation p_177589_5_, boolean p_177589_6_) { @@ -138,7 +138,7 @@ private void func_177597_h() { this.func_177574_i(); -@@ -878,4 +904,23 @@ +@@ -882,4 +908,23 @@ field_177606_o.field_178317_b = "generation marker"; field_177616_r.field_178317_b = "block entity marker"; } diff --git a/patches/minecraft/net/minecraft/client/renderer/block/model/ModelBlockDefinition.java.patch b/patches/minecraft/net/minecraft/client/renderer/block/model/ModelBlockDefinition.java.patch index aef97997d..47026f38d 100644 --- a/patches/minecraft/net/minecraft/client/renderer/block/model/ModelBlockDefinition.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/block/model/ModelBlockDefinition.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/block/model/ModelBlockDefinition.java +++ ../src-work/minecraft/net/minecraft/client/renderer/block/model/ModelBlockDefinition.java -@@ -31,7 +31,7 @@ +@@ -34,7 +34,7 @@ public static ModelBlockDefinition func_178331_a(Reader p_178331_0_) { diff --git a/patches/minecraft/net/minecraft/client/renderer/block/statemap/StateMap.java.patch b/patches/minecraft/net/minecraft/client/renderer/block/statemap/StateMap.java.patch index c0c691837..2090d9fc2 100644 --- a/patches/minecraft/net/minecraft/client/renderer/block/statemap/StateMap.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/block/statemap/StateMap.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/block/statemap/StateMap.java +++ ../src-work/minecraft/net/minecraft/client/renderer/block/statemap/StateMap.java -@@ -38,7 +38,7 @@ +@@ -39,7 +39,7 @@ } else { diff --git a/patches/minecraft/net/minecraft/client/renderer/chunk/RenderChunk.java.patch b/patches/minecraft/net/minecraft/client/renderer/chunk/RenderChunk.java.patch index bb29f62d1..10a7b17ec 100644 --- a/patches/minecraft/net/minecraft/client/renderer/chunk/RenderChunk.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/chunk/RenderChunk.java.patch @@ -1,26 +1,15 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/chunk/RenderChunk.java +++ ../src-work/minecraft/net/minecraft/client/renderer/chunk/RenderChunk.java -@@ -133,7 +133,9 @@ - return; - } - -- iblockaccess = new RegionRenderCache(this.field_178588_d, blockpos.func_177982_a(-1, -1, -1), blockpos1.func_177982_a(1, 1, 1), 1); -+ RegionRenderCache cache = createRegionRenderCache(this.field_178588_d, blockpos.func_177982_a(-1, -1, -1), blockpos1.func_177982_a(1, 1, 1), 1); -+ net.minecraftforge.client.MinecraftForgeClient.onRebuildChunk(field_178588_d, field_178586_f, cache); -+ iblockaccess = cache; - p_178581_4_.func_178543_a(compiledchunk); - } - finally -@@ -160,7 +162,7 @@ - lvt_10_1_.func_178606_a(blockpos$mutableblockpos); +@@ -162,7 +162,7 @@ + lvt_9_1_.func_178606_a(blockpos$mutableblockpos); } - if (block.func_149716_u()) + if (block.hasTileEntity(iblockstate)) { - TileEntity tileentity = iblockaccess.func_175625_s(new BlockPos(blockpos$mutableblockpos)); - TileEntitySpecialRenderer tileentityspecialrenderer = TileEntityRendererDispatcher.field_147556_a.func_147547_b(tileentity); -@@ -176,7 +178,9 @@ + TileEntity tileentity = this.field_189564_r.func_175625_s(new BlockPos(blockpos$mutableblockpos)); + +@@ -182,7 +182,9 @@ } } @@ -31,16 +20,27 @@ int j = blockrenderlayer1.ordinal(); if (block.func_176223_P().func_185901_i() != EnumBlockRenderType.INVISIBLE) -@@ -191,6 +195,8 @@ +@@ -197,6 +199,8 @@ - aboolean[j] |= blockrendererdispatcher.func_175018_a(iblockstate, blockpos$mutableblockpos, iblockaccess, vertexbuffer); + aboolean[j] |= blockrendererdispatcher.func_175018_a(iblockstate, blockpos$mutableblockpos, this.field_189564_r, vertexbuffer); } + } + net.minecraftforge.client.ForgeHooksClient.setRenderLayer(null); } for (BlockRenderLayer blockrenderlayer : BlockRenderLayer.values()) -@@ -413,6 +419,26 @@ +@@ -278,7 +282,9 @@ + private void func_189563_q() + { + int i = 1; +- this.field_189564_r = new ChunkCache(this.field_178588_d, this.field_178586_f.func_177982_a(-1, -1, -1), this.field_178586_f.func_177982_a(16, 16, 16), 1); ++ ChunkCache cache = createRegionRenderCache(this.field_178588_d, this.field_178586_f.func_177982_a(-1, -1, -1), this.field_178586_f.func_177982_a(16, 16, 16), 1); ++ net.minecraftforge.client.MinecraftForgeClient.onRebuildChunk(this.field_178588_d, this.field_178586_f, cache); ++ this.field_189564_r = cache; + } + + @Nullable +@@ -427,6 +433,26 @@ return this.field_178593_n && this.field_188284_q; } @@ -58,12 +58,12 @@ + * the cache a 20x20x20 cube, for a total of 8000 states in the cache. + * @return new RegionRenderCache instance + */ -+ protected RegionRenderCache createRegionRenderCache(World world, BlockPos from, BlockPos to, int subtract) ++ protected ChunkCache createRegionRenderCache(World world, BlockPos from, BlockPos to, int subtract) + { -+ return new RegionRenderCache(world, from, to, subtract); ++ return new ChunkCache(world, from, to, subtract); + } + /* ========================================= FORGE END ======================================*/ + public BlockPos func_181701_a(EnumFacing p_181701_1_) { - return (BlockPos)this.field_181702_p.get(p_181701_1_); + return this.field_181702_p[p_181701_1_.ordinal()]; diff --git a/patches/minecraft/net/minecraft/client/renderer/color/BlockColors.java.patch b/patches/minecraft/net/minecraft/client/renderer/color/BlockColors.java.patch index 93ce7f14e..16a5a36ad 100644 --- a/patches/minecraft/net/minecraft/client/renderer/color/BlockColors.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/color/BlockColors.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/color/BlockColors.java +++ ../src-work/minecraft/net/minecraft/client/renderer/color/BlockColors.java -@@ -25,7 +25,8 @@ +@@ -26,7 +26,8 @@ @SideOnly(Side.CLIENT) public class BlockColors { @@ -10,16 +10,16 @@ public static BlockColors func_186723_a() { -@@ -145,7 +146,7 @@ +@@ -146,7 +147,7 @@ - public int func_186724_a(IBlockState p_186724_1_, IBlockAccess p_186724_2_, BlockPos p_186724_3_, int p_186724_4_) + public int func_186724_a(IBlockState p_186724_1_, @Nullable IBlockAccess p_186724_2_, @Nullable BlockPos p_186724_3_, int p_186724_4_) { - IBlockColor iblockcolor = (IBlockColor)this.field_186725_a.func_148745_a(Block.func_149682_b(p_186724_1_.func_177230_c())); + IBlockColor iblockcolor = (IBlockColor)this.blockColorMap.get(p_186724_1_.func_177230_c().delegate); return iblockcolor == null ? -1 : iblockcolor.func_186720_a(p_186724_1_, p_186724_2_, p_186724_3_, p_186724_4_); } -@@ -155,7 +156,9 @@ +@@ -156,7 +157,9 @@ for (int j = p_186722_2_.length; i < j; ++i) { diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/RenderManager.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/RenderManager.java.patch index 9292829e3..18e64c359 100644 --- a/patches/minecraft/net/minecraft/client/renderer/entity/RenderManager.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/entity/RenderManager.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/entity/RenderManager.java +++ ../src-work/minecraft/net/minecraft/client/renderer/entity/RenderManager.java -@@ -204,8 +204,13 @@ +@@ -205,8 +205,13 @@ this.field_178637_m = new RenderPlayer(this); this.field_178636_l.put("default", this.field_178637_m); this.field_178636_l.put("slim", new RenderPlayer(this, true)); @@ -14,7 +14,7 @@ public void func_178628_a(double p_178628_1_, double p_178628_3_, double p_178628_5_) { this.field_78725_b = p_178628_1_; -@@ -253,9 +258,9 @@ +@@ -255,9 +260,9 @@ IBlockState iblockstate = p_180597_1_.func_180495_p(new BlockPos(p_180597_3_)); Block block = iblockstate.func_177230_c(); diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/layers/LayerArmorBase.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/layers/LayerArmorBase.java.patch index 7d33508e9..11c2dc9ce 100644 --- a/patches/minecraft/net/minecraft/client/renderer/entity/layers/LayerArmorBase.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/entity/layers/LayerArmorBase.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/entity/layers/LayerArmorBase.java +++ ../src-work/minecraft/net/minecraft/client/renderer/entity/layers/LayerArmorBase.java -@@ -59,29 +59,27 @@ +@@ -60,29 +60,27 @@ T t = this.func_188360_a(p_188361_9_); t.func_178686_a(this.field_177190_a.func_177087_b()); t.func_78086_a(p_188361_1_, p_188361_2_, p_188361_3_, p_188361_4_); @@ -40,7 +40,7 @@ { func_188364_a(this.field_177190_a, p_188361_1_, t, p_188361_2_, p_188361_3_, p_188361_4_, p_188361_5_, p_188361_6_, p_188361_7_, p_188361_8_); } -@@ -140,11 +138,13 @@ +@@ -142,11 +140,13 @@ GlStateManager.func_179084_k(); } @@ -54,7 +54,7 @@ private ResourceLocation func_177178_a(ItemArmor p_177178_1_, boolean p_177178_2_, String p_177178_3_) { String s = String.format("textures/models/armor/%s_layer_%d%s.png", new Object[] {p_177178_1_.func_82812_d().func_179242_c(), Integer.valueOf(p_177178_2_ ? 2 : 1), p_177178_3_ == null ? "" : String.format("_%s", new Object[]{p_177178_3_})}); -@@ -162,4 +162,49 @@ +@@ -164,4 +164,49 @@ protected abstract void func_177177_a(); protected abstract void func_188359_a(T p_188359_1_, EntityEquipmentSlot p_188359_2_); diff --git a/patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch b/patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch index 4622bff37..eecabb795 100644 --- a/patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/texture/TextureMap.java +++ ../src-work/minecraft/net/minecraft/client/renderer/texture/TextureMap.java -@@ -26,6 +26,7 @@ +@@ -27,6 +27,7 @@ @SideOnly(Side.CLIENT) public class TextureMap extends AbstractTexture implements ITickableTextureObject { @@ -8,17 +8,17 @@ private static final Logger field_147635_d = LogManager.getLogger(); public static final ResourceLocation field_174945_f = new ResourceLocation("missingno"); public static final ResourceLocation field_110575_b = new ResourceLocation("textures/atlas/blocks.png"); -@@ -36,6 +37,7 @@ - private final IIconCreator field_174946_m; +@@ -37,6 +38,7 @@ + private final ITextureMapPopulator field_174946_m; private int field_147636_j; private final TextureAtlasSprite field_94249_f; + private boolean skipFirst = false; public TextureMap(String p_i46099_1_) { -@@ -44,12 +46,23 @@ +@@ -45,12 +47,23 @@ - public TextureMap(String p_i46100_1_, IIconCreator p_i46100_2_) + public TextureMap(String p_i46100_1_, @Nullable ITextureMapPopulator p_i46100_2_) { + this(p_i46100_1_, p_i46100_2_, false); + } @@ -28,7 +28,7 @@ + this(basePathIn, null, skipFirst); + } + -+ public TextureMap(String p_i46100_1_, IIconCreator p_i46100_2_, boolean skipFirst) ++ public TextureMap(String p_i46100_1_, ITextureMapPopulator p_i46100_2_, boolean skipFirst) + { this.field_94258_i = Lists.newArrayList(); this.field_110574_e = Maps.newHashMap(); @@ -40,7 +40,7 @@ } private void func_110569_e() -@@ -88,12 +101,26 @@ +@@ -89,12 +102,26 @@ int j = Integer.MAX_VALUE; int k = 1 << this.field_147636_j; @@ -67,7 +67,7 @@ try { PngSizeInfo pngsizeinfo = PngSizeInfo.func_188532_a(p_110571_1_.func_110536_a(resourcelocation)); -@@ -103,12 +130,14 @@ +@@ -104,12 +131,14 @@ } catch (RuntimeException runtimeexception) { @@ -84,7 +84,7 @@ continue; } finally -@@ -128,6 +157,7 @@ +@@ -129,6 +158,7 @@ stitcher.func_110934_a(textureatlassprite); } @@ -92,7 +92,7 @@ int l = Math.min(j, k); int i1 = MathHelper.func_151239_c(l); -@@ -139,9 +169,12 @@ +@@ -140,9 +170,12 @@ this.field_94249_f.func_147963_d(this.field_147636_j); stitcher.func_110934_a(this.field_94249_f); @@ -105,7 +105,7 @@ stitcher.func_94305_f(); } catch (StitcherException stitcherexception) -@@ -150,11 +183,16 @@ +@@ -151,11 +184,16 @@ } field_147635_d.info("Created: {}x{} {}-atlas", new Object[] {Integer.valueOf(stitcher.func_110935_a()), Integer.valueOf(stitcher.func_110936_b()), this.field_94254_c}); @@ -122,7 +122,7 @@ if (textureatlassprite1 == this.field_94249_f || this.func_184397_a(p_110571_1_, textureatlassprite1)) { String s = textureatlassprite1.func_94215_i(); -@@ -185,6 +223,13 @@ +@@ -186,6 +224,13 @@ { textureatlassprite2.func_94217_a(this.field_94249_f); } @@ -136,7 +136,7 @@ } private boolean func_184397_a(IResourceManager p_184397_1_, final TextureAtlasSprite p_184397_2_) -@@ -194,7 +239,7 @@ +@@ -195,7 +240,7 @@ label9: { boolean flag; @@ -145,7 +145,7 @@ try { iresource = p_184397_1_.func_110536_a(resourcelocation); -@@ -291,7 +336,7 @@ +@@ -292,7 +337,7 @@ } else { @@ -154,7 +154,7 @@ if (textureatlassprite == null) { -@@ -317,4 +362,37 @@ +@@ -318,4 +363,37 @@ { return this.field_94249_f; } diff --git a/patches/minecraft/net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher.java.patch b/patches/minecraft/net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher.java.patch index f5f95ca27..0927701b5 100644 --- a/patches/minecraft/net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher.java +++ ../src-work/minecraft/net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher.java -@@ -106,11 +106,14 @@ +@@ -108,11 +108,14 @@ { if (p_180546_1_.func_145835_a(this.field_147560_j, this.field_147561_k, this.field_147558_l) < p_180546_1_.func_145833_n()) { @@ -15,7 +15,7 @@ BlockPos blockpos = p_180546_1_.func_174877_v(); this.func_178469_a(p_180546_1_, (double)blockpos.func_177958_n() - field_147554_b, (double)blockpos.func_177956_o() - field_147555_c, (double)blockpos.func_177952_p() - field_147552_d, p_180546_2_, p_180546_3_); } -@@ -129,6 +132,11 @@ +@@ -131,6 +134,11 @@ { try { @@ -27,7 +27,7 @@ tileentityspecialrenderer.func_180535_a(p_178469_1_, p_178469_2_, p_178469_4_, p_178469_6_, p_178469_8_, p_178469_9_); } catch (Throwable throwable) -@@ -155,4 +163,52 @@ +@@ -157,4 +165,52 @@ { return this.field_147557_n; } diff --git a/patches/minecraft/net/minecraft/client/resources/AbstractResourcePack.java.patch b/patches/minecraft/net/minecraft/client/resources/AbstractResourcePack.java.patch index 375865cd4..8f378ff41 100644 --- a/patches/minecraft/net/minecraft/client/resources/AbstractResourcePack.java.patch +++ b/patches/minecraft/net/minecraft/client/resources/AbstractResourcePack.java.patch @@ -8,4 +8,4 @@ + field_110598_a.warn("ResourcePack: ignored non-lowercase namespace: {} in {}", new Object[] {p_110594_1_, this.field_110597_b}); } - public T func_135058_a(IMetadataSerializer p_135058_1_, String p_135058_2_) throws IOException + public T func_135058_a(MetadataSerializer p_135058_1_, String p_135058_2_) throws IOException diff --git a/patches/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java.patch b/patches/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java.patch index 5dd733b35..297e9f843 100644 --- a/patches/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java.patch +++ b/patches/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java.patch @@ -1,14 +1,14 @@ --- ../src-base/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java +++ ../src-work/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java -@@ -92,6 +92,7 @@ +@@ -93,6 +93,7 @@ public void func_110541_a(List p_110541_1_) { this.func_110543_a(); + net.minecraftforge.fml.common.ProgressManager.ProgressBar resReload = net.minecraftforge.fml.common.ProgressManager.push("Loading Resources", p_110541_1_.size()+1, true); field_147967_a.info("Reloading ResourceManager: " + field_130074_a.join(Iterables.transform(p_110541_1_, new Function() { - public String apply(IResourcePack p_apply_1_) -@@ -102,23 +103,32 @@ + public String apply(@Nullable IResourcePack p_apply_1_) +@@ -103,23 +104,32 @@ for (IResourcePack iresourcepack : p_110541_1_) { diff --git a/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch b/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch index affbeca4f..33730ce00 100644 --- a/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch +++ b/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/client/settings/GameSettings.java +++ ../src-work/minecraft/net/minecraft/client/settings/GameSettings.java -@@ -147,6 +147,7 @@ +@@ -148,6 +148,7 @@ public GameSettings(Minecraft p_i46326_1_, File p_i46326_2_) { @@ -8,7 +8,7 @@ this.field_74324_K = (KeyBinding[])ArrayUtils.addAll(new KeyBinding[] {this.field_74312_F, this.field_74313_G, this.field_74351_w, this.field_74370_x, this.field_74368_y, this.field_74366_z, this.field_74314_A, this.field_74311_E, this.field_151444_V, this.field_74316_C, this.field_151445_Q, this.field_74310_D, this.field_74321_H, this.field_74322_I, this.field_74323_J, this.field_151447_Z, this.field_151457_aa, this.field_151458_ab, this.field_152395_am, this.field_178883_an, this.field_186718_X}, this.field_151456_ac); this.field_74318_M = EnumDifficulty.NORMAL; this.field_74332_R = ""; -@@ -171,6 +172,7 @@ +@@ -172,6 +173,7 @@ public GameSettings() { @@ -16,7 +16,7 @@ this.field_74324_K = (KeyBinding[])ArrayUtils.addAll(new KeyBinding[] {this.field_74312_F, this.field_74313_G, this.field_74351_w, this.field_74370_x, this.field_74368_y, this.field_74366_z, this.field_74314_A, this.field_74311_E, this.field_151444_V, this.field_74316_C, this.field_151445_Q, this.field_74310_D, this.field_74321_H, this.field_74322_I, this.field_74323_J, this.field_151447_Z, this.field_151457_aa, this.field_151458_ab, this.field_152395_am, this.field_178883_an, this.field_186718_X}, this.field_151456_ac); this.field_74318_M = EnumDifficulty.NORMAL; this.field_74332_R = ""; -@@ -846,6 +848,7 @@ +@@ -854,6 +856,7 @@ if (astring[0].equals("key_" + keybinding.func_151464_g())) { keybinding.func_151462_b(Integer.parseInt(astring[1])); @@ -24,7 +24,7 @@ } } -@@ -887,6 +890,7 @@ +@@ -895,6 +898,7 @@ public void func_74303_b() { @@ -32,7 +32,7 @@ try { PrintWriter printwriter = new PrintWriter(new FileWriter(this.field_74354_ai)); -@@ -955,7 +959,8 @@ +@@ -964,7 +968,8 @@ for (KeyBinding keybinding : this.field_74324_K) { @@ -42,7 +42,7 @@ } for (SoundCategory soundcategory : SoundCategory.values()) -@@ -1184,4 +1189,24 @@ +@@ -1194,4 +1199,24 @@ return p_148264_1_; } } diff --git a/patches/minecraft/net/minecraft/command/CommandEnchant.java.patch b/patches/minecraft/net/minecraft/command/CommandEnchant.java.patch index f3ca18c30..1c81e8d78 100644 --- a/patches/minecraft/net/minecraft/command/CommandEnchant.java.patch +++ b/patches/minecraft/net/minecraft/command/CommandEnchant.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/command/CommandEnchant.java +++ ../src-work/minecraft/net/minecraft/command/CommandEnchant.java -@@ -85,7 +85,7 @@ +@@ -86,7 +86,7 @@ { Enchantment enchantment1 = Enchantment.func_185262_c(k); diff --git a/patches/minecraft/net/minecraft/command/CommandFill.java.patch b/patches/minecraft/net/minecraft/command/CommandFill.java.patch index 38da66d37..a46078847 100644 --- a/patches/minecraft/net/minecraft/command/CommandFill.java.patch +++ b/patches/minecraft/net/minecraft/command/CommandFill.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/command/CommandFill.java +++ ../src-work/minecraft/net/minecraft/command/CommandFill.java -@@ -50,6 +50,7 @@ +@@ -51,6 +51,7 @@ { i = func_175764_a(p_184881_3_[7], 0, 15); } @@ -8,7 +8,7 @@ BlockPos blockpos2 = new BlockPos(Math.min(blockpos.func_177958_n(), blockpos1.func_177958_n()), Math.min(blockpos.func_177956_o(), blockpos1.func_177956_o()), Math.min(blockpos.func_177952_p(), blockpos1.func_177952_p())); BlockPos blockpos3 = new BlockPos(Math.max(blockpos.func_177958_n(), blockpos1.func_177958_n()), Math.max(blockpos.func_177956_o(), blockpos1.func_177956_o()), Math.max(blockpos.func_177952_p(), blockpos1.func_177952_p())); -@@ -77,7 +78,7 @@ +@@ -78,7 +79,7 @@ NBTTagCompound nbttagcompound = new NBTTagCompound(); boolean flag = false; @@ -17,7 +17,7 @@ { String s = func_147178_a(p_184881_2_, p_184881_3_, 9).func_150260_c(); -@@ -118,7 +119,7 @@ +@@ -119,7 +120,7 @@ continue; } } diff --git a/patches/minecraft/net/minecraft/command/CommandHandler.java.patch b/patches/minecraft/net/minecraft/command/CommandHandler.java.patch index 0b22b88a0..83be37bcc 100644 --- a/patches/minecraft/net/minecraft/command/CommandHandler.java.patch +++ b/patches/minecraft/net/minecraft/command/CommandHandler.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/command/CommandHandler.java +++ ../src-work/minecraft/net/minecraft/command/CommandHandler.java -@@ -46,6 +46,16 @@ +@@ -47,6 +47,16 @@ } else if (icommand.func_184882_a(this.func_184879_a(), p_71556_1_)) { @@ -17,7 +17,7 @@ if (i > -1) { List list = EntitySelector.func_179656_b(p_71556_1_, astring[i], Entity.class); -@@ -109,7 +119,7 @@ +@@ -110,7 +120,7 @@ TextComponentTranslation textcomponenttranslation = new TextComponentTranslation("commands.generic.exception", new Object[0]); textcomponenttranslation.func_150256_b().func_150238_a(TextFormatting.RED); p_175786_1_.func_145747_a(textcomponenttranslation); diff --git a/patches/minecraft/net/minecraft/command/EntitySelector.java.patch b/patches/minecraft/net/minecraft/command/EntitySelector.java.patch index b93a59d9e..7780106b2 100644 --- a/patches/minecraft/net/minecraft/command/EntitySelector.java.patch +++ b/patches/minecraft/net/minecraft/command/EntitySelector.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/command/EntitySelector.java +++ ../src-work/minecraft/net/minecraft/command/EntitySelector.java -@@ -36,9 +36,9 @@ +@@ -37,9 +37,9 @@ public class EntitySelector { @@ -11,4 +11,4 @@ + private static final Pattern field_82388_c = Pattern.compile("\\G(\\w+)=([-!]?[\\w\\.-]*)(?:$|,)"); // FORGE: allow . in entity selectors private static final Set field_179666_d = Sets.newHashSet(new String[] {"x", "y", "z", "dx", "dy", "dz", "rm", "r"}); - public static EntityPlayerMP func_82386_a(ICommandSender p_82386_0_, String p_82386_1_) + @Nullable diff --git a/patches/minecraft/net/minecraft/command/server/CommandSetBlock.java.patch b/patches/minecraft/net/minecraft/command/server/CommandSetBlock.java.patch index fcb4ea652..79c11fd38 100644 --- a/patches/minecraft/net/minecraft/command/server/CommandSetBlock.java.patch +++ b/patches/minecraft/net/minecraft/command/server/CommandSetBlock.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/command/server/CommandSetBlock.java +++ ../src-work/minecraft/net/minecraft/command/server/CommandSetBlock.java -@@ -54,6 +54,8 @@ +@@ -55,6 +55,8 @@ i = func_175764_a(p_184881_3_[4], 0, 15); } @@ -9,7 +9,7 @@ World world = p_184881_2_.func_130014_f_(); if (!world.func_175667_e(blockpos)) -@@ -65,7 +67,7 @@ +@@ -66,7 +68,7 @@ NBTTagCompound nbttagcompound = new NBTTagCompound(); boolean flag = false; diff --git a/patches/minecraft/net/minecraft/command/server/CommandTestForBlock.java.patch b/patches/minecraft/net/minecraft/command/server/CommandTestForBlock.java.patch index 4a1533789..640ab078b 100644 --- a/patches/minecraft/net/minecraft/command/server/CommandTestForBlock.java.patch +++ b/patches/minecraft/net/minecraft/command/server/CommandTestForBlock.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/command/server/CommandTestForBlock.java +++ ../src-work/minecraft/net/minecraft/command/server/CommandTestForBlock.java -@@ -72,7 +72,7 @@ +@@ -73,7 +73,7 @@ NBTTagCompound nbttagcompound = new NBTTagCompound(); boolean flag = false; diff --git a/patches/minecraft/net/minecraft/crash/CrashReport.java.patch b/patches/minecraft/net/minecraft/crash/CrashReport.java.patch index 7b4d498c8..bc4c866cf 100644 --- a/patches/minecraft/net/minecraft/crash/CrashReport.java.patch +++ b/patches/minecraft/net/minecraft/crash/CrashReport.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/crash/CrashReport.java +++ ../src-work/minecraft/net/minecraft/crash/CrashReport.java -@@ -115,6 +115,7 @@ +@@ -114,6 +114,7 @@ return IntCache.func_85144_b(); } }); diff --git a/patches/minecraft/net/minecraft/crash/CrashReportCategory.java.patch b/patches/minecraft/net/minecraft/crash/CrashReportCategory.java.patch index ab4e3edde..ad471ba84 100644 --- a/patches/minecraft/net/minecraft/crash/CrashReportCategory.java.patch +++ b/patches/minecraft/net/minecraft/crash/CrashReportCategory.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/crash/CrashReportCategory.java +++ ../src-work/minecraft/net/minecraft/crash/CrashReportCategory.java -@@ -122,8 +122,11 @@ +@@ -121,8 +121,11 @@ } else { diff --git a/patches/minecraft/net/minecraft/enchantment/Enchantment.java.patch b/patches/minecraft/net/minecraft/enchantment/Enchantment.java.patch index 682828fbb..3195fd27c 100644 --- a/patches/minecraft/net/minecraft/enchantment/Enchantment.java.patch +++ b/patches/minecraft/net/minecraft/enchantment/Enchantment.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/enchantment/Enchantment.java +++ ../src-work/minecraft/net/minecraft/enchantment/Enchantment.java -@@ -12,9 +12,9 @@ +@@ -13,9 +13,9 @@ import net.minecraft.util.registry.RegistryNamespaced; import net.minecraft.util.text.translation.I18n; @@ -12,7 +12,7 @@ private final EntityEquipmentSlot[] field_185263_a; private final Enchantment.Rarity field_77333_a; public EnumEnchantmentType field_77351_y; -@@ -118,7 +118,7 @@ +@@ -122,7 +122,7 @@ public boolean func_92089_a(ItemStack p_92089_1_) { @@ -21,7 +21,7 @@ } public void func_151368_a(EntityLivingBase p_151368_1_, Entity p_151368_2_, int p_151368_3_) -@@ -134,6 +134,26 @@ +@@ -138,6 +138,26 @@ return false; } diff --git a/patches/minecraft/net/minecraft/enchantment/EnchantmentHelper.java.patch b/patches/minecraft/net/minecraft/enchantment/EnchantmentHelper.java.patch index e874421c4..85d71dd20 100644 --- a/patches/minecraft/net/minecraft/enchantment/EnchantmentHelper.java.patch +++ b/patches/minecraft/net/minecraft/enchantment/EnchantmentHelper.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/enchantment/EnchantmentHelper.java +++ ../src-work/minecraft/net/minecraft/enchantment/EnchantmentHelper.java -@@ -292,7 +292,7 @@ +@@ -294,7 +294,7 @@ public static int func_77514_a(Random p_77514_0_, int p_77514_1_, int p_77514_2_, ItemStack p_77514_3_) { Item item = p_77514_3_.func_77973_b(); @@ -9,7 +9,7 @@ if (i <= 0) { -@@ -339,7 +339,7 @@ +@@ -341,7 +341,7 @@ { List list = Lists.newArrayList(); Item item = p_77513_1_.func_77973_b(); @@ -18,7 +18,7 @@ if (i <= 0) { -@@ -380,7 +380,8 @@ +@@ -382,7 +382,8 @@ while (iterator.hasNext()) { @@ -28,7 +28,7 @@ { iterator.remove(); } -@@ -395,7 +396,7 @@ +@@ -397,7 +398,7 @@ for (Enchantment enchantment : Enchantment.field_185264_b) { diff --git a/patches/minecraft/net/minecraft/entity/Entity.java.patch b/patches/minecraft/net/minecraft/entity/Entity.java.patch index 8e8301095..e0550d393 100644 --- a/patches/minecraft/net/minecraft/entity/Entity.java.patch +++ b/patches/minecraft/net/minecraft/entity/Entity.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/Entity.java +++ ../src-work/minecraft/net/minecraft/entity/Entity.java -@@ -76,7 +76,7 @@ +@@ -77,7 +77,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -9,7 +9,7 @@ { private static final Logger field_184243_a = LogManager.getLogger(); private static final AxisAlignedBB field_174836_a = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 0.0D, 0.0D, 0.0D); -@@ -185,7 +185,7 @@ +@@ -188,7 +188,7 @@ if (p_i1582_1_ != null) { @@ -18,7 +18,7 @@ } this.field_70180_af = new EntityDataManager(this); -@@ -195,8 +195,16 @@ +@@ -198,8 +198,16 @@ this.field_70180_af.func_187214_a(field_184242_az, ""); this.field_70180_af.func_187214_a(field_184234_aB, Boolean.valueOf(false)); this.func_70088_a(); @@ -35,7 +35,7 @@ public int func_145782_y() { return this.field_145783_c; -@@ -1134,12 +1142,12 @@ +@@ -1138,12 +1146,12 @@ BlockPos blockpos = new BlockPos(this.field_70165_t, d0, this.field_70161_v); IBlockState iblockstate = this.field_70170_p.func_180495_p(blockpos); @@ -52,17 +52,17 @@ } else { -@@ -1534,6 +1542,9 @@ - p_70109_1_.func_74782_a("Tags", nbttaglist); +@@ -1539,6 +1547,9 @@ + p_189511_1_.func_74782_a("Tags", nbttaglist); } -+ if (customEntityData != null) p_70109_1_.func_74782_a("ForgeData", customEntityData); -+ if (this.capabilities != null) p_70109_1_.func_74782_a("ForgeCaps", this.capabilities.serializeNBT()); ++ if (customEntityData != null) p_189511_1_.func_74782_a("ForgeData", customEntityData); ++ if (this.capabilities != null) p_189511_1_.func_74782_a("ForgeCaps", this.capabilities.serializeNBT()); + - this.func_70014_b(p_70109_1_); + this.func_70014_b(p_189511_1_); if (this.func_184207_aI()) -@@ -1629,6 +1640,9 @@ +@@ -1637,6 +1648,9 @@ this.func_174810_b(p_70020_1_.func_74767_n("Silent")); this.func_184195_f(p_70020_1_.func_74767_n("Glowing")); @@ -72,7 +72,7 @@ if (p_70020_1_.func_150297_b("Tags", 9)) { this.field_184236_aF.clear(); -@@ -1715,7 +1729,10 @@ +@@ -1723,7 +1737,10 @@ { EntityItem entityitem = new EntityItem(this.field_70170_p, this.field_70165_t, this.field_70163_u + (double)p_70099_2_, this.field_70161_v, p_70099_1_); entityitem.func_174869_p(); @@ -84,7 +84,7 @@ return entityitem; } else -@@ -1824,6 +1841,7 @@ +@@ -1833,6 +1850,7 @@ public boolean func_184205_a(Entity p_184205_1_, boolean p_184205_2_) { @@ -92,7 +92,7 @@ if (p_184205_2_ || this.func_184228_n(p_184205_1_) && p_184205_1_.func_184219_q(this)) { if (this.func_184218_aH()) -@@ -2279,6 +2297,7 @@ +@@ -2289,6 +2307,7 @@ { if (!this.field_70170_p.field_72995_K && !this.field_70128_L) { @@ -100,7 +100,7 @@ this.field_70170_p.field_72984_F.func_76320_a("changeDimension"); MinecraftServer minecraftserver = this.func_184102_h(); int i = this.field_71093_bK; -@@ -2372,7 +2391,7 @@ +@@ -2382,7 +2401,7 @@ public float func_180428_a(Explosion p_180428_1_, World p_180428_2_, BlockPos p_180428_3_, IBlockState p_180428_4_) { @@ -109,7 +109,7 @@ } public boolean func_174816_a(Explosion p_174816_1_, World p_174816_2_, BlockPos p_174816_3_, IBlockState p_174816_4_, float p_174816_5_) -@@ -2662,6 +2681,165 @@ +@@ -2679,6 +2698,164 @@ EnchantmentHelper.func_151385_b(p_174815_1_, p_174815_2_); } @@ -267,8 +267,7 @@ + { + NBTTagCompound ret = new NBTTagCompound(); + ret.func_74778_a("id", this.func_70022_Q()); -+ this.func_70109_d(ret); -+ return ret; ++ return this.func_189511_e(ret); + } + /* ================================== Forge End =====================================*/ + diff --git a/patches/minecraft/net/minecraft/entity/EntityHanging.java.patch b/patches/minecraft/net/minecraft/entity/EntityHanging.java.patch index e81fbae7b..cfa772921 100644 --- a/patches/minecraft/net/minecraft/entity/EntityHanging.java.patch +++ b/patches/minecraft/net/minecraft/entity/EntityHanging.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/EntityHanging.java +++ ../src-work/minecraft/net/minecraft/entity/EntityHanging.java -@@ -139,6 +139,9 @@ +@@ -141,6 +141,9 @@ BlockPos blockpos1 = blockpos.func_177967_a(enumfacing, k + i1).func_177981_b(l + j1); IBlockState iblockstate = this.field_70170_p.func_180495_p(blockpos1); diff --git a/patches/minecraft/net/minecraft/entity/EntityList.java.patch b/patches/minecraft/net/minecraft/entity/EntityList.java.patch index 968ebb611..ca7396ad2 100644 --- a/patches/minecraft/net/minecraft/entity/EntityList.java.patch +++ b/patches/minecraft/net/minecraft/entity/EntityList.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/EntityList.java +++ ../src-work/minecraft/net/minecraft/entity/EntityList.java -@@ -91,6 +91,7 @@ +@@ -92,6 +92,7 @@ public static void func_75618_a(Class p_75618_0_, String p_75618_1_, int p_75618_2_) { @@ -8,7 +8,7 @@ if (field_75625_b.containsKey(p_75618_1_)) { throw new IllegalArgumentException("ID is already registered: " + p_75618_1_); -@@ -148,9 +149,10 @@ +@@ -151,9 +152,10 @@ { Entity entity = null; @@ -20,7 +20,7 @@ if (oclass != null) { -@@ -164,7 +166,17 @@ +@@ -167,7 +169,17 @@ if (entity != null) { @@ -38,8 +38,8 @@ } else { -@@ -202,7 +214,8 @@ - +@@ -207,7 +219,8 @@ + @Nullable public static Entity func_188429_b(String p_188429_0_, World p_188429_1_) { - return func_75616_a(func_180122_a(p_188429_0_), p_188429_1_); diff --git a/patches/minecraft/net/minecraft/entity/EntityLiving.java.patch b/patches/minecraft/net/minecraft/entity/EntityLiving.java.patch index a65718d5f..c0a795da8 100644 --- a/patches/minecraft/net/minecraft/entity/EntityLiving.java.patch +++ b/patches/minecraft/net/minecraft/entity/EntityLiving.java.patch @@ -1,14 +1,14 @@ --- ../src-base/minecraft/net/minecraft/entity/EntityLiving.java +++ ../src-work/minecraft/net/minecraft/entity/EntityLiving.java -@@ -171,6 +171,7 @@ - public void func_70624_b(EntityLivingBase p_70624_1_) +@@ -174,6 +174,7 @@ + public void func_70624_b(@Nullable EntityLivingBase p_70624_1_) { this.field_70696_bz = p_70624_1_; + net.minecraftforge.common.ForgeHooks.onLivingSetAttackTarget(this, p_70624_1_); } public boolean func_70686_a(Class p_70686_1_) -@@ -699,10 +700,22 @@ +@@ -705,10 +706,22 @@ protected void func_70623_bb() { @@ -31,7 +31,7 @@ else { Entity entity = this.field_70170_p.func_72890_a(this, -1.0D); -@@ -835,7 +848,6 @@ +@@ -841,7 +854,6 @@ return !this.field_70170_p.func_72953_d(this.func_174813_aQ()) && this.field_70170_p.func_184144_a(this, this.func_174813_aQ()).isEmpty() && this.field_70170_p.func_72917_a(this.func_174813_aQ(), this); } diff --git a/patches/minecraft/net/minecraft/entity/EntityLivingBase.java.patch b/patches/minecraft/net/minecraft/entity/EntityLivingBase.java.patch index 314387c0c..aaf06f3bc 100644 --- a/patches/minecraft/net/minecraft/entity/EntityLivingBase.java.patch +++ b/patches/minecraft/net/minecraft/entity/EntityLivingBase.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/EntityLivingBase.java +++ ../src-work/minecraft/net/minecraft/entity/EntityLivingBase.java -@@ -189,10 +189,11 @@ +@@ -191,10 +191,11 @@ { float f = (float)MathHelper.func_76123_f(this.field_70143_R - 3.0F); @@ -13,7 +13,7 @@ ((WorldServer)this.field_70170_p).func_175739_a(EnumParticleTypes.BLOCK_DUST, this.field_70165_t, this.field_70163_u, this.field_70161_v, i, 0.0D, 0.0D, 0.0D, 0.15000000596046448D, new int[] {Block.func_176210_f(p_184231_4_)}); } } -@@ -264,7 +265,7 @@ +@@ -271,7 +272,7 @@ } } @@ -22,7 +22,7 @@ { this.func_184210_p(); } -@@ -363,7 +364,7 @@ +@@ -370,7 +371,7 @@ if (!this.field_70170_p.field_72995_K && (this.func_70684_aJ() || this.field_70718_bc > 0 && this.func_146066_aG() && this.field_70170_p.func_82736_K().func_82766_b("doMobLoot"))) { int i = this.func_70693_a(this.field_70717_bb); @@ -31,7 +31,7 @@ while (i > 0) { int j = EntityXPOrb.func_70527_a(i); -@@ -424,6 +425,7 @@ +@@ -431,6 +432,7 @@ { this.field_70755_b = p_70604_1_; this.field_70756_c = this.field_70173_aa; @@ -39,7 +39,7 @@ } public EntityLivingBase func_110144_aD() -@@ -775,6 +777,8 @@ +@@ -784,6 +786,8 @@ public void func_70691_i(float p_70691_1_) { @@ -48,7 +48,7 @@ float f = this.func_110143_aJ(); if (f > 0.0F) -@@ -795,6 +799,7 @@ +@@ -804,6 +808,7 @@ public boolean func_70097_a(DamageSource p_70097_1_, float p_70097_2_) { @@ -56,7 +56,7 @@ if (this.func_180431_b(p_70097_1_)) { return false; -@@ -883,9 +888,9 @@ +@@ -892,9 +897,9 @@ this.field_70718_bc = 100; this.field_70717_bb = (EntityPlayer)entity; } @@ -68,7 +68,7 @@ if (entitywolf.func_70909_n()) { -@@ -1007,6 +1012,7 @@ +@@ -1016,6 +1021,7 @@ public void func_70645_a(DamageSource p_70645_1_) { @@ -76,7 +76,7 @@ if (!this.field_70729_aU) { Entity entity = p_70645_1_.func_76346_g(); -@@ -1034,11 +1040,24 @@ +@@ -1043,11 +1049,24 @@ i = EnchantmentHelper.func_185283_h((EntityLivingBase)entity); } @@ -101,7 +101,7 @@ } this.field_70170_p.func_72960_a(this, (byte)3); -@@ -1113,7 +1132,7 @@ +@@ -1124,7 +1143,7 @@ BlockPos blockpos = new BlockPos(i, j, k); IBlockState iblockstate = this.field_70170_p.func_180495_p(blockpos); Block block = iblockstate.func_177230_c(); @@ -110,7 +110,7 @@ } } -@@ -1139,6 +1158,9 @@ +@@ -1150,6 +1169,9 @@ public void func_180430_e(float p_180430_1_, float p_180430_2_) { @@ -120,7 +120,7 @@ super.func_180430_e(p_180430_1_, p_180430_2_); PotionEffect potioneffect = this.func_70660_b(MobEffects.field_76430_j); float f = potioneffect == null ? 0.0F : (float)(potioneffect.func_76458_c() + 1); -@@ -1231,6 +1253,8 @@ +@@ -1242,6 +1264,8 @@ { if (!this.func_180431_b(p_70665_1_)) { @@ -129,7 +129,7 @@ p_70665_2_ = this.func_70655_b(p_70665_1_, p_70665_2_); p_70665_2_ = this.func_70672_c(p_70665_1_, p_70665_2_); float f = p_70665_2_; -@@ -1279,6 +1303,11 @@ +@@ -1290,6 +1314,11 @@ public void func_184609_a(EnumHand p_184609_1_) { @@ -141,7 +141,7 @@ if (!this.field_82175_bq || this.field_110158_av >= this.func_82166_i() / 2 || this.field_110158_av < 0) { this.field_110158_av = -1; -@@ -1476,6 +1505,7 @@ +@@ -1491,6 +1520,7 @@ public void func_110145_l(Entity p_110145_1_) { @@ -149,7 +149,7 @@ if (!(p_110145_1_ instanceof EntityBoat) && !(p_110145_1_ instanceof EntityHorse)) { double d1 = p_110145_1_.field_70165_t; -@@ -1500,7 +1530,7 @@ +@@ -1515,7 +1545,7 @@ if (!this.field_70170_p.func_184143_b(axisalignedbb1)) { @@ -158,7 +158,7 @@ { this.func_70634_a(d11, this.field_70163_u + 1.0D, d12); return; -@@ -1508,14 +1538,14 @@ +@@ -1523,14 +1553,14 @@ BlockPos blockpos = new BlockPos(d11, this.field_70163_u - 1.0D, d12); @@ -175,7 +175,7 @@ { d1 = d11; d13 = this.field_70163_u + 2.0D; -@@ -1586,6 +1616,7 @@ +@@ -1601,6 +1631,7 @@ } this.field_70160_al = true; @@ -183,7 +183,7 @@ } protected void func_70629_bd() -@@ -1845,6 +1876,7 @@ +@@ -1860,6 +1891,7 @@ public void func_70071_h_() { @@ -191,7 +191,7 @@ super.func_70071_h_(); this.func_184608_ct(); -@@ -2351,6 +2383,40 @@ +@@ -2366,6 +2398,40 @@ this.field_70752_e = true; } @@ -232,7 +232,7 @@ public abstract EnumHandSide func_184591_cq(); public boolean func_184587_cr() -@@ -2371,12 +2437,19 @@ +@@ -2386,12 +2452,19 @@ if (itemstack == this.field_184627_bm) { @@ -253,7 +253,7 @@ { this.func_71036_o(); } -@@ -2394,8 +2467,10 @@ +@@ -2409,8 +2482,10 @@ if (itemstack != null && !this.func_184587_cr()) { @@ -265,7 +265,7 @@ if (!this.field_70170_p.field_72995_K) { -@@ -2478,6 +2553,8 @@ +@@ -2493,6 +2568,8 @@ this.func_184584_a(this.field_184627_bm, 16); ItemStack itemstack = this.field_184627_bm.func_77950_b(this.field_70170_p, this); @@ -274,7 +274,7 @@ if (itemstack != null && itemstack.field_77994_a == 0) { itemstack = null; -@@ -2507,7 +2584,8 @@ +@@ -2523,7 +2600,8 @@ { if (this.field_184627_bm != null) { @@ -284,7 +284,7 @@ } this.func_184602_cy(); -@@ -2626,4 +2704,28 @@ +@@ -2642,4 +2720,28 @@ { return true; } diff --git a/patches/minecraft/net/minecraft/entity/boss/EntityDragon.java.patch b/patches/minecraft/net/minecraft/entity/boss/EntityDragon.java.patch index 6b9c7e6d5..72ccd5a0a 100644 --- a/patches/minecraft/net/minecraft/entity/boss/EntityDragon.java.patch +++ b/patches/minecraft/net/minecraft/entity/boss/EntityDragon.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/boss/EntityDragon.java +++ ../src-work/minecraft/net/minecraft/entity/boss/EntityDragon.java -@@ -474,13 +474,13 @@ +@@ -475,13 +475,13 @@ IBlockState iblockstate = this.field_70170_p.func_180495_p(blockpos); Block block = iblockstate.func_177230_c(); diff --git a/patches/minecraft/net/minecraft/entity/boss/EntityWither.java.patch b/patches/minecraft/net/minecraft/entity/boss/EntityWither.java.patch index dcbec8406..541e55bde 100644 --- a/patches/minecraft/net/minecraft/entity/boss/EntityWither.java.patch +++ b/patches/minecraft/net/minecraft/entity/boss/EntityWither.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/boss/EntityWither.java +++ ../src-work/minecraft/net/minecraft/entity/boss/EntityWither.java -@@ -365,7 +365,7 @@ +@@ -366,7 +366,7 @@ IBlockState iblockstate = this.field_70170_p.func_180495_p(blockpos); Block block = iblockstate.func_177230_c(); diff --git a/patches/minecraft/net/minecraft/entity/item/EntityFallingBlock.java.patch b/patches/minecraft/net/minecraft/entity/item/EntityFallingBlock.java.patch index 456c02616..d92bedd8b 100644 --- a/patches/minecraft/net/minecraft/entity/item/EntityFallingBlock.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/EntityFallingBlock.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/item/EntityFallingBlock.java +++ ../src-work/minecraft/net/minecraft/entity/item/EntityFallingBlock.java -@@ -129,6 +129,7 @@ +@@ -130,6 +130,7 @@ { IBlockState iblockstate = this.field_70170_p.func_180495_p(blockpos1); diff --git a/patches/minecraft/net/minecraft/entity/item/EntityItem.java.patch b/patches/minecraft/net/minecraft/entity/item/EntityItem.java.patch index d375ace01..6ef711174 100644 --- a/patches/minecraft/net/minecraft/entity/item/EntityItem.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/EntityItem.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/item/EntityItem.java +++ ../src-work/minecraft/net/minecraft/entity/item/EntityItem.java -@@ -37,6 +37,11 @@ +@@ -38,6 +38,11 @@ private String field_145802_g; public float field_70290_d; @@ -12,7 +12,7 @@ public EntityItem(World p_i1709_1_, double p_i1709_2_, double p_i1709_4_, double p_i1709_6_) { super(p_i1709_1_); -@@ -54,6 +59,7 @@ +@@ -55,6 +60,7 @@ { this(p_i1710_1_, p_i1710_2_, p_i1710_4_, p_i1710_6_); this.func_92058_a(p_i1710_8_); @@ -20,7 +20,7 @@ } protected boolean func_70041_e_() -@@ -77,6 +83,8 @@ +@@ -78,6 +84,8 @@ public void func_70071_h_() { @@ -29,7 +29,7 @@ if (this.func_92059_d() == null) { this.func_70106_y(); -@@ -137,8 +145,16 @@ +@@ -138,8 +146,16 @@ this.func_70072_I(); @@ -47,7 +47,7 @@ this.func_70106_y(); } } -@@ -279,6 +295,7 @@ +@@ -280,6 +296,7 @@ p_70014_1_.func_74777_a("Health", (short)this.field_70291_e); p_70014_1_.func_74777_a("Age", (short)this.field_70292_b); p_70014_1_.func_74777_a("PickupDelay", (short)this.field_145804_b); @@ -55,7 +55,7 @@ if (this.func_145800_j() != null) { -@@ -319,20 +336,23 @@ +@@ -320,20 +337,23 @@ NBTTagCompound nbttagcompound = p_70037_1_.func_74775_l("Item"); this.func_92058_a(ItemStack.func_77949_a(nbttagcompound)); @@ -84,7 +84,7 @@ { if (itemstack.func_77973_b() == Item.func_150898_a(Blocks.field_150364_r)) { -@@ -369,6 +389,7 @@ +@@ -370,6 +390,7 @@ } } @@ -92,7 +92,7 @@ if (!this.func_174814_R()) { this.field_70170_p.func_184148_a((EntityPlayer)null, p_70100_1_.field_70165_t, p_70100_1_.field_70163_u, p_70100_1_.field_70161_v, SoundEvents.field_187638_cR, SoundCategory.PLAYERS, 0.2F, ((this.field_70146_Z.nextFloat() - this.field_70146_Z.nextFloat()) * 0.7F + 1.0F) * 2.0F); -@@ -414,11 +435,6 @@ +@@ -416,11 +437,6 @@ if (itemstack == null) { @@ -104,7 +104,7 @@ return new ItemStack(Blocks.field_150348_b); } else -@@ -492,6 +508,6 @@ +@@ -494,6 +510,6 @@ public void func_174870_v() { this.func_174871_r(); diff --git a/patches/minecraft/net/minecraft/entity/item/EntityItemFrame.java.patch b/patches/minecraft/net/minecraft/entity/item/EntityItemFrame.java.patch index 122e9e82d..6491831b4 100644 --- a/patches/minecraft/net/minecraft/entity/item/EntityItemFrame.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/EntityItemFrame.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/item/EntityItemFrame.java +++ ../src-work/minecraft/net/minecraft/entity/item/EntityItemFrame.java -@@ -137,7 +137,7 @@ +@@ -138,7 +138,7 @@ { if (p_110131_1_ != null) { diff --git a/patches/minecraft/net/minecraft/entity/item/EntityMinecart.java.patch b/patches/minecraft/net/minecraft/entity/item/EntityMinecart.java.patch index 68d0f1ab3..fc9c5cd4e 100644 --- a/patches/minecraft/net/minecraft/entity/item/EntityMinecart.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/EntityMinecart.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/item/EntityMinecart.java +++ ../src-work/minecraft/net/minecraft/entity/item/EntityMinecart.java -@@ -54,6 +54,20 @@ +@@ -55,6 +55,20 @@ @SideOnly(Side.CLIENT) private double field_70506_as; @@ -21,14 +21,15 @@ public EntityMinecart(World p_i1712_1_) { super(p_i1712_1_); -@@ -99,17 +113,19 @@ - +@@ -101,18 +115,20 @@ + @Nullable public AxisAlignedBB func_70114_g(Entity p_70114_1_) { + if (getCollisionHandler() != null) return getCollisionHandler().getCollisionBox(this, p_70114_1_); return p_70114_1_.func_70104_M() ? p_70114_1_.func_174813_aQ() : null; } + @Nullable public AxisAlignedBB func_70046_E() { + if (getCollisionHandler() != null) return getCollisionHandler().getBoundingBox(this); @@ -42,7 +43,7 @@ } public EntityMinecart(World p_i1713_1_, double p_i1713_2_, double p_i1713_4_, double p_i1713_6_) -@@ -315,7 +331,7 @@ +@@ -318,7 +334,7 @@ BlockPos blockpos = new BlockPos(k, l, i1); IBlockState iblockstate = this.field_70170_p.func_180495_p(blockpos); @@ -51,7 +52,7 @@ { this.func_180460_a(blockpos, iblockstate); -@@ -354,7 +370,10 @@ +@@ -357,7 +373,10 @@ this.func_70101_b(this.field_70177_z, this.field_70125_A); @@ -63,7 +64,7 @@ { if (!this.func_184196_w(entity) && entity.func_70104_M() && entity instanceof EntityMinecart) { -@@ -363,6 +382,7 @@ +@@ -366,6 +385,7 @@ } this.func_70072_I(); @@ -71,7 +72,7 @@ } } -@@ -377,10 +397,21 @@ +@@ -380,10 +400,21 @@ protected void func_180459_n() { @@ -94,7 +95,7 @@ if (this.field_70122_E) { this.field_70159_w *= 0.5D; -@@ -388,13 +419,13 @@ +@@ -391,13 +422,13 @@ this.field_70179_y *= 0.5D; } @@ -112,7 +113,7 @@ } } -@@ -414,25 +445,25 @@ +@@ -417,25 +448,25 @@ flag1 = !flag; } @@ -144,7 +145,7 @@ ++this.field_70163_u; } -@@ -478,7 +509,7 @@ +@@ -481,7 +512,7 @@ } } @@ -153,7 +154,7 @@ { double d17 = Math.sqrt(this.field_70159_w * this.field_70159_w + this.field_70179_y * this.field_70179_y); -@@ -524,20 +555,8 @@ +@@ -527,20 +558,8 @@ this.field_70165_t = d19 + d1 * d18; this.field_70161_v = d20 + d2 * d18; this.func_70107_b(this.field_70165_t, this.field_70163_u, this.field_70161_v); @@ -175,7 +176,7 @@ if (aint[0][1] != 0 && MathHelper.func_76128_c(this.field_70165_t) - p_180460_1_.func_177958_n() == aint[0][0] && MathHelper.func_76128_c(this.field_70161_v) - p_180460_1_.func_177952_p() == aint[0][2]) { this.func_70107_b(this.field_70165_t, this.field_70163_u + (double)aint[0][1], this.field_70161_v); -@@ -574,8 +593,14 @@ +@@ -577,8 +596,14 @@ this.field_70179_y = d5 * (double)(i - p_180460_1_.func_177952_p()); } @@ -191,7 +192,7 @@ double d15 = Math.sqrt(this.field_70159_w * this.field_70159_w + this.field_70179_y * this.field_70179_y); if (d15 > 0.01D) -@@ -795,13 +820,19 @@ +@@ -798,13 +823,19 @@ public void func_70108_f(Entity p_70108_1_) { @@ -212,7 +213,7 @@ { p_70108_1_.func_184220_m(this); } -@@ -847,7 +878,7 @@ +@@ -850,7 +881,7 @@ double d7 = p_70108_1_.field_70159_w + this.field_70159_w; double d8 = p_70108_1_.field_70179_y + this.field_70179_y; @@ -221,7 +222,7 @@ { this.field_70159_w *= 0.20000000298023224D; this.field_70179_y *= 0.20000000298023224D; -@@ -855,7 +886,7 @@ +@@ -858,7 +889,7 @@ p_70108_1_.field_70159_w *= 0.949999988079071D; p_70108_1_.field_70179_y *= 0.949999988079071D; } @@ -230,7 +231,7 @@ { p_70108_1_.field_70159_w *= 0.20000000298023224D; p_70108_1_.field_70179_y *= 0.20000000298023224D; -@@ -982,6 +1013,221 @@ +@@ -985,6 +1016,221 @@ this.func_184212_Q().func_187227_b(field_184270_f, Boolean.valueOf(p_94096_1_)); } diff --git a/patches/minecraft/net/minecraft/entity/item/EntityMinecartCommandBlock.java.patch b/patches/minecraft/net/minecraft/entity/item/EntityMinecartCommandBlock.java.patch index bd1a8f256..6a79a62ac 100644 --- a/patches/minecraft/net/minecraft/entity/item/EntityMinecartCommandBlock.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/EntityMinecartCommandBlock.java.patch @@ -1,8 +1,8 @@ --- ../src-base/minecraft/net/minecraft/entity/item/EntityMinecartCommandBlock.java +++ ../src-work/minecraft/net/minecraft/entity/item/EntityMinecartCommandBlock.java -@@ -122,6 +122,7 @@ +@@ -123,6 +123,7 @@ - public boolean func_184230_a(EntityPlayer p_184230_1_, ItemStack p_184230_2_, EnumHand p_184230_3_) + public boolean func_184230_a(EntityPlayer p_184230_1_, @Nullable ItemStack p_184230_2_, EnumHand p_184230_3_) { + if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.entity.minecart.MinecartInteractEvent(this, p_184230_1_, p_184230_2_, p_184230_3_))) return true; this.field_145824_a.func_175574_a(p_184230_1_); diff --git a/patches/minecraft/net/minecraft/entity/item/EntityMinecartContainer.java.patch b/patches/minecraft/net/minecraft/entity/item/EntityMinecartContainer.java.patch index 5fa7ee0d0..a41e2ece8 100644 --- a/patches/minecraft/net/minecraft/entity/item/EntityMinecartContainer.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/EntityMinecartContainer.java.patch @@ -2,7 +2,7 @@ +++ ../src-work/minecraft/net/minecraft/entity/item/EntityMinecartContainer.java @@ -200,6 +200,7 @@ - public boolean func_184230_a(EntityPlayer p_184230_1_, ItemStack p_184230_2_, EnumHand p_184230_3_) + public boolean func_184230_a(EntityPlayer p_184230_1_, @Nullable ItemStack p_184230_2_, EnumHand p_184230_3_) { + if(net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.entity.minecart.MinecartInteractEvent(this, p_184230_1_, p_184230_2_, p_184230_3_))) return true; if (!this.field_70170_p.field_72995_K) diff --git a/patches/minecraft/net/minecraft/entity/item/EntityMinecartEmpty.java.patch b/patches/minecraft/net/minecraft/entity/item/EntityMinecartEmpty.java.patch index 91c23ee22..07f5bb16e 100644 --- a/patches/minecraft/net/minecraft/entity/item/EntityMinecartEmpty.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/EntityMinecartEmpty.java.patch @@ -1,8 +1,8 @@ --- ../src-base/minecraft/net/minecraft/entity/item/EntityMinecartEmpty.java +++ ../src-work/minecraft/net/minecraft/entity/item/EntityMinecartEmpty.java -@@ -19,6 +19,8 @@ +@@ -20,6 +20,8 @@ - public boolean func_184230_a(EntityPlayer p_184230_1_, ItemStack p_184230_2_, EnumHand p_184230_3_) + public boolean func_184230_a(EntityPlayer p_184230_1_, @Nullable ItemStack p_184230_2_, EnumHand p_184230_3_) { + if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.entity.minecart.MinecartInteractEvent(this, p_184230_1_, p_184230_2_, p_184230_3_))) return true; + diff --git a/patches/minecraft/net/minecraft/entity/item/EntityMinecartFurnace.java.patch b/patches/minecraft/net/minecraft/entity/item/EntityMinecartFurnace.java.patch index 3e1299398..8eac7c184 100644 --- a/patches/minecraft/net/minecraft/entity/item/EntityMinecartFurnace.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/EntityMinecartFurnace.java.patch @@ -1,8 +1,8 @@ --- ../src-base/minecraft/net/minecraft/entity/item/EntityMinecartFurnace.java +++ ../src-work/minecraft/net/minecraft/entity/item/EntityMinecartFurnace.java -@@ -136,6 +136,8 @@ +@@ -137,6 +137,8 @@ - public boolean func_184230_a(EntityPlayer p_184230_1_, ItemStack p_184230_2_, EnumHand p_184230_3_) + public boolean func_184230_a(EntityPlayer p_184230_1_, @Nullable ItemStack p_184230_2_, EnumHand p_184230_3_) { + if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.entity.minecart.MinecartInteractEvent(this, p_184230_1_, p_184230_2_, p_184230_3_))) return true; + diff --git a/patches/minecraft/net/minecraft/entity/item/EntityMinecartHopper.java.patch b/patches/minecraft/net/minecraft/entity/item/EntityMinecartHopper.java.patch index c20829921..8f4fa759a 100644 --- a/patches/minecraft/net/minecraft/entity/item/EntityMinecartHopper.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/EntityMinecartHopper.java.patch @@ -1,8 +1,8 @@ --- ../src-base/minecraft/net/minecraft/entity/item/EntityMinecartHopper.java +++ ../src-work/minecraft/net/minecraft/entity/item/EntityMinecartHopper.java -@@ -56,6 +56,7 @@ +@@ -57,6 +57,7 @@ - public boolean func_184230_a(EntityPlayer p_184230_1_, ItemStack p_184230_2_, EnumHand p_184230_3_) + public boolean func_184230_a(EntityPlayer p_184230_1_, @Nullable ItemStack p_184230_2_, EnumHand p_184230_3_) { + if(net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.entity.minecart.MinecartInteractEvent(this, p_184230_1_, p_184230_2_, p_184230_3_))) return true; if (!this.field_70170_p.field_72995_K) diff --git a/patches/minecraft/net/minecraft/entity/monster/EntityEnderman.java.patch b/patches/minecraft/net/minecraft/entity/monster/EntityEnderman.java.patch index e08580334..1a1f5343d 100644 --- a/patches/minecraft/net/minecraft/entity/monster/EntityEnderman.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/EntityEnderman.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/monster/EntityEnderman.java +++ ../src-work/minecraft/net/minecraft/entity/monster/EntityEnderman.java -@@ -259,7 +259,9 @@ +@@ -260,7 +260,9 @@ private boolean func_70825_j(double p_70825_1_, double p_70825_3_, double p_70825_5_) { @@ -11,7 +11,7 @@ if (flag) { -@@ -342,6 +344,18 @@ +@@ -345,6 +347,18 @@ } } diff --git a/patches/minecraft/net/minecraft/entity/monster/EntityMagmaCube.java.patch b/patches/minecraft/net/minecraft/entity/monster/EntityMagmaCube.java.patch index e44b7a1f8..5e43e090b 100644 --- a/patches/minecraft/net/minecraft/entity/monster/EntityMagmaCube.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/EntityMagmaCube.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/monster/EntityMagmaCube.java +++ ../src-work/minecraft/net/minecraft/entity/monster/EntityMagmaCube.java -@@ -86,6 +86,7 @@ +@@ -88,6 +88,7 @@ { this.field_70181_x = (double)(0.42F + (float)this.func_70809_q() * 0.1F); this.field_70160_al = true; diff --git a/patches/minecraft/net/minecraft/entity/monster/EntitySlime.java.patch b/patches/minecraft/net/minecraft/entity/monster/EntitySlime.java.patch index 986396cb2..8d52e35be 100644 --- a/patches/minecraft/net/minecraft/entity/monster/EntitySlime.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/EntitySlime.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/monster/EntitySlime.java +++ ../src-work/minecraft/net/minecraft/entity/monster/EntitySlime.java -@@ -125,7 +125,7 @@ +@@ -126,7 +126,7 @@ if (this.field_70122_E && !this.field_175452_bi) { int i = this.func_70809_q(); @@ -9,7 +9,7 @@ for (int j = 0; j < i * 8; ++j) { float f = this.field_70146_Z.nextFloat() * ((float)Math.PI * 2F); -@@ -291,7 +291,7 @@ +@@ -293,7 +293,7 @@ BlockPos blockpos = new BlockPos(MathHelper.func_76128_c(this.field_70165_t), 0, MathHelper.func_76128_c(this.field_70161_v)); Chunk chunk = this.field_70170_p.func_175726_f(blockpos); @@ -18,7 +18,7 @@ { return false; } -@@ -356,6 +356,14 @@ +@@ -359,6 +359,14 @@ return this.func_189101_db() ? SoundEvents.field_189110_fE : SoundEvents.field_187882_fq; } diff --git a/patches/minecraft/net/minecraft/entity/monster/EntityZombie.java.patch b/patches/minecraft/net/minecraft/entity/monster/EntityZombie.java.patch index f40c0b631..f33127ad2 100644 --- a/patches/minecraft/net/minecraft/entity/monster/EntityZombie.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/EntityZombie.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/monster/EntityZombie.java +++ ../src-work/minecraft/net/minecraft/entity/monster/EntityZombie.java -@@ -101,7 +101,7 @@ +@@ -102,7 +102,7 @@ this.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111128_a(0.23000000417232513D); this.func_110148_a(SharedMonsterAttributes.field_111264_e).func_111128_a(3.0D); this.func_110148_a(SharedMonsterAttributes.field_188791_g).func_111128_a(2.0D); @@ -9,7 +9,7 @@ } protected void func_70088_a() -@@ -259,12 +259,24 @@ +@@ -260,12 +260,24 @@ entitylivingbase = (EntityLivingBase)p_70097_1_.func_76346_g(); } @@ -39,7 +39,7 @@ for (int l = 0; l < 50; ++l) { -@@ -272,14 +284,14 @@ +@@ -273,14 +285,14 @@ int j1 = j + MathHelper.func_76136_a(this.field_70146_Z, 7, 40) * MathHelper.func_76136_a(this.field_70146_Z, -1, 1); int k1 = k + MathHelper.func_76136_a(this.field_70146_Z, 7, 40) * MathHelper.func_76136_a(this.field_70146_Z, -1, 1); @@ -56,7 +56,7 @@ entityzombie.func_180482_a(this.field_70170_p.func_175649_E(new BlockPos(entityzombie)), (IEntityLivingData)null); this.func_110148_a(field_110186_bp).func_111121_a(new AttributeModifier("Zombie reinforcement caller charge", -0.05000000074505806D, 0)); entityzombie.func_110148_a(field_110186_bp).func_111121_a(new AttributeModifier("Zombie reinforcement callee charge", -0.05000000074505806D, 0)); -@@ -483,7 +495,7 @@ +@@ -486,7 +498,7 @@ if (p_180482_2_ == null) { diff --git a/patches/minecraft/net/minecraft/entity/passive/EntityHorse.java.patch b/patches/minecraft/net/minecraft/entity/passive/EntityHorse.java.patch index 5c100f3b4..3674103ba 100644 --- a/patches/minecraft/net/minecraft/entity/passive/EntityHorse.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/EntityHorse.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/passive/EntityHorse.java +++ ../src-work/minecraft/net/minecraft/entity/passive/EntityHorse.java -@@ -433,6 +433,7 @@ +@@ -436,6 +436,7 @@ this.field_110296_bG.func_110134_a(this); this.func_110232_cE(); @@ -8,15 +8,15 @@ } private void func_110232_cE() -@@ -1200,6 +1201,7 @@ +@@ -1204,6 +1205,7 @@ } this.field_110277_bt = 0.0F; + net.minecraftforge.common.ForgeHooks.onLivingJump(this); } - this.field_70138_W = 1.0F; -@@ -1793,4 +1795,21 @@ + this.field_70747_aH = this.func_70689_ay() * 0.1F; +@@ -1798,4 +1800,21 @@ this.field_188477_b = p_i46589_2_; } } diff --git a/patches/minecraft/net/minecraft/entity/passive/EntityMooshroom.java.patch b/patches/minecraft/net/minecraft/entity/passive/EntityMooshroom.java.patch index 3926c9c07..d28d23cc9 100644 --- a/patches/minecraft/net/minecraft/entity/passive/EntityMooshroom.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/EntityMooshroom.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/passive/EntityMooshroom.java +++ ../src-work/minecraft/net/minecraft/entity/passive/EntityMooshroom.java -@@ -13,7 +13,7 @@ +@@ -14,7 +14,7 @@ import net.minecraft.world.World; import net.minecraft.world.storage.loot.LootTableList; @@ -9,15 +9,15 @@ { public EntityMooshroom(World p_i1687_1_) { -@@ -22,6 +22,7 @@ +@@ -23,6 +23,7 @@ this.field_175506_bl = Blocks.field_150391_bh; } + @SuppressWarnings("unused") - public boolean func_184645_a(EntityPlayer p_184645_1_, EnumHand p_184645_2_, ItemStack p_184645_3_) + public boolean func_184645_a(EntityPlayer p_184645_1_, EnumHand p_184645_2_, @Nullable ItemStack p_184645_3_) { if (p_184645_3_ != null && p_184645_3_.func_77973_b() == Items.field_151054_z && this.func_70874_b() >= 0 && !p_184645_1_.field_71075_bZ.field_75098_d) -@@ -37,7 +38,7 @@ +@@ -38,7 +39,7 @@ return true; } @@ -26,7 +26,7 @@ { this.func_70106_y(); this.field_70170_p.func_175688_a(EnumParticleTypes.EXPLOSION_LARGE, this.field_70165_t, this.field_70163_u + (double)(this.field_70131_O / 2.0F), this.field_70161_v, 0.0D, 0.0D, 0.0D, new int[0]); -@@ -78,6 +79,35 @@ +@@ -79,6 +80,35 @@ return new EntityMooshroom(this.field_70170_p); } @@ -59,6 +59,6 @@ + return ret; + } + + @Nullable protected ResourceLocation func_184647_J() { - return LootTableList.field_186400_H; diff --git a/patches/minecraft/net/minecraft/entity/passive/EntityOcelot.java.patch b/patches/minecraft/net/minecraft/entity/passive/EntityOcelot.java.patch index 921dfecba..37677c0c4 100644 --- a/patches/minecraft/net/minecraft/entity/passive/EntityOcelot.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/EntityOcelot.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/passive/EntityOcelot.java +++ ../src-work/minecraft/net/minecraft/entity/passive/EntityOcelot.java -@@ -285,7 +285,7 @@ +@@ -288,7 +288,7 @@ IBlockState iblockstate = this.field_70170_p.func_180495_p(blockpos.func_177977_b()); Block block = iblockstate.func_177230_c(); diff --git a/patches/minecraft/net/minecraft/entity/passive/EntitySheep.java.patch b/patches/minecraft/net/minecraft/entity/passive/EntitySheep.java.patch index 7552ad705..50ef9a971 100644 --- a/patches/minecraft/net/minecraft/entity/passive/EntitySheep.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/EntitySheep.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/passive/EntitySheep.java +++ ../src-work/minecraft/net/minecraft/entity/passive/EntitySheep.java -@@ -42,7 +42,7 @@ +@@ -43,7 +43,7 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -9,19 +9,18 @@ { private static final DataParameter field_184774_bv = EntityDataManager.func_187226_a(EntitySheep.class, DataSerializers.field_187191_a); private final InventoryCrafting field_90016_e = new InventoryCrafting(new Container() -@@ -171,9 +171,10 @@ +@@ -173,8 +173,10 @@ } } + @SuppressWarnings("unused") - public boolean func_184645_a(EntityPlayer p_184645_1_, EnumHand p_184645_2_, ItemStack p_184645_3_) + public boolean func_184645_a(EntityPlayer p_184645_1_, EnumHand p_184645_2_, @Nullable ItemStack p_184645_3_) { -- if (p_184645_3_ != null && p_184645_3_.func_77973_b() == Items.field_151097_aZ && !this.func_70892_o() && !this.func_70631_g_()) -+ if (false && p_184645_3_ != null && p_184645_3_.func_77973_b() == Items.field_151097_aZ && !this.func_70892_o() && !this.func_70631_g_()) //Forge: Moved to onSheared ++ if (false) //Forge: Moved to onSheared + if (p_184645_3_ != null && p_184645_3_.func_77973_b() == Items.field_151097_aZ && !this.func_70892_o() && !this.func_70631_g_()) { if (!this.field_70170_p.field_72995_K) - { -@@ -356,4 +357,19 @@ +@@ -359,4 +361,19 @@ field_175514_bm.put(EnumDyeColor.RED, new float[] {0.6F, 0.2F, 0.2F}); field_175514_bm.put(EnumDyeColor.BLACK, new float[] {0.1F, 0.1F, 0.1F}); } diff --git a/patches/minecraft/net/minecraft/entity/passive/EntityVillager.java.patch b/patches/minecraft/net/minecraft/entity/passive/EntityVillager.java.patch index 84bc38a3c..9e2985347 100644 --- a/patches/minecraft/net/minecraft/entity/passive/EntityVillager.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/EntityVillager.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/passive/EntityVillager.java +++ ../src-work/minecraft/net/minecraft/entity/passive/EntityVillager.java -@@ -74,6 +74,7 @@ +@@ -75,6 +75,7 @@ public class EntityVillager extends EntityAgeable implements IMerchant, INpc { private static final DataParameter field_184752_bw = EntityDataManager.func_187226_a(EntityVillager.class, DataSerializers.field_187192_b); @@ -8,7 +8,7 @@ private int field_70955_e; private boolean field_70952_f; private boolean field_70953_g; -@@ -90,6 +91,7 @@ +@@ -91,6 +92,7 @@ private boolean field_82190_bM; private boolean field_175564_by; private InventoryBasic field_175560_bz; @@ -16,7 +16,7 @@ private static final EntityVillager.ITradeList[][][][] field_175561_bA = new EntityVillager.ITradeList[][][][] {{{{new EntityVillager.EmeraldForItems(Items.field_151015_O, new EntityVillager.PriceInfo(18, 22)), new EntityVillager.EmeraldForItems(Items.field_151174_bG, new EntityVillager.PriceInfo(15, 19)), new EntityVillager.EmeraldForItems(Items.field_151172_bF, new EntityVillager.PriceInfo(15, 19)), new EntityVillager.ListItemForEmeralds(Items.field_151025_P, new EntityVillager.PriceInfo(-4, -2))}, {new EntityVillager.EmeraldForItems(Item.func_150898_a(Blocks.field_150423_aK), new EntityVillager.PriceInfo(8, 13)), new EntityVillager.ListItemForEmeralds(Items.field_151158_bO, new EntityVillager.PriceInfo(-3, -2))}, {new EntityVillager.EmeraldForItems(Item.func_150898_a(Blocks.field_150440_ba), new EntityVillager.PriceInfo(7, 12)), new EntityVillager.ListItemForEmeralds(Items.field_151034_e, new EntityVillager.PriceInfo(-5, -7))}, {new EntityVillager.ListItemForEmeralds(Items.field_151106_aX, new EntityVillager.PriceInfo(-6, -10)), new EntityVillager.ListItemForEmeralds(Items.field_151105_aU, new EntityVillager.PriceInfo(1, 1))}}, {{new EntityVillager.EmeraldForItems(Items.field_151007_F, new EntityVillager.PriceInfo(15, 20)), new EntityVillager.EmeraldForItems(Items.field_151044_h, new EntityVillager.PriceInfo(16, 24)), new EntityVillager.ItemAndEmeraldToItem(Items.field_151115_aP, new EntityVillager.PriceInfo(6, 6), Items.field_179566_aV, new EntityVillager.PriceInfo(6, 6))}, {new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151112_aM, new EntityVillager.PriceInfo(7, 8))}}, {{new EntityVillager.EmeraldForItems(Item.func_150898_a(Blocks.field_150325_L), new EntityVillager.PriceInfo(16, 22)), new EntityVillager.ListItemForEmeralds(Items.field_151097_aZ, new EntityVillager.PriceInfo(3, 4))}, {new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L)), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 1), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 2), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 3), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 4), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 5), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 6), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 7), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 8), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 9), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 10), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 11), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 12), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 13), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 14), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 15), new EntityVillager.PriceInfo(1, 2))}}, {{new EntityVillager.EmeraldForItems(Items.field_151007_F, new EntityVillager.PriceInfo(15, 20)), new EntityVillager.ListItemForEmeralds(Items.field_151032_g, new EntityVillager.PriceInfo(-12, -8))}, {new EntityVillager.ListItemForEmeralds(Items.field_151031_f, new EntityVillager.PriceInfo(2, 3)), new EntityVillager.ItemAndEmeraldToItem(Item.func_150898_a(Blocks.field_150351_n), new EntityVillager.PriceInfo(10, 10), Items.field_151145_ak, new EntityVillager.PriceInfo(6, 10))}}}, {{{new EntityVillager.EmeraldForItems(Items.field_151121_aF, new EntityVillager.PriceInfo(24, 36)), new EntityVillager.ListEnchantedBookForEmeralds()}, {new EntityVillager.EmeraldForItems(Items.field_151122_aG, new EntityVillager.PriceInfo(8, 10)), new EntityVillager.ListItemForEmeralds(Items.field_151111_aL, new EntityVillager.PriceInfo(10, 12)), new EntityVillager.ListItemForEmeralds(Item.func_150898_a(Blocks.field_150342_X), new EntityVillager.PriceInfo(3, 4))}, {new EntityVillager.EmeraldForItems(Items.field_151164_bB, new EntityVillager.PriceInfo(2, 2)), new EntityVillager.ListItemForEmeralds(Items.field_151113_aN, new EntityVillager.PriceInfo(10, 12)), new EntityVillager.ListItemForEmeralds(Item.func_150898_a(Blocks.field_150359_w), new EntityVillager.PriceInfo(-5, -3))}, {new EntityVillager.ListEnchantedBookForEmeralds()}, {new EntityVillager.ListEnchantedBookForEmeralds()}, {new EntityVillager.ListItemForEmeralds(Items.field_151057_cb, new EntityVillager.PriceInfo(20, 22))}}}, {{{new EntityVillager.EmeraldForItems(Items.field_151078_bh, new EntityVillager.PriceInfo(36, 40)), new EntityVillager.EmeraldForItems(Items.field_151043_k, new EntityVillager.PriceInfo(8, 10))}, {new EntityVillager.ListItemForEmeralds(Items.field_151137_ax, new EntityVillager.PriceInfo(-4, -1)), new EntityVillager.ListItemForEmeralds(new ItemStack(Items.field_151100_aR, 1, EnumDyeColor.BLUE.func_176767_b()), new EntityVillager.PriceInfo(-2, -1))}, {new EntityVillager.ListItemForEmeralds(Items.field_151079_bi, new EntityVillager.PriceInfo(4, 7)), new EntityVillager.ListItemForEmeralds(Item.func_150898_a(Blocks.field_150426_aN), new EntityVillager.PriceInfo(-3, -1))}, {new EntityVillager.ListItemForEmeralds(Items.field_151062_by, new EntityVillager.PriceInfo(3, 11))}}}, {{{new EntityVillager.EmeraldForItems(Items.field_151044_h, new EntityVillager.PriceInfo(16, 24)), new EntityVillager.ListItemForEmeralds(Items.field_151028_Y, new EntityVillager.PriceInfo(4, 6))}, {new EntityVillager.EmeraldForItems(Items.field_151042_j, new EntityVillager.PriceInfo(7, 9)), new EntityVillager.ListItemForEmeralds(Items.field_151030_Z, new EntityVillager.PriceInfo(10, 14))}, {new EntityVillager.EmeraldForItems(Items.field_151045_i, new EntityVillager.PriceInfo(3, 4)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151163_ad, new EntityVillager.PriceInfo(16, 19))}, {new EntityVillager.ListItemForEmeralds(Items.field_151029_X, new EntityVillager.PriceInfo(5, 7)), new EntityVillager.ListItemForEmeralds(Items.field_151022_W, new EntityVillager.PriceInfo(9, 11)), new EntityVillager.ListItemForEmeralds(Items.field_151020_U, new EntityVillager.PriceInfo(5, 7)), new EntityVillager.ListItemForEmeralds(Items.field_151023_V, new EntityVillager.PriceInfo(11, 15))}}, {{new EntityVillager.EmeraldForItems(Items.field_151044_h, new EntityVillager.PriceInfo(16, 24)), new EntityVillager.ListItemForEmeralds(Items.field_151036_c, new EntityVillager.PriceInfo(6, 8))}, {new EntityVillager.EmeraldForItems(Items.field_151042_j, new EntityVillager.PriceInfo(7, 9)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151040_l, new EntityVillager.PriceInfo(9, 10))}, {new EntityVillager.EmeraldForItems(Items.field_151045_i, new EntityVillager.PriceInfo(3, 4)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151048_u, new EntityVillager.PriceInfo(12, 15)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151056_x, new EntityVillager.PriceInfo(9, 12))}}, {{new EntityVillager.EmeraldForItems(Items.field_151044_h, new EntityVillager.PriceInfo(16, 24)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151037_a, new EntityVillager.PriceInfo(5, 7))}, {new EntityVillager.EmeraldForItems(Items.field_151042_j, new EntityVillager.PriceInfo(7, 9)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151035_b, new EntityVillager.PriceInfo(9, 11))}, {new EntityVillager.EmeraldForItems(Items.field_151045_i, new EntityVillager.PriceInfo(3, 4)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151046_w, new EntityVillager.PriceInfo(12, 15))}}}, {{{new EntityVillager.EmeraldForItems(Items.field_151147_al, new EntityVillager.PriceInfo(14, 18)), new EntityVillager.EmeraldForItems(Items.field_151076_bf, new EntityVillager.PriceInfo(14, 18))}, {new EntityVillager.EmeraldForItems(Items.field_151044_h, new EntityVillager.PriceInfo(16, 24)), new EntityVillager.ListItemForEmeralds(Items.field_151157_am, new EntityVillager.PriceInfo(-7, -5)), new EntityVillager.ListItemForEmeralds(Items.field_151077_bg, new EntityVillager.PriceInfo(-8, -6))}}, {{new EntityVillager.EmeraldForItems(Items.field_151116_aA, new EntityVillager.PriceInfo(9, 12)), new EntityVillager.ListItemForEmeralds(Items.field_151026_S, new EntityVillager.PriceInfo(2, 4))}, {new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151027_R, new EntityVillager.PriceInfo(7, 12))}, {new EntityVillager.ListItemForEmeralds(Items.field_151141_av, new EntityVillager.PriceInfo(8, 10))}}}}; public EntityVillager(World p_i1747_1_) -@@ -221,7 +223,7 @@ +@@ -222,7 +224,7 @@ { boolean flag = p_184645_3_ != null && p_184645_3_.func_77973_b() == Items.field_151063_bx; @@ -25,7 +25,7 @@ { if (!this.field_70170_p.field_72995_K && (this.field_70963_i == null || !this.field_70963_i.isEmpty())) { -@@ -242,12 +244,14 @@ +@@ -243,12 +245,14 @@ { super.func_70088_a(); this.field_70180_af.func_187214_a(field_184752_bw, Integer.valueOf(0)); @@ -40,7 +40,7 @@ p_70014_1_.func_74768_a("Riches", this.field_70956_bz); p_70014_1_.func_74768_a("Career", this.field_175563_bv); p_70014_1_.func_74768_a("CareerLevel", this.field_175562_bw); -@@ -277,6 +281,14 @@ +@@ -278,6 +282,14 @@ { super.func_70037_a(p_70037_1_); this.func_70938_b(p_70037_1_.func_74762_e("Profession")); @@ -55,7 +55,7 @@ this.field_70956_bz = p_70037_1_.func_74762_e("Riches"); this.field_175563_bv = p_70037_1_.func_74762_e("Career"); this.field_175562_bw = p_70037_1_.func_74762_e("CareerLevel"); -@@ -327,6 +339,7 @@ +@@ -328,6 +340,7 @@ public void func_70938_b(int p_70938_1_) { this.field_70180_af.func_187227_b(field_184752_bw, Integer.valueOf(p_70938_1_)); @@ -63,7 +63,7 @@ } public int func_70946_n() -@@ -334,6 +347,39 @@ +@@ -335,6 +348,39 @@ return Math.max(((Integer)this.field_70180_af.func_187225_a(field_184752_bw)).intValue() % 5, 0); } @@ -103,7 +103,7 @@ public boolean func_70941_o() { return this.field_70952_f; -@@ -533,15 +579,13 @@ +@@ -534,15 +580,13 @@ private void func_175554_cu() { @@ -120,7 +120,7 @@ this.field_175562_bw = 1; } -@@ -552,13 +596,11 @@ +@@ -553,13 +597,11 @@ int i = this.field_175563_bv - 1; int j = this.field_175562_bw - 1; @@ -137,7 +137,7 @@ { entityvillager$itradelist.func_179401_a(this.field_70963_i, this.field_70146_Z); } -@@ -647,9 +689,14 @@ +@@ -648,9 +690,14 @@ } } @@ -151,10 +151,10 @@ - TextComponentTranslation textcomponenttranslation = new TextComponentTranslation("entity.Villager." + s1, new Object[0]); + TextComponentTranslation textcomponenttranslation = new TextComponentTranslation(s1, new Object[0]); textcomponenttranslation.func_150256_b().func_150209_a(this.func_174823_aP()); - textcomponenttranslation.func_150256_b().func_179989_a(this.func_110124_au().toString()); + textcomponenttranslation.func_150256_b().func_179989_a(this.func_189512_bd()); -@@ -708,7 +755,7 @@ - public IEntityLivingData func_180482_a(DifficultyInstance p_180482_1_, IEntityLivingData p_180482_2_) +@@ -710,7 +757,7 @@ + public IEntityLivingData func_180482_a(DifficultyInstance p_180482_1_, @Nullable IEntityLivingData p_180482_2_) { p_180482_2_ = super.func_180482_a(p_180482_1_, p_180482_2_); - this.func_70938_b(this.field_70170_p.field_73012_v.nextInt(5)); diff --git a/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch b/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch index 8da477eb3..f168507e7 100644 --- a/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch +++ b/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/player/EntityPlayer.java +++ ../src-work/minecraft/net/minecraft/entity/player/EntityPlayer.java -@@ -93,6 +93,11 @@ +@@ -94,6 +94,11 @@ @SuppressWarnings("incomplete-switch") public abstract class EntityPlayer extends EntityLivingBase { @@ -12,7 +12,7 @@ private static final DataParameter field_184829_a = EntityDataManager.func_187226_a(EntityPlayer.class, DataSerializers.field_187193_c); private static final DataParameter field_184830_b = EntityDataManager.func_187226_a(EntityPlayer.class, DataSerializers.field_187192_b); protected static final DataParameter field_184827_bp = EntityDataManager.func_187226_a(EntityPlayer.class, DataSerializers.field_187191_a); -@@ -174,6 +179,7 @@ +@@ -175,6 +180,7 @@ public void func_70071_h_() { @@ -20,7 +20,7 @@ this.field_70145_X = this.func_175149_v(); if (this.func_175149_v()) -@@ -219,7 +225,7 @@ +@@ -220,7 +226,7 @@ super.func_70071_h_(); @@ -29,7 +29,7 @@ { this.func_71053_j(); this.field_71070_bA = this.field_71069_bz; -@@ -360,6 +366,7 @@ +@@ -361,6 +367,7 @@ this.func_70105_a(f, f1); } } @@ -37,7 +37,7 @@ } public int func_82145_z() -@@ -442,11 +449,11 @@ +@@ -443,11 +450,11 @@ this.field_71109_bG = 0.0F; this.func_71015_k(this.field_70165_t - d0, this.field_70163_u - d1, this.field_70161_v - d2); @@ -51,7 +51,7 @@ } } } -@@ -576,11 +583,15 @@ +@@ -577,11 +584,15 @@ public void func_70645_a(DamageSource p_70645_1_) { @@ -67,7 +67,7 @@ if (this.func_70005_c_().equals("Notch")) { this.func_146097_a(new ItemStack(Items.field_151034_e, 1), true, false); -@@ -591,6 +602,9 @@ +@@ -592,6 +603,9 @@ this.field_71071_by.func_70436_m(); } @@ -77,8 +77,8 @@ if (p_70645_1_ != null) { this.field_70159_w = (double)(-MathHelper.func_76134_b((this.field_70739_aP + this.field_70177_z) * 0.017453292F) * 0.1F); -@@ -678,12 +692,25 @@ - +@@ -680,13 +694,26 @@ + @Nullable public EntityItem func_71040_bB(boolean p_71040_1_) { - return this.func_146097_a(this.field_71071_by.func_70298_a(this.field_71071_by.field_70461_c, p_71040_1_ && this.field_71071_by.func_70448_g() != null ? this.field_71071_by.func_70448_g().field_77994_a : 1), false, true); @@ -98,38 +98,39 @@ + return null; } - public EntityItem func_71019_a(ItemStack p_71019_1_, boolean p_71019_2_) + @Nullable + public EntityItem func_71019_a(@Nullable ItemStack p_71019_1_, boolean p_71019_2_) { - return this.func_146097_a(p_71019_1_, false, false); + return net.minecraftforge.common.ForgeHooks.onPlayerTossEvent(this, p_71019_1_, false); } - public EntityItem func_146097_a(ItemStack p_146097_1_, boolean p_146097_2_, boolean p_146097_3_) -@@ -746,15 +773,22 @@ - + @Nullable +@@ -751,14 +778,22 @@ + @Nullable public ItemStack func_184816_a(EntityItem p_184816_1_) { + if (captureDrops) capturedDrops.add(p_184816_1_); + else // Forge: Don't indent to keep patch smaller. this.field_70170_p.func_72838_d(p_184816_1_); - ItemStack itemstack = p_184816_1_.func_92059_d(); - return itemstack; + return p_184816_1_.func_92059_d(); } + @Deprecated //Use location sensitive version below public float func_184813_a(IBlockState p_184813_1_) { - float f = this.field_71071_by.func_184438_a(p_184813_1_); -+ return getBreakSpeed(p_184813_1_, new BlockPos(0, -1, 0)); ++ return getDigSpeed(p_184813_1_, null); + } -+ public float getBreakSpeed(IBlockState state, BlockPos pos) ++ public float getDigSpeed(IBlockState state, BlockPos pos) + { + float f = this.field_71071_by.func_184438_a(state); ++ if (f > 1.0F) { int i = EnchantmentHelper.func_185293_e(this); -@@ -804,12 +838,13 @@ +@@ -808,12 +843,13 @@ f /= 5.0F; } @@ -145,7 +146,7 @@ } public void func_70037_a(NBTTagCompound p_70037_1_) -@@ -845,6 +880,16 @@ +@@ -849,6 +885,16 @@ this.field_82248_d = p_70037_1_.func_74767_n("SpawnForced"); } @@ -162,7 +163,7 @@ this.field_71100_bB.func_75112_a(p_70037_1_); this.field_71075_bZ.func_75095_b(p_70037_1_); -@@ -877,6 +922,23 @@ +@@ -881,6 +927,23 @@ p_70014_1_.func_74757_a("SpawnForced", this.field_82248_d); } @@ -186,7 +187,7 @@ this.field_71100_bB.func_75117_b(p_70014_1_); this.field_71075_bZ.func_75091_a(p_70014_1_); p_70014_1_.func_74782_a("EnderItems", this.field_71078_a.func_70487_g()); -@@ -884,6 +946,7 @@ +@@ -888,6 +951,7 @@ public boolean func_70097_a(DamageSource p_70097_1_, float p_70097_2_) { @@ -194,7 +195,7 @@ if (this.func_180431_b(p_70097_1_)) { return false; -@@ -966,6 +1029,7 @@ +@@ -970,6 +1034,7 @@ if (this.field_184627_bm.field_77994_a <= 0) { EnumHand enumhand = this.func_184600_cs(); @@ -202,7 +203,7 @@ if (enumhand == EnumHand.MAIN_HAND) { -@@ -1001,7 +1065,10 @@ +@@ -1005,7 +1070,10 @@ { if (!this.func_180431_b(p_70665_1_)) { @@ -214,7 +215,7 @@ p_70665_2_ = this.func_70672_c(p_70665_1_, p_70665_2_); float f = p_70665_2_; p_70665_2_ = Math.max(p_70665_2_ - this.func_110139_bj(), 0.0F); -@@ -1067,6 +1134,7 @@ +@@ -1071,6 +1139,7 @@ } else { @@ -222,7 +223,7 @@ ItemStack itemstack = p_184822_2_ != null ? p_184822_2_.func_77946_l() : null; if (!p_184822_1_.func_184230_a(this, p_184822_2_, p_184822_3_)) -@@ -1123,6 +1191,7 @@ +@@ -1127,6 +1196,7 @@ public void func_71059_n(Entity p_71059_1_) { @@ -230,16 +231,16 @@ if (p_71059_1_.func_70075_an()) { if (!p_71059_1_.func_85031_j(this)) -@@ -1410,6 +1479,8 @@ +@@ -1414,6 +1484,8 @@ - public EntityPlayer.EnumStatus func_180469_a(BlockPos p_180469_1_) + public EntityPlayer.SleepResult func_180469_a(BlockPos p_180469_1_) { -+ EntityPlayer.EnumStatus ret = net.minecraftforge.event.ForgeEventFactory.onPlayerSleepInBed(this, p_180469_1_); ++ EntityPlayer.SleepResult ret = net.minecraftforge.event.ForgeEventFactory.onPlayerSleepInBed(this, p_180469_1_); + if (ret != null) return ret; if (!this.field_70170_p.field_72995_K) { if (this.func_70608_bn() || !this.func_70089_S()) -@@ -1449,9 +1520,10 @@ +@@ -1453,9 +1525,10 @@ this.func_70105_a(0.2F, 0.2F); @@ -253,7 +254,7 @@ float f = 0.5F; float f1 = 0.5F; -@@ -1514,13 +1586,14 @@ +@@ -1518,13 +1591,14 @@ public void func_70999_a(boolean p_70999_1_, boolean p_70999_2_, boolean p_70999_3_) { @@ -271,7 +272,7 @@ if (blockpos == null) { -@@ -1529,6 +1602,10 @@ +@@ -1533,6 +1607,10 @@ this.func_70107_b((double)((float)blockpos.func_177958_n() + 0.5F), (double)((float)blockpos.func_177956_o() + 0.1F), (double)((float)blockpos.func_177952_p() + 0.5F)); } @@ -282,14 +283,15 @@ this.field_71083_bS = false; -@@ -1547,14 +1624,15 @@ +@@ -1551,15 +1629,16 @@ private boolean func_175143_p() { - return this.field_70170_p.func_180495_p(this.field_71081_bT).func_177230_c() == Blocks.field_150324_C; -+ return net.minecraftforge.event.ForgeEventFactory.fireSleepingLocationCheck(this, field_71081_bT); ++ return net.minecraftforge.event.ForgeEventFactory.fireSleepingLocationCheck(this, this.field_71081_bT); } + @Nullable public static BlockPos func_180467_a(World p_180467_0_, BlockPos p_180467_1_, boolean p_180467_2_) { - Block block = p_180467_0_.func_180495_p(p_180467_1_).func_177230_c(); @@ -301,7 +303,7 @@ { if (!p_180467_2_) { -@@ -1569,16 +1647,17 @@ +@@ -1574,16 +1653,17 @@ } else { @@ -322,7 +324,7 @@ switch (enumfacing) { -@@ -1618,16 +1697,24 @@ +@@ -1623,16 +1703,24 @@ public BlockPos func_180470_cg() { @@ -349,7 +351,7 @@ if (p_180473_1_ != null) { this.field_71077_c = p_180473_1_; -@@ -1822,6 +1909,10 @@ +@@ -1827,6 +1915,10 @@ super.func_180430_e(p_180430_1_, p_180430_2_); } @@ -360,7 +362,7 @@ } protected void func_71061_d_() -@@ -2022,6 +2113,18 @@ +@@ -2027,6 +2119,18 @@ this.field_175152_f = p_71049_1_.field_175152_f; this.field_71078_a = p_71049_1_.field_71078_a; this.func_184212_Q().func_187227_b(field_184827_bp, p_71049_1_.func_184212_Q().func_187225_a(field_184827_bp)); @@ -379,7 +381,7 @@ } protected boolean func_70041_e_() -@@ -2120,7 +2223,10 @@ +@@ -2126,7 +2230,10 @@ public ITextComponent func_145748_c_() { @@ -391,7 +393,7 @@ itextcomponent.func_150256_b().func_150241_a(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/msg " + this.func_70005_c_() + " ")); itextcomponent.func_150256_b().func_150209_a(this.func_174823_aP()); itextcomponent.func_150256_b().func_179989_a(this.func_70005_c_()); -@@ -2129,7 +2235,7 @@ +@@ -2135,7 +2242,7 @@ public float func_70047_e() { @@ -400,7 +402,7 @@ if (this.func_70608_bn()) { -@@ -2340,6 +2446,161 @@ +@@ -2346,6 +2453,161 @@ return (float)this.func_110148_a(SharedMonsterAttributes.field_188792_h).func_111126_e(); } diff --git a/patches/minecraft/net/minecraft/entity/player/EntityPlayerMP.java.patch b/patches/minecraft/net/minecraft/entity/player/EntityPlayerMP.java.patch index e61f8cfba..15b75ad99 100644 --- a/patches/minecraft/net/minecraft/entity/player/EntityPlayerMP.java.patch +++ b/patches/minecraft/net/minecraft/entity/player/EntityPlayerMP.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/player/EntityPlayerMP.java +++ ../src-work/minecraft/net/minecraft/entity/player/EntityPlayerMP.java -@@ -134,14 +134,15 @@ +@@ -136,14 +136,15 @@ public int field_71138_i; public boolean field_71136_j; @@ -18,7 +18,7 @@ { int i = Math.max(0, p_i45285_1_.func_184108_a(p_i45285_2_)); int j = MathHelper.func_76128_c(p_i45285_2_.func_175723_af().func_177729_b((double)blockpos.func_177958_n(), (double)blockpos.func_177952_p())); -@@ -250,7 +251,7 @@ +@@ -252,7 +253,7 @@ this.field_71070_bA.func_75142_b(); @@ -27,7 +27,7 @@ { this.func_71053_j(); this.field_71070_bA = this.field_71069_bz; -@@ -433,6 +434,7 @@ +@@ -435,6 +436,7 @@ public void func_70645_a(DamageSource p_70645_1_) { @@ -35,7 +35,7 @@ boolean flag = this.field_70170_p.func_82736_K().func_82766_b("showDeathMessages"); this.field_71135_a.func_147359_a(new SPacketCombatEvent(this.func_110142_aN(), SPacketCombatEvent.Event.ENTITY_DIED, flag)); -@@ -459,7 +461,20 @@ +@@ -461,7 +463,20 @@ if (!this.field_70170_p.func_82736_K().func_82766_b("keepInventory") && !this.func_175149_v()) { @@ -56,15 +56,15 @@ } for (ScoreObjective scoreobjective : this.field_70170_p.func_96441_U().func_96520_a(IScoreCriteria.field_96642_c)) -@@ -540,6 +555,7 @@ - +@@ -543,6 +558,7 @@ + @Nullable public Entity func_184204_a(int p_184204_1_) { + if (!net.minecraftforge.common.ForgeHooks.onTravelToDimension(this, p_184204_1_)) return this; this.field_184851_cj = true; if (this.field_71093_bK == 1 && p_184204_1_ == 1) -@@ -697,7 +713,7 @@ +@@ -700,7 +716,7 @@ BlockPos blockpos = new BlockPos(i, j, k); IBlockState iblockstate = this.field_70170_p.func_180495_p(blockpos); @@ -73,7 +73,7 @@ { BlockPos blockpos1 = blockpos.func_177977_b(); IBlockState iblockstate1 = this.field_70170_p.func_180495_p(blockpos1); -@@ -921,6 +937,7 @@ +@@ -924,6 +940,7 @@ { if (p_71064_1_ != null) { diff --git a/patches/minecraft/net/minecraft/entity/player/InventoryPlayer.java.patch b/patches/minecraft/net/minecraft/entity/player/InventoryPlayer.java.patch index 879c821bd..c2f9cf743 100644 --- a/patches/minecraft/net/minecraft/entity/player/InventoryPlayer.java.patch +++ b/patches/minecraft/net/minecraft/entity/player/InventoryPlayer.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/entity/player/InventoryPlayer.java +++ ../src-work/minecraft/net/minecraft/entity/player/InventoryPlayer.java -@@ -270,13 +270,8 @@ +@@ -272,13 +272,8 @@ if (itemstack == null) { @@ -16,7 +16,7 @@ this.func_70299_a(j, itemstack); } -@@ -344,6 +339,14 @@ +@@ -346,6 +341,14 @@ } } } @@ -30,4 +30,4 @@ + } } - public boolean func_70441_a(final ItemStack p_70441_1_) + public boolean func_70441_a(@Nullable final ItemStack p_70441_1_) diff --git a/patches/minecraft/net/minecraft/init/Bootstrap.java.patch b/patches/minecraft/net/minecraft/init/Bootstrap.java.patch index 21ca820f9..d2658df4d 100644 --- a/patches/minecraft/net/minecraft/init/Bootstrap.java.patch +++ b/patches/minecraft/net/minecraft/init/Bootstrap.java.patch @@ -2,7 +2,7 @@ +++ ../src-work/minecraft/net/minecraft/init/Bootstrap.java @@ -541,6 +541,7 @@ StatList.func_151178_a(); - BiomeGenBase.func_185358_q(); + Biome.func_185358_q(); func_151353_a(); + net.minecraftforge.fml.common.registry.GameData.vanillaSnapshot(); } diff --git a/patches/minecraft/net/minecraft/inventory/Container.java.patch b/patches/minecraft/net/minecraft/inventory/Container.java.patch index a14906ef9..72217bbbf 100644 --- a/patches/minecraft/net/minecraft/inventory/Container.java.patch +++ b/patches/minecraft/net/minecraft/inventory/Container.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/inventory/Container.java +++ ../src-work/minecraft/net/minecraft/inventory/Container.java -@@ -646,7 +646,7 @@ +@@ -650,7 +650,7 @@ Slot slot1 = (Slot)this.field_75151_b.get(i); ItemStack itemstack1 = slot1.func_75211_c(); diff --git a/patches/minecraft/net/minecraft/inventory/ContainerBeacon.java.patch b/patches/minecraft/net/minecraft/inventory/ContainerBeacon.java.patch index ae5dae8dd..6529375dc 100644 --- a/patches/minecraft/net/minecraft/inventory/ContainerBeacon.java.patch +++ b/patches/minecraft/net/minecraft/inventory/ContainerBeacon.java.patch @@ -1,8 +1,8 @@ --- ../src-base/minecraft/net/minecraft/inventory/ContainerBeacon.java +++ ../src-work/minecraft/net/minecraft/inventory/ContainerBeacon.java -@@ -143,7 +143,7 @@ +@@ -145,7 +145,7 @@ - public boolean func_75214_a(ItemStack p_75214_1_) + public boolean func_75214_a(@Nullable ItemStack p_75214_1_) { - return p_75214_1_ == null ? false : p_75214_1_.func_77973_b() == Items.field_151166_bC || p_75214_1_.func_77973_b() == Items.field_151045_i || p_75214_1_.func_77973_b() == Items.field_151043_k || p_75214_1_.func_77973_b() == Items.field_151042_j; + return p_75214_1_ == null ? false : p_75214_1_.func_77973_b().isBeaconPayment(p_75214_1_); diff --git a/patches/minecraft/net/minecraft/inventory/ContainerBrewingStand.java.patch b/patches/minecraft/net/minecraft/inventory/ContainerBrewingStand.java.patch index cf54412a4..29d7458ad 100644 --- a/patches/minecraft/net/minecraft/inventory/ContainerBrewingStand.java.patch +++ b/patches/minecraft/net/minecraft/inventory/ContainerBrewingStand.java.patch @@ -1,15 +1,15 @@ --- ../src-base/minecraft/net/minecraft/inventory/ContainerBrewingStand.java +++ ../src-work/minecraft/net/minecraft/inventory/ContainerBrewingStand.java -@@ -196,7 +196,7 @@ +@@ -198,7 +198,7 @@ - public boolean func_75214_a(ItemStack p_75214_1_) + public boolean func_75214_a(@Nullable ItemStack p_75214_1_) { - return p_75214_1_ != null && PotionHelper.func_185205_a(p_75214_1_); + return p_75214_1_ != null && net.minecraftforge.common.brewing.BrewingRecipeRegistry.isValidIngredient(p_75214_1_); } public int func_75219_a() -@@ -243,8 +243,7 @@ +@@ -245,8 +245,7 @@ } else { diff --git a/patches/minecraft/net/minecraft/inventory/ContainerEnchantment.java.patch b/patches/minecraft/net/minecraft/inventory/ContainerEnchantment.java.patch index 6eb1cab47..f725b9137 100644 --- a/patches/minecraft/net/minecraft/inventory/ContainerEnchantment.java.patch +++ b/patches/minecraft/net/minecraft/inventory/ContainerEnchantment.java.patch @@ -1,11 +1,11 @@ --- ../src-base/minecraft/net/minecraft/inventory/ContainerEnchantment.java +++ ../src-work/minecraft/net/minecraft/inventory/ContainerEnchantment.java -@@ -68,9 +68,12 @@ +@@ -69,9 +69,12 @@ }); this.func_75146_a(new Slot(this.field_75168_e, 1, 35, 47) { + java.util.List ores = net.minecraftforge.oredict.OreDictionary.getOres("gemLapis"); - public boolean func_75214_a(ItemStack p_75214_1_) + public boolean func_75214_a(@Nullable ItemStack p_75214_1_) { - return p_75214_1_.func_77973_b() == Items.field_151100_aR && EnumDyeColor.func_176766_a(p_75214_1_.func_77960_j()) == EnumDyeColor.BLUE; + for (ItemStack ore : ores) @@ -14,7 +14,7 @@ } }); -@@ -155,6 +158,7 @@ +@@ -156,6 +159,7 @@ if (!this.field_75172_h.field_72995_K) { int l = 0; @@ -22,7 +22,7 @@ for (int j = -1; j <= 1; ++j) { -@@ -162,37 +166,14 @@ +@@ -163,37 +167,14 @@ { if ((j != 0 || k != 0) && this.field_75172_h.func_175623_d(this.field_178150_j.func_177982_a(k, 0, j)) && this.field_75172_h.func_175623_d(this.field_178150_j.func_177982_a(k, 1, j))) { @@ -66,7 +66,7 @@ } } } -@@ -202,7 +183,7 @@ +@@ -203,7 +184,7 @@ for (int i1 = 0; i1 < 3; ++i1) { diff --git a/patches/minecraft/net/minecraft/inventory/ContainerPlayer.java.patch b/patches/minecraft/net/minecraft/inventory/ContainerPlayer.java.patch index a77e0a042..0b64ec79a 100644 --- a/patches/minecraft/net/minecraft/inventory/ContainerPlayer.java.patch +++ b/patches/minecraft/net/minecraft/inventory/ContainerPlayer.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/inventory/ContainerPlayer.java +++ ../src-work/minecraft/net/minecraft/inventory/ContainerPlayer.java -@@ -48,8 +48,7 @@ +@@ -49,8 +49,7 @@ } else { @@ -9,4 +9,4 @@ + return p_75214_1_.func_77973_b().isValidArmor(p_75214_1_, entityequipmentslot, field_82862_h); } } - @SideOnly(Side.CLIENT) + @Nullable diff --git a/patches/minecraft/net/minecraft/inventory/ContainerRepair.java.patch b/patches/minecraft/net/minecraft/inventory/ContainerRepair.java.patch index 78d93064a..56bd242c8 100644 --- a/patches/minecraft/net/minecraft/inventory/ContainerRepair.java.patch +++ b/patches/minecraft/net/minecraft/inventory/ContainerRepair.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/inventory/ContainerRepair.java +++ ../src-work/minecraft/net/minecraft/inventory/ContainerRepair.java -@@ -69,6 +69,8 @@ +@@ -70,6 +70,8 @@ p_82870_1_.func_82242_a(-ContainerRepair.this.field_82854_e); } @@ -9,7 +9,7 @@ ContainerRepair.this.field_82853_g.func_70299_a(0, (ItemStack)null); if (ContainerRepair.this.field_82856_l > 0) -@@ -93,7 +95,7 @@ +@@ -94,7 +96,7 @@ ContainerRepair.this.field_82854_e = 0; IBlockState iblockstate = p_i45807_2_.func_180495_p(p_i45807_3_); @@ -18,7 +18,7 @@ { int l = ((Integer)iblockstate.func_177229_b(BlockAnvil.field_176505_b)).intValue(); ++l; -@@ -160,10 +162,12 @@ +@@ -161,10 +163,12 @@ Map map = EnchantmentHelper.func_82781_a(itemstack1); j = j + itemstack.func_82838_A() + (itemstack2 == null ? 0 : itemstack2.func_82838_A()); this.field_82856_l = 0; @@ -32,7 +32,7 @@ if (itemstack1.func_77984_f() && itemstack1.func_77973_b().func_82789_a(itemstack, itemstack2)) { -@@ -235,7 +239,7 @@ +@@ -236,7 +240,7 @@ for (Enchantment enchantment : map.keySet()) { @@ -41,7 +41,7 @@ { flag1 = false; ++i; -@@ -279,6 +283,8 @@ +@@ -280,6 +284,8 @@ } } diff --git a/patches/minecraft/net/minecraft/inventory/Slot.java.patch b/patches/minecraft/net/minecraft/inventory/Slot.java.patch index d47ee2d87..a651fd9ce 100644 --- a/patches/minecraft/net/minecraft/inventory/Slot.java.patch +++ b/patches/minecraft/net/minecraft/inventory/Slot.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/inventory/Slot.java +++ ../src-work/minecraft/net/minecraft/inventory/Slot.java -@@ -89,7 +89,7 @@ +@@ -92,7 +92,7 @@ @SideOnly(Side.CLIENT) public String func_178171_c() { @@ -9,7 +9,7 @@ } public ItemStack func_75209_a(int p_75209_1_) -@@ -112,4 +112,63 @@ +@@ -115,4 +115,63 @@ { return true; } diff --git a/patches/minecraft/net/minecraft/inventory/SlotCrafting.java.patch b/patches/minecraft/net/minecraft/inventory/SlotCrafting.java.patch index a35783d0c..8894b89e3 100644 --- a/patches/minecraft/net/minecraft/inventory/SlotCrafting.java.patch +++ b/patches/minecraft/net/minecraft/inventory/SlotCrafting.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/inventory/SlotCrafting.java +++ ../src-work/minecraft/net/minecraft/inventory/SlotCrafting.java -@@ -107,8 +107,11 @@ +@@ -108,8 +108,11 @@ public void func_82870_a(EntityPlayer p_82870_1_, ItemStack p_82870_2_) { diff --git a/patches/minecraft/net/minecraft/inventory/SlotFurnaceOutput.java.patch b/patches/minecraft/net/minecraft/inventory/SlotFurnaceOutput.java.patch index 090b18f53..9eed3569a 100644 --- a/patches/minecraft/net/minecraft/inventory/SlotFurnaceOutput.java.patch +++ b/patches/minecraft/net/minecraft/inventory/SlotFurnaceOutput.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/inventory/SlotFurnaceOutput.java +++ ../src-work/minecraft/net/minecraft/inventory/SlotFurnaceOutput.java -@@ -81,6 +81,8 @@ +@@ -82,6 +82,8 @@ this.field_75228_b = 0; diff --git a/patches/minecraft/net/minecraft/item/Item.java.patch b/patches/minecraft/net/minecraft/item/Item.java.patch index 27cfd57be..cf16a13e8 100644 --- a/patches/minecraft/net/minecraft/item/Item.java.patch +++ b/patches/minecraft/net/minecraft/item/Item.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/item/Item.java +++ ../src-work/minecraft/net/minecraft/item/Item.java -@@ -56,10 +56,10 @@ +@@ -57,10 +57,10 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -14,7 +14,7 @@ private static final IItemPropertyGetter field_185046_b = new IItemPropertyGetter() { @SideOnly(Side.CLIENT) -@@ -192,6 +192,7 @@ +@@ -196,6 +196,7 @@ return p_77654_1_; } @@ -22,7 +22,7 @@ public int func_77639_j() { return this.field_77777_bU; -@@ -312,6 +313,7 @@ +@@ -316,6 +317,7 @@ return this.field_77700_c; } @@ -30,7 +30,7 @@ public boolean func_77634_r() { return this.field_77700_c != null; -@@ -367,7 +369,7 @@ +@@ -371,7 +373,7 @@ public boolean func_77616_k(ItemStack p_77616_1_) { @@ -39,7 +39,7 @@ } protected RayTraceResult func_77621_a(World p_77621_1_, EntityPlayer p_77621_2_, boolean p_77621_3_) -@@ -385,6 +387,10 @@ +@@ -389,6 +391,10 @@ float f6 = f3 * f4; float f7 = f2 * f4; double d3 = 5.0D; @@ -50,7 +50,7 @@ Vec3d vec3d1 = vec3d.func_72441_c((double)f6 * d3, (double)f5 * d3, (double)f7 * d3); return p_77621_1_.func_147447_a(vec3d, vec3d1, p_77621_3_, !p_77621_3_, false); } -@@ -422,11 +428,557 @@ +@@ -426,11 +432,557 @@ return false; } @@ -608,7 +608,7 @@ public static void func_150900_l() { func_179214_a(Blocks.field_150348_b, (new ItemMultiTexture(Blocks.field_150348_b, Blocks.field_150348_b, new Function() -@@ -935,6 +1487,10 @@ +@@ -956,6 +1508,10 @@ private final float field_78011_i; private final int field_78008_j; @@ -619,7 +619,7 @@ private ToolMaterial(int p_i1874_3_, int p_i1874_4_, float p_i1874_5_, float p_i1874_6_, int p_i1874_7_) { this.field_78001_f = p_i1874_3_; -@@ -969,9 +1525,36 @@ +@@ -990,9 +1546,36 @@ return this.field_78008_j; } diff --git a/patches/minecraft/net/minecraft/item/ItemArmor.java.patch b/patches/minecraft/net/minecraft/item/ItemArmor.java.patch index 8559d5846..bcc4033bc 100644 --- a/patches/minecraft/net/minecraft/item/ItemArmor.java.patch +++ b/patches/minecraft/net/minecraft/item/ItemArmor.java.patch @@ -1,15 +1,15 @@ --- ../src-base/minecraft/net/minecraft/item/ItemArmor.java +++ ../src-work/minecraft/net/minecraft/item/ItemArmor.java -@@ -235,6 +235,8 @@ - private final int[] field_78049_g; +@@ -239,6 +239,8 @@ private final int field_78055_h; private final SoundEvent field_185020_j; + private final float field_189417_k; + //Added by forge for custom Armor materials. + public Item customCraftingMaterial = null; - private ArmorMaterial(String p_i46796_3_, int p_i46796_4_, int[] p_i46796_5_, int p_i46796_6_, SoundEvent p_i46796_7_) + private ArmorMaterial(String p_i47117_3_, int p_i47117_4_, int[] p_i47117_5_, int p_i47117_6_, SoundEvent p_i47117_7_, float p_i47117_8_) { -@@ -267,7 +269,15 @@ +@@ -272,7 +274,15 @@ public Item func_151685_b() { diff --git a/patches/minecraft/net/minecraft/item/ItemBlock.java.patch b/patches/minecraft/net/minecraft/item/ItemBlock.java.patch index 32dc0c168..fce484e64 100644 --- a/patches/minecraft/net/minecraft/item/ItemBlock.java.patch +++ b/patches/minecraft/net/minecraft/item/ItemBlock.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/item/ItemBlock.java +++ ../src-work/minecraft/net/minecraft/item/ItemBlock.java -@@ -50,16 +50,8 @@ +@@ -51,16 +51,8 @@ int i = this.func_77647_b(p_180614_1_.func_77960_j()); IBlockState iblockstate1 = this.field_150939_a.func_180642_a(p_180614_3_, p_180614_4_, p_180614_6_, p_180614_7_, p_180614_8_, p_180614_9_, i, p_180614_2_); diff --git a/patches/minecraft/net/minecraft/item/ItemBow.java.patch b/patches/minecraft/net/minecraft/item/ItemBow.java.patch index f8f76a314..ffd7dfdc2 100644 --- a/patches/minecraft/net/minecraft/item/ItemBow.java.patch +++ b/patches/minecraft/net/minecraft/item/ItemBow.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/item/ItemBow.java +++ ../src-work/minecraft/net/minecraft/item/ItemBow.java -@@ -90,6 +90,10 @@ +@@ -91,6 +91,10 @@ boolean flag = entityplayer.field_71075_bZ.field_75098_d || EnchantmentHelper.func_77506_a(Enchantments.field_185312_x, p_77615_1_) > 0; ItemStack itemstack = this.func_185060_a(entityplayer); @@ -11,7 +11,7 @@ if (itemstack != null || flag) { if (itemstack == null) -@@ -97,12 +101,11 @@ +@@ -98,12 +102,11 @@ itemstack = new ItemStack(Items.field_151032_g); } @@ -25,7 +25,7 @@ if (!p_77615_2_.field_72995_K) { -@@ -189,6 +192,9 @@ +@@ -190,6 +193,9 @@ { boolean flag = this.func_185060_a(p_77659_3_) != null; diff --git a/patches/minecraft/net/minecraft/item/ItemBucket.java.patch b/patches/minecraft/net/minecraft/item/ItemBucket.java.patch index 344645f97..7ae0a9410 100644 --- a/patches/minecraft/net/minecraft/item/ItemBucket.java.patch +++ b/patches/minecraft/net/minecraft/item/ItemBucket.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/item/ItemBucket.java +++ ../src-work/minecraft/net/minecraft/item/ItemBucket.java -@@ -36,6 +36,8 @@ +@@ -37,6 +37,8 @@ { boolean flag = this.field_77876_a == Blocks.field_150350_a; RayTraceResult raytraceresult = this.func_77621_a(p_77659_2_, p_77659_3_, flag); diff --git a/patches/minecraft/net/minecraft/item/ItemBucketMilk.java.patch b/patches/minecraft/net/minecraft/item/ItemBucketMilk.java.patch index 3420e5327..1bb9a073a 100644 --- a/patches/minecraft/net/minecraft/item/ItemBucketMilk.java.patch +++ b/patches/minecraft/net/minecraft/item/ItemBucketMilk.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/item/ItemBucketMilk.java +++ ../src-work/minecraft/net/minecraft/item/ItemBucketMilk.java -@@ -27,7 +27,7 @@ +@@ -29,7 +29,7 @@ if (!p_77654_2_.field_72995_K) { diff --git a/patches/minecraft/net/minecraft/item/ItemDye.java.patch b/patches/minecraft/net/minecraft/item/ItemDye.java.patch index 4ed0d3e9f..29435d3a4 100644 --- a/patches/minecraft/net/minecraft/item/ItemDye.java.patch +++ b/patches/minecraft/net/minecraft/item/ItemDye.java.patch @@ -9,45 +9,25 @@ { if (!p_180614_3_.field_72995_K) { -@@ -97,22 +97,32 @@ +@@ -97,8 +97,18 @@ public static boolean func_179234_a(ItemStack p_179234_0_, World p_179234_1_, BlockPos p_179234_2_) { -- IBlockState iblockstate = p_179234_1_.func_180495_p(p_179234_2_); + if (p_179234_1_ instanceof net.minecraft.world.WorldServer) + return applyBonemeal(p_179234_0_, p_179234_1_, p_179234_2_, net.minecraftforge.common.util.FakePlayerFactory.getMinecraft((net.minecraft.world.WorldServer)p_179234_1_)); + return false; + } - -+ public static boolean applyBonemeal(ItemStack stack, World worldIn, BlockPos target, EntityPlayer player) -+ { -+ IBlockState iblockstate = worldIn.func_180495_p(target); + -+ int hook = net.minecraftforge.event.ForgeEventFactory.onApplyBonemeal(player, worldIn, target, iblockstate, stack); ++ public static boolean applyBonemeal(ItemStack p_179234_0_, World p_179234_1_, BlockPos p_179234_2_, EntityPlayer player) ++ { + IBlockState iblockstate = p_179234_1_.func_180495_p(p_179234_2_); + ++ int hook = net.minecraftforge.event.ForgeEventFactory.onApplyBonemeal(player, p_179234_1_, p_179234_2_, iblockstate, p_179234_0_); + if (hook != 0) return hook > 0; + if (iblockstate.func_177230_c() instanceof IGrowable) { IGrowable igrowable = (IGrowable)iblockstate.func_177230_c(); - -- if (igrowable.func_176473_a(p_179234_1_, p_179234_2_, iblockstate, p_179234_1_.field_72995_K)) -+ if (igrowable.func_176473_a(worldIn, target, iblockstate, worldIn.field_72995_K)) - { -- if (!p_179234_1_.field_72995_K) -+ if (!worldIn.field_72995_K) - { -- if (igrowable.func_180670_a(p_179234_1_, p_179234_1_.field_73012_v, p_179234_2_, iblockstate)) -+ if (igrowable.func_180670_a(worldIn, worldIn.field_73012_v, target, iblockstate)) - { -- igrowable.func_176474_b(p_179234_1_, p_179234_1_.field_73012_v, p_179234_2_, iblockstate); -+ igrowable.func_176474_b(worldIn, worldIn.field_73012_v, target, iblockstate); - } - -- --p_179234_0_.field_77994_a; -+ --stack.field_77994_a; - } - - return true; @@ -142,6 +152,16 @@ p_180617_0_.func_175688_a(EnumParticleTypes.VILLAGER_HAPPY, (double)((float)p_180617_1_.func_177958_n() + field_77697_d.nextFloat()), (double)p_180617_1_.func_177956_o() + (double)field_77697_d.nextFloat() * iblockstate.func_185900_c(p_180617_0_, p_180617_1_).field_72337_e, (double)((float)p_180617_1_.func_177952_p() + field_77697_d.nextFloat()), d0, d1, d2, new int[0]); } diff --git a/patches/minecraft/net/minecraft/item/ItemMap.java.patch b/patches/minecraft/net/minecraft/item/ItemMap.java.patch index 81579ba0e..598de6180 100644 --- a/patches/minecraft/net/minecraft/item/ItemMap.java.patch +++ b/patches/minecraft/net/minecraft/item/ItemMap.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/item/ItemMap.java +++ ../src-work/minecraft/net/minecraft/item/ItemMap.java -@@ -57,7 +57,7 @@ +@@ -58,7 +58,7 @@ mapdata = new MapData(s); mapdata.field_76197_d = 3; mapdata.func_176054_a((double)p_77873_2_.func_72912_H().func_76079_c(), (double)p_77873_2_.func_72912_H().func_76074_e(), mapdata.field_76197_d); @@ -9,7 +9,7 @@ mapdata.func_76185_a(); p_77873_2_.func_72823_a(s, mapdata); } -@@ -67,7 +67,7 @@ +@@ -68,7 +68,7 @@ public void func_77872_a(World p_77872_1_, Entity p_77872_2_, MapData p_77872_3_) { diff --git a/patches/minecraft/net/minecraft/item/ItemMonsterPlacer.java.patch b/patches/minecraft/net/minecraft/item/ItemMonsterPlacer.java.patch index 04e7c10df..706719598 100644 --- a/patches/minecraft/net/minecraft/item/ItemMonsterPlacer.java.patch +++ b/patches/minecraft/net/minecraft/item/ItemMonsterPlacer.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/item/ItemMonsterPlacer.java +++ ../src-work/minecraft/net/minecraft/item/ItemMonsterPlacer.java -@@ -88,7 +88,7 @@ +@@ -89,7 +89,7 @@ p_180614_4_ = p_180614_4_.func_177972_a(p_180614_6_); double d0 = 0.0D; @@ -8,23 +8,4 @@ + if (p_180614_6_ == EnumFacing.UP && iblockstate.func_177230_c() instanceof BlockFence) //Forge: Fix Vanilla bug comparing state instead of block { d0 = 0.5D; - } -@@ -195,15 +195,15 @@ - } - } - -- public static Entity func_77840_a(World p_77840_0_, String p_77840_1_, double p_77840_2_, double p_77840_4_, double p_77840_6_) -+ public static Entity func_77840_a(World p_77840_0_, String name, double p_77840_2_, double p_77840_4_, double p_77840_6_) - { -- if (p_77840_1_ != null && EntityList.field_75627_a.containsKey(p_77840_1_)) -+ if (name != null && EntityList.field_75627_a.containsKey(name)) - { - Entity entity = null; - - for (int i = 0; i < 1; ++i) - { -- entity = EntityList.func_188429_b(p_77840_1_, p_77840_0_); -+ entity = EntityList.func_188429_b(name, p_77840_0_); - - if (entity instanceof EntityLivingBase) - { + } \ No newline at end of file diff --git a/patches/minecraft/net/minecraft/item/ItemRecord.java.patch b/patches/minecraft/net/minecraft/item/ItemRecord.java.patch index 16e050b5b..ae10bcd67 100644 --- a/patches/minecraft/net/minecraft/item/ItemRecord.java.patch +++ b/patches/minecraft/net/minecraft/item/ItemRecord.java.patch @@ -1,7 +1,7 @@ --- ../src-base/minecraft/net/minecraft/item/ItemRecord.java +++ ../src-work/minecraft/net/minecraft/item/ItemRecord.java -@@ -73,6 +73,17 @@ - return EnumRarity.RARE; +@@ -63,6 +63,17 @@ + p_77624_3_.add(this.func_150927_i()); } + /** @@ -16,5 +16,5 @@ + } + @SideOnly(Side.CLIENT) - public static ItemRecord func_185074_a(SoundEvent p_185074_0_) + public String func_150927_i() { diff --git a/patches/minecraft/net/minecraft/item/ItemStack.java.patch b/patches/minecraft/net/minecraft/item/ItemStack.java.patch index f7f888960..39a3c359c 100644 --- a/patches/minecraft/net/minecraft/item/ItemStack.java.patch +++ b/patches/minecraft/net/minecraft/item/ItemStack.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/item/ItemStack.java +++ ../src-work/minecraft/net/minecraft/item/ItemStack.java -@@ -41,7 +41,7 @@ +@@ -42,7 +42,7 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -9,7 +9,7 @@ { public static final DecimalFormat field_111284_a = new DecimalFormat("#.##"); public int field_77994_a; -@@ -55,6 +55,10 @@ +@@ -56,6 +56,10 @@ private Block field_179550_j; private boolean field_179551_k; @@ -20,7 +20,7 @@ public ItemStack(Block p_i1876_1_) { this((Block)p_i1876_1_, 1); -@@ -80,13 +84,15 @@ +@@ -81,13 +85,15 @@ this((Item)p_i1880_1_, p_i1880_2_, 0); } @@ -38,7 +38,7 @@ this.field_77994_a = p_i1881_2_; this.field_77991_e = p_i1881_3_; -@@ -114,7 +120,7 @@ +@@ -115,7 +121,7 @@ public ItemStack func_77979_a(int p_77979_1_) { p_77979_1_ = Math.min(p_77979_1_, this.field_77994_a); @@ -47,7 +47,7 @@ if (this.field_77990_d != null) { -@@ -127,11 +133,12 @@ +@@ -128,11 +134,12 @@ public Item func_77973_b() { @@ -61,7 +61,7 @@ EnumActionResult enumactionresult = this.func_77973_b().func_180614_a(this, p_179546_1_, p_179546_2_, p_179546_3_, p_179546_4_, p_179546_5_, p_179546_6_, p_179546_7_, p_179546_8_); if (enumactionresult == EnumActionResult.SUCCESS) -@@ -169,12 +176,16 @@ +@@ -171,12 +178,16 @@ p_77955_1_.func_74782_a("tag", this.field_77990_d); } @@ -79,7 +79,7 @@ this.field_77994_a = p_77963_1_.func_74771_c("Count"); this.field_77991_e = p_77963_1_.func_74765_d("Damage"); -@@ -196,7 +207,7 @@ +@@ -198,7 +209,7 @@ public int func_77976_d() { @@ -88,7 +88,7 @@ } public boolean func_77985_e() -@@ -206,7 +217,7 @@ +@@ -208,7 +219,7 @@ public boolean func_77984_f() { @@ -97,7 +97,7 @@ } public boolean func_77981_g() -@@ -216,32 +227,27 @@ +@@ -218,32 +229,27 @@ public boolean func_77951_h() { @@ -135,7 +135,7 @@ } public boolean func_96631_a(int p_96631_1_, Random p_96631_2_) -@@ -273,8 +279,8 @@ +@@ -275,8 +281,8 @@ } } @@ -146,7 +146,7 @@ } } -@@ -328,7 +334,7 @@ +@@ -330,7 +336,7 @@ public boolean func_150998_b(IBlockState p_150998_1_) { @@ -155,7 +155,7 @@ } public boolean func_111282_a(EntityPlayer p_111282_1_, EntityLivingBase p_111282_2_, EnumHand p_111282_3_) -@@ -338,7 +344,7 @@ +@@ -340,7 +346,7 @@ public ItemStack func_77946_l() { @@ -164,7 +164,7 @@ if (this.field_77990_d != null) { -@@ -759,6 +765,7 @@ +@@ -762,6 +768,7 @@ } } @@ -172,7 +172,7 @@ return list; } -@@ -869,7 +876,7 @@ +@@ -873,7 +880,7 @@ } else { @@ -181,8 +181,8 @@ } return multimap; -@@ -901,6 +908,18 @@ - +@@ -906,6 +913,18 @@ + @Deprecated public void func_150996_a(Item p_150996_1_) { + if (p_150996_1_ == this.field_151002_e && field_151002_e != null && this.capabilities != null) //Item Didn't change but refreshed @@ -200,7 +200,7 @@ this.field_151002_e = p_150996_1_; } -@@ -987,4 +1006,26 @@ +@@ -991,4 +1010,26 @@ return false; } } diff --git a/patches/minecraft/net/minecraft/item/crafting/FurnaceRecipes.java.patch b/patches/minecraft/net/minecraft/item/crafting/FurnaceRecipes.java.patch index 0d6a291aa..fdeca6c9c 100644 --- a/patches/minecraft/net/minecraft/item/crafting/FurnaceRecipes.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/FurnaceRecipes.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/item/crafting/FurnaceRecipes.java +++ ../src-work/minecraft/net/minecraft/item/crafting/FurnaceRecipes.java -@@ -73,6 +73,7 @@ +@@ -74,6 +74,7 @@ public void func_151394_a(ItemStack p_151394_1_, ItemStack p_151394_2_, float p_151394_3_) { @@ -8,7 +8,7 @@ this.field_77604_b.put(p_151394_1_, p_151394_2_); this.field_77605_c.put(p_151394_2_, Float.valueOf(p_151394_3_)); } -@@ -102,6 +103,9 @@ +@@ -104,6 +105,9 @@ public float func_151398_b(ItemStack p_151398_1_) { diff --git a/patches/minecraft/net/minecraft/item/crafting/RecipeFireworks.java.patch b/patches/minecraft/net/minecraft/item/crafting/RecipeFireworks.java.patch index 4db989adf..d11fff671 100644 --- a/patches/minecraft/net/minecraft/item/crafting/RecipeFireworks.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/RecipeFireworks.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/item/crafting/RecipeFireworks.java +++ ../src-work/minecraft/net/minecraft/item/crafting/RecipeFireworks.java -@@ -86,9 +86,9 @@ +@@ -87,9 +87,9 @@ { this.field_92102_a = new ItemStack(Items.field_151152_bP); @@ -11,7 +11,7 @@ NBTTagCompound nbttagcompound3 = new NBTTagCompound(); NBTTagList nbttaglist = new NBTTagList(); -@@ -105,9 +105,9 @@ +@@ -106,9 +106,9 @@ nbttagcompound3.func_74782_a("Explosions", nbttaglist); nbttagcompound3.func_74774_a("Flight", (byte)j); nbttagcompound1.func_74782_a("Fireworks", nbttagcompound3); @@ -22,7 +22,7 @@ return true; } else if (j == 1 && i == 0 && l == 0 && k > 0 && j1 <= 1) -@@ -249,11 +249,7 @@ +@@ -252,11 +252,7 @@ for (int i = 0; i < aitemstack.length; ++i) { ItemStack itemstack = p_179532_1_.func_70301_a(i); diff --git a/patches/minecraft/net/minecraft/item/crafting/RecipeRepairItem.java.patch b/patches/minecraft/net/minecraft/item/crafting/RecipeRepairItem.java.patch index bda702d1b..49a16cc35 100644 --- a/patches/minecraft/net/minecraft/item/crafting/RecipeRepairItem.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/RecipeRepairItem.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/item/crafting/RecipeRepairItem.java +++ ../src-work/minecraft/net/minecraft/item/crafting/RecipeRepairItem.java -@@ -25,7 +25,7 @@ +@@ -26,7 +26,7 @@ { ItemStack itemstack1 = (ItemStack)list.get(0); @@ -9,7 +9,7 @@ { return false; } -@@ -52,7 +52,7 @@ +@@ -54,7 +54,7 @@ { ItemStack itemstack1 = (ItemStack)list.get(0); @@ -18,7 +18,7 @@ { return null; } -@@ -65,7 +65,7 @@ +@@ -67,7 +67,7 @@ ItemStack itemstack2 = (ItemStack)list.get(0); ItemStack itemstack3 = (ItemStack)list.get(1); @@ -27,7 +27,7 @@ { Item item = itemstack2.func_77973_b(); int j = item.func_77612_l() - itemstack2.func_77952_i(); -@@ -102,11 +102,7 @@ +@@ -105,11 +105,7 @@ for (int i = 0; i < aitemstack.length; ++i) { ItemStack itemstack = p_179532_1_.func_70301_a(i); diff --git a/patches/minecraft/net/minecraft/item/crafting/RecipesArmorDyes.java.patch b/patches/minecraft/net/minecraft/item/crafting/RecipesArmorDyes.java.patch index 15ed231ae..e4e23c561 100644 --- a/patches/minecraft/net/minecraft/item/crafting/RecipesArmorDyes.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/RecipesArmorDyes.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/item/crafting/RecipesArmorDyes.java +++ ../src-work/minecraft/net/minecraft/item/crafting/RecipesArmorDyes.java -@@ -146,11 +146,7 @@ +@@ -149,11 +149,7 @@ for (int i = 0; i < aitemstack.length; ++i) { ItemStack itemstack = p_179532_1_.func_70301_a(i); diff --git a/patches/minecraft/net/minecraft/item/crafting/RecipesBanners.java.patch b/patches/minecraft/net/minecraft/item/crafting/RecipesBanners.java.patch index d5afab9c3..8650ce003 100644 --- a/patches/minecraft/net/minecraft/item/crafting/RecipesBanners.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/RecipesBanners.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/item/crafting/RecipesBanners.java +++ ../src-work/minecraft/net/minecraft/item/crafting/RecipesBanners.java -@@ -89,9 +89,10 @@ +@@ -91,9 +91,10 @@ { ItemStack itemstack2 = p_77572_1_.func_70301_a(j); @@ -13,7 +13,7 @@ break; } } -@@ -135,11 +136,7 @@ +@@ -138,11 +139,7 @@ for (int i = 0; i < aitemstack.length; ++i) { ItemStack itemstack = p_179532_1_.func_70301_a(i); @@ -26,7 +26,7 @@ } return aitemstack; -@@ -164,7 +161,7 @@ +@@ -168,7 +165,7 @@ if (itemstack != null && itemstack.func_77973_b() != Items.field_179564_cE) { @@ -35,7 +35,7 @@ { if (flag2) { -@@ -204,7 +201,7 @@ +@@ -208,7 +205,7 @@ if (itemstack1 != null && itemstack1.func_77973_b() != Items.field_179564_cE) { @@ -44,7 +44,7 @@ { flag = false; break; -@@ -245,6 +242,38 @@ +@@ -249,6 +246,38 @@ return null; } @@ -83,7 +83,7 @@ } public static class RecipeDuplicatePattern implements IRecipe -@@ -356,9 +385,9 @@ +@@ -362,9 +391,9 @@ if (itemstack != null) { diff --git a/patches/minecraft/net/minecraft/item/crafting/RecipesMapCloning.java.patch b/patches/minecraft/net/minecraft/item/crafting/RecipesMapCloning.java.patch index b67dc5759..31f2fbe1d 100644 --- a/patches/minecraft/net/minecraft/item/crafting/RecipesMapCloning.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/RecipesMapCloning.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/item/crafting/RecipesMapCloning.java +++ ../src-work/minecraft/net/minecraft/item/crafting/RecipesMapCloning.java -@@ -108,11 +108,7 @@ +@@ -111,11 +111,7 @@ for (int i = 0; i < aitemstack.length; ++i) { ItemStack itemstack = p_179532_1_.func_70301_a(i); diff --git a/patches/minecraft/net/minecraft/item/crafting/ShapedRecipes.java.patch b/patches/minecraft/net/minecraft/item/crafting/ShapedRecipes.java.patch index 1db66a297..e04487d29 100644 --- a/patches/minecraft/net/minecraft/item/crafting/ShapedRecipes.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/ShapedRecipes.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/item/crafting/ShapedRecipes.java +++ ../src-work/minecraft/net/minecraft/item/crafting/ShapedRecipes.java -@@ -33,11 +33,7 @@ +@@ -35,11 +35,7 @@ for (int i = 0; i < aitemstack.length; ++i) { ItemStack itemstack = p_179532_1_.func_70301_a(i); diff --git a/patches/minecraft/net/minecraft/item/crafting/ShapelessRecipes.java.patch b/patches/minecraft/net/minecraft/item/crafting/ShapelessRecipes.java.patch index e2155f198..5cd70c62b 100644 --- a/patches/minecraft/net/minecraft/item/crafting/ShapelessRecipes.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/ShapelessRecipes.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/item/crafting/ShapelessRecipes.java +++ ../src-work/minecraft/net/minecraft/item/crafting/ShapelessRecipes.java -@@ -29,11 +29,7 @@ +@@ -31,11 +31,7 @@ for (int i = 0; i < aitemstack.length; ++i) { ItemStack itemstack = p_179532_1_.func_70301_a(i); diff --git a/patches/minecraft/net/minecraft/nbt/NBTTagCompound.java.patch b/patches/minecraft/net/minecraft/nbt/NBTTagCompound.java.patch index c626278f8..7ce73e17c 100644 --- a/patches/minecraft/net/minecraft/nbt/NBTTagCompound.java.patch +++ b/patches/minecraft/net/minecraft/nbt/NBTTagCompound.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/nbt/NBTTagCompound.java +++ ../src-work/minecraft/net/minecraft/nbt/NBTTagCompound.java -@@ -454,6 +454,7 @@ +@@ -456,6 +456,7 @@ private static byte func_152447_a(DataInput p_152447_0_, NBTSizeTracker p_152447_1_) throws IOException { @@ -8,7 +8,7 @@ return p_152447_0_.readByte(); } -@@ -464,6 +465,7 @@ +@@ -466,6 +467,7 @@ static NBTBase func_152449_a(byte p_152449_0_, String p_152449_1_, DataInput p_152449_2_, int p_152449_3_, NBTSizeTracker p_152449_4_) throws IOException { diff --git a/patches/minecraft/net/minecraft/network/NetworkManager.java.patch b/patches/minecraft/net/minecraft/network/NetworkManager.java.patch index e2a7a2c03..28063a3f7 100644 --- a/patches/minecraft/net/minecraft/network/NetworkManager.java.patch +++ b/patches/minecraft/net/minecraft/network/NetworkManager.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/network/NetworkManager.java +++ ../src-work/minecraft/net/minecraft/network/NetworkManager.java -@@ -89,6 +89,11 @@ +@@ -90,6 +90,11 @@ this.field_179294_g = p_i46004_1_; } @@ -12,7 +12,7 @@ public void channelActive(ChannelHandlerContext p_channelActive_1_) throws Exception { super.channelActive(p_channelActive_1_); -@@ -205,7 +210,7 @@ +@@ -206,7 +211,7 @@ final EnumConnectionState enumconnectionstate = EnumConnectionState.func_150752_a(p_150732_1_); final EnumConnectionState enumconnectionstate1 = (EnumConnectionState)this.field_150746_k.attr(field_150739_c).get(); @@ -21,7 +21,7 @@ { field_150735_g.debug("Disabled auto read"); this.field_150746_k.config().setAutoRead(false); -@@ -213,7 +218,7 @@ +@@ -214,7 +219,7 @@ if (this.field_150746_k.eventLoop().inEventLoop()) { @@ -30,7 +30,7 @@ { this.func_150723_a(enumconnectionstate); } -@@ -233,7 +238,7 @@ +@@ -234,7 +239,7 @@ { public void run() { @@ -39,7 +39,7 @@ { NetworkManager.this.func_150723_a(enumconnectionstate); } -@@ -452,6 +457,11 @@ +@@ -453,6 +458,11 @@ } } diff --git a/patches/minecraft/net/minecraft/potion/Potion.java.patch b/patches/minecraft/net/minecraft/potion/Potion.java.patch index 438c3e5d6..a2671ff10 100644 --- a/patches/minecraft/net/minecraft/potion/Potion.java.patch +++ b/patches/minecraft/net/minecraft/potion/Potion.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/potion/Potion.java +++ ../src-work/minecraft/net/minecraft/potion/Potion.java -@@ -21,9 +21,9 @@ +@@ -22,9 +22,9 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -12,7 +12,7 @@ private final Map field_111188_I = Maps.newHashMap(); private final boolean field_76418_K; private final int field_76414_N; -@@ -195,7 +195,6 @@ +@@ -198,7 +198,6 @@ return this.field_76417_J; } @@ -20,7 +20,7 @@ public boolean func_76398_f() { return this.field_76418_K; -@@ -266,7 +265,61 @@ +@@ -269,7 +268,61 @@ return p_111183_2_.func_111164_d() * (double)(p_111183_1_ + 1); } diff --git a/patches/minecraft/net/minecraft/potion/PotionType.java.patch b/patches/minecraft/net/minecraft/potion/PotionType.java.patch index 43c7e4b7d..56a32b480 100644 --- a/patches/minecraft/net/minecraft/potion/PotionType.java.patch +++ b/patches/minecraft/net/minecraft/potion/PotionType.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/potion/PotionType.java +++ ../src-work/minecraft/net/minecraft/potion/PotionType.java -@@ -8,10 +8,11 @@ +@@ -9,10 +9,11 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; diff --git a/patches/minecraft/net/minecraft/realms/RealmsConnect.java.patch b/patches/minecraft/net/minecraft/realms/RealmsConnect.java.patch index cc6875454..48c2e07a7 100644 --- a/patches/minecraft/net/minecraft/realms/RealmsConnect.java.patch +++ b/patches/minecraft/net/minecraft/realms/RealmsConnect.java.patch @@ -12,8 +12,8 @@ return; } -- RealmsConnect.this.connection.func_179290_a(new C00Handshake(107, p_connect_1_, p_connect_2_, EnumConnectionState.LOGIN)); -+ RealmsConnect.this.connection.func_179290_a(new C00Handshake(107, p_connect_1_, p_connect_2_, EnumConnectionState.LOGIN, true)); +- RealmsConnect.this.connection.func_179290_a(new C00Handshake(110, p_connect_1_, p_connect_2_, EnumConnectionState.LOGIN)); ++ RealmsConnect.this.connection.func_179290_a(new C00Handshake(110, p_connect_1_, p_connect_2_, EnumConnectionState.LOGIN, true)); if (RealmsConnect.this.aborted) { diff --git a/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch b/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch index 213ce818b..b2ee322bb 100644 --- a/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch +++ b/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/server/MinecraftServer.java +++ ../src-work/minecraft/net/minecraft/server/MinecraftServer.java -@@ -100,7 +100,7 @@ +@@ -102,7 +102,7 @@ @SideOnly(Side.SERVER) private String field_71320_r; private int field_71319_s = -1; @@ -9,7 +9,7 @@ private PlayerList field_71318_t; private boolean field_71317_u = true; private boolean field_71316_v; -@@ -117,7 +117,8 @@ +@@ -119,7 +119,8 @@ private int field_71280_D; private int field_143008_E = 0; public final long[] field_71311_j = new long[100]; @@ -19,7 +19,7 @@ private KeyPair field_71292_I; private String field_71293_J; private String field_71294_K; -@@ -215,8 +216,6 @@ +@@ -217,8 +218,6 @@ { this.func_71237_c(p_71247_1_); this.func_71192_d("menu.loadingLevel"); @@ -28,7 +28,7 @@ ISaveHandler isavehandler = this.field_71310_m.func_75804_a(p_71247_1_, true); this.func_175584_a(this.func_71270_I(), isavehandler); WorldInfo worldinfo = isavehandler.func_75757_d(); -@@ -247,47 +246,21 @@ +@@ -249,47 +248,21 @@ worldsettings = new WorldSettings(worldinfo); } @@ -39,7 +39,7 @@ { - int j = 0; + WorldServer world = (dim == 0 ? overWorld : (WorldServer)new WorldServerMulti(this, isavehandler, dim, overWorld, field_71304_b).func_175643_b()); -+ world.func_72954_a(new WorldManager(this, world)); ++ world.func_72954_a(new ServerWorldEventHandler(this, world)); - if (i == 1) - { @@ -69,7 +69,7 @@ - this.field_71305_c[i] = (WorldServer)(new WorldServerMulti(this, isavehandler, j, this.field_71305_c[0], this.field_71304_b)).func_175643_b(); - } - -- this.field_71305_c[i].func_72954_a(new WorldManager(this, this.field_71305_c[i])); +- this.field_71305_c[i].func_72954_a(new ServerWorldEventHandler(this, this.field_71305_c[i])); - if (!this.func_71264_H()) { @@ -84,7 +84,7 @@ this.func_147139_a(this.func_147135_j()); this.func_71222_d(); } -@@ -302,7 +275,7 @@ +@@ -304,7 +277,7 @@ this.func_71192_d("menu.generatingTerrain"); int j1 = 0; field_147145_h.info("Preparing start region for level " + j1); @@ -93,7 +93,7 @@ BlockPos blockpos = worldserver.func_175694_M(); long k1 = func_130071_aq(); -@@ -420,9 +393,15 @@ +@@ -422,9 +395,15 @@ { if (this.field_71305_c[j] != null) { @@ -110,7 +110,7 @@ } if (this.field_71307_n.func_76468_d()) -@@ -447,6 +426,7 @@ +@@ -449,6 +428,7 @@ { if (this.func_71197_b()) { @@ -118,7 +118,7 @@ this.field_175591_ab = func_130071_aq(); long i = 0L; this.field_147147_p.func_151315_a(new TextComponentString(this.field_71286_C)); -@@ -491,12 +471,20 @@ +@@ -493,12 +473,20 @@ Thread.sleep(Math.max(1L, 50L - i)); this.field_71296_Q = true; } @@ -139,7 +139,7 @@ catch (Throwable throwable1) { field_147145_h.error("Encountered an unexpected exception", throwable1); -@@ -522,14 +510,15 @@ +@@ -524,14 +512,15 @@ field_147145_h.error("We were unable to save this crash report to disk."); } @@ -156,7 +156,7 @@ } catch (Throwable throwable) { -@@ -537,6 +526,8 @@ +@@ -539,6 +528,8 @@ } finally { @@ -165,7 +165,7 @@ this.func_71240_o(); } } -@@ -604,6 +595,7 @@ +@@ -606,6 +597,7 @@ public void func_71217_p() { long i = System.nanoTime(); @@ -173,7 +173,7 @@ ++this.field_71315_w; if (this.field_71295_T) -@@ -630,6 +622,7 @@ +@@ -632,6 +624,7 @@ Collections.shuffle(Arrays.asList(agameprofile)); this.field_147147_p.func_151318_b().func_151330_a(agameprofile); @@ -181,7 +181,7 @@ } if (this.field_71315_w % 900 == 0) -@@ -657,6 +650,7 @@ +@@ -659,6 +652,7 @@ this.field_71304_b.func_76319_b(); this.field_71304_b.func_76319_b(); @@ -189,7 +189,7 @@ } public void func_71190_q() -@@ -672,24 +666,28 @@ +@@ -674,24 +668,28 @@ } this.field_71304_b.func_76318_c("levels"); @@ -222,7 +222,7 @@ try { -@@ -713,6 +711,7 @@ +@@ -715,6 +713,7 @@ throw new ReportedException(crashreport1); } @@ -230,7 +230,7 @@ this.field_71304_b.func_76319_b(); this.field_71304_b.func_76320_a("tracker"); worldserver.func_73039_n().func_72788_a(); -@@ -720,9 +719,11 @@ +@@ -722,9 +721,11 @@ this.field_71304_b.func_76319_b(); } @@ -243,7 +243,7 @@ this.field_71304_b.func_76318_c("connection"); this.func_147137_ag().func_151269_c(); this.field_71304_b.func_76318_c("players"); -@@ -744,6 +745,7 @@ +@@ -746,6 +747,7 @@ public void func_71256_s() { @@ -251,7 +251,7 @@ this.field_175590_aa = new Thread(this, "Server thread"); this.field_175590_aa.start(); } -@@ -760,7 +762,13 @@ +@@ -762,7 +764,13 @@ public WorldServer func_71218_a(int p_71218_1_) { @@ -266,7 +266,7 @@ } public String func_71249_w() -@@ -790,7 +798,7 @@ +@@ -792,7 +800,7 @@ public String getServerModName() { diff --git a/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch b/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch index 719172a64..fb8a487b0 100644 --- a/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch +++ b/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/server/dedicated/DedicatedServer.java +++ ../src-work/minecraft/net/minecraft/server/dedicated/DedicatedServer.java -@@ -56,6 +56,7 @@ +@@ -55,6 +55,7 @@ private boolean field_71338_p; private WorldSettings.GameType field_71337_q; private boolean field_71335_s; @@ -8,7 +8,7 @@ public DedicatedServer(File p_i47086_1_, DataFixer p_i47086_2_, YggdrasilAuthenticationService p_i47086_3_, MinecraftSessionService p_i47086_4_, GameProfileRepository p_i47086_5_, PlayerProfileCache p_i47086_6_) { -@@ -89,6 +90,7 @@ +@@ -88,6 +89,7 @@ { public void run() { @@ -16,7 +16,7 @@ BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(System.in)); String s4; -@@ -114,6 +116,8 @@ +@@ -113,6 +115,8 @@ field_155771_h.warn("To start the server with more ram, launch it as \"java -Xmx1024M -Xms1024M -jar minecraft_server.jar\""); } @@ -25,7 +25,7 @@ field_155771_h.info("Loading properties"); this.field_71340_o = new PropertyManager(new File("server.properties")); this.field_154332_n = new ServerEula(new File("eula.txt")); -@@ -205,6 +209,7 @@ +@@ -204,6 +208,7 @@ } else { @@ -33,7 +33,7 @@ this.func_184105_a(new DedicatedPlayerList(this)); long j = System.nanoTime(); -@@ -254,6 +259,7 @@ +@@ -253,6 +258,7 @@ TileEntitySkull.func_184293_a(this.func_152358_ax()); TileEntitySkull.func_184294_a(this.func_147130_as()); PlayerProfileCache.func_187320_a(this.func_71266_T()); @@ -41,7 +41,7 @@ field_155771_h.info("Preparing level \"" + this.func_71270_I() + "\""); this.func_71247_a(this.func_71270_I(), this.func_71270_I(), k, worldtype, s2); long i1 = System.nanoTime() - j; -@@ -282,7 +288,7 @@ +@@ -281,7 +287,7 @@ thread1.start(); } @@ -50,7 +50,7 @@ } } } -@@ -506,7 +512,7 @@ +@@ -505,7 +511,7 @@ public boolean func_175579_a(World p_175579_1_, BlockPos p_175579_2_, EntityPlayer p_175579_3_) { @@ -59,7 +59,7 @@ { return false; } -@@ -580,6 +586,9 @@ +@@ -579,6 +585,9 @@ return this.field_71340_o.func_73669_a("network-compression-threshold", super.func_175577_aI()); } diff --git a/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch b/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch index 473fa124d..43fcd26f7 100644 --- a/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch +++ b/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch @@ -23,7 +23,7 @@ - - if (i == 1) + WorldServer world = (dim == 0 ? overWorld : (WorldServer)(new WorldServerMulti(this, isavehandler, dim, overWorld, this.field_71304_b)).func_175643_b()); -+ world.func_72954_a(new WorldManager(this, world)); ++ world.func_72954_a(new ServerWorldEventHandler(this, world)); + if (!this.func_71264_H()) { - j = -1; @@ -53,7 +53,7 @@ - this.field_71305_c[i] = (WorldServer)(new WorldServerMulti(this, isavehandler, j, this.field_71305_c[0], this.field_71304_b)).func_175643_b(); - } - -- this.field_71305_c[i].func_72954_a(new WorldManager(this, this.field_71305_c[i])); +- this.field_71305_c[i].func_72954_a(new ServerWorldEventHandler(this, this.field_71305_c[i])); + net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.world.WorldEvent.Load(world)); } diff --git a/patches/minecraft/net/minecraft/server/management/PlayerChunkMapEntry.java.patch b/patches/minecraft/net/minecraft/server/management/PlayerChunkMapEntry.java.patch new file mode 100644 index 000000000..443d0d914 --- /dev/null +++ b/patches/minecraft/net/minecraft/server/management/PlayerChunkMapEntry.java.patch @@ -0,0 +1,117 @@ +--- ../src-base/minecraft/net/minecraft/server/management/PlayerChunkMapEntry.java ++++ ../src-work/minecraft/net/minecraft/server/management/PlayerChunkMapEntry.java +@@ -32,12 +32,19 @@ + private int field_187288_h; + private long field_187289_i; + private boolean field_187290_j; ++ private Runnable loadedRunnable = new Runnable() ++ { ++ public void run() ++ { ++ PlayerChunkMapEntry.this.field_187286_f = PlayerChunkMapEntry.this.field_187282_b.func_72688_a().func_72863_F().func_186028_c(PlayerChunkMapEntry.this.field_187284_d.field_77276_a, PlayerChunkMapEntry.this.field_187284_d.field_77275_b); ++ } ++ }; + + public PlayerChunkMapEntry(PlayerChunkMap p_i1518_1_, int p_i1518_2_, int p_i1518_3_) + { + this.field_187282_b = p_i1518_1_; + this.field_187284_d = new ChunkPos(p_i1518_2_, p_i1518_3_); +- this.field_187286_f = p_i1518_1_.func_72688_a().func_72863_F().func_186028_c(p_i1518_2_, p_i1518_3_); ++ p_i1518_1_.func_72688_a().func_72863_F().loadChunk(p_i1518_2_, p_i1518_3_, this.loadedRunnable); + } + + public ChunkPos func_187264_a() +@@ -71,6 +78,20 @@ + { + if (this.field_187283_c.contains(p_187277_1_)) + { ++ // If we haven't loaded yet don't load the chunk just so we can clean it up ++ if (this.field_187286_f == null) ++ { ++ this.field_187283_c.remove(p_187277_1_); ++ ++ if (this.field_187283_c.isEmpty()) ++ { ++ net.minecraftforge.common.chunkio.ChunkIOExecutor.dropQueuedChunkLoad(this.field_187282_b.func_72688_a(), this.field_187284_d.field_77276_a, this.field_187284_d.field_77275_b, this.loadedRunnable); ++ this.field_187282_b.func_187305_b(this); ++ } ++ ++ return; ++ } ++ + if (this.field_187290_j) + { + p_187277_1_.field_71135_a.func_147359_a(new SPacketUnloadChunk(this.field_187284_d.field_77276_a, this.field_187284_d.field_77275_b)); +@@ -78,6 +99,8 @@ + + this.field_187283_c.remove(p_187277_1_); + ++ net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.world.ChunkWatchEvent.UnWatch(this.field_187284_d, p_187277_1_)); ++ + if (this.field_187283_c.isEmpty()) + { + this.field_187282_b.func_187305_b(this); +@@ -167,7 +190,7 @@ + + this.field_187288_h |= 1 << (p_187265_2_ >> 4); + +- if (this.field_187287_g < 64) ++ //Forge; Cache everything, so always run + { + short short1 = (short)(p_187265_1_ << 12 | p_187265_3_ << 8 | p_187265_2_); + +@@ -178,7 +201,8 @@ + return; + } + } +- ++ if (this.field_187287_g == this.field_187285_e.length) ++ this.field_187285_e = java.util.Arrays.copyOf(this.field_187285_e, this.field_187285_e.length << 1); + this.field_187285_e[this.field_187287_g++] = short1; + } + } +@@ -195,6 +219,7 @@ + } + } + ++ @SuppressWarnings("unused") + public void func_187280_d() + { + if (this.field_187290_j && this.field_187286_f != null) +@@ -208,28 +233,32 @@ + int k = (this.field_187285_e[0] >> 8 & 15) + this.field_187284_d.field_77275_b * 16; + BlockPos blockpos = new BlockPos(i, j, k); + this.func_187267_a(new SPacketBlockChange(this.field_187282_b.func_72688_a(), blockpos)); ++ net.minecraft.block.state.IBlockState state = this.field_187282_b.func_72688_a().func_180495_p(blockpos); + +- if (this.field_187282_b.func_72688_a().func_180495_p(blockpos).func_177230_c().func_149716_u()) ++ if (state.func_177230_c().hasTileEntity(state)) + { + this.func_187273_a(this.field_187282_b.func_72688_a().func_175625_s(blockpos)); + } + } +- else if (this.field_187287_g == 64) ++ else if (this.field_187287_g >= net.minecraftforge.common.ForgeModContainer.clumpingThreshold) + { + this.func_187267_a(new SPacketChunkData(this.field_187286_f, this.field_187288_h)); ++ //TODO: FDix Mojang's fuckup to modded by combining all TE data into the chunk data packet... seriously... packet size explosion! + } + else + { + this.func_187267_a(new SPacketMultiBlockChange(this.field_187287_g, this.field_187285_e, this.field_187286_f)); +- ++ //} Keep this in the else until we figure out a fix for mojang's derpitude on the data packet so we don't double send crap. ++ //{// Forge: Send only the tile entities that are updated, Adding this brace lets us keep the indent and the patch small + for (int l = 0; l < this.field_187287_g; ++l) + { + int i1 = (this.field_187285_e[l] >> 12 & 15) + this.field_187284_d.field_77276_a * 16; + int j1 = this.field_187285_e[l] & 255; + int k1 = (this.field_187285_e[l] >> 8 & 15) + this.field_187284_d.field_77275_b * 16; + BlockPos blockpos1 = new BlockPos(i1, j1, k1); ++ net.minecraft.block.state.IBlockState state = this.field_187282_b.func_72688_a().func_180495_p(blockpos1); + +- if (this.field_187282_b.func_72688_a().func_180495_p(blockpos1).func_177230_c().func_149716_u()) ++ if (state.func_177230_c().hasTileEntity(state)) + { + this.func_187273_a(this.field_187282_b.func_72688_a().func_175625_s(blockpos1)); + } diff --git a/patches/minecraft/net/minecraft/server/management/PlayerInteractionManager.java.patch b/patches/minecraft/net/minecraft/server/management/PlayerInteractionManager.java.patch index 623e191d2..830573df1 100644 --- a/patches/minecraft/net/minecraft/server/management/PlayerInteractionManager.java.patch +++ b/patches/minecraft/net/minecraft/server/management/PlayerInteractionManager.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/server/management/PlayerInteractionManager.java +++ ../src-work/minecraft/net/minecraft/server/management/PlayerInteractionManager.java -@@ -27,6 +27,8 @@ +@@ -28,6 +28,8 @@ public class PlayerInteractionManager { @@ -9,7 +9,7 @@ public World field_73092_a; public EntityPlayerMP field_73090_b; private WorldSettings.GameType field_73091_c = WorldSettings.GameType.NOT_SET; -@@ -88,7 +90,7 @@ +@@ -89,7 +91,7 @@ IBlockState iblockstate = this.field_73092_a.func_180495_p(this.field_180241_i); Block block = iblockstate.func_177230_c(); @@ -18,7 +18,7 @@ { this.field_73097_j = false; } -@@ -115,7 +117,7 @@ +@@ -116,7 +118,7 @@ IBlockState iblockstate1 = this.field_73092_a.func_180495_p(this.field_180240_f); Block block1 = iblockstate1.func_177230_c(); @@ -27,7 +27,7 @@ { this.field_73092_a.func_175715_c(this.field_73090_b.func_145782_y(), this.field_180240_f, -1); this.field_73094_o = -1; -@@ -124,7 +126,7 @@ +@@ -125,7 +127,7 @@ else { int k = this.field_73100_i - this.field_73089_e; @@ -36,7 +36,7 @@ int l = (int)(f1 * 10.0F); if (l != this.field_73094_o) -@@ -138,6 +140,15 @@ +@@ -139,6 +141,15 @@ public void func_180784_a(BlockPos p_180784_1_, EnumFacing p_180784_2_) { @@ -52,7 +52,7 @@ if (this.func_73083_d()) { if (!this.field_73092_a.func_175719_a((EntityPlayer)null, p_180784_1_, p_180784_2_)) -@@ -173,17 +184,36 @@ +@@ -174,17 +185,36 @@ } } @@ -93,7 +93,7 @@ { this.func_180237_b(p_180784_1_); } -@@ -205,7 +235,7 @@ +@@ -206,7 +236,7 @@ int i = this.field_73100_i - this.field_73089_e; IBlockState iblockstate = this.field_73092_a.func_180495_p(p_180785_1_); @@ -102,7 +102,7 @@ { float f = iblockstate.func_185903_a(this.field_73090_b, this.field_73090_b.field_70170_p, p_180785_1_) * (float)(i + 1); -@@ -234,13 +264,17 @@ +@@ -235,13 +265,17 @@ private boolean func_180235_c(BlockPos p_180235_1_) { @@ -124,7 +124,7 @@ } return flag; -@@ -248,7 +282,8 @@ +@@ -249,7 +283,8 @@ public boolean func_180237_b(BlockPos p_180237_1_) { @@ -134,7 +134,7 @@ { return false; } -@@ -264,41 +299,22 @@ +@@ -265,41 +300,22 @@ } else { @@ -181,7 +181,7 @@ if (itemstack1 != null) { -@@ -310,12 +326,18 @@ +@@ -311,12 +327,18 @@ } } @@ -200,7 +200,7 @@ return flag1; } } -@@ -333,6 +355,7 @@ +@@ -334,6 +356,7 @@ } else { @@ -208,7 +208,7 @@ int i = p_187250_3_.field_77994_a; int j = p_187250_3_.func_77960_j(); ActionResult actionresult = p_187250_3_.func_77957_a(p_187250_2_, p_187250_1_, p_187250_4_); -@@ -359,6 +382,7 @@ +@@ -360,6 +383,7 @@ if (itemstack.field_77994_a == 0) { p_187250_1_.func_184611_a(p_187250_4_, (ItemStack)null); @@ -216,7 +216,7 @@ } if (!p_187250_1_.func_184587_cr()) -@@ -403,13 +427,26 @@ +@@ -404,13 +428,26 @@ } else { @@ -246,7 +246,7 @@ } } -@@ -429,14 +466,21 @@ +@@ -430,14 +467,21 @@ { int j = p_187251_3_.func_77960_j(); int i = p_187251_3_.field_77994_a; @@ -268,7 +268,7 @@ } } } -@@ -445,4 +489,13 @@ +@@ -446,4 +490,13 @@ { this.field_73092_a = p_73080_1_; } diff --git a/patches/minecraft/net/minecraft/server/management/PlayerList.java.patch b/patches/minecraft/net/minecraft/server/management/PlayerList.java.patch index 0ca5c6ef7..12da4cfaf 100644 --- a/patches/minecraft/net/minecraft/server/management/PlayerList.java.patch +++ b/patches/minecraft/net/minecraft/server/management/PlayerList.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/server/management/PlayerList.java +++ ../src-work/minecraft/net/minecraft/server/management/PlayerList.java -@@ -101,7 +101,7 @@ +@@ -102,7 +102,7 @@ this.field_72405_c = 8; } @@ -9,7 +9,7 @@ { GameProfile gameprofile = p_72355_2_.func_146103_bH(); PlayerProfileCache playerprofilecache = this.field_72400_f.func_152358_ax(); -@@ -110,6 +110,17 @@ +@@ -111,6 +111,17 @@ playerprofilecache.func_152649_a(gameprofile); 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)); @@ -27,7 +27,7 @@ p_72355_2_.field_71134_c.func_73080_a((WorldServer)p_72355_2_.field_70170_p); String s1 = "local"; -@@ -123,8 +134,8 @@ +@@ -124,8 +135,8 @@ WorldInfo worldinfo = worldserver.func_72912_H(); BlockPos blockpos = worldserver.func_175694_M(); this.func_72381_a(p_72355_2_, (EntityPlayerMP)null, worldserver); @@ -38,7 +38,7 @@ nethandlerplayserver.func_147359_a(new SPacketCustomPayload("MC|Brand", (new PacketBuffer(Unpooled.buffer())).func_180714_a(this.func_72365_p().getServerModName()))); nethandlerplayserver.func_147359_a(new SPacketServerDifficulty(worldinfo.func_176130_y(), worldinfo.func_176123_z())); nethandlerplayserver.func_147359_a(new SPacketSpawnPosition(blockpos)); -@@ -213,6 +224,7 @@ +@@ -214,6 +225,7 @@ } p_72355_2_.func_71116_b(); @@ -46,7 +46,7 @@ } protected void func_96456_a(ServerScoreboard p_96456_1_, EntityPlayerMP p_96456_2_) -@@ -302,6 +314,7 @@ +@@ -303,6 +315,7 @@ nbttagcompound1 = this.field_72400_f.func_184110_aI().func_188257_a(FixTypes.PLAYER, nbttagcompound); p_72380_1_.func_70020_e(nbttagcompound1); field_148546_d.debug("loading single player"); @@ -54,7 +54,7 @@ } else { -@@ -311,8 +324,24 @@ +@@ -312,8 +325,24 @@ return nbttagcompound1; } @@ -77,9 +77,9 @@ + if (p_72391_1_.field_71135_a == null) return; + this.field_72412_k.func_75753_a(p_72391_1_); - StatisticsFile statisticsfile = (StatisticsFile)this.field_148547_k.get(p_72391_1_.func_110124_au()); + StatisticsManagerServer statisticsmanagerserver = (StatisticsManagerServer)this.field_148547_k.get(p_72391_1_.func_110124_au()); -@@ -334,6 +363,7 @@ +@@ -335,6 +364,7 @@ p_72377_1_.field_71135_a.func_147359_a(new SPacketPlayerListItem(SPacketPlayerListItem.Action.ADD_PLAYER, new EntityPlayerMP[] {(EntityPlayerMP)this.field_72404_b.get(i)})); } @@ -87,7 +87,7 @@ worldserver.func_72838_d(p_72377_1_); this.func_72375_a(p_72377_1_, (WorldServer)null); } -@@ -345,6 +375,7 @@ +@@ -346,6 +376,7 @@ public void func_72367_e(EntityPlayerMP p_72367_1_) { @@ -95,7 +95,7 @@ WorldServer worldserver = p_72367_1_.func_71121_q(); p_72367_1_.func_71029_a(StatList.field_75947_j); this.func_72391_b(p_72367_1_); -@@ -379,6 +410,7 @@ +@@ -380,6 +411,7 @@ this.field_177454_f.remove(uuid); this.field_148547_k.remove(uuid); } @@ -103,7 +103,7 @@ this.func_148540_a(new SPacketPlayerListItem(SPacketPlayerListItem.Action.REMOVE_PLAYER, new EntityPlayerMP[] {p_72367_1_})); } -@@ -462,13 +494,23 @@ +@@ -463,13 +495,23 @@ public EntityPlayerMP func_72368_a(EntityPlayerMP p_72368_1_, int p_72368_2_, boolean p_72368_3_) { @@ -129,7 +129,7 @@ p_72368_1_.field_71093_bK = p_72368_2_; PlayerInteractionManager playerinteractionmanager; -@@ -484,7 +526,8 @@ +@@ -485,7 +527,8 @@ EntityPlayerMP entityplayermp = new EntityPlayerMP(this.field_72400_f, this.field_72400_f.func_71218_a(p_72368_1_.field_71093_bK), p_72368_1_.func_146103_bH(), playerinteractionmanager); entityplayermp.field_71135_a = p_72368_1_.field_71135_a; entityplayermp.func_71049_a(p_72368_1_, p_72368_3_); @@ -139,7 +139,7 @@ entityplayermp.func_174817_o(p_72368_1_); entityplayermp.func_184819_a(p_72368_1_.func_184591_cq()); -@@ -531,6 +574,7 @@ +@@ -532,6 +575,7 @@ this.field_177454_f.put(entityplayermp.func_110124_au(), entityplayermp); entityplayermp.func_71116_b(); entityplayermp.func_70606_j(entityplayermp.func_110143_aJ()); @@ -147,7 +147,7 @@ return entityplayermp; } -@@ -545,15 +589,20 @@ +@@ -546,15 +590,20 @@ public void func_187242_a(EntityPlayerMP p_187242_1_, int p_187242_2_) { @@ -170,7 +170,7 @@ this.func_72375_a(p_187242_1_, worldserver); p_187242_1_.field_71135_a.func_147364_a(p_187242_1_.field_70165_t, p_187242_1_.field_70163_u, p_187242_1_.field_70161_v, p_187242_1_.field_70177_z, p_187242_1_.field_70125_A); p_187242_1_.field_71134_c.func_73080_a(worldserver1); -@@ -565,17 +614,27 @@ +@@ -566,17 +615,27 @@ { p_187242_1_.field_71135_a.func_147359_a(new SPacketEntityEffect(p_187242_1_.func_145782_y(), potioneffect)); } @@ -201,7 +201,7 @@ { d0 = MathHelper.func_151237_a(d0 / d2, p_82448_4_.func_175723_af().func_177726_b() + 16.0D, p_82448_4_.func_175723_af().func_177728_d() - 16.0D); d1 = MathHelper.func_151237_a(d1 / d2, p_82448_4_.func_175723_af().func_177736_c() + 16.0D, p_82448_4_.func_175723_af().func_177733_e() - 16.0D); -@@ -586,7 +645,7 @@ +@@ -587,7 +646,7 @@ p_82448_3_.func_72866_a(p_82448_1_, false); } } @@ -210,7 +210,7 @@ { d0 = MathHelper.func_151237_a(d0 * d2, p_82448_4_.func_175723_af().func_177726_b() + 16.0D, p_82448_4_.func_175723_af().func_177728_d() - 16.0D); d1 = MathHelper.func_151237_a(d1 * d2, p_82448_4_.func_175723_af().func_177736_c() + 16.0D, p_82448_4_.func_175723_af().func_177733_e() - 16.0D); -@@ -597,7 +656,8 @@ +@@ -598,7 +657,8 @@ p_82448_3_.func_72866_a(p_82448_1_, false); } } @@ -220,7 +220,7 @@ { BlockPos blockpos; -@@ -632,7 +692,7 @@ +@@ -633,7 +693,7 @@ if (p_82448_1_.func_70089_S()) { p_82448_1_.func_70012_b(d0, p_82448_1_.field_70163_u, d1, p_82448_1_.field_70177_z, p_82448_1_.field_70125_A); diff --git a/patches/minecraft/net/minecraft/server/management/PlayerManager.java.patch b/patches/minecraft/net/minecraft/server/management/PlayerManager.java.patch deleted file mode 100644 index 7340a0b5a..000000000 --- a/patches/minecraft/net/minecraft/server/management/PlayerManager.java.patch +++ /dev/null @@ -1,121 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/server/management/PlayerManager.java -+++ ../src-work/minecraft/net/minecraft/server/management/PlayerManager.java -@@ -468,11 +468,18 @@ - private int field_187288_h; - private long field_187289_i; - private boolean field_187290_j; -+ private Runnable loadedRunnable = new Runnable() -+ { -+ public void run() -+ { -+ PlayerInstance.this.field_187286_f = PlayerManager.this.func_72688_a().func_72863_F().func_186028_c(PlayerInstance.this.field_187284_d.field_77276_a, PlayerInstance.this.field_187284_d.field_77275_b); -+ } -+ }; - - public PlayerInstance(int p_i1518_2_, int p_i1518_3_) - { - this.field_187284_d = new ChunkCoordIntPair(p_i1518_2_, p_i1518_3_); -- this.field_187286_f = PlayerManager.this.func_72688_a().func_72863_F().func_186028_c(p_i1518_2_, p_i1518_3_); -+ PlayerManager.this.func_72688_a().func_72863_F().loadChunk(p_i1518_2_, p_i1518_3_, this.loadedRunnable); - } - - public ChunkCoordIntPair func_187264_a() -@@ -506,6 +513,20 @@ - { - if (this.field_187283_c.contains(p_187277_1_)) - { -+ // If we haven't loaded yet don't load the chunk just so we can clean it up -+ if (this.field_187286_f == null) -+ { -+ this.field_187283_c.remove(p_187277_1_); -+ -+ if (this.field_187283_c.isEmpty()) -+ { -+ net.minecraftforge.common.chunkio.ChunkIOExecutor.dropQueuedChunkLoad(PlayerManager.this.func_72688_a(), this.field_187284_d.field_77276_a, this.field_187284_d.field_77275_b, this.loadedRunnable); -+ PlayerManager.this.func_187305_b(this); -+ } -+ -+ return; -+ } -+ - if (this.field_187290_j) - { - p_187277_1_.field_71135_a.func_147359_a(new SPacketUnloadChunk(this.field_187284_d.field_77276_a, this.field_187284_d.field_77275_b)); -@@ -513,6 +534,8 @@ - - this.field_187283_c.remove(p_187277_1_); - -+ net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.world.ChunkWatchEvent.UnWatch(this.field_187284_d, p_187277_1_)); -+ - if (this.field_187283_c.isEmpty()) - { - PlayerManager.this.func_187305_b(this); -@@ -625,7 +648,7 @@ - - this.field_187288_h |= 1 << (p_187265_2_ >> 4); - -- if (this.field_187287_g < 64) -+ //Forge; Cache everything, so always run - { - short short1 = (short)(p_187265_1_ << 12 | p_187265_3_ << 8 | p_187265_2_); - -@@ -637,6 +660,8 @@ - } - } - -+ if (this.field_187287_g == this.field_187285_e.length) -+ this.field_187285_e = java.util.Arrays.copyOf(this.field_187285_e, this.field_187285_e.length << 1); - this.field_187285_e[this.field_187287_g++] = short1; - } - } -@@ -653,6 +678,7 @@ - } - } - -+ @SuppressWarnings("unused") - public void func_187280_d() - { - if (this.field_187290_j && this.field_187286_f != null) -@@ -666,18 +692,20 @@ - int k = (this.field_187285_e[0] >> 8 & 15) + this.field_187284_d.field_77275_b * 16; - BlockPos blockpos = new BlockPos(i, j, k); - this.func_187267_a(new SPacketBlockChange(PlayerManager.this.func_72688_a(), blockpos)); -+ net.minecraft.block.state.IBlockState state = PlayerManager.this.func_72688_a().func_180495_p(blockpos); - -- if (PlayerManager.this.func_72688_a().func_180495_p(blockpos).func_177230_c().func_149716_u()) -+ if (state.func_177230_c().hasTileEntity(state)) - { - this.func_187273_a(PlayerManager.this.func_72688_a().func_175625_s(blockpos)); - } - } -- else if (this.field_187287_g == 64) -+ else if (this.field_187287_g >= net.minecraftforge.common.ForgeModContainer.clumpingThreshold) - { - int i1 = this.field_187284_d.field_77276_a * 16; - int k1 = this.field_187284_d.field_77275_b * 16; - this.func_187267_a(new SPacketChunkData(this.field_187286_f, false, this.field_187288_h)); - -+ if (false) // Forge: Grabs ALL the tile entities, costly on a modded server, only send needed ones - for (int i2 = 0; i2 < 16; ++i2) - { - if ((this.field_187288_h & 1 << i2) != 0) -@@ -695,15 +723,17 @@ - else - { - this.func_187267_a(new SPacketMultiBlockChange(this.field_187287_g, this.field_187285_e, this.field_187286_f)); -- -+ } -+ { // Forge: Send only the tile entities that are updated, Adding this brace lets us keep the indent and the patch small - for (int j1 = 0; j1 < this.field_187287_g; ++j1) - { - int l1 = (this.field_187285_e[j1] >> 12 & 15) + this.field_187284_d.field_77276_a * 16; - int j2 = this.field_187285_e[j1] & 255; - int l2 = (this.field_187285_e[j1] >> 8 & 15) + this.field_187284_d.field_77275_b * 16; - BlockPos blockpos1 = new BlockPos(l1, j2, l2); -+ net.minecraft.block.state.IBlockState state = PlayerManager.this.func_72688_a().func_180495_p(blockpos1); - -- if (PlayerManager.this.func_72688_a().func_180495_p(blockpos1).func_177230_c().func_149716_u()) -+ if (state.func_177230_c().hasTileEntity(state)) - { - this.func_187273_a(PlayerManager.this.func_72688_a().func_175625_s(blockpos1)); - } diff --git a/patches/minecraft/net/minecraft/stats/StatList.java.patch b/patches/minecraft/net/minecraft/stats/StatList.java.patch index 8eca04494..1efa70d8f 100644 --- a/patches/minecraft/net/minecraft/stats/StatList.java.patch +++ b/patches/minecraft/net/minecraft/stats/StatList.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/stats/StatList.java +++ ../src-work/minecraft/net/minecraft/stats/StatList.java -@@ -155,7 +155,7 @@ +@@ -162,7 +162,7 @@ } } @@ -9,7 +9,7 @@ } private static void func_151181_c() -@@ -177,7 +177,7 @@ +@@ -184,7 +184,7 @@ } } @@ -18,7 +18,7 @@ } private static void func_75925_c() -@@ -201,7 +201,7 @@ +@@ -208,7 +208,7 @@ } } @@ -27,7 +27,7 @@ } private static void func_151179_e() -@@ -220,7 +220,7 @@ +@@ -227,7 +227,7 @@ } } @@ -36,7 +36,7 @@ } private static void func_188054_f() -@@ -240,7 +240,7 @@ +@@ -247,7 +247,7 @@ } } @@ -45,7 +45,7 @@ } private static String func_180204_a(Item p_180204_0_) -@@ -249,28 +249,35 @@ +@@ -256,28 +256,35 @@ return resourcelocation != null ? resourcelocation.toString().replace(':', '.') : null; } diff --git a/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch b/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch index 8e771c709..67eb002d6 100644 --- a/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch @@ -17,30 +17,30 @@ + if (this.capabilities != null && p_145839_1_.func_74764_b("ForgeCaps")) this.capabilities.deserializeNBT(p_145839_1_.func_74775_l("ForgeCaps")); } - public void func_145841_b(NBTTagCompound p_145841_1_) -@@ -76,6 +78,8 @@ - p_145841_1_.func_74768_a("x", this.field_174879_c.func_177958_n()); - p_145841_1_.func_74768_a("y", this.field_174879_c.func_177956_o()); - p_145841_1_.func_74768_a("z", this.field_174879_c.func_177952_p()); -+ if (this.customTileData != null) p_145841_1_.func_74782_a("ForgeData", this.customTileData); -+ if (this.capabilities != null) p_145841_1_.func_74782_a("ForgeCaps", this.capabilities.serializeNBT()); + public NBTTagCompound func_189515_b(NBTTagCompound p_189515_1_) +@@ -81,6 +83,8 @@ + p_189516_1_.func_74768_a("x", this.field_174879_c.func_177958_n()); + p_189516_1_.func_74768_a("y", this.field_174879_c.func_177956_o()); + p_189516_1_.func_74768_a("z", this.field_174879_c.func_177952_p()); ++ if (this.customTileData != null) p_189516_1_.func_74782_a("ForgeData", this.customTileData); ++ if (this.capabilities != null) p_189516_1_.func_74782_a("ForgeCaps", this.capabilities.serializeNBT()); + return p_189516_1_; } } - -@@ -83,10 +87,11 @@ +@@ -89,10 +93,11 @@ { TileEntity tileentity = null; - String s = p_184246_1_.func_74779_i("id"); + String s = p_189514_0_.func_74779_i("id"); + Class oclass = null; try { - Class oclass = (Class)field_145855_i.get(s); -+ oclass = (Class)field_145855_i.get(s); ++ oclass = field_145855_i.get(s); if (oclass != null) { -@@ -96,6 +101,9 @@ +@@ -102,6 +107,9 @@ catch (Throwable throwable1) { field_145852_a.error("Failed to create block entity " + s, throwable1); @@ -50,7 +50,7 @@ } if (tileentity != null) -@@ -107,6 +115,9 @@ +@@ -113,6 +121,9 @@ catch (Throwable throwable) { field_145852_a.error("Failed to load data for block entity " + s, throwable); @@ -60,7 +60,7 @@ tileentity = null; } } -@@ -144,7 +155,6 @@ +@@ -150,7 +161,6 @@ } } @@ -68,7 +68,7 @@ public double func_145835_a(double p_145835_1_, double p_145835_3_, double p_145835_5_) { double d0 = (double)this.field_174879_c.func_177958_n() + 0.5D - p_145835_1_; -@@ -271,6 +281,186 @@ +@@ -283,6 +293,186 @@ return false; } @@ -248,7 +248,7 @@ + public NBTTagCompound serializeNBT() + { + NBTTagCompound ret = new NBTTagCompound(); -+ this.func_145841_b(ret); ++ this.func_189515_b(ret); + return ret; + } + diff --git a/patches/minecraft/net/minecraft/tileentity/TileEntityBeacon.java.patch b/patches/minecraft/net/minecraft/tileentity/TileEntityBeacon.java.patch index 6ba50bb6f..0e6710dac 100644 --- a/patches/minecraft/net/minecraft/tileentity/TileEntityBeacon.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/TileEntityBeacon.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/tileentity/TileEntityBeacon.java +++ ../src-work/minecraft/net/minecraft/tileentity/TileEntityBeacon.java -@@ -179,7 +179,7 @@ +@@ -181,7 +181,7 @@ { Block block = this.field_145850_b.func_180495_p(new BlockPos(j1, i2, k1)).func_177230_c(); @@ -9,7 +9,7 @@ { flag1 = false; break; -@@ -371,7 +371,7 @@ +@@ -382,7 +382,7 @@ public boolean func_94041_b(int p_94041_1_, ItemStack p_94041_2_) { diff --git a/patches/minecraft/net/minecraft/tileentity/TileEntityBrewingStand.java.patch b/patches/minecraft/net/minecraft/tileentity/TileEntityBrewingStand.java.patch index bba76fd60..ffeea5eb0 100644 --- a/patches/minecraft/net/minecraft/tileentity/TileEntityBrewingStand.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/TileEntityBrewingStand.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/tileentity/TileEntityBrewingStand.java +++ ../src-work/minecraft/net/minecraft/tileentity/TileEntityBrewingStand.java -@@ -140,7 +140,7 @@ +@@ -141,7 +141,7 @@ private boolean func_145934_k() { @@ -9,7 +9,7 @@ { ItemStack itemstack = this.field_145945_j[3]; -@@ -165,25 +165,23 @@ +@@ -166,25 +166,23 @@ } else { @@ -40,7 +40,7 @@ if (itemstack.field_77994_a <= 0) { -@@ -202,6 +200,7 @@ +@@ -203,6 +201,7 @@ this.field_145945_j[3] = itemstack; this.field_145850_b.func_175718_b(1035, blockpos, 0); @@ -48,7 +48,7 @@ } public void func_145839_a(NBTTagCompound p_145839_1_) -@@ -303,12 +302,12 @@ +@@ -308,12 +307,12 @@ { if (p_94041_1_ == 3) { @@ -63,7 +63,7 @@ } } -@@ -362,6 +361,21 @@ +@@ -367,6 +366,21 @@ } } diff --git a/patches/minecraft/net/minecraft/tileentity/TileEntityChest.java.patch b/patches/minecraft/net/minecraft/tileentity/TileEntityChest.java.patch index d7766de5e..9aa186e5f 100644 --- a/patches/minecraft/net/minecraft/tileentity/TileEntityChest.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/TileEntityChest.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/tileentity/TileEntityChest.java +++ ../src-work/minecraft/net/minecraft/tileentity/TileEntityChest.java -@@ -171,6 +171,7 @@ +@@ -176,6 +176,7 @@ { super.func_145836_u(); this.field_145984_a = false; @@ -8,10 +8,11 @@ } @SuppressWarnings("incomplete-switch") -@@ -457,6 +458,27 @@ +@@ -462,4 +463,26 @@ + this.field_145985_p[i] = null; } } - ++ + public net.minecraftforge.items.VanillaDoubleChestItemHandler doubleChestHandler; + + @SuppressWarnings("unchecked") @@ -33,6 +34,4 @@ + return super.getCapability(net.minecraftforge.items.CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); + } + - public void func_184287_a(ResourceLocation p_184287_1_, long p_184287_2_) - { - this.field_184284_m = p_184287_1_; + } diff --git a/patches/minecraft/net/minecraft/tileentity/TileEntityFurnace.java.patch b/patches/minecraft/net/minecraft/tileentity/TileEntityFurnace.java.patch index 41e782be4..4a601515d 100644 --- a/patches/minecraft/net/minecraft/tileentity/TileEntityFurnace.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/TileEntityFurnace.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/tileentity/TileEntityFurnace.java +++ ../src-work/minecraft/net/minecraft/tileentity/TileEntityFurnace.java -@@ -110,9 +110,9 @@ +@@ -114,9 +114,9 @@ } } @@ -13,20 +13,20 @@ this.field_145963_i = func_145952_a(this.field_145957_n[1]); if (p_145839_1_.func_150297_b("CustomName", 8)) -@@ -124,9 +124,9 @@ - public void func_145841_b(NBTTagCompound p_145841_1_) +@@ -128,9 +128,9 @@ + public NBTTagCompound func_189515_b(NBTTagCompound p_189515_1_) { - super.func_145841_b(p_145841_1_); -- p_145841_1_.func_74777_a("BurnTime", (short)this.field_145956_a); -- p_145841_1_.func_74777_a("CookTime", (short)this.field_174906_k); -- p_145841_1_.func_74777_a("CookTimeTotal", (short)this.field_174905_l); -+ p_145841_1_.func_74768_a("BurnTime", this.field_145956_a); -+ p_145841_1_.func_74768_a("CookTime", this.field_174906_k); -+ p_145841_1_.func_74768_a("CookTimeTotal", this.field_174905_l); + super.func_189515_b(p_189515_1_); +- p_189515_1_.func_74777_a("BurnTime", (short)this.field_145956_a); +- p_189515_1_.func_74777_a("CookTime", (short)this.field_174906_k); +- p_189515_1_.func_74777_a("CookTimeTotal", (short)this.field_174905_l); ++ p_189515_1_.func_74768_a("BurnTime", this.field_145956_a); ++ p_189515_1_.func_74768_a("CookTime", this.field_174906_k); ++ p_189515_1_.func_74768_a("CookTimeTotal", this.field_174905_l); NBTTagList nbttaglist = new NBTTagList(); for (int i = 0; i < this.field_145957_n.length; ++i) -@@ -192,8 +192,7 @@ +@@ -198,8 +198,7 @@ if (this.field_145957_n[1].field_77994_a == 0) { @@ -36,7 +36,7 @@ } } } -@@ -248,7 +247,11 @@ +@@ -254,7 +253,11 @@ else { ItemStack itemstack = FurnaceRecipes.func_77602_a().func_151395_a(this.field_145957_n[0]); @@ -49,7 +49,7 @@ } } -@@ -264,7 +267,7 @@ +@@ -270,7 +273,7 @@ } else if (this.field_145957_n[2].func_77973_b() == itemstack.func_77973_b()) { @@ -58,7 +58,7 @@ } if (this.field_145957_n[0].func_77973_b() == Item.func_150898_a(Blocks.field_150360_v) && this.field_145957_n[0].func_77960_j() == 1 && this.field_145957_n[1] != null && this.field_145957_n[1].func_77973_b() == Items.field_151133_ar) -@@ -311,7 +314,15 @@ +@@ -317,7 +320,15 @@ } } @@ -75,7 +75,7 @@ } } -@@ -432,4 +443,22 @@ +@@ -438,4 +449,22 @@ this.field_145957_n[i] = null; } } diff --git a/patches/minecraft/net/minecraft/tileentity/TileEntityHopper.java.patch b/patches/minecraft/net/minecraft/tileentity/TileEntityHopper.java.patch index d55f5e0a4..2ffd6a684 100644 --- a/patches/minecraft/net/minecraft/tileentity/TileEntityHopper.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/TileEntityHopper.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/tileentity/TileEntityHopper.java +++ ../src-work/minecraft/net/minecraft/tileentity/TileEntityHopper.java -@@ -237,6 +237,7 @@ +@@ -243,6 +243,7 @@ private boolean func_145883_k() { @@ -8,7 +8,7 @@ IInventory iinventory = this.func_145895_l(); if (iinventory == null) -@@ -343,6 +344,7 @@ +@@ -349,6 +350,7 @@ public static boolean func_145891_a(IHopper p_145891_0_) { @@ -16,7 +16,7 @@ IInventory iinventory = func_145884_b(p_145891_0_); if (iinventory != null) -@@ -492,17 +494,31 @@ +@@ -498,17 +500,31 @@ if (itemstack == null) { @@ -49,7 +49,7 @@ } if (flag) -@@ -648,4 +664,10 @@ +@@ -654,4 +670,10 @@ this.field_145900_a[i] = null; } } diff --git a/patches/minecraft/net/minecraft/tileentity/TileEntityLockable.java.patch b/patches/minecraft/net/minecraft/tileentity/TileEntityLockable.java.patch index 6c31d0dcd..399b55c21 100644 --- a/patches/minecraft/net/minecraft/tileentity/TileEntityLockable.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/TileEntityLockable.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/tileentity/TileEntityLockable.java +++ ../src-work/minecraft/net/minecraft/tileentity/TileEntityLockable.java -@@ -47,4 +47,26 @@ +@@ -49,4 +49,26 @@ { return (ITextComponent)(this.func_145818_k_() ? new TextComponentString(this.func_70005_c_()) : new TextComponentTranslation(this.func_70005_c_(), new Object[0])); } diff --git a/patches/minecraft/net/minecraft/tileentity/TileEntityNote.java.patch b/patches/minecraft/net/minecraft/tileentity/TileEntityNote.java.patch index a47e34392..49be21b18 100644 --- a/patches/minecraft/net/minecraft/tileentity/TileEntityNote.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/TileEntityNote.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/tileentity/TileEntityNote.java +++ ../src-work/minecraft/net/minecraft/tileentity/TileEntityNote.java -@@ -29,7 +29,9 @@ +@@ -30,7 +30,9 @@ public void func_145877_a() { diff --git a/patches/minecraft/net/minecraft/tileentity/TileEntitySign.java.patch b/patches/minecraft/net/minecraft/tileentity/TileEntitySign.java.patch index 0919e7804..6b66af8ce 100644 --- a/patches/minecraft/net/minecraft/tileentity/TileEntitySign.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/TileEntitySign.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/tileentity/TileEntitySign.java +++ ../src-work/minecraft/net/minecraft/tileentity/TileEntitySign.java -@@ -60,7 +60,7 @@ +@@ -61,7 +61,7 @@ } public boolean func_70003_b(int p_70003_1_, String p_70003_2_) { diff --git a/patches/minecraft/net/minecraft/util/EnumFacing.java.patch b/patches/minecraft/net/minecraft/util/EnumFacing.java.patch index 241b4620f..1ceeb65ba 100644 --- a/patches/minecraft/net/minecraft/util/EnumFacing.java.patch +++ b/patches/minecraft/net/minecraft/util/EnumFacing.java.patch @@ -1,7 +1,7 @@ --- ../src-base/minecraft/net/minecraft/util/EnumFacing.java +++ ../src-work/minecraft/net/minecraft/util/EnumFacing.java -@@ -8,8 +8,6 @@ - import java.util.Random; +@@ -9,8 +9,6 @@ + import javax.annotation.Nullable; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3i; -import net.minecraftforge.fml.relauncher.Side; @@ -9,7 +9,7 @@ public enum EnumFacing implements IStringSerializable { -@@ -62,7 +60,6 @@ +@@ -63,7 +61,6 @@ return func_82600_a(this.field_176759_h); } @@ -17,7 +17,7 @@ public EnumFacing func_176732_a(EnumFacing.Axis p_176732_1_) { switch (p_176732_1_) -@@ -113,7 +110,6 @@ +@@ -114,7 +111,6 @@ } } @@ -25,7 +25,7 @@ private EnumFacing func_176744_n() { switch (this) -@@ -133,7 +129,6 @@ +@@ -134,7 +130,6 @@ } } @@ -33,15 +33,15 @@ private EnumFacing func_176738_p() { switch (this) -@@ -194,7 +189,6 @@ - return this.field_176758_k; +@@ -196,7 +191,6 @@ } + @Nullable - @SideOnly(Side.CLIENT) public static EnumFacing func_176739_a(String p_176739_0_) { return p_176739_0_ == null ? null : (EnumFacing)field_176761_p.get(p_176739_0_.toLowerCase()); -@@ -225,7 +219,6 @@ +@@ -227,7 +221,6 @@ return values()[p_176741_0_.nextInt(values().length)]; } @@ -49,7 +49,7 @@ public static EnumFacing func_176737_a(float p_176737_0_, float p_176737_1_, float p_176737_2_) { EnumFacing enumfacing = NORTH; -@@ -268,7 +261,6 @@ +@@ -270,7 +263,6 @@ throw new IllegalArgumentException("No such direction: " + p_181076_0_ + " " + p_181076_1_); } @@ -57,10 +57,10 @@ public Vec3i func_176730_m() { return this.field_176756_m; -@@ -304,7 +296,6 @@ - this.field_176723_f = p_i46015_4_; +@@ -307,7 +299,6 @@ } + @Nullable - @SideOnly(Side.CLIENT) public static EnumFacing.Axis func_176717_a(String p_176717_0_) { diff --git a/patches/minecraft/net/minecraft/util/IntIdentityHashBiMap.java.patch b/patches/minecraft/net/minecraft/util/IntIdentityHashBiMap.java.patch index 2b9932be9..a26f3cfc5 100644 --- a/patches/minecraft/net/minecraft/util/IntIdentityHashBiMap.java.patch +++ b/patches/minecraft/net/minecraft/util/IntIdentityHashBiMap.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/util/IntIdentityHashBiMap.java +++ ../src-work/minecraft/net/minecraft/util/IntIdentityHashBiMap.java -@@ -166,7 +166,6 @@ +@@ -168,7 +168,6 @@ return Iterators.filter(Iterators.forArray(this.field_186820_d), Predicates.notNull()); } diff --git a/patches/minecraft/net/minecraft/util/Session.java.patch b/patches/minecraft/net/minecraft/util/Session.java.patch index db649de70..8f807d2a9 100644 --- a/patches/minecraft/net/minecraft/util/Session.java.patch +++ b/patches/minecraft/net/minecraft/util/Session.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/util/Session.java +++ ../src-work/minecraft/net/minecraft/util/Session.java -@@ -15,9 +15,25 @@ +@@ -16,9 +16,25 @@ private final String field_148257_b; private final String field_148258_c; private final Session.Type field_152429_d; @@ -26,7 +26,7 @@ this.field_74286_b = p_i1098_1_; this.field_148257_b = p_i1098_2_; this.field_148258_c = p_i1098_3_; -@@ -49,14 +65,29 @@ +@@ -50,14 +66,29 @@ try { UUID uuid = UUIDTypeAdapter.fromString(this.func_148255_b()); diff --git a/patches/minecraft/net/minecraft/util/TabCompleter.java.patch b/patches/minecraft/net/minecraft/util/TabCompleter.java.patch index 5fe77be00..e86dd9d75 100644 --- a/patches/minecraft/net/minecraft/util/TabCompleter.java.patch +++ b/patches/minecraft/net/minecraft/util/TabCompleter.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/util/TabCompleter.java +++ ../src-work/minecraft/net/minecraft/util/TabCompleter.java -@@ -53,13 +53,14 @@ +@@ -54,13 +54,14 @@ this.field_186844_a.func_146175_b(i - this.field_186844_a.func_146198_h()); } @@ -16,7 +16,7 @@ Minecraft.func_71410_x().field_71439_g.field_71174_a.func_147297_a(new CPacketTabComplete(p_186838_1_, this.func_186839_b(), this.field_186845_b)); this.field_186847_d = true; } -@@ -74,6 +75,12 @@ +@@ -76,6 +77,12 @@ this.field_186846_c = false; this.field_186849_f.clear(); @@ -29,7 +29,7 @@ for (String s : p_186840_1_) { if (!s.isEmpty()) -@@ -84,6 +91,7 @@ +@@ -86,6 +93,7 @@ String s1 = this.field_186844_a.func_146179_b().substring(this.field_186844_a.func_146197_a(-1, this.field_186844_a.func_146198_h(), false)); String s2 = org.apache.commons.lang3.StringUtils.getCommonPrefix(p_186840_1_); diff --git a/patches/minecraft/net/minecraft/util/math/BlockPos.java.patch b/patches/minecraft/net/minecraft/util/math/BlockPos.java.patch deleted file mode 100644 index 33fca8b2b..000000000 --- a/patches/minecraft/net/minecraft/util/math/BlockPos.java.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ../src-base/minecraft/net/minecraft/util/math/BlockPos.java -+++ ../src-work/minecraft/net/minecraft/util/math/BlockPos.java -@@ -443,5 +443,8 @@ - { - return this.func_185343_d(this.field_185347_c + p_185341_1_.func_82601_c(), this.field_185348_d + p_185341_1_.func_96559_d(), this.field_185349_e + p_185341_1_.func_82599_e()); - } -+ -+ // This method can safely be removed once vanilla adds it - MC-100165 -+ @Override public BlockPos func_185334_h() { return new BlockPos(this); } - } - } diff --git a/patches/minecraft/net/minecraft/util/math/Vec3d.java.patch b/patches/minecraft/net/minecraft/util/math/Vec3d.java.patch index 662335a59..b40d5474c 100644 --- a/patches/minecraft/net/minecraft/util/math/Vec3d.java.patch +++ b/patches/minecraft/net/minecraft/util/math/Vec3d.java.patch @@ -1,15 +1,16 @@ --- ../src-base/minecraft/net/minecraft/util/math/Vec3d.java +++ ../src-work/minecraft/net/minecraft/util/math/Vec3d.java -@@ -1,8 +1,5 @@ +@@ -1,9 +1,6 @@ package net.minecraft.util.math; + import javax.annotation.Nullable; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - public class Vec3d { public static final Vec3d field_186680_a = new Vec3d(0.0D, 0.0D, 0.0D); -@@ -53,7 +50,6 @@ +@@ -54,7 +51,6 @@ return this.field_72450_a * p_72430_1_.field_72450_a + this.field_72448_b * p_72430_1_.field_72448_b + this.field_72449_c * p_72430_1_.field_72449_c; } diff --git a/patches/minecraft/net/minecraft/util/registry/RegistryNamespacedDefaultedByKey.java.patch b/patches/minecraft/net/minecraft/util/registry/RegistryNamespacedDefaultedByKey.java.patch index ae4a01c84..2d0e3585f 100644 --- a/patches/minecraft/net/minecraft/util/registry/RegistryNamespacedDefaultedByKey.java.patch +++ b/patches/minecraft/net/minecraft/util/registry/RegistryNamespacedDefaultedByKey.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/util/registry/RegistryNamespacedDefaultedByKey.java +++ ../src-work/minecraft/net/minecraft/util/registry/RegistryNamespacedDefaultedByKey.java -@@ -57,4 +57,11 @@ +@@ -63,4 +63,11 @@ V v = super.func_186801_a(p_186801_1_); return (V)(v == null ? this.field_148761_e : v); } diff --git a/patches/minecraft/net/minecraft/util/text/Style.java.patch b/patches/minecraft/net/minecraft/util/text/Style.java.patch index 93a20c90a..2aa70dad9 100644 --- a/patches/minecraft/net/minecraft/util/text/Style.java.patch +++ b/patches/minecraft/net/minecraft/util/text/Style.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/util/text/Style.java +++ ../src-work/minecraft/net/minecraft/util/text/Style.java -@@ -229,7 +229,6 @@ +@@ -238,7 +238,6 @@ return this; } diff --git a/patches/minecraft/net/minecraft/util/text/TextComponentBase.java.patch b/patches/minecraft/net/minecraft/util/text/TextComponentBase.java.patch index 4307987cc..41d3f8c38 100644 --- a/patches/minecraft/net/minecraft/util/text/TextComponentBase.java.patch +++ b/patches/minecraft/net/minecraft/util/text/TextComponentBase.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/util/text/TextComponentBase.java +++ ../src-work/minecraft/net/minecraft/util/text/TextComponentBase.java -@@ -74,7 +74,6 @@ +@@ -75,7 +75,6 @@ return stringbuilder.toString(); } diff --git a/patches/minecraft/net/minecraft/world/BossInfoServer.java.patch b/patches/minecraft/net/minecraft/world/BossInfoServer.java.patch index a10f0ab75..29ad09714 100644 --- a/patches/minecraft/net/minecraft/world/BossInfoServer.java.patch +++ b/patches/minecraft/net/minecraft/world/BossInfoServer.java.patch @@ -1,7 +1,7 @@ --- ../src-base/minecraft/net/minecraft/world/BossInfoServer.java +++ ../src-work/minecraft/net/minecraft/world/BossInfoServer.java @@ -9,8 +9,6 @@ - import net.minecraft.network.play.server.SPacketUpdateEntityNBT; + import net.minecraft.network.play.server.SPacketUpdateBossInfo; import net.minecraft.util.math.MathHelper; import net.minecraft.util.text.ITextComponent; -import net.minecraftforge.fml.relauncher.Side; diff --git a/patches/minecraft/net/minecraft/world/ChunkCache.java.patch b/patches/minecraft/net/minecraft/world/ChunkCache.java.patch index 7c9098481..b41b17ed1 100644 --- a/patches/minecraft/net/minecraft/world/ChunkCache.java.patch +++ b/patches/minecraft/net/minecraft/world/ChunkCache.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/ChunkCache.java +++ ../src-work/minecraft/net/minecraft/world/ChunkCache.java -@@ -61,6 +61,8 @@ +@@ -63,6 +63,8 @@ { int i = (p_175625_1_.func_177958_n() >> 4) - this.field_72818_a; int j = (p_175625_1_.func_177952_p() >> 4) - this.field_72816_b; @@ -9,7 +9,7 @@ return this.field_72817_c[i][j].func_177424_a(p_175625_1_, Chunk.EnumCreateEntityType.IMMEDIATE); } -@@ -139,6 +141,8 @@ +@@ -143,6 +145,8 @@ { int i = (p_175629_2_.func_177958_n() >> 4) - this.field_72818_a; int j = (p_175629_2_.func_177952_p() >> 4) - this.field_72816_b; @@ -18,7 +18,7 @@ return this.field_72817_c[i][j].func_177413_a(p_175629_1_, p_175629_2_); } } -@@ -150,7 +154,8 @@ +@@ -154,7 +158,8 @@ public boolean func_175623_d(BlockPos p_175623_1_) { @@ -28,7 +28,7 @@ } @SideOnly(Side.CLIENT) -@@ -160,6 +165,7 @@ +@@ -164,6 +169,7 @@ { int i = (p_175628_2_.func_177958_n() >> 4) - this.field_72818_a; int j = (p_175628_2_.func_177952_p() >> 4) - this.field_72816_b; @@ -36,7 +36,7 @@ return this.field_72817_c[i][j].func_177413_a(p_175628_1_, p_175628_2_); } else -@@ -178,4 +184,17 @@ +@@ -182,4 +188,17 @@ { return this.field_72815_e.func_175624_G(); } diff --git a/patches/minecraft/net/minecraft/world/IBlockAccess.java.patch b/patches/minecraft/net/minecraft/world/IBlockAccess.java.patch index e6b7d331d..2936065b9 100644 --- a/patches/minecraft/net/minecraft/world/IBlockAccess.java.patch +++ b/patches/minecraft/net/minecraft/world/IBlockAccess.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/IBlockAccess.java +++ ../src-work/minecraft/net/minecraft/world/IBlockAccess.java -@@ -29,4 +29,14 @@ +@@ -31,4 +31,14 @@ @SideOnly(Side.CLIENT) WorldType func_175624_G(); diff --git a/patches/minecraft/net/minecraft/world/WorldManager.java.patch b/patches/minecraft/net/minecraft/world/ServerWorldEventHandler.java.patch similarity index 80% rename from patches/minecraft/net/minecraft/world/WorldManager.java.patch rename to patches/minecraft/net/minecraft/world/ServerWorldEventHandler.java.patch index 2d28c3041..bc0e848a5 100644 --- a/patches/minecraft/net/minecraft/world/WorldManager.java.patch +++ b/patches/minecraft/net/minecraft/world/ServerWorldEventHandler.java.patch @@ -1,15 +1,15 @@ ---- ../src-base/minecraft/net/minecraft/world/WorldManager.java -+++ ../src-work/minecraft/net/minecraft/world/WorldManager.java -@@ -50,7 +50,7 @@ +--- ../src-base/minecraft/net/minecraft/world/ServerWorldEventHandler.java ++++ ../src-work/minecraft/net/minecraft/world/ServerWorldEventHandler.java +@@ -51,7 +51,7 @@ - public void func_184375_a(EntityPlayer p_184375_1_, SoundEvent p_184375_2_, SoundCategory p_184375_3_, double p_184375_4_, double p_184375_6_, double p_184375_8_, float p_184375_10_, float p_184375_11_) + public void func_184375_a(@Nullable EntityPlayer p_184375_1_, SoundEvent p_184375_2_, SoundCategory p_184375_3_, double p_184375_4_, double p_184375_6_, double p_184375_8_, float p_184375_10_, float p_184375_11_) { - this.field_72783_a.func_184103_al().func_148543_a(p_184375_1_, p_184375_4_, p_184375_6_, p_184375_8_, p_184375_10_ > 1.0F ? (double)(16.0F * p_184375_10_) : 16.0D, this.field_72782_b.field_73011_w.func_186058_p().func_186068_a(), new SPacketSoundEffect(p_184375_2_, p_184375_3_, p_184375_4_, p_184375_6_, p_184375_8_, p_184375_10_, p_184375_11_)); + this.field_72783_a.func_184103_al().func_148543_a(p_184375_1_, p_184375_4_, p_184375_6_, p_184375_8_, p_184375_10_ > 1.0F ? (double)(16.0F * p_184375_10_) : 16.0D, this.field_72782_b.field_73011_w.getDimension(), new SPacketSoundEffect(p_184375_2_, p_184375_3_, p_184375_4_, p_184375_6_, p_184375_8_, p_184375_10_, p_184375_11_)); } public void func_147585_a(int p_147585_1_, int p_147585_2_, int p_147585_3_, int p_147585_4_, int p_147585_5_, int p_147585_6_) -@@ -72,7 +72,7 @@ +@@ -73,7 +73,7 @@ public void func_180439_a(EntityPlayer p_180439_1_, int p_180439_2_, BlockPos p_180439_3_, int p_180439_4_) { diff --git a/patches/minecraft/net/minecraft/world/World.java.patch b/patches/minecraft/net/minecraft/world/World.java.patch index 5e1530d23..9560baf5d 100644 --- a/patches/minecraft/net/minecraft/world/World.java.patch +++ b/patches/minecraft/net/minecraft/world/World.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/World.java +++ ../src-work/minecraft/net/minecraft/world/World.java -@@ -60,6 +60,13 @@ +@@ -61,6 +61,13 @@ public abstract class World implements IBlockAccess { @@ -14,7 +14,7 @@ private int field_181546_a = 63; protected boolean field_72999_e; public final List field_72996_f = Lists.newArrayList(); -@@ -101,6 +108,10 @@ +@@ -102,6 +109,10 @@ private final WorldBorder field_175728_M; int[] field_72994_J; @@ -25,7 +25,7 @@ protected World(ISaveHandler p_i45749_1_, WorldInfo p_i45749_2_, WorldProvider p_i45749_3_, Profiler p_i45749_4_, boolean p_i45749_5_) { this.field_73021_x = Lists.newArrayList(new IWorldEventListener[] {this.field_184152_t}); -@@ -115,6 +126,7 @@ +@@ -116,6 +127,7 @@ this.field_73011_w = p_i45749_3_; this.field_72995_K = p_i45749_5_; this.field_175728_M = p_i45749_3_.func_177501_r(); @@ -33,47 +33,19 @@ } public World func_175643_b() -@@ -124,13 +136,18 @@ +@@ -125,6 +137,11 @@ - public BiomeGenBase func_180494_b(final BlockPos p_180494_1_) + public Biome func_180494_b(final BlockPos p_180494_1_) { -- if (this.func_175667_e(p_180494_1_)) -+ return this.field_73011_w.getBiomeGenForCoords(p_180494_1_); ++ return this.field_73011_w.getBiomeForCoords(p_180494_1_); + } + -+ public BiomeGenBase getBiomeGenForCoordsBody(final BlockPos pos) ++ public Biome getBiomeForCoordsBody(final BlockPos p_180494_1_) + { -+ if (this.func_175667_e(pos)) + if (this.func_175667_e(p_180494_1_)) { -- Chunk chunk = this.func_175726_f(p_180494_1_); -+ Chunk chunk = this.func_175726_f(pos); - - try - { -- return chunk.func_177411_a(p_180494_1_, this.field_73011_w.func_177499_m()); -+ return chunk.func_177411_a(pos, this.field_73011_w.func_177499_m()); - } - catch (Throwable throwable) - { -@@ -140,7 +157,7 @@ - { - public String call() throws Exception - { -- return CrashReportCategory.func_180522_a(p_180494_1_); -+ return CrashReportCategory.func_180522_a(pos); - } - }); - throw new ReportedException(crashreport); -@@ -148,7 +165,7 @@ - } - else - { -- return this.field_73011_w.func_177499_m().func_180300_a(p_180494_1_, Biomes.field_76772_c); -+ return this.field_73011_w.func_177499_m().func_180300_a(pos, Biomes.field_76772_c); - } - } - -@@ -194,7 +211,7 @@ + Chunk chunk = this.func_175726_f(p_180494_1_); +@@ -201,7 +218,7 @@ public boolean func_175623_d(BlockPos p_175623_1_) { @@ -82,7 +54,7 @@ } public boolean func_175667_e(BlockPos p_175667_1_) -@@ -291,37 +308,61 @@ +@@ -298,23 +315,49 @@ { Chunk chunk = this.func_175726_f(p_180501_1_); Block block = p_180501_2_.func_177230_c(); @@ -117,35 +89,29 @@ - if ((p_180501_3_ & 2) != 0 && (!this.field_72995_K || (p_180501_3_ & 4) == 0) && chunk.func_150802_k()) + if (blockSnapshot == null) // Don't notify clients or update physics while capturing blockstates { -- this.func_184138_a(p_180501_1_, iblockstate, p_180501_2_, p_180501_3_); + this.markAndNotifyBlock(p_180501_1_, chunk, iblockstate, p_180501_2_, p_180501_3_); - } ++ } + return true; + } + } + } - -- if (!this.field_72995_K && (p_180501_3_ & 1) != 0) ++ + // Split off from original setBlockState(BlockPos, IBlockState, int) method in order to directly send client and physic updates -+ public void markAndNotifyBlock(BlockPos pos, Chunk chunk, IBlockState iblockstate, IBlockState newState, int flags) ++ public void markAndNotifyBlock(BlockPos p_180501_1_, Chunk chunk, IBlockState iblockstate, IBlockState p_180501_2_, int p_180501_3_) + { + { + { -+ if ((flags & 2) != 0 && (!this.field_72995_K || (flags & 4) == 0) && (chunk == null || chunk.func_150802_k())) - { -- this.func_175722_b(p_180501_1_, iblockstate.func_177230_c()); -+ this.func_184138_a(pos, iblockstate, newState, flags); -+ } - -- if (p_180501_2_.func_185912_n()) -+ if (!this.field_72995_K && (flags & 1) != 0) ++ if ((p_180501_3_ & 2) != 0 && (!this.field_72995_K || (p_180501_3_ & 4) == 0) && (chunk == null || chunk.func_150802_k())) + { -+ this.func_175722_b(pos, iblockstate.func_177230_c()); -+ -+ if (newState.func_185912_n()) + this.func_184138_a(p_180501_1_, iblockstate, p_180501_2_, p_180501_3_); + } + +@@ -324,11 +367,9 @@ + + if (p_180501_2_.func_185912_n()) { - this.func_175666_e(p_180501_1_, block); -+ this.func_175666_e(pos, newState.func_177230_c()); ++ this.func_175666_e(p_180501_1_, p_180501_2_.func_177230_c()); } } - @@ -153,7 +119,7 @@ } } } -@@ -336,7 +377,7 @@ +@@ -343,7 +384,7 @@ IBlockState iblockstate = this.func_180495_p(p_175655_1_); Block block = iblockstate.func_177230_c(); @@ -162,7 +128,7 @@ { return false; } -@@ -409,6 +450,9 @@ +@@ -416,6 +457,9 @@ public void func_175685_c(BlockPos p_175685_1_, Block p_175685_2_) { @@ -172,7 +138,7 @@ this.func_180496_d(p_175685_1_.func_177976_e(), p_175685_2_); this.func_180496_d(p_175685_1_.func_177974_f(), p_175685_2_); this.func_180496_d(p_175685_1_.func_177977_b(), p_175685_2_); -@@ -419,6 +463,11 @@ +@@ -426,6 +470,11 @@ public void func_175695_a(BlockPos p_175695_1_, Block p_175695_2_, EnumFacing p_175695_3_) { @@ -184,7 +150,7 @@ if (p_175695_3_ != EnumFacing.WEST) { this.func_180496_d(p_175695_1_.func_177976_e(), p_175695_2_); -@@ -514,7 +563,7 @@ +@@ -521,7 +570,7 @@ { IBlockState iblockstate = this.func_180495_p(blockpos); @@ -193,7 +159,7 @@ { return false; } -@@ -782,7 +831,7 @@ +@@ -790,7 +839,7 @@ public boolean func_72935_r() { @@ -201,10 +167,10 @@ + return this.field_73011_w.isDaytime(); } - public RayTraceResult func_72933_a(Vec3d p_72933_1_, Vec3d p_72933_2_) -@@ -982,6 +1031,13 @@ + @Nullable +@@ -993,6 +1042,13 @@ - public void func_184148_a(EntityPlayer p_184148_1_, double p_184148_2_, double p_184148_4_, double p_184148_6_, SoundEvent p_184148_8_, SoundCategory p_184148_9_, float p_184148_10_, float p_184148_11_) + public void func_184148_a(@Nullable EntityPlayer p_184148_1_, double p_184148_2_, double p_184148_4_, double p_184148_6_, SoundEvent p_184148_8_, SoundCategory p_184148_9_, float p_184148_10_, float p_184148_11_) { + net.minecraftforge.event.entity.PlaySoundAtEntityEvent event = net.minecraftforge.event.ForgeEventFactory.onPlaySoundAtEntity(p_184148_1_, p_184148_8_, p_184148_9_, p_184148_10_, p_184148_11_); + if (event.isCanceled() || event.getSound() == null) return; @@ -216,7 +182,7 @@ for (int i = 0; i < this.field_73021_x.size(); ++i) { ((IWorldEventListener)this.field_73021_x.get(i)).func_184375_a(p_184148_1_, p_184148_8_, p_184148_9_, p_184148_2_, p_184148_4_, p_184148_6_, p_184148_10_, p_184148_11_); -@@ -1027,6 +1083,9 @@ +@@ -1038,6 +1094,9 @@ public boolean func_72838_d(Entity p_72838_1_) { @@ -226,7 +192,7 @@ int i = MathHelper.func_76128_c(p_72838_1_.field_70165_t / 16.0D); int j = MathHelper.func_76128_c(p_72838_1_.field_70161_v / 16.0D); boolean flag = p_72838_1_.field_98038_p; -@@ -1049,6 +1108,8 @@ +@@ -1060,6 +1119,8 @@ this.func_72854_c(); } @@ -235,7 +201,7 @@ this.func_72964_e(i, j).func_76612_a(p_72838_1_); this.field_72996_f.add(p_72838_1_); this.func_72923_a(p_72838_1_); -@@ -1285,7 +1346,6 @@ +@@ -1291,7 +1352,6 @@ return list; } @@ -243,7 +209,7 @@ public void func_72848_b(IWorldEventListener p_72848_1_) { this.field_73021_x.remove(p_72848_1_); -@@ -1348,19 +1408,38 @@ +@@ -1354,19 +1414,38 @@ public int func_72967_a(float p_72967_1_) { @@ -284,61 +250,31 @@ float f = this.func_72826_c(p_72971_1_); float f1 = 1.0F - (MathHelper.func_76134_b(f * ((float)Math.PI * 2F)) * 2.0F + 0.2F); f1 = MathHelper.func_76131_a(f1, 0.0F, 1.0F); -@@ -1373,23 +1452,27 @@ +@@ -1379,6 +1458,12 @@ @SideOnly(Side.CLIENT) public Vec3d func_72833_a(Entity p_72833_1_, float p_72833_2_) { -- float f = this.func_72826_c(p_72833_2_); + return this.field_73011_w.getSkyColor(p_72833_1_, p_72833_2_); + } + + @SideOnly(Side.CLIENT) -+ public Vec3d getSkyColorBody(Entity entityIn, float partialTicks) ++ public Vec3d getSkyColorBody(Entity p_72833_1_, float p_72833_2_) + { -+ float f = this.func_72826_c(partialTicks); + float f = this.func_72826_c(p_72833_2_); float f1 = MathHelper.func_76134_b(f * ((float)Math.PI * 2F)) * 2.0F + 0.5F; f1 = MathHelper.func_76131_a(f1, 0.0F, 1.0F); -- int i = MathHelper.func_76128_c(p_72833_1_.field_70165_t); -- int j = MathHelper.func_76128_c(p_72833_1_.field_70163_u); -- int k = MathHelper.func_76128_c(p_72833_1_.field_70161_v); -+ int i = MathHelper.func_76128_c(entityIn.field_70165_t); -+ int j = MathHelper.func_76128_c(entityIn.field_70163_u); -+ int k = MathHelper.func_76128_c(entityIn.field_70161_v); +@@ -1386,9 +1471,7 @@ + int j = MathHelper.func_76128_c(p_72833_1_.field_70163_u); + int k = MathHelper.func_76128_c(p_72833_1_.field_70161_v); BlockPos blockpos = new BlockPos(i, j, k); -- BiomeGenBase biomegenbase = this.func_180494_b(blockpos); -- float f2 = biomegenbase.func_180626_a(blockpos); -- int l = biomegenbase.func_76731_a(f2); +- Biome biome = this.func_180494_b(blockpos); +- float f2 = biome.func_180626_a(blockpos); +- int l = biome.func_76731_a(f2); + int l = net.minecraftforge.client.ForgeHooksClient.getSkyBlendColour(this, blockpos); float f3 = (float)(l >> 16 & 255) / 255.0F; float f4 = (float)(l >> 8 & 255) / 255.0F; float f5 = (float)(l & 255) / 255.0F; - f3 = f3 * f1; - f4 = f4 * f1; - f5 = f5 * f1; -- float f6 = this.func_72867_j(p_72833_2_); -+ float f6 = this.func_72867_j(partialTicks); - - if (f6 > 0.0F) - { -@@ -1400,7 +1483,7 @@ - f5 = f5 * f8 + f7 * (1.0F - f8); - } - -- float f10 = this.func_72819_i(p_72833_2_); -+ float f10 = this.func_72819_i(partialTicks); - - if (f10 > 0.0F) - { -@@ -1413,7 +1496,7 @@ - - if (this.field_73016_r > 0) - { -- float f12 = (float)this.field_73016_r - p_72833_2_; -+ float f12 = (float)this.field_73016_r - partialTicks; - - if (f12 > 1.0F) - { -@@ -1442,6 +1525,11 @@ +@@ -1448,6 +1531,11 @@ public float func_130001_d() { @@ -350,38 +286,20 @@ return WorldProvider.field_111203_a[this.field_73011_w.func_76559_b(this.field_72986_A.func_76073_f())]; } -@@ -1454,13 +1542,19 @@ +@@ -1460,6 +1548,12 @@ @SideOnly(Side.CLIENT) public Vec3d func_72824_f(float p_72824_1_) { -- float f = this.func_72826_c(p_72824_1_); + return this.field_73011_w.getCloudColor(p_72824_1_); + } + + @SideOnly(Side.CLIENT) -+ public Vec3d getCloudColorBody(float partialTicks) ++ public Vec3d getCloudColorBody(float p_72824_1_) + { -+ float f = this.func_72826_c(partialTicks); + float f = this.func_72826_c(p_72824_1_); float f1 = MathHelper.func_76134_b(f * ((float)Math.PI * 2F)) * 2.0F + 0.5F; f1 = MathHelper.func_76131_a(f1, 0.0F, 1.0F); - float f2 = (float)(this.field_73001_c >> 16 & 255L) / 255.0F; - float f3 = (float)(this.field_73001_c >> 8 & 255L) / 255.0F; - float f4 = (float)(this.field_73001_c & 255L) / 255.0F; -- float f5 = this.func_72867_j(p_72824_1_); -+ float f5 = this.func_72867_j(partialTicks); - - if (f5 > 0.0F) - { -@@ -1474,7 +1568,7 @@ - f2 = f2 * (f1 * 0.9F + 0.1F); - f3 = f3 * (f1 * 0.9F + 0.1F); - f4 = f4 * (f1 * 0.85F + 0.15F); -- float f9 = this.func_72819_i(p_72824_1_); -+ float f9 = this.func_72819_i(partialTicks); - - if (f9 > 0.0F) - { -@@ -1509,9 +1603,9 @@ +@@ -1515,9 +1609,9 @@ for (blockpos = new BlockPos(p_175672_1_.func_177958_n(), chunk.func_76625_h() + 16, p_175672_1_.func_177952_p()); blockpos.func_177956_o() >= 0; blockpos = blockpos1) { blockpos1 = blockpos.func_177977_b(); @@ -393,7 +311,7 @@ { break; } -@@ -1523,6 +1617,12 @@ +@@ -1529,6 +1623,12 @@ @SideOnly(Side.CLIENT) public float func_72880_h(float p_72880_1_) { @@ -406,7 +324,7 @@ float f = this.func_72826_c(p_72880_1_); float f1 = 1.0F - (MathHelper.func_76134_b(f * ((float)Math.PI * 2F)) * 2.0F + 0.25F); f1 = MathHelper.func_76131_a(f1, 0.0F, 1.0F); -@@ -1574,6 +1674,12 @@ +@@ -1580,6 +1680,12 @@ entity.func_85029_a(crashreportcategory); } @@ -419,7 +337,7 @@ throw new ReportedException(crashreport); } -@@ -1635,6 +1741,12 @@ +@@ -1641,6 +1747,12 @@ CrashReport crashreport1 = CrashReport.func_85055_a(throwable1, "Ticking entity"); CrashReportCategory crashreportcategory1 = crashreport1.func_85058_a("Entity being ticked"); entity2.func_85029_a(crashreportcategory1); @@ -432,7 +350,7 @@ throw new ReportedException(crashreport1); } } -@@ -1684,6 +1796,13 @@ +@@ -1690,6 +1802,13 @@ CrashReport crashreport2 = CrashReport.func_85055_a(throwable, "Ticking block entity"); CrashReportCategory crashreportcategory2 = crashreport2.func_85058_a("Block entity being ticked"); tileentity.func_145828_a(crashreportcategory2); @@ -446,7 +364,7 @@ throw new ReportedException(crashreport2); } } -@@ -1701,15 +1820,20 @@ +@@ -1707,15 +1826,20 @@ } } @@ -469,7 +387,7 @@ this.field_72984_F.func_76318_c("pendingBlockEntities"); if (!this.field_147484_a.isEmpty()) -@@ -1748,7 +1872,8 @@ +@@ -1754,7 +1878,8 @@ public boolean func_175700_a(TileEntity p_175700_1_) { @@ -479,12 +397,12 @@ if (flag && p_175700_1_ instanceof ITickable) { -@@ -1782,9 +1907,13 @@ +@@ -1788,9 +1913,13 @@ { int i = MathHelper.func_76128_c(p_72866_1_.field_70165_t); int j = MathHelper.func_76128_c(p_72866_1_.field_70161_v); - int k = 32; -+ boolean isForced = getPersistentChunks().containsKey(new ChunkCoordIntPair(i >> 4, j >> 4)); ++ boolean isForced = getPersistentChunks().containsKey(new net.minecraft.util.math.ChunkPos(i >> 4, j >> 4)); + int k = isForced ? 0 : 32; + boolean canUpdate = !p_72866_2_ || this.func_175663_a(i - k, 0, j - k, i + k, 0, j + k, true); @@ -495,16 +413,7 @@ { p_72866_1_.field_70142_S = p_72866_1_.field_70165_t; p_72866_1_.field_70137_T = p_72866_1_.field_70163_u; -@@ -1913,7 +2042,7 @@ - { - IBlockState iblockstate = this.func_180495_p(blockpos$pooledmutableblockpos.func_185343_d(k1, l1, i2)); - -- if (iblockstate.func_185904_a() != Material.field_151579_a) -+ if (!iblockstate.func_177230_c().isAir(iblockstate, this, new BlockPos(k1, l1, i2))) - { - blockpos$pooledmutableblockpos.func_185344_t(); - return true; -@@ -1983,6 +2112,10 @@ +@@ -1989,6 +2118,10 @@ blockpos$pooledmutableblockpos.func_185344_t(); return true; } @@ -515,7 +424,7 @@ } } } -@@ -2022,6 +2155,16 @@ +@@ -2028,6 +2161,16 @@ IBlockState iblockstate = this.func_180495_p(blockpos$pooledmutableblockpos); Block block = iblockstate.func_177230_c(); @@ -532,7 +441,7 @@ if (iblockstate.func_185904_a() == p_72918_2_) { double d0 = (double)((float)(l1 + 1) - BlockLiquid.func_149801_b(((Integer)iblockstate.func_177229_b(BlockLiquid.field_176367_b)).intValue())); -@@ -2098,6 +2241,9 @@ +@@ -2104,6 +2247,9 @@ { IBlockState iblockstate = this.func_180495_p(blockpos$pooledmutableblockpos.func_185343_d(k1, l1, i2)); @@ -542,43 +451,35 @@ if (iblockstate.func_185904_a() == p_72830_2_) { int j2 = ((Integer)iblockstate.func_177229_b(BlockLiquid.field_176367_b)).intValue(); -@@ -2130,6 +2276,7 @@ - public Explosion func_72885_a(Entity p_72885_1_, double p_72885_2_, double p_72885_4_, double p_72885_6_, float p_72885_8_, boolean p_72885_9_, boolean p_72885_10_) +@@ -2136,6 +2282,7 @@ + public Explosion func_72885_a(@Nullable Entity p_72885_1_, double p_72885_2_, double p_72885_4_, double p_72885_6_, float p_72885_8_, boolean p_72885_9_, boolean p_72885_10_) { Explosion explosion = new Explosion(this, p_72885_1_, p_72885_2_, p_72885_4_, p_72885_6_, p_72885_8_, p_72885_9_, p_72885_10_); + if (net.minecraftforge.event.ForgeEventFactory.onExplosionStart(this, explosion)) return explosion; explosion.func_77278_a(); explosion.func_77279_a(true); return explosion; -@@ -2253,6 +2400,7 @@ +@@ -2258,6 +2405,7 @@ - public void func_175690_a(BlockPos p_175690_1_, TileEntity p_175690_2_) + public void func_175690_a(BlockPos p_175690_1_, @Nullable TileEntity p_175690_2_) { + p_175690_1_ = p_175690_1_.func_185334_h(); // Forge - prevent mutable BlockPos leaks - if (p_175690_2_ != null && !p_175690_2_.func_145837_r()) + if (!this.func_189509_E(p_175690_1_)) { - if (this.field_147481_N) -@@ -2276,19 +2424,27 @@ - else - { - this.func_175700_a(p_175690_2_); -- this.func_175726_f(p_175690_1_).func_177426_a(p_175690_1_, p_175690_2_); -+ Chunk chunk = this.func_175726_f(p_175690_1_); //Forge add NPE protection -+ if (chunk != null) chunk.func_177426_a(p_175690_1_, p_175690_2_); + if (p_175690_2_ != null && !p_175690_2_.func_145837_r()) +@@ -2283,8 +2431,10 @@ + else + { + this.func_175700_a(p_175690_2_); +- this.func_175726_f(p_175690_1_).func_177426_a(p_175690_1_, p_175690_2_); ++ Chunk chunk = this.func_175726_f(p_175690_1_); //Forge add NPE protection ++ if (chunk != null) chunk.func_177426_a(p_175690_1_, p_175690_2_); + } ++ this.func_175666_e(p_175690_1_, func_180495_p(p_175690_1_).func_177230_c()); //Notify neighbors of changes } -+ this.func_175666_e(p_175690_1_, func_180495_p(p_175690_1_).func_177230_c()); //Notify neighbors of changes } } - - public void func_175713_t(BlockPos p_175713_1_) - { -+ //Chunk chunk = this.getChunkFromBlockCoords(pos); -+ //if (chunk != null) chunk.removeTileEntity(pos); -+ //Forge ToDO: Are these patches needed anymore? -+ - TileEntity tileentity = this.func_175625_s(p_175713_1_); - - if (tileentity != null && this.field_147481_N) +@@ -2297,6 +2447,8 @@ { tileentity.func_145843_s(); this.field_147484_a.remove(tileentity); @@ -587,7 +488,7 @@ } else { -@@ -2301,6 +2457,7 @@ +@@ -2309,6 +2461,7 @@ this.func_175726_f(p_175713_1_).func_177425_e(p_175713_1_); } @@ -595,7 +496,7 @@ } public void func_147457_a(TileEntity p_147457_1_) -@@ -2327,7 +2484,7 @@ +@@ -2335,7 +2488,7 @@ if (chunk != null && !chunk.func_76621_g()) { IBlockState iblockstate = this.func_180495_p(p_175677_1_); @@ -604,7 +505,7 @@ } else { -@@ -2350,6 +2507,7 @@ +@@ -2358,6 +2511,7 @@ { this.field_72985_G = p_72891_1_; this.field_72992_H = p_72891_2_; @@ -612,7 +513,7 @@ } public void func_72835_b() -@@ -2359,6 +2517,11 @@ +@@ -2367,6 +2521,11 @@ protected void func_72947_a() { @@ -624,7 +525,7 @@ if (this.field_72986_A.func_76059_o()) { this.field_73004_o = 1.0F; -@@ -2372,6 +2535,11 @@ +@@ -2380,6 +2539,11 @@ protected void func_72979_l() { @@ -636,83 +537,40 @@ if (!this.field_73011_w.func_177495_o()) { if (!this.field_72995_K) -@@ -2491,28 +2659,33 @@ +@@ -2499,6 +2663,11 @@ public boolean func_175670_e(BlockPos p_175670_1_, boolean p_175670_2_) { -- BiomeGenBase biomegenbase = this.func_180494_b(p_175670_1_); -- float f = biomegenbase.func_180626_a(p_175670_1_); + return this.field_73011_w.canBlockFreeze(p_175670_1_, p_175670_2_); + } - -+ public boolean canBlockFreezeBody(BlockPos pos, boolean noWaterAdj) -+ { -+ BiomeGenBase biomegenbase = this.func_180494_b(pos); -+ float f = biomegenbase.func_180626_a(pos); + - if (f > 0.15F) - { - return false; - } - else - { -- if (p_175670_1_.func_177956_o() >= 0 && p_175670_1_.func_177956_o() < 256 && this.func_175642_b(EnumSkyBlock.BLOCK, p_175670_1_) < 10) -+ if (pos.func_177956_o() >= 0 && pos.func_177956_o() < 256 && this.func_175642_b(EnumSkyBlock.BLOCK, pos) < 10) - { -- IBlockState iblockstate = this.func_180495_p(p_175670_1_); -+ IBlockState iblockstate = this.func_180495_p(pos); - Block block = iblockstate.func_177230_c(); ++ public boolean canBlockFreezeBody(BlockPos p_175670_1_, boolean p_175670_2_) ++ { + Biome biome = this.func_180494_b(p_175670_1_); + float f = biome.func_180626_a(p_175670_1_); - if ((block == Blocks.field_150355_j || block == Blocks.field_150358_i) && ((Integer)iblockstate.func_177229_b(BlockLiquid.field_176367_b)).intValue() == 0) - { -- if (!p_175670_2_) -+ if (!noWaterAdj) - { - return true; - } - -- boolean flag = this.func_175696_F(p_175670_1_.func_177976_e()) && this.func_175696_F(p_175670_1_.func_177974_f()) && this.func_175696_F(p_175670_1_.func_177978_c()) && this.func_175696_F(p_175670_1_.func_177968_d()); -+ boolean flag = this.func_175696_F(pos.func_177976_e()) && this.func_175696_F(pos.func_177974_f()) && this.func_175696_F(pos.func_177978_c()) && this.func_175696_F(pos.func_177968_d()); - - if (!flag) - { -@@ -2532,24 +2705,29 @@ +@@ -2540,6 +2709,11 @@ public boolean func_175708_f(BlockPos p_175708_1_, boolean p_175708_2_) { -- BiomeGenBase biomegenbase = this.func_180494_b(p_175708_1_); -- float f = biomegenbase.func_180626_a(p_175708_1_); + return this.field_73011_w.canSnowAt(p_175708_1_, p_175708_2_); + } - -+ public boolean canSnowAtBody(BlockPos pos, boolean checkLight) -+ { -+ BiomeGenBase biomegenbase = this.func_180494_b(pos); -+ float f = biomegenbase.func_180626_a(pos); + - if (f > 0.15F) - { - return false; - } -- else if (!p_175708_2_) -+ else if (!checkLight) - { - return true; - } - else - { -- if (p_175708_1_.func_177956_o() >= 0 && p_175708_1_.func_177956_o() < 256 && this.func_175642_b(EnumSkyBlock.BLOCK, p_175708_1_) < 10) -+ if (pos.func_177956_o() >= 0 && pos.func_177956_o() < 256 && this.func_175642_b(EnumSkyBlock.BLOCK, pos) < 10) ++ public boolean canSnowAtBody(BlockPos p_175708_1_, boolean p_175708_2_) ++ { + Biome biome = this.func_180494_b(p_175708_1_); + float f = biome.func_180626_a(p_175708_1_); + +@@ -2557,7 +2731,7 @@ { -- IBlockState iblockstate = this.func_180495_p(p_175708_1_); -+ IBlockState iblockstate = this.func_180495_p(pos); + IBlockState iblockstate = this.func_180495_p(p_175708_1_); - if (iblockstate.func_185904_a() == Material.field_151579_a && Blocks.field_150431_aC.func_176196_c(this, p_175708_1_)) -+ if (iblockstate.func_177230_c().isAir(iblockstate, this, pos) && Blocks.field_150431_aC.func_176196_c(this, pos)) ++ if (iblockstate.func_177230_c().isAir(iblockstate, this, p_175708_1_) && Blocks.field_150431_aC.func_176196_c(this, p_175708_1_)) { return true; } -@@ -2581,10 +2759,11 @@ +@@ -2589,10 +2763,11 @@ else { IBlockState iblockstate = this.func_180495_p(p_175638_1_); @@ -727,7 +585,7 @@ { j = 1; } -@@ -2683,7 +2862,7 @@ +@@ -2692,7 +2867,7 @@ int j4 = j2 + enumfacing.func_96559_d(); int k4 = k2 + enumfacing.func_82599_e(); blockpos$pooledmutableblockpos.func_185343_d(i4, j4, k4); @@ -736,8 +594,8 @@ i3 = this.func_175642_b(p_180500_1_, blockpos$pooledmutableblockpos); if (i3 == l2 - l4 && j < this.field_72994_J.length) -@@ -2789,10 +2968,10 @@ - public List func_175674_a(Entity p_175674_1_, AxisAlignedBB p_175674_2_, Predicate p_175674_3_) +@@ -2799,10 +2974,10 @@ + public List func_175674_a(@Nullable Entity p_175674_1_, AxisAlignedBB p_175674_2_, @Nullable Predicate p_175674_3_) { List list = Lists.newArrayList(); - int i = MathHelper.func_76128_c((p_175674_2_.field_72340_a - 2.0D) / 16.0D); @@ -751,9 +609,9 @@ for (int i1 = i; i1 <= j; ++i1) { -@@ -2845,10 +3024,10 @@ +@@ -2855,10 +3030,10 @@ - public List func_175647_a(Class p_175647_1_, AxisAlignedBB p_175647_2_, Predicate p_175647_3_) + public List func_175647_a(Class p_175647_1_, AxisAlignedBB p_175647_2_, @Nullable Predicate p_175647_3_) { - int i = MathHelper.func_76128_c((p_175647_2_.field_72340_a - 2.0D) / 16.0D); - int j = MathHelper.func_76143_f((p_175647_2_.field_72336_d + 2.0D) / 16.0D); @@ -766,7 +624,7 @@ List list = Lists.newArrayList(); for (int i1 = i; i1 < j; ++i1) -@@ -2926,11 +3105,13 @@ +@@ -2938,11 +3113,13 @@ public void func_175650_b(Collection p_175650_1_) { @@ -783,7 +641,7 @@ } } -@@ -2943,7 +3124,7 @@ +@@ -2955,7 +3132,7 @@ { IBlockState iblockstate = this.func_180495_p(p_175716_2_); AxisAlignedBB axisalignedbb = p_175716_3_ ? null : p_175716_1_.func_176223_P().func_185890_d(this, p_175716_2_); @@ -792,7 +650,7 @@ } public int func_181545_F() -@@ -3026,7 +3207,7 @@ +@@ -3038,7 +3215,7 @@ public int func_175651_c(BlockPos p_175651_1_, EnumFacing p_175651_2_) { IBlockState iblockstate = this.func_180495_p(p_175651_1_); @@ -801,7 +659,7 @@ } public boolean func_175640_z(BlockPos p_175640_1_) -@@ -3215,7 +3396,7 @@ +@@ -3235,7 +3412,7 @@ public long func_72905_C() { @@ -810,7 +668,7 @@ } public long func_82737_E() -@@ -3225,17 +3406,17 @@ +@@ -3245,17 +3422,17 @@ public long func_72820_D() { @@ -831,7 +689,7 @@ if (!this.func_175723_af().func_177746_a(blockpos)) { -@@ -3247,7 +3428,7 @@ +@@ -3267,7 +3444,7 @@ public void func_175652_B(BlockPos p_175652_1_) { @@ -840,7 +698,7 @@ } @SideOnly(Side.CLIENT) -@@ -3267,12 +3448,18 @@ +@@ -3287,12 +3464,18 @@ if (!this.field_72996_f.contains(p_72897_1_)) { @@ -854,22 +712,22 @@ + return this.field_73011_w.canMineBlock(p_175660_1_, p_175660_2_); + } + -+ public boolean canMineBlockBody(EntityPlayer player, BlockPos pos) ++ public boolean canMineBlockBody(EntityPlayer p_175660_1_, BlockPos p_175660_2_) + { return true; } -@@ -3366,8 +3553,7 @@ +@@ -3386,8 +3569,7 @@ public boolean func_180502_D(BlockPos p_180502_1_) { -- BiomeGenBase biomegenbase = this.func_180494_b(p_180502_1_); -- return biomegenbase.func_76736_e(); +- Biome biome = this.func_180494_b(p_180502_1_); +- return biome.func_76736_e(); + return this.field_73011_w.isBlockHighHumidity(p_180502_1_); } - public MapStorage func_175693_T() -@@ -3426,12 +3612,12 @@ + @Nullable +@@ -3448,12 +3630,12 @@ public int func_72800_K() { @@ -884,7 +742,7 @@ } public Random func_72843_D(int p_72843_1_, int p_72843_2_, int p_72843_3_) -@@ -3481,7 +3667,7 @@ +@@ -3503,7 +3685,7 @@ @SideOnly(Side.CLIENT) public double func_72919_O() { @@ -893,7 +751,7 @@ } public void func_175715_c(int p_175715_1_, BlockPos p_175715_2_, int p_175715_3_) -@@ -3515,7 +3701,7 @@ +@@ -3537,7 +3719,7 @@ public void func_175666_e(BlockPos p_175666_1_, Block p_175666_2_) { @@ -902,7 +760,7 @@ { BlockPos blockpos = p_175666_1_.func_177972_a(enumfacing); -@@ -3523,18 +3709,14 @@ +@@ -3545,18 +3727,14 @@ { IBlockState iblockstate = this.func_180495_p(blockpos); @@ -910,7 +768,7 @@ + iblockstate.func_177230_c().onNeighborChange(this, blockpos, p_175666_1_); + if (iblockstate.func_177230_c().isNormalCube(iblockstate, this, blockpos)) { -- iblockstate.func_177230_c().func_176204_a(this, blockpos, iblockstate, p_175666_2_); +- iblockstate.func_189546_a(this, blockpos, p_175666_2_); - } - else if (iblockstate.func_185915_l()) - { @@ -920,12 +778,12 @@ - if (Blocks.field_150441_bU.func_185547_C(iblockstate)) + if (iblockstate.func_177230_c().getWeakChanges(this, blockpos)) { -- iblockstate.func_177230_c().func_176204_a(this, blockpos, iblockstate, p_175666_2_); +- iblockstate.func_189546_a(this, blockpos, p_175666_2_); + iblockstate.func_177230_c().onNeighborChange(this, blockpos, p_175666_1_); } } } -@@ -3600,6 +3782,87 @@ +@@ -3622,6 +3800,87 @@ return i >= -k && i <= k && j >= -k && j <= k; } @@ -967,7 +825,7 @@ + * + * @return + */ -+ public com.google.common.collect.ImmutableSetMultimap getPersistentChunks() ++ public com.google.common.collect.ImmutableSetMultimap getPersistentChunks() + { + return net.minecraftforge.common.ForgeChunkManager.getPersistentChunksFor(this); + } diff --git a/patches/minecraft/net/minecraft/world/WorldEntitySpawner.java.patch b/patches/minecraft/net/minecraft/world/WorldEntitySpawner.java.patch index b8d9d1052..3ae10c8cb 100644 --- a/patches/minecraft/net/minecraft/world/WorldEntitySpawner.java.patch +++ b/patches/minecraft/net/minecraft/world/WorldEntitySpawner.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/WorldEntitySpawner.java +++ ../src-work/minecraft/net/minecraft/world/WorldEntitySpawner.java -@@ -77,15 +77,17 @@ +@@ -78,15 +78,17 @@ { if ((!enumcreaturetype.func_75599_d() || p_77192_3_) && (enumcreaturetype.func_75599_d() || p_77192_2_) && (!enumcreaturetype.func_82705_e() || p_77192_4_)) { @@ -10,17 +10,17 @@ if (k4 <= l4) { -+ java.util.ArrayList shuffled = com.google.common.collect.Lists.newArrayList(this.field_77193_b); ++ java.util.ArrayList shuffled = com.google.common.collect.Lists.newArrayList(this.field_77193_b); + java.util.Collections.shuffle(shuffled); BlockPos.MutableBlockPos blockpos$mutableblockpos = new BlockPos.MutableBlockPos(); label415: -- for (ChunkCoordIntPair chunkcoordintpair1 : this.field_77193_b) -+ for (ChunkCoordIntPair chunkcoordintpair1 : shuffled) +- for (ChunkPos chunkpos1 : this.field_77193_b) ++ for (ChunkPos chunkpos1 : shuffled) { - BlockPos blockpos = func_180621_a(p_77192_1_, chunkcoordintpair1.field_77276_a, chunkcoordintpair1.field_77275_b); + BlockPos blockpos = func_180621_a(p_77192_1_, chunkpos1.field_77276_a, chunkpos1.field_77275_b); int k1 = blockpos.func_177958_n(); -@@ -144,8 +146,10 @@ +@@ -145,8 +147,10 @@ entityliving.func_70012_b((double)f, (double)i3, (double)f1, p_77192_1_.field_73012_v.nextFloat() * 360.0F, 0.0F); @@ -32,7 +32,7 @@ ientitylivingdata = entityliving.func_180482_a(p_77192_1_.func_175649_E(new BlockPos(entityliving)), ientitylivingdata); if (entityliving.func_70058_J()) -@@ -158,7 +162,7 @@ +@@ -159,7 +163,7 @@ entityliving.func_70106_y(); } @@ -41,7 +41,7 @@ { continue label415; } -@@ -211,8 +215,9 @@ +@@ -212,8 +216,9 @@ else { BlockPos blockpos = p_180267_2_.func_177977_b(); diff --git a/patches/minecraft/net/minecraft/world/WorldProvider.java.patch b/patches/minecraft/net/minecraft/world/WorldProvider.java.patch index e5de49716..78c382d6c 100644 --- a/patches/minecraft/net/minecraft/world/WorldProvider.java.patch +++ b/patches/minecraft/net/minecraft/world/WorldProvider.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/WorldProvider.java +++ ../src-work/minecraft/net/minecraft/world/WorldProvider.java -@@ -52,26 +52,12 @@ +@@ -53,26 +53,12 @@ protected void func_76572_b() { @@ -9,7 +9,7 @@ - if (worldtype == 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 BiomeProviderSingle(BiomeGenBase.func_180276_a(flatgeneratorinfo.func_82648_a(), Biomes.field_180279_ad)); +- this.field_76578_c = new BiomeProviderSingle(Biome.func_180276_a(flatgeneratorinfo.func_82648_a(), Biomes.field_180279_ad)); - } - else if (worldtype == WorldType.field_180272_g) - { @@ -29,7 +29,7 @@ } public boolean func_76566_a(int p_76566_1_, int p_76566_2_) -@@ -156,7 +142,7 @@ +@@ -158,7 +144,7 @@ @SideOnly(Side.CLIENT) public float func_76571_f() { @@ -38,7 +38,7 @@ } @SideOnly(Side.CLIENT) -@@ -172,13 +158,13 @@ +@@ -174,13 +160,13 @@ public int func_76557_i() { @@ -54,7 +54,7 @@ } @SideOnly(Side.CLIENT) -@@ -212,6 +198,327 @@ +@@ -214,6 +200,327 @@ return new WorldBorder(); } @@ -222,9 +222,9 @@ + + /*======================================= Start Moved From World =========================================*/ + -+ public BiomeGenBase getBiomeGenForCoords(BlockPos pos) ++ public Biome getBiomeForCoords(BlockPos pos) + { -+ return field_76579_a.getBiomeGenForCoordsBody(pos); ++ return field_76579_a.getBiomeForCoordsBody(pos); + } + + public boolean isDaytime() diff --git a/patches/minecraft/net/minecraft/world/WorldSavedData.java.patch b/patches/minecraft/net/minecraft/world/WorldSavedData.java.patch index 6e33e0f03..8356a8a70 100644 --- a/patches/minecraft/net/minecraft/world/WorldSavedData.java.patch +++ b/patches/minecraft/net/minecraft/world/WorldSavedData.java.patch @@ -9,7 +9,7 @@ { public final String field_76190_i; private boolean field_76189_a; -@@ -30,4 +30,16 @@ +@@ -30,4 +30,14 @@ { return this.field_76189_a; } @@ -21,8 +21,6 @@ + + public NBTTagCompound serializeNBT() + { -+ NBTTagCompound ret = new NBTTagCompound(); -+ this.func_76187_b(ret); -+ return ret; ++ return this.func_189551_b(new NBTTagCompound()); + } } diff --git a/patches/minecraft/net/minecraft/world/WorldServer.java.patch b/patches/minecraft/net/minecraft/world/WorldServer.java.patch index 35ca6d5ab..2497d26f7 100644 --- a/patches/minecraft/net/minecraft/world/WorldServer.java.patch +++ b/patches/minecraft/net/minecraft/world/WorldServer.java.patch @@ -1,11 +1,11 @@ --- ../src-base/minecraft/net/minecraft/world/WorldServer.java +++ ../src-work/minecraft/net/minecraft/world/WorldServer.java -@@ -97,30 +97,39 @@ +@@ -98,30 +98,39 @@ private int field_147489_T; private List field_94579_S = Lists.newArrayList(); + /** Stores the recently processed (lighting) chunks */ -+ protected Set doneChunks = new java.util.HashSet(); ++ protected Set doneChunks = new java.util.HashSet(); + public List customTeleporters = new ArrayList(); + public WorldServer(MinecraftServer p_i45921_1_, ISaveHandler p_i45921_2_, WorldInfo p_i45921_3_, int p_i45921_4_, Profiler p_i45921_5_) @@ -14,7 +14,7 @@ + super(p_i45921_2_, p_i45921_3_, net.minecraftforge.common.DimensionManager.createProviderFor(p_i45921_4_), p_i45921_5_, false); this.field_73061_a = p_i45921_1_; this.field_73062_L = new EntityTracker(this); - this.field_73063_M = new PlayerManager(this); + this.field_73063_M = new PlayerChunkMap(this); + // Guarantee the dimension ID was not reset by the provider + int providerDim = this.field_73011_w.getDimension(); this.field_73011_w.func_76558_a(this); @@ -43,7 +43,7 @@ } else { -@@ -214,6 +223,10 @@ +@@ -215,6 +224,10 @@ this.field_175740_d.func_75528_a(); this.field_72984_F.func_76318_c("portalForcer"); this.field_85177_Q.func_85189_a(this.func_82737_E()); @@ -54,22 +54,22 @@ this.field_72984_F.func_76319_b(); this.func_147488_Z(); } -@@ -221,12 +234,14 @@ - public BiomeGenBase.SpawnListEntry func_175734_a(EnumCreatureType p_175734_1_, BlockPos p_175734_2_) +@@ -223,12 +236,14 @@ + public Biome.SpawnListEntry func_175734_a(EnumCreatureType p_175734_1_, BlockPos p_175734_2_) { - List list = this.func_72863_F().func_177458_a(p_175734_1_, p_175734_2_); + List list = this.func_72863_F().func_177458_a(p_175734_1_, p_175734_2_); + list = net.minecraftforge.event.ForgeEventFactory.getPotentialSpawns(this, p_175734_1_, p_175734_2_, list); - return list != null && !list.isEmpty() ? (BiomeGenBase.SpawnListEntry)WeightedRandom.func_76271_a(this.field_73012_v, list) : null; + return list != null && !list.isEmpty() ? (Biome.SpawnListEntry)WeightedRandom.func_76271_a(this.field_73012_v, list) : null; } - public boolean func_175732_a(EnumCreatureType p_175732_1_, BiomeGenBase.SpawnListEntry p_175732_2_, BlockPos p_175732_3_) + public boolean func_175732_a(EnumCreatureType p_175732_1_, Biome.SpawnListEntry p_175732_2_, BlockPos p_175732_3_) { - List list = this.func_72863_F().func_177458_a(p_175732_1_, p_175732_3_); + List list = this.func_72863_F().func_177458_a(p_175732_1_, p_175732_3_); + list = net.minecraftforge.event.ForgeEventFactory.getPotentialSpawns(this, p_175732_1_, p_175732_3_, list); return list != null && !list.isEmpty() ? list.contains(p_175732_2_) : false; } -@@ -272,10 +287,7 @@ +@@ -274,10 +289,7 @@ private void func_73051_P() { @@ -81,7 +81,7 @@ } public boolean func_73056_e() -@@ -368,7 +380,7 @@ +@@ -370,7 +382,7 @@ boolean flag1 = this.func_72911_I(); this.field_72984_F.func_76320_a("pollingChunks"); @@ -90,7 +90,7 @@ { this.field_72984_F.func_76320_a("getChunk"); Chunk chunk = (Chunk)iterator.next(); -@@ -380,7 +392,7 @@ +@@ -382,7 +394,7 @@ chunk.func_150804_b(false); this.field_72984_F.func_76318_c("thunder"); @@ -99,7 +99,7 @@ { this.field_73005_l = this.field_73005_l * 3 + 1013904223; int l = this.field_73005_l >> 2; -@@ -409,7 +421,7 @@ +@@ -411,7 +423,7 @@ this.field_72984_F.func_76318_c("iceandsnow"); @@ -108,17 +108,19 @@ { this.field_73005_l = this.field_73005_l * 3 + 1013904223; int j2 = this.field_73005_l >> 2; -@@ -527,6 +539,9 @@ +@@ -527,7 +539,10 @@ + { if (p_175654_2_.func_149698_L()) { - i = 8; +- if (this.func_175707_a(p_175654_1_.func_177982_a(-8, -8, -8), p_175654_1_.func_177982_a(8, 8, 8))) + //Keeping here as a note for future when it may be restored. -+ boolean isForced = getPersistentChunks().containsKey(new ChunkCoordIntPair(p_175654_1_.func_177958_n() >> 4, p_175654_1_.func_177952_p() >> 4)); -+ i = isForced ? 0 : 8; - - if (this.func_175707_a(p_175654_1_.func_177982_a(-i, -i, -i), p_175654_1_.func_177982_a(i, i, i))) ++ boolean isForced = getPersistentChunks().containsKey(new ChunkPos(p_175654_1_)); ++ int range = isForced ? 0 : 8; ++ if (this.func_175707_a(p_175654_1_.func_177982_a(-range, -range, -range), p_175654_1_.func_177982_a(range, range, range))) { -@@ -588,7 +603,7 @@ + IBlockState iblockstate = this.func_180495_p(p_175654_1_); + +@@ -587,7 +602,7 @@ public void func_72939_s() { @@ -127,84 +129,44 @@ { if (this.field_80004_Q++ >= 300) { -@@ -712,6 +727,9 @@ +@@ -711,6 +726,9 @@ { NextTickListEntry nextticklistentry1 = (NextTickListEntry)iterator.next(); iterator.remove(); + //Keeping here as a note for future when it may be restored. -+ //boolean isForced = getPersistentChunks().containsKey(new ChunkCoordIntPair(nextticklistentry.xCoord >> 4, nextticklistentry.zCoord >> 4)); ++ //boolean isForced = getPersistentChunks().containsKey(new ChunkPos(nextticklistentry.xCoord >> 4, nextticklistentry.zCoord >> 4)); + //byte b0 = isForced ? 0 : 8; int k = 0; if (this.func_175707_a(nextticklistentry1.field_180282_a.func_177982_a(-k, -k, -k), nextticklistentry1.field_180282_a.func_177982_a(k, k, k))) -@@ -838,24 +856,42 @@ - { - List list = Lists.newArrayList(); - -- for (int i = 0; i < this.field_147482_g.size(); ++i) -+ //Forge: Optimize this loop to only grab from the chunks it needs -+ for (int x = (p_147486_1_ & ~0x0F); x < p_147486_4_; x += 16) - { -- TileEntity tileentity = (TileEntity)this.field_147482_g.get(i); -- BlockPos blockpos = tileentity.func_174877_v(); -- -- if (blockpos.func_177958_n() >= p_147486_1_ && blockpos.func_177956_o() >= p_147486_2_ && blockpos.func_177952_p() >= p_147486_3_ && blockpos.func_177958_n() < p_147486_4_ && blockpos.func_177956_o() < p_147486_5_ && blockpos.func_177952_p() < p_147486_6_) -+ for (int z = (p_147486_3_ & ~0x0F); z < p_147486_6_; z += 16) // & ~0xF Floors it by 16. Yay bitmath! - { -- list.add(tileentity); -+ if (!this.func_175680_a(x >> 4, z >> 4, true)) continue; //Prevent loading extra chunks to just read data. This causes orphaned chunks that never unload. -+ Chunk chunk = this.func_72964_e(x >> 4, z >> 4); -+ if (chunk != null && !chunk.func_76621_g()) -+ { -+ for (TileEntity entity : chunk.func_177434_r().values()) -+ { -+ if (!entity.func_145837_r()) -+ { -+ BlockPos pos = entity.func_174877_v(); -+ if (pos.func_177958_n() >= p_147486_1_ && pos.func_177956_o() >= p_147486_2_ && pos.func_177952_p() >= p_147486_3_ && -+ pos.func_177958_n() < p_147486_4_ && pos.func_177956_o() < p_147486_5_ && pos.func_177952_p() < p_147486_6_) -+ { -+ list.add(entity); -+ } -+ -+ } -+ } -+ } - } - } -- - return list; - } +@@ -837,6 +855,10 @@ public boolean func_175660_a(EntityPlayer p_175660_1_, BlockPos p_175660_2_) { -- return !this.field_73061_a.func_175579_a(this, p_175660_2_, p_175660_1_) && this.func_175723_af().func_177746_a(p_175660_2_); + return super.func_175660_a(p_175660_1_, p_175660_2_); - } -+ public boolean canMineBlockBody(EntityPlayer player, BlockPos pos) -+ { -+ return !this.field_73061_a.func_175579_a(this, pos, player) && this.func_175723_af().func_177746_a(pos); + } ++ public boolean canMineBlockBody(EntityPlayer p_175660_1_, BlockPos p_175660_2_) ++ { + return !this.field_73061_a.func_175579_a(this, p_175660_2_, p_175660_1_) && this.func_175723_af().func_177746_a(p_175660_2_); + } - public void func_72963_a(WorldSettings p_72963_1_) - { -@@ -919,6 +955,7 @@ +@@ -902,6 +924,7 @@ } else { + if (net.minecraftforge.event.ForgeEventFactory.onCreateWorldSpawn(this, p_73052_1_)) return; this.field_72987_B = true; BiomeProvider biomeprovider = this.field_73011_w.func_177499_m(); - List list = biomeprovider.func_76932_a(); -@@ -1003,6 +1040,7 @@ + List list = biomeprovider.func_76932_a(); +@@ -986,6 +1009,7 @@ } chunkproviderserver.func_186027_a(p_73044_1_); + net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.world.WorldEvent.Save(this)); - for (Chunk chunk : Lists.newArrayList(chunkproviderserver.func_152380_a())) + for (Chunk chunk : Lists.newArrayList(chunkproviderserver.func_189548_a())) { -@@ -1047,6 +1085,7 @@ +@@ -1030,6 +1054,7 @@ this.field_72986_A.func_176135_e(this.func_175723_af().func_177732_i()); this.field_73019_z.func_75755_a(this.field_72986_A, this.field_73061_a.func_184103_al().func_72378_q()); this.field_72988_C.func_75744_a(); @@ -212,7 +174,7 @@ } public boolean func_72838_d(Entity p_72838_1_) -@@ -1058,7 +1097,7 @@ +@@ -1041,7 +1066,7 @@ { for (Entity entity : Lists.newArrayList(p_175650_1_)) { @@ -221,7 +183,7 @@ { this.field_72996_f.add(entity); this.func_72923_a(entity); -@@ -1139,7 +1178,7 @@ +@@ -1122,7 +1147,7 @@ { if (super.func_72942_c(p_72942_1_)) { @@ -230,15 +192,15 @@ return true; } else -@@ -1161,6 +1200,7 @@ - public Explosion func_72885_a(Entity p_72885_1_, double p_72885_2_, double p_72885_4_, double p_72885_6_, float p_72885_8_, boolean p_72885_9_, boolean p_72885_10_) +@@ -1144,6 +1169,7 @@ + public Explosion func_72885_a(@Nullable Entity p_72885_1_, double p_72885_2_, double p_72885_4_, double p_72885_6_, float p_72885_8_, boolean p_72885_9_, boolean p_72885_10_) { Explosion explosion = new Explosion(this, p_72885_1_, p_72885_2_, p_72885_4_, p_72885_6_, p_72885_8_, p_72885_9_, p_72885_10_); + if (net.minecraftforge.event.ForgeEventFactory.onExplosionStart(this, explosion)) return explosion; explosion.func_77278_a(); explosion.func_77279_a(false); -@@ -1206,7 +1246,7 @@ +@@ -1189,7 +1215,7 @@ { if (this.func_147485_a(blockeventdata)) { @@ -247,7 +209,7 @@ } } -@@ -1232,27 +1272,31 @@ +@@ -1215,27 +1241,31 @@ if (this.field_73003_n != this.field_73004_o) { @@ -285,7 +247,7 @@ } } -@@ -1329,6 +1373,11 @@ +@@ -1314,6 +1344,11 @@ return this.field_73061_a.func_152345_ab(); } diff --git a/patches/minecraft/net/minecraft/world/WorldType.java.patch b/patches/minecraft/net/minecraft/world/WorldType.java.patch index eeb74f394..3b7bcacb8 100644 --- a/patches/minecraft/net/minecraft/world/WorldType.java.patch +++ b/patches/minecraft/net/minecraft/world/WorldType.java.patch @@ -18,7 +18,7 @@ + if (this == field_77138_c) + { + net.minecraft.world.gen.FlatGeneratorInfo flatgeneratorinfo = net.minecraft.world.gen.FlatGeneratorInfo.func_82651_a(world.func_72912_H().func_82571_y()); -+ return new net.minecraft.world.biome.BiomeProviderSingle(net.minecraft.world.biome.BiomeGenBase.func_180276_a(flatgeneratorinfo.func_82648_a(), net.minecraft.init.Biomes.field_180279_ad)); ++ return new net.minecraft.world.biome.BiomeProviderSingle(net.minecraft.world.biome.Biome.func_180276_a(flatgeneratorinfo.func_82648_a(), net.minecraft.init.Biomes.field_180279_ad)); + } + else if (this == field_180272_g) + { diff --git a/patches/minecraft/net/minecraft/world/biome/BiomeGenBase.java.patch b/patches/minecraft/net/minecraft/world/biome/Biome.java.patch similarity index 83% rename from patches/minecraft/net/minecraft/world/biome/BiomeGenBase.java.patch rename to patches/minecraft/net/minecraft/world/biome/Biome.java.patch index 22c125373..d79e8c14a 100644 --- a/patches/minecraft/net/minecraft/world/biome/BiomeGenBase.java.patch +++ b/patches/minecraft/net/minecraft/world/biome/Biome.java.patch @@ -1,27 +1,27 @@ ---- ../src-base/minecraft/net/minecraft/world/biome/BiomeGenBase.java -+++ ../src-work/minecraft/net/minecraft/world/biome/BiomeGenBase.java -@@ -51,7 +51,7 @@ +--- ../src-base/minecraft/net/minecraft/world/biome/Biome.java ++++ ../src-work/minecraft/net/minecraft/world/biome/Biome.java +@@ -52,7 +52,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; --public abstract class BiomeGenBase -+public abstract class BiomeGenBase extends net.minecraftforge.fml.common.registry.IForgeRegistryEntry.Impl +-public abstract class Biome ++public abstract class Biome extends net.minecraftforge.fml.common.registry.IForgeRegistryEntry.Impl { private static final Logger field_150586_aC = LogManager.getLogger(); protected static final IBlockState field_185365_a = Blocks.field_150348_b.func_176223_P(); -@@ -70,7 +70,7 @@ +@@ -71,7 +71,7 @@ protected static final WorldGenTrees field_76757_N = new WorldGenTrees(false); protected static final WorldGenBigTree field_76758_O = new WorldGenBigTree(false); protected static final WorldGenSwamp field_76763_Q = new WorldGenSwamp(); -- public static final RegistryNamespaced field_185377_q = new RegistryNamespaced(); -+ public static final RegistryNamespaced field_185377_q = net.minecraftforge.fml.common.registry.GameData.getBiomeRegistry(); +- public static final RegistryNamespaced field_185377_q = new RegistryNamespaced(); ++ public static final RegistryNamespaced field_185377_q = net.minecraftforge.fml.common.registry.GameData.getBiomeRegistry(); private final String field_76791_y; private final float field_76748_D; private final float field_76749_E; -@@ -128,11 +128,12 @@ - this.field_76761_J.add(new BiomeGenBase.SpawnListEntry(EntityWitch.class, 5, 1, 1)); - this.field_76755_L.add(new BiomeGenBase.SpawnListEntry(EntitySquid.class, 10, 4, 4)); - this.field_82914_M.add(new BiomeGenBase.SpawnListEntry(EntityBat.class, 10, 8, 8)); +@@ -132,11 +132,12 @@ + this.field_76761_J.add(new Biome.SpawnListEntry(EntityWitch.class, 5, 1, 1)); + this.field_76755_L.add(new Biome.SpawnListEntry(EntitySquid.class, 10, 4, 4)); + this.field_82914_M.add(new Biome.SpawnListEntry(EntityBat.class, 10, 8, 8)); + this.addDefaultFlowers(); } @@ -32,7 +32,7 @@ } public boolean func_185363_b() -@@ -228,7 +229,7 @@ +@@ -232,7 +233,7 @@ { double d0 = (double)MathHelper.func_76131_a(this.func_180626_a(p_180627_1_), 0.0F, 1.0F); double d1 = (double)MathHelper.func_76131_a(this.func_76727_i(), 0.0F, 1.0F); @@ -41,7 +41,7 @@ } public final void func_180628_b(World p_180628_1_, Random p_180628_2_, ChunkPrimer p_180628_3_, int p_180628_4_, int p_180628_5_, double p_180628_6_) -@@ -321,7 +322,7 @@ +@@ -325,7 +326,7 @@ { double d0 = (double)MathHelper.func_76131_a(this.func_180626_a(p_180625_1_), 0.0F, 1.0F); double d1 = (double)MathHelper.func_76131_a(this.func_76727_i(), 0.0F, 1.0F); @@ -49,8 +49,8 @@ + return getModdedBiomeFoliageColor(ColorizerFoliage.func_77470_a(d0, d1)); } - public Class func_150562_l() -@@ -386,6 +387,83 @@ + public Class func_150562_l() +@@ -391,6 +392,83 @@ return this.field_76766_R; } @@ -133,4 +133,4 @@ + public static void func_185358_q() { - func_185354_a(0, "ocean", new BiomeGenOcean((new BiomeGenBase.BiomeProperties("Ocean")).func_185398_c(-1.0F).func_185400_d(0.1F))); + func_185354_a(0, "ocean", new BiomeOcean((new Biome.BiomeProperties("Ocean")).func_185398_c(-1.0F).func_185400_d(0.1F))); diff --git a/patches/minecraft/net/minecraft/world/biome/BiomeDecorator.java.patch b/patches/minecraft/net/minecraft/world/biome/BiomeDecorator.java.patch index 584c76ae8..33356a6a6 100644 --- a/patches/minecraft/net/minecraft/world/biome/BiomeDecorator.java.patch +++ b/patches/minecraft/net/minecraft/world/biome/BiomeDecorator.java.patch @@ -2,7 +2,7 @@ +++ ../src-work/minecraft/net/minecraft/world/biome/BiomeDecorator.java @@ -91,8 +91,10 @@ - protected void func_150513_a(BiomeGenBase p_150513_1_, World p_150513_2_, Random p_150513_3_) + protected void func_150513_a(Biome p_150513_1_, World p_150513_2_, Random p_150513_3_) { + net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.terraingen.DecorateBiomeEvent.Pre(p_150513_2_, p_150513_3_, field_180294_c)); this.func_76797_b(p_150513_2_, p_150513_3_); diff --git a/patches/minecraft/net/minecraft/world/biome/BiomeGenForest.java.patch b/patches/minecraft/net/minecraft/world/biome/BiomeForest.java.patch similarity index 68% rename from patches/minecraft/net/minecraft/world/biome/BiomeGenForest.java.patch rename to patches/minecraft/net/minecraft/world/biome/BiomeForest.java.patch index 24cfe1620..fd2c3864a 100644 --- a/patches/minecraft/net/minecraft/world/biome/BiomeGenForest.java.patch +++ b/patches/minecraft/net/minecraft/world/biome/BiomeForest.java.patch @@ -1,5 +1,5 @@ ---- ../src-base/minecraft/net/minecraft/world/biome/BiomeGenForest.java -+++ ../src-work/minecraft/net/minecraft/world/biome/BiomeGenForest.java +--- ../src-base/minecraft/net/minecraft/world/biome/BiomeForest.java ++++ ../src-work/minecraft/net/minecraft/world/biome/BiomeForest.java @@ -147,6 +147,22 @@ } } @@ -7,7 +7,7 @@ + @Override + public void addDefaultFlowers() + { -+ if (field_150632_aF != BiomeGenForest.Type.FLOWER) ++ if (field_150632_aF != BiomeForest.Type.FLOWER) + { + super.addDefaultFlowers(); + return; @@ -20,6 +20,6 @@ + } + } + - public Class func_150562_l() + public Class func_150562_l() { - return BiomeGenForest.class; + return BiomeForest.class; diff --git a/patches/minecraft/net/minecraft/world/biome/BiomeGenHills.java.patch b/patches/minecraft/net/minecraft/world/biome/BiomeHills.java.patch similarity index 95% rename from patches/minecraft/net/minecraft/world/biome/BiomeGenHills.java.patch rename to patches/minecraft/net/minecraft/world/biome/BiomeHills.java.patch index 7354b7b77..9c7ab1c76 100644 --- a/patches/minecraft/net/minecraft/world/biome/BiomeGenHills.java.patch +++ b/patches/minecraft/net/minecraft/world/biome/BiomeHills.java.patch @@ -1,5 +1,5 @@ ---- ../src-base/minecraft/net/minecraft/world/biome/BiomeGenHills.java -+++ ../src-work/minecraft/net/minecraft/world/biome/BiomeGenHills.java +--- ../src-base/minecraft/net/minecraft/world/biome/BiomeHills.java ++++ ../src-work/minecraft/net/minecraft/world/biome/BiomeHills.java @@ -37,28 +37,20 @@ public void func_180624_a(World p_180624_1_, Random p_180624_2_, BlockPos p_180624_3_) { diff --git a/patches/minecraft/net/minecraft/world/biome/BiomeGenJungle.java.patch b/patches/minecraft/net/minecraft/world/biome/BiomeJungle.java.patch similarity index 82% rename from patches/minecraft/net/minecraft/world/biome/BiomeGenJungle.java.patch rename to patches/minecraft/net/minecraft/world/biome/BiomeJungle.java.patch index 3c559c56a..f8e7afb3c 100644 --- a/patches/minecraft/net/minecraft/world/biome/BiomeGenJungle.java.patch +++ b/patches/minecraft/net/minecraft/world/biome/BiomeJungle.java.patch @@ -1,5 +1,5 @@ ---- ../src-base/minecraft/net/minecraft/world/biome/BiomeGenJungle.java -+++ ../src-work/minecraft/net/minecraft/world/biome/BiomeGenJungle.java +--- ../src-base/minecraft/net/minecraft/world/biome/BiomeJungle.java ++++ ../src-work/minecraft/net/minecraft/world/biome/BiomeJungle.java @@ -68,7 +68,9 @@ super.func_180624_a(p_180624_1_, p_180624_2_, p_180624_3_); int i = p_180624_2_.nextInt(16) + 8; diff --git a/patches/minecraft/net/minecraft/world/biome/BiomeGenPlains.java.patch b/patches/minecraft/net/minecraft/world/biome/BiomePlains.java.patch similarity index 89% rename from patches/minecraft/net/minecraft/world/biome/BiomeGenPlains.java.patch rename to patches/minecraft/net/minecraft/world/biome/BiomePlains.java.patch index a15220f7f..b188d1548 100644 --- a/patches/minecraft/net/minecraft/world/biome/BiomeGenPlains.java.patch +++ b/patches/minecraft/net/minecraft/world/biome/BiomePlains.java.patch @@ -1,5 +1,5 @@ ---- ../src-base/minecraft/net/minecraft/world/biome/BiomeGenPlains.java -+++ ../src-work/minecraft/net/minecraft/world/biome/BiomeGenPlains.java +--- ../src-base/minecraft/net/minecraft/world/biome/BiomePlains.java ++++ ../src-work/minecraft/net/minecraft/world/biome/BiomePlains.java @@ -92,4 +92,19 @@ super.func_180624_a(p_180624_1_, p_180624_2_, p_180624_3_); diff --git a/patches/minecraft/net/minecraft/world/biome/BiomeProvider.java.patch b/patches/minecraft/net/minecraft/world/biome/BiomeProvider.java.patch index 2b6f415c3..537020c59 100644 --- a/patches/minecraft/net/minecraft/world/biome/BiomeProvider.java.patch +++ b/patches/minecraft/net/minecraft/world/biome/BiomeProvider.java.patch @@ -1,18 +1,18 @@ --- ../src-base/minecraft/net/minecraft/world/biome/BiomeProvider.java +++ ../src-work/minecraft/net/minecraft/world/biome/BiomeProvider.java -@@ -15,6 +15,7 @@ +@@ -16,6 +16,7 @@ public class BiomeProvider { -+ public static List allowedBiomes = Lists.newArrayList(Biomes.field_76767_f, Biomes.field_76772_c, Biomes.field_76768_g, Biomes.field_76784_u, Biomes.field_76785_t, Biomes.field_76782_w, Biomes.field_76792_x); ++ public static List allowedBiomes = Lists.newArrayList(Biomes.field_76767_f, Biomes.field_76772_c, Biomes.field_76768_g, Biomes.field_76784_u, Biomes.field_76785_t, Biomes.field_76782_w, Biomes.field_76792_x); private GenLayer field_76944_d; private GenLayer field_76945_e; private final BiomeCache field_76942_f; -@@ -23,13 +24,14 @@ +@@ -24,13 +25,14 @@ protected BiomeProvider() { this.field_76942_f = new BiomeCache(this); -- this.field_76943_g = Lists.newArrayList(new BiomeGenBase[] {Biomes.field_76767_f, Biomes.field_76772_c, Biomes.field_76768_g, Biomes.field_76784_u, Biomes.field_76785_t, Biomes.field_76782_w, Biomes.field_76792_x}); +- this.field_76943_g = Lists.newArrayList(new Biome[] {Biomes.field_76767_f, Biomes.field_76772_c, Biomes.field_76768_g, Biomes.field_76784_u, Biomes.field_76785_t, Biomes.field_76782_w, Biomes.field_76792_x}); + this.field_76943_g = Lists.newArrayList(allowedBiomes); } @@ -20,16 +20,16 @@ { this(); GenLayer[] agenlayer = GenLayer.func_180781_a(p_i45744_1_, p_i45744_3_, p_i45744_4_); -+ agenlayer = getModdedBiomeGenerators(p_i45744_3_, p_i45744_1_, agenlayer); ++ agenlayer = getModdedBiomeerators(p_i45744_3_, p_i45744_1_, agenlayer); this.field_76944_d = agenlayer[0]; this.field_76945_e = agenlayer[1]; } -@@ -196,4 +198,11 @@ +@@ -198,4 +200,11 @@ { this.field_76942_f.func_76838_a(); } + -+ public GenLayer[] getModdedBiomeGenerators(WorldType worldType, long seed, GenLayer[] original) ++ public GenLayer[] getModdedBiomeerators(WorldType worldType, long seed, GenLayer[] original) + { + net.minecraftforge.event.terraingen.WorldTypeEvent.InitBiomeGens event = new net.minecraftforge.event.terraingen.WorldTypeEvent.InitBiomeGens(worldType, seed, original); + net.minecraftforge.common.MinecraftForge.TERRAIN_GEN_BUS.post(event); diff --git a/patches/minecraft/net/minecraft/world/biome/BiomeGenSwamp.java.patch b/patches/minecraft/net/minecraft/world/biome/BiomeSwamp.java.patch similarity index 66% rename from patches/minecraft/net/minecraft/world/biome/BiomeGenSwamp.java.patch rename to patches/minecraft/net/minecraft/world/biome/BiomeSwamp.java.patch index d3c19e270..bdd743ecb 100644 --- a/patches/minecraft/net/minecraft/world/biome/BiomeGenSwamp.java.patch +++ b/patches/minecraft/net/minecraft/world/biome/BiomeSwamp.java.patch @@ -1,5 +1,5 @@ ---- ../src-base/minecraft/net/minecraft/world/biome/BiomeGenSwamp.java -+++ ../src-work/minecraft/net/minecraft/world/biome/BiomeGenSwamp.java +--- ../src-base/minecraft/net/minecraft/world/biome/BiomeSwamp.java ++++ ../src-work/minecraft/net/minecraft/world/biome/BiomeSwamp.java @@ -86,4 +86,10 @@ { return 6975545; diff --git a/patches/minecraft/net/minecraft/world/chunk/Chunk.java.patch b/patches/minecraft/net/minecraft/world/chunk/Chunk.java.patch index e12fe8fab..1cf592b9b 100644 --- a/patches/minecraft/net/minecraft/world/chunk/Chunk.java.patch +++ b/patches/minecraft/net/minecraft/world/chunk/Chunk.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/chunk/Chunk.java +++ ../src-work/minecraft/net/minecraft/world/chunk/Chunk.java -@@ -175,7 +175,7 @@ +@@ -178,7 +178,7 @@ { IBlockState iblockstate = this.func_186032_a(j, l - 1, k); @@ -9,7 +9,7 @@ { this.field_76634_f[k << 4 | j] = l; -@@ -448,12 +448,12 @@ +@@ -451,12 +451,12 @@ public int func_177437_b(BlockPos p_177437_1_) { @@ -24,7 +24,7 @@ } public IBlockState func_177435_g(BlockPos p_177435_1_) -@@ -534,6 +534,7 @@ +@@ -538,6 +538,7 @@ { Block block = p_177436_2_.func_177230_c(); Block block1 = iblockstate.func_177230_c(); @@ -32,7 +32,7 @@ ExtendedBlockStorage extendedblockstorage = this.field_76652_q[j >> 4]; boolean flag = false; -@@ -550,14 +551,19 @@ +@@ -554,14 +555,19 @@ extendedblockstorage.func_177484_a(i, j & 15, k, p_177436_2_); @@ -54,7 +54,7 @@ this.field_76637_e.func_175713_t(p_177436_1_); } } -@@ -574,8 +580,7 @@ +@@ -578,8 +584,7 @@ } else { @@ -64,7 +64,7 @@ if (j1 > 0) { -@@ -595,28 +600,19 @@ +@@ -599,28 +604,19 @@ } } @@ -97,7 +97,7 @@ this.field_76637_e.func_175690_a(p_177436_1_, tileentity1); } -@@ -719,6 +715,7 @@ +@@ -723,6 +719,7 @@ k = this.field_76645_j.length - 1; } @@ -105,7 +105,7 @@ p_76612_1_.field_70175_ag = true; p_76612_1_.field_70176_ah = this.field_76635_g; p_76612_1_.field_70162_ai = k; -@@ -758,13 +755,19 @@ +@@ -763,7 +760,7 @@ { IBlockState iblockstate = this.func_177435_g(p_177422_1_); Block block = iblockstate.func_177230_c(); @@ -113,7 +113,8 @@ + return !block.hasTileEntity(iblockstate) ? null : block.createTileEntity(this.field_76637_e, iblockstate); } - public TileEntity func_177424_a(BlockPos p_177424_1_, Chunk.EnumCreateEntityType p_177424_2_) + @Nullable +@@ -771,6 +768,12 @@ { TileEntity tileentity = (TileEntity)this.field_150816_i.get(p_177424_1_); @@ -126,7 +127,7 @@ if (tileentity == null) { if (p_177424_2_ == Chunk.EnumCreateEntityType.IMMEDIATE) -@@ -774,14 +777,9 @@ +@@ -780,14 +783,9 @@ } else if (p_177424_2_ == Chunk.EnumCreateEntityType.QUEUED) { @@ -142,7 +143,7 @@ return tileentity; } -@@ -801,7 +799,7 @@ +@@ -807,7 +805,7 @@ p_177426_2_.func_145834_a(this.field_76637_e); p_177426_2_.func_174878_a(p_177426_1_); @@ -151,7 +152,7 @@ { if (this.field_150816_i.containsKey(p_177426_1_)) { -@@ -810,6 +808,7 @@ +@@ -816,6 +814,7 @@ p_177426_2_.func_145829_t(); this.field_150816_i.put(p_177426_1_, p_177426_2_); @@ -159,7 +160,7 @@ } } -@@ -838,8 +837,9 @@ +@@ -844,8 +843,9 @@ entity.func_110123_P(); } @@ -170,7 +171,7 @@ } public void func_76623_d() -@@ -855,6 +855,7 @@ +@@ -861,6 +861,7 @@ { this.field_76637_e.func_175681_c(this.field_76645_j[i]); } @@ -178,9 +179,9 @@ } public void func_76630_e() -@@ -864,8 +865,8 @@ +@@ -870,8 +871,8 @@ - public void func_177414_a(Entity p_177414_1_, AxisAlignedBB p_177414_2_, List p_177414_3_, Predicate p_177414_4_) + public void func_177414_a(@Nullable Entity p_177414_1_, AxisAlignedBB p_177414_2_, List p_177414_3_, Predicate p_177414_4_) { - int i = MathHelper.func_76128_c((p_177414_2_.field_72338_b - 2.0D) / 16.0D); - int j = MathHelper.func_76128_c((p_177414_2_.field_72337_e + 2.0D) / 16.0D); @@ -189,7 +190,7 @@ i = MathHelper.func_76125_a(i, 0, this.field_76645_j.length - 1); j = MathHelper.func_76125_a(j, 0, this.field_76645_j.length - 1); -@@ -904,8 +905,8 @@ +@@ -910,8 +911,8 @@ public void func_177430_a(Class p_177430_1_, AxisAlignedBB p_177430_2_, List p_177430_3_, Predicate p_177430_4_) { @@ -200,7 +201,7 @@ i = MathHelper.func_76125_a(i, 0, this.field_76645_j.length - 1); j = MathHelper.func_76125_a(j, 0, this.field_76645_j.length - 1); -@@ -994,6 +995,7 @@ +@@ -1000,6 +1001,7 @@ { this.func_150809_p(); p_186034_1_.func_185931_b(this.field_76635_g, this.field_76647_h); @@ -208,7 +209,7 @@ this.func_76630_e(); } } -@@ -1050,7 +1052,7 @@ +@@ -1056,7 +1058,7 @@ { BlockPos blockpos = (BlockPos)this.field_177447_w.poll(); @@ -217,7 +218,7 @@ { TileEntity tileentity = this.func_177422_i(blockpos); this.field_76637_e.func_175690_a(blockpos, tileentity); -@@ -1114,6 +1116,13 @@ +@@ -1120,6 +1122,13 @@ @SideOnly(Side.CLIENT) public void func_186033_a(PacketBuffer p_186033_1_, int p_186033_2_, boolean p_186033_3_) { @@ -231,7 +232,7 @@ boolean flag = !this.field_76637_e.field_73011_w.func_177495_o(); for (int i = 0; i < this.field_76652_q.length; ++i) -@@ -1162,10 +1171,16 @@ +@@ -1168,10 +1177,16 @@ this.field_76646_k = true; this.func_76590_a(); @@ -247,8 +248,8 @@ + for (TileEntity te : invalidList) te.func_145843_s(); } - public BiomeGenBase func_177411_a(BlockPos p_177411_1_, BiomeProvider p_177411_2_) -@@ -1233,13 +1248,13 @@ + public Biome func_177411_a(BlockPos p_177411_1_, BiomeProvider p_177411_2_) +@@ -1239,13 +1254,13 @@ BlockPos blockpos1 = blockpos.func_177982_a(k, (j << 4) + i1, l); boolean flag = i1 == 0 || i1 == 15 || k == 0 || k == 15 || l == 0 || l == 15; @@ -264,7 +265,7 @@ { this.field_76637_e.func_175664_x(blockpos2); } -@@ -1370,7 +1385,7 @@ +@@ -1376,7 +1391,7 @@ { blockpos$mutableblockpos.func_181079_c(blockpos$mutableblockpos.func_177958_n(), l, blockpos$mutableblockpos.func_177952_p()); @@ -273,7 +274,7 @@ { this.field_76637_e.func_175664_x(blockpos$mutableblockpos); } -@@ -1481,4 +1496,20 @@ +@@ -1487,4 +1502,20 @@ QUEUED, CHECK; } diff --git a/patches/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java.patch b/patches/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java.patch index 50331158f..959fbe1b8 100644 --- a/patches/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java.patch +++ b/patches/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java.patch @@ -1,16 +1,16 @@ --- ../src-base/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java +++ ../src-work/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java -@@ -46,8 +46,41 @@ +@@ -47,9 +47,43 @@ this.field_186055_e = p_i46673_2_; } + public boolean chunkExists(World world, int x, int z) + { -+ ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(x, z); ++ ChunkPos chunkcoordintpair = new ChunkPos(x, z); + + if (this.field_75826_b.contains(chunkcoordintpair)) + { -+ for(ChunkCoordIntPair pendingChunkCoord : this.field_75828_a.keySet()) ++ for(ChunkPos pendingChunkCoord : this.field_75828_a.keySet()) + { + if (pendingChunkCoord.equals(chunkcoordintpair)) + { @@ -22,6 +22,8 @@ + return RegionFileCache.func_76550_a(this.field_75825_d, x, z).chunkExists(x & 31, z & 31); + } + ++ + @Nullable public Chunk func_75815_a(World p_75815_1_, int p_75815_2_, int p_75815_3_) throws IOException { + Object[] data = this.loadChunk__Async(p_75815_1_, p_75815_2_, p_75815_3_); @@ -39,10 +41,10 @@ + + public Object[] loadChunk__Async(World p_75815_1_, int p_75815_2_, int p_75815_3_) throws IOException + { - ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(p_75815_2_, p_75815_3_); - NBTTagCompound nbttagcompound = (NBTTagCompound)this.field_75828_a.get(chunkcoordintpair); + ChunkPos chunkpos = new ChunkPos(p_75815_2_, p_75815_3_); + NBTTagCompound nbttagcompound = (NBTTagCompound)this.field_75828_a.get(chunkpos); -@@ -63,11 +96,17 @@ +@@ -65,11 +99,17 @@ nbttagcompound = this.field_186055_e.func_188257_a(FixTypes.CHUNK, CompressedStreamTools.func_74794_a(datainputstream)); } @@ -61,7 +63,7 @@ if (!p_75822_4_.func_150297_b("Level", 10)) { field_151505_a.error("Chunk file at " + p_75822_2_ + "," + p_75822_3_ + " is missing level data, skipping"); -@@ -91,10 +130,29 @@ +@@ -93,10 +133,29 @@ field_151505_a.error("Chunk file at " + p_75822_2_ + "," + p_75822_3_ + " is in the wrong location; relocating. (Expected " + p_75822_2_ + ", " + p_75822_3_ + ", got " + chunk.field_76635_g + ", " + chunk.field_76647_h + ")"); nbttagcompound.func_74768_a("xPos", p_75822_2_); nbttagcompound.func_74768_a("zPos", p_75822_3_); @@ -92,15 +94,15 @@ } } } -@@ -110,6 +168,7 @@ +@@ -112,6 +171,7 @@ nbttagcompound.func_74782_a("Level", nbttagcompound1); - nbttagcompound.func_74768_a("DataVersion", 169); + nbttagcompound.func_74768_a("DataVersion", 184); this.func_75820_a(p_75816_2_, p_75816_1_, nbttagcompound1); + net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.world.ChunkDataEvent.Save(p_75816_2_, nbttagcompound)); this.func_75824_a(p_75816_2_.func_76632_l(), nbttagcompound); } catch (Exception exception) -@@ -265,8 +324,17 @@ +@@ -267,8 +327,17 @@ if (entity.func_70039_c(nbttagcompound2)) { @@ -118,14 +120,13 @@ } } } -@@ -276,9 +344,18 @@ +@@ -278,8 +347,17 @@ for (TileEntity tileentity : p_75820_1_.func_177434_r().values()) { + try + { - NBTTagCompound nbttagcompound3 = new NBTTagCompound(); - tileentity.func_145841_b(nbttagcompound3); + NBTTagCompound nbttagcompound3 = tileentity.func_189515_b(new NBTTagCompound()); nbttaglist2.func_74742_a(nbttagcompound3); + } + catch (Exception e) @@ -137,7 +138,7 @@ } p_75820_3_.func_74782_a("TileEntities", nbttaglist2); -@@ -347,6 +424,12 @@ +@@ -348,6 +426,12 @@ chunk.func_76616_a(p_75823_2_.func_74770_j("Biomes")); } @@ -150,7 +151,7 @@ NBTTagList nbttaglist1 = p_75823_2_.func_150295_c("Entities", 10); if (nbttaglist1 != null) -@@ -399,8 +482,6 @@ +@@ -400,8 +484,6 @@ } } } @@ -158,4 +159,4 @@ - return chunk; } - public static Entity func_186050_a(NBTTagCompound p_186050_0_, World p_186050_1_, Chunk p_186050_2_) + @Nullable diff --git a/patches/minecraft/net/minecraft/world/chunk/storage/AnvilSaveHandler.java.patch b/patches/minecraft/net/minecraft/world/chunk/storage/AnvilSaveHandler.java.patch index 82936874a..38e5ac4e7 100644 --- a/patches/minecraft/net/minecraft/world/chunk/storage/AnvilSaveHandler.java.patch +++ b/patches/minecraft/net/minecraft/world/chunk/storage/AnvilSaveHandler.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/chunk/storage/AnvilSaveHandler.java +++ ../src-work/minecraft/net/minecraft/world/chunk/storage/AnvilSaveHandler.java -@@ -21,18 +21,12 @@ +@@ -22,18 +22,12 @@ { File file1 = this.func_75765_b(); diff --git a/patches/minecraft/net/minecraft/world/gen/ChunkProviderEnd.java.patch b/patches/minecraft/net/minecraft/world/gen/ChunkProviderEnd.java.patch index c982cc70b..3a1687ec3 100644 --- a/patches/minecraft/net/minecraft/world/gen/ChunkProviderEnd.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/ChunkProviderEnd.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/gen/ChunkProviderEnd.java +++ ../src-work/minecraft/net/minecraft/world/gen/ChunkProviderEnd.java -@@ -39,6 +39,9 @@ +@@ -40,6 +40,9 @@ double[] field_185967_f; double[] field_185968_g; private final WorldGenEndIsland field_185975_r = new WorldGenEndIsland(); @@ -10,7 +10,7 @@ public ChunkProviderEnd(World p_i46667_1_, boolean p_i46667_2_, long p_i46667_3_) { -@@ -51,6 +54,16 @@ +@@ -52,6 +55,16 @@ this.field_73214_a = new NoiseGeneratorOctaves(this.field_73220_k, 10); this.field_73212_b = new NoiseGeneratorOctaves(this.field_73220_k, 16); this.field_185973_o = new NoiseGeneratorSimplex(this.field_73220_k); @@ -27,7 +27,7 @@ } public void func_180518_a(int p_180518_1_, int p_180518_2_, ChunkPrimer p_180518_3_) -@@ -123,6 +136,7 @@ +@@ -124,6 +137,7 @@ public void func_185962_a(ChunkPrimer p_185962_1_) { @@ -35,7 +35,7 @@ for (int i = 0; i < 16; ++i) { for (int j = 0; j < 16; ++j) -@@ -174,6 +188,7 @@ +@@ -175,6 +189,7 @@ public Chunk func_185932_a(int p_185932_1_, int p_185932_2_) { @@ -43,7 +43,7 @@ this.field_73220_k.setSeed((long)p_185932_1_ * 341873128712L + (long)p_185932_2_ * 132897987541L); ChunkPrimer chunkprimer = new ChunkPrimer(); this.field_73231_z = this.field_73230_p.func_72959_q().func_76933_b(this.field_73231_z, p_185932_1_ * 16, p_185932_2_ * 16, 16, 16); -@@ -255,6 +270,10 @@ +@@ -256,6 +271,10 @@ private double[] func_185963_a(double[] p_185963_1_, int p_185963_2_, int p_185963_3_, int p_185963_4_, int p_185963_5_, int p_185963_6_, int p_185963_7_) { @@ -54,7 +54,7 @@ if (p_185963_1_ == null) { p_185963_1_ = new double[p_185963_5_ * p_185963_6_ * p_185963_7_]; -@@ -327,6 +346,7 @@ +@@ -328,6 +347,7 @@ public void func_185931_b(int p_185931_1_, int p_185931_2_) { BlockFalling.field_149832_M = true; @@ -62,7 +62,7 @@ BlockPos blockpos = new BlockPos(p_185931_1_ * 16, 0, p_185931_2_ * 16); if (this.field_73229_q) -@@ -374,6 +394,7 @@ +@@ -375,6 +395,7 @@ } } diff --git a/patches/minecraft/net/minecraft/world/gen/ChunkProviderHell.java.patch b/patches/minecraft/net/minecraft/world/gen/ChunkProviderHell.java.patch index 59760965c..620605216 100644 --- a/patches/minecraft/net/minecraft/world/gen/ChunkProviderHell.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/ChunkProviderHell.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/gen/ChunkProviderHell.java +++ ../src-work/minecraft/net/minecraft/world/gen/ChunkProviderHell.java -@@ -76,6 +76,19 @@ +@@ -77,6 +77,19 @@ this.field_185946_g = new NoiseGeneratorOctaves(this.field_185954_p, 10); this.field_185947_h = new NoiseGeneratorOctaves(this.field_185954_p, 16); p_i45637_1_.func_181544_b(63); @@ -20,7 +20,7 @@ } public void func_185936_a(int p_185936_1_, int p_185936_2_, ChunkPrimer p_185936_3_) -@@ -154,6 +167,7 @@ +@@ -155,6 +168,7 @@ public void func_185937_b(int p_185937_1_, int p_185937_2_, ChunkPrimer p_185937_3_) { @@ -28,7 +28,7 @@ int i = this.field_185952_n.func_181545_F() + 1; double d0 = 0.03125D; this.field_73185_q = this.field_73177_m.func_76304_a(this.field_73185_q, p_185937_1_ * 16, p_185937_2_ * 16, 0, 16, 16, 1, d0, d0, 1.0D); -@@ -276,6 +290,10 @@ +@@ -277,6 +291,10 @@ p_185938_1_ = new double[p_185938_5_ * p_185938_6_ * p_185938_7_]; } @@ -39,14 +39,14 @@ double d0 = 684.412D; double d1 = 2053.236D; this.field_73168_g = this.field_185946_g.func_76304_a(this.field_73168_g, p_185938_2_, p_185938_3_, p_185938_4_, p_185938_5_, 1, p_185938_7_, 1.0D, 0.0D, 1.0D); -@@ -357,20 +375,25 @@ +@@ -358,20 +376,25 @@ public void func_185931_b(int p_185931_1_, int p_185931_2_) { BlockFalling.field_149832_M = true; + net.minecraftforge.event.ForgeEventFactory.onChunkPopulate(true, this, this.field_185952_n, this.field_185954_p, p_185931_1_, p_185931_2_, false); BlockPos blockpos = new BlockPos(p_185931_1_ * 16, 0, p_185931_2_ * 16); - ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(p_185931_1_, p_185931_2_); - this.field_73172_c.func_175794_a(this.field_185952_n, this.field_185954_p, chunkcoordintpair); + ChunkPos chunkpos = new ChunkPos(p_185931_1_, p_185931_2_); + this.field_73172_c.func_175794_a(this.field_185952_n, this.field_185954_p, chunkpos); + if (net.minecraftforge.event.terraingen.TerrainGen.populate(this, this.field_185952_n, this.field_185954_p, p_185931_1_, p_185931_2_, false, net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.NETHER_LAVA)) for (int i = 0; i < 8; ++i) @@ -65,7 +65,7 @@ for (int k = 0; k < this.field_185954_p.nextInt(this.field_185954_p.nextInt(10) + 1); ++k) { this.field_177469_u.func_180709_b(this.field_185952_n, this.field_185954_p, blockpos.func_177982_a(this.field_185954_p.nextInt(16) + 8, this.field_185954_p.nextInt(120) + 4, this.field_185954_p.nextInt(16) + 8)); -@@ -380,7 +403,13 @@ +@@ -381,7 +404,13 @@ { this.field_177468_v.func_180709_b(this.field_185952_n, this.field_185954_p, blockpos.func_177982_a(this.field_185954_p.nextInt(16) + 8, this.field_185954_p.nextInt(128), this.field_185954_p.nextInt(16) + 8)); } @@ -79,7 +79,7 @@ if (this.field_185954_p.nextBoolean()) { this.field_177471_z.func_180709_b(this.field_185952_n, this.field_185954_p, blockpos.func_177982_a(this.field_185954_p.nextInt(16) + 8, this.field_185954_p.nextInt(128), this.field_185954_p.nextInt(16) + 8)); -@@ -390,17 +419,22 @@ +@@ -391,17 +420,22 @@ { this.field_177465_A.func_180709_b(this.field_185952_n, this.field_185954_p, blockpos.func_177982_a(this.field_185954_p.nextInt(16) + 8, this.field_185954_p.nextInt(128), this.field_185954_p.nextInt(16) + 8)); } diff --git a/patches/minecraft/net/minecraft/world/gen/ChunkProviderOverworld.java.patch b/patches/minecraft/net/minecraft/world/gen/ChunkProviderOverworld.java.patch index 605e898ab..396a122e6 100644 --- a/patches/minecraft/net/minecraft/world/gen/ChunkProviderOverworld.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/ChunkProviderOverworld.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/gen/ChunkProviderOverworld.java +++ ../src-work/minecraft/net/minecraft/world/gen/ChunkProviderOverworld.java -@@ -59,6 +59,15 @@ +@@ -60,6 +60,15 @@ public ChunkProviderOverworld(World p_i46668_1_, long p_i46668_2_, boolean p_i46668_4_, String p_i46668_5_) { @@ -16,7 +16,7 @@ this.field_185995_n = p_i46668_1_; this.field_185996_o = p_i46668_4_; this.field_185997_p = p_i46668_1_.func_72912_H().func_76067_t(); -@@ -88,6 +97,17 @@ +@@ -89,6 +98,17 @@ this.field_186001_t = this.field_186000_s.field_177778_E ? Blocks.field_150353_l.func_176223_P() : Blocks.field_150355_j.func_176223_P(); p_i46668_1_.func_181544_b(this.field_186000_s.field_177841_q); } @@ -34,32 +34,32 @@ } public void func_185976_a(int p_185976_1_, int p_185976_2_, ChunkPrimer p_185976_3_) -@@ -161,6 +181,7 @@ +@@ -162,6 +182,7 @@ - public void func_185977_a(int p_185977_1_, int p_185977_2_, ChunkPrimer p_185977_3_, BiomeGenBase[] p_185977_4_) + public void func_185977_a(int p_185977_1_, int p_185977_2_, ChunkPrimer p_185977_3_, Biome[] p_185977_4_) { + if (!net.minecraftforge.event.ForgeEventFactory.onReplaceBiomeBlocks(this, p_185977_1_, p_185977_2_, p_185977_3_, this.field_185995_n)) return; double d0 = 0.03125D; this.field_186002_u = this.field_185994_m.func_151599_a(this.field_186002_u, (double)(p_185977_1_ * 16), (double)(p_185977_2_ * 16), 16, 16, d0 * 2.0D, d0 * 2.0D, 1.0D); -@@ -365,6 +386,8 @@ +@@ -366,6 +387,8 @@ boolean flag = false; - ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(p_185931_1_, p_185931_2_); + ChunkPos chunkpos = new ChunkPos(p_185931_1_, p_185931_2_); + net.minecraftforge.event.ForgeEventFactory.onChunkPopulate(true, this, this.field_185995_n, this.field_185990_i, p_185931_1_, p_185931_2_, flag); + if (this.field_185996_o) { if (this.field_186000_s.field_177829_w) -@@ -394,6 +417,7 @@ +@@ -395,6 +418,7 @@ } - if (biomegenbase != Biomes.field_76769_d && biomegenbase != Biomes.field_76786_s && this.field_186000_s.field_177781_A && !flag && this.field_185990_i.nextInt(this.field_186000_s.field_177782_B) == 0) + if (biome != Biomes.field_76769_d && biome != Biomes.field_76786_s && this.field_186000_s.field_177781_A && !flag && this.field_185990_i.nextInt(this.field_186000_s.field_177782_B) == 0) + if (net.minecraftforge.event.terraingen.TerrainGen.populate(this, this.field_185995_n, this.field_185990_i, p_185931_1_, p_185931_2_, flag, net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAKE)) { int i1 = this.field_185990_i.nextInt(16) + 8; int j1 = this.field_185990_i.nextInt(256); -@@ -402,6 +426,7 @@ +@@ -403,6 +427,7 @@ } if (!flag && this.field_185990_i.nextInt(this.field_186000_s.field_177777_D / 10) == 0 && this.field_186000_s.field_177783_C) @@ -67,7 +67,7 @@ { int i2 = this.field_185990_i.nextInt(16) + 8; int l2 = this.field_185990_i.nextInt(this.field_185990_i.nextInt(248) + 8); -@@ -414,6 +439,7 @@ +@@ -415,6 +440,7 @@ } if (this.field_186000_s.field_177837_s) @@ -75,12 +75,12 @@ { for (int j2 = 0; j2 < this.field_186000_s.field_177835_t; ++j2) { -@@ -425,9 +451,12 @@ +@@ -426,9 +452,12 @@ } - biomegenbase.func_180624_a(this.field_185995_n, this.field_185990_i, new BlockPos(i, 0, j)); + biome.func_180624_a(this.field_185995_n, this.field_185990_i, new BlockPos(i, 0, j)); + if (net.minecraftforge.event.terraingen.TerrainGen.populate(this, this.field_185995_n, this.field_185990_i, p_185931_1_, p_185931_2_, flag, net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.ANIMALS)) - WorldEntitySpawner.func_77191_a(this.field_185995_n, biomegenbase, i + 8, j + 8, 16, 16, this.field_185990_i); + WorldEntitySpawner.func_77191_a(this.field_185995_n, biome, i + 8, j + 8, 16, 16, this.field_185990_i); blockpos = blockpos.func_177982_a(8, 0, 8); + if (net.minecraftforge.event.terraingen.TerrainGen.populate(this, this.field_185995_n, this.field_185990_i, p_185931_1_, p_185931_2_, flag, net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.ICE)) @@ -88,7 +88,7 @@ for (int k2 = 0; k2 < 16; ++k2) { for (int j3 = 0; j3 < 16; ++j3) -@@ -446,7 +475,10 @@ +@@ -447,7 +476,10 @@ } } } diff --git a/patches/minecraft/net/minecraft/world/gen/ChunkProviderServer.java.patch b/patches/minecraft/net/minecraft/world/gen/ChunkProviderServer.java.patch index 623490463..4464d5966 100644 --- a/patches/minecraft/net/minecraft/world/gen/ChunkProviderServer.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/ChunkProviderServer.java.patch @@ -1,25 +1,27 @@ --- ../src-base/minecraft/net/minecraft/world/gen/ChunkProviderServer.java +++ ../src-work/minecraft/net/minecraft/world/gen/ChunkProviderServer.java -@@ -33,6 +33,7 @@ - public final LongHashMap field_73244_f = new LongHashMap(); - public final List field_73245_g = Lists.newArrayList(); +@@ -35,6 +35,7 @@ + public final IChunkLoader field_73247_e; + public final Long2ObjectMap field_73244_f = new Long2ObjectOpenHashMap(8192); public final WorldServer field_73251_h; + private Set loadingChunks = com.google.common.collect.Sets.newHashSet(); public ChunkProviderServer(WorldServer p_i46838_1_, IChunkLoader p_i46838_2_, IChunkGenerator p_i46838_3_) { -@@ -92,14 +93,65 @@ - - public Chunk func_186025_d(int p_186025_1_, int p_186025_2_) +@@ -82,18 +83,73 @@ + @Nullable + public Chunk func_186028_c(int p_186028_1_, int p_186028_2_) { -+ return loadChunk(p_186025_1_, p_186025_2_, null); +- Chunk chunk = this.func_186026_b(p_186028_1_, p_186028_2_); ++ return loadChunk(p_186028_1_, p_186028_2_, null); + } -+ + ++ @Nullable + public Chunk loadChunk(int X, int Z, Runnable runnable) + { -+ long pos = ChunkCoordIntPair.func_77272_a(X, Z); ++ long pos = ChunkPos.func_77272_a(X, Z); + this.field_73248_b.remove(Long.valueOf(pos)); -+ Chunk chunk = this.field_73244_f.func_76164_a(pos); ++ Chunk chunk = this.field_73244_f.get(pos); + net.minecraft.world.chunk.storage.AnvilChunkLoader loader = null; + + if (this.field_73247_e instanceof net.minecraft.world.chunk.storage.AnvilChunkLoader) @@ -56,55 +58,54 @@ + + public Chunk originalLoadChunk(int p_186025_1_, int p_186025_2_) + { - Chunk chunk = this.func_186028_c(p_186025_1_, p_186025_2_); - ++ Chunk chunk = this.func_186026_b(p_186025_1_, p_186025_2_); ++ if (chunk == null) { - long i = ChunkCoordIntPair.func_77272_a(p_186025_1_, p_186025_2_); -- chunk = this.func_73239_e(p_186025_1_, p_186025_2_); -+ if (!loadingChunks.add(i)) +- chunk = this.func_73239_e(p_186028_1_, p_186028_2_); ++ long pos = ChunkPos.func_77272_a(p_186025_1_, p_186025_2_); ++ if (!loadingChunks.add(pos)) + { -+ net.minecraftforge.fml.common.FMLLog.bigWarning("There is an attempt to load a chunk (%d,%d) in di >mension %d that is already being loaded. This will cause weird chunk breakages.", p_186025_1_, p_186025_2_, field_73251_h.field_73011_w.getDimension()); ++ net.minecraftforge.fml.common.FMLLog.bigWarning("There is an attempt to load a chunk (%d,%d) in di >mension %d that is already being loaded. This will cause weird chunk breakages.", p_186025_1_, p_186025_2_, this.field_73251_h.field_73011_w.getDimension()); + } -+ chunk = net.minecraftforge.common.ForgeChunkManager.fetchDormantChunk(i, this.field_73251_h); ++ chunk = net.minecraftforge.common.ForgeChunkManager.fetchDormantChunk(pos, this.field_73251_h); - if (chunk == null) ++ if (chunk == null) + chunk = this.func_73239_e(p_186025_1_, p_186025_2_); + -+ if (chunk == null) + if (chunk != null) { - try - { -@@ -118,6 +170,7 @@ - - this.field_73244_f.func_76163_a(i, chunk); - this.field_73245_g.add(chunk); -+ loadingChunks.remove(i); - chunk.func_76631_c(); - chunk.func_186030_a(this, this.field_186029_c); +- this.field_73244_f.put(ChunkPos.func_77272_a(p_186028_1_, p_186028_2_), chunk); ++ this.field_73244_f.put(ChunkPos.func_77272_a(p_186025_1_, p_186025_2_), chunk); + chunk.func_76631_c(); + chunk.func_186030_a(this, this.field_186029_c); + } ++ ++ loadingChunks.remove(pos); } -@@ -214,6 +267,11 @@ - { - if (!this.field_73251_h.field_73058_d) - { -+ for (ChunkCoordIntPair forced : this.field_73251_h.getPersistentChunks().keySet()) -+ { -+ this.field_73248_b.remove(ChunkCoordIntPair.func_77272_a(forced.field_77276_a, forced.field_77275_b)); -+ } -+ - for (int i = 0; i < 100; ++i) - { - if (!this.field_73248_b.isEmpty()) -@@ -228,6 +286,12 @@ - this.func_73243_a(chunk); - this.field_73244_f.func_76159_d(olong.longValue()); - this.field_73245_g.remove(chunk); -+ net.minecraftforge.common.ForgeChunkManager.putDormantChunk(ChunkCoordIntPair.func_77272_a(chunk.field_76635_g, chunk.field_76647_h), chunk); -+ if(field_73245_g.size() == 0 && net.minecraftforge.common.ForgeChunkManager.getPersistentChunksFor(this.field_73251_h).size() == 0 && !this.field_73251_h.field_73011_w.func_186058_p().shouldLoadSpawn()){ -+ net.minecraftforge.common.DimensionManager.unloadWorld(this.field_73251_h.field_73011_w.getDimension()); -+ return false; -+ } -+ - } - this.field_73248_b.remove(olong); + return chunk; +@@ -221,6 +277,11 @@ + { + if (!this.field_73248_b.isEmpty()) + { ++ for (ChunkPos forced : this.field_73251_h.getPersistentChunks().keySet()) ++ { ++ this.field_73248_b.remove(ChunkPos.func_77272_a(forced.field_77276_a, forced.field_77275_b)); ++ } ++ + Iterator iterator = this.field_73248_b.iterator(); + + for (int i = 0; i < 100 && iterator.hasNext(); iterator.remove()) +@@ -235,6 +296,11 @@ + this.func_73243_a(chunk); + this.field_73244_f.remove(olong); + ++i; ++ net.minecraftforge.common.ForgeChunkManager.putDormantChunk(ChunkPos.func_77272_a(chunk.field_76635_g, chunk.field_76647_h), chunk); ++ if (field_73244_f.size() == 0 && net.minecraftforge.common.ForgeChunkManager.getPersistentChunksFor(this.field_73251_h).size() == 0 && !this.field_73251_h.field_73011_w.func_186058_p().shouldLoadSpawn()){ ++ net.minecraftforge.common.DimensionManager.unloadWorld(this.field_73251_h.field_73011_w.getDimension()); ++ break; ++ } + } + } + } diff --git a/patches/minecraft/net/minecraft/world/gen/MapGenCaves.java.patch b/patches/minecraft/net/minecraft/world/gen/MapGenCaves.java.patch index 887ba3bfd..6857f7b42 100644 --- a/patches/minecraft/net/minecraft/world/gen/MapGenCaves.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/MapGenCaves.java.patch @@ -59,7 +59,7 @@ + } + + //Exception biomes to make sure we generate like vanilla -+ private boolean isExceptionBiome(net.minecraft.world.biome.BiomeGenBase biome) ++ private boolean isExceptionBiome(net.minecraft.world.biome.Biome biome) + { + if (biome == net.minecraft.init.Biomes.field_76787_r) return true; + if (biome == net.minecraft.init.Biomes.field_76769_d) return true; @@ -70,7 +70,7 @@ + //Vanilla bugs to make sure that we generate the map the same way vanilla does. + private boolean isTopBlock(ChunkPrimer data, int x, int y, int z, int chunkX, int chunkZ) + { -+ net.minecraft.world.biome.BiomeGenBase biome = field_75039_c.func_180494_b(new BlockPos(x + chunkX * 16, 0, z + chunkZ * 16)); ++ net.minecraft.world.biome.Biome biome = field_75039_c.func_180494_b(new BlockPos(x + chunkX * 16, 0, z + chunkZ * 16)); + IBlockState state = data.func_177856_a(x, y, z); + return (isExceptionBiome(biome) ? state.func_177230_c() == Blocks.field_150349_c : state.func_177230_c() == biome.field_76752_A); + } @@ -92,7 +92,7 @@ + */ + protected void digBlock(ChunkPrimer data, int x, int y, int z, int chunkX, int chunkZ, boolean foundTop, IBlockState state, IBlockState up) + { -+ net.minecraft.world.biome.BiomeGenBase biome = field_75039_c.func_180494_b(new BlockPos(x + chunkX * 16, 0, z + chunkZ * 16)); ++ net.minecraft.world.biome.Biome biome = field_75039_c.func_180494_b(new BlockPos(x + chunkX * 16, 0, z + chunkZ * 16)); + IBlockState top = biome.field_76752_A; + IBlockState filler = biome.field_76753_B; + diff --git a/patches/minecraft/net/minecraft/world/gen/MapGenRavine.java.patch b/patches/minecraft/net/minecraft/world/gen/MapGenRavine.java.patch index 616b17a9a..30657ba50 100644 --- a/patches/minecraft/net/minecraft/world/gen/MapGenRavine.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/MapGenRavine.java.patch @@ -64,7 +64,7 @@ + } + + //Exception biomes to make sure we generate like vanilla -+ private boolean isExceptionBiome(net.minecraft.world.biome.BiomeGenBase biome) ++ private boolean isExceptionBiome(net.minecraft.world.biome.Biome biome) + { + if (biome == net.minecraft.init.Biomes.field_76787_r) return true; + if (biome == net.minecraft.init.Biomes.field_76769_d) return true; @@ -77,7 +77,7 @@ + //Vanilla bugs to make sure that we generate the map the same way vanilla does. + private boolean isTopBlock(ChunkPrimer data, int x, int y, int z, int chunkX, int chunkZ) + { -+ net.minecraft.world.biome.BiomeGenBase biome = field_75039_c.func_180494_b(new BlockPos(x + chunkX * 16, 0, z + chunkZ * 16)); ++ net.minecraft.world.biome.Biome biome = field_75039_c.func_180494_b(new BlockPos(x + chunkX * 16, 0, z + chunkZ * 16)); + IBlockState state = data.func_177856_a(x, y, z); + return (isExceptionBiome(biome) ? state.func_177230_c() == Blocks.field_150349_c : state.func_177230_c() == biome.field_76752_A); + } @@ -99,7 +99,7 @@ + */ + protected void digBlock(ChunkPrimer data, int x, int y, int z, int chunkX, int chunkZ, boolean foundTop) + { -+ net.minecraft.world.biome.BiomeGenBase biome = field_75039_c.func_180494_b(new BlockPos(x + chunkX * 16, 0, z + chunkZ * 16)); ++ net.minecraft.world.biome.Biome biome = field_75039_c.func_180494_b(new BlockPos(x + chunkX * 16, 0, z + chunkZ * 16)); + IBlockState state = data.func_177856_a(x, y, z); + IBlockState top = isExceptionBiome(biome) ? Blocks.field_150349_c.func_176223_P() : biome.field_76752_A; + IBlockState filler = isExceptionBiome(biome) ? Blocks.field_150346_d.func_176223_P() : biome.field_76753_B; diff --git a/patches/minecraft/net/minecraft/world/gen/feature/WorldGenHellLava.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/WorldGenHellLava.java.patch index b8ef8082e..dcdcd472c 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/WorldGenHellLava.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/WorldGenHellLava.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/gen/feature/WorldGenHellLava.java +++ ../src-work/minecraft/net/minecraft/world/gen/feature/WorldGenHellLava.java -@@ -24,7 +24,7 @@ +@@ -25,7 +25,7 @@ { return false; } diff --git a/patches/minecraft/net/minecraft/world/gen/feature/WorldGenLiquids.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/WorldGenLiquids.java.patch index 223fdde14..074c4483e 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/WorldGenLiquids.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/WorldGenLiquids.java.patch @@ -1,11 +1,11 @@ --- ../src-base/minecraft/net/minecraft/world/gen/feature/WorldGenLiquids.java +++ ../src-work/minecraft/net/minecraft/world/gen/feature/WorldGenLiquids.java -@@ -26,7 +26,7 @@ +@@ -31,7 +31,7 @@ { - return false; - } -- else if (p_180709_1_.func_180495_p(p_180709_3_).func_185904_a() != Material.field_151579_a && p_180709_1_.func_180495_p(p_180709_3_).func_177230_c() != Blocks.field_150348_b) -+ else if (!p_180709_1_.func_175623_d(p_180709_3_) && p_180709_1_.func_180495_p(p_180709_3_).func_177230_c() != Blocks.field_150348_b) - { - return false; - } + IBlockState iblockstate = p_180709_1_.func_180495_p(p_180709_3_); + +- if (iblockstate.func_185904_a() != Material.field_151579_a && iblockstate.func_177230_c() != Blocks.field_150348_b) ++ if (!iblockstate.func_177230_c().isAir(iblockstate, p_180709_1_, p_180709_3_) && iblockstate.func_177230_c() != Blocks.field_150348_b) + { + return false; + } diff --git a/patches/minecraft/net/minecraft/world/gen/layer/GenLayer.java.patch b/patches/minecraft/net/minecraft/world/gen/layer/GenLayer.java.patch index 3a9a31709..18db5243b 100644 --- a/patches/minecraft/net/minecraft/world/gen/layer/GenLayer.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/layer/GenLayer.java.patch @@ -20,9 +20,9 @@ protected static boolean func_151618_b(int p_151618_0_) { -- BiomeGenBase biomegenbase = BiomeGenBase.func_150568_d(p_151618_0_); -- return biomegenbase == Biomes.field_76771_b || biomegenbase == Biomes.field_150575_M || biomegenbase == Biomes.field_76776_l; -+ return net.minecraftforge.common.BiomeManager.oceanBiomes.contains(BiomeGenBase.func_150568_d(p_151618_0_)); +- Biome biome = Biome.func_150568_d(p_151618_0_); +- return biome == Biomes.field_76771_b || biome == Biomes.field_150575_M || biome == Biomes.field_76776_l; ++ return net.minecraftforge.common.BiomeManager.oceanBiomes.contains(Biome.func_150568_d(p_151618_0_)); } protected int func_151619_a(int... p_151619_1_) diff --git a/patches/minecraft/net/minecraft/world/gen/layer/GenLayerBiome.java.patch b/patches/minecraft/net/minecraft/world/gen/layer/GenLayerBiome.java.patch index 61d673a2f..aa13256fe 100644 --- a/patches/minecraft/net/minecraft/world/gen/layer/GenLayerBiome.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/layer/GenLayerBiome.java.patch @@ -4,10 +4,10 @@ public class GenLayerBiome extends GenLayer { -- private BiomeGenBase[] field_151623_c = new BiomeGenBase[] {Biomes.field_76769_d, Biomes.field_76769_d, Biomes.field_76769_d, Biomes.field_150588_X, Biomes.field_150588_X, Biomes.field_76772_c}; -- private BiomeGenBase[] field_151621_d = new BiomeGenBase[] {Biomes.field_76767_f, Biomes.field_150585_R, Biomes.field_76770_e, Biomes.field_76772_c, Biomes.field_150583_P, Biomes.field_76780_h}; -- private BiomeGenBase[] field_151622_e = new BiomeGenBase[] {Biomes.field_76767_f, Biomes.field_76770_e, Biomes.field_76768_g, Biomes.field_76772_c}; -- private BiomeGenBase[] field_151620_f = new BiomeGenBase[] {Biomes.field_76774_n, Biomes.field_76774_n, Biomes.field_76774_n, Biomes.field_150584_S}; +- private Biome[] field_151623_c = new Biome[] {Biomes.field_76769_d, Biomes.field_76769_d, Biomes.field_76769_d, Biomes.field_150588_X, Biomes.field_150588_X, Biomes.field_76772_c}; +- private Biome[] field_151621_d = new Biome[] {Biomes.field_76767_f, Biomes.field_150585_R, Biomes.field_76770_e, Biomes.field_76772_c, Biomes.field_150583_P, Biomes.field_76780_h}; +- private Biome[] field_151622_e = new Biome[] {Biomes.field_76767_f, Biomes.field_76770_e, Biomes.field_76768_g, Biomes.field_76772_c}; +- private Biome[] field_151620_f = new Biome[] {Biomes.field_76774_n, Biomes.field_76774_n, Biomes.field_76774_n, Biomes.field_150584_S}; + @SuppressWarnings("unchecked") + private java.util.List[] biomes = new java.util.ArrayList[net.minecraftforge.common.BiomeManager.BiomeType.values().length]; private final ChunkProviderSettings field_175973_g; @@ -34,7 +34,7 @@ + if (p_i45560_4_ == WorldType.field_77136_e) { -- this.field_151623_c = new BiomeGenBase[] {Biomes.field_76769_d, Biomes.field_76767_f, Biomes.field_76770_e, Biomes.field_76780_h, Biomes.field_76772_c, Biomes.field_76768_g}; +- this.field_151623_c = new Biome[] {Biomes.field_76769_d, Biomes.field_76767_f, Biomes.field_76770_e, Biomes.field_76780_h, Biomes.field_76772_c, Biomes.field_76768_g}; + biomes[desertIdx].clear(); + biomes[desertIdx].add(new net.minecraftforge.common.BiomeManager.BiomeEntry(Biomes.field_76769_d, 10)); + biomes[desertIdx].add(new net.minecraftforge.common.BiomeManager.BiomeEntry(Biomes.field_76767_f, 10)); @@ -49,8 +49,8 @@ } else { -- aint1[j + i * p_75904_3_] = BiomeGenBase.func_185362_a(this.field_151623_c[this.func_75902_a(this.field_151623_c.length)]); -+ aint1[j + i * p_75904_3_] = BiomeGenBase.func_185362_a(getWeightedBiomeEntry(net.minecraftforge.common.BiomeManager.BiomeType.DESERT).biome); +- aint1[j + i * p_75904_3_] = Biome.func_185362_a(this.field_151623_c[this.func_75902_a(this.field_151623_c.length)]); ++ aint1[j + i * p_75904_3_] = Biome.func_185362_a(getWeightedBiomeEntry(net.minecraftforge.common.BiomeManager.BiomeType.DESERT).biome); } } else if (k == 2) @@ -58,8 +58,8 @@ } else { -- aint1[j + i * p_75904_3_] = BiomeGenBase.func_185362_a(this.field_151621_d[this.func_75902_a(this.field_151621_d.length)]); -+ aint1[j + i * p_75904_3_] = BiomeGenBase.func_185362_a(getWeightedBiomeEntry(net.minecraftforge.common.BiomeManager.BiomeType.WARM).biome); +- aint1[j + i * p_75904_3_] = Biome.func_185362_a(this.field_151621_d[this.func_75902_a(this.field_151621_d.length)]); ++ aint1[j + i * p_75904_3_] = Biome.func_185362_a(getWeightedBiomeEntry(net.minecraftforge.common.BiomeManager.BiomeType.WARM).biome); } } else if (k == 3) @@ -67,14 +67,14 @@ } else { -- aint1[j + i * p_75904_3_] = BiomeGenBase.func_185362_a(this.field_151622_e[this.func_75902_a(this.field_151622_e.length)]); -+ aint1[j + i * p_75904_3_] = BiomeGenBase.func_185362_a(getWeightedBiomeEntry(net.minecraftforge.common.BiomeManager.BiomeType.COOL).biome); +- aint1[j + i * p_75904_3_] = Biome.func_185362_a(this.field_151622_e[this.func_75902_a(this.field_151622_e.length)]); ++ aint1[j + i * p_75904_3_] = Biome.func_185362_a(getWeightedBiomeEntry(net.minecraftforge.common.BiomeManager.BiomeType.COOL).biome); } } else if (k == 4) { -- aint1[j + i * p_75904_3_] = BiomeGenBase.func_185362_a(this.field_151620_f[this.func_75902_a(this.field_151620_f.length)]); -+ aint1[j + i * p_75904_3_] = BiomeGenBase.func_185362_a(getWeightedBiomeEntry(net.minecraftforge.common.BiomeManager.BiomeType.ICY).biome); +- aint1[j + i * p_75904_3_] = Biome.func_185362_a(this.field_151620_f[this.func_75902_a(this.field_151620_f.length)]); ++ aint1[j + i * p_75904_3_] = Biome.func_185362_a(getWeightedBiomeEntry(net.minecraftforge.common.BiomeManager.BiomeType.ICY).biome); } else { diff --git a/patches/minecraft/net/minecraft/world/gen/structure/MapGenStronghold.java.patch b/patches/minecraft/net/minecraft/world/gen/structure/MapGenStronghold.java.patch index 81289f936..696606ee4 100644 --- a/patches/minecraft/net/minecraft/world/gen/structure/MapGenStronghold.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/structure/MapGenStronghold.java.patch @@ -2,16 +2,16 @@ +++ ../src-work/minecraft/net/minecraft/world/gen/structure/MapGenStronghold.java @@ -28,11 +28,19 @@ - for (BiomeGenBase biomegenbase : BiomeGenBase.field_185377_q) + for (Biome biome : Biome.field_185377_q) { -- if (biomegenbase != null && biomegenbase.func_185355_j() > 0.0F) -+ if (biomegenbase != null && biomegenbase.func_185355_j() > 0.0F && !net.minecraftforge.common.BiomeManager.strongHoldBiomesBlackList.contains(biomegenbase)) +- if (biome != null && biome.func_185355_j() > 0.0F) ++ if (biome != null && biome.func_185355_j() > 0.0F && !net.minecraftforge.common.BiomeManager.strongHoldBiomesBlackList.contains(biome)) { - this.field_151546_e.add(biomegenbase); + this.field_151546_e.add(biome); } } + -+ for (BiomeGenBase biome : net.minecraftforge.common.BiomeManager.strongHoldBiomes) ++ for (Biome biome : net.minecraftforge.common.BiomeManager.strongHoldBiomes) + { + if (!this.field_151546_e.contains(biome)) + { diff --git a/patches/minecraft/net/minecraft/world/gen/structure/StructureComponent.java.patch b/patches/minecraft/net/minecraft/world/gen/structure/StructureComponent.java.patch index 0d04563b4..eaec27f2e 100644 --- a/patches/minecraft/net/minecraft/world/gen/structure/StructureComponent.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/structure/StructureComponent.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/gen/structure/StructureComponent.java +++ ../src-work/minecraft/net/minecraft/world/gen/structure/StructureComponent.java -@@ -38,6 +38,10 @@ +@@ -39,6 +39,10 @@ public final NBTTagCompound func_143010_b() { diff --git a/patches/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java.patch b/patches/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java.patch index b63848da2..f6b56cbc2 100644 --- a/patches/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java.patch @@ -23,15 +23,15 @@ public List field_74931_h; public List field_74932_i = Lists.newArrayList(); public List field_74930_j = Lists.newArrayList(); -+ public BiomeGenBase biome; ++ public Biome biome; public Start() { @@ -1460,6 +1466,7 @@ this.field_74928_c = p_i2104_7_; - BiomeGenBase biomegenbase = p_i2104_1_.func_180300_a(new BlockPos(p_i2104_4_, 0, p_i2104_5_), Biomes.field_180279_ad); - this.field_74927_b = biomegenbase == Biomes.field_76769_d || biomegenbase == Biomes.field_76786_s; -+ this.biome = biomegenbase; + Biome biome = p_i2104_1_.func_180300_a(new BlockPos(p_i2104_4_, 0, p_i2104_5_), Biomes.field_180279_ad); + this.field_74927_b = biome == Biomes.field_76769_d || biome == Biomes.field_76786_s; ++ this.biome = biome; this.func_175846_a(this.field_74927_b); } diff --git a/patches/minecraft/net/minecraft/world/storage/MapData.java.patch b/patches/minecraft/net/minecraft/world/storage/MapData.java.patch index 4f6cfb714..af51761d2 100644 --- a/patches/minecraft/net/minecraft/world/storage/MapData.java.patch +++ b/patches/minecraft/net/minecraft/world/storage/MapData.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/storage/MapData.java +++ ../src-work/minecraft/net/minecraft/world/storage/MapData.java -@@ -21,7 +21,7 @@ +@@ -22,7 +22,7 @@ { public int field_76201_a; public int field_76199_b; @@ -9,7 +9,7 @@ public boolean field_186210_e; public byte field_76197_d; public byte[] field_76198_e = new byte[16384]; -@@ -45,7 +45,17 @@ +@@ -46,7 +46,17 @@ public void func_76184_a(NBTTagCompound p_76184_1_) { @@ -28,16 +28,16 @@ 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"); -@@ -96,7 +106,7 @@ +@@ -97,7 +107,7 @@ - public void func_76187_b(NBTTagCompound p_76187_1_) + public NBTTagCompound func_189551_b(NBTTagCompound p_189551_1_) { -- p_76187_1_.func_74774_a("dimension", this.field_76200_c); -+ p_76187_1_.func_74768_a("dimension", this.field_76200_c); - p_76187_1_.func_74768_a("xCenter", this.field_76201_a); - p_76187_1_.func_74768_a("zCenter", this.field_76199_b); - p_76187_1_.func_74774_a("scale", this.field_76197_d); -@@ -176,7 +186,7 @@ +- p_189551_1_.func_74774_a("dimension", this.field_76200_c); ++ p_189551_1_.func_74768_a("dimension", this.field_76200_c); + p_189551_1_.func_74768_a("xCenter", this.field_76201_a); + p_189551_1_.func_74768_a("zCenter", this.field_76199_b); + p_189551_1_.func_74774_a("scale", this.field_76197_d); +@@ -178,7 +188,7 @@ p_82567_8_ = p_82567_8_ + (p_82567_8_ < 0.0D ? -8.0D : 8.0D); b2 = (byte)((int)(p_82567_8_ * 16.0D / 360.0D)); diff --git a/patches/minecraft/net/minecraft/world/storage/SaveFormatOld.java.patch b/patches/minecraft/net/minecraft/world/storage/SaveFormatOld.java.patch index 5d70251ab..dfb416fcd 100644 --- a/patches/minecraft/net/minecraft/world/storage/SaveFormatOld.java.patch +++ b/patches/minecraft/net/minecraft/world/storage/SaveFormatOld.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/storage/SaveFormatOld.java +++ ../src-work/minecraft/net/minecraft/world/storage/SaveFormatOld.java -@@ -106,6 +106,24 @@ +@@ -108,6 +108,24 @@ } } diff --git a/patches/minecraft/net/minecraft/world/storage/SaveHandler.java.patch b/patches/minecraft/net/minecraft/world/storage/SaveHandler.java.patch index 3cce351d0..0e01b2a5a 100644 --- a/patches/minecraft/net/minecraft/world/storage/SaveHandler.java.patch +++ b/patches/minecraft/net/minecraft/world/storage/SaveHandler.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/storage/SaveHandler.java +++ ../src-work/minecraft/net/minecraft/world/storage/SaveHandler.java -@@ -117,7 +117,7 @@ +@@ -118,7 +118,7 @@ if (file1.exists()) { @@ -9,7 +9,7 @@ if (worldinfo != null) { -@@ -125,8 +125,9 @@ +@@ -126,8 +126,9 @@ } } @@ -19,8 +19,8 @@ + return file1.exists() ? SaveFormatOld.loadAndFix(file1, this.field_186341_a, this) : null; } - public void func_75755_a(WorldInfo p_75755_1_, NBTTagCompound p_75755_2_) -@@ -135,6 +136,8 @@ + public void func_75755_a(WorldInfo p_75755_1_, @Nullable NBTTagCompound p_75755_2_) +@@ -136,6 +137,8 @@ NBTTagCompound nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.func_74782_a("Data", nbttagcompound); diff --git a/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch b/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch index 5ffd902c3..cae175b98 100644 --- a/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch +++ b/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/storage/WorldInfo.java +++ ../src-work/minecraft/net/minecraft/world/storage/WorldInfo.java -@@ -60,6 +60,7 @@ +@@ -61,6 +61,7 @@ private int field_176155_J = 15; private final Map field_186348_N = Maps.newEnumMap(DimensionType.class); private GameRules field_82577_x = new GameRules(); @@ -8,7 +8,7 @@ protected WorldInfo() { -@@ -785,6 +786,26 @@ +@@ -786,6 +787,26 @@ }); } diff --git a/patches/minecraft/net/minecraft/world/storage/loot/LootTableManager.java.patch b/patches/minecraft/net/minecraft/world/storage/loot/LootTableManager.java.patch index 3c752186b..8aaf224f2 100644 --- a/patches/minecraft/net/minecraft/world/storage/loot/LootTableManager.java.patch +++ b/patches/minecraft/net/minecraft/world/storage/loot/LootTableManager.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/storage/loot/LootTableManager.java +++ ../src-work/minecraft/net/minecraft/world/storage/loot/LootTableManager.java -@@ -102,7 +102,7 @@ +@@ -104,7 +104,7 @@ try { @@ -9,7 +9,7 @@ } catch (JsonParseException jsonparseexception) { -@@ -142,7 +142,7 @@ +@@ -145,7 +145,7 @@ try { diff --git a/patches/minecraft/net/minecraft/world/storage/loot/conditions/LootConditionManager.java.patch b/patches/minecraft/net/minecraft/world/storage/loot/conditions/LootConditionManager.java.patch index 511a8e4f5..47f72e8d3 100644 --- a/patches/minecraft/net/minecraft/world/storage/loot/conditions/LootConditionManager.java.patch +++ b/patches/minecraft/net/minecraft/world/storage/loot/conditions/LootConditionManager.java.patch @@ -1,19 +1,18 @@ --- ../src-base/minecraft/net/minecraft/world/storage/loot/conditions/LootConditionManager.java +++ ../src-work/minecraft/net/minecraft/world/storage/loot/conditions/LootConditionManager.java -@@ -41,6 +41,16 @@ +@@ -42,6 +42,15 @@ } } -+ + public static boolean testAllConditions(Iterable conditions, Random rand, LootContext context) + { + if (conditions == null) return true; + for (LootCondition cond : conditions) -+ if (!cond.func_186618_a(rand, context)) ++ if (!cond.func_186618_a(rand, context)) + return false; + return true; + } + - public static boolean func_186638_a(LootCondition[] p_186638_0_, Random p_186638_1_, LootContext p_186638_2_) + public static boolean func_186638_a(@Nullable LootCondition[] p_186638_0_, Random p_186638_1_, LootContext p_186638_2_) { if (p_186638_0_ == null) diff --git a/src/main/java/net/minecraftforge/client/ForgeHooksClient.java b/src/main/java/net/minecraftforge/client/ForgeHooksClient.java index c8d46cae0..5686ff267 100644 --- a/src/main/java/net/minecraftforge/client/ForgeHooksClient.java +++ b/src/main/java/net/minecraftforge/client/ForgeHooksClient.java @@ -69,7 +69,7 @@ import net.minecraft.util.text.TextFormatting; import net.minecraft.world.BossInfoLerping; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.biome.Biome; import net.minecraftforge.client.event.DrawBlockHighlightEvent; import net.minecraftforge.client.event.EntityViewRenderEvent; import net.minecraftforge.client.event.FOVUpdateEvent; @@ -249,7 +249,7 @@ public class ForgeHooksClient for (int z = -distance; z <= distance; ++z) { BlockPos pos = center.add(x, 0, z); - BiomeGenBase biome = world.getBiomeGenForCoords(pos); + Biome biome = world.getBiomeGenForCoords(pos); int colour = biome.getSkyColorByTemp(biome.getFloatTemperature(pos)); r += (colour & 0xFF0000) >> 16; g += (colour & 0x00FF00) >> 8; diff --git a/src/main/java/net/minecraftforge/client/MinecraftForgeClient.java b/src/main/java/net/minecraftforge/client/MinecraftForgeClient.java index 5315c81fb..b631ce36c 100644 --- a/src/main/java/net/minecraftforge/client/MinecraftForgeClient.java +++ b/src/main/java/net/minecraftforge/client/MinecraftForgeClient.java @@ -8,9 +8,9 @@ package net.minecraftforge.client; import java.util.BitSet; import java.util.concurrent.TimeUnit; -import net.minecraft.client.renderer.RegionRenderCache; import net.minecraft.util.BlockRenderLayer; import net.minecraft.util.math.BlockPos; +import net.minecraft.world.ChunkCache; import net.minecraft.world.World; import org.apache.commons.lang3.tuple.Pair; @@ -68,24 +68,24 @@ public class MinecraftForgeClient } } - private static final LoadingCache, RegionRenderCache> regionCache = CacheBuilder.newBuilder() + private static final LoadingCache, ChunkCache> regionCache = CacheBuilder.newBuilder() .maximumSize(500) .concurrencyLevel(5) .expireAfterAccess(1, TimeUnit.SECONDS) - .build(new CacheLoader, RegionRenderCache>() + .build(new CacheLoader, ChunkCache>() { - public RegionRenderCache load(Pair key) throws Exception + public ChunkCache load(Pair key) throws Exception { - return new RegionRenderCache(key.getLeft(), key.getRight().add(-1, -1, -1), key.getRight().add(16, 16, 16), 1); + return new ChunkCache(key.getLeft(), key.getRight().add(-1, -1, -1), key.getRight().add(16, 16, 16), 1); } }); - public static void onRebuildChunk(World world, BlockPos position, RegionRenderCache cache) + public static void onRebuildChunk(World world, BlockPos position, ChunkCache cache) { regionCache.put(Pair.of(world, position), cache); } - public static RegionRenderCache getRegionRenderCache(World world, BlockPos pos) + public static ChunkCache getRegionRenderCache(World world, BlockPos pos) { int x = pos.getX() & ~0xF; int y = pos.getY() & ~0xF; diff --git a/src/main/java/net/minecraftforge/client/model/ModelLoader.java b/src/main/java/net/minecraftforge/client/model/ModelLoader.java index dc5326bd2..b13010411 100644 --- a/src/main/java/net/minecraftforge/client/model/ModelLoader.java +++ b/src/main/java/net/minecraftforge/client/model/ModelLoader.java @@ -44,7 +44,7 @@ import net.minecraft.client.renderer.block.model.multipart.Multipart; import net.minecraft.client.renderer.block.model.multipart.Selector; import net.minecraft.client.renderer.block.statemap.BlockStateMapper; import net.minecraft.client.renderer.block.statemap.IStateMapper; -import net.minecraft.client.renderer.texture.IIconCreator; +import net.minecraft.client.renderer.texture.ITextureMapPopulator; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; @@ -131,7 +131,7 @@ public final class ModelLoader extends ModelBakery textures.remove(TextureMap.LOCATION_MISSING_TEXTURE); textures.addAll(LOCATIONS_BUILTIN_TEXTURES); - textureMap.loadSprites(resourceManager, new IIconCreator() + textureMap.loadSprites(resourceManager, new ITextureMapPopulator() { public void registerSprites(TextureMap map) { diff --git a/src/main/java/net/minecraftforge/common/BiomeDictionary.java b/src/main/java/net/minecraftforge/common/BiomeDictionary.java index 3b535e9e7..a9433ff12 100644 --- a/src/main/java/net/minecraftforge/common/BiomeDictionary.java +++ b/src/main/java/net/minecraftforge/common/BiomeDictionary.java @@ -115,7 +115,7 @@ public class BiomeDictionary private static HashMap biomeInfoMap = new HashMap(); @SuppressWarnings("unchecked") - private static ArrayList[] typeInfoList = new ArrayList[Type.values().length]; + private static ArrayList[] typeInfoList = new ArrayList[Type.values().length]; private static class BiomeInfo { @@ -143,17 +143,17 @@ public class BiomeDictionary * @param type the type to register the biome as * @return returns true if the biome was registered successfully */ - public static boolean registerBiomeType(BiomeGenBase biome, Type ... types) + public static boolean registerBiomeType(Biome biome, Type ... types) { types = listSubTags(types); - if(BiomeGenBase.biomeRegistry.getNameForObject(biome) != null) + if(Biome.biomeRegistry.getNameForObject(biome) != null) { for(Type type : types) { if(typeInfoList[type.ordinal()] == null) { - typeInfoList[type.ordinal()] = new ArrayList(); + typeInfoList[type.ordinal()] = new ArrayList(); } typeInfoList[type.ordinal()].add(biome); @@ -161,7 +161,7 @@ public class BiomeDictionary if(!isBiomeRegistered(biome)) { - ResourceLocation location = BiomeGenBase.biomeRegistry.getNameForObject(biome); + ResourceLocation location = Biome.biomeRegistry.getNameForObject(biome); biomeInfoMap.put(location, new BiomeInfo(types)); } else @@ -184,14 +184,14 @@ public class BiomeDictionary * @param type the Type to look for * @return a list of biomes of the specified type, null if there are none */ - public static BiomeGenBase[] getBiomesForType(Type type) + public static Biome[] getBiomesForType(Type type) { if(typeInfoList[type.ordinal()] != null) { - return typeInfoList[type.ordinal()].toArray(new BiomeGenBase[0]); + return typeInfoList[type.ordinal()].toArray(new Biome[0]); } - return new BiomeGenBase[0]; + return new Biome[0]; } /** @@ -200,10 +200,10 @@ public class BiomeDictionary * @param biome the biome to check * @return the list of types, null if there are none */ - public static Type[] getTypesForBiome(BiomeGenBase biome) + public static Type[] getTypesForBiome(Biome biome) { - checkRegistration(biome); - return getBiomeInfo(biome).typeList.toArray(new Type[0]); + checkRegistration(biome); + return getBiomeInfo(biome).typeList.toArray(new Type[0]); } /** @@ -213,17 +213,17 @@ public class BiomeDictionary * @param biomeB * @return returns true if a common type is found, false otherwise */ - public static boolean areBiomesEquivalent(BiomeGenBase biomeA, BiomeGenBase biomeB) + public static boolean areBiomesEquivalent(Biome biomeA, Biome biomeB) { checkRegistration(biomeA); checkRegistration(biomeB); for(Type type : getTypesForBiome(biomeA)) { - if(containsType(getBiomeInfo(biomeB), type)) - { - return true; - } + if(containsType(getBiomeInfo(biomeB), type)) + { + return true; + } } return false; @@ -236,7 +236,7 @@ public class BiomeDictionary * @param type the type to check for * @return returns true if the biome is registered as being of type type, false otherwise */ - public static boolean isBiomeOfType(BiomeGenBase biome, Type type) + public static boolean isBiomeOfType(Biome biome, Type type) { checkRegistration(biome); return containsType(getBiomeInfo(biome), type); @@ -247,9 +247,9 @@ public class BiomeDictionary * @param biome the biome to consider * @return returns true if the biome has been registered, false otherwise */ - public static boolean isBiomeRegistered(BiomeGenBase biome) + public static boolean isBiomeRegistered(Biome biome) { - return biomeInfoMap.containsKey(BiomeGenBase.biomeRegistry.getNameForObject(biome)); + return biomeInfoMap.containsKey(Biome.biomeRegistry.getNameForObject(biome)); } public static void registerAllBiomes() @@ -265,10 +265,10 @@ public class BiomeDictionary */ public static void registerAllBiomesAndGenerateEvents() { - for (ResourceLocation biomeResource : BiomeGenBase.biomeRegistry.getKeys()) - { - BiomeGenBase biome = BiomeGenBase.biomeRegistry.getObject(biomeResource); - + for (ResourceLocation biomeResource : Biome.biomeRegistry.getKeys()) + { + Biome biome = Biome.biomeRegistry.getObject(biomeResource); + if (biome.theBiomeDecorator instanceof DeferredBiomeDecorator) { DeferredBiomeDecorator decorator = (DeferredBiomeDecorator) biome.theBiomeDecorator; @@ -286,7 +286,7 @@ public class BiomeDictionary * * @param biome the biome to be considered */ - public static void makeBestGuess(BiomeGenBase biome) + public static void makeBestGuess(Biome biome) { if (biome.theBiomeDecorator.treesPerChunk >= 3) { @@ -393,12 +393,12 @@ public class BiomeDictionary } //Internal implementation - private static BiomeInfo getBiomeInfo(BiomeGenBase biome) + private static BiomeInfo getBiomeInfo(Biome biome) { - return biomeInfoMap.get(BiomeGenBase.biomeRegistry.getNameForObject(biome)); + return biomeInfoMap.get(Biome.biomeRegistry.getNameForObject(biome)); } - - private static void checkRegistration(BiomeGenBase biome) + + private static void checkRegistration(Biome biome) { if(!isBiomeRegistered(biome)) { diff --git a/src/main/java/net/minecraftforge/common/BiomeManager.java b/src/main/java/net/minecraftforge/common/BiomeManager.java index 8eb131533..9d9740103 100644 --- a/src/main/java/net/minecraftforge/common/BiomeManager.java +++ b/src/main/java/net/minecraftforge/common/BiomeManager.java @@ -9,7 +9,7 @@ import com.google.common.collect.ImmutableList; import net.minecraft.init.Biomes; import net.minecraft.util.WeightedRandom; -import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.BiomeProvider; import net.minecraft.world.gen.structure.MapGenVillage; import net.minecraftforge.common.util.EnumHelper; @@ -18,10 +18,10 @@ public class BiomeManager { private static TrackedList[] biomes = setupBiomes(); - public static List oceanBiomes = new ArrayList(); + public static List oceanBiomes = new ArrayList(); - public static ArrayList strongHoldBiomes = new ArrayList(); - public static ArrayList strongHoldBiomesBlackList = new ArrayList(); + public static ArrayList strongHoldBiomes = new ArrayList(); + public static ArrayList strongHoldBiomesBlackList = new ArrayList(); static { @@ -65,27 +65,27 @@ public class BiomeManager return currentBiomes; } - public static void addVillageBiome(BiomeGenBase biome, boolean canSpawn) + public static void addVillageBiome(Biome biome, boolean canSpawn) { if (!MapGenVillage.villageSpawnBiomes.contains(biome)) { - ArrayList biomes = new ArrayList(MapGenVillage.villageSpawnBiomes); + ArrayList biomes = new ArrayList(MapGenVillage.villageSpawnBiomes); biomes.add(biome); MapGenVillage.villageSpawnBiomes = biomes; } } - public static void removeVillageBiome(BiomeGenBase biome) + public static void removeVillageBiome(Biome biome) { if (MapGenVillage.villageSpawnBiomes.contains(biome)) { - ArrayList biomes = new ArrayList(MapGenVillage.villageSpawnBiomes); + ArrayList biomes = new ArrayList(MapGenVillage.villageSpawnBiomes); biomes.remove(biome); MapGenVillage.villageSpawnBiomes = biomes; } } - public static void addStrongholdBiome(BiomeGenBase biome) + public static void addStrongholdBiome(Biome biome) { if (!strongHoldBiomes.contains(biome)) { @@ -93,7 +93,7 @@ public class BiomeManager } } - public static void removeStrongholdBiome(BiomeGenBase biome) + public static void removeStrongholdBiome(Biome biome) { if (!strongHoldBiomesBlackList.contains(biome)) { @@ -101,7 +101,7 @@ public class BiomeManager } } - public static void addSpawnBiome(BiomeGenBase biome) + public static void addSpawnBiome(Biome biome) { if (!BiomeProvider.allowedBiomes.contains(biome)) { @@ -109,7 +109,7 @@ public class BiomeManager } } - public static void removeSpawnBiome(BiomeGenBase biome) + public static void removeSpawnBiome(Biome biome) { if (BiomeProvider.allowedBiomes.contains(biome)) { @@ -179,9 +179,9 @@ public class BiomeManager public static class BiomeEntry extends WeightedRandom.Item { - public final BiomeGenBase biome; + public final Biome biome; - public BiomeEntry(BiomeGenBase biome, int weight) + public BiomeEntry(Biome biome, int weight) { super(weight); diff --git a/src/main/java/net/minecraftforge/common/DimensionManager.java b/src/main/java/net/minecraftforge/common/DimensionManager.java index 4d788ef5d..a96408f90 100644 --- a/src/main/java/net/minecraftforge/common/DimensionManager.java +++ b/src/main/java/net/minecraftforge/common/DimensionManager.java @@ -23,7 +23,7 @@ import net.minecraft.server.MinecraftServer; import net.minecraft.world.DimensionType; import net.minecraft.world.MinecraftException; import net.minecraft.world.World; -import net.minecraft.world.WorldManager; +import net.minecraft.world.ServerWorldEventHandler; import net.minecraft.world.WorldProvider; import net.minecraft.world.WorldServer; import net.minecraft.world.WorldServerMulti; @@ -209,7 +209,7 @@ public class DimensionManager //WorldSettings worldSettings = new WorldSettings(overworld.getWorldInfo()); WorldServer world = (dim == 0 ? overworld : (WorldServer)(new WorldServerMulti(mcServer, savehandler, dim, overworld, mcServer.theProfiler).init())); - world.addEventListener(new WorldManager(mcServer, world)); + world.addEventListener(new ServerWorldEventHandler(mcServer, world)); MinecraftForge.EVENT_BUS.post(new WorldEvent.Load(world)); if (!mcServer.isSinglePlayer()) { diff --git a/src/main/java/net/minecraftforge/common/ForgeChunkManager.java b/src/main/java/net/minecraftforge/common/ForgeChunkManager.java index 3f34aad5e..25d3f3e83 100644 --- a/src/main/java/net/minecraftforge/common/ForgeChunkManager.java +++ b/src/main/java/net/minecraftforge/common/ForgeChunkManager.java @@ -22,8 +22,8 @@ import net.minecraft.nbt.CompressedStreamTools; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.util.ClassInheritanceMultiMap; +import net.minecraft.util.math.ChunkPos; import net.minecraft.util.math.MathHelper; -import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; import net.minecraft.world.WorldServer; import net.minecraft.world.chunk.Chunk; @@ -90,7 +90,7 @@ public class ForgeChunkManager private static Map callbacks = Maps.newHashMap(); - private static Map> forcedChunks = new MapMaker().weakKeys().makeMap(); + private static Map> forcedChunks = new MapMaker().weakKeys().makeMap(); private static BiMap pendingEntities = HashBiMap.create(); private static Map> dormantChunkCache = new MapMaker().weakKeys().makeMap(); @@ -112,13 +112,13 @@ public class ForgeChunkManager public static Iterator getPersistentChunksIterableFor(final World world, Iterator chunkIterator) { - final ImmutableSetMultimap persistentChunksFor = getPersistentChunksFor(world); + final ImmutableSetMultimap persistentChunksFor = getPersistentChunksFor(world); final ImmutableSet.Builder builder = ImmutableSet.builder(); world.theProfiler.startSection("forcedChunkLoading"); - builder.addAll(Iterators.transform(persistentChunksFor.keys().iterator(), new Function() { + builder.addAll(Iterators.transform(persistentChunksFor.keys().iterator(), new Function() { @Nullable @Override - public Chunk apply(@Nullable ChunkCoordIntPair input) + public Chunk apply(@Nullable ChunkPos input) { return world.getChunkFromChunkCoords(input.chunkXPos, input.chunkZPos); } @@ -216,7 +216,7 @@ public class ForgeChunkManager { private String modId; private Type ticketType; - private LinkedHashSet requestedChunks; + private LinkedHashSet requestedChunks; private NBTTagCompound modData; public final World world; private int maxDepth; @@ -363,7 +363,7 @@ public class ForgeChunkManager /** * Gets a list of requested chunks for this ticket. */ - public ImmutableSet getChunkList() + public ImmutableSet getChunkList() { return ImmutableSet.copyOf(requestedChunks); } @@ -371,9 +371,9 @@ public class ForgeChunkManager public static class ForceChunkEvent extends Event { private final Ticket ticket; - private final ChunkCoordIntPair location; + private final ChunkPos location; - public ForceChunkEvent(Ticket ticket, ChunkCoordIntPair location) + public ForceChunkEvent(Ticket ticket, ChunkPos location) { this.ticket = ticket; this.location = location; @@ -384,7 +384,7 @@ public class ForgeChunkManager return ticket; } - public ChunkCoordIntPair getLocation() + public ChunkPos getLocation() { return location; } @@ -392,9 +392,9 @@ public class ForgeChunkManager public static class UnforceChunkEvent extends Event { private final Ticket ticket; - private final ChunkCoordIntPair location; + private final ChunkPos location; - public UnforceChunkEvent(Ticket ticket, ChunkCoordIntPair location) + public UnforceChunkEvent(Ticket ticket, ChunkPos location) { this.ticket = ticket; this.location = location; @@ -405,7 +405,7 @@ public class ForgeChunkManager return ticket; } - public ChunkCoordIntPair getLocation() + public ChunkPos getLocation() { return location; } @@ -444,7 +444,7 @@ public class ForgeChunkManager ArrayListMultimap newTickets = ArrayListMultimap.create(); tickets.put(world, newTickets); - forcedChunks.put(world, ImmutableSetMultimap.of()); + forcedChunks.put(world, ImmutableSetMultimap.of()); if (!(world instanceof WorldServer)) { @@ -743,7 +743,7 @@ public class ForgeChunkManager } if (ticket.requestedChunks!=null) { - for (ChunkCoordIntPair chunk : ImmutableSet.copyOf(ticket.requestedChunks)) + for (ChunkPos chunk : ImmutableSet.copyOf(ticket.requestedChunks)) { unforceChunk(ticket, chunk); } @@ -767,7 +767,7 @@ public class ForgeChunkManager * @param ticket The ticket registering the chunk * @param chunk The chunk to force */ - public static void forceChunk(Ticket ticket, ChunkCoordIntPair chunk) + public static void forceChunk(Ticket ticket, ChunkPos chunk) { if (ticket == null || chunk == null) { @@ -785,11 +785,11 @@ public class ForgeChunkManager ticket.requestedChunks.add(chunk); MinecraftForge.EVENT_BUS.post(new ForceChunkEvent(ticket, chunk)); - ImmutableSetMultimap newMap = ImmutableSetMultimap.builder().putAll(forcedChunks.get(ticket.world)).put(chunk, ticket).build(); + ImmutableSetMultimap newMap = ImmutableSetMultimap.builder().putAll(forcedChunks.get(ticket.world)).put(chunk, ticket).build(); forcedChunks.put(ticket.world, newMap); if (ticket.maxDepth > 0 && ticket.requestedChunks.size() > ticket.maxDepth) { - ChunkCoordIntPair removed = ticket.requestedChunks.iterator().next(); + ChunkPos removed = ticket.requestedChunks.iterator().next(); unforceChunk(ticket,removed); } } @@ -802,7 +802,7 @@ public class ForgeChunkManager * @param ticket The ticket holding the chunk list * @param chunk The chunk you wish to push to the end (so that it would be unloaded last) */ - public static void reorderChunk(Ticket ticket, ChunkCoordIntPair chunk) + public static void reorderChunk(Ticket ticket, ChunkPos chunk) { if (ticket == null || chunk == null || !ticket.requestedChunks.contains(chunk)) { @@ -817,7 +817,7 @@ public class ForgeChunkManager * @param ticket The ticket holding the chunk * @param chunk The chunk to unforce */ - public static void unforceChunk(Ticket ticket, ChunkCoordIntPair chunk) + public static void unforceChunk(Ticket ticket, ChunkPos chunk) { if (ticket == null || chunk == null) { @@ -825,9 +825,9 @@ public class ForgeChunkManager } ticket.requestedChunks.remove(chunk); MinecraftForge.EVENT_BUS.post(new UnforceChunkEvent(ticket, chunk)); - LinkedHashMultimap copy = LinkedHashMultimap.create(forcedChunks.get(ticket.world)); + LinkedHashMultimap copy = LinkedHashMultimap.create(forcedChunks.get(ticket.world)); copy.remove(chunk, ticket); - ImmutableSetMultimap newMap = ImmutableSetMultimap.copyOf(copy); + ImmutableSetMultimap newMap = ImmutableSetMultimap.copyOf(copy); forcedChunks.put(ticket.world,newMap); } @@ -857,9 +857,9 @@ public class ForgeChunkManager * @param world * @return the list of persistent chunks in the world */ - public static ImmutableSetMultimap getPersistentChunksFor(World world) + public static ImmutableSetMultimap getPersistentChunksFor(World world) { - return forcedChunks.containsKey(world) ? forcedChunks.get(world) : ImmutableSetMultimap.of(); + return forcedChunks.containsKey(world) ? forcedChunks.get(world) : ImmutableSetMultimap.of(); } static void saveWorld(World world) diff --git a/src/main/java/net/minecraftforge/common/ForgeHooks.java b/src/main/java/net/minecraftforge/common/ForgeHooks.java index 4ef224e53..9a4e06f6f 100644 --- a/src/main/java/net/minecraftforge/common/ForgeHooks.java +++ b/src/main/java/net/minecraftforge/common/ForgeHooks.java @@ -176,11 +176,11 @@ public class ForgeHooks if (!canHarvestBlock(state.getBlock(), player, world, pos)) { - return player.getBreakSpeed(state, pos) / hardness / 100F; + return player.getDigSpeed(state, pos) / hardness / 100F; } else { - return player.getBreakSpeed(state, pos) / hardness / 30F; + return player.getDigSpeed(state, pos) / hardness / 30F; } } @@ -705,7 +705,7 @@ public class ForgeHooks TileEntity tileentity = world.getTileEntity(pos); if (tileentity != null) { - Packet pkt = tileentity.getDescriptionPacket(); + Packet pkt = tileentity.func_189518_D_(); if (pkt != null) { entityPlayer.playerNetServerHandler.sendPacket(pkt); diff --git a/src/main/java/net/minecraftforge/common/chunkio/ChunkIOProvider.java b/src/main/java/net/minecraftforge/common/chunkio/ChunkIOProvider.java index 8399d3f9b..741bdfe3e 100644 --- a/src/main/java/net/minecraftforge/common/chunkio/ChunkIOProvider.java +++ b/src/main/java/net/minecraftforge/common/chunkio/ChunkIOProvider.java @@ -1,10 +1,10 @@ package net.minecraftforge.common.chunkio; -import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.storage.AnvilChunkLoader; import net.minecraft.world.gen.ChunkProviderServer; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.math.ChunkPos; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.world.ChunkDataEvent; @@ -78,8 +78,7 @@ class ChunkIOProvider implements Runnable MinecraftForge.EVENT_BUS.post(new ChunkDataEvent.Load(this.chunk, this.nbt)); // Don't call ChunkDataEvent.Load async this.chunk.setLastSaveTime(provider.worldObj.getTotalWorldTime()); - provider.id2ChunkMap.add(ChunkCoordIntPair.chunkXZ2Int(this.chunkInfo.x, this.chunkInfo.z), this.chunk); - provider.loadedChunks.add(this.chunk); + provider.id2ChunkMap.put(ChunkPos.chunkXZ2Int(this.chunkInfo.x, this.chunkInfo.z), this.chunk); this.chunk.onChunkLoad(); if (provider.chunkGenerator != null) diff --git a/src/main/java/net/minecraftforge/common/util/BlockSnapshot.java b/src/main/java/net/minecraftforge/common/util/BlockSnapshot.java index 6df3e7d31..17cc9c881 100644 --- a/src/main/java/net/minecraftforge/common/util/BlockSnapshot.java +++ b/src/main/java/net/minecraftforge/common/util/BlockSnapshot.java @@ -45,7 +45,7 @@ public class BlockSnapshot implements Serializable if (te != null) { nbt = new NBTTagCompound(); - te.writeToNBT(getNbt()); + te.func_189515_b(getNbt()); } else nbt = null; if (DEBUG) @@ -139,7 +139,7 @@ public class BlockSnapshot implements Serializable public TileEntity getTileEntity() { if (getNbt() != null) - return TileEntity.createTileEntity(getWorld().getMinecraftServer(), getNbt()); + return TileEntity.func_189514_c(getNbt()); else return null; } diff --git a/src/main/java/net/minecraftforge/common/util/ChunkCoordComparator.java b/src/main/java/net/minecraftforge/common/util/ChunkCoordComparator.java index bb87e901b..457758799 100644 --- a/src/main/java/net/minecraftforge/common/util/ChunkCoordComparator.java +++ b/src/main/java/net/minecraftforge/common/util/ChunkCoordComparator.java @@ -1,10 +1,10 @@ package net.minecraftforge.common.util; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.world.ChunkCoordIntPair; +import net.minecraft.util.math.ChunkPos; // Sorter to load nearby chunks first -public class ChunkCoordComparator implements java.util.Comparator +public class ChunkCoordComparator implements java.util.Comparator { private int x; private int z; @@ -15,7 +15,7 @@ public class ChunkCoordComparator implements java.util.Comparator> 4; } - public int compare(ChunkCoordIntPair a, ChunkCoordIntPair b) + public int compare(ChunkPos a, ChunkPos b) { if (a.equals(b)) { diff --git a/src/main/java/net/minecraftforge/common/util/EnumHelper.java b/src/main/java/net/minecraftforge/common/util/EnumHelper.java index 147377690..54c001c30 100644 --- a/src/main/java/net/minecraftforge/common/util/EnumHelper.java +++ b/src/main/java/net/minecraftforge/common/util/EnumHelper.java @@ -13,7 +13,7 @@ import net.minecraft.enchantment.EnumEnchantmentType; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.EnumCreatureType; import net.minecraft.entity.item.EntityPainting.EnumArt; -import net.minecraft.entity.player.EntityPlayer.EnumStatus; +import net.minecraft.entity.player.EntityPlayer.SleepResult; import net.minecraft.item.EnumAction; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item.ToolMaterial; @@ -47,7 +47,7 @@ public class EnumHelper {Sensitivity.class}, {RayTraceResult.Type.class}, {EnumSkyBlock.class, int.class}, - {EnumStatus.class}, + {SleepResult.class}, {ToolMaterial.class, int.class, int.class, float.class, float.class, int.class}, {EnumRarity.class, TextFormatting.class, String.class} }; @@ -92,9 +92,9 @@ public class EnumHelper { return addEnum(EnumSkyBlock.class, name, lightValue); } - public static EnumStatus addStatus(String name) + public static SleepResult addStatus(String name) { - return addEnum(EnumStatus.class, name); + return addEnum(SleepResult.class, name); } public static ToolMaterial addToolMaterial(String name, int harvestLevel, int maxUses, float efficiency, float damage, int enchantability) { diff --git a/src/main/java/net/minecraftforge/event/ForgeEventFactory.java b/src/main/java/net/minecraftforge/event/ForgeEventFactory.java index 8afe6d354..65042e187 100644 --- a/src/main/java/net/minecraftforge/event/ForgeEventFactory.java +++ b/src/main/java/net/minecraftforge/event/ForgeEventFactory.java @@ -14,7 +14,7 @@ import net.minecraft.entity.effect.EntityLightningBolt; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayer.EnumStatus; +import net.minecraft.entity.player.EntityPlayer.SleepResult; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -35,7 +35,7 @@ import net.minecraft.world.Explosion; import net.minecraft.world.World; import net.minecraft.world.WorldServer; import net.minecraft.world.WorldSettings; -import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.biome.Biome; import net.minecraft.world.chunk.ChunkPrimer; import net.minecraft.world.chunk.IChunkGenerator; import net.minecraft.world.storage.IPlayerFileData; @@ -162,7 +162,7 @@ public class ForgeEventFactory return event.getDroppedExperience(); } - public static List getPotentialSpawns(WorldServer world, EnumCreatureType type, BlockPos pos, List oldList) + public static List getPotentialSpawns(WorldServer world, EnumCreatureType type, BlockPos pos, List oldList) { WorldEvent.PotentialSpawns event = new WorldEvent.PotentialSpawns(world, type, pos, oldList); if (MinecraftForge.EVENT_BUS.post(event)) @@ -369,7 +369,7 @@ public class ForgeEventFactory return true; } - public static EnumStatus onPlayerSleepInBed(EntityPlayer player, BlockPos pos) + public static SleepResult onPlayerSleepInBed(EntityPlayer player, BlockPos pos) { PlayerSleepInBedEvent event = new PlayerSleepInBedEvent(player, pos); MinecraftForge.EVENT_BUS.post(event); diff --git a/src/main/java/net/minecraftforge/event/entity/player/PlayerSleepInBedEvent.java b/src/main/java/net/minecraftforge/event/entity/player/PlayerSleepInBedEvent.java index 29aa31a4a..6aaf68a43 100644 --- a/src/main/java/net/minecraftforge/event/entity/player/PlayerSleepInBedEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/player/PlayerSleepInBedEvent.java @@ -1,7 +1,7 @@ package net.minecraftforge.event.entity.player; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayer.EnumStatus; +import net.minecraft.entity.player.EntityPlayer.SleepResult; import net.minecraft.util.math.BlockPos; /** @@ -20,7 +20,7 @@ import net.minecraft.util.math.BlockPos; **/ public class PlayerSleepInBedEvent extends PlayerEvent { - private EnumStatus result = null; + private SleepResult result = null; private final BlockPos pos; public PlayerSleepInBedEvent(EntityPlayer player, BlockPos pos) @@ -29,12 +29,12 @@ public class PlayerSleepInBedEvent extends PlayerEvent this.pos = pos; } - public EnumStatus getResultStatus() + public SleepResult getResultStatus() { return result; } - public void setResult(EnumStatus result) + public void setResult(SleepResult result) { this.result = result; } diff --git a/src/main/java/net/minecraftforge/event/terraingen/BiomeEvent.java b/src/main/java/net/minecraftforge/event/terraingen/BiomeEvent.java index acf68c04a..a51f60079 100644 --- a/src/main/java/net/minecraftforge/event/terraingen/BiomeEvent.java +++ b/src/main/java/net/minecraftforge/event/terraingen/BiomeEvent.java @@ -3,7 +3,7 @@ package net.minecraftforge.event.terraingen; import net.minecraftforge.fml.common.eventhandler.Event; import net.minecraft.block.state.IBlockState; import net.minecraft.world.biome.BiomeDecorator; -import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.biome.Biome; /** * BiomeEvent is fired whenever an event involving biomes occurs.
@@ -14,14 +14,14 @@ import net.minecraft.world.biome.BiomeGenBase; **/ public class BiomeEvent extends Event { - private final BiomeGenBase biome; + private final Biome biome; - public BiomeEvent(BiomeGenBase biome) + public BiomeEvent(Biome biome) { this.biome = biome; } - public BiomeGenBase getBiome() + public Biome getBiome() { return biome; } @@ -45,7 +45,7 @@ public class BiomeEvent extends Event private final BiomeDecorator originalBiomeDecorator; private BiomeDecorator newBiomeDecorator; - public CreateDecorator(BiomeGenBase biome, BiomeDecorator original) + public CreateDecorator(Biome biome, BiomeDecorator original) { super(biome); originalBiomeDecorator = original; @@ -80,7 +80,7 @@ public class BiomeEvent extends Event private final int originalColor; private int newColor; - public BiomeColor(BiomeGenBase biome, int original) + public BiomeColor(Biome biome, int original) { super(biome); originalColor = original; @@ -115,7 +115,7 @@ public class BiomeEvent extends Event private final IBlockState original; private IBlockState replacement; - public GetVillageBlockID(BiomeGenBase biome, IBlockState original) + public GetVillageBlockID(Biome biome, IBlockState original) { super(biome); this.original = original; @@ -142,7 +142,7 @@ public class BiomeEvent extends Event */ public static class GetGrassColor extends BiomeColor { - public GetGrassColor(BiomeGenBase biome, int original) + public GetGrassColor(Biome biome, int original) { super(biome, original); } @@ -153,7 +153,7 @@ public class BiomeEvent extends Event */ public static class GetFoliageColor extends BiomeColor { - public GetFoliageColor(BiomeGenBase biome, int original) + public GetFoliageColor(Biome biome, int original) { super(biome, original); } @@ -164,7 +164,7 @@ public class BiomeEvent extends Event */ public static class GetWaterColor extends BiomeColor { - public GetWaterColor(BiomeGenBase biome, int original) + public GetWaterColor(Biome biome, int original) { super(biome, original); } diff --git a/src/main/java/net/minecraftforge/event/terraingen/DeferredBiomeDecorator.java b/src/main/java/net/minecraftforge/event/terraingen/DeferredBiomeDecorator.java index d41dde420..4ff7cbf9f 100644 --- a/src/main/java/net/minecraftforge/event/terraingen/DeferredBiomeDecorator.java +++ b/src/main/java/net/minecraftforge/event/terraingen/DeferredBiomeDecorator.java @@ -4,7 +4,7 @@ import java.util.Random; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeDecorator; -import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.biome.Biome; import net.minecraftforge.common.MinecraftForge; public class DeferredBiomeDecorator extends BiomeDecorator { @@ -16,13 +16,13 @@ public class DeferredBiomeDecorator extends BiomeDecorator { } @Override - public void decorate(World par1World, Random par2Random, BiomeGenBase biome, BlockPos pos) + public void decorate(World par1World, Random par2Random, Biome biome, BlockPos pos) { fireCreateEventAndReplace(biome); // On first call to decorate, we fire and substitute ourselves, if we haven't already done so biome.theBiomeDecorator.decorate(par1World, par2Random, biome, pos); } - public void fireCreateEventAndReplace(BiomeGenBase biome) + public void fireCreateEventAndReplace(Biome biome) { // Copy any configuration from us to the real instance. wrapped.bigMushroomsPerChunk = bigMushroomsPerChunk; diff --git a/src/main/java/net/minecraftforge/event/world/ChunkWatchEvent.java b/src/main/java/net/minecraftforge/event/world/ChunkWatchEvent.java index bc33653b0..425b817fa 100644 --- a/src/main/java/net/minecraftforge/event/world/ChunkWatchEvent.java +++ b/src/main/java/net/minecraftforge/event/world/ChunkWatchEvent.java @@ -1,12 +1,12 @@ package net.minecraftforge.event.world; import net.minecraftforge.fml.common.eventhandler.Event; -import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.util.math.ChunkPos; /** * ChunkWatchEvent is fired when an event involving a chunk being watched occurs.
- * If a method utilizes this {@link Event} as its parameter, the method will + * If a method utilizes this {@link Event} as its parameter, the method will * receive every child event of this class.
*
* {@link #chunk} contains the ChunkCoordIntPair of the Chunk this event is affecting.
@@ -16,16 +16,16 @@ import net.minecraft.entity.player.EntityPlayerMP; **/ public class ChunkWatchEvent extends Event { - private final ChunkCoordIntPair chunk; + private final ChunkPos chunk; private final EntityPlayerMP player; - - public ChunkWatchEvent(ChunkCoordIntPair chunk, EntityPlayerMP player) + + public ChunkWatchEvent(ChunkPos chunk, EntityPlayerMP player) { this.chunk = chunk; this.player = player; } - public ChunkCoordIntPair getChunk() + public ChunkPos getChunk() { return chunk; } @@ -48,9 +48,9 @@ public class ChunkWatchEvent extends Event **/ public static class Watch extends ChunkWatchEvent { - public Watch(ChunkCoordIntPair chunk, EntityPlayerMP player) { super(chunk, player); } + public Watch(ChunkPos chunk, EntityPlayerMP player) { super(chunk, player); } } - + /** * ChunkWatchEvent.UnWatch is fired when an EntityPlayer stops watching a chunk.
* This event is fired when a chunk is removed from the watched chunks of an EntityPlayer in @@ -64,6 +64,6 @@ public class ChunkWatchEvent extends Event **/ public static class UnWatch extends ChunkWatchEvent { - public UnWatch(ChunkCoordIntPair chunkLocation, EntityPlayerMP player) { super(chunkLocation, player); } + public UnWatch(ChunkPos chunkLocation, EntityPlayerMP player) { super(chunkLocation, player); } } } diff --git a/src/main/java/net/minecraftforge/event/world/WorldEvent.java b/src/main/java/net/minecraftforge/event/world/WorldEvent.java index d54bd3b77..20011042c 100644 --- a/src/main/java/net/minecraftforge/event/world/WorldEvent.java +++ b/src/main/java/net/minecraftforge/event/world/WorldEvent.java @@ -7,7 +7,7 @@ import net.minecraft.entity.EnumCreatureType; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.WorldSettings; -import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry; +import net.minecraft.world.biome.Biome.SpawnListEntry; import net.minecraftforge.fml.common.eventhandler.Cancelable; import net.minecraftforge.fml.common.eventhandler.Event; diff --git a/src/main/java/net/minecraftforge/fluids/BlockFluidBase.java b/src/main/java/net/minecraftforge/fluids/BlockFluidBase.java index fcde08de6..32fe7912f 100644 --- a/src/main/java/net/minecraftforge/fluids/BlockFluidBase.java +++ b/src/main/java/net/minecraftforge/fluids/BlockFluidBase.java @@ -298,7 +298,7 @@ public abstract class BlockFluidBase extends Block implements IFluidBlock } @Override - public void onNeighborBlockChange(World world, BlockPos pos, IBlockState state, Block neighborBlock) + public void func_189540_a(IBlockState state, World world, BlockPos pos, Block neighborBlock) { world.scheduleUpdate(pos, this, tickRate); } diff --git a/src/main/java/net/minecraftforge/fluids/TileFluidHandler.java b/src/main/java/net/minecraftforge/fluids/TileFluidHandler.java index f90247f6a..148e1d41a 100644 --- a/src/main/java/net/minecraftforge/fluids/TileFluidHandler.java +++ b/src/main/java/net/minecraftforge/fluids/TileFluidHandler.java @@ -20,10 +20,11 @@ public class TileFluidHandler extends TileEntity implements IFluidHandler } @Override - public void writeToNBT(NBTTagCompound tag) + public NBTTagCompound func_189515_b(NBTTagCompound tag) { - super.writeToNBT(tag); + tag = super.func_189515_b(tag); tank.writeToNBT(tag); + return tag; } /* IFluidHandler */ diff --git a/src/main/java/net/minecraftforge/fml/client/FMLClientHandler.java b/src/main/java/net/minecraftforge/fml/client/FMLClientHandler.java index 87019d157..017ebbe39 100644 --- a/src/main/java/net/minecraftforge/fml/client/FMLClientHandler.java +++ b/src/main/java/net/minecraftforge/fml/client/FMLClientHandler.java @@ -68,7 +68,7 @@ import net.minecraft.util.IThreadListener; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StringUtils; import net.minecraft.world.WorldSettings; -import net.minecraft.world.storage.SaveFormatComparator; +import net.minecraft.world.storage.WorldSummary; import net.minecraft.world.storage.SaveFormatOld; import net.minecraftforge.common.ForgeModContainer; import net.minecraftforge.fml.client.registry.RenderingRegistry; @@ -683,7 +683,7 @@ public class FMLClientHandler implements IFMLSidedHandler { return new File(client.mcDataDir, "saves"); } - public void tryLoadExistingWorld(GuiWorldSelection selectWorldGUI, SaveFormatComparator comparator) + public void tryLoadExistingWorld(GuiWorldSelection selectWorldGUI, WorldSummary comparator) { File dir = new File(getSavesDir(), comparator.getFileName()); NBTTagCompound leveldat; diff --git a/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java b/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java index d963e0b7a..4cbe2a89f 100644 --- a/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java +++ b/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java @@ -366,7 +366,7 @@ public class FMLCommonHandler { for (ICrashCallable call: crashCallables) { - category.addCrashSectionCallable(call.getLabel(), call); + category.func_189529_a(call.getLabel(), call); } } diff --git a/src/main/java/net/minecraftforge/fml/common/ICrashCallable.java b/src/main/java/net/minecraftforge/fml/common/ICrashCallable.java index f24be0bdf..a2c3b3459 100644 --- a/src/main/java/net/minecraftforge/fml/common/ICrashCallable.java +++ b/src/main/java/net/minecraftforge/fml/common/ICrashCallable.java @@ -5,16 +5,16 @@ * 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 net.minecraftforge.fml.common; -import java.util.concurrent.Callable; +import net.minecraft.crash.ICrashReportDetail; -public interface ICrashCallable extends Callable +public interface ICrashCallable extends ICrashReportDetail { String getLabel(); } diff --git a/src/main/java/net/minecraftforge/fml/common/registry/EntityRegistry.java b/src/main/java/net/minecraftforge/fml/common/registry/EntityRegistry.java index 36667aad0..225d55ef6 100644 --- a/src/main/java/net/minecraftforge/fml/common/registry/EntityRegistry.java +++ b/src/main/java/net/minecraftforge/fml/common/registry/EntityRegistry.java @@ -22,8 +22,8 @@ import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityTracker; import net.minecraft.entity.EnumCreatureType; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.biome.Biome.SpawnListEntry; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.FMLLog; import net.minecraftforge.fml.common.Loader; @@ -326,9 +326,9 @@ public class EntityRegistry * @param typeOfCreature Type of spawn * @param biomes List of biomes */ - public static void addSpawn(Class entityClass, int weightedProb, int min, int max, EnumCreatureType typeOfCreature, BiomeGenBase... biomes) + public static void addSpawn(Class entityClass, int weightedProb, int min, int max, EnumCreatureType typeOfCreature, Biome... biomes) { - for (BiomeGenBase biome : biomes) + for (Biome biome : biomes) { List spawns = biome.getSpawnableList(typeOfCreature); @@ -358,7 +358,7 @@ public class EntityRegistry * @param biomes List of biomes */ @SuppressWarnings("unchecked") - public static void addSpawn(String entityName, int weightedProb, int min, int max, EnumCreatureType typeOfCreature, BiomeGenBase... biomes) + public static void addSpawn(String entityName, int weightedProb, int min, int max, EnumCreatureType typeOfCreature, Biome... biomes) { Class entityClazz = EntityList.stringToClassMapping.get(entityName); @@ -374,9 +374,9 @@ public class EntityRegistry * @param typeOfCreature type of spawn * @param biomes Biomes to remove from */ - public static void removeSpawn(Class entityClass, EnumCreatureType typeOfCreature, BiomeGenBase... biomes) + public static void removeSpawn(Class entityClass, EnumCreatureType typeOfCreature, Biome... biomes) { - for (BiomeGenBase biome : biomes) + for (Biome biome : biomes) { Iterator spawns = biome.getSpawnableList(typeOfCreature).iterator(); @@ -398,7 +398,7 @@ public class EntityRegistry * @param biomes Biomes to remove from */ @SuppressWarnings("unchecked") - public static void removeSpawn(String entityName, EnumCreatureType typeOfCreature, BiomeGenBase... biomes) + public static void removeSpawn(String entityName, EnumCreatureType typeOfCreature, Biome... biomes) { Class entityClazz = EntityList.stringToClassMapping.get(entityName); diff --git a/src/main/java/net/minecraftforge/fml/common/registry/ForgeRegistries.java b/src/main/java/net/minecraftforge/fml/common/registry/ForgeRegistries.java index 74917b1c9..2fea34a5d 100644 --- a/src/main/java/net/minecraftforge/fml/common/registry/ForgeRegistries.java +++ b/src/main/java/net/minecraftforge/fml/common/registry/ForgeRegistries.java @@ -6,7 +6,7 @@ import net.minecraft.item.Item; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionType; import net.minecraft.util.SoundEvent; -import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.biome.Biome; import net.minecraftforge.fml.common.registry.VillagerRegistry.VillagerProfession; /** @@ -21,7 +21,7 @@ public class ForgeRegistries public static final IForgeRegistry BLOCKS = GameRegistry.findRegistry(Block.class); public static final IForgeRegistry ITEMS = GameRegistry.findRegistry(Item.class); public static final IForgeRegistry POTIONS = GameRegistry.findRegistry(Potion.class); - public static final IForgeRegistry BIOMES = GameRegistry.findRegistry(BiomeGenBase.class); + public static final IForgeRegistry BIOMES = GameRegistry.findRegistry(Biome.class); public static final IForgeRegistry SOUND_EVENTS = GameRegistry.findRegistry(SoundEvent.class); public static final IForgeRegistry POTION_TYPES = GameRegistry.findRegistry(PotionType.class); public static final IForgeRegistry ENCHANTMENTS = GameRegistry.findRegistry(Enchantment.class); diff --git a/src/main/java/net/minecraftforge/fml/common/registry/GameData.java b/src/main/java/net/minecraftforge/fml/common/registry/GameData.java index 15a937f2a..2e000eea7 100644 --- a/src/main/java/net/minecraftforge/fml/common/registry/GameData.java +++ b/src/main/java/net/minecraftforge/fml/common/registry/GameData.java @@ -26,7 +26,7 @@ import net.minecraft.util.ObjectIntIdentityMap; import net.minecraft.util.ResourceLocation; import net.minecraft.util.SoundEvent; import net.minecraft.util.registry.RegistryNamespaced; -import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.biome.Biome; import net.minecraftforge.fml.common.FMLLog; import net.minecraftforge.fml.common.Loader; import net.minecraftforge.fml.common.ModContainer; @@ -61,7 +61,7 @@ public class GameData iBlockRegistry = PersistentRegistryManager.createRegistry(PersistentRegistryManager.BLOCKS, Block.class, new ResourceLocation("minecraft:air"), MIN_BLOCK_ID, MAX_BLOCK_ID, true, BlockCallbacks.INSTANCE, BlockCallbacks.INSTANCE, BlockCallbacks.INSTANCE); iItemRegistry = PersistentRegistryManager.createRegistry(PersistentRegistryManager.ITEMS, Item.class, null, MIN_ITEM_ID, MAX_ITEM_ID, true, ItemCallbacks.INSTANCE, ItemCallbacks.INSTANCE, ItemCallbacks.INSTANCE); iPotionRegistry = PersistentRegistryManager.createRegistry(PersistentRegistryManager.POTIONS, Potion.class, null, MIN_POTION_ID, MAX_POTION_ID, false, PotionCallbacks.INSTANCE, PotionCallbacks.INSTANCE, PotionCallbacks.INSTANCE); - iBiomeRegistry = PersistentRegistryManager.createRegistry(PersistentRegistryManager.BIOMES, BiomeGenBase.class, null, MIN_BIOME_ID, MAX_BIOME_ID, false, BiomeCallbacks.INSTANCE, BiomeCallbacks.INSTANCE, BiomeCallbacks.INSTANCE); + iBiomeRegistry = PersistentRegistryManager.createRegistry(PersistentRegistryManager.BIOMES, Biome.class, null, MIN_BIOME_ID, MAX_BIOME_ID, false, BiomeCallbacks.INSTANCE, BiomeCallbacks.INSTANCE, BiomeCallbacks.INSTANCE); iSoundEventRegistry = PersistentRegistryManager.createRegistry(PersistentRegistryManager.SOUNDEVENTS, SoundEvent.class, null, MIN_SOUND_ID, MAX_SOUND_ID, false, null, null, null); ResourceLocation WATER = new ResourceLocation("water"); iPotionTypeRegistry = PersistentRegistryManager.createRegistry(PersistentRegistryManager.POTIONTYPES, PotionType.class, WATER, MIN_POTIONTYPE_ID, MAX_POTIONTYPE_ID, false, null, null, null); @@ -71,7 +71,7 @@ public class GameData private final FMLControlledNamespacedRegistry iBlockRegistry; private final FMLControlledNamespacedRegistry iItemRegistry; private final FMLControlledNamespacedRegistry iPotionRegistry; - private final FMLControlledNamespacedRegistry iBiomeRegistry; + private final FMLControlledNamespacedRegistry iBiomeRegistry; private final FMLControlledNamespacedRegistry iSoundEventRegistry; private final FMLControlledNamespacedRegistry iPotionTypeRegistry; private final FMLControlledNamespacedRegistry iEnchantmentRegistry; @@ -98,7 +98,7 @@ public class GameData /** INTERNAL ONLY */ @Deprecated - public static FMLControlledNamespacedRegistry getBiomeRegistry() { return getMain().iBiomeRegistry; } + public static FMLControlledNamespacedRegistry getBiomeRegistry() { return getMain().iBiomeRegistry; } /** INTERNAL ONLY */ @Deprecated @@ -356,12 +356,12 @@ public class GameData // no op for the minute? } } - private static class BiomeCallbacks implements IForgeRegistry.AddCallback,IForgeRegistry.ClearCallback,IForgeRegistry.CreateCallback + private static class BiomeCallbacks implements IForgeRegistry.AddCallback,IForgeRegistry.ClearCallback,IForgeRegistry.CreateCallback { static final BiomeCallbacks INSTANCE = new BiomeCallbacks(); @Override - public void onAdd(BiomeGenBase potion, int id, Map slaves) { + public void onAdd(Biome potion, int id, Map slaves) { // no op for the minute? } diff --git a/src/main/java/net/minecraftforge/fml/server/FMLServerHandler.java b/src/main/java/net/minecraftforge/fml/server/FMLServerHandler.java index f9e7db1d6..7d82c64d7 100644 --- a/src/main/java/net/minecraftforge/fml/server/FMLServerHandler.java +++ b/src/main/java/net/minecraftforge/fml/server/FMLServerHandler.java @@ -20,13 +20,13 @@ import java.util.Set; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -import net.minecraft.command.ServerCommand; import net.minecraft.launchwrapper.Launch; import net.minecraft.network.INetHandler; import net.minecraft.network.NetHandlerPlayServer; import net.minecraft.network.NetworkManager; import net.minecraft.server.MinecraftServer; import net.minecraft.server.dedicated.DedicatedServer; +import net.minecraft.server.dedicated.PendingCommand; import net.minecraft.util.IThreadListener; import net.minecraft.util.text.translation.LanguageMap; import net.minecraft.world.storage.SaveFormatOld; @@ -183,7 +183,7 @@ public class FMLServerHandler implements IFMLSidedHandler // rudimentary command processing, check for fml confirm/cancel and stop commands synchronized (dedServer.pendingCommandList) { - for (Iterator it = GenericIterableFactory.newCastingIterable(dedServer.pendingCommandList, ServerCommand.class).iterator(); it.hasNext(); ) + for (Iterator it = GenericIterableFactory.newCastingIterable(dedServer.pendingCommandList, PendingCommand.class).iterator(); it.hasNext(); ) { String cmd = it.next().command.trim().toLowerCase(); diff --git a/src/main/resources/forge.exc b/src/main/resources/forge.exc index ddeb959c8..9e7a69fda 100644 --- a/src/main/resources/forge.exc +++ b/src/main/resources/forge.exc @@ -5,27 +5,30 @@ net/minecraft/client/renderer/entity/RenderItem.renderDroppedItem(Lnet/minecraft net/minecraft/client/renderer/entity/RenderItem.renderItemIntoGUI(Lnet/minecraft/client/gui/FontRenderer;Lnet/minecraft/client/renderer/texture/TextureManager;Lnet/minecraft/item/ItemStack;IIZ)V=|p_77015_1_,p_77015_2_,p_77015_3_,p_77015_4_,p_77015_5_,renderEffect net/minecraft/server/management/PlayerList.transferPlayerToDimension(Lnet/minecraft/entity/player/EntityPlayerMP;ILnet/minecraft/world/Teleporter;)V=|p_187242_1_,p_187242_2_,teleporter net/minecraft/server/management/PlayerList.transferEntityToWorld(Lnet/minecraft/entity/Entity;ILnet/minecraft/world/WorldServer;Lnet/minecraft/world/WorldServer;Lnet/minecraft/world/Teleporter;)V=|p_82448_1_,p_82448_2_,p_82448_3_,p_82448_4_,teleporter -net/minecraft/world/World.getBiomeGenForCoordsBody(II)Lnet/minecraft/world/biome/BiomeGenBase;=|p_72807_1_,p_72807_2_ +net/minecraft/world/World.getBiomeGenForCoordsBody(II)Lnet/minecraft/world/biome/Biome;=|p_72807_1_,p_72807_2_ net/minecraft/world/World.getSunBrightnessFactor(F)F=|p_72967_1_ net/minecraft/world/World.getSunBrightnessBody(F)F=|p_72971_1_ -net/minecraft/world/World.getSkyColorBody(Lnet/minecraft/entity/Entity;F)Lnet/minecraft/util/Vec3;=|p_72833_1_,p_72833_2_ -net/minecraft/world/World.drawCloudsBody(F)Lnet/minecraft/util/Vec3;=|p_72824_1_ +net/minecraft/world/World.getSkyColorBody(Lnet/minecraft/entity/Entity;F)Lnet/minecraft/util/math/Vec3d;=|p_72833_1_,p_72833_2_ +net/minecraft/world/World.drawCloudColorBody(F)Lnet/minecraft/util/math/Vec3d;=|p_72824_1_ net/minecraft/world/World.getStarBrightnessBody(F)F=|p_72880_1_ -net/minecraft/world/World.canBlockFreezeBody(Lnet/minecraft/util/BlockPos;Z)Z=|p_175670_1_,p_175670_2_, -net/minecraft/world/World.canSnowAtBody(Lnet/minecraft/util/BlockPos;Z)Z=|p_175708_1_,p_175708_2_ -net/minecraft/world/World.canMineBlockBody(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/BlockPos;)Z=|p_175660_1_,p_175660_2_ -net/minecraft/world/WorldServer.canMineBlockBody(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/BlockPos;)Z=|p_175660_1_,p_175660_2_ -net/minecraft/world/biome/BiomeGenBase.(IZ)V=|p_i1971_1_,register +net/minecraft/world/World.canBlockFreezeBody(Lnet/minecraft/util/math/BlockPos;Z)Z=|p_175670_1_,p_175670_2_, +net/minecraft/world/World.canSnowAtBody(Lnet/minecraft/util/math/BlockPos;Z)Z=|p_175708_1_,p_175708_2_ +net/minecraft/world/World.canMineBlockBody(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/math/BlockPos;)Z=|p_175660_1_,p_175660_2_ +net/minecraft/world/World.getBiomeForCoordsBody(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/world/biome/Biome;=|p_180494_1_ +net/minecraft/world/World.markAndNotifyBlock(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/world/chunk/Chunk;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/state/IBlockState;I)V=|p_180501_1_,chunk,iblockstate,p_180501_2_,p_180501_3_ +net/minecraft/world/World.getCloudColorBody(F)Lnet/minecraft/util/math/Vec3d;=|p_72824_1_ +net/minecraft/world/WorldServer.canMineBlockBody(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/math/BlockPos;)Z=|p_175660_1_,p_175660_2_ +net/minecraft/world/biome/Biome.(IZ)V=|p_i1971_1_,register net/minecraft/world/chunk/storage/AnvilChunkLoader.loadChunk__Async(Lnet/minecraft/world/World;II)[Ljava/lang/Object;=|p_75815_1_,p_75815_2_,p_75815_3_ net/minecraft/world/chunk/storage/AnvilChunkLoader.checkedReadChunkFromNBT__Async(Lnet/minecraft/world/World;IILnet/minecraft/nbt/NBTTagCompound;)[Ljava/lang/Object;=|p_75822_1_,p_75822_2_,p_75822_3_,p_75822_4_ net/minecraft/world/chunk/storage/AnvilChunkLoader.loadEntities(Lnet/minecraft/world/World;Lnet/minecraft/nbt/NBTTagCompound;Lnet/minecraft/world/chunk/Chunk;)V=|p_75823_1_,p_75823_2_,chunk net/minecraft/world/gen/ChunkProviderServer.loadChunk(II;Ljava/lang/Runnable;)Lnet/minecraft/world/chunk/Chunk;=|p_186025_1_,p_186025_2_,runnable net/minecraft/world/gen/ChunkProviderServer.originalLoadChunk(II)Lnet/minecraft/world/chunk/Chunk;=|p_186025_1_,p_186025_2_ -net/minecraft/block/BlockFire.tryCatchFire(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;ILjava/util/Random;ILnet/minecraft/util/EnumFacing;)V=|p_176536_1_,p_176536_2_,p_176536_3_,p_176536_4_,p_176536_5_,face -net/minecraft/block/BlockSkull.getDrops(Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;I)Ljava/util/List;=|p_180663_1_,p_180663_2_,p_180663_3_,fortune -net/minecraft/item/ItemDye.applyBonemeal(Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/player/EntityPlayer;)Z=|p_179234_0_,p_179234_1_,p_179234_2_,player -net/minecraft/server/management/ItemInWorldManager.removeBlock(Lnet/minecraft/util/BlockPos;Z)Z=|p_180235_1_,canHarvest +net/minecraft/block/BlockFire.tryCatchFire(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;ILjava/util/Random;ILnet/minecraft/util/EnumFacing;)V=|p_176536_1_,p_176536_2_,p_176536_3_,p_176536_4_,p_176536_5_,face +net/minecraft/block/BlockSkull.getDrops(Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/state/IBlockState;I)Ljava/util/List;=|p_180663_1_,p_180663_2_,p_180663_3_,fortune +net/minecraft/item/ItemDye.applyBonemeal(Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/player/EntityPlayer;)Z=|p_179234_0_,p_179234_1_,p_179234_2_,player +net/minecraft/server/management/ItemInWorldManager.removeBlock(Lnet/minecraft/util/math/BlockPos;Z)Z=|p_180235_1_,canHarvest net/minecraft/client/gui/GuiScreen.drawHoveringText(Ljava/util/List;IILnet/minecraft/client/gui/FontRenderer;)V=|p_146283_1_,p_146283_2_,p_146283_3_,font net/minecraft/block/state/BlockState.(Lnet/minecraft/block/Block;[Lnet/minecraft/block/properties/IProperty;Lcom/google/common/collect/ImmutableMap;)V=|p_i45663_1_,p_i45663_2_,unlistedProperties net/minecraft/client/renderer/entity/RenderItem.applyVanillaTransform(Lnet/minecraft/client/renderer/block/model/ItemTransformVec3f;)V=|p_175034_1_ @@ -36,7 +39,7 @@ net/minecraft/client/renderer/block/model/FaceBakery.makeQuadVertexData(Lnet/min net/minecraft/client/renderer/block/model/FaceBakery.fillVertexData([IILnet/minecraft/util/EnumFacing;Lnet/minecraft/client/renderer/block/model/BlockFaceUV;[FLnet/minecraft/client/renderer/texture/TextureAtlasSprite;Lnet/minecraftforge/common/model/ITransformation;Lnet/minecraft/client/renderer/block/model/BlockPartRotation;Z)V=|p_188015_1_,p_188015_2_,p_188015_3_,p_188015_4_,p_188015_5_,p_188015_6_,p_188015_7_,p_188015_8_,p_188015_9_ net/minecraft/client/renderer/block/model/FaceBakery.rotateVertex(Lorg/lwjgl/util/vector/Vector3f;Lnet/minecraft/util/EnumFacing;ILnet/minecraftforge/common/model/ITransformation)I=|p_188011_1_,p_188011_2_,p_188011_3_,p_188011_4_ -net/minecraft/item/ItemBlock.setTileEntityNBT(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;)Z=|p_179224_0_,p_179224_1_,p_179224_2_,player +net/minecraft/item/ItemBlock.setTileEntityNBT(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;)Z=|p_179224_0_,p_179224_1_,p_179224_2_,player net/minecraft/server/management/PlayerList.initializeConnectionToPlayer(Lnet/minecraft/network/NetworkManager;Lnet/minecraft/entity/player/EntityPlayerMP;Lnet/minecraft/network/NetHandlerPlayServer;)V=|p_72355_1_,p_72355_2_,nethandlerplayserver net/minecraft/item/ItemMonsterPlacer.spawnCreature(Lnet/minecraft/world/World;Ljava/lang/String;DDD)Lnet/minecraft/entity/Entity;=|p_77840_0_,name,p_77840_2_,p_77840_4_,p_77840_6_ @@ -44,9 +47,9 @@ net/minecraft/item/ItemMonsterPlacer.spawnCreature(Lnet/minecraft/world/World;Lj net/minecraft/stats/StatList.mergeStatBases([Lnet/minecraft/stats/StatBase;Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;Z)V=|p_151180_0_,p_151180_1_,p_151180_2_,useItemIds net/minecraft/item/ItemStack.(Lnet/minecraft/item/Item;IILnet/minecraft/nbt/NBTTagCompound;)V=|p_i1881_1_,p_i1881_2_,p_i1881_3_,capNBT -net/minecraft/block/BlockRedstoneWire.canConnectTo(Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/math/BlockPos;)Z=p_176343_0_,p_176343_1_,world,pos +net/minecraft/block/BlockRedstoneWire.canConnectTo(Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/math/BlockPos;)Z=|p_176343_0_,p_176343_1_,world,pos net/minecraft/client/renderer/block/model/BakedQuad.([IILnet/minecraft/util/EnumFacing;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;ZLnet/minecraft/client/renderer/vertex/VertexFormat;)V=|p_i46574_1_,p_i46574_2_,p_i46574_3_,p_i46574_4_,applyDiffuseLighting,format -net/minecraft/client/renderer/texture/TextureMap.(Ljava/lang/String;Lnet/minecraft/client/renderer/texture/IIconCreator;Z)V=|p_i46100_1_,p_i46100_2_,skipFirst +net/minecraft/client/renderer/texture/TextureMap.(Ljava/lang/String;Lnet/minecraft/client/renderer/texture/ITextureMapPopulator;Z)V=|p_i46100_1_,p_i46100_2_,skipFirst net/minecraft/world/storage/loot/LootPool.([Lnet/minecraft/world/storage/loot/LootEntry;[Lnet/minecraft/world/storage/loot/conditions/LootCondition;Lnet/minecraft/world/storage/loot/RandomValueRange;Lnet/minecraft/world/storage/loot/RandomValueRange;Ljava/lang/String;)V=|p_i46643_1_,p_i46643_2_,p_i46643_3_,p_i46643_4_ net/minecraft/world/storage/loot/LootEntry.(II[Lnet/minecraft/world/storage/loot/conditions/LootCondition;Ljava/lang/String;)V=|p_i46642_1_,p_i46642_2_,p_i46642_3_,entryName diff --git a/src/main/resources/forge_at.cfg b/src/main/resources/forge_at.cfg index 64c6552b9..93aafaae5 100644 --- a/src/main/resources/forge_at.cfg +++ b/src/main/resources/forge_at.cfg @@ -1,22 +1,14 @@ #Main Forge Access Transformer configuration file -# EntityFishHook -#public net.minecraft.entity.projectile.EntityFishHook field_146041_e -#public net.minecraft.entity.projectile.EntityFishHook field_146036_f -#public net.minecraft.entity.projectile.EntityFishHook field_146039_d -# EntityEnderman -#public tg.br #FD:EntityEnderman/field_70827_d #carriableBlocks # SoundManager public net.minecraft.client.audio.SoundManager field_148622_c #sndHandler # Block public net.minecraft.block.Block (Lnet/minecraft/block/material/Material;)V -#public net.minecraft.block.Block func_149672_a(Lnet.minecraft.block.Block$SoundType;)Lnet.minecraft.block.Block; #setStepSound public net.minecraft.block.Block func_149752_b(F)Lnet.minecraft.block.Block; #setResistance public net.minecraft.block.Block func_149711_c(F)Lnet.minecraft.block.Block; #setHardness public net.minecraft.block.Block func_149713_g(I)Lnet.minecraft.block.Block; #setLightOpacity public net.minecraft.block.Block func_149715_a(F)Lnet.minecraft.block.Block; #setLightValue public net.minecraft.block.Block func_149722_s()Lnet.minecraft.block.Block; #setBlockUnbreakable public net.minecraft.block.Block func_149675_a(Z)Lnet.minecraft.block.Block; #setTickRandomly -#public net.minecraft.block.Block func_149676_a(FFFFFF)V #setBlockBounds public net.minecraft.block.Block func_180637_b(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;I)V # dropXpOnBlockBreak # BlockFire public net.minecraft.block.BlockFire func_176532_c(Lnet/minecraft/block/Block;)I # getFireSpreadSpeed @@ -24,34 +16,25 @@ public net.minecraft.block.BlockFire func_176534_d(Lnet/minecraft/block/Block;)I # Item public net.minecraft.item.Item func_77656_e(I)Lnet.minecraft.item.Item; #setMaxDamage public net.minecraft.item.Item func_77627_a(Z)Lnet.minecraft.item.Item; #setHasSubtypes -#public net.minecraft.item.Item func_77631_c(Ljava.lang.String;)Lnet.minecraft.item.Item; #setPotionEffect -# Potion -#public-f net.minecraft.potion.Potion field_76415_H #id # EntityPlayer -#public net.minecraft.entity.player.EntityPlayer func_71012_a(Lnet/minecraft/entity/item/EntityItem;)V #joinEntityItemWithWorld -#public net.minecraft.client.entity.EntityPlayerSP func_71012_a(Lnet/minecraft/entity/item/EntityItem;)V #joinEntityItemWithWorld public net.minecraft.entity.player.EntityPlayer func_71053_j()V #closeScreen -#public uf.b #FD:EntityPlayer/field_71076_b #sleepTimer # EntityTrackerEntry public net.minecraft.entity.EntityTrackerEntry field_73134_o # trackingPlayers -# World Gen Chests Related -public net.minecraft.util.WeightedRandomChestContent * # Save Location public net.minecraft.world.chunk.storage.AnvilChunkLoader field_75825_d # chunkSaveLocation public net.minecraft.world.gen.ChunkProviderServer field_73247_e # currentChunkLoader # World public-f net.minecraft.world.World field_72982_D #villageCollectionObj -#public abw.G #FD:World/field_72993_I #activeChunkSet -# BiomeGenBase -public net.minecraft.world.biome.BiomeGenBase *() #Everything protected->public -public net.minecraft.world.biome.BiomeGenForest *() -public net.minecraft.world.biome.BiomeGenHills *() -public net.minecraft.world.biome.BiomeGenMesa *() -public net.minecraft.world.biome.BiomeGenPlains *() -public net.minecraft.world.biome.BiomeGenSavanna *() -public net.minecraft.world.biome.BiomeGenSnow *() -public net.minecraft.world.biome.BiomeGenTaiga *() -public net.minecraft.world.biome.BiomeGenBase$BiomeProperties *() +# Biome +public net.minecraft.world.biome.Biome *() #Everything protected->public +public net.minecraft.world.biome.BiomeForest *() +public net.minecraft.world.biome.BiomeHills *() +public net.minecraft.world.biome.BiomeMesa *() +public net.minecraft.world.biome.BiomePlains *() +public net.minecraft.world.biome.BiomeSavanna *() +public net.minecraft.world.biome.BiomeSnow *() +public net.minecraft.world.biome.BiomeTaiga *() +public net.minecraft.world.biome.Biome$BiomeProperties *() # Map Gen Biome Lists public+f net.minecraft.world.gen.structure.MapGenStronghold field_151546_e # MapGenVillage @@ -106,7 +89,7 @@ public net.minecraft.client.renderer.entity.RenderBiped field_77071_a #modelBipe # ChunkProviderServer public net.minecraft.world.gen.ChunkProviderServer field_186029_c # chunkGenerator public net.minecraft.world.gen.ChunkProviderServer field_73244_f # loadedChunkHashMap -public net.minecraft.world.gen.ChunkProviderServer field_73245_g # loadedChunks +#public net.minecraft.world.gen.ChunkProviderServer field_73245_g # loadedChunks public net.minecraft.world.gen.ChunkProviderServer field_73251_h # worldObj # RenderEntityItem @@ -248,11 +231,6 @@ protected net.minecraft.client.gui.FontRenderer field_78296_k # posY protected net.minecraft.client.gui.FontRenderer func_78266_a(IZ)F # renderDefaultChar protected net.minecraft.client.gui.FontRenderer func_78277_a(CZ)F # renderUnicodeChar -# ServerConfigurationManager -#public net.minecraft.server.management.ServerConfigurationManager field_72404_b #playerEntityList - private in 1.8.8 -#public net.minecraft.server.management.ServerConfigurationManager field_177454_f #uuidToPlayerMap - private in 1.8.8 - -# ChunkProviderServer # ChunkProviderEnd private-f net.minecraft.world.gen.ChunkProviderEnd field_185969_i #lperlin1 private-f net.minecraft.world.gen.ChunkProviderEnd field_185970_j #lperlin2 @@ -284,7 +262,7 @@ private-f net.minecraft.world.gen.ChunkProviderHell field_185939_I #netherCaveGe private-f net.minecraft.world.gen.ChunkProviderHell field_73172_c #netherBridgeGenerator # PlayerManager -private-f net.minecraft.server.management.PlayerManager$PlayerInstance field_187285_e # field_187285_e +private-f net.minecraft.server.management.PlayerChunkMapEntry field_187285_e # field_187285_e # RenderLivingBase public net.minecraft.client.renderer.entity.RenderLivingBase func_177094_a(Lnet/minecraft/client/renderer/entity/layers/LayerRenderer;)Z # addLayer diff --git a/src/test/java/net/minecraftforge/debug/DynBucketTest.java b/src/test/java/net/minecraftforge/debug/DynBucketTest.java index 1846a92c2..1274077c6 100644 --- a/src/test/java/net/minecraftforge/debug/DynBucketTest.java +++ b/src/test/java/net/minecraftforge/debug/DynBucketTest.java @@ -369,16 +369,17 @@ public class DynBucketTest } @Override - public void writeToNBT(NBTTagCompound tags) + public NBTTagCompound func_189515_b(NBTTagCompound tags) { - super.writeToNBT(tags); + tags = super.func_189515_b(tags); tank.writeToNBT(tags); + return tags; } @Override - public Packet getDescriptionPacket() { + public SPacketUpdateTileEntity func_189518_D_() { NBTTagCompound tag = new NBTTagCompound(); - writeToNBT(tag); + func_189515_b(tag); return new SPacketUpdateTileEntity(this.getPos(), this.getBlockMetadata(), tag); } diff --git a/src/test/java/net/minecraftforge/test/NoBedSleepingTest.java b/src/test/java/net/minecraftforge/test/NoBedSleepingTest.java index fe1cf7f39..471a8e0bd 100644 --- a/src/test/java/net/minecraftforge/test/NoBedSleepingTest.java +++ b/src/test/java/net/minecraftforge/test/NoBedSleepingTest.java @@ -3,7 +3,7 @@ package net.minecraftforge.test; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayer.EnumStatus; +import net.minecraft.entity.player.EntityPlayer.SleepResult; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTBase; @@ -162,8 +162,8 @@ public class NoBedSleepingTest { if (!world.isRemote) { - final EnumStatus result = player.trySleep(player.getPosition()); - if (result == EnumStatus.OK) + final SleepResult result = player.trySleep(player.getPosition()); + if (result == SleepResult.OK) { final IExtraSleeping sleep = player.getCapability(SLEEP_CAP, null); if (sleep != null)