First draft of 1.6 update

This commit is contained in:
Christian 2013-06-29 13:33:14 -04:00
parent 70b1dcfbac
commit 5b5f05859c
64 changed files with 444 additions and 536 deletions

View file

@ -213,16 +213,21 @@
<copy todir="build-tmp-deobf">
<mappedresources>
<fileset dir="${mcp.home}/conf" includes="packaged.srg" />
<globmapper from="packaged.srg" to="joined.srg" />
<globmapper from="packaged.srg" to="deobfuscation_data-${version.minecraft}" />
</mappedresources>
</copy>
<touch millis="0" file="build-tmp-deobf/joined.srg" />
<zip file="deobfuscation_data_${version.minecraft}.zip" encoding="UTF-8">
<fileset dir="build-tmp-deobf" includes="joined.srg" />
</zip>
<checksum algorithm="SHA1" property="deobf.checksum" file="deobfuscation_data_${version.minecraft}.zip" />
<exec executable="lzma">
<arg line="build-tmp-deobf/deobfuscation_data-${version.minecraft}"/>
<arg line="-v"/>
</exec>
<copy todir="${basedir}">
<fileset dir="build-tmp-deobf" includes="*.lzma" />
</copy>
<antcall target="writeversion" />
<delete dir="build-tmp-deobf" />
<zip destfile="deobfuscation_data-${version.minecraft}.jar" basedir="${basedir}">
<include name="deobfuscation_data-${version.minecraft}.lzma"/>
</zip>
</target>
<target name="build" depends="buildenvsetup,merge-client,merge-common,build-deobf-data,build-universal,build-source-pack" />
@ -384,7 +389,7 @@
</classpath>
<arg path="${mcp.home}/jars/versions/${version.minecraft}/${version.minecraft}.jar.backup"/>
<arg path="${mcp.obfoutput}/minecraft"/>
<arg path="${basedir}/deobfuscation_data_${version.minecraft}.zip"/>
<arg path="${basedir}/deobfuscation_data-${version.minecraft}.lzma"/>
<arg path="${basedir}/binpatch/client"/>
<arg value="false"/>
</java>
@ -395,7 +400,7 @@
</classpath>
<arg path="${mcp.home}/jars/minecraft_server.${version.minecraft}.jar.backup"/>
<arg path="${mcp.obfoutput}/minecraft"/>
<arg path="${basedir}/deobfuscation_data_${version.minecraft}.zip"/>
<arg path="${basedir}/deobfuscation_data-${version.minecraft}.lzma"/>
<arg path="${basedir}/binpatch/server"/>
<arg value="true"/>
</java>

View file

@ -1,30 +0,0 @@
package cpw.mods.fml.client;
import java.nio.ByteBuffer;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.renderer.texture.Texture;
import net.minecraft.client.renderer.texture.TextureStitched;
public class CopySubimageTextureHelper extends TextureHelper {
@Override
public void doTextureCopy(Texture atlas, Texture source, int atlasX, int atlasY)
{
if (atlas.func_94282_c() == -1)
{
return;
}
atlas.func_94277_a(0);
ByteBuffer buffer = source.func_94273_h();
buffer.position(0);
GL11.glTexSubImage2D(GL11.GL_TEXTURE_2D, 0, atlasX, atlasY, source.func_94275_d(), source.func_94276_e(), GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, buffer);
}
@Override
public void doTextureUpload(TextureStitched source)
{
// NO OP for copysubimage
}
}

View file

@ -255,7 +255,7 @@ public class FMLClientHandler implements IFMLSidedHandler
else
{
// Force renderengine to reload and re-initialize all textures
client.field_71446_o.func_78352_b();
// client.field_71446_o.func_78352_b();
// TextureFXManager.instance().loadTextures(client.field_71418_C.func_77292_e());
}
}

View file

@ -17,6 +17,7 @@ import java.util.Map.Entry;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiYesNo;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.StringTranslate;
import com.google.common.collect.Lists;
@ -99,7 +100,7 @@ public class GuiIdMismatchScreen extends GuiYesNo {
if (!allowContinue)
{
var5.field_73746_c = this.field_73880_f / 2 - 75;
var5.field_73744_e = StringTranslate.func_74808_a().func_74805_b("gui.done");
var5.field_73744_e = I18n.func_135053_a("gui.done");
}
var5.func_73737_a(this.field_73882_e, p_73863_1_, p_73863_2_);
}

View file

