diff --git a/fml/LICENSE b/fml/LICENSE-fml.txt
similarity index 100%
rename from fml/LICENSE
rename to fml/LICENSE-fml.txt
diff --git a/fml/build.xml b/fml/build.xml
index 4570fc1ca..535075666 100644
--- a/fml/build.xml
+++ b/fml/build.xml
@@ -59,7 +59,7 @@
-
+
@@ -130,20 +130,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -152,7 +177,7 @@
-
+
diff --git a/fml/install/CREDITS-fml.txt b/fml/install/CREDITS-fml.txt
new file mode 100644
index 000000000..65360889e
--- /dev/null
+++ b/fml/install/CREDITS-fml.txt
@@ -0,0 +1,17 @@
+This is Forge Mod Loader.
+
+You can find the source code at all times at https://github.com/cpw/FML
+
+This minecraft mod is a clean open source implementation of a mod loader for
+minecraft servers.
+
+The code is authored by cpw.
+It implements API defined by the client side ModLoader, authored by Risugami.
+http://www.minecraftforum.net/topic/75440-
+
+It also contains suggestions and hints from LexManos, author of MinecraftForge.
+http://www.mod-buildcraft.com/forums/forum/minecraft-forge/
+
+Finally, it contains an implementation of topological sort based on that
+published at http://keithschwarz.com/interesting/code/?dir=topological-sort
+
diff --git a/fml/install/README.txt b/fml/install/README.txt
index 20e451878..f4bdbda57 100755
--- a/fml/install/README.txt
+++ b/fml/install/README.txt
@@ -1,22 +1,38 @@
-*** HOW TO INSTALL ***
+This is Forge Mod Loader, or FML for short, by cpw.
-Extract the download archive directly into your MCP-directiory.
-It should create a folder "forge" within that directory, containing all
-extracted files.
+It is a clean reimplementation of a mod loading system for server side use,
+incorporating API implementations of client side ModLoader by Risugami.
-You should use freshly downloaded jars, solely including ModLoader &
-ModLoaderMP. Anything else can eventually cause conflicts.
+It can be installed on its own, or as part of Minecraft Forge.
-You also need to install the FernFlower decompiler, you can download it at
-http://goo.gl/PnJHp. Extract fernflower.jar into your MCP's runtime/bin folder.
+If you have downloaded the server zip file you can install it as follows:
+Installation
+============
+To install this on it's own into a minecraft server, simply copy the contents
+of the fml server zip file into the minecraft_server.jar file.
-Now just start the install.cmd/.sh, MCForge will install itself into the proper
-locations and copy all needed files, as well as modifying the needed baseclasses.
+Forge Installation
+==================
+This code also ships as a part of Minecraft Forge. You do not need to install it
+separately from your Minecraft Forge installation.
-Forge also includes a snapshot of the MCP mapings, this may not be the current
-version of the mapings. But you must use the provided mapings in order for the
-patch files to work together.
+If you have downloaded the source code pack, you can install it as follows:
-The install scripts should take care of everything for you, so you should not need
-to run ANY MCP script before installing forge.
+Standalone source installation
+==============================
+To install this source code for development purposes, extract this zip file
+into an mcp installation containing vanilla jars only. It should create a new
+folder "fml" inside that installation.
+
+Once extracted, run the install.sh or install.bat script provided from the fml
+directory. It should decompile and patch your MCP source code for the server.
+
+Forge source installation
+=========================
+MinecraftForge should ship with this code and install it as part of the forge
+installation process, no further action should be required on your part.
+
+
+For reference this is version @MAJOR@.@MINOR@.@REV@.@BUILD@ of FML
+for Minecraft version @MCVERSION@.
diff --git a/fml/install/install.cmd b/fml/install/install.cmd
index 9960d9074..ff91c6f5d 100755
--- a/fml/install/install.cmd
+++ b/fml/install/install.cmd
@@ -15,8 +15,6 @@ if not exist "..\runtime\bin\fernflower.jar" (
pushd .. >nul
-xcopy /Y /E /I fml\conf\* conf
-
if exist ".\src" (
runtime\bin\python\python_mcp runtime\cleanup.py
)
@@ -24,30 +22,19 @@ if exist ".\src" (
echo Please make sure to backup your modified files, and say yes when it asks you to do cleanup.
exit 1
)
-runtime\bin\python\python_mcp runtime\decompile.py
+runtime\bin\python\python_mcp runtime\decompile.py -d -n -r
pushd src >nul
- if exist ..\jars\bin\minecraft.jar (
- for /f "delims=" %%a in ('dir /a -d /b /S ..\fml\patches\minecraft') do (
- pushd "%%a" 2>nul
- if errorlevel 1 (
- ..\runtime\bin\python\python_mcp ..\fml\lfcr.py "%%a" "%%a"
- ..\runtime\bin\applydiff.exe -uf -p2 -i "%%a"
- ) else popd
- )
- xcopy /Y /E ..\fml\src\minecraft\* minecraft
- )
-
if exist ..\jars\minecraft_server.jar (
for /f "delims=" %%a in ('dir /a -d /b /S ..\fml\patches\minecraft_server') do (
pushd "%%a" 2>nul
if errorlevel 1 (
..\runtime\bin\python\python_mcp ..\fml\lfcr.py "%%a" "%%a"
- ..\runtime\bin\applydiff.exe -uf -p2 -i "%%a"
+ ..\runtime\bin\applydiff.exe -uf -p1 -i "%%a"
) else popd
)
- xcopy /Y /E ..\fml\src\server\* minecraft_server
+ xcopy /Y /E ..\fml\src\* minecraft_server
)
popd >nul
diff --git a/fml/install/install.sh b/fml/install/install.sh
index 5012eda5e..1c4bd3d24 100644
--- a/fml/install/install.sh
+++ b/fml/install/install.sh
@@ -16,34 +16,22 @@ fi
pushd .. > /dev/null
-rm -rf conf
-mkdir conf
-cp -r fml/conf/* conf
-
./cleanup.sh
+
if [ -d "src" ]
then
echo "Failed to cleanup the MCP folder, please backup your modified files and run this script again and say yes when prompted."
exit 1
fi
-./decompile.sh
+
+./decompile.sh -d -n -r
pushd src > /dev/null
- if [ -f ../jars/bin/minecraft.jar ];
- then
- for i in `find ../fml/patches/minecraft/ -type f`
- do
- patch -p2 -i $i
- done
- cp -r ../fml/src/minecraft/* minecraft
- fi
-
-
if [ -f ../jars/minecraft_server.jar ];
then
for i in `find ../fml/patches/minecraft_server/ -type f`
do
- patch -p2 -i $i
+ patch -p1 -i $i
done
cp -r ../fml/src/minecraft_server/* minecraft_server
fi
diff --git a/fml/install/lfcr.py b/fml/install/lfcr.py
new file mode 100755
index 000000000..d48f17c7b
--- /dev/null
+++ b/fml/install/lfcr.py
@@ -0,0 +1,8 @@
+#! /usr/bin/env python
+
+import sys, re, os
+data = open(sys.argv[1], "rb").read()
+newdata = re.sub("\r?\n", "\r\n", data)
+f = open(sys.argv[2], "wb")
+f.write(newdata)
+f.close()
\ No newline at end of file