diff --git a/fml/build.xml b/fml/build.xml
index 718c49337..83f204eaf 100644
--- a/fml/build.xml
+++ b/fml/build.xml
@@ -38,7 +38,6 @@
-
@@ -122,7 +121,7 @@
-
+
@@ -316,7 +315,7 @@
Extracting fresh eclipse workspace to ${basedir}/eclipse
-
+
diff --git a/fml/client/cpw/mods/fml/client/CustomModLoadingErrorDisplayException.java b/fml/client/cpw/mods/fml/client/CustomModLoadingErrorDisplayException.java
index cbc5f6e16..59bfdb78b 100644
--- a/fml/client/cpw/mods/fml/client/CustomModLoadingErrorDisplayException.java
+++ b/fml/client/cpw/mods/fml/client/CustomModLoadingErrorDisplayException.java
@@ -1,10 +1,10 @@
package cpw.mods.fml.client;
+import net.minecraft.client.gui.FontRenderer;
+import net.minecraft.client.gui.GuiErrorScreen;
import cpw.mods.fml.common.IFMLHandledException;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
-import net.minecraft.src.FontRenderer;
-import net.minecraft.src.GuiErrorScreen;
/**
* If a mod throws this exception during loading, it will be called back to render
diff --git a/fml/client/cpw/mods/fml/client/FMLClientHandler.java b/fml/client/cpw/mods/fml/client/FMLClientHandler.java
index 508ae9776..08d29c522 100644
--- a/fml/client/cpw/mods/fml/client/FMLClientHandler.java
+++ b/fml/client/cpw/mods/fml/client/FMLClientHandler.java
@@ -21,22 +21,22 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.GuiScreen;
+import net.minecraft.client.multiplayer.GuiConnecting;
+import net.minecraft.client.multiplayer.NetClientHandler;
+import net.minecraft.client.multiplayer.WorldClient;
+import net.minecraft.client.renderer.entity.Render;
+import net.minecraft.client.renderer.entity.RenderManager;
+import net.minecraft.crash.CrashReport;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.NetHandler;
+import net.minecraft.network.packet.Packet;
+import net.minecraft.network.packet.Packet131MapData;
import net.minecraft.server.MinecraftServer;
-import net.minecraft.src.CrashReport;
-import net.minecraft.src.Entity;
-import net.minecraft.src.EntityLiving;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.GuiConnecting;
-import net.minecraft.src.GuiScreen;
-import net.minecraft.src.INetworkManager;
-import net.minecraft.src.NetClientHandler;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.Packet;
-import net.minecraft.src.Packet131MapData;
-import net.minecraft.src.Render;
-import net.minecraft.src.RenderManager;
-import net.minecraft.src.World;
-import net.minecraft.src.WorldClient;
+import net.minecraft.world.World;
import com.google.common.base.Throwables;
import com.google.common.collect.ImmutableList;
diff --git a/fml/client/cpw/mods/fml/client/FMLTextureFX.java b/fml/client/cpw/mods/fml/client/FMLTextureFX.java
index 8fe9102b2..d31ee54fa 100644
--- a/fml/client/cpw/mods/fml/client/FMLTextureFX.java
+++ b/fml/client/cpw/mods/fml/client/FMLTextureFX.java
@@ -18,9 +18,10 @@ import java.awt.Dimension;
import java.util.List;
import java.util.logging.Logger;
-import net.minecraft.src.RenderEngine;
-import net.minecraft.src.TextureFX;
-import net.minecraft.src.ITexturePack;
+import net.minecraft.client.renderer.RenderEngine;
+import net.minecraft.client.renderer.texturefx.TextureFX;
+import net.minecraft.client.texturepacks.ITexturePack;
+
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.FMLLog;
diff --git a/fml/client/cpw/mods/fml/client/GuiCustomModLoadingErrorScreen.java b/fml/client/cpw/mods/fml/client/GuiCustomModLoadingErrorScreen.java
index 6f6e60b8c..9893ad6dd 100644
--- a/fml/client/cpw/mods/fml/client/GuiCustomModLoadingErrorScreen.java
+++ b/fml/client/cpw/mods/fml/client/GuiCustomModLoadingErrorScreen.java
@@ -1,8 +1,8 @@
package cpw.mods.fml.client;
+import net.minecraft.client.gui.GuiErrorScreen;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.WrongMinecraftVersionException;
-import net.minecraft.src.GuiErrorScreen;
public class GuiCustomModLoadingErrorScreen extends GuiErrorScreen
{
diff --git a/fml/client/cpw/mods/fml/client/GuiDupesFound.java b/fml/client/cpw/mods/fml/client/GuiDupesFound.java
index 44a01d4c9..9cc3ab4ed 100644
--- a/fml/client/cpw/mods/fml/client/GuiDupesFound.java
+++ b/fml/client/cpw/mods/fml/client/GuiDupesFound.java
@@ -3,11 +3,12 @@ package cpw.mods.fml.client;
import java.io.File;
import java.util.Map.Entry;
+import net.minecraft.client.gui.GuiErrorScreen;
+
import cpw.mods.fml.common.DuplicateModsFoundException;
import cpw.mods.fml.common.MissingModsException;
import cpw.mods.fml.common.ModContainer;
import cpw.mods.fml.common.versioning.ArtifactVersion;
-import net.minecraft.src.GuiErrorScreen;
public class GuiDupesFound extends GuiErrorScreen
{
diff --git a/fml/client/cpw/mods/fml/client/GuiIdMismatchScreen.java b/fml/client/cpw/mods/fml/client/GuiIdMismatchScreen.java
index 7ecb8b90c..e4a3fcbe2 100644
--- a/fml/client/cpw/mods/fml/client/GuiIdMismatchScreen.java
+++ b/fml/client/cpw/mods/fml/client/GuiIdMismatchScreen.java
@@ -3,15 +3,16 @@ package cpw.mods.fml.client;
import java.util.List;
import java.util.Map.Entry;
+import net.minecraft.client.gui.GuiButton;
+import net.minecraft.client.gui.GuiYesNo;
+import net.minecraft.util.StringTranslate;
+
import com.google.common.collect.Lists;
import com.google.common.collect.MapDifference;
import com.google.common.collect.MapDifference.ValueDifference;
import cpw.mods.fml.common.registry.ItemData;
import cpw.mods.fml.common.versioning.ArtifactVersion;
-import net.minecraft.src.GuiButton;
-import net.minecraft.src.GuiYesNo;
-import net.minecraft.src.StringTranslate;
public class GuiIdMismatchScreen extends GuiYesNo {
private List missingIds = Lists.newArrayList();
diff --git a/fml/client/cpw/mods/fml/client/GuiModList.java b/fml/client/cpw/mods/fml/client/GuiModList.java
index 450f5e05d..8e0ee720b 100644
--- a/fml/client/cpw/mods/fml/client/GuiModList.java
+++ b/fml/client/cpw/mods/fml/client/GuiModList.java
@@ -18,12 +18,12 @@ import java.awt.Dimension;
import java.util.ArrayList;
import net.minecraft.client.Minecraft;
-import net.minecraft.src.FontRenderer;
-import net.minecraft.src.GuiButton;
-import net.minecraft.src.GuiScreen;
-import net.minecraft.src.GuiSmallButton;
-import net.minecraft.src.StringTranslate;
-import net.minecraft.src.Tessellator;
+import net.minecraft.client.gui.FontRenderer;
+import net.minecraft.client.gui.GuiButton;
+import net.minecraft.client.gui.GuiScreen;
+import net.minecraft.client.gui.GuiSmallButton;
+import net.minecraft.client.renderer.Tessellator;
+import net.minecraft.util.StringTranslate;
import org.lwjgl.opengl.GL11;
diff --git a/fml/client/cpw/mods/fml/client/GuiModsMissing.java b/fml/client/cpw/mods/fml/client/GuiModsMissing.java
index 0383a25d0..0670e9463 100644
--- a/fml/client/cpw/mods/fml/client/GuiModsMissing.java
+++ b/fml/client/cpw/mods/fml/client/GuiModsMissing.java
@@ -1,8 +1,8 @@
package cpw.mods.fml.client;
+import net.minecraft.client.gui.GuiErrorScreen;
import cpw.mods.fml.common.MissingModsException;
import cpw.mods.fml.common.versioning.ArtifactVersion;
-import net.minecraft.src.GuiErrorScreen;
public class GuiModsMissing extends GuiErrorScreen
{
diff --git a/fml/client/cpw/mods/fml/client/GuiModsMissingForServer.java b/fml/client/cpw/mods/fml/client/GuiModsMissingForServer.java
index 14e297e15..f7ef9662e 100644
--- a/fml/client/cpw/mods/fml/client/GuiModsMissingForServer.java
+++ b/fml/client/cpw/mods/fml/client/GuiModsMissingForServer.java
@@ -1,9 +1,9 @@
package cpw.mods.fml.client;
-import net.minecraft.src.GuiButton;
-import net.minecraft.src.GuiScreen;
-import net.minecraft.src.GuiSmallButton;
-import net.minecraft.src.StringTranslate;
+import net.minecraft.client.gui.GuiButton;
+import net.minecraft.client.gui.GuiScreen;
+import net.minecraft.client.gui.GuiSmallButton;
+import net.minecraft.util.StringTranslate;
import cpw.mods.fml.common.network.ModMissingPacket;
import cpw.mods.fml.common.versioning.ArtifactVersion;
diff --git a/fml/client/cpw/mods/fml/client/GuiScrollingList.java b/fml/client/cpw/mods/fml/client/GuiScrollingList.java
index 998139d3f..f45b276c3 100644
--- a/fml/client/cpw/mods/fml/client/GuiScrollingList.java
+++ b/fml/client/cpw/mods/fml/client/GuiScrollingList.java
@@ -3,8 +3,8 @@ package cpw.mods.fml.client;
import java.util.List;
import net.minecraft.client.Minecraft;
-import net.minecraft.src.GuiButton;
-import net.minecraft.src.Tessellator;
+import net.minecraft.client.gui.GuiButton;
+import net.minecraft.client.renderer.Tessellator;
import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.GL11;
diff --git a/fml/client/cpw/mods/fml/client/GuiSlotModList.java b/fml/client/cpw/mods/fml/client/GuiSlotModList.java
index bccb26a41..42afe1c05 100644
--- a/fml/client/cpw/mods/fml/client/GuiSlotModList.java
+++ b/fml/client/cpw/mods/fml/client/GuiSlotModList.java
@@ -16,7 +16,8 @@ package cpw.mods.fml.client;
import java.util.ArrayList;
-import net.minecraft.src.Tessellator;
+import net.minecraft.client.renderer.Tessellator;
+
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.LoaderState.ModState;
import cpw.mods.fml.common.ModContainer;
diff --git a/fml/client/cpw/mods/fml/client/GuiWrongMinecraft.java b/fml/client/cpw/mods/fml/client/GuiWrongMinecraft.java
index 25d039bbc..986729f42 100644
--- a/fml/client/cpw/mods/fml/client/GuiWrongMinecraft.java
+++ b/fml/client/cpw/mods/fml/client/GuiWrongMinecraft.java
@@ -1,10 +1,9 @@
package cpw.mods.fml.client;
+import net.minecraft.client.gui.GuiErrorScreen;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.WrongMinecraftVersionException;
import cpw.mods.fml.common.versioning.ArtifactVersion;
-import net.minecraft.src.GuiErrorScreen;
-import net.minecraft.src.GuiScreen;
public class GuiWrongMinecraft extends GuiErrorScreen
{
diff --git a/fml/client/cpw/mods/fml/client/ITextureFX.java b/fml/client/cpw/mods/fml/client/ITextureFX.java
index 6231c63d1..0dca2852e 100644
--- a/fml/client/cpw/mods/fml/client/ITextureFX.java
+++ b/fml/client/cpw/mods/fml/client/ITextureFX.java
@@ -16,8 +16,8 @@ package cpw.mods.fml.client;
import java.awt.Dimension;
-import net.minecraft.src.RenderEngine;
-import net.minecraft.src.ITexturePack;
+import net.minecraft.client.renderer.RenderEngine;
+import net.minecraft.client.texturepacks.ITexturePack;
public interface ITextureFX
{
diff --git a/fml/client/cpw/mods/fml/client/OverrideInfo.java b/fml/client/cpw/mods/fml/client/OverrideInfo.java
index 453bdc576..f0d6fe2a1 100644
--- a/fml/client/cpw/mods/fml/client/OverrideInfo.java
+++ b/fml/client/cpw/mods/fml/client/OverrideInfo.java
@@ -14,7 +14,7 @@
package cpw.mods.fml.client;
-import net.minecraft.src.TextureFX;
+import net.minecraft.client.renderer.texturefx.TextureFX;
class OverrideInfo
{
diff --git a/fml/client/cpw/mods/fml/client/TextureFXManager.java b/fml/client/cpw/mods/fml/client/TextureFXManager.java
index a5ad1b040..d041348ae 100644
--- a/fml/client/cpw/mods/fml/client/TextureFXManager.java
+++ b/fml/client/cpw/mods/fml/client/TextureFXManager.java
@@ -19,10 +19,10 @@ import java.util.Map;
import javax.imageio.ImageIO;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.RenderEngine;
+import net.minecraft.client.renderer.texturefx.TextureFX;
+import net.minecraft.client.texturepacks.ITexturePack;
import net.minecraft.src.ModTextureStatic;
-import net.minecraft.src.RenderEngine;
-import net.minecraft.src.TextureFX;
-import net.minecraft.src.ITexturePack;
import org.lwjgl.opengl.GL11;
diff --git a/fml/client/cpw/mods/fml/client/modloader/ModLoaderBlockRendererHandler.java b/fml/client/cpw/mods/fml/client/modloader/ModLoaderBlockRendererHandler.java
index a67c40a6e..83313a457 100644
--- a/fml/client/cpw/mods/fml/client/modloader/ModLoaderBlockRendererHandler.java
+++ b/fml/client/cpw/mods/fml/client/modloader/ModLoaderBlockRendererHandler.java
@@ -14,10 +14,10 @@
package cpw.mods.fml.client.modloader;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.src.BaseMod;
-import net.minecraft.src.Block;
-import net.minecraft.src.IBlockAccess;
-import net.minecraft.src.RenderBlocks;
+import net.minecraft.world.IBlockAccess;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
/**
diff --git a/fml/client/cpw/mods/fml/client/modloader/ModLoaderClientHelper.java b/fml/client/cpw/mods/fml/client/modloader/ModLoaderClientHelper.java
index ca3357519..6312484b7 100644
--- a/fml/client/cpw/mods/fml/client/modloader/ModLoaderClientHelper.java
+++ b/fml/client/cpw/mods/fml/client/modloader/ModLoaderClientHelper.java
@@ -7,17 +7,18 @@ import java.util.Map.Entry;
import java.util.logging.Level;
import net.minecraft.client.Minecraft;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.NetHandler;
+import net.minecraft.network.packet.Packet250CustomPayload;
import net.minecraft.src.BaseMod;
-import net.minecraft.src.Entity;
-import net.minecraft.src.EntityClientPlayerMP;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.KeyBinding;
-import net.minecraft.src.NetClientHandler;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.INetworkManager;
-import net.minecraft.src.Packet250CustomPayload;
-import net.minecraft.src.Render;
-import net.minecraft.src.RenderManager;
+import net.minecraft.client.*;
+import net.minecraft.client.entity.EntityClientPlayerMP;
+import net.minecraft.client.multiplayer.NetClientHandler;
+import net.minecraft.client.renderer.entity.Render;
+import net.minecraft.client.renderer.entity.RenderManager;
+import net.minecraft.client.settings.KeyBinding;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
import com.google.common.base.Equivalences;
import com.google.common.base.Supplier;
diff --git a/fml/client/cpw/mods/fml/client/modloader/ModLoaderKeyBindingHandler.java b/fml/client/cpw/mods/fml/client/modloader/ModLoaderKeyBindingHandler.java
index 034734f70..84c2fb0df 100644
--- a/fml/client/cpw/mods/fml/client/modloader/ModLoaderKeyBindingHandler.java
+++ b/fml/client/cpw/mods/fml/client/modloader/ModLoaderKeyBindingHandler.java
@@ -23,7 +23,7 @@ import org.lwjgl.input.Mouse;
import com.google.common.collect.ObjectArrays;
import com.google.common.primitives.Booleans;
-import net.minecraft.src.KeyBinding;
+import net.minecraft.client.settings.KeyBinding;
import cpw.mods.fml.client.registry.KeyBindingRegistry;
import cpw.mods.fml.common.TickType;
import cpw.mods.fml.common.modloader.ModLoaderModContainer;
diff --git a/fml/client/cpw/mods/fml/client/registry/ClientRegistry.java b/fml/client/cpw/mods/fml/client/registry/ClientRegistry.java
index d7f3a2a20..3ac6153bd 100644
--- a/fml/client/cpw/mods/fml/client/registry/ClientRegistry.java
+++ b/fml/client/cpw/mods/fml/client/registry/ClientRegistry.java
@@ -1,9 +1,9 @@
package cpw.mods.fml.client.registry;
-import net.minecraft.src.TileEntity;
-import net.minecraft.src.TileEntityRenderer;
-import net.minecraft.src.TileEntitySpecialRenderer;
import cpw.mods.fml.common.registry.GameRegistry;
+import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
+import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.tileentity.TileEntity;
public class ClientRegistry
{
diff --git a/fml/client/cpw/mods/fml/client/registry/ISimpleBlockRenderingHandler.java b/fml/client/cpw/mods/fml/client/registry/ISimpleBlockRenderingHandler.java
index 99182c06e..d8e76d21f 100644
--- a/fml/client/cpw/mods/fml/client/registry/ISimpleBlockRenderingHandler.java
+++ b/fml/client/cpw/mods/fml/client/registry/ISimpleBlockRenderingHandler.java
@@ -1,8 +1,8 @@
package cpw.mods.fml.client.registry;
-import net.minecraft.src.Block;
-import net.minecraft.src.IBlockAccess;
-import net.minecraft.src.RenderBlocks;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.RenderBlocks;
+import net.minecraft.world.IBlockAccess;
public interface ISimpleBlockRenderingHandler
{
diff --git a/fml/client/cpw/mods/fml/client/registry/KeyBindingRegistry.java b/fml/client/cpw/mods/fml/client/registry/KeyBindingRegistry.java
index 23894c1d1..41cf7bdd5 100644
--- a/fml/client/cpw/mods/fml/client/registry/KeyBindingRegistry.java
+++ b/fml/client/cpw/mods/fml/client/registry/KeyBindingRegistry.java
@@ -4,8 +4,8 @@ import java.util.ArrayList;
import java.util.EnumSet;
import java.util.Set;
-import net.minecraft.src.GameSettings;
-import net.minecraft.src.KeyBinding;
+import net.minecraft.client.settings.GameSettings;
+import net.minecraft.client.settings.KeyBinding;
import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse;
diff --git a/fml/client/cpw/mods/fml/client/registry/RenderingRegistry.java b/fml/client/cpw/mods/fml/client/registry/RenderingRegistry.java
index 132d0daef..240aa4770 100644
--- a/fml/client/cpw/mods/fml/client/registry/RenderingRegistry.java
+++ b/fml/client/cpw/mods/fml/client/registry/RenderingRegistry.java
@@ -3,14 +3,11 @@ package cpw.mods.fml.client.registry;
import java.util.List;
import java.util.Map;
-import net.minecraft.src.Block;
-import net.minecraft.src.Entity;
-import net.minecraft.src.IBlockAccess;
-import net.minecraft.src.Render;
-import net.minecraft.src.RenderBiped;
-import net.minecraft.src.RenderBlocks;
-import net.minecraft.src.RenderManager;
-import net.minecraft.src.RenderPlayer;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.RenderBlocks;
+import net.minecraft.client.renderer.entity.*;
+import net.minecraft.entity.Entity;
+import net.minecraft.world.IBlockAccess;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
diff --git a/fml/client/net/minecraft/src/BaseMod.java b/fml/client/net/minecraft/src/BaseMod.java
index 287822b52..12949a0f1 100644
--- a/fml/client/net/minecraft/src/BaseMod.java
+++ b/fml/client/net/minecraft/src/BaseMod.java
@@ -17,8 +17,26 @@ import static cpw.mods.fml.common.Side.CLIENT;
import java.util.Map;
import java.util.Random;
-import net.minecraft.client.Minecraft;
+import net.minecraft.block.Block;
+import net.minecraft.client.*;
+import net.minecraft.client.entity.EntityClientPlayerMP;
+import net.minecraft.client.gui.GuiScreen;
+import net.minecraft.client.gui.inventory.GuiContainer;
+import net.minecraft.client.multiplayer.NetClientHandler;
+import net.minecraft.client.renderer.RenderBlocks;
+import net.minecraft.client.renderer.entity.Render;
+import net.minecraft.client.settings.KeyBinding;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.NetServerHandler;
+import net.minecraft.network.packet.NetHandler;
+import net.minecraft.network.packet.Packet250CustomPayload;
import net.minecraft.server.MinecraftServer;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.TickType;
diff --git a/fml/client/net/minecraft/src/EntityRendererProxy.java b/fml/client/net/minecraft/src/EntityRendererProxy.java
index 4994b1f74..60532f9ab 100644
--- a/fml/client/net/minecraft/src/EntityRendererProxy.java
+++ b/fml/client/net/minecraft/src/EntityRendererProxy.java
@@ -15,6 +15,7 @@
package net.minecraft.src;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.EntityRenderer;
public class EntityRendererProxy extends EntityRenderer
{
diff --git a/fml/client/net/minecraft/src/FMLRenderAccessLibrary.java b/fml/client/net/minecraft/src/FMLRenderAccessLibrary.java
index 8e2c09607..2032e8aed 100644
--- a/fml/client/net/minecraft/src/FMLRenderAccessLibrary.java
+++ b/fml/client/net/minecraft/src/FMLRenderAccessLibrary.java
@@ -19,6 +19,13 @@ import java.util.List;
import java.util.logging.Level;
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.texturefx.TextureFX;
+import net.minecraft.client.texturepacks.ITexturePack;
+import net.minecraft.world.IBlockAccess;
+
import cpw.mods.fml.client.TextureFXManager;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.FMLLog;
diff --git a/fml/client/net/minecraft/src/ModLoader.java b/fml/client/net/minecraft/src/ModLoader.java
index db4c63f5a..a8f37d51e 100644
--- a/fml/client/net/minecraft/src/ModLoader.java
+++ b/fml/client/net/minecraft/src/ModLoader.java
@@ -20,8 +20,41 @@ import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
-import net.minecraft.client.Minecraft;
-import net.minecraft.server.MinecraftServer;
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockDispenser;
+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.texturefx.TextureFX;
+import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.client.settings.KeyBinding;
+import net.minecraft.command.ICommand;
+import net.minecraft.dispenser.IBehaviorDispenseItem;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.EnumCreatureType;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.inventory.Container;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+import net.minecraft.network.NetServerHandler;
+import net.minecraft.network.packet.Packet;
+import net.minecraft.network.packet.Packet1Login;
+import net.minecraft.network.packet.Packet250CustomPayload;
+import net.minecraft.server.*;
+import net.minecraft.stats.Achievement;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+import net.minecraft.world.WorldType;
+import net.minecraft.world.biome.BiomeGenBase;
+import net.minecraft.world.chunk.IChunkProvider;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.client.SpriteHelper;
import cpw.mods.fml.client.TextureFXManager;
diff --git a/fml/client/net/minecraft/src/ModTextureAnimation.java b/fml/client/net/minecraft/src/ModTextureAnimation.java
index 0b407cb06..8b6b870a6 100644
--- a/fml/client/net/minecraft/src/ModTextureAnimation.java
+++ b/fml/client/net/minecraft/src/ModTextureAnimation.java
@@ -18,6 +18,8 @@ import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;
+import net.minecraft.client.renderer.RenderEngine;
+
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
diff --git a/fml/client/net/minecraft/src/ModTextureStatic.java b/fml/client/net/minecraft/src/ModTextureStatic.java
index 734771e42..77d033ba1 100644
--- a/fml/client/net/minecraft/src/ModTextureStatic.java
+++ b/fml/client/net/minecraft/src/ModTextureStatic.java
@@ -20,6 +20,8 @@ import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;
+import net.minecraft.client.renderer.RenderEngine;
+
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
diff --git a/fml/commands.patch b/fml/commands.patch
index b831599a8..46f314adc 100644
--- a/fml/commands.patch
+++ b/fml/commands.patch
@@ -9,26 +9,7 @@
if not sys.platform.startswith('win'):
if os.path.exists(path):
shutil.rmtree(path)
-@@ -584,6 +586,9 @@
- self.has_astyle_cfg = False
- if os.path.isfile(self.astyleconf):
- self.has_astyle_cfg = True
-+
-+ #FML Entries
-+ self.srcshared = os.path.normpath(os.path.join(self.dirsrc, 'common'))
-
- def creatergcfg(self, reobf=False, keep_lvt=False, keep_generics=False, rg_update=False):
- """Create the files necessary for RetroGuard"""
-@@ -781,13 +786,16 @@
- testlk = {CLIENT: self.testclient, SERVER: self.testserver}
-
- if not os.path.exists(os.path.join(srclk[side], os.path.normpath(testlk[side] + '.java'))):
-- return False
-+ if not os.path.exists(os.path.join(self.srcshared, os.path.normpath(testlk[side] + '.java'))):
-+ return False
- return True
-
- def checkbins(self, side):
+@@ -788,6 +790,8 @@
binlk = {CLIENT: self.binclient, SERVER: self.binserver}
testlk = {CLIENT: self.testclient, SERVER: self.testserver}
@@ -37,7 +18,7 @@
if not os.path.exists(os.path.join(binlk[side], os.path.normpath(testlk[side] + '.class'))):
return False
return True
-@@ -1029,6 +1037,10 @@
+@@ -1029,6 +1033,10 @@
pathsrclk = {CLIENT: self.srcclient, SERVER: self.srcserver}
pathlog = {CLIENT: self.clientrecomplog, SERVER: self.serverrecomplog}
@@ -48,33 +29,16 @@
if not os.path.exists(pathbinlk[side]):
os.makedirs(pathbinlk[side])
-@@ -1041,6 +1053,7 @@
- all_files = True
- append_pattern = False
- pkglist = filterdirs(pathsrclk[side], '*.java', append_pattern=append_pattern, all_files=all_files)
-+ pkglist = pkglist + filterdirs(self.srcshared, '*.java', append_pattern=append_pattern, all_files=all_files) #FML, Add Common folder
- dirs = ' '.join(pkglist)
- classpath = os.pathsep.join(cplk[side])
- forkcmd = self.cmdrecomp.format(classpath=classpath, sourcepath=pathsrclk[side], outpath=pathbinlk[side],
-@@ -1062,7 +1075,7 @@
+@@ -1062,7 +1070,7 @@
raise
def startserver(self):
- classpath = [self.binserver] + self.cpathserver
-+ classpath = [self.binclient, self.srcshared] + self.cpathserver
++ classpath = [self.binclient] + self.cpathserver
classpath = [os.path.join('..', p) for p in classpath]
classpath = os.pathsep.join(classpath)
os.chdir(self.dirjars)
-@@ -1070,7 +1083,7 @@
- self.runmc(forkcmd)
-
- def startclient(self):
-- classpath = [self.binclient] + self.cpathclient
-+ classpath = [self.binclient, self.srcshared] + self.cpathclient
- classpath = [os.path.join('..', p) for p in classpath]
- classpath = os.pathsep.join(classpath)
- natives = os.path.join('..', self.dirnatives)
-@@ -1197,20 +1210,20 @@
+@@ -1197,20 +1205,20 @@
with open(self.csvmethods, 'rb') as fh:
methodsreader = csv.DictReader(fh)
for row in methodsreader:
@@ -98,56 +62,7 @@
names['params'][row['param']] = row['name']
regexps = {
-@@ -1240,6 +1253,11 @@
-
- # HINT: We pathwalk the sources
- for path, _, filelist in os.walk(pathsrclk[side], followlinks=True):
-+ for cur_file in fnmatch.filter(filelist, '*.java'):
-+ updatefile(os.path.normpath(os.path.join(path, cur_file)))
-+
-+ # FML, copy of the above, for the common folder
-+ for path, _, filelist in os.walk(self.srcshared, followlinks=True):
- for cur_file in fnmatch.filter(filelist, '*.java'):
- updatefile(os.path.normpath(os.path.join(path, cur_file)))
- return True
-@@ -1322,12 +1340,14 @@
- pathsrclk = {CLIENT: self.srcclient, SERVER: self.srcserver}
-
- strip_comments(pathsrclk[side])
-+ strip_comments(self.srcshared)
-
- def process_cleanup(self, side):
- """Do lots of random cleanups including stripping comments, trailing whitespace and extra blank lines"""
- pathsrclk = {CLIENT: self.srcclient, SERVER: self.srcserver}
-
- src_cleanup(pathsrclk[side], fix_imports=True, fix_unicode=True, fix_charval=True, fix_pi=True, fix_round=False)
-+ src_cleanup(self.srcshared, fix_imports=True, fix_unicode=True, fix_charval=True, fix_pi=True, fix_round=False)
-
- def process_javadoc(self, side):
- """Add CSV descriptions to methods and fields as javadoc"""
-@@ -1336,6 +1356,21 @@
- if not self.has_doc_csv:
- self.logger.warning('!! javadoc disabled due to no csvs !!')
- return False
-+
-+ #FML Recall this function on the common folder
-+ #Potential bug: If this is called without a subsiquent rename call, will cause double comments
-+ if pathsrclk[side] != self.srcshared:
-+ if side == CLIENT:
-+ tmp = self.srcclient
-+ self.srcclient = self.srcshared
-+ self.process_javadoc(side)
-+ self.srcclient = tmp
-+ else:
-+ tmp = self.srcserver
-+ self.srcserver = self.srcshared
-+ self.process_javadoc(side)
-+ self.srcserver = tmp
-+
-
- #HINT: We read the relevant CSVs
- methodsreader = csv.DictReader(open(self.csvmethods, 'r'))
-@@ -1344,13 +1379,13 @@
+@@ -1344,13 +1352,13 @@
methods = {}
for row in methodsreader:
#HINT: Only include methods that have a non-empty description
@@ -163,13 +78,7 @@
fields[row['searge']] = row['desc'].replace('*/', '* /')
regexps = {
-@@ -1422,12 +1457,13 @@
-
- # HINT: We create the list of source directories based on the list of packages
- pkglist = filterdirs(pathsrclk[side], '*.java', append_pattern=True)
-+ pkglist = pkglist + filterdirs(self.srcshared, '*.java', append_pattern=True) #FML, Add Common folder
- dirs = ' '.join(pkglist)
- forkcmd = self.cmdastyle.format(classes=dirs, conffile=self.astyleconf)
+@@ -1427,7 +1435,7 @@
self.runcmd(forkcmd)
return True
@@ -178,7 +87,7 @@
if not reobf:
md5lk = {CLIENT: self.md5client, SERVER: self.md5server}
else:
-@@ -1442,6 +1478,9 @@
+@@ -1442,6 +1450,9 @@
class_path = ''
else:
class_path += '/'
@@ -188,7 +97,7 @@
for class_file in fnmatch.filter(filelist, '*.class'):
class_name = class_path + os.path.splitext(class_file)[0]
bin_file = os.path.normpath(os.path.join(path, class_file))
-@@ -1594,6 +1633,9 @@
+@@ -1594,6 +1605,9 @@
sys.exit(1)
for entry in newfiles:
@@ -198,7 +107,7 @@
if entry[3] == 'U':
self.logger.info('Retrieving file from server : %s', entry[0])
cur_file = os.path.normpath(entry[0])
-@@ -1614,6 +1656,9 @@
+@@ -1614,6 +1628,9 @@
md5reoblk = {CLIENT: self.md5reobfclient, SERVER: self.md5reobfserver}
outpathlk = {CLIENT: self.srcmodclient, SERVER: self.srcmodserver}
src = {CLIENT: self.srcclient, SERVER: self.srcserver}
@@ -208,28 +117,10 @@
# HINT: We need a table for the old md5 and the new ones
md5table = {}
-@@ -1646,6 +1691,7 @@
- # HINT: We extract the source files for the modified class files
- for in_class in trgclasses:
- src_file = os.path.normpath(os.path.join(src[side], in_class + '.java'))
-+ cmn_file = os.path.normpath(os.path.join(self.srcshared, in_class + '.java'))
- dest_file = os.path.normpath(os.path.join(outpathlk[side], in_class + '.java'))
- if os.path.isfile(src_file):
- if not os.path.exists(os.path.dirname(dest_file)):
-@@ -1655,4 +1701,15 @@
- self.logger.info('> Outputted %s to %s', in_class.ljust(35), outpathlk[side])
+@@ -1656,3 +1673,6 @@
except IOError:
self.logger.error('* File %s copy failed', in_class)
--
-+ elif os.path.isfile(cmn_file):
-+ if not os.path.exists(os.path.dirname(dest_file)):
-+ os.makedirs(os.path.dirname(dest_file))
-+ try:
-+ shutil.copyfile(cmn_file, dest_file)
-+ self.logger.info('> Outputted %s to %s', in_class.ljust(35), outpathlk[side])
-+ except IOError:
-+ self.logger.error('* File %s copy failed', in_class)
-+
+
+def commands_sanity_check():
+ print 'Commands patch applied successfully'
+
diff --git a/fml/common/cpw/mods/fml/common/FMLCommonHandler.java b/fml/common/cpw/mods/fml/common/FMLCommonHandler.java
index 5bc591aac..05bb77cd8 100644
--- a/fml/common/cpw/mods/fml/common/FMLCommonHandler.java
+++ b/fml/common/cpw/mods/fml/common/FMLCommonHandler.java
@@ -20,23 +20,21 @@ import java.util.Properties;
import java.util.Set;
import java.util.logging.Logger;
-import net.minecraft.server.MinecraftServer;
-import net.minecraft.src.CrashReport;
-import net.minecraft.src.CrashReportCategory;
-import net.minecraft.src.DedicatedServer;
-import net.minecraft.src.Entity;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.EntityPlayerMP;
-import net.minecraft.src.INetworkManager;
-import net.minecraft.src.NBTBase;
-import net.minecraft.src.NBTTagCompound;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.Packet131MapData;
-import net.minecraft.src.SaveHandler;
-import net.minecraft.src.ServerListenThread;
-import net.minecraft.src.ThreadMinecraftServer;
-import net.minecraft.src.World;
-import net.minecraft.src.WorldInfo;
+import net.minecraft.crash.CrashReport;
+import net.minecraft.crash.CrashReportCategory;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.NetHandler;
+import net.minecraft.network.packet.Packet131MapData;
+import net.minecraft.server.*;
+import net.minecraft.server.dedicated.DedicatedServer;
+import net.minecraft.world.World;
+import net.minecraft.world.storage.SaveHandler;
+import net.minecraft.world.storage.WorldInfo;
import com.google.common.base.Objects;
import com.google.common.base.Strings;
diff --git a/fml/common/cpw/mods/fml/common/FMLDummyContainer.java b/fml/common/cpw/mods/fml/common/FMLDummyContainer.java
index 88a0857e3..0a7715054 100644
--- a/fml/common/cpw/mods/fml/common/FMLDummyContainer.java
+++ b/fml/common/cpw/mods/fml/common/FMLDummyContainer.java
@@ -17,17 +17,13 @@ package cpw.mods.fml.common;
import java.util.Arrays;
import java.util.Map;
import java.util.Set;
-import java.util.concurrent.ConcurrentMap;
-import net.minecraft.src.NBTBase;
-import net.minecraft.src.NBTTagCompound;
-import net.minecraft.src.NBTTagList;
-import net.minecraft.src.NBTTagString;
-import net.minecraft.src.SaveHandler;
-import net.minecraft.src.WorldInfo;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.world.storage.SaveHandler;
+import net.minecraft.world.storage.WorldInfo;
-import com.google.common.collect.MapMaker;
-import com.google.common.collect.Sets;
import com.google.common.eventbus.EventBus;
import cpw.mods.fml.common.registry.GameData;
diff --git a/fml/common/cpw/mods/fml/common/ICraftingHandler.java b/fml/common/cpw/mods/fml/common/ICraftingHandler.java
index c297058bc..03df7cc28 100644
--- a/fml/common/cpw/mods/fml/common/ICraftingHandler.java
+++ b/fml/common/cpw/mods/fml/common/ICraftingHandler.java
@@ -13,9 +13,9 @@
*/
package cpw.mods.fml.common;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.IInventory;
-import net.minecraft.src.ItemStack;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
/**
* Return a crafting handler for the mod container to call
diff --git a/fml/common/cpw/mods/fml/common/IDispenseHandler.java b/fml/common/cpw/mods/fml/common/IDispenseHandler.java
index 9b14bd911..779488229 100644
--- a/fml/common/cpw/mods/fml/common/IDispenseHandler.java
+++ b/fml/common/cpw/mods/fml/common/IDispenseHandler.java
@@ -14,8 +14,8 @@ package cpw.mods.fml.common;
import java.util.Random;
-import net.minecraft.src.ItemStack;
-import net.minecraft.src.World;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
/**
diff --git a/fml/common/cpw/mods/fml/common/IDispenserHandler.java b/fml/common/cpw/mods/fml/common/IDispenserHandler.java
index 528f4ccb8..acbb407cf 100644
--- a/fml/common/cpw/mods/fml/common/IDispenserHandler.java
+++ b/fml/common/cpw/mods/fml/common/IDispenserHandler.java
@@ -2,8 +2,8 @@ package cpw.mods.fml.common;
import java.util.Random;
-import net.minecraft.src.ItemStack;
-import net.minecraft.src.World;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
/**
*
diff --git a/fml/common/cpw/mods/fml/common/IFMLSidedHandler.java b/fml/common/cpw/mods/fml/common/IFMLSidedHandler.java
index e54d77e2f..1ccc0984c 100644
--- a/fml/common/cpw/mods/fml/common/IFMLSidedHandler.java
+++ b/fml/common/cpw/mods/fml/common/IFMLSidedHandler.java
@@ -4,12 +4,12 @@ import java.util.List;
import com.google.common.collect.MapDifference;
+import net.minecraft.entity.Entity;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.NetHandler;
+import net.minecraft.network.packet.Packet;
+import net.minecraft.network.packet.Packet131MapData;
import net.minecraft.server.MinecraftServer;
-import net.minecraft.src.Entity;
-import net.minecraft.src.INetworkManager;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.Packet;
-import net.minecraft.src.Packet131MapData;
import cpw.mods.fml.common.network.EntitySpawnAdjustmentPacket;
import cpw.mods.fml.common.network.EntitySpawnPacket;
import cpw.mods.fml.common.network.ModMissingPacket;
diff --git a/fml/common/cpw/mods/fml/common/IFuelHandler.java b/fml/common/cpw/mods/fml/common/IFuelHandler.java
index e7d01ffd0..67e8a7f87 100644
--- a/fml/common/cpw/mods/fml/common/IFuelHandler.java
+++ b/fml/common/cpw/mods/fml/common/IFuelHandler.java
@@ -1,6 +1,6 @@
package cpw.mods.fml.common;
-import net.minecraft.src.ItemStack;
+import net.minecraft.item.ItemStack;
public interface IFuelHandler
{
diff --git a/fml/common/cpw/mods/fml/common/IPickupNotifier.java b/fml/common/cpw/mods/fml/common/IPickupNotifier.java
index 9f3d721f3..ad4221bd5 100644
--- a/fml/common/cpw/mods/fml/common/IPickupNotifier.java
+++ b/fml/common/cpw/mods/fml/common/IPickupNotifier.java
@@ -13,8 +13,8 @@
*/
package cpw.mods.fml.common;
-import net.minecraft.src.EntityItem;
-import net.minecraft.src.EntityPlayer;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
public interface IPickupNotifier
{
diff --git a/fml/common/cpw/mods/fml/common/IPlayerTracker.java b/fml/common/cpw/mods/fml/common/IPlayerTracker.java
index eff8c7844..d38020788 100644
--- a/fml/common/cpw/mods/fml/common/IPlayerTracker.java
+++ b/fml/common/cpw/mods/fml/common/IPlayerTracker.java
@@ -14,7 +14,7 @@
package cpw.mods.fml.common;
-import net.minecraft.src.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayer;
/**
* @author cpw
diff --git a/fml/common/cpw/mods/fml/common/IWorldGenerator.java b/fml/common/cpw/mods/fml/common/IWorldGenerator.java
index 68903fc6b..1520e550b 100644
--- a/fml/common/cpw/mods/fml/common/IWorldGenerator.java
+++ b/fml/common/cpw/mods/fml/common/IWorldGenerator.java
@@ -15,8 +15,9 @@ package cpw.mods.fml.common;
import java.util.Random;
-import net.minecraft.src.IChunkProvider;
-import net.minecraft.src.World;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.IChunkProvider;
+
/**
* This is called back during world generation.
diff --git a/fml/common/cpw/mods/fml/common/Loader.java b/fml/common/cpw/mods/fml/common/Loader.java
index f0264d5d9..115c88c4f 100644
--- a/fml/common/cpw/mods/fml/common/Loader.java
+++ b/fml/common/cpw/mods/fml/common/Loader.java
@@ -26,7 +26,7 @@ import java.util.Set;
import java.util.concurrent.Callable;
import java.util.logging.Level;
-import net.minecraft.src.CallableMinecraftVersion;
+import net.minecraft.crash.CallableMinecraftVersion;
import com.google.common.base.CharMatcher;
import com.google.common.base.Function;
diff --git a/fml/common/cpw/mods/fml/common/Mod.java b/fml/common/cpw/mods/fml/common/Mod.java
index 099dbe2bf..9cf63fa0f 100644
--- a/fml/common/cpw/mods/fml/common/Mod.java
+++ b/fml/common/cpw/mods/fml/common/Mod.java
@@ -18,11 +18,11 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import net.minecraft.item.ItemBlock;
+
import cpw.mods.fml.common.event.FMLInterModComms;
import cpw.mods.fml.common.event.FMLInterModComms.IMCMessage;
-import net.minecraft.src.ItemBlock;
-
/**
* The new mod style in FML 1.3
*
diff --git a/fml/common/cpw/mods/fml/common/WorldAccessContainer.java b/fml/common/cpw/mods/fml/common/WorldAccessContainer.java
index c8a6c8d7d..b2b81e1be 100644
--- a/fml/common/cpw/mods/fml/common/WorldAccessContainer.java
+++ b/fml/common/cpw/mods/fml/common/WorldAccessContainer.java
@@ -2,10 +2,9 @@ package cpw.mods.fml.common;
import java.util.Map;
-import net.minecraft.src.NBTBase;
-import net.minecraft.src.NBTTagCompound;
-import net.minecraft.src.SaveHandler;
-import net.minecraft.src.WorldInfo;
+import net.minecraft.nbt.*;
+import net.minecraft.world.storage.*;
+
public interface WorldAccessContainer
{
diff --git a/fml/common/cpw/mods/fml/common/event/FMLServerStartingEvent.java b/fml/common/cpw/mods/fml/common/event/FMLServerStartingEvent.java
index d9c8ff6e5..5e98bc62c 100644
--- a/fml/common/cpw/mods/fml/common/event/FMLServerStartingEvent.java
+++ b/fml/common/cpw/mods/fml/common/event/FMLServerStartingEvent.java
@@ -1,8 +1,8 @@
package cpw.mods.fml.common.event;
+import net.minecraft.command.CommandHandler;
+import net.minecraft.command.ICommand;
import net.minecraft.server.MinecraftServer;
-import net.minecraft.src.CommandHandler;
-import net.minecraft.src.ICommand;
import cpw.mods.fml.common.LoaderState.ModState;
public class FMLServerStartingEvent extends FMLStateEvent
diff --git a/fml/common/cpw/mods/fml/common/modloader/BaseModProxy.java b/fml/common/cpw/mods/fml/common/modloader/BaseModProxy.java
index 5a68386b7..ae3485244 100644
--- a/fml/common/cpw/mods/fml/common/modloader/BaseModProxy.java
+++ b/fml/common/cpw/mods/fml/common/modloader/BaseModProxy.java
@@ -16,18 +16,15 @@ package cpw.mods.fml.common.modloader;
import java.util.Random;
-import net.minecraft.src.Entity;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.GuiScreen;
-import net.minecraft.src.IInventory;
-import net.minecraft.src.ItemStack;
-import net.minecraft.src.NetClientHandler;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.NetServerHandler;
-import net.minecraft.src.INetworkManager;
-import net.minecraft.src.Packet250CustomPayload;
-import net.minecraft.src.World;
-import net.minecraft.src.WorldClient;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.NetServerHandler;
+import net.minecraft.network.packet.NetHandler;
+import net.minecraft.network.packet.Packet250CustomPayload;
+import net.minecraft.world.World;
+
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.TickType;
import cpw.mods.fml.common.asm.SideOnly;
diff --git a/fml/common/cpw/mods/fml/common/modloader/IModLoaderSidedHelper.java b/fml/common/cpw/mods/fml/common/modloader/IModLoaderSidedHelper.java
index a4dc87a59..06dcc6ed4 100644
--- a/fml/common/cpw/mods/fml/common/modloader/IModLoaderSidedHelper.java
+++ b/fml/common/cpw/mods/fml/common/modloader/IModLoaderSidedHelper.java
@@ -1,12 +1,12 @@
package cpw.mods.fml.common.modloader;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.NetHandler;
+import net.minecraft.network.packet.Packet250CustomPayload;
import cpw.mods.fml.common.network.EntitySpawnPacket;
import cpw.mods.fml.common.registry.EntityRegistry.EntityRegistration;
-import net.minecraft.src.Entity;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.INetworkManager;
-import net.minecraft.src.Packet250CustomPayload;
public interface IModLoaderSidedHelper
{
diff --git a/fml/common/cpw/mods/fml/common/modloader/ModLoaderChatListener.java b/fml/common/cpw/mods/fml/common/modloader/ModLoaderChatListener.java
index 8bc5e32b6..8fa71e30d 100644
--- a/fml/common/cpw/mods/fml/common/modloader/ModLoaderChatListener.java
+++ b/fml/common/cpw/mods/fml/common/modloader/ModLoaderChatListener.java
@@ -1,8 +1,7 @@
package cpw.mods.fml.common.modloader;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.NetServerHandler;
-import net.minecraft.src.Packet3Chat;
+import net.minecraft.network.NetServerHandler;
+import net.minecraft.network.packet.*;
import cpw.mods.fml.common.network.IChatListener;
public class ModLoaderChatListener implements IChatListener
diff --git a/fml/common/cpw/mods/fml/common/modloader/ModLoaderConnectionHandler.java b/fml/common/cpw/mods/fml/common/modloader/ModLoaderConnectionHandler.java
index f3eadd90d..ba62fa347 100644
--- a/fml/common/cpw/mods/fml/common/modloader/ModLoaderConnectionHandler.java
+++ b/fml/common/cpw/mods/fml/common/modloader/ModLoaderConnectionHandler.java
@@ -1,11 +1,11 @@
package cpw.mods.fml.common.modloader;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.NetLoginHandler;
+import net.minecraft.network.packet.NetHandler;
+import net.minecraft.network.packet.Packet1Login;
import net.minecraft.server.MinecraftServer;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.NetLoginHandler;
-import net.minecraft.src.INetworkManager;
-import net.minecraft.src.Packet1Login;
import cpw.mods.fml.common.network.IConnectionHandler;
import cpw.mods.fml.common.network.Player;
diff --git a/fml/common/cpw/mods/fml/common/modloader/ModLoaderCraftingHelper.java b/fml/common/cpw/mods/fml/common/modloader/ModLoaderCraftingHelper.java
index 8c76ac9c1..e48466711 100644
--- a/fml/common/cpw/mods/fml/common/modloader/ModLoaderCraftingHelper.java
+++ b/fml/common/cpw/mods/fml/common/modloader/ModLoaderCraftingHelper.java
@@ -1,8 +1,8 @@
package cpw.mods.fml.common.modloader;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.IInventory;
-import net.minecraft.src.ItemStack;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.ICraftingHandler;
public class ModLoaderCraftingHelper implements ICraftingHandler
diff --git a/fml/common/cpw/mods/fml/common/modloader/ModLoaderDispenseHelper.java b/fml/common/cpw/mods/fml/common/modloader/ModLoaderDispenseHelper.java
index 27bcb82c2..19e1a2366 100644
--- a/fml/common/cpw/mods/fml/common/modloader/ModLoaderDispenseHelper.java
+++ b/fml/common/cpw/mods/fml/common/modloader/ModLoaderDispenseHelper.java
@@ -2,8 +2,9 @@ package cpw.mods.fml.common.modloader;
import java.util.Random;
-import net.minecraft.src.ItemStack;
-import net.minecraft.src.World;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
import cpw.mods.fml.common.IDispenseHandler;
import cpw.mods.fml.common.IDispenserHandler;
diff --git a/fml/common/cpw/mods/fml/common/modloader/ModLoaderEntitySpawnCallback.java b/fml/common/cpw/mods/fml/common/modloader/ModLoaderEntitySpawnCallback.java
index 952ceacb6..940d9ab3d 100644
--- a/fml/common/cpw/mods/fml/common/modloader/ModLoaderEntitySpawnCallback.java
+++ b/fml/common/cpw/mods/fml/common/modloader/ModLoaderEntitySpawnCallback.java
@@ -2,14 +2,14 @@ package cpw.mods.fml.common.modloader;
import java.util.concurrent.Callable;
+import net.minecraft.entity.Entity;
+
import com.google.common.base.Function;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.common.network.EntitySpawnPacket;
import cpw.mods.fml.common.registry.EntityRegistry.EntityRegistration;
-import net.minecraft.src.Entity;
-
public class ModLoaderEntitySpawnCallback implements Function
{
diff --git a/fml/common/cpw/mods/fml/common/modloader/ModLoaderFuelHelper.java b/fml/common/cpw/mods/fml/common/modloader/ModLoaderFuelHelper.java
index 1e6015d88..df911f334 100644
--- a/fml/common/cpw/mods/fml/common/modloader/ModLoaderFuelHelper.java
+++ b/fml/common/cpw/mods/fml/common/modloader/ModLoaderFuelHelper.java
@@ -1,6 +1,6 @@
package cpw.mods.fml.common.modloader;
-import net.minecraft.src.ItemStack;
+import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.IFuelHandler;
public class ModLoaderFuelHelper implements IFuelHandler
diff --git a/fml/common/cpw/mods/fml/common/modloader/ModLoaderGuiHelper.java b/fml/common/cpw/mods/fml/common/modloader/ModLoaderGuiHelper.java
index 97eba7800..ce49493f0 100644
--- a/fml/common/cpw/mods/fml/common/modloader/ModLoaderGuiHelper.java
+++ b/fml/common/cpw/mods/fml/common/modloader/ModLoaderGuiHelper.java
@@ -1,8 +1,8 @@
package cpw.mods.fml.common.modloader;
-import net.minecraft.src.Container;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.World;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.Container;
+import net.minecraft.world.World;
import cpw.mods.fml.common.network.IGuiHandler;
public class ModLoaderGuiHelper implements IGuiHandler
diff --git a/fml/common/cpw/mods/fml/common/modloader/ModLoaderHelper.java b/fml/common/cpw/mods/fml/common/modloader/ModLoaderHelper.java
index 6ad96699a..26967dcbc 100644
--- a/fml/common/cpw/mods/fml/common/modloader/ModLoaderHelper.java
+++ b/fml/common/cpw/mods/fml/common/modloader/ModLoaderHelper.java
@@ -23,13 +23,13 @@ import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.Maps;
+import net.minecraft.command.ICommand;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.passive.IAnimals;
+import net.minecraft.entity.boss.EntityDragon;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.Container;
import net.minecraft.src.BaseMod;
-import net.minecraft.src.Container;
-import net.minecraft.src.Entity;
-import net.minecraft.src.EntityDragon;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.IAnimals;
-import net.minecraft.src.ICommand;
import net.minecraft.src.TradeEntry;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.FMLLog;
diff --git a/fml/common/cpw/mods/fml/common/modloader/ModLoaderModContainer.java b/fml/common/cpw/mods/fml/common/modloader/ModLoaderModContainer.java
index 298a930e5..dfeddaede 100644
--- a/fml/common/cpw/mods/fml/common/modloader/ModLoaderModContainer.java
+++ b/fml/common/cpw/mods/fml/common/modloader/ModLoaderModContainer.java
@@ -28,7 +28,7 @@ import java.util.Properties;
import java.util.Set;
import java.util.logging.Level;
-import net.minecraft.src.ICommand;
+import net.minecraft.command.ICommand;
import com.google.common.base.Strings;
import com.google.common.base.Throwables;
diff --git a/fml/common/cpw/mods/fml/common/modloader/ModLoaderPacketHandler.java b/fml/common/cpw/mods/fml/common/modloader/ModLoaderPacketHandler.java
index 9b1c47073..3fa16b3f0 100644
--- a/fml/common/cpw/mods/fml/common/modloader/ModLoaderPacketHandler.java
+++ b/fml/common/cpw/mods/fml/common/modloader/ModLoaderPacketHandler.java
@@ -1,9 +1,8 @@
package cpw.mods.fml.common.modloader;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.EntityPlayerMP;
-import net.minecraft.src.INetworkManager;
-import net.minecraft.src.Packet250CustomPayload;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.Packet250CustomPayload;
import cpw.mods.fml.common.network.IPacketHandler;
import cpw.mods.fml.common.network.Player;
diff --git a/fml/common/cpw/mods/fml/common/modloader/ModLoaderPickupNotifier.java b/fml/common/cpw/mods/fml/common/modloader/ModLoaderPickupNotifier.java
index 3c4a0e75b..e86d3d85d 100644
--- a/fml/common/cpw/mods/fml/common/modloader/ModLoaderPickupNotifier.java
+++ b/fml/common/cpw/mods/fml/common/modloader/ModLoaderPickupNotifier.java
@@ -1,7 +1,7 @@
package cpw.mods.fml.common.modloader;
-import net.minecraft.src.EntityItem;
-import net.minecraft.src.EntityPlayer;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
import cpw.mods.fml.common.IPickupNotifier;
public class ModLoaderPickupNotifier implements IPickupNotifier
diff --git a/fml/common/cpw/mods/fml/common/modloader/ModLoaderVillageTradeHandler.java b/fml/common/cpw/mods/fml/common/modloader/ModLoaderVillageTradeHandler.java
index 195112b5e..35e474350 100644
--- a/fml/common/cpw/mods/fml/common/modloader/ModLoaderVillageTradeHandler.java
+++ b/fml/common/cpw/mods/fml/common/modloader/ModLoaderVillageTradeHandler.java
@@ -5,10 +5,10 @@ import java.util.Random;
import com.google.common.collect.Lists;
-import net.minecraft.src.EntityVillager;
-import net.minecraft.src.Item;
-import net.minecraft.src.MerchantRecipeList;
+import net.minecraft.entity.passive.EntityVillager;
+import net.minecraft.item.Item;
import net.minecraft.src.TradeEntry;
+import net.minecraft.village.MerchantRecipeList;
import cpw.mods.fml.common.registry.VillagerRegistry;
import cpw.mods.fml.common.registry.VillagerRegistry.IVillageTradeHandler;
diff --git a/fml/common/cpw/mods/fml/common/modloader/ModLoaderWorldGenerator.java b/fml/common/cpw/mods/fml/common/modloader/ModLoaderWorldGenerator.java
index fcf23621f..b8e6bba94 100644
--- a/fml/common/cpw/mods/fml/common/modloader/ModLoaderWorldGenerator.java
+++ b/fml/common/cpw/mods/fml/common/modloader/ModLoaderWorldGenerator.java
@@ -2,10 +2,11 @@ package cpw.mods.fml.common.modloader;
import java.util.Random;
-import net.minecraft.src.ChunkProviderGenerate;
-import net.minecraft.src.ChunkProviderHell;
-import net.minecraft.src.IChunkProvider;
-import net.minecraft.src.World;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.IChunkProvider;
+import net.minecraft.world.gen.ChunkProviderGenerate;
+import net.minecraft.world.gen.ChunkProviderHell;
+
import cpw.mods.fml.common.IWorldGenerator;
public class ModLoaderWorldGenerator implements IWorldGenerator
diff --git a/fml/common/cpw/mods/fml/common/network/EntitySpawnAdjustmentPacket.java b/fml/common/cpw/mods/fml/common/network/EntitySpawnAdjustmentPacket.java
index bbe7db8f2..166eaf1c7 100644
--- a/fml/common/cpw/mods/fml/common/network/EntitySpawnAdjustmentPacket.java
+++ b/fml/common/cpw/mods/fml/common/network/EntitySpawnAdjustmentPacket.java
@@ -1,7 +1,7 @@
package cpw.mods.fml.common.network;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.INetworkManager;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.NetHandler;
import com.google.common.io.ByteArrayDataInput;
import com.google.common.io.ByteArrayDataOutput;
diff --git a/fml/common/cpw/mods/fml/common/network/EntitySpawnPacket.java b/fml/common/cpw/mods/fml/common/network/EntitySpawnPacket.java
index dbe0ced59..ddd68b78e 100644
--- a/fml/common/cpw/mods/fml/common/network/EntitySpawnPacket.java
+++ b/fml/common/cpw/mods/fml/common/network/EntitySpawnPacket.java
@@ -8,12 +8,10 @@ import java.io.IOException;
import java.util.List;
import java.util.logging.Level;
-import net.minecraft.src.DataWatcher;
-import net.minecraft.src.Entity;
-import net.minecraft.src.EntityLiving;
-import net.minecraft.src.MathHelper;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.INetworkManager;
+import net.minecraft.entity.*;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.NetHandler;
+import net.minecraft.util.MathHelper;
import com.google.common.io.ByteArrayDataInput;
import com.google.common.io.ByteArrayDataOutput;
diff --git a/fml/common/cpw/mods/fml/common/network/FMLNetworkHandler.java b/fml/common/cpw/mods/fml/common/network/FMLNetworkHandler.java
index 0b0a00611..7877306a0 100644
--- a/fml/common/cpw/mods/fml/common/network/FMLNetworkHandler.java
+++ b/fml/common/cpw/mods/fml/common/network/FMLNetworkHandler.java
@@ -11,24 +11,17 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.Item;
+import net.minecraft.network.*;
+import net.minecraft.network.packet.*;
import net.minecraft.server.MinecraftServer;
-import net.minecraft.src.Entity;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.EntityPlayerMP;
-import net.minecraft.src.EnumGameType;
-import net.minecraft.src.Item;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.NetLoginHandler;
-import net.minecraft.src.NetServerHandler;
-import net.minecraft.src.INetworkManager;
-import net.minecraft.src.Packet;
-import net.minecraft.src.Packet131MapData;
-import net.minecraft.src.Packet1Login;
-import net.minecraft.src.Packet250CustomPayload;
-import net.minecraft.src.Packet3Chat;
-import net.minecraft.src.ServerConfigurationManager;
-import net.minecraft.src.World;
-import net.minecraft.src.WorldType;
+import net.minecraft.server.management.ServerConfigurationManager;
+import net.minecraft.world.EnumGameType;
+import net.minecraft.world.World;
+import net.minecraft.world.WorldType;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
diff --git a/fml/common/cpw/mods/fml/common/network/FMLPacket.java b/fml/common/cpw/mods/fml/common/network/FMLPacket.java
index 851ec727c..f1207fd1a 100644
--- a/fml/common/cpw/mods/fml/common/network/FMLPacket.java
+++ b/fml/common/cpw/mods/fml/common/network/FMLPacket.java
@@ -4,8 +4,8 @@ import java.util.Arrays;
import java.util.concurrent.ConcurrentMap;
import java.util.logging.Level;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.INetworkManager;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.NetHandler;
import com.google.common.base.Throwables;
import com.google.common.collect.MapMaker;
diff --git a/fml/common/cpw/mods/fml/common/network/IChatListener.java b/fml/common/cpw/mods/fml/common/network/IChatListener.java
index 789ae46d7..6ae4bbe51 100644
--- a/fml/common/cpw/mods/fml/common/network/IChatListener.java
+++ b/fml/common/cpw/mods/fml/common/network/IChatListener.java
@@ -1,8 +1,6 @@
package cpw.mods.fml.common.network;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.NetServerHandler;
-import net.minecraft.src.Packet3Chat;
+import net.minecraft.network.packet.*;
public interface IChatListener
{
diff --git a/fml/common/cpw/mods/fml/common/network/IConnectionHandler.java b/fml/common/cpw/mods/fml/common/network/IConnectionHandler.java
index e0addd437..8eae0f1a5 100644
--- a/fml/common/cpw/mods/fml/common/network/IConnectionHandler.java
+++ b/fml/common/cpw/mods/fml/common/network/IConnectionHandler.java
@@ -1,10 +1,10 @@
package cpw.mods.fml.common.network;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.NetLoginHandler;
+import net.minecraft.network.packet.NetHandler;
+import net.minecraft.network.packet.Packet1Login;
import net.minecraft.server.MinecraftServer;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.NetLoginHandler;
-import net.minecraft.src.INetworkManager;
-import net.minecraft.src.Packet1Login;
public interface IConnectionHandler
{
diff --git a/fml/common/cpw/mods/fml/common/network/IGuiHandler.java b/fml/common/cpw/mods/fml/common/network/IGuiHandler.java
index 73f01aa43..2b4ae19c6 100644
--- a/fml/common/cpw/mods/fml/common/network/IGuiHandler.java
+++ b/fml/common/cpw/mods/fml/common/network/IGuiHandler.java
@@ -1,7 +1,7 @@
package cpw.mods.fml.common.network;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.World;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
public interface IGuiHandler
{
diff --git a/fml/common/cpw/mods/fml/common/network/IPacketHandler.java b/fml/common/cpw/mods/fml/common/network/IPacketHandler.java
index aee9fad52..fc6b61b65 100644
--- a/fml/common/cpw/mods/fml/common/network/IPacketHandler.java
+++ b/fml/common/cpw/mods/fml/common/network/IPacketHandler.java
@@ -1,7 +1,7 @@
package cpw.mods.fml.common.network;
-import net.minecraft.src.INetworkManager;
-import net.minecraft.src.Packet250CustomPayload;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.Packet250CustomPayload;
public interface IPacketHandler
{
diff --git a/fml/common/cpw/mods/fml/common/network/ITinyPacketHandler.java b/fml/common/cpw/mods/fml/common/network/ITinyPacketHandler.java
index 191f665eb..851d7dd02 100644
--- a/fml/common/cpw/mods/fml/common/network/ITinyPacketHandler.java
+++ b/fml/common/cpw/mods/fml/common/network/ITinyPacketHandler.java
@@ -1,7 +1,6 @@
package cpw.mods.fml.common.network;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.Packet131MapData;
+import net.minecraft.network.packet.*;
public interface ITinyPacketHandler
{
diff --git a/fml/common/cpw/mods/fml/common/network/ModIdMapPacket.java b/fml/common/cpw/mods/fml/common/network/ModIdMapPacket.java
index f81cc1f6d..ce433942d 100644
--- a/fml/common/cpw/mods/fml/common/network/ModIdMapPacket.java
+++ b/fml/common/cpw/mods/fml/common/network/ModIdMapPacket.java
@@ -5,6 +5,10 @@ import java.util.BitSet;
import java.util.Set;
import java.util.logging.Level;
+import net.minecraft.nbt.*;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.NetHandler;
+
import com.google.common.collect.MapDifference;
import com.google.common.io.ByteArrayDataInput;
import com.google.common.io.ByteStreams;
@@ -18,12 +22,6 @@ import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.registry.GameData;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.ItemData;
-import net.minecraft.src.CompressedStreamTools;
-import net.minecraft.src.INetworkManager;
-import net.minecraft.src.NBTTagCompound;
-import net.minecraft.src.NBTTagList;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.WorldClient;
import static cpw.mods.fml.common.network.FMLPacket.Type.MOD_IDMAP;
public class ModIdMapPacket extends FMLPacket {
diff --git a/fml/common/cpw/mods/fml/common/network/ModIdentifiersPacket.java b/fml/common/cpw/mods/fml/common/network/ModIdentifiersPacket.java
index 6f4eebc37..be2e03ee0 100644
--- a/fml/common/cpw/mods/fml/common/network/ModIdentifiersPacket.java
+++ b/fml/common/cpw/mods/fml/common/network/ModIdentifiersPacket.java
@@ -6,8 +6,8 @@ import java.util.Collection;
import java.util.Map;
import java.util.Map.Entry;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.INetworkManager;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.NetHandler;
import com.google.common.collect.Maps;
import com.google.common.io.ByteArrayDataInput;
diff --git a/fml/common/cpw/mods/fml/common/network/ModListRequestPacket.java b/fml/common/cpw/mods/fml/common/network/ModListRequestPacket.java
index 3b754904b..7a2d73322 100644
--- a/fml/common/cpw/mods/fml/common/network/ModListRequestPacket.java
+++ b/fml/common/cpw/mods/fml/common/network/ModListRequestPacket.java
@@ -8,9 +8,8 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.INetworkManager;
-import net.minecraft.src.Packet250CustomPayload;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.NetHandler;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
diff --git a/fml/common/cpw/mods/fml/common/network/ModListResponsePacket.java b/fml/common/cpw/mods/fml/common/network/ModListResponsePacket.java
index c11ed4779..d28a63bbd 100644
--- a/fml/common/cpw/mods/fml/common/network/ModListResponsePacket.java
+++ b/fml/common/cpw/mods/fml/common/network/ModListResponsePacket.java
@@ -10,11 +10,9 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger;
-import net.minecraft.src.NBTTagList;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.NetLoginHandler;
-import net.minecraft.src.INetworkManager;
-import net.minecraft.src.Packet250CustomPayload;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.network.*;
+import net.minecraft.network.packet.*;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
diff --git a/fml/common/cpw/mods/fml/common/network/ModMissingPacket.java b/fml/common/cpw/mods/fml/common/network/ModMissingPacket.java
index 045c899d5..4f5b50eac 100644
--- a/fml/common/cpw/mods/fml/common/network/ModMissingPacket.java
+++ b/fml/common/cpw/mods/fml/common/network/ModMissingPacket.java
@@ -16,8 +16,8 @@ import cpw.mods.fml.common.versioning.ArtifactVersion;
import cpw.mods.fml.common.versioning.DefaultArtifactVersion;
import cpw.mods.fml.common.versioning.VersionRange;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.INetworkManager;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.NetHandler;
public class ModMissingPacket extends FMLPacket
{
diff --git a/fml/common/cpw/mods/fml/common/network/NetworkMod.java b/fml/common/cpw/mods/fml/common/network/NetworkMod.java
index 18d66d403..3f3bc24d0 100644
--- a/fml/common/cpw/mods/fml/common/network/NetworkMod.java
+++ b/fml/common/cpw/mods/fml/common/network/NetworkMod.java
@@ -5,8 +5,6 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import net.minecraft.src.Packet131MapData;
-
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface NetworkMod
diff --git a/fml/common/cpw/mods/fml/common/network/NetworkModHandler.java b/fml/common/cpw/mods/fml/common/network/NetworkModHandler.java
index c4ec85bb2..c69d4edec 100644
--- a/fml/common/cpw/mods/fml/common/network/NetworkModHandler.java
+++ b/fml/common/cpw/mods/fml/common/network/NetworkModHandler.java
@@ -4,7 +4,7 @@ import java.lang.reflect.Method;
import java.util.Set;
import java.util.logging.Level;
-import net.minecraft.src.Item;
+import net.minecraft.item.Item;
import com.google.common.base.Strings;
diff --git a/fml/common/cpw/mods/fml/common/network/NetworkRegistry.java b/fml/common/cpw/mods/fml/common/network/NetworkRegistry.java
index e86ea046a..f691fb947 100644
--- a/fml/common/cpw/mods/fml/common/network/NetworkRegistry.java
+++ b/fml/common/cpw/mods/fml/common/network/NetworkRegistry.java
@@ -6,19 +6,13 @@ import java.util.Map;
import java.util.Set;
import java.util.logging.Level;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.inventory.Container;
+import net.minecraft.network.*;
+import net.minecraft.network.packet.*;
import net.minecraft.server.MinecraftServer;
-import net.minecraft.src.Container;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.EntityPlayerMP;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.NetLoginHandler;
-import net.minecraft.src.NetServerHandler;
-import net.minecraft.src.INetworkManager;
-import net.minecraft.src.Packet131MapData;
-import net.minecraft.src.Packet1Login;
-import net.minecraft.src.Packet250CustomPayload;
-import net.minecraft.src.Packet3Chat;
-import net.minecraft.src.World;
+import net.minecraft.world.World;
import com.google.common.base.Charsets;
import com.google.common.base.Joiner;
diff --git a/fml/common/cpw/mods/fml/common/network/OpenGuiPacket.java b/fml/common/cpw/mods/fml/common/network/OpenGuiPacket.java
index cc1d3b296..3b5ab47a1 100644
--- a/fml/common/cpw/mods/fml/common/network/OpenGuiPacket.java
+++ b/fml/common/cpw/mods/fml/common/network/OpenGuiPacket.java
@@ -1,8 +1,8 @@
package cpw.mods.fml.common.network;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.INetworkManager;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.NetHandler;
import com.google.common.io.ByteArrayDataInput;
import com.google.common.io.ByteArrayDataOutput;
diff --git a/fml/common/cpw/mods/fml/common/network/PacketDispatcher.java b/fml/common/cpw/mods/fml/common/network/PacketDispatcher.java
index f11a220b8..533734f1a 100644
--- a/fml/common/cpw/mods/fml/common/network/PacketDispatcher.java
+++ b/fml/common/cpw/mods/fml/common/network/PacketDispatcher.java
@@ -1,10 +1,10 @@
package cpw.mods.fml.common.network;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.network.packet.Packet;
+import net.minecraft.network.packet.Packet131MapData;
+import net.minecraft.network.packet.Packet250CustomPayload;
import net.minecraft.server.MinecraftServer;
-import net.minecraft.src.EntityPlayerMP;
-import net.minecraft.src.Packet;
-import net.minecraft.src.Packet131MapData;
-import net.minecraft.src.Packet250CustomPayload;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.FMLLog;
diff --git a/fml/common/cpw/mods/fml/common/registry/BlockTracker.java b/fml/common/cpw/mods/fml/common/registry/BlockTracker.java
index 6075e83dc..ee46a2a44 100644
--- a/fml/common/cpw/mods/fml/common/registry/BlockTracker.java
+++ b/fml/common/cpw/mods/fml/common/registry/BlockTracker.java
@@ -2,7 +2,7 @@ package cpw.mods.fml.common.registry;
import java.util.BitSet;
-import net.minecraft.src.Block;
+import net.minecraft.block.Block;
class BlockTracker
{
diff --git a/fml/common/cpw/mods/fml/common/registry/EntityRegistry.java b/fml/common/cpw/mods/fml/common/registry/EntityRegistry.java
index c5e86bd42..6059502b5 100644
--- a/fml/common/cpw/mods/fml/common/registry/EntityRegistry.java
+++ b/fml/common/cpw/mods/fml/common/registry/EntityRegistry.java
@@ -7,13 +7,13 @@ import java.util.Map;
import java.util.concurrent.Callable;
import java.util.logging.Level;
-import net.minecraft.src.BiomeGenBase;
-import net.minecraft.src.Entity;
-import net.minecraft.src.EntityList;
-import net.minecraft.src.EntityLiving;
-import net.minecraft.src.EntityTracker;
-import net.minecraft.src.EnumCreatureType;
-import net.minecraft.src.SpawnListEntry;
+import net.minecraft.entity.Entity;
+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.SpawnListEntry;
import com.google.common.base.Function;
import com.google.common.collect.ArrayListMultimap;
diff --git a/fml/common/cpw/mods/fml/common/registry/GameData.java b/fml/common/cpw/mods/fml/common/registry/GameData.java
index 3ec333a44..3ba4a0fa0 100644
--- a/fml/common/cpw/mods/fml/common/registry/GameData.java
+++ b/fml/common/cpw/mods/fml/common/registry/GameData.java
@@ -4,9 +4,9 @@ import java.util.Map;
import java.util.Set;
import java.util.concurrent.CountDownLatch;
-import net.minecraft.src.Item;
-import net.minecraft.src.NBTTagCompound;
-import net.minecraft.src.NBTTagList;
+import net.minecraft.item.Item;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
import com.google.common.base.Function;
import com.google.common.collect.MapDifference;
diff --git a/fml/common/cpw/mods/fml/common/registry/GameRegistry.java b/fml/common/cpw/mods/fml/common/registry/GameRegistry.java
index 2466127bb..c34f42b5e 100644
--- a/fml/common/cpw/mods/fml/common/registry/GameRegistry.java
+++ b/fml/common/cpw/mods/fml/common/registry/GameRegistry.java
@@ -7,23 +7,22 @@ import java.util.Set;
import java.util.concurrent.CountDownLatch;
import java.util.logging.Level;
-import net.minecraft.server.MinecraftServer;
-import net.minecraft.src.BiomeGenBase;
-import net.minecraft.src.CraftingManager;
-import net.minecraft.src.EntityItem;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.FurnaceRecipes;
-import net.minecraft.src.IChunkProvider;
-import net.minecraft.src.IInventory;
-import net.minecraft.src.IRecipe;
-import net.minecraft.src.Item;
-import net.minecraft.src.ItemBlock;
-import net.minecraft.src.ItemStack;
-import net.minecraft.src.NBTTagCompound;
-import net.minecraft.src.NBTTagList;
-import net.minecraft.src.TileEntity;
-import net.minecraft.src.World;
-import net.minecraft.src.WorldType;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.CraftingManager;
+import net.minecraft.item.crafting.FurnaceRecipes;
+import net.minecraft.item.crafting.IRecipe;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+import net.minecraft.world.WorldType;
+import net.minecraft.world.biome.BiomeGenBase;
+import net.minecraft.world.chunk.IChunkProvider;
import com.google.common.base.Function;
import com.google.common.collect.ArrayListMultimap;
@@ -139,7 +138,7 @@ public class GameRegistry
public static Object buildBlock(ModContainer container, Class> type, Block annotation) throws Exception
{
Object o = type.getConstructor(int.class).newInstance(findSpareBlockId());
- registerBlock((net.minecraft.src.Block) o);
+ registerBlock((net.minecraft.block.Block) o);
return o;
}
@@ -157,7 +156,7 @@ public class GameRegistry
* Register a block with the world
*
*/
- public static void registerBlock(net.minecraft.src.Block block)
+ public static void registerBlock(net.minecraft.block.Block block)
{
registerBlock(block, ItemBlock.class);
}
@@ -168,7 +167,7 @@ public class GameRegistry
* @param block
* @param itemclass
*/
- public static void registerBlock(net.minecraft.src.Block block, Class extends ItemBlock> itemclass)
+ public static void registerBlock(net.minecraft.block.Block block, Class extends ItemBlock> itemclass)
{
if (Loader.instance().isInState(LoaderState.CONSTRUCTING))
{
diff --git a/fml/common/cpw/mods/fml/common/registry/IThrowableEntity.java b/fml/common/cpw/mods/fml/common/registry/IThrowableEntity.java
index 091c71014..49e752345 100644
--- a/fml/common/cpw/mods/fml/common/registry/IThrowableEntity.java
+++ b/fml/common/cpw/mods/fml/common/registry/IThrowableEntity.java
@@ -1,6 +1,6 @@
package cpw.mods.fml.common.registry;
-import net.minecraft.src.Entity;
+import net.minecraft.entity.Entity;
/**
* This interface should be implemented by an Entity that can be 'thrown', like snowballs.
diff --git a/fml/common/cpw/mods/fml/common/registry/ItemData.java b/fml/common/cpw/mods/fml/common/registry/ItemData.java
index 96eebd4c3..255ff542f 100644
--- a/fml/common/cpw/mods/fml/common/registry/ItemData.java
+++ b/fml/common/cpw/mods/fml/common/registry/ItemData.java
@@ -2,6 +2,9 @@ package cpw.mods.fml.common.registry;
import java.util.Map;
+import net.minecraft.item.Item;
+import net.minecraft.nbt.NBTTagCompound;
+
import com.google.common.base.Objects;
import com.google.common.collect.HashMultiset;
import com.google.common.collect.Maps;
@@ -9,9 +12,6 @@ import com.google.common.collect.Multiset;
import cpw.mods.fml.common.ModContainer;
-import net.minecraft.src.Item;
-import net.minecraft.src.NBTTagCompound;
-
public class ItemData {
private static Map> modOrdinals = Maps.newHashMap();
diff --git a/fml/common/cpw/mods/fml/common/registry/LanguageRegistry.java b/fml/common/cpw/mods/fml/common/registry/LanguageRegistry.java
index 4f00b11b0..cd5f524bc 100644
--- a/fml/common/cpw/mods/fml/common/registry/LanguageRegistry.java
+++ b/fml/common/cpw/mods/fml/common/registry/LanguageRegistry.java
@@ -7,12 +7,10 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
-import cpw.mods.fml.common.FMLLog;
-
-import net.minecraft.src.Block;
-import net.minecraft.src.Item;
-import net.minecraft.src.ItemStack;
-import net.minecraft.src.StringTranslate;
+import net.minecraft.block.Block;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.StringTranslate;
public class LanguageRegistry
{
diff --git a/fml/common/cpw/mods/fml/common/registry/VillagerRegistry.java b/fml/common/cpw/mods/fml/common/registry/VillagerRegistry.java
index 966b5262f..7fd8b323f 100644
--- a/fml/common/cpw/mods/fml/common/registry/VillagerRegistry.java
+++ b/fml/common/cpw/mods/fml/common/registry/VillagerRegistry.java
@@ -5,14 +5,12 @@ import java.util.List;
import java.util.Map;
import java.util.Random;
-import net.minecraft.src.ComponentVillageStartPiece;
-import net.minecraft.src.EntityVillager;
-import net.minecraft.src.Item;
-import net.minecraft.src.MapGenVillage;
-import net.minecraft.src.MerchantRecipeList;
-import net.minecraft.src.StructureVillagePieceWeight;
-import net.minecraft.src.StructureVillagePieces;
-import net.minecraft.src.Tuple;
+import net.minecraft.entity.passive.EntityVillager;
+import net.minecraft.item.Item;
+import net.minecraft.util.Tuple;
+import net.minecraft.village.MerchantRecipeList;
+import net.minecraft.world.gen.structure.ComponentVillageStartPiece;
+import net.minecraft.world.gen.structure.StructureVillagePieceWeight;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Lists;
diff --git a/fml/common/cpw/mods/fml/server/FMLServerHandler.java b/fml/common/cpw/mods/fml/server/FMLServerHandler.java
index 06622e69e..c4a2ca88f 100644
--- a/fml/common/cpw/mods/fml/server/FMLServerHandler.java
+++ b/fml/common/cpw/mods/fml/server/FMLServerHandler.java
@@ -17,14 +17,13 @@ import java.util.List;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.MapDifference;
+import net.minecraft.entity.Entity;
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.NetHandler;
+import net.minecraft.network.packet.Packet;
+import net.minecraft.network.packet.Packet131MapData;
import net.minecraft.server.MinecraftServer;
-import net.minecraft.src.Entity;
-import net.minecraft.src.INetworkManager;
-import net.minecraft.src.NetClientHandler;
-import net.minecraft.src.NetHandler;
-import net.minecraft.src.Packet;
-import net.minecraft.src.Packet131MapData;
-import net.minecraft.src.World;
+import net.minecraft.world.World;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.IFMLSidedHandler;
import cpw.mods.fml.common.Loader;
@@ -43,7 +42,7 @@ import cpw.mods.fml.common.registry.LanguageRegistry;
* Handles primary communication from hooked code into the system
*
* The FML entry point is {@link #beginServerLoading(MinecraftServer)} called from
- * {@link net.minecraft.src.DedicatedServer}
+ * {@link net.minecraft.shared.DedicatedServer}
*
* Obfuscated code should focus on this class and other members of the "server"
* (or "client") code
diff --git a/fml/common/fml_marker.cfg b/fml/common/fml_marker.cfg
index 85ce10da9..7ea2dac3d 100644
--- a/fml/common/fml_marker.cfg
+++ b/fml/common/fml_marker.cfg
@@ -3,10 +3,10 @@
# has deobf and obf mappings so it runs OK in mcp
# entityplayer -> network/player
qx cpw/mods/fml/common/network/Player
-net.minecraft.src.EntityPlayer cpw/mods/fml/common/network/Player
+net.minecraft.entity.player.EntityPlayer cpw/mods/fml/common/network/Player
# block -> blockproxy
amj cpw/mods/fml/common/registry/BlockProxy
-net.minecraft.src.Block cpw/mods/fml/common/registry/BlockProxy
+net.minecraft.block.Block cpw/mods/fml/common/registry/BlockProxy
# item -> itemproxy
uk cpw/mods/fml/common/registry/ItemProxy
-net.minecraft.src.Item cpw/mods/fml/common/registry/ItemProxy
+net.minecraft.item.Item cpw/mods/fml/common/registry/ItemProxy
diff --git a/fml/conf/mcp.cfg b/fml/conf/mcp.cfg
index 3c2457b1a..ac07ea643 100644
--- a/fml/conf/mcp.cfg
+++ b/fml/conf/mcp.cfg
@@ -22,8 +22,8 @@ Params = %(DirConf)s/params.csv
NewIds = %(DirConf)s/newids.csv
[SRGS]
-ConfClient = %(DirConf)s/joined.srg
-ConfServer = %(DirConf)s/joined.srg
+ConfClient = %(DirConf)s/packaged.srg
+ConfServer = %(DirConf)s/packaged.srg
Client = %(DirTemp)s/client_rg.srg
Server = %(DirTemp)s/server_rg.srg
DeobfClient = %(DirTemp)s/client_deobf.srg
@@ -56,8 +56,8 @@ ServerDeobLog = %(DirLogs)s/server_deob.log
NullPkg = net/minecraft/src
[EXCEPTOR]
-XClientCfg = %(DirConf)s/joined.exc
-XServerCfg = %(DirConf)s/joined.exc
+XClientCfg = %(DirConf)s/packaged.exc
+XServerCfg = %(DirConf)s/packaged.exc
XClientOut = %(DirTemp)s/minecraft_exc.jar
XServerOut = %(DirTemp)s/minecraft_server_exc.jar
XClientLog = %(DirLogs)s/client_exc.log
diff --git a/fml/conf/packages.csv b/fml/conf/packages.csv
new file mode 100644
index 000000000..8acd89709
--- /dev/null
+++ b/fml/conf/packages.csv
@@ -0,0 +1,1327 @@
+class,package
+Block,net/minecraft/block
+BlockAnvil,net/minecraft/block
+BlockBeacon,net/minecraft/block
+BlockBed,net/minecraft/block
+BlockBookshelf,net/minecraft/block
+BlockBreakable,net/minecraft/block
+BlockBrewingStand,net/minecraft/block
+BlockButton,net/minecraft/block
+BlockCactus,net/minecraft/block
+BlockCake,net/minecraft/block
+BlockCarrot,net/minecraft/block
+BlockCauldron,net/minecraft/block
+BlockChest,net/minecraft/block
+BlockClay,net/minecraft/block
+BlockCloth,net/minecraft/block
+BlockCocoa,net/minecraft/block
+BlockCommandBlock,net/minecraft/block
+BlockContainer,net/minecraft/block
+BlockCrops,net/minecraft/block
+BlockDeadBush,net/minecraft/block
+BlockDetectorRail,net/minecraft/block
+BlockDirectional,net/minecraft/block
+BlockDirt,net/minecraft/block
+BlockDispenser,net/minecraft/block
+BlockDoor,net/minecraft/block
+BlockDragonEgg,net/minecraft/block
+BlockEnchantmentTable,net/minecraft/block
+BlockEndPortal,net/minecraft/block
+BlockEndPortalFrame,net/minecraft/block
+BlockEnderChest,net/minecraft/block
+BlockEventData,net/minecraft/block
+BlockFarmland,net/minecraft/block
+BlockFence,net/minecraft/block
+BlockFenceGate,net/minecraft/block
+BlockFire,net/minecraft/block
+BlockFlower,net/minecraft/block
+BlockFlowerPot,net/minecraft/block
+BlockFlowing,net/minecraft/block
+BlockFluid,net/minecraft/block
+BlockFurnace,net/minecraft/block
+BlockGlass,net/minecraft/block
+BlockGlowStone,net/minecraft/block
+BlockGrass,net/minecraft/block
+BlockGravel,net/minecraft/block
+BlockHalfSlab,net/minecraft/block
+BlockIce,net/minecraft/block
+BlockJukeBox,net/minecraft/block
+BlockLadder,net/minecraft/block
+BlockLeaves,net/minecraft/block
+BlockLeavesBase,net/minecraft/block
+BlockLever,net/minecraft/block
+BlockLilyPad,net/minecraft/block
+BlockLockedChest,net/minecraft/block
+BlockLog,net/minecraft/block
+BlockMelon,net/minecraft/block
+BlockMobSpawner,net/minecraft/block
+BlockMushroom,net/minecraft/block
+BlockMushroomCap,net/minecraft/block
+BlockMycelium,net/minecraft/block
+BlockNetherStalk,net/minecraft/block
+BlockNetherrack,net/minecraft/block
+BlockNote,net/minecraft/block
+BlockObsidian,net/minecraft/block
+BlockOre,net/minecraft/block
+BlockOreStorage,net/minecraft/block
+BlockPane,net/minecraft/block
+BlockPistonBase,net/minecraft/block
+BlockPistonExtension,net/minecraft/block
+BlockPistonMoving,net/minecraft/block
+BlockPortal,net/minecraft/block
+BlockPotato,net/minecraft/block
+BlockPressurePlate,net/minecraft/block
+BlockPumpkin,net/minecraft/block
+BlockRail,net/minecraft/block
+BlockRedstoneLight,net/minecraft/block
+BlockRedstoneOre,net/minecraft/block
+BlockRedstoneRepeater,net/minecraft/block
+BlockRedstoneTorch,net/minecraft/block
+BlockRedstoneWire,net/minecraft/block
+BlockReed,net/minecraft/block
+BlockSand,net/minecraft/block
+BlockSandStone,net/minecraft/block
+BlockSapling,net/minecraft/block
+BlockSign,net/minecraft/block
+BlockSilverfish,net/minecraft/block
+BlockSkull,net/minecraft/block
+BlockSnow,net/minecraft/block
+BlockSnowBlock,net/minecraft/block
+BlockSoulSand,net/minecraft/block
+BlockSourceImpl,net/minecraft/block
+BlockSponge,net/minecraft/block
+BlockStairs,net/minecraft/block
+BlockStationary,net/minecraft/block
+BlockStem,net/minecraft/block
+BlockStep,net/minecraft/block
+BlockStone,net/minecraft/block
+BlockStoneBrick,net/minecraft/block
+BlockTNT,net/minecraft/block
+BlockTallGrass,net/minecraft/block
+BlockTorch,net/minecraft/block
+BlockTrapDoor,net/minecraft/block
+BlockTripWire,net/minecraft/block
+BlockTripWireSource,net/minecraft/block
+BlockVine,net/minecraft/block
+BlockWall,net/minecraft/block
+BlockWeb,net/minecraft/block
+BlockWood,net/minecraft/block
+BlockWoodSlab,net/minecraft/block
+BlockWorkbench,net/minecraft/block
+EnumMobType,net/minecraft/block
+RailLogic,net/minecraft/block
+RedstoneUpdateInfo,net/minecraft/block
+StepSound,net/minecraft/block
+StepSoundAnvil,net/minecraft/block
+StepSoundSand,net/minecraft/block
+StepSoundStone,net/minecraft/block
+TileEntityRecordPlayer,net/minecraft/block
+MapColor,net/minecraft/block/material
+Material,net/minecraft/block/material
+MaterialLiquid,net/minecraft/block/material
+MaterialLogic,net/minecraft/block/material
+MaterialPortal,net/minecraft/block/material
+MaterialTransparent,net/minecraft/block/material
+MaterialWeb,net/minecraft/block/material
+CallableClientMemoryStats,net/minecraft/client
+CallableClientProfiler,net/minecraft/client
+CallableGLInfo,net/minecraft/client
+CallableLWJGLVersion,net/minecraft/client
+CallableModded,net/minecraft/client
+CallableTexturePack,net/minecraft/client
+CallableTickingScreenName,net/minecraft/client
+CallableType2,net/minecraft/client
+CallableUpdatingScreenName,net/minecraft/client
+CanvasCrashReport,net/minecraft/client
+CanvasMinecraftApplet,net/minecraft/client
+CanvasMojangLogo,net/minecraft/client
+EnumOSHelper,net/minecraft/client
+GameWindowListener,net/minecraft/client
+MinecraftAppletImpl,net/minecraft/client
+MinecraftFakeLauncher,net/minecraft/client
+PanelCrashReport,net/minecraft/client
+StatStringFormatKeyInv,net/minecraft/client
+ThreadClientSleep,net/minecraft/client
+ThreadShutdown,net/minecraft/client
+CodecMus,net/minecraft/client/audio
+MusInputStream,net/minecraft/client/audio
+SoundManager,net/minecraft/client/audio
+SoundPool,net/minecraft/client/audio
+SoundPoolEntry,net/minecraft/client/audio
+EntityClientPlayerMP,net/minecraft/client/entity
+EntityOtherPlayerMP,net/minecraft/client/entity
+EntityPlayerSP,net/minecraft/client/entity
+ChatClickData,net/minecraft/client/gui
+ChatLine,net/minecraft/client/gui
+FontRenderer,net/minecraft/client/gui
+Gui,net/minecraft/client/gui
+GuiButton,net/minecraft/client/gui
+GuiButtonLanguage,net/minecraft/client/gui
+GuiButtonMerchant,net/minecraft/client/gui
+GuiButtonNextPage,net/minecraft/client/gui
+GuiChat,net/minecraft/client/gui
+GuiChatConfirmLink,net/minecraft/client/gui
+GuiCommandBlock,net/minecraft/client/gui
+GuiConfirmOpenLink,net/minecraft/client/gui
+GuiControls,net/minecraft/client/gui
+GuiCreateFlatWorld,net/minecraft/client/gui
+GuiCreateFlatWorldListSlot,net/minecraft/client/gui
+GuiCreateWorld,net/minecraft/client/gui
+GuiDisconnected,net/minecraft/client/gui
+GuiDownloadTerrain,net/minecraft/client/gui
+GuiEnchantment,net/minecraft/client/gui
+GuiErrorScreen,net/minecraft/client/gui
+GuiFlatPresets,net/minecraft/client/gui
+GuiFlatPresetsItem,net/minecraft/client/gui
+GuiFlatPresetsListSlot,net/minecraft/client/gui
+GuiGameOver,net/minecraft/client/gui
+GuiIngame,net/minecraft/client/gui
+GuiIngameMenu,net/minecraft/client/gui
+GuiLanguage,net/minecraft/client/gui
+GuiMainMenu,net/minecraft/client/gui
+GuiMemoryErrorScreen,net/minecraft/client/gui
+GuiMerchant,net/minecraft/client/gui
+GuiMultiplayer,net/minecraft/client/gui
+GuiNewChat,net/minecraft/client/gui
+GuiOptions,net/minecraft/client/gui
+GuiParticle,net/minecraft/client/gui
+GuiPlayerInfo,net/minecraft/client/gui
+GuiProgress,net/minecraft/client/gui
+GuiRenameWorld,net/minecraft/client/gui
+GuiRepair,net/minecraft/client/gui
+GuiScreen,net/minecraft/client/gui
+GuiScreenAddServer,net/minecraft/client/gui
+GuiScreenBook,net/minecraft/client/gui
+GuiScreenDemo,net/minecraft/client/gui
+GuiScreenServerList,net/minecraft/client/gui
+GuiSelectWorld,net/minecraft/client/gui
+GuiShareToLan,net/minecraft/client/gui
+GuiSleepMP,net/minecraft/client/gui
+GuiSlider,net/minecraft/client/gui
+GuiSlot,net/minecraft/client/gui
+GuiSlotLanguage,net/minecraft/client/gui
+GuiSlotServer,net/minecraft/client/gui
+GuiSmallButton,net/minecraft/client/gui
+GuiSnooper,net/minecraft/client/gui
+GuiSnooperList,net/minecraft/client/gui
+GuiTextField,net/minecraft/client/gui
+GuiVideoSettings,net/minecraft/client/gui
+GuiWinGame,net/minecraft/client/gui
+GuiWorldSlot,net/minecraft/client/gui
+GuiYesNo,net/minecraft/client/gui
+LoadingScreenRenderer,net/minecraft/client/gui
+MapItemRenderer,net/minecraft/client/gui
+Particle,net/minecraft/client/gui
+ScaledResolution,net/minecraft/client/gui
+ScreenChatOptions,net/minecraft/client/gui
+ThreadPollServers,net/minecraft/client/gui
+GuiAchievement,net/minecraft/client/gui/achievement
+GuiAchievements,net/minecraft/client/gui/achievement
+GuiSlotStats,net/minecraft/client/gui/achievement
+GuiSlotStatsBlock,net/minecraft/client/gui/achievement
+GuiSlotStatsGeneral,net/minecraft/client/gui/achievement
+GuiSlotStatsItem,net/minecraft/client/gui/achievement
+GuiStats,net/minecraft/client/gui/achievement
+SorterStatsBlock,net/minecraft/client/gui/achievement
+SorterStatsItem,net/minecraft/client/gui/achievement
+ContainerCreative,net/minecraft/client/gui/inventory
+CreativeCrafting,net/minecraft/client/gui/inventory
+GuiBeacon,net/minecraft/client/gui/inventory
+GuiBeaconButton,net/minecraft/client/gui/inventory
+GuiBeaconButtonCancel,net/minecraft/client/gui/inventory
+GuiBeaconButtonConfirm,net/minecraft/client/gui/inventory
+GuiBeaconButtonPower,net/minecraft/client/gui/inventory
+GuiBrewingStand,net/minecraft/client/gui/inventory
+GuiChest,net/minecraft/client/gui/inventory
+GuiContainer,net/minecraft/client/gui/inventory
+GuiContainerCreative,net/minecraft/client/gui/inventory
+GuiCrafting,net/minecraft/client/gui/inventory
+GuiDispenser,net/minecraft/client/gui/inventory
+GuiEditSign,net/minecraft/client/gui/inventory
+GuiFurnace,net/minecraft/client/gui/inventory
+GuiInventory,net/minecraft/client/gui/inventory
+SlotCreativeInventory,net/minecraft/client/gui/inventory
+ModelBase,net/minecraft/client/model
+ModelBat,net/minecraft/client/model
+ModelBiped,net/minecraft/client/model
+ModelBlaze,net/minecraft/client/model
+ModelBoat,net/minecraft/client/model
+ModelBook,net/minecraft/client/model
+ModelBox,net/minecraft/client/model
+ModelChest,net/minecraft/client/model
+ModelChicken,net/minecraft/client/model
+ModelCow,net/minecraft/client/model
+ModelCreeper,net/minecraft/client/model
+ModelDragon,net/minecraft/client/model
+ModelEnderCrystal,net/minecraft/client/model
+ModelEnderman,net/minecraft/client/model
+ModelGhast,net/minecraft/client/model
+ModelIronGolem,net/minecraft/client/model
+ModelLargeChest,net/minecraft/client/model
+ModelMagmaCube,net/minecraft/client/model
+ModelMinecart,net/minecraft/client/model
+ModelOcelot,net/minecraft/client/model
+ModelPig,net/minecraft/client/model
+ModelQuadruped,net/minecraft/client/model
+ModelRenderer,net/minecraft/client/model
+ModelSheep1,net/minecraft/client/model
+ModelSheep2,net/minecraft/client/model
+ModelSign,net/minecraft/client/model
+ModelSilverfish,net/minecraft/client/model
+ModelSkeleton,net/minecraft/client/model
+ModelSkeletonHead,net/minecraft/client/model
+ModelSlime,net/minecraft/client/model
+ModelSnowMan,net/minecraft/client/model
+ModelSpider,net/minecraft/client/model
+ModelSquid,net/minecraft/client/model
+ModelVillager,net/minecraft/client/model
+ModelWitch,net/minecraft/client/model
+ModelWither,net/minecraft/client/model
+ModelWolf,net/minecraft/client/model
+ModelZombie,net/minecraft/client/model
+ModelZombieVillager,net/minecraft/client/model
+PositionTextureVertex,net/minecraft/client/model
+TextureOffset,net/minecraft/client/model
+TexturedQuad,net/minecraft/client/model
+CallableMPL1,net/minecraft/client/multiplayer
+CallableMPL2,net/minecraft/client/multiplayer
+ChunkProviderClient,net/minecraft/client/multiplayer
+GuiConnecting,net/minecraft/client/multiplayer
+LanServer,net/minecraft/client/multiplayer
+LanServerList,net/minecraft/client/multiplayer
+NetClientHandler,net/minecraft/client/multiplayer
+NetClientWebTextures,net/minecraft/client/multiplayer
+PlayerControllerMP,net/minecraft/client/multiplayer
+ServerAddress,net/minecraft/client/multiplayer
+ServerData,net/minecraft/client/multiplayer
+ServerList,net/minecraft/client/multiplayer
+ThreadConnectToServer,net/minecraft/client/multiplayer
+ThreadLanServerFind,net/minecraft/client/multiplayer
+ThreadLanServerPing,net/minecraft/client/multiplayer
+WorldClient,net/minecraft/client/multiplayer
+CallableLastTickedParticle,net/minecraft/client/particle
+EffectRenderer,net/minecraft/client/particle
+EntityAuraFX,net/minecraft/client/particle
+EntityBreakingFX,net/minecraft/client/particle
+EntityBubbleFX,net/minecraft/client/particle
+EntityCloudFX,net/minecraft/client/particle
+EntityCrit2FX,net/minecraft/client/particle
+EntityCritFX,net/minecraft/client/particle
+EntityDiggingFX,net/minecraft/client/particle
+EntityDropParticleFX,net/minecraft/client/particle
+EntityEnchantmentTableParticleFX,net/minecraft/client/particle
+EntityExplodeFX,net/minecraft/client/particle
+EntityFX,net/minecraft/client/particle
+EntityFlameFX,net/minecraft/client/particle
+EntityFootStepFX,net/minecraft/client/particle
+EntityHeartFX,net/minecraft/client/particle
+EntityHugeExplodeFX,net/minecraft/client/particle
+EntityLargeExplodeFX,net/minecraft/client/particle
+EntityLavaFX,net/minecraft/client/particle
+EntityNoteFX,net/minecraft/client/particle
+EntityPickupFX,net/minecraft/client/particle
+EntityPortalFX,net/minecraft/client/particle
+EntityRainFX,net/minecraft/client/particle
+EntityReddustFX,net/minecraft/client/particle
+EntitySmokeFX,net/minecraft/client/particle
+EntitySnowShovelFX,net/minecraft/client/particle
+EntitySpellParticleFX,net/minecraft/client/particle
+EntitySplashFX,net/minecraft/client/particle
+EntitySuspendFX,net/minecraft/client/particle
+ActiveRenderInfo,net/minecraft/client/renderer
+CallableMouseLocation,net/minecraft/client/renderer
+CallableParticlePositionInfo,net/minecraft/client/renderer
+CallableParticleScreenName,net/minecraft/client/renderer
+CallableScreenName,net/minecraft/client/renderer
+CallableScreenSize,net/minecraft/client/renderer
+ChestItemRenderHelper,net/minecraft/client/renderer
+DestroyBlockProgress,net/minecraft/client/renderer
+EntityRenderer,net/minecraft/client/renderer
+EntitySorter,net/minecraft/client/renderer
+GLAllocation,net/minecraft/client/renderer
+IImageBuffer,net/minecraft/client/renderer
+ImageBufferDownload,net/minecraft/client/renderer
+InventoryEffectRenderer,net/minecraft/client/renderer
+ItemRenderer,net/minecraft/client/renderer
+OpenGlCapsChecker,net/minecraft/client/renderer
+OpenGlHelper,net/minecraft/client/renderer
+RenderBlocks,net/minecraft/client/renderer
+RenderEngine,net/minecraft/client/renderer
+RenderGlobal,net/minecraft/client/renderer
+RenderHelper,net/minecraft/client/renderer
+RenderList,net/minecraft/client/renderer
+RenderSorter,net/minecraft/client/renderer
+Tessellator,net/minecraft/client/renderer
+ThreadDownloadImage,net/minecraft/client/renderer
+ThreadDownloadImageData,net/minecraft/client/renderer
+WorldRenderer,net/minecraft/client/renderer
+ClippingHelper,net/minecraft/client/renderer/culling
+ClippingHelperImpl,net/minecraft/client/renderer/culling
+Frustrum,net/minecraft/client/renderer/culling
+ICamera,net/minecraft/client/renderer/culling
+Render,net/minecraft/client/renderer/entity
+RenderArrow,net/minecraft/client/renderer/entity
+RenderBat,net/minecraft/client/renderer/entity
+RenderBiped,net/minecraft/client/renderer/entity
+RenderBlaze,net/minecraft/client/renderer/entity
+RenderBoat,net/minecraft/client/renderer/entity
+RenderChicken,net/minecraft/client/renderer/entity
+RenderCow,net/minecraft/client/renderer/entity
+RenderCreeper,net/minecraft/client/renderer/entity
+RenderDragon,net/minecraft/client/renderer/entity
+RenderEnchantmentTable,net/minecraft/client/renderer/entity
+RenderEnderman,net/minecraft/client/renderer/entity
+RenderEntity,net/minecraft/client/renderer/entity
+RenderFallingSand,net/minecraft/client/renderer/entity
+RenderFireball,net/minecraft/client/renderer/entity
+RenderFish,net/minecraft/client/renderer/entity
+RenderGhast,net/minecraft/client/renderer/entity
+RenderGiantZombie,net/minecraft/client/renderer/entity
+RenderIronGolem,net/minecraft/client/renderer/entity
+RenderItem,net/minecraft/client/renderer/entity
+RenderLightningBolt,net/minecraft/client/renderer/entity
+RenderLiving,net/minecraft/client/renderer/entity
+RenderMagmaCube,net/minecraft/client/renderer/entity
+RenderManager,net/minecraft/client/renderer/entity
+RenderMinecart,net/minecraft/client/renderer/entity
+RenderMooshroom,net/minecraft/client/renderer/entity
+RenderOcelot,net/minecraft/client/renderer/entity
+RenderPainting,net/minecraft/client/renderer/entity
+RenderPig,net/minecraft/client/renderer/entity
+RenderPlayer,net/minecraft/client/renderer/entity
+RenderSheep,net/minecraft/client/renderer/entity
+RenderSilverfish,net/minecraft/client/renderer/entity
+RenderSkeleton,net/minecraft/client/renderer/entity
+RenderSlime,net/minecraft/client/renderer/entity
+RenderSnowMan,net/minecraft/client/renderer/entity
+RenderSnowball,net/minecraft/client/renderer/entity
+RenderSpider,net/minecraft/client/renderer/entity
+RenderSquid,net/minecraft/client/renderer/entity
+RenderTNTPrimed,net/minecraft/client/renderer/entity
+RenderVillager,net/minecraft/client/renderer/entity
+RenderWitch,net/minecraft/client/renderer/entity
+RenderWither,net/minecraft/client/renderer/entity
+RenderWolf,net/minecraft/client/renderer/entity
+RenderXPOrb,net/minecraft/client/renderer/entity
+RenderZombie,net/minecraft/client/renderer/entity
+TextureCompassFX,net/minecraft/client/renderer/texturefx
+TextureFX,net/minecraft/client/renderer/texturefx
+TextureFlamesFX,net/minecraft/client/renderer/texturefx
+TextureLavaFX,net/minecraft/client/renderer/texturefx
+TextureLavaFlowFX,net/minecraft/client/renderer/texturefx
+TexturePortalFX,net/minecraft/client/renderer/texturefx
+TextureWatchFX,net/minecraft/client/renderer/texturefx
+TextureWaterFX,net/minecraft/client/renderer/texturefx
+TextureWaterFlowFX,net/minecraft/client/renderer/texturefx
+RenderEndPortal,net/minecraft/client/renderer/tileentity
+RenderEnderCrystal,net/minecraft/client/renderer/tileentity
+RenderItemFrame,net/minecraft/client/renderer/tileentity
+RenderWitherSkull,net/minecraft/client/renderer/tileentity
+TileEntityBeaconRenderer,net/minecraft/client/renderer/tileentity
+TileEntityChestRenderer,net/minecraft/client/renderer/tileentity
+TileEntityEnderChestRenderer,net/minecraft/client/renderer/tileentity
+TileEntityMobSpawnerRenderer,net/minecraft/client/renderer/tileentity
+TileEntityRenderer,net/minecraft/client/renderer/tileentity
+TileEntityRendererPiston,net/minecraft/client/renderer/tileentity
+TileEntitySignRenderer,net/minecraft/client/renderer/tileentity
+TileEntitySkullRenderer,net/minecraft/client/renderer/tileentity
+TileEntitySpecialRenderer,net/minecraft/client/renderer/tileentity
+EnumOptions,net/minecraft/client/settings
+EnumOptionsHelper,net/minecraft/client/settings
+GameSettings,net/minecraft/client/settings
+KeyBinding,net/minecraft/client/settings
+GuiTexturePackSlot,net/minecraft/client/texturepacks
+GuiTexturePacks,net/minecraft/client/texturepacks
+ITexturePack,net/minecraft/client/texturepacks
+TexturePackCustom,net/minecraft/client/texturepacks
+TexturePackDefault,net/minecraft/client/texturepacks
+TexturePackDownloadSuccess,net/minecraft/client/texturepacks
+TexturePackFolder,net/minecraft/client/texturepacks
+TexturePackImplementation,net/minecraft/client/texturepacks
+TexturePackList,net/minecraft/client/texturepacks
+CommandBase,net/minecraft/command
+CommandClearInventory,net/minecraft/command
+CommandDebug,net/minecraft/command
+CommandDefaultGameMode,net/minecraft/command
+CommandDifficulty,net/minecraft/command
+CommandEnchant,net/minecraft/command
+CommandException,net/minecraft/command
+CommandGameMode,net/minecraft/command
+CommandGameRule,net/minecraft/command
+CommandGive,net/minecraft/command
+CommandHandler,net/minecraft/command
+CommandHelp,net/minecraft/command
+CommandKill,net/minecraft/command
+CommandNotFoundException,net/minecraft/command
+CommandServerBan,net/minecraft/command
+CommandServerBanIp,net/minecraft/command
+CommandServerBanlist,net/minecraft/command
+CommandServerDeop,net/minecraft/command
+CommandServerEmote,net/minecraft/command
+CommandServerKick,net/minecraft/command
+CommandServerList,net/minecraft/command
+CommandServerMessage,net/minecraft/command
+CommandServerOp,net/minecraft/command
+CommandServerPardon,net/minecraft/command
+CommandServerPardonIp,net/minecraft/command
+CommandServerPublishLocal,net/minecraft/command
+CommandServerSaveAll,net/minecraft/command
+CommandServerSaveOff,net/minecraft/command
+CommandServerSaveOn,net/minecraft/command
+CommandServerSay,net/minecraft/command
+CommandServerStop,net/minecraft/command
+CommandServerTp,net/minecraft/command
+CommandServerWhitelist,net/minecraft/command
+CommandSetSpawnpoint,net/minecraft/command
+CommandShowSeed,net/minecraft/command
+CommandTime,net/minecraft/command
+CommandToggleDownfall,net/minecraft/command
+CommandWeather,net/minecraft/command
+CommandXP,net/minecraft/command
+IAdminCommand,net/minecraft/command
+ICommand,net/minecraft/command
+ICommandManager,net/minecraft/command
+ICommandSender,net/minecraft/command
+IEntitySelector,net/minecraft/command
+NumberInvalidException,net/minecraft/command
+PlayerNotFoundException,net/minecraft/command
+PlayerSelector,net/minecraft/command
+ServerCommand,net/minecraft/command
+ServerCommandManager,net/minecraft/command
+SyntaxErrorException,net/minecraft/command
+WrongUsageException,net/minecraft/command
+CallableBlockDataValue,net/minecraft/crash
+CallableBlockLocation,net/minecraft/crash
+CallableBlockType,net/minecraft/crash
+CallableCrashMemoryReport,net/minecraft/crash
+CallableIntCache,net/minecraft/crash
+CallableJVMFlags,net/minecraft/crash
+CallableJavaInfo,net/minecraft/crash
+CallableJavaInfo2,net/minecraft/crash
+CallableMemoryInfo,net/minecraft/crash
+CallableMinecraftVersion,net/minecraft/crash
+CallableOSInfo,net/minecraft/crash
+CallableSuspiciousClasses,net/minecraft/crash
+ComparatorClassSorter,net/minecraft/crash
+CrashReport,net/minecraft/crash
+CrashReportCategory,net/minecraft/crash
+CrashReportCategoryEntry,net/minecraft/crash
+CreativeTabBlock,net/minecraft/creativetab
+CreativeTabBrewing,net/minecraft/creativetab
+CreativeTabCombat,net/minecraft/creativetab
+CreativeTabDeco,net/minecraft/creativetab
+CreativeTabFood,net/minecraft/creativetab
+CreativeTabInventory,net/minecraft/creativetab
+CreativeTabMaterial,net/minecraft/creativetab
+CreativeTabMisc,net/minecraft/creativetab
+CreativeTabRedstone,net/minecraft/creativetab
+CreativeTabSearch,net/minecraft/creativetab
+CreativeTabTools,net/minecraft/creativetab
+CreativeTabTransport,net/minecraft/creativetab
+CreativeTabs,net/minecraft/creativetab
+BehaviorArrowDispense,net/minecraft/dispenser
+BehaviorBucketEmptyDispense,net/minecraft/dispenser
+BehaviorBucketFullDispense,net/minecraft/dispenser
+BehaviorDefaultDispenseItem,net/minecraft/dispenser
+BehaviorDispenseBoat,net/minecraft/dispenser
+BehaviorDispenseFireball,net/minecraft/dispenser
+BehaviorDispenseItemProvider,net/minecraft/dispenser
+BehaviorDispenseMinecart,net/minecraft/dispenser
+BehaviorEggDispense,net/minecraft/dispenser
+BehaviorExpBottleDispense,net/minecraft/dispenser
+BehaviorMobEggDispense,net/minecraft/dispenser
+BehaviorPotionDispense,net/minecraft/dispenser
+BehaviorPotionDispenseLogic,net/minecraft/dispenser
+BehaviorProjectileDispense,net/minecraft/dispenser
+BehaviorSnowballDispense,net/minecraft/dispenser
+IBehaviorDispenseItem,net/minecraft/dispenser
+IBlockSource,net/minecraft/dispenser
+ILocatableSource,net/minecraft/dispenser
+ILocation,net/minecraft/dispenser
+IPosition,net/minecraft/dispenser
+IRegistry,net/minecraft/dispenser
+PositionImpl,net/minecraft/dispenser
+RegistryDefaulted,net/minecraft/dispenser
+RegistrySimple,net/minecraft/dispenser
+Empty3,net/minecraft/enchantment
+Enchantment,net/minecraft/enchantment
+EnchantmentArrowDamage,net/minecraft/enchantment
+EnchantmentArrowFire,net/minecraft/enchantment
+EnchantmentArrowInfinite,net/minecraft/enchantment
+EnchantmentArrowKnockback,net/minecraft/enchantment
+EnchantmentDamage,net/minecraft/enchantment
+EnchantmentData,net/minecraft/enchantment
+EnchantmentDigging,net/minecraft/enchantment
+EnchantmentDurability,net/minecraft/enchantment
+EnchantmentFireAspect,net/minecraft/enchantment
+EnchantmentHelper,net/minecraft/enchantment
+EnchantmentKnockback,net/minecraft/enchantment
+EnchantmentLootBonus,net/minecraft/enchantment
+EnchantmentModifierDamage,net/minecraft/enchantment
+EnchantmentModifierLiving,net/minecraft/enchantment
+EnchantmentOxygen,net/minecraft/enchantment
+EnchantmentProtection,net/minecraft/enchantment
+EnchantmentUntouching,net/minecraft/enchantment
+EnchantmentWaterWorker,net/minecraft/enchantment
+EnumEnchantmentType,net/minecraft/enchantment
+IEnchantmentModifier,net/minecraft/enchantment
+CallableEntityType,net/minecraft/entity
+DataWatcher,net/minecraft/entity
+Entity,net/minecraft/entity
+EntityAgeable,net/minecraft/entity
+EntityBodyHelper,net/minecraft/entity
+EntityCreature,net/minecraft/entity
+EntityEggInfo,net/minecraft/entity
+EntityFlying,net/minecraft/entity
+EntityHanging,net/minecraft/entity
+EntityList,net/minecraft/entity
+EntityLiving,net/minecraft/entity
+EntityTracker,net/minecraft/entity
+EntityTrackerEntry,net/minecraft/entity
+EnumCreatureAttribute,net/minecraft/entity
+EnumCreatureType,net/minecraft/entity
+EnumEntitySize,net/minecraft/entity
+EnumEntitySizeHelper,net/minecraft/entity
+IEntityMultiPart,net/minecraft/entity
+IMerchant,net/minecraft/entity
+INpc,net/minecraft/entity
+IProjectile,net/minecraft/entity
+IRangedAttackMob,net/minecraft/entity
+NpcMerchant,net/minecraft/entity
+WatchableObject,net/minecraft/entity
+EntityAIArrowAttack,net/minecraft/entity/ai
+EntityAIAttackOnCollide,net/minecraft/entity/ai
+EntityAIAvoidEntity,net/minecraft/entity/ai
+EntityAIBase,net/minecraft/entity/ai
+EntityAIBeg,net/minecraft/entity/ai
+EntityAIBreakDoor,net/minecraft/entity/ai
+EntityAIControlledByPlayer,net/minecraft/entity/ai
+EntityAICreeperSwell,net/minecraft/entity/ai
+EntityAIDefendVillage,net/minecraft/entity/ai
+EntityAIDoorInteract,net/minecraft/entity/ai
+EntityAIEatGrass,net/minecraft/entity/ai
+EntityAIFleeSun,net/minecraft/entity/ai
+EntityAIFollowGolem,net/minecraft/entity/ai
+EntityAIFollowOwner,net/minecraft/entity/ai
+EntityAIFollowParent,net/minecraft/entity/ai
+EntityAIHurtByTarget,net/minecraft/entity/ai
+EntityAILeapAtTarget,net/minecraft/entity/ai
+EntityAILookAtTradePlayer,net/minecraft/entity/ai
+EntityAILookAtVillager,net/minecraft/entity/ai
+EntityAILookIdle,net/minecraft/entity/ai
+EntityAIMate,net/minecraft/entity/ai
+EntityAIMoveIndoors,net/minecraft/entity/ai
+EntityAIMoveThroughVillage,net/minecraft/entity/ai
+EntityAIMoveTowardsTarget,net/minecraft/entity/ai
+EntityAIMoveTwardsRestriction,net/minecraft/entity/ai
+EntityAINearestAttackableTarget,net/minecraft/entity/ai
+EntityAINearestAttackableTargetSorter,net/minecraft/entity/ai
+EntityAIOcelotAttack,net/minecraft/entity/ai
+EntityAIOcelotSit,net/minecraft/entity/ai
+EntityAIOpenDoor,net/minecraft/entity/ai
+EntityAIOwnerHurtByTarget,net/minecraft/entity/ai
+EntityAIOwnerHurtTarget,net/minecraft/entity/ai
+EntityAIPanic,net/minecraft/entity/ai
+EntityAIPlay,net/minecraft/entity/ai
+EntityAIRestrictOpenDoor,net/minecraft/entity/ai
+EntityAIRestrictSun,net/minecraft/entity/ai
+EntityAISit,net/minecraft/entity/ai
+EntityAISwimming,net/minecraft/entity/ai
+EntityAITarget,net/minecraft/entity/ai
+EntityAITargetNonTamed,net/minecraft/entity/ai
+EntityAITaskEntry,net/minecraft/entity/ai
+EntityAITasks,net/minecraft/entity/ai
+EntityAITempt,net/minecraft/entity/ai
+EntityAITradePlayer,net/minecraft/entity/ai
+EntityAIVillagerMate,net/minecraft/entity/ai
+EntityAIWander,net/minecraft/entity/ai
+EntityAIWatchClosest,net/minecraft/entity/ai
+EntityAIWatchClosest2,net/minecraft/entity/ai
+EntityJumpHelper,net/minecraft/entity/ai
+EntityLookHelper,net/minecraft/entity/ai
+EntityMoveHelper,net/minecraft/entity/ai
+EntitySenses,net/minecraft/entity/ai
+RandomPositionGenerator,net/minecraft/entity/ai
+BossStatus,net/minecraft/entity/boss
+EntityDragon,net/minecraft/entity/boss
+EntityDragonPart,net/minecraft/entity/boss
+EntityWither,net/minecraft/entity/boss
+EntityWitherAttackFilter,net/minecraft/entity/boss
+IBossDisplayData,net/minecraft/entity/boss
+EntityLightningBolt,net/minecraft/entity/effect
+EntityWeatherEffect,net/minecraft/entity/effect
+EntityBoat,net/minecraft/entity/item
+EntityEnderCrystal,net/minecraft/entity/item
+EntityEnderEye,net/minecraft/entity/item
+EntityEnderPearl,net/minecraft/entity/item
+EntityExpBottle,net/minecraft/entity/item
+EntityFallingSand,net/minecraft/entity/item
+EntityItem,net/minecraft/entity/item
+EntityItemFrame,net/minecraft/entity/item
+EntityMinecart,net/minecraft/entity/item
+EntityPainting,net/minecraft/entity/item
+EntityTNTPrimed,net/minecraft/entity/item
+EntityXPOrb,net/minecraft/entity/item
+SoundUpdaterMinecart,net/minecraft/entity/item
+EntityBlaze,net/minecraft/entity/monster
+EntityCaveSpider,net/minecraft/entity/monster
+EntityCreeper,net/minecraft/entity/monster
+EntityEnderman,net/minecraft/entity/monster
+EntityGhast,net/minecraft/entity/monster
+EntityGiantZombie,net/minecraft/entity/monster
+EntityGolem,net/minecraft/entity/monster
+EntityIronGolem,net/minecraft/entity/monster
+EntityMagmaCube,net/minecraft/entity/monster
+EntityMob,net/minecraft/entity/monster
+EntityPigZombie,net/minecraft/entity/monster
+EntitySilverfish,net/minecraft/entity/monster
+EntitySkeleton,net/minecraft/entity/monster
+EntitySlime,net/minecraft/entity/monster
+EntitySnowman,net/minecraft/entity/monster
+EntitySpider,net/minecraft/entity/monster
+EntityWitch,net/minecraft/entity/monster
+EntityZombie,net/minecraft/entity/monster
+FilterIMob,net/minecraft/entity/monster
+IMob,net/minecraft/entity/monster
+ContainerSheep,net/minecraft/entity/passive
+EntityAmbientCreature,net/minecraft/entity/passive
+EntityAnimal,net/minecraft/entity/passive
+EntityBat,net/minecraft/entity/passive
+EntityChicken,net/minecraft/entity/passive
+EntityCow,net/minecraft/entity/passive
+EntityMooshroom,net/minecraft/entity/passive
+EntityOcelot,net/minecraft/entity/passive
+EntityPig,net/minecraft/entity/passive
+EntitySheep,net/minecraft/entity/passive
+EntitySquid,net/minecraft/entity/passive
+EntityTameable,net/minecraft/entity/passive
+EntityVillager,net/minecraft/entity/passive
+EntityWaterMob,net/minecraft/entity/passive
+EntityWolf,net/minecraft/entity/passive
+IAnimals,net/minecraft/entity/passive
+EntityPlayer,net/minecraft/entity/player
+EntityPlayerMP,net/minecraft/entity/player
+EnumStatus,net/minecraft/entity/player
+InventoryPlayer,net/minecraft/entity/player
+PlayerCapabilities,net/minecraft/entity/player
+EntityArrow,net/minecraft/entity/projectile
+EntityEgg,net/minecraft/entity/projectile
+EntityFireball,net/minecraft/entity/projectile
+EntityFishHook,net/minecraft/entity/projectile
+EntityLargeFireball,net/minecraft/entity/projectile
+EntityPotion,net/minecraft/entity/projectile
+EntitySmallFireball,net/minecraft/entity/projectile
+EntitySnowball,net/minecraft/entity/projectile
+EntityThrowable,net/minecraft/entity/projectile
+EntityWitherSkull,net/minecraft/entity/projectile
+Container,net/minecraft/inventory
+ContainerBeacon,net/minecraft/inventory
+ContainerBrewingStand,net/minecraft/inventory
+ContainerChest,net/minecraft/inventory
+ContainerDispenser,net/minecraft/inventory
+ContainerEnchantment,net/minecraft/inventory
+ContainerFurnace,net/minecraft/inventory
+ContainerMerchant,net/minecraft/inventory
+ContainerPlayer,net/minecraft/inventory
+ContainerRepair,net/minecraft/inventory
+ContainerWorkbench,net/minecraft/inventory
+ICrafting,net/minecraft/inventory
+IInvBasic,net/minecraft/inventory
+IInventory,net/minecraft/inventory
+InventoryBasic,net/minecraft/inventory
+InventoryCraftResult,net/minecraft/inventory
+InventoryCrafting,net/minecraft/inventory
+InventoryEnderChest,net/minecraft/inventory
+InventoryLargeChest,net/minecraft/inventory
+InventoryMerchant,net/minecraft/inventory
+InventoryRepair,net/minecraft/inventory
+Slot,net/minecraft/inventory
+SlotArmor,net/minecraft/inventory
+SlotBeacon,net/minecraft/inventory
+SlotBrewingStandIngredient,net/minecraft/inventory
+SlotBrewingStandPotion,net/minecraft/inventory
+SlotCrafting,net/minecraft/inventory
+SlotEnchantment,net/minecraft/inventory
+SlotEnchantmentTable,net/minecraft/inventory
+SlotFurnace,net/minecraft/inventory
+SlotMerchantResult,net/minecraft/inventory
+SlotRepair,net/minecraft/inventory
+EnumAction,net/minecraft/item
+EnumArmorMaterial,net/minecraft/item
+EnumRarity,net/minecraft/item
+EnumToolMaterial,net/minecraft/item
+Item,net/minecraft/item
+ItemAnvilBlock,net/minecraft/item
+ItemAppleGold,net/minecraft/item
+ItemArmor,net/minecraft/item
+ItemAxe,net/minecraft/item
+ItemBed,net/minecraft/item
+ItemBlock,net/minecraft/item
+ItemBoat,net/minecraft/item
+ItemBow,net/minecraft/item
+ItemBucket,net/minecraft/item
+ItemBucketMilk,net/minecraft/item
+ItemCarrotOnAStick,net/minecraft/item
+ItemCloth,net/minecraft/item
+ItemCoal,net/minecraft/item
+ItemColored,net/minecraft/item
+ItemDoor,net/minecraft/item
+ItemDye,net/minecraft/item
+ItemEditableBook,net/minecraft/item
+ItemEgg,net/minecraft/item
+ItemEmptyMap,net/minecraft/item
+ItemEnderEye,net/minecraft/item
+ItemEnderPearl,net/minecraft/item
+ItemExpBottle,net/minecraft/item
+ItemFireball,net/minecraft/item
+ItemFishingRod,net/minecraft/item
+ItemFlintAndSteel,net/minecraft/item
+ItemFood,net/minecraft/item
+ItemGlassBottle,net/minecraft/item
+ItemHangingEntity,net/minecraft/item
+ItemHoe,net/minecraft/item
+ItemInWorldManager,net/minecraft/item
+ItemLeaves,net/minecraft/item
+ItemLilyPad,net/minecraft/item
+ItemMap,net/minecraft/item
+ItemMapBase,net/minecraft/item
+ItemMinecart,net/minecraft/item
+ItemMonsterPlacer,net/minecraft/item
+ItemMultiTextureTile,net/minecraft/item
+ItemPickaxe,net/minecraft/item
+ItemPiston,net/minecraft/item
+ItemPotion,net/minecraft/item
+ItemRecord,net/minecraft/item
+ItemRedstone,net/minecraft/item
+ItemReed,net/minecraft/item
+ItemSaddle,net/minecraft/item
+ItemSeedFood,net/minecraft/item
+ItemSeeds,net/minecraft/item
+ItemShears,net/minecraft/item
+ItemSign,net/minecraft/item
+ItemSimpleFoiled,net/minecraft/item
+ItemSkull,net/minecraft/item
+ItemSlab,net/minecraft/item
+ItemSnowball,net/minecraft/item
+ItemSoup,net/minecraft/item
+ItemSpade,net/minecraft/item
+ItemStack,net/minecraft/item
+ItemSword,net/minecraft/item
+ItemTool,net/minecraft/item
+ItemWritableBook,net/minecraft/item
+CraftingManager,net/minecraft/item/crafting
+FurnaceRecipes,net/minecraft/item/crafting
+IRecipe,net/minecraft/item/crafting
+RecipeSorter,net/minecraft/item/crafting
+RecipesArmor,net/minecraft/item/crafting
+RecipesArmorDyes,net/minecraft/item/crafting
+RecipesCrafting,net/minecraft/item/crafting
+RecipesDyes,net/minecraft/item/crafting
+RecipesFood,net/minecraft/item/crafting
+RecipesIngots,net/minecraft/item/crafting
+RecipesMapCloning,net/minecraft/item/crafting
+RecipesMapExtending,net/minecraft/item/crafting
+RecipesTools,net/minecraft/item/crafting
+RecipesWeapons,net/minecraft/item/crafting
+ShapedRecipes,net/minecraft/item/crafting
+ShapelessRecipes,net/minecraft/item/crafting
+CallableTagCompound1,net/minecraft/nbt
+CallableTagCompound2,net/minecraft/nbt
+CompressedStreamTools,net/minecraft/nbt
+NBTBase,net/minecraft/nbt
+NBTTagByte,net/minecraft/nbt
+NBTTagByteArray,net/minecraft/nbt
+NBTTagCompound,net/minecraft/nbt
+NBTTagDouble,net/minecraft/nbt
+NBTTagEnd,net/minecraft/nbt
+NBTTagFloat,net/minecraft/nbt
+NBTTagInt,net/minecraft/nbt
+NBTTagIntArray,net/minecraft/nbt
+NBTTagList,net/minecraft/nbt
+NBTTagLong,net/minecraft/nbt
+NBTTagShort,net/minecraft/nbt
+NBTTagString,net/minecraft/nbt
+INetworkManager,net/minecraft/network
+MemoryConnection,net/minecraft/network
+NetLoginHandler,net/minecraft/network
+NetServerHandler,net/minecraft/network
+NetworkListenThread,net/minecraft/network
+TcpConnection,net/minecraft/network
+TcpMasterThread,net/minecraft/network
+TcpMonitorThread,net/minecraft/network
+TcpReaderThread,net/minecraft/network
+TcpWriterThread,net/minecraft/network
+ThreadLoginVerifier,net/minecraft/network
+NetHandler,net/minecraft/network/packet
+Packet,net/minecraft/network/packet
+Packet0KeepAlive,net/minecraft/network/packet
+Packet100OpenWindow,net/minecraft/network/packet
+Packet101CloseWindow,net/minecraft/network/packet
+Packet102WindowClick,net/minecraft/network/packet
+Packet103SetSlot,net/minecraft/network/packet
+Packet104WindowItems,net/minecraft/network/packet
+Packet105UpdateProgressbar,net/minecraft/network/packet
+Packet106Transaction,net/minecraft/network/packet
+Packet107CreativeSetSlot,net/minecraft/network/packet
+Packet108EnchantItem,net/minecraft/network/packet
+Packet10Flying,net/minecraft/network/packet
+Packet11PlayerPosition,net/minecraft/network/packet
+Packet12PlayerLook,net/minecraft/network/packet
+Packet130UpdateSign,net/minecraft/network/packet
+Packet131MapData,net/minecraft/network/packet
+Packet132TileEntityData,net/minecraft/network/packet
+Packet13PlayerLookMove,net/minecraft/network/packet
+Packet14BlockDig,net/minecraft/network/packet
+Packet15Place,net/minecraft/network/packet
+Packet16BlockItemSwitch,net/minecraft/network/packet
+Packet17Sleep,net/minecraft/network/packet
+Packet18Animation,net/minecraft/network/packet
+Packet19EntityAction,net/minecraft/network/packet
+Packet1Login,net/minecraft/network/packet
+Packet200Statistic,net/minecraft/network/packet
+Packet201PlayerInfo,net/minecraft/network/packet
+Packet202PlayerAbilities,net/minecraft/network/packet
+Packet203AutoComplete,net/minecraft/network/packet
+Packet204ClientInfo,net/minecraft/network/packet
+Packet205ClientCommand,net/minecraft/network/packet
+Packet20NamedEntitySpawn,net/minecraft/network/packet
+Packet21PickupSpawn,net/minecraft/network/packet
+Packet22Collect,net/minecraft/network/packet
+Packet23VehicleSpawn,net/minecraft/network/packet
+Packet24MobSpawn,net/minecraft/network/packet
+Packet250CustomPayload,net/minecraft/network/packet
+Packet252SharedKey,net/minecraft/network/packet
+Packet253ServerAuthData,net/minecraft/network/packet
+Packet254ServerPing,net/minecraft/network/packet
+Packet255KickDisconnect,net/minecraft/network/packet
+Packet25EntityPainting,net/minecraft/network/packet
+Packet26EntityExpOrb,net/minecraft/network/packet
+Packet28EntityVelocity,net/minecraft/network/packet
+Packet29DestroyEntity,net/minecraft/network/packet
+Packet2ClientProtocol,net/minecraft/network/packet
+Packet30Entity,net/minecraft/network/packet
+Packet31RelEntityMove,net/minecraft/network/packet
+Packet32EntityLook,net/minecraft/network/packet
+Packet33RelEntityMoveLook,net/minecraft/network/packet
+Packet34EntityTeleport,net/minecraft/network/packet
+Packet35EntityHeadRotation,net/minecraft/network/packet
+Packet38EntityStatus,net/minecraft/network/packet
+Packet39AttachEntity,net/minecraft/network/packet
+Packet3Chat,net/minecraft/network/packet
+Packet40EntityMetadata,net/minecraft/network/packet
+Packet41EntityEffect,net/minecraft/network/packet
+Packet42RemoveEntityEffect,net/minecraft/network/packet
+Packet43Experience,net/minecraft/network/packet
+Packet4UpdateTime,net/minecraft/network/packet
+Packet51MapChunk,net/minecraft/network/packet
+Packet51MapChunkData,net/minecraft/network/packet
+Packet52MultiBlockChange,net/minecraft/network/packet
+Packet53BlockChange,net/minecraft/network/packet
+Packet54PlayNoteBlock,net/minecraft/network/packet
+Packet55BlockDestroy,net/minecraft/network/packet
+Packet56MapChunks,net/minecraft/network/packet
+Packet5PlayerInventory,net/minecraft/network/packet
+Packet60Explosion,net/minecraft/network/packet
+Packet61DoorChange,net/minecraft/network/packet
+Packet62LevelSound,net/minecraft/network/packet
+Packet6SpawnPosition,net/minecraft/network/packet
+Packet70GameEvent,net/minecraft/network/packet
+Packet71Weather,net/minecraft/network/packet
+Packet7UseEntity,net/minecraft/network/packet
+Packet8UpdateHealth,net/minecraft/network/packet
+Packet9Respawn,net/minecraft/network/packet
+PacketCount,net/minecraft/network/packet
+IServer,net/minecraft/network/rcon
+RConConsoleSource,net/minecraft/network/rcon
+RConOutputStream,net/minecraft/network/rcon
+RConThreadBase,net/minecraft/network/rcon
+RConThreadClient,net/minecraft/network/rcon
+RConThreadMain,net/minecraft/network/rcon
+RConThreadQuery,net/minecraft/network/rcon
+RConThreadQueryAuth,net/minecraft/network/rcon
+RConUtils,net/minecraft/network/rcon
+Path,net/minecraft/pathfinding
+PathEntity,net/minecraft/pathfinding
+PathFinder,net/minecraft/pathfinding
+PathNavigate,net/minecraft/pathfinding
+PathPoint,net/minecraft/pathfinding
+Potion,net/minecraft/potion
+PotionEffect,net/minecraft/potion
+PotionHealth,net/minecraft/potion
+PotionHelper,net/minecraft/potion
+IPlayerUsage,net/minecraft/profiler
+PlayerUsageSnooper,net/minecraft/profiler
+PlayerUsageSnooperThread,net/minecraft/profiler
+Profiler,net/minecraft/profiler
+ProfilerResult,net/minecraft/profiler
+CallableIsServerModded,net/minecraft/server
+CallableServerMemoryStats,net/minecraft/server
+CallableServerProfiler,net/minecraft/server
+ConvertingProgressUpdate,net/minecraft/server
+ServerListenThread,net/minecraft/server
+ThreadDedicatedServer,net/minecraft/server
+ThreadMinecraftServer,net/minecraft/server
+CallableServerType,net/minecraft/server/dedicated
+CallableType,net/minecraft/server/dedicated
+ConsoleLogFormatter,net/minecraft/server/dedicated
+ConsoleLogManager,net/minecraft/server/dedicated
+DedicatedPlayerList,net/minecraft/server/dedicated
+DedicatedServer,net/minecraft/server/dedicated
+DedicatedServerCommandThread,net/minecraft/server/dedicated
+DedicatedServerListenThread,net/minecraft/server/dedicated
+DedicatedServerSleepThread,net/minecraft/server/dedicated
+PropertyManager,net/minecraft/server/dedicated
+GuiLogFormatter,net/minecraft/server/gui
+GuiLogOutputHandler,net/minecraft/server/gui
+GuiStatsComponent,net/minecraft/server/gui
+GuiStatsListener,net/minecraft/server/gui
+IUpdatePlayerListBox,net/minecraft/server/gui
+PlayerListBox,net/minecraft/server/gui
+ServerGUI,net/minecraft/server/gui
+ServerGuiCommandListener,net/minecraft/server/gui
+ServerGuiFocusAdapter,net/minecraft/server/gui
+ServerWindowAdapter,net/minecraft/server/gui
+CallableIsModded,net/minecraft/server/integrated
+CallableType3,net/minecraft/server/integrated
+IntegratedPlayerList,net/minecraft/server/integrated
+IntegratedServer,net/minecraft/server/integrated
+IntegratedServerListenThread,net/minecraft/server/integrated
+BanEntry,net/minecraft/server/management
+BanList,net/minecraft/server/management
+LowerStringMap,net/minecraft/server/management
+PlayerInstance,net/minecraft/server/management
+PlayerManager,net/minecraft/server/management
+PlayerPositionComparator,net/minecraft/server/management
+ServerConfigurationManager,net/minecraft/server/management
+Achievement,net/minecraft/stats
+AchievementList,net/minecraft/stats
+AchievementMap,net/minecraft/stats
+IStatStringFormat,net/minecraft/stats
+IStatType,net/minecraft/stats
+StatBase,net/minecraft/stats
+StatBasic,net/minecraft/stats
+StatCrafting,net/minecraft/stats
+StatFileWriter,net/minecraft/stats
+StatList,net/minecraft/stats
+StatTypeDistance,net/minecraft/stats
+StatTypeSimple,net/minecraft/stats
+StatTypeTime,net/minecraft/stats
+StatsSyncher,net/minecraft/stats
+ThreadStatSyncherReceive,net/minecraft/stats
+ThreadStatSyncherSend,net/minecraft/stats
+CallableTileEntityName,net/minecraft/tileentity
+TileEntity,net/minecraft/tileentity
+TileEntityBeacon,net/minecraft/tileentity
+TileEntityBrewingStand,net/minecraft/tileentity
+TileEntityChest,net/minecraft/tileentity
+TileEntityCommandBlock,net/minecraft/tileentity
+TileEntityDispenser,net/minecraft/tileentity
+TileEntityEnchantmentTable,net/minecraft/tileentity
+TileEntityEndPortal,net/minecraft/tileentity
+TileEntityEnderChest,net/minecraft/tileentity
+TileEntityFurnace,net/minecraft/tileentity
+TileEntityMobSpawner,net/minecraft/tileentity
+TileEntityNote,net/minecraft/tileentity
+TileEntityPiston,net/minecraft/tileentity
+TileEntitySign,net/minecraft/tileentity
+TileEntitySkull,net/minecraft/tileentity
+AABBLocalPool,net/minecraft/util
+AABBPool,net/minecraft/util
+AxisAlignedBB,net/minecraft/util
+ChatAllowedCharacters,net/minecraft/util
+ChunkCoordinates,net/minecraft/util
+CryptManager,net/minecraft/util
+DamageSource,net/minecraft/util
+Direction,net/minecraft/util
+EnchantmentNameParts,net/minecraft/util
+EntityDamageSource,net/minecraft/util
+EntityDamageSourceIndirect,net/minecraft/util
+EnumArt,net/minecraft/util
+EnumFacing,net/minecraft/util
+EnumMovingObjectType,net/minecraft/util
+EnumOS,net/minecraft/util
+Facing,net/minecraft/util
+FoodStats,net/minecraft/util
+HttpUtil,net/minecraft/util
+HttpUtilRunnable,net/minecraft/util
+IDownloadSuccess,net/minecraft/util
+IProgressUpdate,net/minecraft/util
+IntHashMap,net/minecraft/util
+IntHashMapEntry,net/minecraft/util
+LongHashMap,net/minecraft/util
+LongHashMapEntry,net/minecraft/util
+MD5String,net/minecraft/util
+MathHelper,net/minecraft/util
+MinecraftError,net/minecraft/util
+MouseFilter,net/minecraft/util
+MouseHelper,net/minecraft/util
+MovementInput,net/minecraft/util
+MovementInputFromOptions,net/minecraft/util
+MovingObjectPosition,net/minecraft/util
+ReportedException,net/minecraft/util
+ScreenShotHelper,net/minecraft/util
+Session,net/minecraft/util
+StatCollector,net/minecraft/util
+StringTranslate,net/minecraft/util
+StringUtils,net/minecraft/util
+ThreadDownloadResources,net/minecraft/util
+Timer,net/minecraft/util
+Tuple,net/minecraft/util
+Vec3,net/minecraft/util
+Vec3Pool,net/minecraft/util
+WeightedRandom,net/minecraft/util
+WeightedRandomChestContent,net/minecraft/util
+WeightedRandomItem,net/minecraft/util
+MerchantRecipe,net/minecraft/village
+MerchantRecipeList,net/minecraft/village
+Village,net/minecraft/village
+VillageAgressor,net/minecraft/village
+VillageCollection,net/minecraft/village
+VillageDoorInfo,net/minecraft/village
+VillageSiege,net/minecraft/village
+CallableLvl1,net/minecraft/world
+CallableLvl2,net/minecraft/world
+CallableLvl3,net/minecraft/world
+ChunkCache,net/minecraft/world
+ChunkCoordIntPair,net/minecraft/world
+ChunkPosition,net/minecraft/world
+ColorizerFoliage,net/minecraft/world
+ColorizerGrass,net/minecraft/world
+ColorizerWater,net/minecraft/world
+EnumGameType,net/minecraft/world
+EnumSkyBlock,net/minecraft/world
+Explosion,net/minecraft/world
+GameRuleValue,net/minecraft/world
+GameRules,net/minecraft/world
+IBlockAccess,net/minecraft/world
+IWorldAccess,net/minecraft/world
+MinecraftException,net/minecraft/world
+NextTickListEntry,net/minecraft/world
+PortalPosition,net/minecraft/world
+ServerBlockEvent,net/minecraft/world
+ServerBlockEventList,net/minecraft/world
+SpawnerAnimals,net/minecraft/world
+Teleporter,net/minecraft/world
+World,net/minecraft/world
+WorldManager,net/minecraft/world
+WorldProvider,net/minecraft/world
+WorldProviderEnd,net/minecraft/world
+WorldProviderHell,net/minecraft/world
+WorldProviderSurface,net/minecraft/world
+WorldSavedData,net/minecraft/world
+WorldServer,net/minecraft/world
+WorldServerMulti,net/minecraft/world
+WorldSettings,net/minecraft/world
+WorldType,net/minecraft/world
+BiomeCache,net/minecraft/world/biome
+BiomeCacheBlock,net/minecraft/world/biome
+BiomeDecorator,net/minecraft/world/biome
+BiomeEndDecorator,net/minecraft/world/biome
+BiomeGenBase,net/minecraft/world/biome
+BiomeGenBeach,net/minecraft/world/biome
+BiomeGenDesert,net/minecraft/world/biome
+BiomeGenEnd,net/minecraft/world/biome
+BiomeGenForest,net/minecraft/world/biome
+BiomeGenHell,net/minecraft/world/biome
+BiomeGenHills,net/minecraft/world/biome
+BiomeGenJungle,net/minecraft/world/biome
+BiomeGenMushroomIsland,net/minecraft/world/biome
+BiomeGenOcean,net/minecraft/world/biome
+BiomeGenPlains,net/minecraft/world/biome
+BiomeGenRiver,net/minecraft/world/biome
+BiomeGenSnow,net/minecraft/world/biome
+BiomeGenSwamp,net/minecraft/world/biome
+BiomeGenTaiga,net/minecraft/world/biome
+SpawnListEntry,net/minecraft/world/biome
+WorldChunkManager,net/minecraft/world/biome
+WorldChunkManagerHell,net/minecraft/world/biome
+Chunk,net/minecraft/world/chunk
+EmptyChunk,net/minecraft/world/chunk
+IChunkProvider,net/minecraft/world/chunk
+NibbleArray,net/minecraft/world/chunk
+AnvilChunkLoader,net/minecraft/world/chunk/storage
+AnvilChunkLoaderPending,net/minecraft/world/chunk/storage
+AnvilConverterData,net/minecraft/world/chunk/storage
+AnvilSaveConverter,net/minecraft/world/chunk/storage
+AnvilSaveConverterFileFilter,net/minecraft/world/chunk/storage
+AnvilSaveHandler,net/minecraft/world/chunk/storage
+ChunkLoader,net/minecraft/world/chunk/storage
+ExtendedBlockStorage,net/minecraft/world/chunk/storage
+IChunkLoader,net/minecraft/world/chunk/storage
+NibbleArrayReader,net/minecraft/world/chunk/storage
+RegionFile,net/minecraft/world/chunk/storage
+RegionFileCache,net/minecraft/world/chunk/storage
+RegionFileChunkBuffer,net/minecraft/world/chunk/storage
+DemoWorldManager,net/minecraft/world/demo
+DemoWorldServer,net/minecraft/world/demo
+ChunkProviderEnd,net/minecraft/world/gen
+ChunkProviderFlat,net/minecraft/world/gen
+ChunkProviderGenerate,net/minecraft/world/gen
+ChunkProviderHell,net/minecraft/world/gen
+ChunkProviderServer,net/minecraft/world/gen
+FlatGeneratorInfo,net/minecraft/world/gen
+FlatLayerInfo,net/minecraft/world/gen
+MapGenBase,net/minecraft/world/gen
+MapGenCaves,net/minecraft/world/gen
+MapGenCavesHell,net/minecraft/world/gen
+MapGenRavine,net/minecraft/world/gen
+NoiseGenerator,net/minecraft/world/gen
+NoiseGeneratorOctaves,net/minecraft/world/gen
+NoiseGeneratorPerlin,net/minecraft/world/gen
+MapGenScatteredFeature,net/minecraft/world/gen/feature
+WorldGenBigMushroom,net/minecraft/world/gen/feature
+WorldGenBigTree,net/minecraft/world/gen/feature
+WorldGenCactus,net/minecraft/world/gen/feature
+WorldGenClay,net/minecraft/world/gen/feature
+WorldGenDeadBush,net/minecraft/world/gen/feature
+WorldGenDesertWells,net/minecraft/world/gen/feature
+WorldGenDungeons,net/minecraft/world/gen/feature
+WorldGenFire,net/minecraft/world/gen/feature
+WorldGenFlowers,net/minecraft/world/gen/feature
+WorldGenForest,net/minecraft/world/gen/feature
+WorldGenGlowStone1,net/minecraft/world/gen/feature
+WorldGenGlowStone2,net/minecraft/world/gen/feature
+WorldGenHellLava,net/minecraft/world/gen/feature
+WorldGenHugeTrees,net/minecraft/world/gen/feature
+WorldGenLakes,net/minecraft/world/gen/feature
+WorldGenLiquids,net/minecraft/world/gen/feature
+WorldGenMinable,net/minecraft/world/gen/feature
+WorldGenPumpkin,net/minecraft/world/gen/feature
+WorldGenReed,net/minecraft/world/gen/feature
+WorldGenSand,net/minecraft/world/gen/feature
+WorldGenShrub,net/minecraft/world/gen/feature
+WorldGenSpikes,net/minecraft/world/gen/feature
+WorldGenSwamp,net/minecraft/world/gen/feature
+WorldGenTaiga1,net/minecraft/world/gen/feature
+WorldGenTaiga2,net/minecraft/world/gen/feature
+WorldGenTallGrass,net/minecraft/world/gen/feature
+WorldGenTrees,net/minecraft/world/gen/feature
+WorldGenVines,net/minecraft/world/gen/feature
+WorldGenWaterlily,net/minecraft/world/gen/feature
+WorldGenerator,net/minecraft/world/gen/feature
+WorldGeneratorBonusChest,net/minecraft/world/gen/feature
+GenLayer,net/minecraft/world/gen/layer
+GenLayerAddIsland,net/minecraft/world/gen/layer
+GenLayerAddMushroomIsland,net/minecraft/world/gen/layer
+GenLayerAddSnow,net/minecraft/world/gen/layer
+GenLayerBiome,net/minecraft/world/gen/layer
+GenLayerFuzzyZoom,net/minecraft/world/gen/layer
+GenLayerHills,net/minecraft/world/gen/layer
+GenLayerIsland,net/minecraft/world/gen/layer
+GenLayerRiver,net/minecraft/world/gen/layer
+GenLayerRiverInit,net/minecraft/world/gen/layer
+GenLayerRiverMix,net/minecraft/world/gen/layer
+GenLayerShore,net/minecraft/world/gen/layer
+GenLayerSmooth,net/minecraft/world/gen/layer
+GenLayerSwampRivers,net/minecraft/world/gen/layer
+GenLayerVoronoiZoom,net/minecraft/world/gen/layer
+GenLayerZoom,net/minecraft/world/gen/layer
+IntCache,net/minecraft/world/gen/layer
+CallableChunkPosHash,net/minecraft/world/gen/structure
+CallableIsFeatureChunk,net/minecraft/world/gen/structure
+CallableStructureType,net/minecraft/world/gen/structure
+ComponentMineshaftCorridor,net/minecraft/world/gen/structure
+ComponentMineshaftCross,net/minecraft/world/gen/structure
+ComponentMineshaftRoom,net/minecraft/world/gen/structure
+ComponentMineshaftStairs,net/minecraft/world/gen/structure
+ComponentNetherBridgeCorridor,net/minecraft/world/gen/structure
+ComponentNetherBridgeCorridor2,net/minecraft/world/gen/structure
+ComponentNetherBridgeCorridor3,net/minecraft/world/gen/structure
+ComponentNetherBridgeCorridor4,net/minecraft/world/gen/structure
+ComponentNetherBridgeCorridor5,net/minecraft/world/gen/structure
+ComponentNetherBridgeCrossing,net/minecraft/world/gen/structure
+ComponentNetherBridgeCrossing2,net/minecraft/world/gen/structure
+ComponentNetherBridgeCrossing3,net/minecraft/world/gen/structure
+ComponentNetherBridgeEnd,net/minecraft/world/gen/structure
+ComponentNetherBridgeEntrance,net/minecraft/world/gen/structure
+ComponentNetherBridgeNetherStalkRoom,net/minecraft/world/gen/structure
+ComponentNetherBridgePiece,net/minecraft/world/gen/structure
+ComponentNetherBridgeStairs,net/minecraft/world/gen/structure
+ComponentNetherBridgeStartPiece,net/minecraft/world/gen/structure
+ComponentNetherBridgeStraight,net/minecraft/world/gen/structure
+ComponentNetherBridgeThrone,net/minecraft/world/gen/structure
+ComponentScatteredFeature,net/minecraft/world/gen/structure
+ComponentScatteredFeatureDesertPyramid,net/minecraft/world/gen/structure
+ComponentScatteredFeatureJunglePyramid,net/minecraft/world/gen/structure
+ComponentScatteredFeaturePieces2,net/minecraft/world/gen/structure
+ComponentScatteredFeatureSwampHut,net/minecraft/world/gen/structure
+ComponentStronghold,net/minecraft/world/gen/structure
+ComponentStrongholdChestCorridor,net/minecraft/world/gen/structure
+ComponentStrongholdCorridor,net/minecraft/world/gen/structure
+ComponentStrongholdCrossing,net/minecraft/world/gen/structure
+ComponentStrongholdLeftTurn,net/minecraft/world/gen/structure
+ComponentStrongholdLibrary,net/minecraft/world/gen/structure
+ComponentStrongholdPortalRoom,net/minecraft/world/gen/structure
+ComponentStrongholdPrison,net/minecraft/world/gen/structure
+ComponentStrongholdRightTurn,net/minecraft/world/gen/structure
+ComponentStrongholdRoomCrossing,net/minecraft/world/gen/structure
+ComponentStrongholdStairs,net/minecraft/world/gen/structure
+ComponentStrongholdStairs2,net/minecraft/world/gen/structure
+ComponentStrongholdStairsStraight,net/minecraft/world/gen/structure
+ComponentStrongholdStraight,net/minecraft/world/gen/structure
+ComponentVillage,net/minecraft/world/gen/structure
+ComponentVillageChurch,net/minecraft/world/gen/structure
+ComponentVillageField,net/minecraft/world/gen/structure
+ComponentVillageField2,net/minecraft/world/gen/structure
+ComponentVillageHall,net/minecraft/world/gen/structure
+ComponentVillageHouse1,net/minecraft/world/gen/structure
+ComponentVillageHouse2,net/minecraft/world/gen/structure
+ComponentVillageHouse3,net/minecraft/world/gen/structure
+ComponentVillageHouse4_Garden,net/minecraft/world/gen/structure
+ComponentVillagePathGen,net/minecraft/world/gen/structure
+ComponentVillageRoadPiece,net/minecraft/world/gen/structure
+ComponentVillageStartPiece,net/minecraft/world/gen/structure
+ComponentVillageTorch,net/minecraft/world/gen/structure
+ComponentVillageWell,net/minecraft/world/gen/structure
+ComponentVillageWoodHut,net/minecraft/world/gen/structure
+EnumDoor,net/minecraft/world/gen/structure
+EnumDoorHelper,net/minecraft/world/gen/structure
+MapGenMineshaft,net/minecraft/world/gen/structure
+MapGenNetherBridge,net/minecraft/world/gen/structure
+MapGenStronghold,net/minecraft/world/gen/structure
+MapGenStructure,net/minecraft/world/gen/structure
+MapGenVillage,net/minecraft/world/gen/structure
+StructureBoundingBox,net/minecraft/world/gen/structure
+StructureComponent,net/minecraft/world/gen/structure
+StructureMineshaftPieces,net/minecraft/world/gen/structure
+StructureMineshaftStart,net/minecraft/world/gen/structure
+StructureNetherBridgePieceWeight,net/minecraft/world/gen/structure
+StructureNetherBridgePieces,net/minecraft/world/gen/structure
+StructureNetherBridgeStart,net/minecraft/world/gen/structure
+StructurePieceBlockSelector,net/minecraft/world/gen/structure
+StructureScatteredFeatureStart,net/minecraft/world/gen/structure
+StructureScatteredFeatureStones,net/minecraft/world/gen/structure
+StructureStart,net/minecraft/world/gen/structure
+StructureStrongholdPieceWeight,net/minecraft/world/gen/structure
+StructureStrongholdPieceWeight2,net/minecraft/world/gen/structure
+StructureStrongholdPieceWeight3,net/minecraft/world/gen/structure
+StructureStrongholdPieces,net/minecraft/world/gen/structure
+StructureStrongholdStart,net/minecraft/world/gen/structure
+StructureStrongholdStones,net/minecraft/world/gen/structure
+StructureVillagePieceWeight,net/minecraft/world/gen/structure
+StructureVillagePieces,net/minecraft/world/gen/structure
+StructureVillageStart,net/minecraft/world/gen/structure
+CallableLevelDimension,net/minecraft/world/storage
+CallableLevelGamemode,net/minecraft/world/storage
+CallableLevelGenerator,net/minecraft/world/storage
+CallableLevelGeneratorOptions,net/minecraft/world/storage
+CallableLevelSeed,net/minecraft/world/storage
+CallableLevelSpawnLocation,net/minecraft/world/storage
+CallableLevelStorageVersion,net/minecraft/world/storage
+CallableLevelTime,net/minecraft/world/storage
+CallableLevelWeather,net/minecraft/world/storage
+DerivedWorldInfo,net/minecraft/world/storage
+IPlayerFileData,net/minecraft/world/storage
+ISaveFormat,net/minecraft/world/storage
+ISaveHandler,net/minecraft/world/storage
+IThreadedFileIO,net/minecraft/world/storage
+MapCoord,net/minecraft/world/storage
+MapData,net/minecraft/world/storage
+MapInfo,net/minecraft/world/storage
+MapStorage,net/minecraft/world/storage
+SaveFormatComparator,net/minecraft/world/storage
+SaveFormatOld,net/minecraft/world/storage
+SaveHandler,net/minecraft/world/storage
+SaveHandlerMP,net/minecraft/world/storage
+ThreadedFileIOBase,net/minecraft/world/storage
+WorldInfo,net/minecraft/world/storage
diff --git a/fml/eclipse-workspace-dev.zip b/fml/eclipse-workspace-dev.zip
new file mode 100644
index 000000000..aaaea6843
Binary files /dev/null and b/fml/eclipse-workspace-dev.zip differ
diff --git a/fml/eclipse-workspace.zip b/fml/eclipse-workspace.zip
deleted file mode 100644
index 293641256..000000000
Binary files a/fml/eclipse-workspace.zip and /dev/null differ
diff --git a/fml/install/fml.py b/fml/install/fml.py
index ef4ce1f3a..99ab5a534 100644
--- a/fml/install/fml.py
+++ b/fml/install/fml.py
@@ -22,7 +22,7 @@ def download_deps(mcp_path):
if not os.path.isfile(target):
try:
urllib.urlretrieve('http://files.minecraftforge.net/fmllibs/' + lib, target)
- print 'Downloaded %s successfully' % lib
+ print 'Downloaded %s' % lib
except:
print 'Download %s failed, download manually from http://files.minecraftforge.net/fmllibs/%s or http://files.minecraftforge.net/fmllibs/fml_libs_dev.zip and place in MCP/lib' % (lib, lib)
ret = False
@@ -54,7 +54,7 @@ def download_file(url, target, md5=None):
print 'Download of %s failed md5 check, deleting' % name
os.remove(target)
return False
- print 'Downloaded %s successfully' % name
+ print 'Downloaded %s' % name
except Exception as e:
print e
print 'Download of %s failed, download it manually from \'%s\' to \'%s\'' % (target, url, target)
@@ -328,8 +328,6 @@ def setup_fml(fml_dir, mcp_dir):
#cleanup_source
cleanup_source(src_dir)
- merge_client_server(mcp_dir)
-
os.chdir(mcp_dir)
commands = Commands(verify=True)
updatemd5_side(mcp_dir, commands, CLIENT)
@@ -385,57 +383,12 @@ def get_joined_srg(mcp_dir):
values[pts[0]][pts[1]] = pts[2]
return values
-
-def merge_client_server(mcp_dir):
- client = os.path.join(mcp_dir, 'src', 'minecraft')
- shared = os.path.join(mcp_dir, 'src', 'common')
-
- client_jar = os.path.join(mcp_dir, 'jars', 'bin', 'minecraft.jar')
- server_jar = os.path.join(mcp_dir, 'jars', 'minecraft_server.jar')
- joined_srg = get_joined_srg(mcp_dir)['CL:']
-
- if not os.path.isfile(client_jar) or not os.path.isfile(server_jar):
- return
-
- if not os.path.isdir(shared):
- os.makedirs(shared)
-
- server_classes = []
-
- zip = ZipFile(server_jar)
- for i in zip.filelist:
- if i.filename.endswith('.class'):
- server_classes.append(i.filename[:-6])
-
- for cls in server_classes:
- if cls in joined_srg.keys():
- cls = joined_srg[cls]
- cls += '.java'
-
- f_client = os.path.normpath(os.path.join(client, cls.replace('/', os.path.sep))).replace(os.path.sep, '/')
- f_shared = os.path.normpath(os.path.join(shared, cls.replace('/', os.path.sep))).replace(os.path.sep, '/')
-
- if not os.path.isfile(f_client):
- print 'Issue Merging File Not Found: ' + cls
- continue
-
- if not cls.rfind('/') == -1:
- new_dir = os.path.join(shared, cls.rsplit('/', 1)[0])
- if not os.path.isdir(new_dir):
- os.makedirs(new_dir)
-
- shutil.move(f_client, f_shared)
-
- cleanDirs(client)
def apply_fml_patches(fml_dir, mcp_dir, src_dir, copy_files=True):
- #Delete /common/cpw to get rid of the Side/SideOnly classes used in decompilation
+ #Delete /minecraft/cpw to get rid of the Side/SideOnly classes used in decompilation
cpw_mc_dir = os.path.join(src_dir, 'minecraft', 'cpw')
- cpw_com_dir = os.path.join(src_dir, 'common', 'cpw')
if os.path.isdir(cpw_mc_dir):
shutil.rmtree(cpw_mc_dir)
- if os.path.isdir(cpw_com_dir):
- shutil.rmtree(cpw_com_dir)
#patch files
print 'Applying Forge ModLoader patches'
@@ -445,15 +398,12 @@ def apply_fml_patches(fml_dir, mcp_dir, src_dir, copy_files=True):
apply_patches(mcp_dir, os.path.join(fml_dir, 'patches', 'minecraft'), src_dir)
if copy_files and os.path.isdir(os.path.join(fml_dir, 'client')):
copytree(os.path.join(fml_dir, 'client'), os.path.join(src_dir, 'minecraft'))
+ if copy_files and os.path.isdir(os.path.join(fml_dir, 'common')):
+ copytree(os.path.join(fml_dir, 'common'), os.path.join(src_dir, 'minecraft'))
#delete argo
if os.path.isdir(os.path.join(src_dir, 'minecraft', 'argo')):
shutil.rmtree(os.path.join(src_dir, 'minecraft', 'argo'))
-
- if os.path.isdir(os.path.join(fml_dir, 'patches', 'common')):
- apply_patches(mcp_dir, os.path.join(fml_dir, 'patches', 'common'), src_dir)
- if copy_files and os.path.isdir(os.path.join(fml_dir, 'common')):
- copytree(os.path.join(fml_dir, 'common'), os.path.join(src_dir, 'common'))
def finish_setup_fml(fml_dir, mcp_dir):
sys.path.append(mcp_dir)
@@ -654,6 +604,10 @@ def download_mcp(mcp_dir, fml_dir, version=None):
zf.extractall(mcp_dir)
zf.close()
+ eclipse_dir = os.path.join(mcp_dir, 'eclipse')
+ if os.path.isdir(eclipse_dir):
+ shutil.rmtree(eclipse_dir)
+
return True
def setup_mcp(fml_dir, mcp_dir, dont_gen_conf=True):
@@ -668,12 +622,12 @@ def setup_mcp(fml_dir, mcp_dir, dont_gen_conf=True):
print 'Setting up MCP'
if os.path.isfile(backup):
- print '> Restoring commands.py backup'
+ print 'Restoring commands.py backup'
if os.path.exists(runtime):
os.remove(runtime)
shutil.copy(backup, runtime)
else:
- print '> Backing up commands.py'
+ print 'Backing up commands.py'
shutil.copy(runtime, backup)
if not os.path.isfile(patch):
@@ -683,8 +637,7 @@ def setup_mcp(fml_dir, mcp_dir, dont_gen_conf=True):
temp = os.path.abspath('temp.patch')
cmd = 'patch -i "%s" ' % temp
- windows = os.name == 'nt'
- if windows:
+ if os.name == 'nt':
applydiff = os.path.abspath(os.path.join(mcp_dir, 'runtime', 'bin', 'applydiff.exe'))
cmd = '"%s" -uf -i "%s"' % (applydiff, temp)
@@ -692,8 +645,6 @@ def setup_mcp(fml_dir, mcp_dir, dont_gen_conf=True):
cmd = cmd.replace('\\', '\\\\')
cmd = shlex.split(cmd)
- if windows:
- print 'Patching file %s' % os.path.normpath(runtime)
fix_patch(patch, temp)
process = subprocess.Popen(cmd, cwd=os.path.join(mcp_dir, 'runtime'), bufsize=-1)
process.communicate()
@@ -731,6 +682,8 @@ def setup_mcp(fml_dir, mcp_dir, dont_gen_conf=True):
print 'Copying FML conf'
shutil.copytree(fml_conf, mcp_conf)
+ gen_renamed_conf(mcp_dir, fml_dir)
+
#update workspace
if not os.path.isfile(os.path.join(fml_dir, 'fmlbuild.properties-sample')):
mcp_eclipse = os.path.join(mcp_dir, 'eclipse')
@@ -881,3 +834,106 @@ def gen_merged_csv(common_map, in_file, out_file, main_key='searge'):
writer.writeheader()
for row in sorted(common, key=lambda row: row[main_key]):
writer.writerow(row)
+
+def repackage_class(pkgs, cls):
+ if cls.startswith('net/minecraft/src/'):
+ tmp = cls[18:]
+ if tmp in pkgs.keys():
+ return '%s/%s' % (pkgs[tmp], tmp)
+ return cls
+
+typere = re.compile('([\[ZBCSIJFDV]|L([\w\/]+);)')
+def repackage_signature(pkgs, sig):
+ global typere
+ sig1 = sig
+ params = sig.rsplit(')', 1)[0][1:]
+ ret = sig.rsplit(')', 1)[1]
+
+ sig = '('
+ for arg in typere.findall(params):
+ if len(arg[1]) > 0:
+ sig += 'L%s;' % repackage_class(pkgs, arg[1])
+ else:
+ sig += arg[0]
+ sig += ')'
+ for tmp in typere.findall(ret):
+ if len(tmp[1]) > 0:
+ sig += 'L%s;' % repackage_class(pkgs, tmp[1])
+ else:
+ sig += tmp[0]
+ return sig
+
+def gen_renamed_conf(mcp_dir, fml_dir):
+ pkg_file = os.path.join(fml_dir, 'conf', 'packages.csv')
+ srg_in = os.path.join(mcp_dir, 'conf', 'joined.srg')
+ srg_out = os.path.join(mcp_dir, 'conf', 'packaged.srg')
+ exc_in = os.path.join(mcp_dir, 'conf', 'joined.exc')
+ exc_out = os.path.join(mcp_dir, 'conf', 'packaged.exc')
+
+ pkgs = {}
+ if os.path.isfile(pkg_file):
+ with open(pkg_file) as fh:
+ reader = csv.DictReader(fh)
+ for line in reader:
+ pkgs[line['class']] = line['package']
+
+ print 'Creating re-packaged srg'
+ with open(srg_in, 'r') as inf:
+ with open(srg_out, 'wb') as outf:
+ for line in inf:
+ pts = line.rstrip('\r\n').split(' ')
+ if pts[0] == 'PK:':
+ outf.write(' '.join(pts) + '\n')
+ elif pts[0] == 'CL:':
+ pts[2] = repackage_class(pkgs, pts[2])
+ outf.write('CL: %s %s\n' % (pts[1], pts[2]))
+ elif pts[0] == 'FD:':
+ tmp = pts[2].rsplit('/', 1)
+ tmp[0] = repackage_class(pkgs, tmp[0])
+ outf.write('FD: %s %s/%s\n' % (pts[1], tmp[0], tmp[1]))
+ elif pts[0] == 'MD:':
+ tmp = pts[3].rsplit('/', 1)
+ pts[3] = '%s/%s' % (repackage_class(pkgs, tmp[0]), tmp[1])
+ pts[4] = repackage_signature(pkgs, pts[4])
+ outf.write('MD: %s %s %s %s\n' % (pts[1], pts[2], pts[3], pts[4]))
+ else:
+ print 'Line unknown in SRG: ' + line
+ outf.write(line)
+
+ excre = re.compile('([\[ZBCSIJFDV]|L([\w\/]+);)')
+ print 'Creating re-packaged exc'
+ with open(exc_in, 'r') as inf:
+ with open(exc_out, 'wb') as outf:
+ for line in inf:
+ line = line.rstrip('\r\n')
+ cls = line.split('.')[0]
+ named = line.rsplit('=', 1)[1]
+ line = line[len(cls)+1:-1*len(named)-1]
+ func = line.split('(')[0]
+
+ tmp = named.split('|', 1)
+ if len(tmp[0]) > 0:
+ excs = tmp[0].split(',')
+ for x in range(len(excs)):
+ excs[x] = repackage_class(pkgs, excs[x])
+ named = '%s|%s' % (','.join(excs), tmp[1])
+
+ sig = repackage_signature(pkgs, line[len(func):])
+ cls = repackage_class(pkgs, cls)
+ outf.write('%s.%s%s=%s\n' % (cls, func, sig, named))
+
+ print 'Creating re-packaged MCP patch'
+ patch_in = os.path.join(mcp_dir, 'conf', 'patches', 'minecraft_ff.patch')
+ patch_tmp = os.path.join(mcp_dir, 'conf', 'patches', 'minecraft_ff.patch.tmp')
+
+ regnms = re.compile(r'net\\minecraft\\src\\(\w+)')
+ with open(patch_in, 'r') as fh:
+ buf = fh.read()
+ def mapname(match):
+ return repackage_class(pkgs, match.group(0).replace('\\', '/')).replace('/', '\\')
+ buf = regnms.sub(mapname, buf)
+
+ with open(patch_tmp, 'w') as fh:
+ fh.write(buf)
+
+ shutil.move(patch_tmp, patch_in)
diff --git a/fml/patches/common/net/minecraft/src/CallableSuspiciousClasses.java.patch b/fml/patches/common/net/minecraft/src/CallableSuspiciousClasses.java.patch
deleted file mode 100644
index e89450888..000000000
--- a/fml/patches/common/net/minecraft/src/CallableSuspiciousClasses.java.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- ../src-base/common/net/minecraft/src/CallableSuspiciousClasses.java
-+++ ../src-work/common/net/minecraft/src/CallableSuspiciousClasses.java
-@@ -130,6 +130,6 @@
-
- public Object call()
- {
-- return this.func_85085_a();
-+ return "FML is installed";
- }
- }
diff --git a/fml/patches/common/net/minecraft/src/MemoryConnection.java.patch b/fml/patches/common/net/minecraft/src/MemoryConnection.java.patch
deleted file mode 100644
index 91c9b11cd..000000000
--- a/fml/patches/common/net/minecraft/src/MemoryConnection.java.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- ../src-base/common/net/minecraft/src/MemoryConnection.java
-+++ ../src-work/common/net/minecraft/src/MemoryConnection.java
-@@ -8,6 +8,8 @@
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
-+
-+import cpw.mods.fml.common.network.FMLNetworkHandler;
-
- public class MemoryConnection implements INetworkManager
- {
-@@ -71,6 +73,7 @@
- if (this.field_74441_e && this.field_74442_b.isEmpty())
- {
- this.field_74440_d.func_72515_a(this.field_74438_f, this.field_74439_g);
-+ FMLNetworkHandler.onConnectionClosed(this, this.field_74440_d.getPlayer());
- }
- }
-
diff --git a/fml/patches/common/net/minecraft/src/NetHandler.java.patch b/fml/patches/common/net/minecraft/src/NetHandler.java.patch
deleted file mode 100644
index 94b52f460..000000000
--- a/fml/patches/common/net/minecraft/src/NetHandler.java.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ../src-base/common/net/minecraft/src/NetHandler.java
-+++ ../src-work/common/net/minecraft/src/NetHandler.java
-@@ -345,4 +345,8 @@
- {
- return false;
- }
-+
-+ public abstract void handleVanilla250Packet(Packet250CustomPayload payload);
-+
-+ public abstract EntityPlayer getPlayer();
- }
diff --git a/fml/patches/common/net/minecraft/src/SlotFurnace.java.patch b/fml/patches/common/net/minecraft/src/SlotFurnace.java.patch
deleted file mode 100644
index d4d71d6b3..000000000
--- a/fml/patches/common/net/minecraft/src/SlotFurnace.java.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- ../src-base/common/net/minecraft/src/SlotFurnace.java
-+++ ../src-work/common/net/minecraft/src/SlotFurnace.java
-@@ -1,4 +1,6 @@
- package net.minecraft.src;
-+
-+import cpw.mods.fml.common.registry.GameRegistry;
-
- public class SlotFurnace extends Slot
- {
-@@ -72,7 +74,10 @@
- }
- }
-
-+
- this.field_75228_b = 0;
-+
-+ GameRegistry.onItemSmelted(field_75229_a, p_75208_1_);
-
- if (p_75208_1_.field_77993_c == Item.field_77703_o.field_77779_bT)
- {
diff --git a/fml/patches/common/net/minecraft/src/TcpConnection.java.patch b/fml/patches/common/net/minecraft/src/TcpConnection.java.patch
deleted file mode 100644
index 204c897ca..000000000
--- a/fml/patches/common/net/minecraft/src/TcpConnection.java.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- ../src-base/common/net/minecraft/src/TcpConnection.java
-+++ ../src-work/common/net/minecraft/src/TcpConnection.java
-@@ -17,6 +17,8 @@
- import java.util.List;
- import java.util.concurrent.atomic.AtomicInteger;
- import javax.crypto.SecretKey;
-+
-+import cpw.mods.fml.common.network.FMLNetworkHandler;
-
- public class TcpConnection implements INetworkManager
- {
-@@ -387,6 +389,7 @@
- if (this.field_74472_n && this.field_74473_o.isEmpty())
- {
- this.field_74485_r.func_72515_a(this.field_74481_v, this.field_74480_w);
-+ FMLNetworkHandler.onConnectionClosed(this, this.field_74485_r.getPlayer());
- }
- }
-
diff --git a/fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch b/fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch
index bb981e7ea..7d5d15805 100644
--- a/fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch
@@ -1,59 +1,40 @@
--- ../src-base/minecraft/net/minecraft/client/Minecraft.java
+++ ../src-work/minecraft/net/minecraft/client/Minecraft.java
-@@ -2,6 +2,10 @@
+@@ -1,7 +1,15 @@
+ package net.minecraft.client;
++import cpw.mods.fml.client.FMLClientHandler;
++import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
+import cpw.mods.fml.common.registry.GameData;
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.common.registry.ItemData;
++import cpw.mods.fml.relauncher.ArgsWrapper;
++import cpw.mods.fml.relauncher.FMLRelauncher;
+
import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Color;
-@@ -15,7 +19,9 @@
- import java.text.DecimalFormat;
- import java.util.HashMap;
- import java.util.List;
-+
- import javax.swing.JPanel;
-+
- import net.minecraft.src.AchievementList;
- import net.minecraft.src.AnvilSaveConverter;
- import net.minecraft.src.AxisAlignedBB;
-@@ -122,6 +128,7 @@
- import net.minecraft.src.WorldInfo;
- import net.minecraft.src.WorldRenderer;
- import net.minecraft.src.WorldSettings;
-+
- import org.lwjgl.LWJGLException;
- import org.lwjgl.Sys;
- import org.lwjgl.input.Keyboard;
-@@ -134,6 +141,14 @@
- import org.lwjgl.opengl.GLContext;
+@@ -120,6 +128,8 @@
import org.lwjgl.opengl.PixelFormat;
import org.lwjgl.util.glu.GLU;
-+
+
+import com.google.common.collect.MapDifference;
+
-+import cpw.mods.fml.client.FMLClientHandler;
-+import cpw.mods.fml.common.FMLCommonHandler;
-+import cpw.mods.fml.common.Side;
-+import cpw.mods.fml.relauncher.ArgsWrapper;
-+import cpw.mods.fml.relauncher.FMLRelauncher;
-
@SideOnly(Side.CLIENT)
public abstract class Minecraft implements Runnable, IPlayerUsage
-@@ -316,7 +331,7 @@
- this.func_71357_I();
+ {
+@@ -302,6 +312,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);
--
+
+ 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);
-@@ -361,6 +376,8 @@
+@@ -346,6 +358,8 @@
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);
@@ -62,15 +43,16 @@
try
{
this.field_71430_V = new ThreadDownloadResources(this.field_71412_D, this);
-@@ -389,6 +406,7 @@
+@@ -374,6 +388,8 @@
{
this.func_71352_k();
}
++
+ FMLClientHandler.instance().onInitializationComplete();
}
private void func_71357_I() throws LWJGLException
-@@ -747,9 +765,11 @@
+@@ -732,9 +748,11 @@
if (!this.field_71454_w)
{
@@ -82,35 +64,40 @@
}
GL11.glFlush();
-@@ -1279,11 +1299,13 @@
+@@ -1264,10 +1282,14 @@
public void func_71407_l()
{
+ FMLCommonHandler.instance().rescheduleTicks(Side.CLIENT);
++
if (this.field_71467_ac > 0)
{
--this.field_71467_ac;
}
-
++
+ FMLCommonHandler.instance().onPreClientTick();
+
this.field_71424_I.func_76320_a("stats");
this.field_71413_E.func_77449_e();
- this.field_71424_I.func_76318_c("gui");
-@@ -1739,6 +1761,7 @@
+@@ -1724,6 +1746,8 @@
this.field_71453_ak.func_74428_b();
}
+ FMLCommonHandler.instance().onPostClientTick();
++
this.field_71424_I.func_76319_b();
this.field_71423_H = func_71386_F();
}
-@@ -1777,8 +1800,23 @@
+@@ -1762,8 +1786,27 @@
}
this.field_71413_E.func_77450_a(StatList.field_75936_f, 1);
++
+ GameData.initializeServerGate(2);
++
this.field_71437_Z = new IntegratedServer(this, p_71371_1_, p_71371_2_, p_71371_3_);
this.field_71437_Z.func_71256_s();
++
+ MapDifference idDifferences = GameData.gateWorldLoadingForValidation();
+ if (idDifferences!=null)
+ {
@@ -123,12 +110,13 @@
+ }
+
+ }
++
+ public void continueWorldLoading()
+ {
this.field_71455_al = true;
this.field_71461_s.func_73720_a(StatCollector.func_74838_a("menu.loadingLevel"));
-@@ -1993,6 +2031,12 @@
+@@ -1978,6 +2021,12 @@
public static void main(String[] p_main_0_)
{
diff --git a/fml/patches/minecraft/net/minecraft/client/MinecraftApplet.java.patch b/fml/patches/minecraft/net/minecraft/client/MinecraftApplet.java.patch
index 4a754ec50..7bd4b94b3 100644
--- a/fml/patches/minecraft/net/minecraft/client/MinecraftApplet.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/MinecraftApplet.java.patch
@@ -1,15 +1,15 @@
--- ../src-base/minecraft/net/minecraft/client/MinecraftApplet.java
+++ ../src-work/minecraft/net/minecraft/client/MinecraftApplet.java
-@@ -5,6 +5,8 @@
+@@ -2,6 +2,8 @@
+
+ import cpw.mods.fml.common.Side;
+ import cpw.mods.fml.common.asm.SideOnly;
++import cpw.mods.fml.relauncher.FMLRelauncher;
++
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Canvas;
-+
-+import cpw.mods.fml.relauncher.FMLRelauncher;
- import net.minecraft.src.CanvasMinecraftApplet;
- import net.minecraft.src.MinecraftAppletImpl;
- import net.minecraft.src.Session;
-@@ -17,6 +19,11 @@
+@@ -15,6 +17,11 @@
private Thread field_71482_c = null;
public void init()
@@ -21,7 +21,7 @@
{
this.field_71483_a = new CanvasMinecraftApplet(this);
boolean var1 = "true".equalsIgnoreCase(this.getParameter("fullscreen"));
-@@ -64,6 +71,11 @@
+@@ -62,6 +69,11 @@
public void start()
{
diff --git a/fml/patches/minecraft/net/minecraft/src/GuiCreateWorld.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiCreateWorld.java.patch
similarity index 72%
rename from fml/patches/minecraft/net/minecraft/src/GuiCreateWorld.java.patch
rename to fml/patches/minecraft/net/minecraft/client/gui/GuiCreateWorld.java.patch
index 0e1ca205f..1a0565359 100644
--- a/fml/patches/minecraft/net/minecraft/src/GuiCreateWorld.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiCreateWorld.java.patch
@@ -1,10 +1,11 @@
---- ../src-base/minecraft/net/minecraft/src/GuiCreateWorld.java
-+++ ../src-work/minecraft/net/minecraft/src/GuiCreateWorld.java
-@@ -205,6 +205,7 @@
+--- ../src-base/minecraft/net/minecraft/client/gui/GuiCreateWorld.java
++++ ../src-work/minecraft/net/minecraft/client/gui/GuiCreateWorld.java
+@@ -214,6 +214,8 @@
}
}
+ WorldType.field_77139_a[this.field_73916_E].onGUICreateWorldPress();
++
EnumGameType var8 = EnumGameType.func_77142_a(this.field_73927_m);
WorldSettings var6 = new WorldSettings(var2, var8, this.field_73925_n, this.field_73933_r, WorldType.field_77139_a[this.field_73916_E]);
var6.func_82750_a(this.field_82290_a);
diff --git a/fml/patches/minecraft/net/minecraft/src/GuiErrorScreen.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiErrorScreen.java.patch
similarity index 57%
rename from fml/patches/minecraft/net/minecraft/src/GuiErrorScreen.java.patch
rename to fml/patches/minecraft/net/minecraft/client/gui/GuiErrorScreen.java.patch
index 20b4c8905..85129be3b 100644
--- a/fml/patches/minecraft/net/minecraft/src/GuiErrorScreen.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiErrorScreen.java.patch
@@ -1,12 +1,10 @@
---- ../src-base/minecraft/net/minecraft/src/GuiErrorScreen.java
-+++ ../src-work/minecraft/net/minecraft/src/GuiErrorScreen.java
-@@ -9,6 +9,10 @@
+--- ../src-base/minecraft/net/minecraft/client/gui/GuiErrorScreen.java
++++ ../src-work/minecraft/net/minecraft/client/gui/GuiErrorScreen.java
+@@ -9,6 +9,8 @@
private String field_74001_a;
private String field_74000_b;
-+ public GuiErrorScreen()
-+ {
-+ }
++ public GuiErrorScreen(){}
+
public void func_73863_a(int p_73863_1_, int p_73863_2_, float p_73863_3_)
{
diff --git a/fml/patches/minecraft/net/minecraft/src/GuiMainMenu.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiMainMenu.java.patch
similarity index 76%
rename from fml/patches/minecraft/net/minecraft/src/GuiMainMenu.java.patch
rename to fml/patches/minecraft/net/minecraft/client/gui/GuiMainMenu.java.patch
index 283b9e706..a30eba767 100644
--- a/fml/patches/minecraft/net/minecraft/src/GuiMainMenu.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiMainMenu.java.patch
@@ -1,24 +1,32 @@
---- ../src-base/minecraft/net/minecraft/src/GuiMainMenu.java
-+++ ../src-work/minecraft/net/minecraft/src/GuiMainMenu.java
-@@ -10,10 +10,17 @@
+--- ../src-base/minecraft/net/minecraft/client/gui/GuiMainMenu.java
++++ ../src-work/minecraft/net/minecraft/client/gui/GuiMainMenu.java
+@@ -1,5 +1,7 @@
+ package net.minecraft.client.gui;
+
++import cpw.mods.fml.client.GuiModList;
++import cpw.mods.fml.common.FMLCommonHandler;
+ import cpw.mods.fml.common.Side;
+ import cpw.mods.fml.common.asm.SideOnly;
+ import java.awt.image.BufferedImage;
+@@ -10,6 +12,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;
+@@ -22,6 +25,9 @@
import org.lwjgl.opengl.GL11;
import org.lwjgl.util.glu.GLU;
-+
+
+import com.google.common.base.Strings;
+import com.google.common.collect.Lists;
+
-+import cpw.mods.fml.client.GuiModList;
-+import cpw.mods.fml.common.FMLCommonHandler;
-
@SideOnly(Side.CLIENT)
public class GuiMainMenu extends GuiScreen
-@@ -125,7 +132,8 @@
+ {
+@@ -132,7 +138,8 @@
this.func_73969_a(var4, 24, var2);
}
@@ -28,7 +36,7 @@
if (this.field_73882_e.field_71448_m)
{
-@@ -189,6 +197,11 @@
+@@ -196,6 +203,11 @@
if (p_73875_1_.field_73741_f == 4)
{
this.field_73882_e.func_71400_g();
@@ -40,19 +48,21 @@
}
if (p_73875_1_.field_73741_f == 11)
-@@ -407,7 +420,14 @@
+@@ -414,7 +426,16 @@
var9 = var9 + " Demo";
}
- this.func_73731_b(this.field_73886_k, var9, 2, this.field_73881_g - 10, 16777215);
-+ List brandings=Lists.reverse(FMLCommonHandler.instance().getBrandings());
-+ for (int i=0; i brandings = Lists.reverse(FMLCommonHandler.instance().getBrandings());
++ for (int i = 0; i < brandings.size(); i++)
++ {
+ String brd = brandings.get(i);
+ if (!Strings.isNullOrEmpty(brd))
+ {
+ this.func_73731_b(this.field_73886_k, brd, 2, this.field_73881_g - ( 10 + i * (this.field_73886_k.field_78288_b + 1)), 16777215);
+ }
+ }
++
String var10 = "Copyright Mojang AB. Do not distribute!";
this.func_73731_b(this.field_73886_k, var10, this.field_73880_f - this.field_73886_k.func_78256_a(var10) - 2, this.field_73881_g - 10, 16777215);
super.func_73863_a(p_73863_1_, p_73863_2_, p_73863_3_);
diff --git a/fml/patches/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java.patch b/fml/patches/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java.patch
new file mode 100644
index 000000000..c435d09fd
--- /dev/null
+++ b/fml/patches/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java.patch
@@ -0,0 +1,13 @@
+--- ../src-base/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java
++++ ../src-work/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java
+@@ -126,4 +126,10 @@
+ {
+ return p_74251_0_.field_73882_e;
+ }
++
++ public static void forceTermination(GuiConnecting gui)
++ {
++ gui.field_74258_b = true;
++ gui.field_74259_a = null;
++ }
+ }
diff --git a/fml/patches/minecraft/net/minecraft/src/NetClientHandler.java.patch b/fml/patches/minecraft/net/minecraft/client/multiplayer/NetClientHandler.java.patch
similarity index 84%
rename from fml/patches/minecraft/net/minecraft/src/NetClientHandler.java.patch
rename to fml/patches/minecraft/net/minecraft/client/multiplayer/NetClientHandler.java.patch
index 8bf0183b8..1cc689fac 100644
--- a/fml/patches/minecraft/net/minecraft/src/NetClientHandler.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/multiplayer/NetClientHandler.java.patch
@@ -1,5 +1,5 @@
---- ../src-base/minecraft/net/minecraft/src/NetClientHandler.java
-+++ ../src-work/minecraft/net/minecraft/src/NetClientHandler.java
+--- ../src-base/minecraft/net/minecraft/client/multiplayer/NetClientHandler.java
++++ ../src-work/minecraft/net/minecraft/client/multiplayer/NetClientHandler.java
@@ -2,6 +2,8 @@
import cpw.mods.fml.common.Side;
@@ -9,7 +9,7 @@
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
-@@ -37,11 +39,14 @@
+@@ -172,11 +174,14 @@
public int field_72556_d = 20;
Random field_72557_e = new Random();
@@ -24,7 +24,7 @@
}
public NetClientHandler(Minecraft p_i3104_1_, IntegratedServer p_i3104_2_) throws IOException
-@@ -49,6 +54,7 @@
+@@ -184,6 +189,7 @@
this.field_72563_h = p_i3104_1_;
this.field_72555_g = new MemoryConnection(this);
p_i3104_2_.func_71343_a().func_71754_a((MemoryConnection)this.field_72555_g, p_i3104_1_.field_71449_j.field_74286_b);
@@ -32,7 +32,7 @@
}
public void func_72547_c()
-@@ -119,6 +125,7 @@
+@@ -254,6 +260,7 @@
public void func_72513_a(Packet252SharedKey p_72513_1_)
{
@@ -40,7 +40,7 @@
this.func_72552_c(new Packet205ClientCommand(0));
}
-@@ -134,6 +141,7 @@
+@@ -269,6 +276,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);
@@ -48,23 +48,15 @@
this.field_72563_h.field_71474_y.func_82879_c();
}
-@@ -580,6 +588,7 @@
- {
- this.field_72555_g.func_74429_a(p_72546_1_);
- this.field_72555_g.func_74423_d();
-+ FMLNetworkHandler.onConnectionClosed(this.field_72555_g, this.getPlayer());
- }
- }
-
-@@ -619,6 +628,7 @@
+@@ -754,6 +762,7 @@
public void func_72481_a(Packet3Chat p_72481_1_)
{
-+ p_72481_1_ = FMLNetworkHandler.handleChatMessage(this, p_72481_1_);
++ FMLNetworkHandler.onConnectionClosed(this.field_72555_g, this.getPlayer());
this.field_72563_h.field_71456_v.func_73827_b().func_73765_a(p_72481_1_.field_73476_b);
}
-@@ -1108,6 +1118,11 @@
+@@ -1243,6 +1252,11 @@
public void func_72494_a(Packet131MapData p_72494_1_)
{
@@ -76,7 +68,7 @@
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);
-@@ -1217,6 +1232,11 @@
+@@ -1352,6 +1366,11 @@
public void func_72501_a(Packet250CustomPayload p_72501_1_)
{
@@ -88,7 +80,7 @@
if ("MC|TPack".equals(p_72501_1_.field_73630_a))
{
String[] var2 = (new String(p_72501_1_.field_73629_c)).split("\u0000");
-@@ -1261,4 +1281,20 @@
+@@ -1396,4 +1415,20 @@
{
return this.field_72555_g;
}
diff --git a/fml/patches/minecraft/net/minecraft/src/ItemRenderer.java.patch b/fml/patches/minecraft/net/minecraft/client/renderer/ItemRenderer.java.patch
similarity index 90%
rename from fml/patches/minecraft/net/minecraft/src/ItemRenderer.java.patch
rename to fml/patches/minecraft/net/minecraft/client/renderer/ItemRenderer.java.patch
index c726aee3a..01391b37b 100644
--- a/fml/patches/minecraft/net/minecraft/src/ItemRenderer.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/renderer/ItemRenderer.java.patch
@@ -1,28 +1,27 @@
---- ../src-base/minecraft/net/minecraft/src/ItemRenderer.java
-+++ ../src-work/minecraft/net/minecraft/src/ItemRenderer.java
+--- ../src-base/minecraft/net/minecraft/client/renderer/ItemRenderer.java
++++ ../src-work/minecraft/net/minecraft/client/renderer/ItemRenderer.java
@@ -1,5 +1,6 @@
- package net.minecraft.src;
+ package net.minecraft.client.renderer;
+import cpw.mods.fml.client.TextureFXManager;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
- import net.minecraft.client.Minecraft;
-@@ -26,8 +27,12 @@
+ import net.minecraft.block.Block;
+@@ -40,7 +41,12 @@
public void func_78443_a(EntityLiving p_78443_1_, ItemStack p_78443_2_, int p_78443_3_)
{
GL11.glPushMatrix();
- Block var4 = Block.field_71973_m[p_78443_2_.field_77993_c];
--
+
+ Block var4 = null;
+ if (p_78443_2_.field_77993_c < Block.field_71973_m.length)
+ {
+ var4 = Block.field_71973_m[p_78443_2_.field_77993_c];
+ }
+
if (var4 != null && RenderBlocks.func_78597_b(var4.func_71857_b()))
{
- GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.field_78455_a.field_71446_o.func_78341_b("/terrain.png"));
-@@ -123,10 +128,17 @@
+@@ -137,10 +143,17 @@
float var10;
float var11;
@@ -44,7 +43,7 @@
var11 = var6 * var9;
p_78439_1_.func_78374_a((double)var11, 0.0D, (double)(0.0F - var7), (double)var10, (double)p_78439_5_);
p_78439_1_.func_78374_a((double)var11, 0.0D, 0.0D, (double)var10, (double)p_78439_5_);
-@@ -138,11 +150,11 @@
+@@ -152,11 +165,11 @@
p_78439_1_.func_78382_b();
p_78439_1_.func_78375_b(1.0F, 0.0F, 0.0F);
@@ -61,7 +60,7 @@
p_78439_1_.func_78374_a((double)var11, 1.0D, (double)(0.0F - var7), (double)var10, (double)p_78439_3_);
p_78439_1_.func_78374_a((double)var11, 1.0D, 0.0D, (double)var10, (double)p_78439_3_);
p_78439_1_.func_78374_a((double)var11, 0.0D, 0.0D, (double)var10, (double)p_78439_5_);
-@@ -153,11 +165,11 @@
+@@ -167,11 +180,11 @@
p_78439_1_.func_78382_b();
p_78439_1_.func_78375_b(0.0F, 1.0F, 0.0F);
@@ -78,7 +77,7 @@
p_78439_1_.func_78374_a(0.0D, (double)var11, 0.0D, (double)p_78439_2_, (double)var10);
p_78439_1_.func_78374_a((double)var6, (double)var11, 0.0D, (double)p_78439_4_, (double)var10);
p_78439_1_.func_78374_a((double)var6, (double)var11, (double)(0.0F - var7), (double)p_78439_4_, (double)var10);
-@@ -168,10 +180,10 @@
+@@ -182,10 +195,10 @@
p_78439_1_.func_78382_b();
p_78439_1_.func_78375_b(0.0F, -1.0F, 0.0F);
diff --git a/fml/patches/minecraft/net/minecraft/src/RenderBlocks.java.patch b/fml/patches/minecraft/net/minecraft/client/renderer/RenderBlocks.java.patch
similarity index 94%
rename from fml/patches/minecraft/net/minecraft/src/RenderBlocks.java.patch
rename to fml/patches/minecraft/net/minecraft/client/renderer/RenderBlocks.java.patch
index af3bc9706..056ddecaf 100644
--- a/fml/patches/minecraft/net/minecraft/src/RenderBlocks.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/renderer/RenderBlocks.java.patch
@@ -1,10 +1,19 @@
---- ../src-base/minecraft/net/minecraft/src/RenderBlocks.java
-+++ ../src-work/minecraft/net/minecraft/src/RenderBlocks.java
-@@ -184,7 +184,81 @@
+--- ../src-base/minecraft/net/minecraft/client/renderer/RenderBlocks.java
++++ ../src-work/minecraft/net/minecraft/client/renderer/RenderBlocks.java
+@@ -29,6 +29,7 @@
+ import net.minecraft.block.BlockWall;
+ import net.minecraft.block.material.Material;
+ import net.minecraft.client.Minecraft;
++import net.minecraft.src.FMLRenderAccessLibrary;
+ import net.minecraft.util.Direction;
+ import net.minecraft.util.MathHelper;
+ import net.minecraft.util.Vec3;
+@@ -215,7 +216,82 @@
int var5 = p_78612_1_.func_71857_b();
p_78612_1_.func_71902_a(this.field_78669_a, p_78612_2_, p_78612_3_, p_78612_4_);
this.func_83018_a(p_78612_1_);
- return var5 == 0 ? this.func_78570_q(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 31 ? this.func_78581_r(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 4 ? this.func_78621_p(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 13 ? this.func_78584_s(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 1 ? this.func_78620_l(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 19 ? this.func_78603_m(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 23 ? this.func_78566_o(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 6 ? this.func_78614_n(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 2 ? this.func_78572_c(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 3 ? this.func_78590_h(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 5 ? this.func_78589_i(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 8 ? this.func_78576_j(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 7 ? this.func_78601_u(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 9 ? this.func_78586_a((BlockRail)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 10 ? this.func_78565_t((BlockStairs)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 27 ? this.func_78618_a((BlockDragonEgg)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 11 ? this.func_78582_a((BlockFence)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 32 ? this.func_82779_a((BlockWall)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 12 ? this.func_78594_e(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 29 ? this.func_78577_f(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 30 ? this.func_78619_g(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 14 ? this.func_78574_w(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 15 ? this.func_78610_x(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 16 ? this.func_78593_b(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_, false) : (var5 == 17 ? this.func_78608_c(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_, true) : (var5 == 18 ? this.func_78592_a((BlockPane)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 20 ? this.func_78598_k(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 21 ? this.func_78580_a((BlockFenceGate)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 24 ? this.func_78615_a((BlockCauldron)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 33 ? this.func_82780_a((BlockFlowerPot)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 35 ? this.func_82775_a((BlockAnvil)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 25 ? this.func_78585_a((BlockBrewingStand)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 26 ? this.func_78567_v(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 28 ? this.func_78616_a((BlockCocoa)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : (var5 == 34 ? this.func_82778_a((BlockBeacon)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_) : false))))))))))))))))))))))))))))))))));
++
+ switch (var5)
+ {
+ case 0:
@@ -83,7 +92,7 @@
}
public boolean func_78567_v(Block p_78567_1_, int p_78567_2_, int p_78567_3_, int p_78567_4_)
-@@ -6510,6 +6584,10 @@
+@@ -6541,6 +6617,10 @@
this.func_83020_a(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
this.func_78595_a();
}
@@ -94,7 +103,7 @@
}
else
{
-@@ -6568,6 +6646,36 @@
+@@ -6599,6 +6679,36 @@
public static boolean func_78597_b(int p_78597_0_)
{
diff --git a/fml/patches/minecraft/net/minecraft/src/RenderEngine.java.patch b/fml/patches/minecraft/net/minecraft/client/renderer/RenderEngine.java.patch
similarity index 88%
rename from fml/patches/minecraft/net/minecraft/src/RenderEngine.java.patch
rename to fml/patches/minecraft/net/minecraft/client/renderer/RenderEngine.java.patch
index d87f5c738..060eda46f 100644
--- a/fml/patches/minecraft/net/minecraft/src/RenderEngine.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/renderer/RenderEngine.java.patch
@@ -1,6 +1,10 @@
---- ../src-base/minecraft/net/minecraft/src/RenderEngine.java
-+++ ../src-work/minecraft/net/minecraft/src/RenderEngine.java
-@@ -3,6 +3,7 @@
+--- ../src-base/minecraft/net/minecraft/client/renderer/RenderEngine.java
++++ ../src-work/minecraft/net/minecraft/client/renderer/RenderEngine.java
+@@ -1,8 +1,11 @@
+ package net.minecraft.client.renderer;
+
++import cpw.mods.fml.client.TextureFXManager;
++import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
import java.awt.Color;
@@ -8,7 +12,7 @@
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;
-@@ -15,8 +16,14 @@
+@@ -15,6 +18,9 @@
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -16,22 +20,18 @@
+import java.util.logging.Logger;
+
import javax.imageio.ImageIO;
- import org.lwjgl.opengl.GL11;
-+
-+import cpw.mods.fml.client.TextureFXManager;
-+import cpw.mods.fml.common.FMLLog;
-
- @SideOnly(Side.CLIENT)
- public class RenderEngine
-@@ -33,6 +40,7 @@
- public boolean field_78361_b = false;
+ import net.minecraft.client.renderer.texturefx.TextureFX;
+ import net.minecraft.client.settings.GameSettings;
+@@ -39,6 +45,8 @@
public TexturePackList field_78366_k;
private BufferedImage field_78364_l = new BufferedImage(64, 64, 2);
-+ public static Logger log = FMLLog.getLogger();
++ public static Logger log = FMLLog.getLogger();
++
public RenderEngine(TexturePackList p_i3192_1_, GameSettings p_i3192_2_)
{
-@@ -97,8 +105,9 @@
+ this.field_78366_k = p_i3192_1_;
+@@ -102,8 +110,9 @@
this.field_78359_d.put(p_78346_1_, var7);
return var7;
}
@@ -43,7 +43,7 @@
var6.printStackTrace();
int[] var5 = this.func_78348_b(this.field_78364_l);
this.field_78359_d.put(p_78346_1_, var5);
-@@ -245,6 +254,7 @@
+@@ -250,6 +259,7 @@
int var3 = p_78351_1_.getWidth();
int var4 = p_78351_1_.getHeight();
@@ -51,7 +51,7 @@
int[] var5 = new int[var3 * var4];
byte[] var6 = new byte[var3 * var4 * 4];
p_78351_1_.getRGB(0, 0, var3, var4, var5, 0, var3);
-@@ -405,6 +415,7 @@
+@@ -410,6 +420,7 @@
public void func_78355_a(TextureFX p_78355_1_)
{
@@ -59,7 +59,7 @@
this.field_78367_h.add(p_78355_1_);
p_78355_1_.func_76846_a();
}
-@@ -417,28 +428,44 @@
+@@ -422,28 +433,44 @@
{
TextureFX var3 = (TextureFX)this.field_78367_h.get(var2);
var3.field_76851_c = this.field_78365_j.field_74337_g;
@@ -113,7 +113,7 @@
}
}
-@@ -504,8 +531,9 @@
+@@ -509,8 +536,9 @@
this.field_78361_b = false;
this.field_78363_a = false;
}
@@ -121,11 +121,11 @@
- {
+ catch (Exception var7)
+ {
-+ log.log(Level.INFO,String.format("An error occured reading texture file %s (refreshTexture)", var9),var7);
++ log.log(Level.INFO,String.format("An error occured reading texture file %s (refreshTexture)", var9), var7);
var7.printStackTrace();
}
}
-@@ -541,8 +569,9 @@
+@@ -546,8 +574,9 @@
this.field_78361_b = false;
this.field_78363_a = false;
}
@@ -133,7 +133,7 @@
- {
+ catch (Exception var6)
+ {
-+ log.log(Level.INFO,String.format("An error occured reading texture file data %s (refreshTexture)", var9),var6);
++ log.log(Level.INFO,String.format("An error occured reading texture file data %s (refreshTexture)", var9), var6);
var6.printStackTrace();
}
}
diff --git a/fml/patches/minecraft/net/minecraft/src/TextureCompassFX.java.patch b/fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureCompassFX.java.patch
similarity index 90%
rename from fml/patches/minecraft/net/minecraft/src/TextureCompassFX.java.patch
rename to fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureCompassFX.java.patch
index 5e9d8a52b..865d609f8 100644
--- a/fml/patches/minecraft/net/minecraft/src/TextureCompassFX.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureCompassFX.java.patch
@@ -1,14 +1,14 @@
---- ../src-base/minecraft/net/minecraft/src/TextureCompassFX.java
-+++ ../src-work/minecraft/net/minecraft/src/TextureCompassFX.java
+--- ../src-base/minecraft/net/minecraft/client/renderer/texturefx/TextureCompassFX.java
++++ ../src-work/minecraft/net/minecraft/client/renderer/texturefx/TextureCompassFX.java
@@ -1,5 +1,6 @@
- package net.minecraft.src;
+ package net.minecraft.client.renderer.texturefx;
+import cpw.mods.fml.client.FMLTextureFX;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
import java.awt.image.BufferedImage;
-@@ -8,26 +9,41 @@
- import net.minecraft.client.Minecraft;
+@@ -10,13 +11,17 @@
+ import net.minecraft.util.ChunkCoordinates;
@SideOnly(Side.CLIENT)
-public class TextureCompassFX extends TextureFX
@@ -26,10 +26,10 @@
public TextureCompassFX(Minecraft p_i3212_1_)
{
- super(Item.field_77750_aQ.func_77617_a(0));
+@@ -24,12 +29,25 @@
this.field_76865_g = p_i3212_1_;
this.field_76847_f = 1;
--
+
+ setup();
+ }
+
@@ -42,6 +42,7 @@
+ stileSizeMask = tileSizeMask;
+ stileSizeSquareMask = tileSizeSquareMask;
+ field_76867_h = new int[tileSizeSquare];
++
try
{
- BufferedImage var2 = ImageIO.read(Minecraft.class.getResource("/gui/items.png"));
@@ -55,7 +56,7 @@
}
catch (IOException var5)
{
-@@ -56,7 +72,7 @@
+@@ -58,7 +76,7 @@
int var17;
int var16;
@@ -64,7 +65,7 @@
{
int var11 = var8[var10] >> 24 & 255;
int var12 = var8[var10] >> 16 & 255;
-@@ -139,11 +155,12 @@
+@@ -141,11 +159,11 @@
int var24;
int var26;
@@ -78,11 +79,10 @@
+ var17 = (int)((stileSizeBase >> 1) + 0.5D + var31 * (double)var16 * 0.3D);
+ var18 = (int)((stileSizeBase >> 1) - 0.5D - var30 * (double)var16 * 0.3D * 0.5D);
+ var19 = var18 * stileSizeBase + var17;
-+
var20 = 100;
var21 = 100;
var22 = 100;
-@@ -165,11 +182,12 @@
+@@ -167,11 +185,12 @@
var9[var19 * 4 + 3] = (byte)var23;
}
@@ -91,12 +91,12 @@
- var17 = (int)(8.5D + var30 * (double)var16 * 0.3D);
- var18 = (int)(7.5D + var31 * (double)var16 * 0.3D * 0.5D);
- var19 = var18 * 16 + var17;
++
+ for (var16 = -(stileSizeBase>>2); var16 <= stileSizeBase; ++var16)
+ {
+ var17 = (int)((stileSizeBase >> 1) + 0.5D + var30 * (double)var16 * 0.3D);
+ var18 = (int)((stileSizeBase >> 1) - 0.5D + var31 * (double)var16 * 0.3D * 0.5D);
+ var19 = var18 * stileSizeBase + var17;
-+
var20 = var16 >= 0 ? 255 : 100;
var21 = var16 >= 0 ? 20 : 100;
var22 = var16 >= 0 ? 20 : 100;
diff --git a/fml/patches/minecraft/net/minecraft/src/TextureFlamesFX.java.patch b/fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureFlamesFX.java.patch
similarity index 90%
rename from fml/patches/minecraft/net/minecraft/src/TextureFlamesFX.java.patch
rename to fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureFlamesFX.java.patch
index cff37f719..99943a0d6 100644
--- a/fml/patches/minecraft/net/minecraft/src/TextureFlamesFX.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureFlamesFX.java.patch
@@ -1,11 +1,12 @@
---- ../src-base/minecraft/net/minecraft/src/TextureFlamesFX.java
-+++ ../src-work/minecraft/net/minecraft/src/TextureFlamesFX.java
-@@ -1,17 +1,31 @@
- package net.minecraft.src;
+--- ../src-base/minecraft/net/minecraft/client/renderer/texturefx/TextureFlamesFX.java
++++ ../src-work/minecraft/net/minecraft/client/renderer/texturefx/TextureFlamesFX.java
+@@ -1,18 +1,32 @@
+ package net.minecraft.client.renderer.texturefx;
+import cpw.mods.fml.client.FMLTextureFX;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
+ import net.minecraft.block.Block;
@SideOnly(Side.CLIENT)
-public class TextureFlamesFX extends TextureFX
@@ -33,15 +34,14 @@
}
public void func_76846_a()
-@@ -20,31 +34,36 @@
+@@ -20,32 +34,34 @@
+ int var3;
float var4;
int var6;
++ float fireFactor1 = 3.0F + (float)(tileSizeBase >> 4);
++ float fireFactor2 = 1.01F + (0.8F / tileSizeBase);
- for (int var1 = 0; var1 < 16; ++var1)
-+ float fireFactor1 = 3.0F + (float)(tileSizeBase >> 4);
-+
-+ float fireFactor2 = 1.01F + (0.8F / tileSizeBase);
-+
+ for (int var1 = 0; var1 < tileSizeBase; ++var1)
{
- for (int var2 = 0; var2 < 20; ++var2)
@@ -50,7 +50,6 @@
- var3 = 18;
- var4 = this.field_76869_g[var1 + (var2 + 1) % 20 * 16] * (float)var3;
+ var3 = fireTileSize - (tileSizeBase >> 3);
-+
+ var4 = this.field_76869_g[var1 + (var2 + 1) % fireTileSize * tileSizeBase] * (float)var3;
for (int var5 = var1 - 1; var5 <= var1 + 1; ++var5)
@@ -79,7 +78,7 @@
}
}
}
-@@ -53,7 +72,7 @@
+@@ -54,7 +70,7 @@
this.field_76870_h = this.field_76869_g;
this.field_76869_g = var13;
diff --git a/fml/patches/minecraft/net/minecraft/src/TextureLavaFX.java.patch b/fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureLavaFX.java.patch
similarity index 90%
rename from fml/patches/minecraft/net/minecraft/src/TextureLavaFX.java.patch
rename to fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureLavaFX.java.patch
index 05088ccd4..2ebf3c685 100644
--- a/fml/patches/minecraft/net/minecraft/src/TextureLavaFX.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureLavaFX.java.patch
@@ -1,11 +1,13 @@
---- ../src-base/minecraft/net/minecraft/src/TextureLavaFX.java
-+++ ../src-work/minecraft/net/minecraft/src/TextureLavaFX.java
-@@ -1,10 +1,11 @@
- package net.minecraft.src;
+--- ../src-base/minecraft/net/minecraft/client/renderer/texturefx/TextureLavaFX.java
++++ ../src-work/minecraft/net/minecraft/client/renderer/texturefx/TextureLavaFX.java
+@@ -1,12 +1,13 @@
+ package net.minecraft.client.renderer.texturefx;
+import cpw.mods.fml.client.FMLTextureFX;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
+ import net.minecraft.block.Block;
+ import net.minecraft.util.MathHelper;
@SideOnly(Side.CLIENT)
-public class TextureLavaFX extends TextureFX
@@ -13,11 +15,11 @@
{
protected float[] field_76876_g = new float[256];
protected float[] field_76878_h = new float[256];
-@@ -14,6 +15,17 @@
+@@ -16,6 +17,17 @@
public TextureLavaFX()
{
super(Block.field_71944_C.field_72059_bZ);
-+ setup();
++ setup();
+ }
+
+ @Override
@@ -31,7 +33,7 @@
}
public void func_76846_a()
-@@ -26,9 +38,9 @@
+@@ -28,9 +40,9 @@
int var8;
int var9;
@@ -43,7 +45,7 @@
{
var3 = 0.0F;
int var4 = (int)(MathHelper.func_76126_a((float)var2 * (float)Math.PI * 2.0F / 16.0F) * 1.2F);
-@@ -38,25 +50,25 @@
+@@ -40,25 +52,25 @@
{
for (var7 = var2 - 1; var7 <= var2 + 1; ++var7)
{
@@ -78,7 +80,7 @@
}
}
}
-@@ -65,7 +77,7 @@
+@@ -67,7 +79,7 @@
this.field_76878_h = this.field_76876_g;
this.field_76876_g = var11;
diff --git a/fml/patches/minecraft/net/minecraft/src/TextureLavaFlowFX.java.patch b/fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureLavaFlowFX.java.patch
similarity index 90%
rename from fml/patches/minecraft/net/minecraft/src/TextureLavaFlowFX.java.patch
rename to fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureLavaFlowFX.java.patch
index 8e47c17fb..3da775ffa 100644
--- a/fml/patches/minecraft/net/minecraft/src/TextureLavaFlowFX.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureLavaFlowFX.java.patch
@@ -1,11 +1,13 @@
---- ../src-base/minecraft/net/minecraft/src/TextureLavaFlowFX.java
-+++ ../src-work/minecraft/net/minecraft/src/TextureLavaFlowFX.java
-@@ -1,10 +1,11 @@
- package net.minecraft.src;
+--- ../src-base/minecraft/net/minecraft/client/renderer/texturefx/TextureLavaFlowFX.java
++++ ../src-work/minecraft/net/minecraft/client/renderer/texturefx/TextureLavaFlowFX.java
+@@ -1,12 +1,13 @@
+ package net.minecraft.client.renderer.texturefx;
+import cpw.mods.fml.client.FMLTextureFX;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
+ import net.minecraft.block.Block;
+ import net.minecraft.util.MathHelper;
@SideOnly(Side.CLIENT)
-public class TextureLavaFlowFX extends TextureFX
@@ -13,7 +15,7 @@
{
protected float[] field_76871_g = new float[256];
protected float[] field_76874_h = new float[256];
-@@ -16,6 +17,18 @@
+@@ -18,6 +19,18 @@
{
super(Block.field_71944_C.field_72059_bZ + 1);
this.field_76849_e = 2;
@@ -32,7 +34,7 @@
}
public void func_76846_a()
-@@ -29,9 +42,9 @@
+@@ -31,9 +44,9 @@
int var8;
int var9;
@@ -44,7 +46,7 @@
{
var3 = 0.0F;
int var4 = (int)(MathHelper.func_76126_a((float)var2 * (float)Math.PI * 2.0F / 16.0F) * 1.2F);
-@@ -41,25 +54,25 @@
+@@ -43,25 +56,25 @@
{
for (var7 = var2 - 1; var7 <= var2 + 1; ++var7)
{
@@ -79,7 +81,7 @@
}
}
}
-@@ -68,9 +81,9 @@
+@@ -70,9 +83,9 @@
this.field_76874_h = this.field_76871_g;
this.field_76871_g = var11;
diff --git a/fml/patches/minecraft/net/minecraft/src/TexturePortalFX.java.patch b/fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TexturePortalFX.java.patch
similarity index 89%
rename from fml/patches/minecraft/net/minecraft/src/TexturePortalFX.java.patch
rename to fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TexturePortalFX.java.patch
index 15b10fb91..654fa2088 100644
--- a/fml/patches/minecraft/net/minecraft/src/TexturePortalFX.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TexturePortalFX.java.patch
@@ -1,12 +1,14 @@
---- ../src-base/minecraft/net/minecraft/src/TexturePortalFX.java
-+++ ../src-work/minecraft/net/minecraft/src/TexturePortalFX.java
-@@ -1,35 +1,44 @@
- package net.minecraft.src;
+--- ../src-base/minecraft/net/minecraft/client/renderer/texturefx/TexturePortalFX.java
++++ ../src-work/minecraft/net/minecraft/client/renderer/texturefx/TexturePortalFX.java
+@@ -1,5 +1,6 @@
+ package net.minecraft.client.renderer.texturefx;
+import cpw.mods.fml.client.FMLTextureFX;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
import java.util.Random;
+@@ -7,31 +8,39 @@
+ import net.minecraft.util.MathHelper;
@SideOnly(Side.CLIENT)
-public class TexturePortalFX extends TextureFX
@@ -53,7 +55,7 @@
if (var9 < -1.0F)
{
-@@ -63,7 +72,7 @@
+@@ -65,7 +74,7 @@
int var13 = (int)(var5 * var5 * 200.0F + 55.0F);
int var14 = (int)(var5 * var5 * var5 * var5 * 255.0F);
int var15 = (int)(var5 * 100.0F + 155.0F);
@@ -62,7 +64,7 @@
this.field_76854_h[var2][var16 * 4 + 0] = (byte)var13;
this.field_76854_h[var2][var16 * 4 + 1] = (byte)var14;
this.field_76854_h[var2][var16 * 4 + 2] = (byte)var6;
-@@ -78,7 +87,7 @@
+@@ -80,7 +89,7 @@
++this.field_76853_g;
byte[] var1 = this.field_76854_h[this.field_76853_g & 31];
diff --git a/fml/patches/minecraft/net/minecraft/src/TextureWatchFX.java.patch b/fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureWatchFX.java.patch
similarity index 68%
rename from fml/patches/minecraft/net/minecraft/src/TextureWatchFX.java.patch
rename to fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureWatchFX.java.patch
index 143ccf689..4d4424bc2 100644
--- a/fml/patches/minecraft/net/minecraft/src/TextureWatchFX.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureWatchFX.java.patch
@@ -1,7 +1,7 @@
---- ../src-base/minecraft/net/minecraft/src/TextureWatchFX.java
-+++ ../src-work/minecraft/net/minecraft/src/TextureWatchFX.java
-@@ -1,14 +1,20 @@
- package net.minecraft.src;
+--- ../src-base/minecraft/net/minecraft/client/renderer/texturefx/TextureWatchFX.java
++++ ../src-work/minecraft/net/minecraft/client/renderer/texturefx/TextureWatchFX.java
+@@ -1,15 +1,21 @@
+ package net.minecraft.client.renderer.texturefx;
+import cpw.mods.fml.client.FMLTextureFX;
import cpw.mods.fml.common.Side;
@@ -15,6 +15,7 @@
+
import javax.imageio.ImageIO;
import net.minecraft.client.Minecraft;
+ import net.minecraft.item.Item;
@SideOnly(Side.CLIENT)
-public class TextureWatchFX extends TextureFX
@@ -22,19 +23,20 @@
{
private Minecraft field_76860_g;
private int[] field_76863_h = new int[256];
-@@ -21,19 +27,37 @@
+@@ -22,19 +28,39 @@
super(Item.field_77752_aS.func_77617_a(0));
this.field_76860_g = p_i3214_1_;
this.field_76847_f = 1;
+ setup();
+ }
-
++
+ @Override
+ public void setup()
+ {
+ super.setup();
+ field_76863_h = new int[tileSizeSquare];
+ field_76864_i = new int[tileSizeSquare];
+
try
{
- BufferedImage var2 = ImageIO.read(Minecraft.class.getResource("/gui/items.png"));
@@ -52,7 +54,7 @@
+ {
+ BufferedImage tmp = new BufferedImage(tileSizeBase, tileSizeBase, 6);
+ Graphics2D gfx = tmp.createGraphics();
-+ gfx.drawImage(var2, 0, 0, tileSizeBase, tileSizeBase, 0, 0, var2.getWidth(), var2.getHeight(), (ImageObserver) null);
++ gfx.drawImage(var2, 0, 0, tileSizeBase, tileSizeBase, 0, 0, var2.getWidth(), var2.getHeight(), (ImageObserver)null);
+ gfx.dispose();
+ var2 = tmp;
+ }
@@ -62,22 +64,13 @@
- catch (IOException var5)
+ catch (Exception var5)
{
-- var5.printStackTrace();
+ var5.printStackTrace();
+ log.log(Level.WARNING, String.format("A problem occurred with the watch texture: animation will be disabled"), var5);
+ setErrored(true);
}
}
-@@ -44,7 +68,7 @@
- if (this.field_76860_g.field_71441_e != null && this.field_76860_g.field_71439_g != null)
- {
- float var3 = this.field_76860_g.field_71441_e.func_72826_c(1.0F);
-- var1 = (double)(-var3 * (float)Math.PI * 2.0F);
-+ var1 = (double) (-var3 * (float) Math.PI * 2.0F);
-
- if (!this.field_76860_g.field_71441_e.field_73011_w.func_76569_d())
- {
-@@ -80,7 +104,7 @@
+@@ -81,7 +107,7 @@
double var5 = Math.sin(this.field_76861_j);
double var7 = Math.cos(this.field_76861_j);
@@ -86,36 +79,21 @@
{
int var10 = this.field_76863_h[var9] >> 24 & 255;
int var11 = this.field_76863_h[var9] >> 16 & 255;
-@@ -89,12 +113,12 @@
+@@ -90,12 +116,12 @@
if (var11 == var13 && var12 == 0 && var13 > 0)
{
- double var14 = -((double)(var9 % 16) / 15.0D - 0.5D);
- double var16 = (double)(var9 / 16) / 15.0D - 0.5D;
-+ double var14 = -((double) (var9 % tileSizeBase) / tileSizeMask - 0.5D);
-+ double var16 = (double) (var9 / tileSizeBase) / tileSizeMask - 0.5D;
++ double var14 = -((double)(var9 % tileSizeBase) / tileSizeMask - 0.5D);
++ double var16 = (double)(var9 / tileSizeBase) / tileSizeMask - 0.5D;
int var18 = var11;
- int var19 = (int)((var14 * var7 + var16 * var5 + 0.5D) * 16.0D);
- int var20 = (int)((var16 * var7 - var14 * var5 + 0.5D) * 16.0D);
- int var21 = (var19 & 15) + (var20 & 15) * 16;
-+ int var19 = (int) ((var14 * var7 + var16 * var5 + 0.5D) * tileSizeBase);
-+ int var20 = (int) ((var16 * var7 - var14 * var5 + 0.5D) * tileSizeBase);
++ int var19 = (int)((var14 * var7 + var16 * var5 + 0.5D) * tileSizeBase);
++ int var20 = (int)((var16 * var7 - var14 * var5 + 0.5D) * tileSizeBase);
+ int var21 = (var19 & tileSizeMask) + (var20 & tileSizeMask) * tileSizeBase;
var10 = this.field_76864_i[var21] >> 24 & 255;
var11 = (this.field_76864_i[var21] >> 16 & 255) * var11 / 255;
var12 = (this.field_76864_i[var21] >> 8 & 255) * var18 / 255;
-@@ -111,10 +135,10 @@
- var13 = var24;
- }
-
-- this.field_76852_a[var9 * 4 + 0] = (byte)var11;
-- this.field_76852_a[var9 * 4 + 1] = (byte)var12;
-- this.field_76852_a[var9 * 4 + 2] = (byte)var13;
-- this.field_76852_a[var9 * 4 + 3] = (byte)var10;
-+ this.field_76852_a[var9 * 4 + 0] = (byte) var11;
-+ this.field_76852_a[var9 * 4 + 1] = (byte) var12;
-+ this.field_76852_a[var9 * 4 + 2] = (byte) var13;
-+ this.field_76852_a[var9 * 4 + 3] = (byte) var10;
- }
- }
- }
diff --git a/fml/patches/minecraft/net/minecraft/src/TextureWaterFX.java.patch b/fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureWaterFX.java.patch
similarity index 90%
rename from fml/patches/minecraft/net/minecraft/src/TextureWaterFX.java.patch
rename to fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureWaterFX.java.patch
index d87585b09..2c9d76e03 100644
--- a/fml/patches/minecraft/net/minecraft/src/TextureWaterFX.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureWaterFX.java.patch
@@ -1,11 +1,12 @@
---- ../src-base/minecraft/net/minecraft/src/TextureWaterFX.java
-+++ ../src-work/minecraft/net/minecraft/src/TextureWaterFX.java
-@@ -1,10 +1,11 @@
- package net.minecraft.src;
+--- ../src-base/minecraft/net/minecraft/client/renderer/texturefx/TextureWaterFX.java
++++ ../src-work/minecraft/net/minecraft/client/renderer/texturefx/TextureWaterFX.java
+@@ -1,11 +1,12 @@
+ package net.minecraft.client.renderer.texturefx;
+import cpw.mods.fml.client.FMLTextureFX;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
+ import net.minecraft.block.Block;
@SideOnly(Side.CLIENT)
-public class TextureWaterFX extends TextureFX
@@ -13,13 +14,13 @@
{
protected float[] field_76855_g = new float[256];
protected float[] field_76858_h = new float[256];
-@@ -15,8 +16,20 @@
+@@ -16,6 +17,18 @@
public TextureWaterFX()
{
super(Block.field_71942_A.field_72059_bZ);
+ setup();
- }
-
++ }
++
+ @Override
+ public void setup()
+ {
@@ -29,12 +30,10 @@
+ field_76859_i = new float[tileSizeSquare];
+ field_76856_j = new float[tileSizeSquare];
+ field_76857_k = 0;
-+ }
-+
+ }
+
public void func_76846_a()
- {
- ++this.field_76857_k;
-@@ -26,39 +39,39 @@
+@@ -27,39 +40,39 @@
int var5;
int var6;
@@ -87,7 +86,7 @@
}
}
}
-@@ -67,7 +80,7 @@
+@@ -68,7 +81,7 @@
this.field_76858_h = this.field_76855_g;
this.field_76855_g = var12;
diff --git a/fml/patches/minecraft/net/minecraft/src/TextureWaterFlowFX.java.patch b/fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureWaterFlowFX.java.patch
similarity index 90%
rename from fml/patches/minecraft/net/minecraft/src/TextureWaterFlowFX.java.patch
rename to fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureWaterFlowFX.java.patch
index 3120c2c60..7dbb8055d 100644
--- a/fml/patches/minecraft/net/minecraft/src/TextureWaterFlowFX.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/renderer/texturefx/TextureWaterFlowFX.java.patch
@@ -1,11 +1,12 @@
---- ../src-base/minecraft/net/minecraft/src/TextureWaterFlowFX.java
-+++ ../src-work/minecraft/net/minecraft/src/TextureWaterFlowFX.java
-@@ -1,10 +1,11 @@
- package net.minecraft.src;
+--- ../src-base/minecraft/net/minecraft/client/renderer/texturefx/TextureWaterFlowFX.java
++++ ../src-work/minecraft/net/minecraft/client/renderer/texturefx/TextureWaterFlowFX.java
+@@ -1,11 +1,12 @@
+ package net.minecraft.client.renderer.texturefx;
+import cpw.mods.fml.client.FMLTextureFX;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
+ import net.minecraft.block.Block;
@SideOnly(Side.CLIENT)
-public class TextureWaterFlowFX extends TextureFX
@@ -13,7 +14,7 @@
{
protected float[] field_76880_g = new float[256];
protected float[] field_76883_h = new float[256];
-@@ -16,6 +17,18 @@
+@@ -17,6 +18,18 @@
{
super(Block.field_71942_A.field_72059_bZ + 1);
this.field_76849_e = 2;
@@ -32,7 +33,7 @@
}
public void func_76846_a()
-@@ -27,39 +40,39 @@
+@@ -28,39 +41,39 @@
int var5;
int var6;
@@ -85,7 +86,7 @@
}
}
}
-@@ -68,9 +81,9 @@
+@@ -69,9 +82,9 @@
this.field_76883_h = this.field_76880_g;
this.field_76880_g = var12;
diff --git a/fml/patches/minecraft/net/minecraft/src/GameSettings.java.patch b/fml/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch
similarity index 64%
rename from fml/patches/minecraft/net/minecraft/src/GameSettings.java.patch
rename to fml/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch
index a90b05324..23200470e 100644
--- a/fml/patches/minecraft/net/minecraft/src/GameSettings.java.patch
+++ b/fml/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch
@@ -1,13 +1,13 @@
---- ../src-base/minecraft/net/minecraft/src/GameSettings.java
-+++ ../src-work/minecraft/net/minecraft/src/GameSettings.java
+--- ../src-base/minecraft/net/minecraft/client/settings/GameSettings.java
++++ ../src-work/minecraft/net/minecraft/client/settings/GameSettings.java
@@ -1,5 +1,6 @@
- package net.minecraft.src;
+ package net.minecraft.client.settings;
+import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
import java.io.BufferedReader;
-@@ -604,6 +605,7 @@
+@@ -607,6 +608,7 @@
public void func_74303_b()
{
diff --git a/fml/patches/minecraft/net/minecraft/crash/CallableSuspiciousClasses.java.patch b/fml/patches/minecraft/net/minecraft/crash/CallableSuspiciousClasses.java.patch
new file mode 100644
index 000000000..7db5c9549
--- /dev/null
+++ b/fml/patches/minecraft/net/minecraft/crash/CallableSuspiciousClasses.java.patch
@@ -0,0 +1,10 @@
+--- ../src-base/minecraft/net/minecraft/crash/CallableSuspiciousClasses.java
++++ ../src-work/minecraft/net/minecraft/crash/CallableSuspiciousClasses.java
+@@ -130,6 +130,6 @@
+
+ public Object call()
+ {
+- return this.func_85085_a();
++ return "FML is installed";
+ }
+ }
diff --git a/fml/patches/common/net/minecraft/src/CrashReport.java.patch b/fml/patches/minecraft/net/minecraft/crash/CrashReport.java.patch
similarity index 76%
rename from fml/patches/common/net/minecraft/src/CrashReport.java.patch
rename to fml/patches/minecraft/net/minecraft/crash/CrashReport.java.patch
index 1c935981d..27072e989 100644
--- a/fml/patches/common/net/minecraft/src/CrashReport.java.patch
+++ b/fml/patches/minecraft/net/minecraft/crash/CrashReport.java.patch
@@ -1,13 +1,13 @@
---- ../src-base/common/net/minecraft/src/CrashReport.java
-+++ ../src-work/common/net/minecraft/src/CrashReport.java
+--- ../src-base/minecraft/net/minecraft/crash/CrashReport.java
++++ ../src-work/minecraft/net/minecraft/crash/CrashReport.java
@@ -1,5 +1,6 @@
- package net.minecraft.src;
+ package net.minecraft.crash;
+import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
import java.io.File;
-@@ -43,6 +44,7 @@
+@@ -44,6 +45,7 @@
this.field_85061_c.func_71500_a("AABB Pool Size", new CallableCrashMemoryReport(this));
this.field_85061_c.func_71500_a("Suspicious classes", new CallableSuspiciousClasses(this));
this.field_85061_c.func_71500_a("IntCache", new CallableIntCache(this));
diff --git a/fml/patches/common/net/minecraft/src/EntityList.java.patch b/fml/patches/minecraft/net/minecraft/entity/EntityList.java.patch
similarity index 77%
rename from fml/patches/common/net/minecraft/src/EntityList.java.patch
rename to fml/patches/minecraft/net/minecraft/entity/EntityList.java.patch
index 4d38cda42..19cdc4721 100644
--- a/fml/patches/common/net/minecraft/src/EntityList.java.patch
+++ b/fml/patches/minecraft/net/minecraft/entity/EntityList.java.patch
@@ -1,5 +1,5 @@
---- ../src-base/common/net/minecraft/src/EntityList.java
-+++ ../src-work/common/net/minecraft/src/EntityList.java
+--- ../src-base/minecraft/net/minecraft/entity/EntityList.java
++++ ../src-work/minecraft/net/minecraft/entity/EntityList.java
@@ -3,6 +3,9 @@
import java.util.HashMap;
import java.util.LinkedHashMap;
@@ -7,14 +7,13 @@
+import java.util.logging.Level;
+
+import cpw.mods.fml.common.FMLLog;
-
- public class EntityList
- {
-@@ -52,10 +55,10 @@
- public static Entity func_75615_a(NBTTagCompound p_75615_0_, World p_75615_1_)
+ import net.minecraft.entity.boss.EntityDragon;
+ import net.minecraft.entity.boss.EntityWither;
+ import net.minecraft.entity.item.EntityBoat;
+@@ -102,9 +105,10 @@
{
Entity var2 = null;
--
+
+ Class var3 = null;
try
{
@@ -23,7 +22,7 @@
if (var3 != null)
{
-@@ -69,7 +72,17 @@
+@@ -118,7 +122,17 @@
if (var2 != null)
{
diff --git a/fml/patches/common/net/minecraft/src/EntityTracker.java.patch b/fml/patches/minecraft/net/minecraft/entity/EntityTracker.java.patch
similarity index 59%
rename from fml/patches/common/net/minecraft/src/EntityTracker.java.patch
rename to fml/patches/minecraft/net/minecraft/entity/EntityTracker.java.patch
index 44a6127d7..4f77c6325 100644
--- a/fml/patches/common/net/minecraft/src/EntityTracker.java.patch
+++ b/fml/patches/minecraft/net/minecraft/entity/EntityTracker.java.patch
@@ -1,15 +1,15 @@
---- ../src-base/common/net/minecraft/src/EntityTracker.java
-+++ ../src-work/common/net/minecraft/src/EntityTracker.java
+--- ../src-base/minecraft/net/minecraft/entity/EntityTracker.java
++++ ../src-work/minecraft/net/minecraft/entity/EntityTracker.java
@@ -4,6 +4,8 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
+
+import cpw.mods.fml.common.registry.EntityRegistry;
-
- public class EntityTracker
- {
-@@ -20,6 +22,10 @@
+ import net.minecraft.entity.boss.EntityDragon;
+ import net.minecraft.entity.boss.EntityWither;
+ import net.minecraft.entity.item.EntityBoat;
+@@ -49,6 +51,11 @@
public void func_72786_a(Entity p_72786_1_)
{
@@ -17,6 +17,7 @@
+ {
+ return;
+ }
++
if (p_72786_1_ instanceof EntityPlayerMP)
{
this.func_72791_a(p_72786_1_, 512, 2);
diff --git a/fml/patches/common/net/minecraft/src/EntityTrackerEntry.java.patch b/fml/patches/minecraft/net/minecraft/entity/EntityTrackerEntry.java.patch
similarity index 76%
rename from fml/patches/common/net/minecraft/src/EntityTrackerEntry.java.patch
rename to fml/patches/minecraft/net/minecraft/entity/EntityTrackerEntry.java.patch
index 43d1538fb..15916a680 100644
--- a/fml/patches/common/net/minecraft/src/EntityTrackerEntry.java.patch
+++ b/fml/patches/minecraft/net/minecraft/entity/EntityTrackerEntry.java.patch
@@ -1,18 +1,19 @@
---- ../src-base/common/net/minecraft/src/EntityTrackerEntry.java
-+++ ../src-work/common/net/minecraft/src/EntityTrackerEntry.java
+--- ../src-base/minecraft/net/minecraft/entity/EntityTrackerEntry.java
++++ ../src-work/minecraft/net/minecraft/entity/EntityTrackerEntry.java
@@ -4,6 +4,8 @@
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+
+import cpw.mods.fml.common.network.FMLNetworkHandler;
-
- public class EntityTrackerEntry
- {
-@@ -304,6 +306,13 @@
+ import net.minecraft.entity.boss.EntityDragon;
+ import net.minecraft.entity.item.EntityBoat;
+ import net.minecraft.entity.item.EntityEnderCrystal;
+@@ -351,6 +353,14 @@
+ this.field_73137_j = this.field_73132_a.field_70159_w;
this.field_73138_k = this.field_73132_a.field_70181_x;
this.field_73135_l = this.field_73132_a.field_70179_y;
-
++
+ int posX = MathHelper.func_76128_c(this.field_73132_a.field_70165_t * 32.0D);
+ int posY = MathHelper.func_76128_c(this.field_73132_a.field_70163_u * 32.0D);
+ int posZ = MathHelper.func_76128_c(this.field_73132_a.field_70161_v * 32.0D);
@@ -20,10 +21,10 @@
+ {
+ FMLNetworkHandler.makeEntitySpawnAdjustment(this.field_73132_a.field_70157_k, p_73117_1_, this.field_73128_d, this.field_73129_e, this.field_73126_f);
+ }
+
if (this.field_73143_t && !(var6 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));
-@@ -376,6 +385,13 @@
+@@ -424,6 +434,13 @@
if (this.field_73132_a.field_70128_L)
{
System.out.println("Fetching addPacket for removed entity");
diff --git a/fml/patches/common/net/minecraft/src/EntityItem.java.patch b/fml/patches/minecraft/net/minecraft/entity/item/EntityItem.java.patch
similarity index 60%
rename from fml/patches/common/net/minecraft/src/EntityItem.java.patch
rename to fml/patches/minecraft/net/minecraft/entity/item/EntityItem.java.patch
index e0fbfd76a..4076ec9c5 100644
--- a/fml/patches/common/net/minecraft/src/EntityItem.java.patch
+++ b/fml/patches/minecraft/net/minecraft/entity/item/EntityItem.java.patch
@@ -1,15 +1,15 @@
---- ../src-base/common/net/minecraft/src/EntityItem.java
-+++ ../src-work/common/net/minecraft/src/EntityItem.java
+--- ../src-base/minecraft/net/minecraft/entity/item/EntityItem.java
++++ ../src-work/minecraft/net/minecraft/entity/item/EntityItem.java
@@ -1,6 +1,8 @@
- package net.minecraft.src;
+ package net.minecraft.entity.item;
import java.util.Iterator;
+
+import cpw.mods.fml.common.registry.GameRegistry;
-
- public class EntityItem extends Entity
- {
-@@ -245,6 +247,8 @@
+ import net.minecraft.block.Block;
+ import net.minecraft.block.material.Material;
+ import net.minecraft.entity.Entity;
+@@ -257,6 +259,8 @@
p_70100_1_.func_71029_a(AchievementList.field_76027_z);
}
diff --git a/fml/patches/common/net/minecraft/src/EntitySlime.java.patch b/fml/patches/minecraft/net/minecraft/entity/monster/EntitySlime.java.patch
similarity index 73%
rename from fml/patches/common/net/minecraft/src/EntitySlime.java.patch
rename to fml/patches/minecraft/net/minecraft/entity/monster/EntitySlime.java.patch
index 97c8403d0..f450530f9 100644
--- a/fml/patches/common/net/minecraft/src/EntitySlime.java.patch
+++ b/fml/patches/minecraft/net/minecraft/entity/monster/EntitySlime.java.patch
@@ -1,6 +1,6 @@
---- ../src-base/common/net/minecraft/src/EntitySlime.java
-+++ ../src-work/common/net/minecraft/src/EntitySlime.java
-@@ -231,7 +231,7 @@
+--- ../src-base/minecraft/net/minecraft/entity/monster/EntitySlime.java
++++ ../src-work/minecraft/net/minecraft/entity/monster/EntitySlime.java
+@@ -242,7 +242,7 @@
{
Chunk var1 = this.field_70170_p.func_72938_d(MathHelper.func_76128_c(this.field_70165_t), MathHelper.func_76128_c(this.field_70161_v));
diff --git a/fml/patches/common/net/minecraft/src/EntityVillager.java.patch b/fml/patches/minecraft/net/minecraft/entity/passive/EntityVillager.java.patch
similarity index 82%
rename from fml/patches/common/net/minecraft/src/EntityVillager.java.patch
rename to fml/patches/minecraft/net/minecraft/entity/passive/EntityVillager.java.patch
index a2c7f3228..462a85320 100644
--- a/fml/patches/common/net/minecraft/src/EntityVillager.java.patch
+++ b/fml/patches/minecraft/net/minecraft/entity/passive/EntityVillager.java.patch
@@ -1,5 +1,5 @@
---- ../src-base/common/net/minecraft/src/EntityVillager.java
-+++ ../src-work/common/net/minecraft/src/EntityVillager.java
+--- ../src-base/minecraft/net/minecraft/entity/passive/EntityVillager.java
++++ ../src-work/minecraft/net/minecraft/entity/passive/EntityVillager.java
@@ -2,6 +2,8 @@
import cpw.mods.fml.common.Side;
@@ -9,7 +9,7 @@
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
-@@ -202,7 +204,7 @@
+@@ -239,7 +241,7 @@
case 4:
return "/mob/villager/butcher.png";
default:
@@ -18,7 +18,7 @@
}
}
-@@ -383,6 +385,7 @@
+@@ -420,6 +422,7 @@
MerchantRecipeList var2;
var2 = new MerchantRecipeList();
@@ -26,7 +26,7 @@
label48:
switch (this.func_70946_n())
-@@ -587,7 +590,7 @@
+@@ -624,7 +627,7 @@
public void func_82163_bD()
{
diff --git a/fml/patches/common/net/minecraft/src/EntityPlayer.java.patch b/fml/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch
similarity index 75%
rename from fml/patches/common/net/minecraft/src/EntityPlayer.java.patch
rename to fml/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch
index 628fa1ac2..d309d7e3f 100644
--- a/fml/patches/common/net/minecraft/src/EntityPlayer.java.patch
+++ b/fml/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch
@@ -1,7 +1,7 @@
---- ../src-base/common/net/minecraft/src/EntityPlayer.java
-+++ ../src-work/common/net/minecraft/src/EntityPlayer.java
+--- ../src-base/minecraft/net/minecraft/entity/player/EntityPlayer.java
++++ ../src-work/minecraft/net/minecraft/entity/player/EntityPlayer.java
@@ -1,7 +1,10 @@
- package net.minecraft.src;
+ package net.minecraft.entity.player;
+import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Side;
@@ -10,8 +10,8 @@
+
import java.util.Iterator;
import java.util.List;
-
-@@ -125,6 +128,7 @@
+ import net.minecraft.block.Block;
+@@ -172,6 +175,7 @@
public void func_70071_h_()
{
@@ -19,7 +19,7 @@
if (this.field_71074_e != null)
{
ItemStack var1 = this.field_71071_by.func_70448_g();
-@@ -248,6 +252,7 @@
+@@ -295,6 +299,7 @@
{
this.field_71100_bB.func_75118_a(this);
}
@@ -27,7 +27,7 @@
}
public int func_82145_z()
-@@ -1755,4 +1760,9 @@
+@@ -1802,4 +1807,9 @@
{
return this.func_82241_s(1);
}
diff --git a/fml/patches/common/net/minecraft/src/SlotCrafting.java.patch b/fml/patches/minecraft/net/minecraft/inventory/SlotCrafting.java.patch
similarity index 51%
rename from fml/patches/common/net/minecraft/src/SlotCrafting.java.patch
rename to fml/patches/minecraft/net/minecraft/inventory/SlotCrafting.java.patch
index d3469ef1d..88648e880 100644
--- a/fml/patches/common/net/minecraft/src/SlotCrafting.java.patch
+++ b/fml/patches/minecraft/net/minecraft/inventory/SlotCrafting.java.patch
@@ -1,13 +1,13 @@
---- ../src-base/common/net/minecraft/src/SlotCrafting.java
-+++ ../src-work/common/net/minecraft/src/SlotCrafting.java
-@@ -1,4 +1,6 @@
- package net.minecraft.src;
-+
-+import cpw.mods.fml.common.registry.GameRegistry;
+--- ../src-base/minecraft/net/minecraft/inventory/SlotCrafting.java
++++ ../src-work/minecraft/net/minecraft/inventory/SlotCrafting.java
+@@ -1,5 +1,6 @@
+ package net.minecraft.inventory;
- public class SlotCrafting extends Slot
- {
-@@ -83,6 +85,7 @@
++import cpw.mods.fml.common.registry.GameRegistry;
+ import net.minecraft.block.Block;
+ import net.minecraft.entity.player.EntityPlayer;
+ import net.minecraft.item.Item;
+@@ -89,6 +90,7 @@
public void func_82870_a(EntityPlayer p_82870_1_, ItemStack p_82870_2_)
{
diff --git a/fml/patches/minecraft/net/minecraft/inventory/SlotFurnace.java.patch b/fml/patches/minecraft/net/minecraft/inventory/SlotFurnace.java.patch
new file mode 100644
index 000000000..38f8366c3
--- /dev/null
+++ b/fml/patches/minecraft/net/minecraft/inventory/SlotFurnace.java.patch
@@ -0,0 +1,18 @@
+--- ../src-base/minecraft/net/minecraft/inventory/SlotFurnace.java
++++ ../src-work/minecraft/net/minecraft/inventory/SlotFurnace.java
+@@ -1,5 +1,6 @@
+ package net.minecraft.inventory;
+
++import cpw.mods.fml.common.registry.GameRegistry;
+ import net.minecraft.entity.item.EntityXPOrb;
+ import net.minecraft.entity.player.EntityPlayer;
+ import net.minecraft.item.Item;
+@@ -82,6 +83,8 @@
+
+ this.field_75228_b = 0;
+
++ GameRegistry.onItemSmelted(field_75229_a, p_75208_1_);
++
+ if (p_75208_1_.field_77993_c == Item.field_77703_o.field_77779_bT)
+ {
+ this.field_75229_a.func_71064_a(AchievementList.field_76016_k, 1);
diff --git a/fml/patches/minecraft/net/minecraft/item/Item.java.patch b/fml/patches/minecraft/net/minecraft/item/Item.java.patch
new file mode 100644
index 000000000..2fc3cc027
--- /dev/null
+++ b/fml/patches/minecraft/net/minecraft/item/Item.java.patch
@@ -0,0 +1,20 @@
+--- ../src-base/minecraft/net/minecraft/item/Item.java
++++ ../src-work/minecraft/net/minecraft/item/Item.java
+@@ -2,6 +2,8 @@
+
+ import cpw.mods.fml.common.Side;
+ import cpw.mods.fml.common.asm.SideOnly;
++import cpw.mods.fml.common.registry.GameData;
++
+ import java.util.List;
+ import java.util.Random;
+ import net.minecraft.block.Block;
+@@ -204,6 +206,8 @@
+ }
+
+ field_77698_e[256 + p_i3659_1_] = this;
++
++ GameData.newItemAdded(this);
+ }
+
+ public Item func_77665_c(int p_77665_1_)
diff --git a/fml/patches/common/net/minecraft/src/ItemMap.java.patch b/fml/patches/minecraft/net/minecraft/item/ItemMap.java.patch
similarity index 79%
rename from fml/patches/common/net/minecraft/src/ItemMap.java.patch
rename to fml/patches/minecraft/net/minecraft/item/ItemMap.java.patch
index 1a549cfcd..0e808a8aa 100644
--- a/fml/patches/common/net/minecraft/src/ItemMap.java.patch
+++ b/fml/patches/minecraft/net/minecraft/item/ItemMap.java.patch
@@ -1,6 +1,6 @@
---- ../src-base/common/net/minecraft/src/ItemMap.java
-+++ ../src-work/common/net/minecraft/src/ItemMap.java
-@@ -41,7 +41,7 @@
+--- ../src-base/minecraft/net/minecraft/item/ItemMap.java
++++ ../src-work/minecraft/net/minecraft/item/ItemMap.java
+@@ -52,7 +52,7 @@
int var5 = 128 * (1 << var4.field_76197_d);
var4.field_76201_a = Math.round((float)p_77873_2_.func_72912_H().func_76079_c() / (float)var5) * var5;
var4.field_76199_b = Math.round((float)(p_77873_2_.func_72912_H().func_76074_e() / var5)) * var5;
diff --git a/fml/patches/minecraft/net/minecraft/network/MemoryConnection.java.patch b/fml/patches/minecraft/net/minecraft/network/MemoryConnection.java.patch
new file mode 100644
index 000000000..cf2f2df30
--- /dev/null
+++ b/fml/patches/minecraft/net/minecraft/network/MemoryConnection.java.patch
@@ -0,0 +1,19 @@
+--- ../src-base/minecraft/net/minecraft/network/MemoryConnection.java
++++ ../src-work/minecraft/net/minecraft/network/MemoryConnection.java
+@@ -2,6 +2,8 @@
+
+ import cpw.mods.fml.common.Side;
+ import cpw.mods.fml.common.asm.SideOnly;
++import cpw.mods.fml.common.network.FMLNetworkHandler;
++
+ import java.io.IOException;
+ import java.net.InetSocketAddress;
+ import java.net.SocketAddress;
+@@ -73,6 +75,7 @@
+ if (this.field_74441_e && this.field_74442_b.isEmpty())
+ {
+ this.field_74440_d.func_72515_a(this.field_74438_f, this.field_74439_g);
++ FMLNetworkHandler.onConnectionClosed(this, this.field_74440_d.getPlayer());
+ }
+ }
+
diff --git a/fml/patches/common/net/minecraft/src/NetLoginHandler.java.patch b/fml/patches/minecraft/net/minecraft/network/NetLoginHandler.java.patch
similarity index 62%
rename from fml/patches/common/net/minecraft/src/NetLoginHandler.java.patch
rename to fml/patches/minecraft/net/minecraft/network/NetLoginHandler.java.patch
index 7bce33e4a..083733344 100644
--- a/fml/patches/common/net/minecraft/src/NetLoginHandler.java.patch
+++ b/fml/patches/minecraft/net/minecraft/network/NetLoginHandler.java.patch
@@ -1,15 +1,22 @@
---- ../src-base/common/net/minecraft/src/NetLoginHandler.java
-+++ ../src-work/common/net/minecraft/src/NetLoginHandler.java
-@@ -12,6 +12,8 @@
+--- ../src-base/minecraft/net/minecraft/network/NetLoginHandler.java
++++ ../src-work/minecraft/net/minecraft/network/NetLoginHandler.java
+@@ -12,11 +12,15 @@
import java.util.Random;
import java.util.logging.Logger;
import javax.crypto.SecretKey;
+
+import cpw.mods.fml.common.network.FMLNetworkHandler;
- import net.minecraft.server.MinecraftServer;
-
- public class NetLoginHandler extends NetHandler
-@@ -42,7 +44,7 @@
++import net.minecraft.entity.player.EntityPlayer;
+ import net.minecraft.entity.player.EntityPlayerMP;
+ import net.minecraft.network.packet.NetHandler;
+ import net.minecraft.network.packet.Packet;
+ import net.minecraft.network.packet.Packet1Login;
+ import net.minecraft.network.packet.Packet205ClientCommand;
++import net.minecraft.network.packet.Packet250CustomPayload;
+ import net.minecraft.network.packet.Packet252SharedKey;
+ import net.minecraft.network.packet.Packet253ServerAuthData;
+ import net.minecraft.network.packet.Packet254ServerPing;
+@@ -55,7 +59,7 @@
this.func_72529_d();
}
@@ -18,31 +25,32 @@
{
this.func_72527_a("Took too long to log in");
}
-@@ -128,12 +130,17 @@
+@@ -141,11 +145,18 @@
}
}
- public void func_72455_a(Packet1Login p_72455_1_) {}
-+ public void func_72455_a(Packet1Login p_72455_1_) {
++ public void func_72455_a(Packet1Login p_72455_1_)
++ {
+ FMLNetworkHandler.handleLoginPacketOnServer(this, p_72455_1_);
+ }
public void func_72529_d()
{
- String var1 = this.field_72534_f.func_71203_ab().func_72399_a(this.field_72538_b.func_74430_c(), this.field_72543_h);
--
+ FMLNetworkHandler.onConnectionReceivedFromClient(this, this.field_72534_f, this.field_72538_b.func_74430_c(), this.field_72543_h);
+ }
+
+ public void completeConnection(String var1)
+ {
+
if (var1 != null)
{
- this.func_72527_a(var1);
-@@ -250,4 +257,20 @@
+@@ -263,4 +274,21 @@
{
return p_72531_0_.field_72544_i = p_72531_1_;
}
++
+
+ public void func_72501_a(Packet250CustomPayload p_72501_1_)
+ {
diff --git a/fml/patches/common/net/minecraft/src/NetServerHandler.java.patch b/fml/patches/minecraft/net/minecraft/network/NetServerHandler.java.patch
similarity index 58%
rename from fml/patches/common/net/minecraft/src/NetServerHandler.java.patch
rename to fml/patches/minecraft/net/minecraft/network/NetServerHandler.java.patch
index 22f5bc3a9..a8d2ae1ff 100644
--- a/fml/patches/common/net/minecraft/src/NetServerHandler.java.patch
+++ b/fml/patches/minecraft/net/minecraft/network/NetServerHandler.java.patch
@@ -1,15 +1,23 @@
---- ../src-base/common/net/minecraft/src/NetServerHandler.java
-+++ ../src-work/common/net/minecraft/src/NetServerHandler.java
+--- ../src-base/minecraft/net/minecraft/network/NetServerHandler.java
++++ ../src-work/minecraft/net/minecraft/network/NetServerHandler.java
@@ -7,6 +7,8 @@
import java.util.Iterator;
import java.util.Random;
import java.util.logging.Logger;
+
+import cpw.mods.fml.common.network.FMLNetworkHandler;
- import net.minecraft.server.MinecraftServer;
-
- public class NetServerHandler extends NetHandler
-@@ -576,6 +578,7 @@
+ import net.minecraft.entity.Entity;
+ import net.minecraft.entity.item.EntityItem;
+ import net.minecraft.entity.player.EntityPlayerMP;
+@@ -32,6 +34,7 @@
+ import net.minecraft.network.packet.Packet108EnchantItem;
+ import net.minecraft.network.packet.Packet10Flying;
+ import net.minecraft.network.packet.Packet130UpdateSign;
++import net.minecraft.network.packet.Packet131MapData;
+ import net.minecraft.network.packet.Packet13PlayerLookMove;
+ import net.minecraft.network.packet.Packet14BlockDig;
+ import net.minecraft.network.packet.Packet15Place;
+@@ -628,6 +631,7 @@
public void func_72481_a(Packet3Chat p_72481_1_)
{
@@ -17,7 +25,7 @@
if (this.field_72574_e.func_71126_v() == 2)
{
this.func_72567_b(new Packet3Chat("Cannot send chat message."));
-@@ -941,6 +944,11 @@
+@@ -993,6 +997,11 @@
}
public void func_72501_a(Packet250CustomPayload p_72501_1_)
@@ -29,10 +37,11 @@
{
DataInputStream var2;
ItemStack var3;
-@@ -1105,4 +1113,17 @@
+@@ -1157,4 +1166,18 @@
}
}
}
++
+
+ @Override
+ public void func_72494_a(Packet131MapData p_72494_1_)
diff --git a/fml/patches/common/net/minecraft/src/NetworkListenThread.java.patch b/fml/patches/minecraft/net/minecraft/network/NetworkListenThread.java.patch
similarity index 72%
rename from fml/patches/common/net/minecraft/src/NetworkListenThread.java.patch
rename to fml/patches/minecraft/net/minecraft/network/NetworkListenThread.java.patch
index 08365ed38..7588b92a5 100644
--- a/fml/patches/common/net/minecraft/src/NetworkListenThread.java.patch
+++ b/fml/patches/minecraft/net/minecraft/network/NetworkListenThread.java.patch
@@ -1,15 +1,15 @@
---- ../src-base/common/net/minecraft/src/NetworkListenThread.java
-+++ ../src-work/common/net/minecraft/src/NetworkListenThread.java
+--- ../src-base/minecraft/net/minecraft/network/NetworkListenThread.java
++++ ../src-work/minecraft/net/minecraft/network/NetworkListenThread.java
@@ -6,6 +6,8 @@
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
+
+import cpw.mods.fml.common.FMLLog;
+ import net.minecraft.crash.CrashReport;
import net.minecraft.server.MinecraftServer;
-
- public abstract class NetworkListenThread
-@@ -49,6 +51,7 @@
+ import net.minecraft.util.ReportedException;
+@@ -51,6 +53,7 @@
throw new ReportedException(var4);
}
diff --git a/fml/patches/minecraft/net/minecraft/network/TcpConnection.java.patch b/fml/patches/minecraft/net/minecraft/network/TcpConnection.java.patch
new file mode 100644
index 000000000..f02b1a5cf
--- /dev/null
+++ b/fml/patches/minecraft/net/minecraft/network/TcpConnection.java.patch
@@ -0,0 +1,19 @@
+--- ../src-base/minecraft/net/minecraft/network/TcpConnection.java
++++ ../src-work/minecraft/net/minecraft/network/TcpConnection.java
+@@ -2,6 +2,8 @@
+
+ import cpw.mods.fml.common.Side;
+ import cpw.mods.fml.common.asm.SideOnly;
++import cpw.mods.fml.common.network.FMLNetworkHandler;
++
+ import java.io.BufferedOutputStream;
+ import java.io.DataInputStream;
+ import java.io.DataOutputStream;
+@@ -391,6 +393,7 @@
+ if (this.field_74472_n && this.field_74473_o.isEmpty())
+ {
+ this.field_74485_r.func_72515_a(this.field_74481_v, this.field_74480_w);
++ FMLNetworkHandler.onConnectionClosed(this, this.field_74485_r.getPlayer());
+ }
+ }
+
diff --git a/fml/patches/minecraft/net/minecraft/network/packet/NetHandler.java.patch b/fml/patches/minecraft/net/minecraft/network/packet/NetHandler.java.patch
new file mode 100644
index 000000000..68f6a6415
--- /dev/null
+++ b/fml/patches/minecraft/net/minecraft/network/packet/NetHandler.java.patch
@@ -0,0 +1,18 @@
+--- ../src-base/minecraft/net/minecraft/network/packet/NetHandler.java
++++ ../src-work/minecraft/net/minecraft/network/packet/NetHandler.java
+@@ -1,4 +1,6 @@
+ package net.minecraft.network.packet;
++
++import net.minecraft.entity.player.EntityPlayer;
+
+ public abstract class NetHandler
+ {
+@@ -345,4 +347,8 @@
+ {
+ return false;
+ }
++
++ public abstract void handleVanilla250Packet(Packet250CustomPayload payload);
++
++ public abstract EntityPlayer getPlayer();
+ }
diff --git a/fml/patches/common/net/minecraft/src/Packet.java.patch b/fml/patches/minecraft/net/minecraft/network/packet/Packet.java.patch
similarity index 77%
rename from fml/patches/common/net/minecraft/src/Packet.java.patch
rename to fml/patches/minecraft/net/minecraft/network/packet/Packet.java.patch
index 33d4aadbd..accc77aff 100644
--- a/fml/patches/common/net/minecraft/src/Packet.java.patch
+++ b/fml/patches/minecraft/net/minecraft/network/packet/Packet.java.patch
@@ -1,6 +1,6 @@
---- ../src-base/common/net/minecraft/src/Packet.java
-+++ ../src-work/common/net/minecraft/src/Packet.java
-@@ -349,7 +349,7 @@
+--- ../src-base/minecraft/net/minecraft/network/packet/Packet.java
++++ ../src-work/minecraft/net/minecraft/network/packet/Packet.java
+@@ -353,7 +353,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);
diff --git a/fml/patches/common/net/minecraft/src/Packet1Login.java.patch b/fml/patches/minecraft/net/minecraft/network/packet/Packet1Login.java.patch
similarity index 84%
rename from fml/patches/common/net/minecraft/src/Packet1Login.java.patch
rename to fml/patches/minecraft/net/minecraft/network/packet/Packet1Login.java.patch
index f08fc134e..89395362a 100644
--- a/fml/patches/common/net/minecraft/src/Packet1Login.java.patch
+++ b/fml/patches/minecraft/net/minecraft/network/packet/Packet1Login.java.patch
@@ -1,28 +1,29 @@
---- ../src-base/common/net/minecraft/src/Packet1Login.java
-+++ ../src-work/common/net/minecraft/src/Packet1Login.java
+--- ../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.IOException;
+
+import cpw.mods.fml.common.network.FMLNetworkHandler;
+ import net.minecraft.world.EnumGameType;
+ import net.minecraft.world.WorldType;
- public class Packet1Login extends Packet
- {
-@@ -15,7 +17,11 @@
+@@ -17,7 +19,12 @@
public byte field_73556_g;
public byte field_73562_h;
- public Packet1Login() {}
+ private boolean vanillaCompatible;
-+
-+ public Packet1Login() {
++
++ public Packet1Login()
++ {
+ this.vanillaCompatible = FMLNetworkHandler.vanillaLoginPacketCompatibility();
+ }
public Packet1Login(int p_i3327_1_, WorldType p_i3327_2_, EnumGameType p_i3327_3_, boolean p_i3327_4_, int p_i3327_5_, int p_i3327_6_, int p_i3327_7_, int p_i3327_8_)
{
-@@ -27,6 +33,7 @@
+@@ -29,6 +36,7 @@
this.field_73556_g = (byte)p_i3327_7_;
this.field_73562_h = (byte)p_i3327_8_;
this.field_73560_c = p_i3327_4_;
@@ -30,11 +31,12 @@
}
public void func_73267_a(DataInputStream p_73267_1_) throws IOException
-@@ -44,7 +51,14 @@
+@@ -46,7 +54,16 @@
this.field_73560_c = (var3 & 8) == 8;
int var4 = var3 & -9;
this.field_73557_d = EnumGameType.func_77146_a(var4);
- this.field_73558_e = p_73267_1_.readByte();
++
+ if (vanillaCompatible)
+ {
+ this.field_73558_e = p_73267_1_.readByte();
@@ -43,14 +45,16 @@
+ {
+ this.field_73558_e = p_73267_1_.readInt();
+ }
++
this.field_73555_f = p_73267_1_.readByte();
this.field_73556_g = p_73267_1_.readByte();
this.field_73562_h = p_73267_1_.readByte();
-@@ -62,7 +76,14 @@
+@@ -64,7 +81,16 @@
}
p_73273_1_.writeByte(var2);
- p_73273_1_.writeByte(this.field_73558_e);
++
+ if (vanillaCompatible)
+ {
+ p_73273_1_.writeByte(this.field_73558_e);
@@ -59,10 +63,11 @@
+ {
+ p_73273_1_.writeInt(this.field_73558_e);
+ }
++
p_73273_1_.writeByte(this.field_73555_f);
p_73273_1_.writeByte(this.field_73556_g);
p_73273_1_.writeByte(this.field_73562_h);
-@@ -82,6 +103,6 @@
+@@ -84,6 +110,6 @@
var1 = this.field_73559_b.func_77127_a().length();
}
diff --git a/fml/patches/common/net/minecraft/server/MinecraftServer.java.patch b/fml/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch
similarity index 78%
rename from fml/patches/common/net/minecraft/server/MinecraftServer.java.patch
rename to fml/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch
index 22136f8a1..f57dd8b53 100644
--- a/fml/patches/common/net/minecraft/server/MinecraftServer.java.patch
+++ b/fml/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch
@@ -1,27 +1,30 @@
---- ../src-base/common/net/minecraft/server/MinecraftServer.java
-+++ ../src-work/common/net/minecraft/server/MinecraftServer.java
-@@ -13,6 +13,9 @@
- import java.util.List;
- import java.util.logging.Level;
- import java.util.logging.Logger;
+--- ../src-base/minecraft/net/minecraft/server/MinecraftServer.java
++++ ../src-work/minecraft/net/minecraft/server/MinecraftServer.java
+@@ -1,7 +1,11 @@
+ package net.minecraft.server;
+
+import cpw.mods.fml.common.FMLCommonHandler;
+ import cpw.mods.fml.common.Side;
+ import cpw.mods.fml.common.asm.SideOnly;
+import cpw.mods.fml.relauncher.ArgsWrapper;
+import cpw.mods.fml.relauncher.FMLRelauncher;
- import net.minecraft.src.AnvilSaveConverter;
- import net.minecraft.src.AxisAlignedBB;
- import net.minecraft.src.BehaviorArrowDispense;
-@@ -382,7 +385,10 @@
++
+ import java.awt.GraphicsEnvironment;
+ import java.io.File;
+ import java.io.IOException;
+@@ -376,7 +380,11 @@
{
if (this.func_71197_b())
{
+ FMLCommonHandler.instance().handleServerStarted();
++
long var1 = System.currentTimeMillis();
+
+ FMLCommonHandler.instance().onWorldLoadTick(field_71305_c);
for (long var50 = 0L; this.field_71317_u; this.field_71296_Q = true)
{
-@@ -421,6 +427,7 @@
+@@ -415,6 +423,7 @@
Thread.sleep(1L);
}
@@ -29,7 +32,7 @@
}
else
{
-@@ -429,6 +436,10 @@
+@@ -423,6 +432,10 @@
}
catch (Throwable var48)
{
@@ -40,7 +43,7 @@
var48.printStackTrace();
field_71306_a.log(Level.SEVERE, "Encountered an unexpected exception " + var48.getClass().getSimpleName(), var48);
CrashReport var2 = null;
-@@ -459,6 +470,10 @@
+@@ -453,6 +466,10 @@
{
try
{
@@ -51,7 +54,7 @@
this.func_71260_j();
this.field_71316_v = true;
}
-@@ -484,8 +499,10 @@
+@@ -478,8 +495,10 @@
public void func_71217_p()
{
@@ -62,7 +65,7 @@
++this.field_71315_w;
if (this.field_71295_T)
-@@ -531,6 +548,7 @@
+@@ -525,6 +544,7 @@
this.field_71304_b.func_76319_b();
this.field_71304_b.func_76319_b();
@@ -70,7 +73,7 @@
}
public void func_71190_q()
-@@ -558,6 +576,7 @@
+@@ -552,6 +572,7 @@
}
this.field_71304_b.func_76320_a("tick");
@@ -78,7 +81,7 @@
CrashReport var6;
try
-@@ -582,6 +601,7 @@
+@@ -576,6 +597,7 @@
throw new ReportedException(var6);
}
@@ -86,12 +89,22 @@
this.field_71304_b.func_76319_b();
this.field_71304_b.func_76320_a("tracker");
var4.func_73039_n().func_72788_a();
-@@ -1150,6 +1170,12 @@
+@@ -703,7 +725,7 @@
+
+ public String getServerModName()
+ {
+- return "vanilla";
++ return "fml";
+ }
+
+ public CrashReport func_71230_b(CrashReport p_71230_1_)
+@@ -1144,6 +1166,13 @@
@SideOnly(Side.SERVER)
public static void main(String[] p_main_0_)
{
+ FMLRelauncher.handleServerRelaunch(new ArgsWrapper(p_main_0_));
+ }
++
+ @SideOnly(Side.SERVER)
+ public static void fmlReentry(ArgsWrapper wrap)
+ {
diff --git a/fml/patches/common/net/minecraft/src/ServerListenThread.java.patch b/fml/patches/minecraft/net/minecraft/server/ServerListenThread.java.patch
similarity index 75%
rename from fml/patches/common/net/minecraft/src/ServerListenThread.java.patch
rename to fml/patches/minecraft/net/minecraft/server/ServerListenThread.java.patch
index 952d09ca8..3ee23ee22 100644
--- a/fml/patches/common/net/minecraft/src/ServerListenThread.java.patch
+++ b/fml/patches/minecraft/net/minecraft/server/ServerListenThread.java.patch
@@ -1,13 +1,13 @@
---- ../src-base/common/net/minecraft/src/ServerListenThread.java
-+++ ../src-work/common/net/minecraft/src/ServerListenThread.java
+--- ../src-base/minecraft/net/minecraft/server/ServerListenThread.java
++++ ../src-work/minecraft/net/minecraft/server/ServerListenThread.java
@@ -1,5 +1,6 @@
- package net.minecraft.src;
+ package net.minecraft.server;
+import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
import java.io.IOException;
-@@ -51,6 +52,7 @@
+@@ -53,6 +54,7 @@
catch (Exception var6)
{
var3.func_72527_a("Internal server error");
diff --git a/fml/patches/common/net/minecraft/src/ConsoleLogManager.java.patch b/fml/patches/minecraft/net/minecraft/server/dedicated/ConsoleLogManager.java.patch
similarity index 78%
rename from fml/patches/common/net/minecraft/src/ConsoleLogManager.java.patch
rename to fml/patches/minecraft/net/minecraft/server/dedicated/ConsoleLogManager.java.patch
index f2fd19864..990f4e99c 100644
--- a/fml/patches/common/net/minecraft/src/ConsoleLogManager.java.patch
+++ b/fml/patches/minecraft/net/minecraft/server/dedicated/ConsoleLogManager.java.patch
@@ -1,5 +1,5 @@
---- ../src-base/common/net/minecraft/src/ConsoleLogManager.java
-+++ ../src-work/common/net/minecraft/src/ConsoleLogManager.java
+--- ../src-base/minecraft/net/minecraft/server/dedicated/ConsoleLogManager.java
++++ ../src-work/minecraft/net/minecraft/server/dedicated/ConsoleLogManager.java
@@ -4,6 +4,8 @@
import java.util.logging.FileHandler;
import java.util.logging.Level;
diff --git a/fml/patches/common/net/minecraft/src/DedicatedServer.java.patch b/fml/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch
similarity index 68%
rename from fml/patches/common/net/minecraft/src/DedicatedServer.java.patch
rename to fml/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch
index e90323bf5..1f815c4e6 100644
--- a/fml/patches/common/net/minecraft/src/DedicatedServer.java.patch
+++ b/fml/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch
@@ -1,13 +1,13 @@
---- ../src-base/common/net/minecraft/src/DedicatedServer.java
-+++ ../src-work/common/net/minecraft/src/DedicatedServer.java
+--- ../src-base/minecraft/net/minecraft/server/dedicated/DedicatedServer.java
++++ ../src-work/minecraft/net/minecraft/server/dedicated/DedicatedServer.java
@@ -1,5 +1,6 @@
- package net.minecraft.src;
+ package net.minecraft.server.dedicated;
+import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
import java.io.File;
-@@ -42,6 +43,8 @@
+@@ -57,6 +58,8 @@
field_71306_a.warning("To start the server with more ram, launch it as \"java -Xmx1024M -Xms1024M -jar minecraft_server.jar\"");
}
@@ -16,20 +16,21 @@
field_71306_a.info("Loading properties");
this.field_71340_o = new PropertyManager(new File("server.properties"));
-@@ -111,6 +114,7 @@
+@@ -125,6 +128,8 @@
+ field_71306_a.warning("While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.");
field_71306_a.warning("To change this, set \"online-mode\" to \"true\" in the server.properties file.");
}
-
++
+ FMLCommonHandler.instance().onServerStarted();
+
this.func_71210_a(new DedicatedPlayerList(this));
long var4 = System.nanoTime();
-
-@@ -171,7 +175,7 @@
- this.field_71339_n = new RConThreadMain(this);
+@@ -187,6 +192,8 @@
this.field_71339_n.func_72602_a();
}
--
+
+ FMLCommonHandler.instance().handleServerStarting(this);
++
return true;
}
diff --git a/fml/patches/minecraft/net/minecraft/src/IntegratedServer.java.patch b/fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch
similarity index 66%
rename from fml/patches/minecraft/net/minecraft/src/IntegratedServer.java.patch
rename to fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch
index afeab2937..9cb438af7 100644
--- a/fml/patches/minecraft/net/minecraft/src/IntegratedServer.java.patch
+++ b/fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch
@@ -1,15 +1,13 @@
---- ../src-base/minecraft/net/minecraft/src/IntegratedServer.java
-+++ ../src-work/minecraft/net/minecraft/src/IntegratedServer.java
-@@ -4,6 +4,8 @@
+--- ../src-base/minecraft/net/minecraft/server/integrated/IntegratedServer.java
++++ ../src-work/minecraft/net/minecraft/server/integrated/IntegratedServer.java
+@@ -1,5 +1,6 @@
+ package net.minecraft.server.integrated;
+
++import cpw.mods.fml.common.FMLCommonHandler;
+ import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
import java.io.File;
- import java.io.IOException;
-+
-+import cpw.mods.fml.common.FMLCommonHandler;
- import net.minecraft.client.Minecraft;
- import net.minecraft.server.MinecraftServer;
-
-@@ -97,6 +99,7 @@
+@@ -110,6 +111,7 @@
this.func_71253_a(CryptManager.func_75891_b());
this.func_71247_a(this.func_71270_I(), this.func_71221_J(), this.field_71350_m.func_77160_d(), this.field_71350_m.func_77165_h(), this.field_71350_m.func_82749_j());
this.func_71205_p(this.func_71214_G() + " - " + this.field_71305_c[0].func_72912_H().func_76065_j());
diff --git a/fml/patches/minecraft/net/minecraft/src/IntegratedServerListenThread.java.patch b/fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServerListenThread.java.patch
similarity index 50%
rename from fml/patches/minecraft/net/minecraft/src/IntegratedServerListenThread.java.patch
rename to fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServerListenThread.java.patch
index 764578480..b3b218773 100644
--- a/fml/patches/minecraft/net/minecraft/src/IntegratedServerListenThread.java.patch
+++ b/fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServerListenThread.java.patch
@@ -1,6 +1,6 @@
---- ../src-base/minecraft/net/minecraft/src/IntegratedServerListenThread.java
-+++ ../src-work/minecraft/net/minecraft/src/IntegratedServerListenThread.java
-@@ -2,8 +2,18 @@
+--- ../src-base/minecraft/net/minecraft/server/integrated/IntegratedServerListenThread.java
++++ ../src-work/minecraft/net/minecraft/server/integrated/IntegratedServerListenThread.java
+@@ -2,6 +2,8 @@
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
@@ -8,18 +8,8 @@
+
import java.io.IOException;
import java.net.InetAddress;
-+import java.net.NetworkInterface;
-+import java.util.Arrays;
-+import java.util.Collections;
-+import java.util.List;
-+
-+import com.google.common.collect.Iterators;
-+import com.google.common.collect.Lists;
-+
- import net.minecraft.server.MinecraftServer;
-
- @SideOnly(Side.CLIENT)
-@@ -57,7 +67,7 @@
+ import net.minecraft.entity.player.EntityPlayerMP;
+@@ -63,7 +65,7 @@
}
}
diff --git a/fml/patches/common/net/minecraft/src/ServerConfigurationManager.java.patch b/fml/patches/minecraft/net/minecraft/server/management/ServerConfigurationManager.java.patch
similarity index 69%
rename from fml/patches/common/net/minecraft/src/ServerConfigurationManager.java.patch
rename to fml/patches/minecraft/net/minecraft/server/management/ServerConfigurationManager.java.patch
index 21be71afd..18b30b124 100644
--- a/fml/patches/common/net/minecraft/src/ServerConfigurationManager.java.patch
+++ b/fml/patches/minecraft/net/minecraft/server/management/ServerConfigurationManager.java.patch
@@ -1,25 +1,25 @@
---- ../src-base/common/net/minecraft/src/ServerConfigurationManager.java
-+++ ../src-work/common/net/minecraft/src/ServerConfigurationManager.java
-@@ -12,6 +12,10 @@
- import java.util.List;
- import java.util.Set;
- import java.util.logging.Logger;
-+
-+import cpw.mods.fml.common.network.FMLNetworkHandler;
-+import cpw.mods.fml.common.network.NetworkRegistry;
-+import cpw.mods.fml.common.registry.GameRegistry;
- import net.minecraft.server.MinecraftServer;
+--- ../src-base/minecraft/net/minecraft/server/management/ServerConfigurationManager.java
++++ ../src-work/minecraft/net/minecraft/server/management/ServerConfigurationManager.java
+@@ -2,6 +2,9 @@
- public abstract class ServerConfigurationManager
-@@ -81,6 +85,7 @@
+ import cpw.mods.fml.common.Side;
+ import cpw.mods.fml.common.asm.SideOnly;
++import cpw.mods.fml.common.network.FMLNetworkHandler;
++import cpw.mods.fml.common.registry.GameRegistry;
++
+ import java.io.File;
+ import java.net.SocketAddress;
+ import java.text.SimpleDateFormat;
+@@ -107,6 +110,8 @@
}
p_72355_2_.func_71116_b();
++
+ FMLNetworkHandler.handlePlayerLogin(p_72355_2_, var6, p_72355_1_);
}
public void func_72364_a(WorldServer[] p_72364_1_)
-@@ -147,6 +152,7 @@
+@@ -173,6 +178,7 @@
public void func_72367_e(EntityPlayerMP p_72367_1_)
{
@@ -27,7 +27,7 @@
this.func_72391_b(p_72367_1_);
WorldServer var2 = p_72367_1_.func_71121_q();
var2.func_72900_e(p_72367_1_);
-@@ -296,6 +302,7 @@
+@@ -322,6 +328,7 @@
var8.func_72838_d(var7);
this.field_72404_b.add(var7);
var7.func_71116_b();
@@ -35,10 +35,11 @@
return var7;
}
-@@ -321,6 +328,7 @@
+@@ -347,6 +354,8 @@
PotionEffect var7 = (PotionEffect)var6.next();
p_72356_1_.field_71135_a.func_72567_b(new Packet41EntityEffect(p_72356_1_.field_70157_k, var7));
}
++
+ GameRegistry.onPlayerChangedDimension(p_72356_1_);
}
diff --git a/fml/patches/minecraft/net/minecraft/src/IBossDisplayData.java.patch b/fml/patches/minecraft/net/minecraft/src/IBossDisplayData.java.patch
deleted file mode 100644
index 5c8b1f964..000000000
--- a/fml/patches/minecraft/net/minecraft/src/IBossDisplayData.java.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- ../src-base/minecraft/net/minecraft/src/IBossDisplayData.java
-+++ ../src-work/minecraft/net/minecraft/src/IBossDisplayData.java
-@@ -1,9 +1,5 @@
- package net.minecraft.src;
-
--import cpw.mods.fml.common.Side;
--import cpw.mods.fml.common.asm.SideOnly;
--
--@SideOnly(Side.CLIENT)
- public interface IBossDisplayData
- {
- int func_70667_aM();
diff --git a/fml/patches/common/net/minecraft/src/TileEntity.java.patch b/fml/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch
similarity index 80%
rename from fml/patches/common/net/minecraft/src/TileEntity.java.patch
rename to fml/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch
index cec9d87ee..a7e9f8ce9 100644
--- a/fml/patches/common/net/minecraft/src/TileEntity.java.patch
+++ b/fml/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch
@@ -1,7 +1,7 @@
---- ../src-base/common/net/minecraft/src/TileEntity.java
-+++ ../src-work/common/net/minecraft/src/TileEntity.java
-@@ -1,9 +1,11 @@
- package net.minecraft.src;
+--- ../src-base/minecraft/net/minecraft/tileentity/TileEntity.java
++++ ../src-work/minecraft/net/minecraft/tileentity/TileEntity.java
+@@ -1,9 +1,12 @@
+ package net.minecraft.tileentity;
+import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.Side;
@@ -9,15 +9,16 @@
import java.util.HashMap;
import java.util.Map;
+import java.util.logging.Level;
-
- public class TileEntity
- {
-@@ -75,10 +77,10 @@
- public static TileEntity func_70317_c(NBTTagCompound p_70317_0_)
++
+ import net.minecraft.block.Block;
+ import net.minecraft.block.TileEntityRecordPlayer;
+ import net.minecraft.crash.CrashReportCategory;
+@@ -82,9 +85,11 @@
{
TileEntity var1 = null;
--
+
+ Class var2 = null;
++
try
{
- Class var2 = (Class)field_70326_a.get(p_70317_0_.func_74779_i("id"));
@@ -25,7 +26,7 @@
if (var2 != null)
{
-@@ -92,7 +94,17 @@
+@@ -98,7 +103,17 @@
if (var1 != null)
{
@@ -44,7 +45,7 @@
}
else
{
-@@ -177,7 +189,7 @@
+@@ -183,7 +198,7 @@
public void func_85027_a(CrashReportCategory p_85027_1_)
{
p_85027_1_.func_71500_a("Name", new CallableTileEntityName(this));
diff --git a/fml/patches/common/net/minecraft/src/TileEntityFurnace.java.patch b/fml/patches/minecraft/net/minecraft/tileentity/TileEntityFurnace.java.patch
similarity index 82%
rename from fml/patches/common/net/minecraft/src/TileEntityFurnace.java.patch
rename to fml/patches/minecraft/net/minecraft/tileentity/TileEntityFurnace.java.patch
index 323ad686f..bc3c362ea 100644
--- a/fml/patches/common/net/minecraft/src/TileEntityFurnace.java.patch
+++ b/fml/patches/minecraft/net/minecraft/tileentity/TileEntityFurnace.java.patch
@@ -1,17 +1,17 @@
---- ../src-base/common/net/minecraft/src/TileEntityFurnace.java
-+++ ../src-work/common/net/minecraft/src/TileEntityFurnace.java
-@@ -1,4 +1,6 @@
- package net.minecraft.src;
-+
-+import cpw.mods.fml.common.registry.GameRegistry;
+--- ../src-base/minecraft/net/minecraft/tileentity/TileEntityFurnace.java
++++ ../src-work/minecraft/net/minecraft/tileentity/TileEntityFurnace.java
+@@ -2,6 +2,7 @@
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
-@@ -273,8 +275,15 @@
- return 300;
++import cpw.mods.fml.common.registry.GameRegistry;
+ import net.minecraft.block.Block;
+ import net.minecraft.block.BlockFurnace;
+ import net.minecraft.block.material.Material;
+@@ -287,7 +288,15 @@
}
}
--
+
- return var2 instanceof ItemTool && ((ItemTool)var2).func_77861_e().equals("WOOD") ? 200 : (var2 instanceof ItemSword && ((ItemSword)var2).func_77825_f().equals("WOOD") ? 200 : (var2 instanceof ItemHoe && ((ItemHoe)var2).func_77842_f().equals("WOOD") ? 200 : (var1 == Item.field_77669_D.field_77779_bT ? 100 : (var1 == Item.field_77705_m.field_77779_bT ? 1600 : (var1 == Item.field_77775_ay.field_77779_bT ? 20000 : (var1 == Block.field_71987_y.field_71990_ca ? 100 : (var1 == Item.field_77731_bo.field_77779_bT ? 2400 : 0)))))));
+ if (var2 instanceof ItemTool && ((ItemTool) var2).func_77861_e().equals("WOOD")) return 200;
+ if (var2 instanceof ItemSword && ((ItemSword) var2).func_77825_f().equals("WOOD")) return 200;
diff --git a/fml/patches/common/net/minecraft/src/StringTranslate.java.patch b/fml/patches/minecraft/net/minecraft/util/StringTranslate.java.patch
similarity index 55%
rename from fml/patches/common/net/minecraft/src/StringTranslate.java.patch
rename to fml/patches/minecraft/net/minecraft/util/StringTranslate.java.patch
index 35fa9ad67..0c2bb469f 100644
--- a/fml/patches/common/net/minecraft/src/StringTranslate.java.patch
+++ b/fml/patches/minecraft/net/minecraft/util/StringTranslate.java.patch
@@ -1,14 +1,14 @@
---- ../src-base/common/net/minecraft/src/StringTranslate.java
-+++ ../src-work/common/net/minecraft/src/StringTranslate.java
-@@ -9,6 +9,8 @@
- import java.util.IllegalFormatException;
- import java.util.Properties;
- import java.util.TreeMap;
-+
-+import cpw.mods.fml.common.registry.LanguageRegistry;
+--- ../src-base/minecraft/net/minecraft/util/StringTranslate.java
++++ ../src-work/minecraft/net/minecraft/util/StringTranslate.java
+@@ -2,6 +2,8 @@
- public class StringTranslate
- {
+ import cpw.mods.fml.common.Side;
+ import cpw.mods.fml.common.asm.SideOnly;
++import cpw.mods.fml.common.registry.LanguageRegistry;
++
+ import java.io.BufferedReader;
+ import java.io.IOException;
+ import java.io.InputStreamReader;
@@ -80,6 +82,7 @@
}
}
diff --git a/fml/patches/common/net/minecraft/src/World.java.patch b/fml/patches/minecraft/net/minecraft/world/World.java.patch
similarity index 80%
rename from fml/patches/common/net/minecraft/src/World.java.patch
rename to fml/patches/minecraft/net/minecraft/world/World.java.patch
index bd51e02e2..e6f9521fc 100644
--- a/fml/patches/common/net/minecraft/src/World.java.patch
+++ b/fml/patches/minecraft/net/minecraft/world/World.java.patch
@@ -1,11 +1,11 @@
---- ../src-base/common/net/minecraft/src/World.java
-+++ ../src-work/common/net/minecraft/src/World.java
-@@ -1764,13 +1764,13 @@
+--- ../src-base/minecraft/net/minecraft/world/World.java
++++ ../src-work/minecraft/net/minecraft/world/World.java
+@@ -1796,13 +1796,14 @@
}
}
- this.field_72989_L = false;
--
+
if (!this.field_73000_b.isEmpty())
{
this.field_73009_h.removeAll(this.field_73000_b);
@@ -16,7 +16,7 @@
this.field_72984_F.func_76318_c("pendingTileEntities");
-@@ -3595,7 +3595,7 @@
+@@ -3627,7 +3628,7 @@
@SideOnly(Side.CLIENT)
public double func_72919_O()
{
diff --git a/fml/patches/common/net/minecraft/src/WorldProvider.java.patch b/fml/patches/minecraft/net/minecraft/world/WorldProvider.java.patch
similarity index 91%
rename from fml/patches/common/net/minecraft/src/WorldProvider.java.patch
rename to fml/patches/minecraft/net/minecraft/world/WorldProvider.java.patch
index b91f400ca..f2b015b95 100644
--- a/fml/patches/common/net/minecraft/src/WorldProvider.java.patch
+++ b/fml/patches/minecraft/net/minecraft/world/WorldProvider.java.patch
@@ -1,6 +1,6 @@
---- ../src-base/common/net/minecraft/src/WorldProvider.java
-+++ ../src-work/common/net/minecraft/src/WorldProvider.java
-@@ -37,20 +37,12 @@
+--- ../src-base/minecraft/net/minecraft/world/WorldProvider.java
++++ ../src-work/minecraft/net/minecraft/world/WorldProvider.java
+@@ -48,20 +48,12 @@
protected void func_76572_b()
{
@@ -23,7 +23,7 @@
}
public boolean func_76566_a(int p_76566_1_, int p_76566_2_)
-@@ -168,19 +160,19 @@
+@@ -179,19 +171,19 @@
public int func_76557_i()
{
diff --git a/fml/patches/common/net/minecraft/src/WorldType.java.patch b/fml/patches/minecraft/net/minecraft/world/WorldType.java.patch
similarity index 86%
rename from fml/patches/common/net/minecraft/src/WorldType.java.patch
rename to fml/patches/minecraft/net/minecraft/world/WorldType.java.patch
index 507ffef93..a43e8e7ba 100644
--- a/fml/patches/common/net/minecraft/src/WorldType.java.patch
+++ b/fml/patches/minecraft/net/minecraft/world/WorldType.java.patch
@@ -1,7 +1,7 @@
---- ../src-base/common/net/minecraft/src/WorldType.java
-+++ ../src-work/common/net/minecraft/src/WorldType.java
-@@ -1,10 +1,20 @@
- package net.minecraft.src;
+--- ../src-base/minecraft/net/minecraft/world/WorldType.java
++++ ../src-work/minecraft/net/minecraft/world/WorldType.java
+@@ -1,10 +1,25 @@
+ package net.minecraft.world;
+
+import java.util.Arrays;
+import java.util.Random;
@@ -13,15 +13,20 @@
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
++import net.minecraft.world.*;
++import net.minecraft.world.gen.*;
++import net.minecraft.world.biome.*;
++import net.minecraft.world.chunk.IChunkProvider;
++
public class WorldType
{
+ public static final BiomeGenBase[] base11Biomes = new BiomeGenBase[] {BiomeGenBase.field_76769_d, BiomeGenBase.field_76767_f, BiomeGenBase.field_76770_e, BiomeGenBase.field_76780_h, BiomeGenBase.field_76772_c, BiomeGenBase.field_76768_g};
+ public static final BiomeGenBase[] base12Biomes = ObjectArrays.concat(base11Biomes, BiomeGenBase.field_76782_w);
-+
++
public static final WorldType[] field_77139_a = new WorldType[16];
public static final WorldType field_77137_b = (new WorldType(0, "default", 1)).func_77129_f();
public static final WorldType field_77138_c = new WorldType(1, "flat");
-@@ -15,6 +25,8 @@
+@@ -15,6 +30,8 @@
private final int field_77134_g;
private boolean field_77140_h;
private boolean field_77141_i;
@@ -30,22 +35,23 @@
public WorldType(int p_i3737_1_, String p_i3737_2_)
{
-@@ -28,6 +40,14 @@
+@@ -28,6 +45,15 @@
this.field_77140_h = true;
this.field_82748_f = p_i3738_1_;
field_77139_a[p_i3738_1_] = this;
++
+ switch (p_i3738_1_)
+ {
-+ case 8:
-+ biomesForWorldType = base11Biomes;
-+ break;
-+ default:
-+ biomesForWorldType = base12Biomes;
++ case 8:
++ biomesForWorldType = base11Biomes;
++ break;
++ default:
++ biomesForWorldType = base12Biomes;
+ }
}
public String func_77127_a()
-@@ -91,4 +111,69 @@
+@@ -91,4 +117,70 @@
{
return this.field_82748_f;
}
@@ -110,6 +116,7 @@
+ {
+ return this == field_77138_c ? random.nextInt(4) != 1 : false;
+ }
++
+ /**
+ * Called when 'Create New World' button is pressed before starting game
+ */
diff --git a/fml/patches/common/net/minecraft/src/AnvilChunkLoader.java.patch b/fml/patches/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java.patch
similarity index 82%
rename from fml/patches/common/net/minecraft/src/AnvilChunkLoader.java.patch
rename to fml/patches/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java.patch
index a7ccc8534..f172eec5f 100644
--- a/fml/patches/common/net/minecraft/src/AnvilChunkLoader.java.patch
+++ b/fml/patches/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java.patch
@@ -1,16 +1,17 @@
---- ../src-base/common/net/minecraft/src/AnvilChunkLoader.java
-+++ ../src-work/common/net/minecraft/src/AnvilChunkLoader.java
-@@ -9,6 +9,9 @@
+--- ../src-base/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java
++++ ../src-work/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java
+@@ -9,6 +9,10 @@
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+import java.util.logging.Level;
+
+import cpw.mods.fml.common.FMLLog;
-
- public class AnvilChunkLoader implements IThreadedFileIO, IChunkLoader
- {
-@@ -223,9 +226,18 @@
++
+ import net.minecraft.entity.Entity;
+ import net.minecraft.entity.EntityList;
+ import net.minecraft.nbt.CompressedStreamTools;
+@@ -237,9 +241,18 @@
p_75820_1_.field_76644_m = true;
var10 = new NBTTagCompound();
@@ -32,7 +33,7 @@
}
}
}
-@@ -238,8 +250,17 @@
+@@ -252,8 +265,17 @@
{
TileEntity var21 = (TileEntity)var17.next();
var10 = new NBTTagCompound();
diff --git a/fml/patches/common/net/minecraft/src/ChunkProviderServer.java.patch b/fml/patches/minecraft/net/minecraft/world/gen/ChunkProviderServer.java.patch
similarity index 60%
rename from fml/patches/common/net/minecraft/src/ChunkProviderServer.java.patch
rename to fml/patches/minecraft/net/minecraft/world/gen/ChunkProviderServer.java.patch
index 813251926..5d48ce970 100644
--- a/fml/patches/common/net/minecraft/src/ChunkProviderServer.java.patch
+++ b/fml/patches/minecraft/net/minecraft/world/gen/ChunkProviderServer.java.patch
@@ -1,15 +1,15 @@
---- ../src-base/common/net/minecraft/src/ChunkProviderServer.java
-+++ ../src-work/common/net/minecraft/src/ChunkProviderServer.java
+--- ../src-base/minecraft/net/minecraft/world/gen/ChunkProviderServer.java
++++ ../src-work/minecraft/net/minecraft/world/gen/ChunkProviderServer.java
@@ -6,6 +6,8 @@
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+
+import cpw.mods.fml.common.registry.GameRegistry;
-
- public class ChunkProviderServer implements IChunkProvider
- {
-@@ -194,6 +196,7 @@
+ import net.minecraft.crash.CrashReport;
+ import net.minecraft.crash.CrashReportCategory;
+ import net.minecraft.entity.EnumCreatureType;
+@@ -210,6 +212,7 @@
if (this.field_73246_d != null)
{
this.field_73246_d.func_73153_a(p_73153_1_, p_73153_2_, p_73153_3_);
diff --git a/fml/patches/common/net/minecraft/src/GenLayerBiome.java.patch b/fml/patches/minecraft/net/minecraft/world/gen/layer/GenLayerBiome.java.patch
similarity index 83%
rename from fml/patches/common/net/minecraft/src/GenLayerBiome.java.patch
rename to fml/patches/minecraft/net/minecraft/world/gen/layer/GenLayerBiome.java.patch
index 3e8f6c75d..9dc0046f8 100644
--- a/fml/patches/common/net/minecraft/src/GenLayerBiome.java.patch
+++ b/fml/patches/minecraft/net/minecraft/world/gen/layer/GenLayerBiome.java.patch
@@ -1,6 +1,6 @@
---- ../src-base/common/net/minecraft/src/GenLayerBiome.java
-+++ ../src-work/common/net/minecraft/src/GenLayerBiome.java
-@@ -7,13 +7,8 @@
+--- ../src-base/minecraft/net/minecraft/world/gen/layer/GenLayerBiome.java
++++ ../src-work/minecraft/net/minecraft/world/gen/layer/GenLayerBiome.java
+@@ -10,13 +10,8 @@
public GenLayerBiome(long p_i3888_1_, GenLayer p_i3888_3_, WorldType p_i3888_4_)
{
super(p_i3888_1_);
diff --git a/fml/patches/common/net/minecraft/src/StructureVillagePieces.java.patch b/fml/patches/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java.patch
similarity index 83%
rename from fml/patches/common/net/minecraft/src/StructureVillagePieces.java.patch
rename to fml/patches/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java.patch
index 2ecf588d6..7740e2e16 100644
--- a/fml/patches/common/net/minecraft/src/StructureVillagePieces.java.patch
+++ b/fml/patches/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java.patch
@@ -1,15 +1,15 @@
---- ../src-base/common/net/minecraft/src/StructureVillagePieces.java
-+++ ../src-work/common/net/minecraft/src/StructureVillagePieces.java
+--- ../src-base/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java
++++ ../src-work/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java
@@ -4,6 +4,8 @@
import java.util.Iterator;
import java.util.List;
import java.util.Random;
+
+import cpw.mods.fml.common.registry.VillagerRegistry;
+ import net.minecraft.util.MathHelper;
public class StructureVillagePieces
- {
-@@ -19,6 +21,8 @@
+@@ -20,6 +22,8 @@
var2.add(new StructureVillagePieceWeight(ComponentVillageField2.class, 3, MathHelper.func_76136_a(p_75084_0_, 2 + p_75084_1_, 4 + p_75084_1_ * 2)));
var2.add(new StructureVillagePieceWeight(ComponentVillageHouse2.class, 15, MathHelper.func_76136_a(p_75084_0_, 0, 1 + p_75084_1_)));
var2.add(new StructureVillagePieceWeight(ComponentVillageHouse3.class, 8, MathHelper.func_76136_a(p_75084_0_, 0 + p_75084_1_, 3 + p_75084_1_ * 2)));
@@ -18,7 +18,7 @@
Iterator var3 = var2.iterator();
while (var3.hasNext())
-@@ -91,6 +95,10 @@
+@@ -92,6 +96,10 @@
else if (var9 == ComponentVillageHouse3.class)
{
var10 = ComponentVillageHouse3.func_74921_a(p_75083_0_, p_75083_2_, p_75083_3_, p_75083_4_, p_75083_5_, p_75083_6_, p_75083_7_, p_75083_8_);
diff --git a/fml/patches/common/net/minecraft/src/MapData.java.patch b/fml/patches/minecraft/net/minecraft/world/storage/MapData.java.patch
similarity index 73%
rename from fml/patches/common/net/minecraft/src/MapData.java.patch
rename to fml/patches/minecraft/net/minecraft/world/storage/MapData.java.patch
index f5b51066c..b1ba3d3eb 100644
--- a/fml/patches/common/net/minecraft/src/MapData.java.patch
+++ b/fml/patches/minecraft/net/minecraft/world/storage/MapData.java.patch
@@ -1,6 +1,15 @@
---- ../src-base/common/net/minecraft/src/MapData.java
-+++ ../src-work/common/net/minecraft/src/MapData.java
-@@ -12,7 +12,7 @@
+--- ../src-base/minecraft/net/minecraft/world/storage/MapData.java
++++ ../src-work/minecraft/net/minecraft/world/storage/MapData.java
+@@ -9,7 +9,7 @@
+ import java.util.Map;
+ import net.minecraft.entity.player.EntityPlayer;
+ import net.minecraft.item.ItemStack;
+-import net.minecraft.nbt.NBTTagCompound;
++import net.minecraft.nbt.*;
+ import net.minecraft.world.World;
+ import net.minecraft.world.WorldSavedData;
+
+@@ -17,7 +17,7 @@
{
public int field_76201_a;
public int field_76199_b;
@@ -9,7 +18,7 @@
public byte field_76197_d;
public byte[] field_76198_e = new byte[16384];
public List field_76196_g = new ArrayList();
-@@ -26,7 +26,16 @@
+@@ -31,7 +31,17 @@
public void func_76184_a(NBTTagCompound p_76184_1_)
{
@@ -24,10 +33,11 @@
+ {
+ this.field_76200_c = ((NBTTagInt)dimension).field_74748_a;
+ }
++
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");
-@@ -77,7 +86,7 @@
+@@ -82,7 +92,7 @@
public void func_76187_b(NBTTagCompound p_76187_1_)
{
diff --git a/fml/patches/common/net/minecraft/src/SaveHandler.java.patch b/fml/patches/minecraft/net/minecraft/world/storage/SaveHandler.java.patch
similarity index 80%
rename from fml/patches/common/net/minecraft/src/SaveHandler.java.patch
rename to fml/patches/minecraft/net/minecraft/world/storage/SaveHandler.java.patch
index db05103d3..ae6ef502d 100644
--- a/fml/patches/common/net/minecraft/src/SaveHandler.java.patch
+++ b/fml/patches/minecraft/net/minecraft/world/storage/SaveHandler.java.patch
@@ -1,20 +1,20 @@
---- ../src-base/common/net/minecraft/src/SaveHandler.java
-+++ ../src-work/common/net/minecraft/src/SaveHandler.java
+--- ../src-base/minecraft/net/minecraft/world/storage/SaveHandler.java
++++ ../src-work/minecraft/net/minecraft/world/storage/SaveHandler.java
@@ -7,6 +7,8 @@
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.logging.Logger;
+
+import cpw.mods.fml.common.FMLCommonHandler;
-
- public class SaveHandler implements ISaveHandler, IPlayerFileData
- {
-@@ -97,17 +99,23 @@
- File var1 = new File(this.field_75770_b, "level.dat");
+ import net.minecraft.entity.player.EntityPlayer;
+ import net.minecraft.nbt.CompressedStreamTools;
+ import net.minecraft.nbt.NBTTagCompound;
+@@ -104,16 +106,24 @@
NBTTagCompound var2;
NBTTagCompound var3;
--
+
+ WorldInfo worldInfo = null;
++
if (var1.exists())
{
try
@@ -35,7 +35,7 @@
var5.printStackTrace();
}
}
-@@ -120,7 +128,9 @@
+@@ -126,7 +136,9 @@
{
var2 = CompressedStreamTools.func_74796_a(new FileInputStream(var1));
var3 = var2.func_74775_l("Data");
@@ -46,21 +46,21 @@
}
catch (Exception var4)
{
-@@ -136,7 +146,7 @@
+@@ -142,6 +154,8 @@
NBTTagCompound var3 = p_75755_1_.func_76082_a(p_75755_2_);
NBTTagCompound var4 = new NBTTagCompound();
var4.func_74782_a("Data", var3);
--
++
+ FMLCommonHandler.instance().handleWorldDataSave(this, p_75755_1_, var4);
+
try
{
- File var5 = new File(this.field_75770_b, "level.dat_new");
-@@ -174,7 +184,7 @@
+@@ -180,6 +194,8 @@
NBTTagCompound var2 = p_75761_1_.func_76066_a();
NBTTagCompound var3 = new NBTTagCompound();
var3.func_74782_a("Data", var2);
--
++
+ FMLCommonHandler.instance().handleWorldDataSave(this, p_75761_1_, var3);
+
try
{
- File var4 = new File(this.field_75770_b, "level.dat_new");
diff --git a/fml/patches/common/net/minecraft/src/WorldInfo.java.patch b/fml/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch
similarity index 67%
rename from fml/patches/common/net/minecraft/src/WorldInfo.java.patch
rename to fml/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch
index 8b7771d3c..35ca9abd7 100644
--- a/fml/patches/common/net/minecraft/src/WorldInfo.java.patch
+++ b/fml/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch
@@ -1,23 +1,26 @@
---- ../src-base/common/net/minecraft/src/WorldInfo.java
-+++ ../src-work/common/net/minecraft/src/WorldInfo.java
-@@ -1,4 +1,8 @@
- package net.minecraft.src;
+--- ../src-base/minecraft/net/minecraft/world/storage/WorldInfo.java
++++ ../src-work/minecraft/net/minecraft/world/storage/WorldInfo.java
+@@ -1,8 +1,11 @@
+ package net.minecraft.world.storage;
+
+import java.util.Map;
-+
-+import com.google.common.collect.Maps;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
-@@ -29,6 +33,7 @@
+ import net.minecraft.crash.CrashReportCategory;
++import net.minecraft.nbt.NBTBase;
+ import net.minecraft.nbt.NBTTagCompound;
+ import net.minecraft.world.EnumGameType;
+ import net.minecraft.world.GameRules;
+@@ -35,6 +38,7 @@
private boolean field_76110_t;
private boolean field_76109_u;
private GameRules field_82577_x;
-+ private Map additionalProperties;
++ private Map additionalProperties;
protected WorldInfo()
{
-@@ -528,4 +533,24 @@
+@@ -534,4 +538,24 @@
{
return p_85131_0_.field_76110_t;
}
diff --git a/fml/update_packages.py b/fml/update_packages.py
new file mode 100644
index 000000000..27f08f964
--- /dev/null
+++ b/fml/update_packages.py
@@ -0,0 +1,109 @@
+import os, os.path, sys
+import shutil, glob, fnmatch
+import csv, re
+from pprint import pprint
+from zipfile import ZipFile
+from optparse import OptionParser
+
+def get_merged_info(mcp_dir):
+ joined = os.path.join(mcp_dir, 'conf', 'joined.srg')
+ values = {'PK:': {}, 'CL:': {}, 'FD:': {}, 'MD:': {}}
+
+ if not os.path.isfile(joined):
+ sys.path.append('install')
+ from fml import gen_merged_srg
+ values = gen_merged_srg(mcp_dir, None)
+ else:
+ with open(joined, 'r') as fh:
+ for line in fh:
+ pts = line.rstrip('\r\n').split(' ')
+ if pts[0] == 'MD:':
+ values[pts[0]][pts[1] + ' ' + pts[2]] = pts[3] + ' ' + pts[4]
+ else:
+ values[pts[0]][pts[1]] = pts[2]
+ return {t:{v.split(' ')[0]:k for k, v in m.items()} for t,m in values.items()}
+
+def main():
+ parser = OptionParser()
+ parser.add_option('-m', '--mcp-dir', action='store_true', dest='mcp_dir', help='Path to download/extract MCP to', default=None)
+ options, _ = parser.parse_args()
+
+ fml_dir = os.path.dirname(os.path.abspath(__file__))
+ mcp_dir = os.path.abspath('mcp')
+
+ if not options.mcp_dir is None:
+ mcp_dir = os.path.abspath(options.mcp_dir)
+ elif os.path.isfile(os.path.join('..', 'runtime', 'commands.py')):
+ mcp_dir = os.path.abspath('..')
+
+ client_jar = os.path.join(mcp_dir, 'jars', 'bin', 'minecraft.jar.backup')
+ server_jar = os.path.join(mcp_dir, 'jars', 'minecraft_server.jar.backup')
+
+ server_classes = []
+ client_classes = []
+
+ zip = ZipFile(client_jar)
+ for i in zip.filelist:
+ if i.filename.endswith('.class') and i.filename.find('/') == -1:
+ client_classes.append(i.filename[:-6])
+ zip.close()
+
+ zip = ZipFile(server_jar)
+ for i in zip.filelist:
+ if i.filename.endswith('.class') and i.filename.find('/') == -1:
+ server_classes.append(i.filename[:-6])
+ zip.close()
+
+ srg = get_merged_info(mcp_dir)
+ pkgs = {}
+ pkg_file = os.path.join('conf', 'packages.csv')
+
+ if os.path.isfile(pkg_file):
+ with open(pkg_file) as fh:
+ reader = csv.DictReader(fh)
+ for line in reader:
+ pkgs[line['class']] = line['package']
+
+ classes = []
+ for cls in srg['CL:'].keys():
+ if cls.startswith('net/minecraft/src/'):
+ obf = srg['CL:'][cls]
+ cls = cls[18:]
+ classes.append(cls)
+ if obf in server_classes:
+ server_classes.remove(obf)
+ server_classes.append(cls)
+ if obf in client_classes:
+ client_classes.remove(obf)
+ client_classes.append(cls)
+
+ for cls in pkgs.keys():
+ if not cls in classes:
+ print 'Removed Class: %s/%s' % (key, pkgs[key])
+
+ for cls in classes:
+ if not cls in pkgs.keys():
+ print 'New Class: %s' % cls
+ if cls.find('/') == -1:
+ if cls in server_classes and cls in client_classes:
+ pkgs[cls] = 'get_me_out_of_here_shared'
+ elif cls in server_classes:
+ pkgs[cls] = 'get_me_out_of_here_server'
+ elif cls in client_classes:
+ pkgs[cls] = 'get_me_out_of_here_client'
+ else:
+ pkgs[cls] = 'get_me_out_of_here_src'
+
+ tmp=[]
+ for cls,pkg in pkgs.items():
+ tmp.append({'class': cls, 'package': pkg})
+
+ with open(pkg_file, 'wb') as fh:
+ writer = csv.DictWriter(fh, fieldnames=['class', 'package'], lineterminator='\n')
+ writer.writeheader()
+ for row in sorted(tmp, key=lambda x: (x['package'], x['class'])):
+ writer.writerow(row)
+
+if __name__ == '__main__':
+ main()
+