@ -23,6 +23,7 @@ import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiSmallButton;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.StringTranslate;
import org.lwjgl.opengl.GL11;
@ -80,8 +81,7 @@ public class GuiModList extends GuiScreen
listWidth=Math.max(listWidth,getFontRenderer().func_78256_a(mod.getVersion()) + 10);
}
listWidth=Math.min(listWidth, 150);
StringTranslate translations = StringTranslate.func_74808_a();
this.field_73887_h.add(new GuiSmallButton(6, this.field_73880_f / 2 - 75, this.field_73881_g - 38, translations.func_74805_b("gui.done")));
this.field_73887_h.add(new GuiSmallButton(6, this.field_73880_f / 2 - 75, this.field_73881_g - 38, I18n.func_135053_a("gui.done")));
this.modList=new GuiSlotModList(this, mods, listWidth);
this.modList.registerScrollButtons(this.field_73887_h, 7, 8);
}
@ -120,7 +120,8 @@ public class GuiModList extends GuiScreen
if (!logoFile.isEmpty())
{
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.field_73882_e.field_71446_o.func_98187_b(logoFile);
// TODO
// this.field_73882_e.field_71446_o.func_98187_b(logoFile);
Dimension dim = TextureFXManager.instance().getTextureDimensions(logoFile);
double scaleX = dim.width / 200.0;
double scaleY = dim.height / 65.0;

View file

@ -5,7 +5,7 @@
* 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
*/
@ -15,6 +15,7 @@ package cpw.mods.fml.client;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiSmallButton;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.StringTranslate;
import cpw.mods.fml.common.network.ModMissingPacket;
import cpw.mods.fml.common.versioning.ArtifactVersion;
@ -31,8 +32,7 @@ public class GuiModsMissingForServer extends GuiScreen
@Override
public void func_73866_w_()
{
StringTranslate translations = StringTranslate.func_74808_a();
this.field_73887_h.add(new GuiSmallButton(1, this.field_73880_f / 2 - 75, this.field_73881_g - 38, translations.func_74805_b("gui.done")));
this.field_73887_h.add(new GuiSmallButton(1, this.field_73880_f / 2 - 75, this.field_73881_g - 38, I18n.func_135053_a("gui.done")));
}
@Override

View file

@ -5,7 +5,7 @@
* 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
*/
@ -15,6 +15,7 @@ package cpw.mods.fml.client;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.renderer.Tessellator;
@ -264,7 +265,7 @@ public abstract class GuiScrollingList
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_FOG);
Tessellator var18 = Tessellator.field_78398_a;
this.client.field_71446_o.func_98187_b("/gui/background.png");
this.client.field_71446_o.func_110577_a(Gui.field_110325_k);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
float var17 = 32.0F;
var18.func_78382_b();
@ -397,7 +398,7 @@ public abstract class GuiScrollingList
private void overlayBackground(int p_22239_1_, int p_22239_2_, int p_22239_3_, int p_22239_4_)
{
Tessellator var5 = Tessellator.field_78398_a;
this.client.field_71446_o.func_98187_b("/gui/background.png");
this.client.field_71446_o.func_110577_a(Gui.field_110325_k);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
float var6 = 32.0F;
var5.func_78382_b();

View file

@ -1,29 +0,0 @@
/*
* Forge Mod Loader
* Copyright (c) 2012-2013 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v2.1
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*
* Contributors:
* cpw - implementation
*/
package cpw.mods.fml.client;
import java.awt.Dimension;
import net.minecraft.client.renderer.RenderEngine;
import net.minecraft.client.texturepacks.ITexturePack;
public interface ITextureFX
{
public void onTexturePackChanged(RenderEngine engine, ITexturePack texturepack, Dimension dimensions);
public void onTextureDimensionsUpdate(int width, int height);
public void setErrored(boolean errored);
public boolean getErrored();
}

View file

@ -1,29 +0,0 @@
package cpw.mods.fml.client;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.renderer.texture.Texture;
import net.minecraft.client.renderer.texture.TextureStitched;
public class OpenGL43TextureHelper extends TextureHelper {
public OpenGL43TextureHelper()
{
// GL43.
// glCopyMethod = Class.forName("org.lwjgl.OpenGL")
}
@Override
public void doTextureCopy(Texture atlas, Texture source, int atlasX, int atlasY)
{
// System.out.printf("Src: %d Targ: %d, Coords %d %d %d %d\n", source.func_94282_c(), atlas.func_94282_c(), atlasX, atlasY, source.func_94275_d(), source.func_94276_e());
// GL43.glCopyImageSubData(source.func_94282_c(), GL11.GL_TEXTURE_2D, 0, 0, 0, 0, atlas.func_94282_c(), GL11.GL_TEXTURE_2D, 0, atlasX, atlasY, 0, source.func_94275_d(), source.func_94276_e(), 1);
// System.out.printf("Err: %x\n", GL11.glGetError());
}
@Override
public void doTextureUpload(TextureStitched source)
{
// source.createAndUploadTextures();
}
}

View file

@ -28,7 +28,6 @@ import com.google.common.collect.Maps;
import cpw.mods.fml.common.FMLLog;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderEngine;
public class TextureFXManager
{
@ -39,26 +38,26 @@ public class TextureFXManager
private Map<Integer,TextureHolder> texturesById = Maps.newHashMap();
private Map<String, TextureHolder> texturesByName = Maps.newHashMap();
private TextureHelper helper;
// private TextureHelper helper;
void setClient(Minecraft client)
{
this.client = client;
}
public BufferedImage loadImageFromTexturePack(RenderEngine renderEngine, String path) throws IOException
{
InputStream image=client.field_71418_C.func_77292_e().func_77532_a(path);
if (image==null) {
throw new RuntimeException(String.format("The requested image path %s is not found",path));
}
BufferedImage result=ImageIO.read(image);
if (result==null)
{
throw new RuntimeException(String.format("The requested image path %s appears to be corrupted",path));
}
return result;
}
// public BufferedImage loadImageFromTexturePack(RenderEngine renderEngine, String path) throws IOException
// {
// InputStream image=client.field_71418_C.func_77292_e().func_77532_a(path);
// if (image==null) {
// throw new RuntimeException(String.format("The requested image path %s is not found",path));
// }
// BufferedImage result=ImageIO.read(image);
// if (result==null)
// {
// throw new RuntimeException(String.format("The requested image path %s appears to be corrupted",path));
// }
// return result;
// }
//
public static TextureFXManager instance()
{
return INSTANCE;
@ -111,33 +110,33 @@ public class TextureFXManager
}
public TextureHelper getHelper()
{
if (helper == null)
{
ContextCapabilities capabilities = GLContext.getCapabilities();
boolean has43 = false;
try
{
has43 = capabilities.getClass().getField("GL_ARB_copy_image").getBoolean(capabilities);
}
catch (Exception e)
{
//e.printStackTrace();
// NOOP - LWJGL needs updating
FMLLog.info("Forge Mod Loader has detected an older LWJGL version, new advanced texture animation features are disabled");
}
// if (has43 && Boolean.parseBoolean(System.getProperty("fml.useGL43","true")))
// public TextureHelper getHelper()
// {
// if (helper == null)
// {
// ContextCapabilities capabilities = GLContext.getCapabilities();
// boolean has43 = false;
// try
// {
// FMLLog.info("Using the new OpenGL 4.3 advanced capability for animations");
// helper = new OpenGL43TextureHelper();
// has43 = capabilities.getClass().getField("GL_ARB_copy_image").getBoolean(capabilities);
// }
// else
{
FMLLog.info("Not using advanced OpenGL 4.3 advanced capability for animations : OpenGL 4.3 is %s", has43 ? "available" : "not available");
helper = new CopySubimageTextureHelper();
}
}
return helper;
}
// catch (Exception e)
// {
// //e.printStackTrace();
// // NOOP - LWJGL needs updating
// FMLLog.info("Forge Mod Loader has detected an older LWJGL version, new advanced texture animation features are disabled");
// }
//// if (has43 && Boolean.parseBoolean(System.getProperty("fml.useGL43","true")))
//// {
//// FMLLog.info("Using the new OpenGL 4.3 advanced capability for animations");
//// helper = new OpenGL43TextureHelper();
//// }
//// else
// {
// FMLLog.info("Not using advanced OpenGL 4.3 advanced capability for animations : OpenGL 4.3 is %s", has43 ? "available" : "not available");
//// helper = new CopySubimageTextureHelper();
// }
// }
// return helper;
// }
}

View file

@ -1,70 +0,0 @@
package cpw.mods.fml.client;
import java.nio.ByteBuffer;
import java.util.List;
import net.minecraft.client.renderer.texture.Texture;
import net.minecraft.client.renderer.texture.TextureStitched;
public abstract class TextureHelper {
/**
* Copy the texture from the source to the atlas at the specified position
*
* This will use the devised GL helper to do either GL-side copy or a subimage upload
*
* @param atlas The atlas texture we're copying into
* @param source The source texture we're copying from (complete)
* @param atlasX The X position on the atlas
* @param atlasY The Y position on the atlas
*/
public abstract void doTextureCopy(Texture atlas, Texture source, int atlasX, int atlasY);
/**
* Upload the texture to the GPU for GL side copying operations
* This may be a no-op depending on the active implementation.
*
* @param source The texture to upload
*/
public abstract void doTextureUpload(TextureStitched source);
/**
* Rotate the texture so that it doesn't need a rotational transform applied each tick
*
* @param texture The texture to rotate
* @param buffer The buffer for the texture
*/
public void rotateTexture(Texture texture, ByteBuffer buffer)
{
ByteBuffer bytebuffer = buffer;
buffer.position(0);
ByteBuffer other = ByteBuffer.allocateDirect(buffer.capacity());
other.position(0);
int texHeight = texture.func_94276_e();
int texWidth = texture.func_94275_d();
for (int row = 0; row < texHeight; ++row)
{
int targCol = texHeight - row - 1;
int srcRowOffset = row * texWidth;
for (int col = 0; col < texWidth; ++col)
{
int targIndex = col * texHeight + targCol;
int srcIndex = srcRowOffset + col;
srcIndex <<=2;
targIndex <<=2;
other.put(targIndex + 0, bytebuffer.get(srcIndex + 0));
other.put(targIndex + 1, bytebuffer.get(srcIndex + 1));
other.put(targIndex + 2, bytebuffer.get(srcIndex + 2));
other.put(targIndex + 3, bytebuffer.get(srcIndex + 3));
}
}
buffer.position(0);
buffer.put(other);
}
}

View file

@ -5,7 +5,7 @@
* 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
*/
@ -48,9 +48,8 @@ public class RenderingRegistry
*/
public static int addNewArmourRendererPrefix(String armor)
{
RenderPlayer.field_77110_j = ObjectArrays.concat(RenderPlayer.field_77110_j, armor);
RenderBiped.field_82424_k = RenderPlayer.field_77110_j;
return RenderPlayer.field_77110_j.length - 1;
RenderBiped.field_82424_k = ObjectArrays.concat(RenderBiped.field_82424_k, armor);
return RenderBiped.field_82424_k.length - 1;
}
/**

View file

@ -5,7 +5,7 @@
* 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
*/
@ -19,9 +19,6 @@ import java.util.logging.Logger;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.RenderEngine;
import net.minecraft.client.renderer.texture.Texture;
import net.minecraft.client.texturepacks.ITexturePack;
import net.minecraft.world.IBlockAccess;
import cpw.mods.fml.client.TextureFXManager;
@ -72,8 +69,8 @@ public class FMLRenderAccessLibrary
return RenderingRegistry.instance().renderItemAsFull3DBlock(modelId);
}
public static void doTextureCopy(Texture atlas, Texture source, int targetX, int targetY)
{
TextureFXManager.instance().getHelper().doTextureCopy(atlas, source, targetX, targetY);
}
// public static void doTextureCopy(Texture atlas, Texture source, int targetX, int targetY)
// {
// TextureFXManager.instance().getHelper().doTextureCopy(atlas, source, targetX, targetY);
// }
}

View file

