diff --git a/.gitignore b/.gitignore
index 6c6c3b08e4..b88e1838c8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,8 +4,6 @@
/fmlbuild.properties
/fmlversion.properties
/difflist.txt
-/.metadata/
-/eclipse/.metadata/
/target
fmlbranding.properties
/fernflower.zip
diff --git a/eclipse/.gitignore b/eclipse/.gitignore
new file mode 100644
index 0000000000..c068b6919d
--- /dev/null
+++ b/eclipse/.gitignore
@@ -0,0 +1,53 @@
+/*
+!.gitignore
+!/Clean/
+/Clean/*
+!/Clean/.classpath
+!/Clean/.project
+!/Clean/.settings/
+/Clean/.settings/*
+!/Clean/.settings/org.eclipse.jdt.core.prefs
+!/FML/
+/FML/*
+!/FML/.classpath
+!/FML/.project
+!/FML/.settings/
+/FML/.settings/*
+!/FML/.settings/org.eclipse.jdt.core.prefs
+!/.metadata/
+/.metadata/*
+!/.metadata/.plugins/
+/.metadata/.plugins/*
+!/.metadata/.plugins/org.eclipse.core.resources/
+/.metadata/.plugins/org.eclipse.core.resources/*
+!/.metadata/.plugins/org.eclipse.core.resources/.projects/
+/.metadata/.plugins/org.eclipse.core.resources/.projects/*
+!/.metadata/.plugins/org.eclipse.core.resources/.projects/Clean/
+/.metadata/.plugins/org.eclipse.core.resources/.projects/Clean/*
+!/.metadata/.plugins/org.eclipse.core.resources/.projects/Clean/placeholder
+!/.metadata/.plugins/org.eclipse.core.resources/.projects/FML/
+/.metadata/.plugins/org.eclipse.core.resources/.projects/FML/*
+!/.metadata/.plugins/org.eclipse.core.resources/.projects/FML/placeholder
+!/.metadata/.plugins/org.eclipse.core.runtime/
+/.metadata/.plugins/org.eclipse.core.runtime/*
+!/.metadata/.plugins/org.eclipse.core.runtime/.settings/
+/.metadata/.plugins/org.eclipse.core.runtime/.settings/*
+!/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
+!/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs
+!/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.gathering.prefs
+!/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
+!/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs
+!/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
+!/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs
+!/.metadata/.plugins/org.eclipse.debug.core/
+/.metadata/.plugins/org.eclipse.debug.core/*
+!/.metadata/.plugins/org.eclipse.debug.core/.launches/
+/.metadata/.plugins/org.eclipse.debug.core/.launches/*
+!/.metadata/.plugins/org.eclipse.debug.core/.launches/CleanClient.launch
+!/.metadata/.plugins/org.eclipse.debug.core/.launches/CleanServer.launch
+!/.metadata/.plugins/org.eclipse.debug.core/.launches/FMLClient.launch
+!/.metadata/.plugins/org.eclipse.debug.core/.launches/FMLServer.launch
+!/.metadata/.plugins/org.eclipse.debug.ui/
+/.metadata/.plugins/org.eclipse.debug.ui/*
+!/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml
+
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Clean/placeholder b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Clean/placeholder
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/FML/placeholder b/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/FML/placeholder
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..466d7f93a1
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+#Sun Jun 05 18:58:07 CEST 2011
+version=1
+eclipse.preferences.version=1
+refresh.enabled=true
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs
new file mode 100644
index 0000000000..e2680d2579
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs
@@ -0,0 +1,6 @@
+Console.highWaterMark=88000
+StringVariablePreferencePage=130,107,107,86,
+eclipse.preferences.version=1
+org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=\n\n
+org.eclipse.debug.ui.UseContextualLaunch=false
+org.eclipse.debug.ui.user_view_bindings=\r\n\r\n\r\n\r\n\r\n\r\n
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.gathering.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.gathering.prefs
new file mode 100644
index 0000000000..333b991531
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.gathering.prefs
@@ -0,0 +1,3 @@
+#Sun Jun 05 18:58:07 CEST 2011
+eclipse.preferences.version=1
+org.eclipse.epp.usagedata.gathering.enabled=false
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..12ec368903
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,14 @@
+#Sun Sep 18 16:44:39 NZST 2011
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=ignore
+org.eclipse.jdt.core.compiler.problem.deprecation=ignore
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore
+org.eclipse.jdt.core.compiler.problem.unusedImport=ignore
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs
new file mode 100644
index 0000000000..316ef6f309
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs
@@ -0,0 +1,4 @@
+#Sun Jun 05 18:58:05 CEST 2011
+spacesForTabs=true
+eclipse.preferences.version=1
+overviewRuler_migration=migrated_3.1
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
new file mode 100644
index 0000000000..d338eab761
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
@@ -0,0 +1,9 @@
+IMPORT_FILES_AND_FOLDERS_MODE=prompt
+IMPORT_FILES_AND_FOLDERS_VIRTUAL_FOLDER_MODE=prompt
+PROBLEMS_FILTERS_MIGRATE=true
+SAVE_ALL_BEFORE_BUILD=true
+TASKS_FILTERS_MIGRATE=true
+eclipse.preferences.version=1
+platformState=1349115159163
+quickStart=false
+tipsAndTricks=true
diff --git a/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs
new file mode 100644
index 0000000000..08076f236a
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+showIntro=false
diff --git a/eclipse/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml b/eclipse/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml
new file mode 100644
index 0000000000..1208f602e5
--- /dev/null
+++ b/eclipse/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/eclipse/Clean/.classpath b/eclipse/Clean/.classpath
new file mode 100644
index 0000000000..36c2af60c0
--- /dev/null
+++ b/eclipse/Clean/.classpath
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/eclipse/Clean/.project b/eclipse/Clean/.project
new file mode 100644
index 0000000000..f5a1d893da
--- /dev/null
+++ b/eclipse/Clean/.project
@@ -0,0 +1,69 @@
+
+
+ Clean
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ jars
+ 2
+ MCP_LOC/jars
+
+
+ mc-client
+ 2
+ MCP_LOC/src-base/minecraft
+
+
+ mc-common
+ 2
+ MCP_LOC/src-base/common
+
+
+
+
+ 0
+ jars
+ 13
+
+ org.eclipse.ui.ide.multiFilter
+ 1.0-name-matches-false-false-bin
+
+
+
+ 0
+ jars/bin
+ 5
+
+ org.eclipse.ui.ide.multiFilter
+ 1.0-name-matches-false-false-*.jar
+
+
+
+ 0
+ jars/bin/natives
+ 6
+
+ org.eclipse.ui.ide.multiFilter
+ 1.0-name-matches-false-false-*
+
+
+
+
+
+ MCP_LOC
+ $%7BPARENT-2-WORKSPACE_LOC%7D
+
+
+
diff --git a/eclipse/Clean/.settings/org.eclipse.jdt.core.prefs b/eclipse/Clean/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..fff3b334bb
--- /dev/null
+++ b/eclipse/Clean/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Thu Jun 02 15:56:40 CEST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/eclipse/FML/.classpath b/eclipse/FML/.classpath
new file mode 100644
index 0000000000..ca7d0029b1
--- /dev/null
+++ b/eclipse/FML/.classpath
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/eclipse/FML/.project b/eclipse/FML/.project
new file mode 100644
index 0000000000..61932ecf0a
--- /dev/null
+++ b/eclipse/FML/.project
@@ -0,0 +1,70 @@
+
+
+ FML
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
+
+ fml-client
+ 2
+ FML_LOC/client
+
+
+ fml-common
+ 2
+ FML_LOC/common
+
+
+ jars
+ 2
+ MCP_LOC/jars
+
+
+ lib
+ 2
+ MCP_LOC/lib
+
+
+ mc-client
+ 2
+ MCP_LOC/src-work/minecraft
+
+
+ mc-common
+ 2
+ MCP_LOC/src-work/common
+
+
+
+
+ 0
+ jars
+ 13
+
+ org.eclipse.ui.ide.multiFilter
+ 1.0-name-matches-false-false-bin
+
+
+
+
+
+ FML_LOC
+ $%7BPARENT-1-WORKSPACE_LOC%7D
+
+
+ MCP_LOC
+ $%7BPARENT-2-WORKSPACE_LOC%7D
+
+
+
diff --git a/eclipse/FML/.settings/org.eclipse.jdt.core.prefs b/eclipse/FML/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..96db542e64
--- /dev/null
+++ b/eclipse/FML/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Thu Jun 02 15:56:50 CEST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6