@ -26,7 +26,6 @@ import net.minecraft.client.*;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.multiplayer.NetClientHandler;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.RenderEngine;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.client.settings.KeyBinding;
@ -564,11 +563,11 @@ public class ModLoader
{
}
@SideOnly(CLIENT)
public static BufferedImage loadImage(RenderEngine renderEngine, String path) throws Exception
{
return TextureFXManager.instance().loadImageFromTexturePack(renderEngine, path);
}
// @SideOnly(CLIENT)
// public static BufferedImage loadImage(RenderEngine renderEngine, String path) throws Exception
// {
// return TextureFXManager.instance().loadImageFromTexturePack(renderEngine, path);
// }
/**
* Call in from elsewhere. Unimplemented here.
@ -616,11 +615,11 @@ public class ModLoader
return keys;
}
@Deprecated
@SideOnly(CLIENT)
public static void registerAllTextureOverrides(RenderEngine cache)
{
}
// @Deprecated
// @SideOnly(CLIENT)
// public static void registerAllTextureOverrides(RenderEngine cache)
// {
// }
/**
* Register a new block

View file

@ -13,6 +13,7 @@
package cpw.mods.fml.common.asm.transformers.deobf;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@ -81,10 +82,7 @@ public class FMLDeobfuscatingRemapper extends Remapper {
try
{
File mapData = new File(deobfFileName);
mapData = mapData.getCanonicalFile();
ZipFile mapZip = new ZipFile(mapData);
ZipEntry classData = mapZip.getEntry("joined.srg");
ZipInputSupplier zis = new ZipInputSupplier(mapZip, classData);
LZMAInputSupplier zis = new LZMAInputSupplier(new FileInputStream(mapData));
InputSupplier<InputStreamReader> srgSupplier = CharStreams.newReaderSupplier(zis,Charsets.UTF_8);
List<String> srgList = CharStreams.readLines(srgSupplier);
rawMethodMaps = Maps.newHashMap();
@ -132,12 +130,8 @@ public class FMLDeobfuscatingRemapper extends Remapper {
this.classLoader = classLoader;
try
{
File libDir = new File(mcDir, "lib");
File mapData = new File(libDir, deobfFileName);
mapData = mapData.getCanonicalFile();
ZipFile mapZip = new ZipFile(mapData);
ZipEntry classData = mapZip.getEntry("joined.srg");
ZipInputSupplier zis = new ZipInputSupplier(mapZip, classData);
InputStream classData = getClass().getResourceAsStream(deobfFileName);
LZMAInputSupplier zis = new LZMAInputSupplier(classData);
InputSupplier<InputStreamReader> srgSupplier = CharStreams.newReaderSupplier(zis,Charsets.UTF_8);
List<String> srgList = CharStreams.readLines(srgSupplier);
rawMethodMaps = Maps.newHashMap();

View file

@ -5,7 +5,7 @@
* 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
*/
@ -17,22 +17,22 @@ import java.io.InputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import LZMA.LzmaInputStream;
import com.google.common.io.InputSupplier;
public class ZipInputSupplier implements InputSupplier<InputStream> {
private ZipFile zipFile;
private ZipEntry zipEntry;
public class LZMAInputSupplier implements InputSupplier<InputStream> {
private InputStream compressedData;
public ZipInputSupplier(ZipFile zip, ZipEntry entry)
public LZMAInputSupplier(InputStream compressedData)
{
this.zipFile = zip;
this.zipEntry = entry;
this.compressedData = compressedData;
}
@Override
public InputStream getInput() throws IOException
{
return zipFile.getInputStream(zipEntry);
return new LzmaInputStream(this.compressedData);
}
}

View file

@ -8,6 +8,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import com.google.common.base.Throwables;
import com.google.common.collect.ObjectArrays;
import cpw.mods.fml.relauncher.FMLLaunchHandler;
@ -20,12 +21,13 @@ public class FMLTweaker implements ITweaker {
private File assetsDir;
private String profile;
private static URI jarLocation;
private String[] array;
@Override
public void acceptOptions(List<String> args, File gameDir, File assetsDir, String profile)
{
this.args = args;
this.gameDir = gameDir;
this.gameDir = (gameDir == null ? new File(".") : gameDir);
this.assetsDir = assetsDir;
this.profile = profile;
try
@ -51,13 +53,36 @@ public class FMLTweaker implements ITweaker {
@Override
public String getLaunchTarget()
{
return "net.minecraft.client.Minecraft";
return "net.minecraft.client.main.Main";
}
@Override
public String[] getLaunchArguments()
{
return args.toArray(new String[args.size()]);
String[] array = args.toArray(new String[args.size()]);
if (gameDir != null)
{
array = ObjectArrays.concat(gameDir.getAbsolutePath(),array);
array = ObjectArrays.concat("--gameDir",array);
}
if (assetsDir != null)
{
array = ObjectArrays.concat(assetsDir.getAbsolutePath(),array);
array = ObjectArrays.concat("--assetsDir",array);
}
if (profile != null)
{
array = ObjectArrays.concat(profile,array);
array = ObjectArrays.concat("--version",array);
}
else
{
array = ObjectArrays.concat("UnknownFMLProfile",array);
array = ObjectArrays.concat("--version",array);
}
return array;
}
public File getGameDir()

View file

@ -88,6 +88,12 @@ public class ClassPatchManager {
{
FMLRelaunchLog.fine("FML URI is %s", FMLTweaker.getJarLocation());
File fmlJarFile = new File(FMLTweaker.getJarLocation());
if (!fmlJarFile.exists() || !fmlJarFile.isFile())
{
FMLRelaunchLog.log(Level.INFO, "Not found an FML jar, I assume you're developing FML. Hi cpw or Lex!");
patches = ArrayListMultimap.create();
return;
}
fmlJar = new JarFile(fmlJarFile);
}
catch (Exception e)

View file

@ -5,7 +5,7 @@
* 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
*/
@ -28,6 +28,7 @@ import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.ModContainer;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StringTranslate;
@ -45,7 +46,7 @@ public class LanguageRegistry
public String getStringLocalization(String key)
{
return getStringLocalization(key, StringTranslate.func_74808_a().func_74811_c());
return getStringLocalization(key, Minecraft.func_71410_x().func_135016_M().func_135041_c().func_135034_a());
}
public String getStringLocalization(String key, String lang)
@ -93,9 +94,9 @@ public class LanguageRegistry
public static void reloadLanguageTable()
{
// reload language table by forcing lang to null and reloading the properties file
String lang = StringTranslate.func_74808_a().func_74811_c();
StringTranslate.func_74808_a().func_74810_a(lang, true);
// // reload language table by forcing lang to null and reloading the properties file
// String lang = StringTranslate.func_74808_a().func_74811_c();
// StringTranslate.func_74808_a().func_74810_a(lang, true);
}
@ -120,17 +121,17 @@ public class LanguageRegistry
instance().addNameForObject(objectToName, "en_US", name);
}
public void loadLanguageTable(Properties languagePack, String lang)
public void loadLanguageTable(Map field_135032_a, String lang)
{
Properties usPack=modLanguageData.get("en_US");
if (usPack!=null) {
languagePack.putAll(usPack);
field_135032_a.putAll(usPack);
}
Properties langPack=modLanguageData.get(lang);
if (langPack==null) {
return;
}
languagePack.putAll(langPack);
field_135032_a.putAll(langPack);
}
public void loadLocalization(String localizationFile, String lang, boolean isXML)

View file

@ -5,7 +5,7 @@
* 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
*/
@ -19,6 +19,7 @@ import java.util.Random;
import java.util.Collection;
import java.util.Collections;
import net.minecraft.client.resources.ResourceLocation;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.item.Item;
import net.minecraft.util.Tuple;
@ -32,6 +33,8 @@ import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/**
* Registry for villager trading control
@ -45,8 +48,9 @@ public class VillagerRegistry
private Multimap<Integer, IVillageTradeHandler> tradeHandlers = ArrayListMultimap.create();
private Map<Class<?>, IVillageCreationHandler> villageCreationHandlers = Maps.newHashMap();
private Map<Integer, String> newVillagers = Maps.newHashMap();
private List<Integer> newVillagerIds = Lists.newArrayList();
@SideOnly(Side.CLIENT)
private Map<Integer, ResourceLocation> newVillagers;
/**
* Allow access to the {@link net.minecraft.world.gen.structure.StructureVillagePieces} array controlling new village
@ -110,21 +114,33 @@ public class VillagerRegistry
return INSTANCE;
}
/**
* Register your villager id
* @param id
*/
public void registerVillagerId(int id)
{
if (newVillagerIds.contains(id))
{
FMLLog.severe("Attempt to register duplicate villager id %d", id);
throw new RuntimeException();
}
newVillagerIds.add(id);
}
/**
* Register a new skin for a villager type
*
* @param villagerId
* @param villagerSkin
*/
public void registerVillagerType(int villagerId, String villagerSkin)
@SideOnly(Side.CLIENT)
public void registerVillagerSkin(int villagerId, ResourceLocation villagerSkin)
{
if (newVillagers.containsKey(villagerId))
if (newVillagers == null)
{
FMLLog.severe("Attempt to register duplicate villager id %d", villagerId);
throw new RuntimeException();
newVillagers = Maps.newHashMap();
}
newVillagers.put(villagerId, villagerSkin);
newVillagerIds.add(villagerId);
}
/**
@ -154,7 +170,8 @@ public class VillagerRegistry
* @param villagerType
* @param defaultSkin
*/
public static String getVillagerSkin(int villagerType, String defaultSkin)
@SideOnly(Side.CLIENT)
public static ResourceLocation getVillagerSkin(int villagerType, ResourceLocation defaultSkin)
{
if (instance().newVillagers.containsKey(villagerType))
{

View file

@ -64,7 +64,7 @@ public class FMLInjectionData
static String debfuscationDataName()
{
return "deobfuscation_data_"+mccversion+".zip";
return "/deobfuscation_data-"+mccversion+".lzma";
}
public static Object[] data()
{

View file

@ -105,6 +105,7 @@ public class FMLLaunchHandler
}
catch (Throwable t)
{
t.printStackTrace();
FMLRelaunchLog.log(Level.SEVERE, t, "An error occurred trying to configure the minecraft home at %s for Forge Mod Loader", minecraftHome.getAbsolutePath());
throw Throwables.propagate(t);
}

View file

@ -1,73 +1,76 @@
#Main FML Access Transformer configuration file
# TileEntity addMapping
public aqp.a(Ljava/lang/Class;Ljava/lang/String;)V #MD:TileEntity/func_70306_a
public ash.a(Ljava/lang/Class;Ljava/lang/String;)V #MD:TileEntity/func_70306_a
# EntityList addMappings
public mv.a(Ljava/lang/Class;Ljava/lang/String;I)V #MD:EntityList/func_75618_a
public mv.a(Ljava/lang/Class;Ljava/lang/String;III)V #MD:EntityList/func_75614_a
public mv.b #FD:EntityList/field_75625_b #nameToClassMap
public mv.c #FD:EntityList/field_75626_c #classToNameMap
public mv.d #FD:EntityList/field_75623_d #idToClassMap
public np.a(Ljava/lang/Class;Ljava/lang/String;I)V #MD:EntityList/func_75618_a
public np.a(Ljava/lang/Class;Ljava/lang/String;III)V #MD:EntityList/func_75614_a
public np.b #FD:EntityList/field_75625_b #nameToClassMap
public np.c #FD:EntityList/field_75626_c #classToNameMap
public np.d #FD:EntityList/field_75623_d #idToClassMap
# RenderEngine
#public bba.h #FD:RenderEngine/field_78367_h #textureList # -- MISSING MAPPING # -- MISSING MAPPING
public bge.g #FD:RenderEngine/field_78366_k #texturePack
#public bge.g #FD:RenderEngine/field_78366_k #texturePack # -- MISSING MAPPING
# RenderManager
public bgy.q #FD:RenderManager/field_78729_o #renderers
public bfx.q #FD:RenderManager/field_78729_o #renderers
# RenderBlocks - everything
public bgf.* #FD:RenderBlocks/*
public bgf.*() #MD:RenderBlocks/*
public bfd.* #FD:RenderBlocks/*
public bfd.*() #MD:RenderBlocks/*
#RenderPlayer
public-f bht.h #FD:RenderPlayer/field_77110_j #armorlist
#public-f bht.h #FD:RenderPlayer/field_77110_j #armorlist # -- MISSING MAPPING
#RenderBiped
public-f bhg.k #FD:RenderBiped/field_82424_k #armorlist
public-f bgg.l #FD:RenderBiped/field_82424_k #armorlist
#StringTranslate
public bp.b #FD:StringTranslate/field_74815_b
public bp.e #FD:StringTranslate/field_74813_d
#public bp.b #FD:StringTranslate/field_74815_b # -- MISSING MAPPING
#public bp.e #FD:StringTranslate/field_74813_d # -- MISSING MAPPING
# TileEntityRenderer
public bjd.m #FD:TileEntityRenderer/field_76966_m
public bip.m #FD:TileEntityRenderer/field_76966_m
# CraftingManager - make the add recipe methods public
public yk.a(Lwm;[Ljava/lang/Object;)Lyn; #MD:CraftingManager/func_92103_a
public yk.b(Lwm;[Ljava/lang/Object;)V #MD:CraftingManager/func_77596_b
public zz.a(Lxy;[Ljava/lang/Object;)Laac; #MD:CraftingManager/func_92103_a
public zz.b(Lxy;[Ljava/lang/Object;)V #MD:CraftingManager/func_77596_b
# WeightedRandomItem
public lo.a #FD:WeightedRandomItem/field_76292_a #probability
public mf.a #FD:WeightedRandomItem/field_76292_a #probability
# ItemStack
#public+f tv.c #FD:ItemStack/field_77993_c #itemId
# StatBase
public ka.a #FD:StatBase/field_75978_a #statName
public kq.a #FD:StatBase/field_75978_a #statName
# NetLoginHandler
public jf.a(Ljf;Z)Z #MD:NetLoginHandler/func_72531_a #'complete connection'
public jf.g #FD:NetLoginHandler/field_72543_h #userName
public ju.a(Lju;Z)Z #MD:NetLoginHandler/func_72531_a #'complete connection'
public ju.g #FD:NetLoginHandler/field_72543_h #userName
# EntityPlayerMP getNextWindowId
public jc.ct()V #MD:EntityPlayerMP/func_71117_bO
public jc.cu #FD:EntityPlayerMP/field_71139_cq
public jr.bJ()V #MD:EntityPlayerMP/func_71117_bO
public jr.bX #FD:EntityPlayerMP/field_71139_cq
# EntityAITaskEntry
public oo #CL:EntityAITaskEntry
public pq #CL:EntityAITaskEntry
# EntityAITasks
public on.a #FD:EntityAITasks/field_75782_a #taskList
public pp.a #FD:EntityAITasks/field_75782_a #taskList
# BlockChest
public aln.m(Laab;III)Z #MD:BlockChest/func_72292_n #isOcelotBlockingChest
public anc.m(Labq;III)Z #MD:BlockChest/func_72292_n #isOcelotBlockingChest
# EntityLiving
public ng.aU #FD:EntityLiving/field_70736_aM #carryoverDamage
public ng.bo #FD:EntityLiving/field_70714_bg #tasks
public ng.bG #FD:EntityLiving/field_70703_bu #isJumping
#public ng.aU #FD:EntityLiving/field_70736_aM #carryoverDamage # -- MISSING MAPPING
public oc.c #FD:EntityLiving/field_70714_bg #tasks
#public ng.bG #FD:EntityLiving/field_70703_bu #isJumping # -- MISSING MAPPING
# EntityAIOcelotSit
protected pa.a(Laab;III)Z #MD:EntityAIOcelotSit/func_75398_a #nearestSittableBlock
protected pa.f()Z #MD:EntityAIOcelotSit/func_75399_f #isblocksittable
protected qc.a(Labq;III)Z #MD:EntityAIOcelotSit/func_75398_a #nearestSittableBlock
protected qc.f()Z #MD:EntityAIOcelotSit/func_75399_f #isblocksittable
# CallableMinecraftVersion - sanity check the MC version
public c #CL:CallableMinecraftVersion
public c.<init>(Lb;)V #MD:CallableMinecraftVersion/<init>(Lnet/minecraft/src/CrashReport;) #constructor
# EntityAnimal
public qh.d #FD:EntityAnimal/field_70881_d #inLove
public rl.bp #FD:EntityAnimal/field_70881_d #inLove
# WorldType
public aal.<init>(ILjava/lang/String;)V #MD:WorldType/<init>(ILjava/lang/String;)
public aal.<init>(ILjava/lang/String;I)V #MD:WorldType/<init>(ILjava/lang/String;I)
public aca.<init>(ILjava/lang/String;)V #MD:WorldType/<init>(ILjava/lang/String;)
public aca.<init>(ILjava/lang/String;I)V #MD:WorldType/<init>(ILjava/lang/String;I)
# ComponentVillage
public ahp #CL:ComponentVillage
public aje #CL:ComponentVillage
# EntityVillager - minmax lists
public sm.a(Lzr;ILjava/util/Random;F)V #MD:EntityVillager/func_70948_a #addBuy
public sm.b(Lzr;ILjava/util/Random;F)V #MD:EntityVillager/func_70949_b #addSell
public sm.bP #FD:EntityVillager/field_70958_bB
public sm.bQ #FD:EntityVillager/field_70960_bC
public tv.a(Labg;ILjava/util/Random;F)V #MD:EntityVillager/func_70948_a #addBuy
public tv.b(Labg;ILjava/util/Random;F)V #MD:EntityVillager/func_70949_b #addSell
public tv.bB #FD:EntityVillager/field_70958_bB
public tv.bC #FD:EntityVillager/field_70960_bC
# GuiButtonMerchant
public azi #CL:GuiButtonMerchant
public axn #CL:GuiButtonMerchant
protected awk.a #FD:GuiYesNo/field_73942_a #guiScreen
protected aun.a #FD:GuiYesNo/field_73942_a #guiScreen
# Minecraft
public atm.C #FD:Minecraft/field_71425_J #running
public atm.M #FD:Minecraft/field_71446_o # textureManager

View file

@ -22,6 +22,9 @@
"children" : ["sources"],
"url" : "http://repo.maven.apache.org/maven2"
},
{
"name": "lzma:lzma:0.0.1"
},
{
"name": "com.paulscode:codecjorbis:20101023"
},
@ -119,4 +122,4 @@
}
],
"mainClass": "net.minecraft.client.main.Main"
}
}

View file

@ -1,64 +1,72 @@
--- ../src-base/minecraft/net/minecraft/client/Minecraft.java
+++ ../src-work/minecraft/net/minecraft/client/Minecraft.java
@@ -1,5 +1,9 @@
@@ -1,6 +1,11 @@
package net.minecraft.client;
import com.google.common.collect.Lists;
+
+import cpw.mods.fml.client.FMLClientHandler;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.registry.GameData;
+import cpw.mods.fml.common.registry.ItemData;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.awt.BorderLayout;
@@ -115,6 +119,8 @@
import java.awt.image.BufferedImage;
@@ -129,6 +134,8 @@
import org.lwjgl.opengl.PixelFormat;
import org.lwjgl.util.glu.GLU;
+import com.google.common.collect.MapDifference;
+
@SideOnly(Side.CLIENT)
public abstract class Minecraft implements Runnable, IPlayerUsage
public class Minecraft implements IPlayerUsage
{
@@ -299,6 +305,8 @@
this.field_71466_p = new FontRenderer(this.field_71474_y, "/font/default.png", this.field_71446_o, false);
this.field_71464_q = new FontRenderer(this.field_71474_y, "/font/alternate.png", this.field_71446_o, false);
@@ -364,6 +371,8 @@
this.func_71357_I();
this.field_71466_p = new FontRenderer(this.field_71474_y, new ResourceLocation("textures/font/ascii.png"), this.field_71446_o, false);
+ FMLClientHandler.instance().beginMinecraftLoading(this);
+
if (this.field_71474_y.field_74363_ab != null)
{
StringTranslate.func_74808_a().func_74810_a(this.field_71474_y.field_74363_ab, false);
@@ -334,6 +342,8 @@
this.field_71466_p.func_78264_a(this.field_135017_as.func_135042_a());
@@ -396,6 +405,7 @@
this.field_71446_o.func_130088_a(TextureMap.field_110576_c, new TextureMap(1, "textures/items/"));
GL11.glViewport(0, 0, this.field_71443_c, this.field_71440_d);
this.field_71452_i = new EffectRenderer(this.field_71441_e, this.field_71446_o);
+ FMLClientHandler.instance().finishMinecraftLoading();
+
try
{
this.field_71430_V = new ThreadDownloadResources(this.field_71412_D, this);
@@ -362,6 +372,8 @@
this.func_71361_d("Post startup");
this.field_71456_v = new GuiIngame(this);
@@ -414,6 +424,7 @@
{
this.func_71352_k();
}
+
+ FMLClientHandler.instance().onInitializationComplete();
}
private void func_71357_I() throws LWJGLException
@@ -723,9 +735,11 @@
public void func_110436_a()
@@ -725,6 +736,7 @@
{
this.func_71405_e();
}
+
}
if (!this.field_71454_w)
{
private void func_71411_J()
@@ -793,9 +805,11 @@
if (!this.field_71454_w)
{
+ FMLCommonHandler.instance().onRenderTickStart(this.field_71428_T.field_74281_c);
this.field_71424_I.func_76318_c("gameRenderer");
this.field_71460_t.func_78480_b(this.field_71428_T.field_74281_c);
this.field_71424_I.func_76319_b();
this.field_71424_I.func_76318_c("gameRenderer");
this.field_71460_t.func_78480_b(this.field_71428_T.field_74281_c);
this.field_71424_I.func_76319_b();
+ FMLCommonHandler.instance().onRenderTickEnd(this.field_71428_T.field_74281_c);
}
}
GL11.glFlush();
@@ -1255,10 +1269,14 @@
GL11.glFlush();
@@ -1317,10 +1331,14 @@
public void func_71407_l()
{
@ -73,7 +81,7 @@
this.field_71424_I.func_76320_a("stats");
this.field_71413_E.func_77449_e();
@@ -1716,6 +1734,8 @@
@@ -1771,6 +1789,8 @@
this.field_71453_ak.func_74428_b();
}
@ -82,7 +90,7 @@
this.field_71424_I.func_76319_b();
this.field_71423_H = func_71386_F();
}
@@ -1754,8 +1774,27 @@
@@ -1794,8 +1814,27 @@
}
this.field_71413_E.func_77450_a(StatList.field_75936_f, 1);
@ -108,5 +116,5 @@
+ public void continueWorldLoading()
+ {
this.field_71455_al = true;
this.field_71461_s.func_73720_a(StatCollector.func_74838_a("menu.loadingLevel"));
this.field_71461_s.func_73720_a(I18n.func_135053_a("menu.loadingLevel"));

View file

@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiCreateWorld.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiCreateWorld.java
@@ -214,6 +214,8 @@
@@ -212,6 +212,8 @@
}
}

View file

@ -1,7 +1,7 @@
--- ../src-base/minecraft/net/minecraft/client/gui/GuiErrorScreen.java
+++ ../src-work/minecraft/net/minecraft/client/gui/GuiErrorScreen.java
@@ -22,6 +22,8 @@
this.field_73887_h.add(new GuiButton(0, this.field_73880_f / 2 - 100, 140, StatCollector.func_74838_a("gui.cancel")));
this.field_73887_h.add(new GuiButton(0, this.field_73880_f / 2 - 100, 140, I18n.func_135053_a("gui.cancel")));
}
+ public GuiErrorScreen(){}

View file

@ -7,53 +7,59 @@
+import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.awt.image.BufferedImage;
@@ -24,6 +26,9 @@
import java.io.BufferedReader;
@@ -9,6 +11,7 @@
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
+import java.util.List;
import java.util.Random;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.Tessellator;
@@ -23,6 +26,9 @@
import org.apache.commons.io.Charsets;
import org.lwjgl.opengl.GL11;
import org.lwjgl.util.glu.GLU;
import org.lwjgl.util.glu.Project;
+
+import com.google.common.base.Strings;
+import com.google.common.collect.Lists;
+
@SideOnly(Side.CLIENT)
public class GuiMainMenu extends GuiScreen
{
@@ -48,6 +53,8 @@
private int field_92020_v;
private int field_92019_w;
@@ -52,6 +58,8 @@
private ResourceLocation field_110351_G;
private GuiButton field_130023_H;
+ private GuiButton fmlModButton = null;
+
public GuiMainMenu()
{
BufferedReader bufferedreader = null;
@@ -165,6 +172,9 @@
{
this.func_73969_a(i, 24, stringtranslate);
}
+
+ fmlModButton = new GuiButton(6, this.field_73880_f / 2 - 100, i + 48, "Mods");
+ this.field_73887_h.add(fmlModButton);
this.func_96137_a(stringtranslate, i, 24);
@@ -211,7 +221,14 @@
private void func_98060_b(StringTranslate p_98060_1_, int p_98060_2_, int p_98060_3_)
@@ -203,13 +211,22 @@
private void func_130022_h()
{
- this.field_73887_h.add(new GuiButton(3, this.field_73880_f / 2 - 100, p_98060_2_ + p_98060_3_ * 2, p_98060_1_.func_74805_b("menu.online")));
+ //If Minecraft Realms is enabled, halve the size of both buttons and set them next to eachother.
this.field_130023_H.field_73748_h = true;
+ fmlModButton.field_73747_a = 98;
+ fmlModButton.field_73746_c = this.field_73880_f / 2 + 2;
+
+ GuiButton realmButton = new GuiButton(3, this.field_73880_f / 2 - 100, p_98060_2_ + p_98060_3_ * 2, p_98060_1_.func_74805_b("menu.online"));
+ realmButton.field_73747_a = 98;
+ realmButton.field_73746_c = this.field_73880_f / 2 - 100;
+ this.field_73887_h.add(realmButton);
}
private void func_73969_a(int p_73969_1_, int p_73969_2_, StringTranslate p_73969_3_)
@@ -263,6 +280,11 @@
private void func_73969_a(int p_73969_1_, int p_73969_2_)
{
this.field_73887_h.add(new GuiButton(1, this.field_73880_f / 2 - 100, p_73969_1_, I18n.func_135053_a("menu.singleplayer")));
this.field_73887_h.add(new GuiButton(2, this.field_73880_f / 2 - 100, p_73969_1_ + p_73969_2_ * 1, I18n.func_135053_a("menu.multiplayer")));
- this.field_73887_h.add(this.field_130023_H = new GuiButton(14, this.field_73880_f / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.func_135053_a("menu.online")));
+ //If Minecraft Realms is enabled, halve the size of both buttons and set them next to eachother.
+ fmlModButton = new GuiButton(6, this.field_73880_f / 2 - 100, p_73969_1_ + p_73969_2_ * 2, "Mods");
+ this.field_73887_h.add(fmlModButton);
+
+ field_130023_H = new GuiButton(14, this.field_73880_f / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.func_135053_a("menu.online"));
+ field_130023_H.field_73747_a = 98;
+ field_130023_H.field_73746_c = this.field_73880_f / 2 - 100;
+ this.field_73887_h.add(field_130023_H);
this.field_130023_H.field_73748_h = false;
}
@@ -256,6 +273,11 @@
if (p_73875_1_.field_73741_f == 4)
{
this.field_73882_e.func_71400_g();
@ -65,7 +71,7 @@
}
if (p_73875_1_.field_73741_f == 11)
@@ -501,7 +523,16 @@
@@ -492,7 +514,16 @@
s = s + " Demo";
}

View file

@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java
+++ ../src-work/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java
@@ -133,4 +133,10 @@
@@ -131,4 +131,10 @@
{
return p_98096_0_.field_73882_e;
}

View file

@ -7,8 +7,8 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.BufferedReader;
@@ -191,11 +192,14 @@
private GuiScreen field_98183_l = null;
@@ -201,11 +202,14 @@
private GuiScreen field_98183_l;
Random field_72557_e = new Random();
+ private static byte connectionCompatibilityLevel;
@ -22,7 +22,7 @@
}
public NetClientHandler(Minecraft p_i11012_1_, String p_i11012_2_, int p_i11012_3_, GuiScreen p_i11012_4_) throws IOException
@@ -204,6 +208,7 @@
@@ -214,6 +218,7 @@
this.field_98183_l = p_i11012_4_;
Socket socket = new Socket(InetAddress.getByName(p_i11012_2_), p_i11012_3_);
this.field_72555_g = new TcpConnection(p_i11012_1_.func_98033_al(), socket, "Client", this);
@ -30,15 +30,15 @@
}
public NetClientHandler(Minecraft p_i3104_1_, IntegratedServer p_i3104_2_) throws IOException
@@ -211,6 +216,7 @@
@@ -221,6 +226,7 @@
this.field_72563_h = p_i3104_1_;
this.field_72555_g = new MemoryConnection(p_i3104_1_.func_98033_al(), this);
p_i3104_2_.func_71343_a().func_71754_a((MemoryConnection)this.field_72555_g, p_i3104_1_.field_71449_j.field_74286_b);
p_i3104_2_.func_71343_a().func_71754_a((MemoryConnection)this.field_72555_g, p_i3104_1_.func_110432_I().func_111285_a());
+ FMLNetworkHandler.onClientConnectionToIntegratedServer(this, p_i3104_2_, this.field_72555_g);
}
public void func_72547_c()
@@ -281,6 +287,7 @@
@@ -292,6 +298,7 @@
public void func_72513_a(Packet252SharedKey p_72513_1_)
{
@ -46,7 +46,7 @@
this.func_72552_c(new Packet205ClientCommand(0));
}
@@ -296,6 +303,7 @@
@@ -307,6 +314,7 @@
this.field_72563_h.field_71439_g.field_70157_k = p_72455_1_.field_73561_a;
this.field_72556_d = p_72455_1_.field_73562_h;
this.field_72563_h.field_71442_b.func_78746_a(p_72455_1_.field_73557_d);
@ -54,7 +54,7 @@
this.field_72563_h.field_71474_y.func_82879_c();
}
@@ -744,6 +752,7 @@
@@ -760,6 +768,7 @@
{
this.field_72555_g.func_74429_a(p_72546_1_);
this.field_72555_g.func_74423_d();
@ -62,15 +62,15 @@
}
}
@@ -783,6 +792,7 @@
@@ -799,6 +808,7 @@
public void func_72481_a(Packet3Chat p_72481_1_)
{
+ p_72481_1_ = FMLNetworkHandler.handleChatMessage(this, p_72481_1_);
this.field_72563_h.field_71456_v.func_73827_b().func_73765_a(p_72481_1_.field_73476_b);
this.field_72563_h.field_71456_v.func_73827_b().func_73765_a(ChatMessageComponent.func_111078_c(p_72481_1_.field_73476_b).func_111068_a(true));
}
@@ -1328,6 +1338,11 @@
@@ -1379,6 +1389,11 @@
public void func_72494_a(Packet131MapData p_72494_1_)
{
@ -82,19 +82,19 @@
if (p_72494_1_.field_73438_a == Item.field_77744_bd.field_77779_bT)
{
ItemMap.func_77874_a(p_72494_1_.field_73436_b, this.field_72563_h.field_71441_e).func_76192_a(p_72494_1_.field_73437_c);
@@ -1439,6 +1454,11 @@
@@ -1490,6 +1505,11 @@
public void func_72501_a(Packet250CustomPayload p_72501_1_)
{
+ FMLNetworkHandler.handlePacket250Packet(p_72501_1_, field_72555_g, this);
+ FMLNetworkHandler.handlePacket250Packet(p_72501_1_, field_72555_g, this);
+ }
+
+ public void handleVanilla250Packet(Packet250CustomPayload p_72501_1_)
+ {
if ("MC|TPack".equals(p_72501_1_.field_73630_a))
if ("MC|TrList".equals(p_72501_1_.field_73630_a))
{
String[] astring = (new String(p_72501_1_.field_73629_c)).split("\u0000");
@@ -1606,4 +1626,20 @@
DataInputStream datainputstream = new DataInputStream(new ByteArrayInputStream(p_72501_1_.field_73629_c));
@@ -1670,4 +1690,20 @@
{
return this.field_72555_g;
}

View file

@ -1,14 +1,14 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/RenderBlocks.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/RenderBlocks.java
@@ -34,6 +34,7 @@
import net.minecraft.block.BlockWall;
@@ -35,6 +35,7 @@
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.src.FMLRenderAccessLibrary;
import net.minecraft.util.Direction;
import net.minecraft.util.Icon;
import net.minecraft.util.MathHelper;
@@ -222,7 +223,51 @@
@@ -223,7 +224,51 @@
{
p_78612_1_.func_71902_a(this.field_78669_a, p_78612_2_, p_78612_3_, p_78612_4_);
this.func_83018_a(p_78612_1_);
@ -61,7 +61,7 @@
}
}
@@ -7618,6 +7663,10 @@
@@ -7636,6 +7681,10 @@
this.func_96447_a((BlockHopper)p_78600_1_, 0, 0, 0, 0, true);
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
}
@ -72,7 +72,7 @@
}
else
{
@@ -7676,7 +7725,25 @@
@@ -7694,7 +7743,25 @@
public static boolean func_78597_b(int p_78597_0_)
{

View file

@ -0,0 +1,18 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/entity/RenderVillager.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/entity/RenderVillager.java
@@ -1,5 +1,6 @@
package net.minecraft.client.renderer.entity;
+import cpw.mods.fml.common.registry.VillagerRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelVillager;
@@ -52,7 +53,7 @@
case 4:
return field_110906_m;
default:
- return field_110903_f;
+ return VillagerRegistry.getVillagerSkin(p_110902_1_.func_70946_n(), field_110903_f);
}
}

View file

@ -1,11 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/texture/TextureClock.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/texture/TextureClock.java
@@ -66,7 +66,7 @@
if (i != this.field_94222_f)
{
this.field_94222_f = i;
- this.field_94228_a.func_94281_a(this.field_94224_d, this.field_94225_e, (Texture)this.field_94226_b.get(this.field_94222_f), this.field_94227_c);
+ this.field_94228_a.func_94281_a(this.field_94224_d, this.field_94225_e, (Texture)this.field_94226_b.get(this.field_94222_f), false); //FML: We rotate the textures in init.
}
}
}

View file

@ -1,11 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/texture/TextureCompass.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/texture/TextureCompass.java
@@ -94,7 +94,7 @@
if (i != this.field_94222_f)
{
this.field_94222_f = i;
- this.field_94228_a.func_94281_a(this.field_94224_d, this.field_94225_e, (Texture)this.field_94226_b.get(this.field_94222_f), this.field_94227_c);
+ this.field_94228_a.func_94281_a(this.field_94224_d, this.field_94225_e, (Texture)this.field_94226_b.get(this.field_94222_f), false); //FML: We rotate the textures in init.
}
}
}

View file

@ -0,0 +1,19 @@
--- ../src-base/minecraft/net/minecraft/client/resources/LanguageManager.java
+++ ../src-work/minecraft/net/minecraft/client/resources/LanguageManager.java
@@ -3,6 +3,8 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
+
+import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.IOException;
@@ -80,6 +82,7 @@
}
field_135049_a.func_135022_a(p_110549_1_, arraylist);
+ LanguageRegistry.instance().loadLanguageTable(field_135049_a.field_135032_a, this.field_135048_c);
StringTranslate.func_135063_a(field_135049_a.field_135032_a);
}

View file

@ -7,7 +7,7 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.BufferedReader;
@@ -691,6 +692,7 @@
@@ -705,6 +706,7 @@
public void func_74303_b()
{

View file

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

View file

@ -10,7 +10,7 @@
import net.minecraft.entity.ai.EntityMinecartMobSpawner;
import net.minecraft.entity.boss.EntityDragon;
import net.minecraft.entity.boss.EntityWither;
@@ -125,9 +128,10 @@
@@ -126,9 +129,10 @@
p_75615_0_.func_82580_o("Type");
}
@ -22,7 +22,7 @@
if (oclass != null)
{
@@ -141,7 +145,17 @@
@@ -142,7 +146,17 @@
if (entity != null)
{

View file

@ -9,7 +9,7 @@
import net.minecraft.crash.CrashReport;
import net.minecraft.crash.CrashReportCategory;
import net.minecraft.entity.boss.EntityDragon;
@@ -53,6 +55,11 @@
@@ -51,6 +53,11 @@
public void func_72786_a(Entity p_72786_1_)
{

View file

@ -1,15 +1,15 @@
--- ../src-base/minecraft/net/minecraft/entity/EntityTrackerEntry.java
+++ ../src-work/minecraft/net/minecraft/entity/EntityTrackerEntry.java
@@ -4,6 +4,8 @@
@@ -5,6 +5,8 @@
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+
+import cpw.mods.fml.common.network.FMLNetworkHandler;
import net.minecraft.entity.ai.attributes.ServersideAttributeMap;
import net.minecraft.entity.boss.EntityDragon;
import net.minecraft.entity.item.EntityBoat;
import net.minecraft.entity.item.EntityEnderCrystal;
@@ -357,6 +359,14 @@
@@ -378,6 +380,14 @@
this.field_73138_k = this.field_73132_a.field_70181_x;
this.field_73135_l = this.field_73132_a.field_70179_y;
@ -24,7 +24,7 @@
if (this.field_73143_t && !(packet instanceof Packet24MobSpawn))
{
p_73117_1_.field_71135_a.func_72567_b(new Packet28EntityVelocity(this.field_73132_a.field_70157_k, this.field_73132_a.field_70159_w, this.field_73132_a.field_70181_x, this.field_73132_a.field_70179_y));
@@ -429,6 +439,13 @@
@@ -455,6 +465,13 @@
if (this.field_73132_a.field_70128_L)
{
this.field_73132_a.field_70170_p.func_98180_V().func_98236_b("Fetching addPacket for removed entity");

View file

@ -9,4 +9,4 @@
-@SideOnly(Side.CLIENT)
public interface IBossDisplayData
{
int func_70667_aM();
float func_70667_aM();

View file

@ -9,7 +9,7 @@
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
@@ -279,6 +281,8 @@
@@ -277,6 +279,8 @@
p_70100_1_.func_71029_a(AchievementList.field_76027_z);
}

View file

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

View file

@ -7,16 +7,7 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.Collections;
@@ -242,7 +243,7 @@
case 4:
return "/mob/villager/butcher.png";
default:
- return super.func_70073_O();
+ return VillagerRegistry.getVillagerSkin(this.func_70946_n(), super.func_70073_O());
}
}
@@ -423,6 +424,7 @@
@@ -420,6 +421,7 @@
MerchantRecipeList merchantrecipelist;
merchantrecipelist = new MerchantRecipeList();
@ -24,12 +15,12 @@
int j;
label50:
@@ -638,7 +640,7 @@
public void func_82163_bD()
@@ -624,7 +626,7 @@
public EntityLivingData func_110161_a(EntityLivingData p_110161_1_)
{
p_110161_1_ = super.func_110161_a(p_110161_1_);
- this.func_70938_b(this.field_70170_p.field_73012_v.nextInt(5));
+ VillagerRegistry.applyRandomTrade(this, field_70170_p.field_73012_v);
return p_110161_1_;
}
public void func_82187_q()

View file

@ -8,7 +8,7 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.Collection;
@@ -182,6 +184,7 @@
@@ -183,6 +185,7 @@
public void func_70071_h_()
{
@ -16,7 +16,7 @@
if (this.field_71074_e != null)
{
ItemStack itemstack = this.field_71071_by.func_70448_g();
@@ -305,6 +308,7 @@
@@ -306,6 +309,7 @@
{
this.field_71100_bB.func_75118_a(this);
}
@ -24,9 +24,9 @@
}
public int func_82145_z()
@@ -1905,4 +1909,9 @@
@@ -1954,4 +1958,9 @@
{
return ScorePlayerTeam.func_96667_a(this.func_96124_cp(), this.field_71092_bJ);
return this.func_70096_w().func_111145_d(17);
}
+
+ public void openGui(Object mod, int modGuiId, World world, int x, int y, int z)

View file

@ -1,13 +1,15 @@
--- ../src-base/minecraft/net/minecraft/item/Item.java
+++ ../src-work/minecraft/net/minecraft/item/Item.java
@@ -1,5 +1,6 @@
package net.minecraft.item;
@@ -2,6 +2,8 @@
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
+
+import cpw.mods.fml.common.registry.GameData;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
@@ -215,6 +216,8 @@
@@ -224,6 +226,8 @@
}
field_77698_e[256 + p_i3659_1_] = this;

View file

@ -16,14 +16,13 @@
Handler[] ahandler = this.field_98242_a.getHandlers();
int i = ahandler.length;
@@ -37,10 +38,6 @@
@@ -37,9 +38,6 @@
}
LogFormatter logformatter = new LogFormatter(this, (LogAgentINNER1)null);
LogFormatter logformatter = new LogFormatter(this, (LogAgentEmptyAnon)null);
- ConsoleHandler consolehandler = new ConsoleHandler();
- consolehandler.setFormatter(logformatter);
- this.field_98242_a.addHandler(consolehandler);
-
try
{
FileHandler filehandler = new FileHandler(this.field_98240_b, true);

View file

@ -9,7 +9,7 @@
import net.minecraft.crash.CrashReport;
import net.minecraft.crash.CrashReportCategory;
import net.minecraft.entity.Entity;
@@ -33,6 +35,7 @@
@@ -34,6 +36,7 @@
import net.minecraft.network.packet.Packet108EnchantItem;
import net.minecraft.network.packet.Packet10Flying;
import net.minecraft.network.packet.Packet130UpdateSign;
@ -17,15 +17,15 @@
import net.minecraft.network.packet.Packet13PlayerLookMove;
import net.minecraft.network.packet.Packet14BlockDig;
import net.minecraft.network.packet.Packet15Place;
@@ -616,6 +619,7 @@
@@ -634,6 +637,7 @@
public void func_72481_a(Packet3Chat p_72481_1_)
{
+ p_72481_1_ = FMLNetworkHandler.handleChatMessage(this, p_72481_1_);
if (this.field_72574_e.func_71126_v() == 2)
{
this.func_72567_b(new Packet3Chat("Cannot send chat message."));
@@ -981,6 +985,11 @@
this.func_72567_b(new Packet3Chat(ChatMessageComponent.func_111077_e("chat.cannotSend").func_111059_a(EnumChatFormatting.RED)));
@@ -1009,6 +1013,11 @@
}
public void func_72501_a(Packet250CustomPayload p_72501_1_)
@ -37,7 +37,7 @@
{
DataInputStream datainputstream;
ItemStack itemstack;
@@ -1145,4 +1154,18 @@
@@ -1173,4 +1182,18 @@
}
}
}

View file

@ -8,9 +8,9 @@
+
+import cpw.mods.fml.common.FMLLog;
import net.minecraft.crash.CrashReport;
import net.minecraft.crash.CrashReportCategory;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.ReportedException;
@@ -48,6 +51,7 @@
@@ -51,6 +54,7 @@
throw new ReportedException(crashreport);
}

View file

@ -7,7 +7,7 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.BufferedOutputStream;
@@ -394,6 +395,7 @@
@@ -386,6 +387,7 @@
if (this.field_74472_n && this.field_74473_o.isEmpty())
{
this.field_74485_r.func_72515_a(this.field_74481_v, this.field_74480_w);

View file

@ -7,9 +7,9 @@
public abstract class NetHandler
{
@@ -365,4 +367,8 @@
@@ -375,4 +377,8 @@
{
this.func_72509_a(p_98182_1_);
this.func_72509_a(p_110773_1_);
}
+
+ public abstract void handleVanilla250Packet(Packet250CustomPayload payload);

View file

@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/network/packet/Packet.java
+++ ../src-work/minecraft/net/minecraft/network/packet/Packet.java
@@ -357,7 +357,7 @@
@@ -355,7 +355,7 @@
func_73285_a(107, true, true, Packet107CreativeSetSlot.class);
func_73285_a(108, false, true, Packet108EnchantItem.class);
func_73285_a(130, true, true, Packet130UpdateSign.class);

View file

@ -1,8 +1,8 @@
--- ../src-base/minecraft/net/minecraft/network/packet/Packet1Login.java
+++ ../src-work/minecraft/net/minecraft/network/packet/Packet1Login.java
@@ -3,6 +3,8 @@
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
+
+import cpw.mods.fml.common.network.FMLNetworkHandler;
@ -30,7 +30,7 @@
+ this.vanillaCompatible = false;
}
public void func_73267_a(DataInputStream p_73267_1_) throws IOException
public void func_73267_a(DataInput p_73267_1_) throws IOException
@@ -46,7 +54,16 @@
this.field_73560_c = (b0 & 8) == 8;
int i = b0 & -9;

View file

@ -7,19 +7,19 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.awt.GraphicsEnvironment;
@@ -352,7 +353,11 @@
@@ -366,7 +367,11 @@
{
if (this.func_71197_b())
{
+ FMLCommonHandler.instance().handleServerStarted();
+
long i = System.currentTimeMillis();
long i = func_130071_aq();
+
+ FMLCommonHandler.instance().onWorldLoadTick(field_71305_c);
for (long j = 0L; this.field_71317_u; this.field_71296_Q = true)
{
@@ -391,6 +396,7 @@
@@ -405,6 +410,7 @@
Thread.sleep(1L);
}
@ -27,7 +27,7 @@
}
else
{
@@ -399,6 +405,10 @@
@@ -413,6 +419,10 @@
}
catch (Throwable throwable)
{
@ -38,7 +38,7 @@
throwable.printStackTrace();
this.func_98033_al().func_98234_c("Encountered an unexpected exception " + throwable.getClass().getSimpleName(), throwable);
CrashReport crashreport = null;
@@ -429,6 +439,10 @@
@@ -443,6 +453,10 @@
{
try
{
@ -49,7 +49,7 @@
this.func_71260_j();
this.field_71316_v = true;
}
@@ -438,6 +452,8 @@
@@ -452,6 +466,8 @@
}
finally
{
@ -58,7 +58,7 @@
this.func_71240_o();
}
}
@@ -454,8 +470,10 @@
@@ -468,8 +484,10 @@
public void func_71217_p()
{
@ -69,7 +69,7 @@
++this.field_71315_w;
if (this.field_71295_T)
@@ -501,6 +519,7 @@
@@ -515,6 +533,7 @@
this.field_71304_b.func_76319_b();
this.field_71304_b.func_76319_b();
@ -77,7 +77,7 @@
}
public void func_71190_q()
@@ -528,6 +547,7 @@
@@ -542,6 +561,7 @@
}
this.field_71304_b.func_76320_a("tick");
@ -85,7 +85,7 @@
CrashReport crashreport;
try
@@ -552,6 +572,7 @@
@@ -566,6 +586,7 @@
throw new ReportedException(crashreport);
}
@ -93,7 +93,7 @@
this.field_71304_b.func_76319_b();
this.field_71304_b.func_76320_a("tracker");
worldserver.func_73039_n().func_72788_a();
@@ -679,7 +700,7 @@
@@ -693,7 +714,7 @@
public String getServerModName()
{

View file

@ -7,7 +7,7 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.File;
@@ -111,9 +112,10 @@
@@ -113,9 +114,10 @@
this.func_71245_h(true);
this.field_98130_m.func_98233_a("Generating keypair");
this.func_71253_a(CryptManager.func_75891_b());

View file

@ -7,12 +7,3 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.IOException;
@@ -64,7 +65,7 @@
}
}
- return this.field_71757_g.func_71767_c().getHostAddress() + ":" + this.field_71757_g.func_71765_d();
+ return FMLNetworkHandler.computeLocalHost().getHostAddress() + ":" + this.field_71757_g.func_71765_d();
}
public void func_71744_a()

View file

@ -8,7 +8,7 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.File;
@@ -119,6 +121,8 @@
@@ -120,6 +122,8 @@
p_72355_2_.func_71116_b();
@ -17,7 +17,7 @@
if (nbttagcompound != null && nbttagcompound.func_74764_b("Riding"))
{
Entity entity = EntityList.func_75615_a(nbttagcompound.func_74775_l("Riding"), worldserver);
@@ -233,6 +237,7 @@
@@ -234,6 +238,7 @@
public void func_72367_e(EntityPlayerMP p_72367_1_)
{
@ -25,15 +25,15 @@
this.func_72391_b(p_72367_1_);
WorldServer worldserver = p_72367_1_.func_71121_q();
@@ -390,6 +395,7 @@
@@ -391,6 +396,7 @@
this.field_72404_b.add(entityplayermp1);
entityplayermp1.func_71116_b();
entityplayermp1.func_70606_j(entityplayermp1.func_70630_aN());
entityplayermp1.func_70606_j(entityplayermp1.func_110143_aJ());
+ GameRegistry.onPlayerRespawn(entityplayermp1);
return entityplayermp1;
}
@@ -415,6 +421,8 @@
@@ -416,6 +422,8 @@
PotionEffect potioneffect = (PotionEffect)iterator.next();
p_72356_1_.field_71135_a.func_72567_b(new Packet41EntityEffect(p_72356_1_.field_70157_k, potioneffect));
}

View file

@ -7,7 +7,7 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
@@ -311,7 +312,15 @@
@@ -316,7 +317,15 @@
}
}

View file

@ -7,11 +7,11 @@
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.InputStream;
@@ -36,6 +37,7 @@
@@ -35,6 +36,7 @@
import org.bouncycastle.crypto.params.ParametersWithIV;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
+@ReobfuscationMarker
public class CryptManager
{
public static final Charset field_75898_a = Charset.forName("ISO_8859_1");
@SideOnly(Side.CLIENT)

View file

@ -1,25 +1,20 @@
--- ../src-base/minecraft/net/minecraft/util/StringTranslate.java
+++ ../src-work/minecraft/net/minecraft/util/StringTranslate.java
@@ -1,5 +1,6 @@
package net.minecraft.util;
@@ -3,6 +3,8 @@
import com.google.common.base.Splitter;
import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
+
+import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.BufferedReader;
@@ -92,6 +93,7 @@
import java.io.IOException;
@@ -45,7 +47,7 @@
}
}
}
+ LanguageRegistry.instance().loadLanguageTable(p_74812_1_, p_74812_2_);
}
public synchronized void func_74810_a(String p_74810_1_, boolean p_74810_2_)
@@ -169,7 +171,6 @@
- catch (IOException ioexception)
+ catch (Exception ioexception)
{
;
}
}
- @SideOnly(Side.CLIENT)
public String func_74811_c()
{
return this.field_74813_d;

View file

@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/world/World.java
+++ ../src-work/minecraft/net/minecraft/world/World.java
@@ -1806,13 +1806,14 @@
@@ -1811,13 +1811,14 @@
}
}
@ -16,7 +16,7 @@
this.field_72984_F.func_76318_c("pendingTileEntities");
@@ -3640,7 +3641,7 @@
@@ -3645,7 +3646,7 @@
@SideOnly(Side.CLIENT)
public double func_72919_O()
{

View file

@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/world/WorldProvider.java
+++ ../src-work/minecraft/net/minecraft/world/WorldProvider.java
@@ -48,20 +48,12 @@
@@ -49,20 +49,12 @@
protected void func_76572_b()
{
@ -23,7 +23,7 @@
}
public boolean func_76566_a(int p_76566_1_, int p_76566_2_)
@@ -178,19 +170,19 @@
@@ -179,19 +171,19 @@
public int func_76557_i()
{

View file

@ -11,7 +11,7 @@
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityList;
import net.minecraft.nbt.CompressedStreamTools;
@@ -252,10 +256,19 @@
@@ -253,10 +257,19 @@
Entity entity = (Entity)iterator.next();
nbttagcompound1 = new NBTTagCompound();
@ -35,7 +35,7 @@
}
}
}
@@ -268,8 +281,17 @@
@@ -269,8 +282,17 @@
{
TileEntity tileentity = (TileEntity)iterator.next();
nbttagcompound1 = new NBTTagCompound();

View file

@ -10,9 +10,9 @@
import net.minecraft.crash.CrashReportCategory;
+import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.server.MinecraftServer;
import net.minecraft.world.EnumGameType;
import net.minecraft.world.GameRules;
@@ -35,6 +38,7 @@
@@ -36,6 +39,7 @@
private boolean field_76110_t;
private boolean field_76109_u;
private GameRules field_82577_x;
@ -20,7 +20,7 @@
protected WorldInfo()
{
@@ -534,4 +538,24 @@
@@ -535,4 +539,24 @@
{
return p_85131_0_.field_76110_t;
}