mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-14 09:05:17 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d0384f8f6 | ||
|
|
adc8972277 | ||
|
|
5990e29af7 | ||
|
|
2676c8999c | ||
|
|
3a200e901e | ||
|
|
c97ac284a5 | ||
|
|
54e06e841d | ||
|
|
7ce84491d1 | ||
|
|
532bee7ce1 | ||
|
|
e24f949517 | ||
|
|
4545beb49d | ||
|
|
3f4bf61ae6 | ||
|
|
155e846818 | ||
|
|
ba3707af22 | ||
|
|
ad79b9ed86 | ||
|
|
5f7df5e742 | ||
|
|
7aa7221756 | ||
|
|
8844554da6 | ||
|
|
6f0eedc9a6 | ||
|
|
f21cd286ca | ||
|
|
f1b533ad87 | ||
|
|
5a97d183df | ||
|
|
fbd57b3264 | ||
|
|
efc369ee83 | ||
|
|
91ecf71109 | ||
|
|
9b6525e805 | ||
|
|
dc7d02ebf6 | ||
|
|
7037184a4e | ||
|
|
bf38d94756 | ||
|
|
3d17434510 | ||
|
|
29d6c875d0 | ||
|
|
902772ed0c | ||
|
|
1229c4c4ea | ||
|
|
7fecf2ad6b | ||
|
|
c418da353f | ||
|
|
110cf372eb | ||
|
|
7a004087f7 | ||
|
|
70cfe24e67 | ||
|
|
8960f6869f | ||
|
|
71a92de5d9 |
No files matched your search
@@ -15,3 +15,6 @@ fmlbranding.properties
|
||||
/binpatch
|
||||
/mcp_data/
|
||||
/map_client.txt
|
||||
/*.lzma
|
||||
**/*.lzma
|
||||
/installer_base.jar
|
||||
@@ -131,9 +131,10 @@
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="merge-common">
|
||||
<target name="merge-common" depends="buildenvsetup,build-deobf-data">
|
||||
<copy todir="${client.mcp.srcdir}" overwrite="true" verbose="true">
|
||||
<fileset dir="${common.src.dir}" includes="**/*.java" />
|
||||
<fileset dir="${basedir}" includes="deobfuscation_data-${version.minecraft}.lzma"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
@@ -145,15 +146,25 @@
|
||||
</condition>
|
||||
|
||||
<mkdir dir="${basedir}/target" />
|
||||
<jar destfile="${basedir}/target/${universal.jarname}.zip" duplicate="preserve">
|
||||
<path id="server.classpath">
|
||||
<pathelement path="${mcp.home}/jars/libraries/net/minecraft/launchwrapper/1.3/launchwrapper-1.3.jar"/>
|
||||
<pathelement path="${mcp.home}/jars/libraries/org/ow2/asm/asm-all/4.1/asm-all-4.1.jar"/>
|
||||
<pathelement path="${mcp.home}/jars/libraries/lzma/lzma/0.0.1/lzma-0.0.1.jar"/>
|
||||
<pathelement path="${mcp.home}/jars/libraries/net/sf/jopt-simple/jopt-simple/4.5/jopt-simple-4.5.jar"/>
|
||||
<pathelement path="${mcp.home}/jars/minecraft_server.${version.minecraft}.jar"/>
|
||||
</path>
|
||||
<manifestclasspath property="server.jar.classpath" jarfile="${mcp.home}/jars/minecraft_server.jar">
|
||||
<classpath refid="server.classpath" />
|
||||
</manifestclasspath>
|
||||
<jar destfile="${basedir}/target/${universal.jarname}.jar" duplicate="preserve">
|
||||
<manifest>
|
||||
<attribute name="Main-Class" value="cpw.mods.fml.relauncher.ServerLaunchWrapper" />
|
||||
<attribute name="Class-Path" value="minecraft_server.jar:lib/guava-14.0-rc3.jar:lib/bcprov-jdk15on-148-src.zip:lib/asm-debug-all-4.1.jar:lib/scala-library.jar:lib/argo-3.2-src.jar" />
|
||||
<attribute name="Class-Path" value="${server.jar.classpath}" />
|
||||
</manifest>
|
||||
<fileset dir="${client.mcp.obfoutput}" includes="**/*.class" excludes="*.class,net/minecraft/**/*.class" />
|
||||
</jar>
|
||||
<antcall target="signjar" />
|
||||
<zip update="true" destfile="${basedir}/target/${universal.jarname}.zip">
|
||||
<zip update="true" destfile="${basedir}/target/${universal.jarname}.jar">
|
||||
<fileset dir="${basedir}" includes="binpatches.pack.lzma,deobfuscation_data-${version.minecraft}.lzma"/>
|
||||
<fileset dir="${client.mcp.obfoutput}" includes="*.class" />
|
||||
<zipfileset dir="${basedir}" includes="fmlversion.properties" />
|
||||
@@ -180,10 +191,39 @@
|
||||
</zip>
|
||||
</target>
|
||||
|
||||
<target name="build-installer" depends="build-universal">
|
||||
<condition property="version.fullname" value="${version.minecraft}-${version}" else="${version.minecraft}-${version}-${version.branch}">
|
||||
<equals arg1="${version.branch}" arg2="master" />
|
||||
</condition>
|
||||
<tstamp>
|
||||
<format property="current.time" pattern="yyyy-MM-dd'T'HH:mm:ssZ" />
|
||||
</tstamp>
|
||||
|
||||
<delete file="${basedir}/installer_base.jar" />
|
||||
<delete file="${basedir}/install_profile.json" />
|
||||
<get src="http://files.minecraftforge.net/installer/forge-installer-1.0.jar" dest="${basedir}/installer_base.jar" />
|
||||
<copy file="${basedir}/jsons/${version.minecraft}-rel.json" tofile="${basedir}/install_profile.json" />
|
||||
<copy file="${basedir}/installer_base.jar" tofile="${basedir}/target/${modname}-installer-${version.fullname}.jar" />
|
||||
<replace file="${basedir}/install_profile.json">
|
||||
<replaceFilter token="@version@" value="${version}" />
|
||||
<replaceFilter token="@minecraft_version@" value="${version.minecraft}" />
|
||||
<replaceFilter token="@timestamp@" value="${current.time}" />
|
||||
<replaceFilter token="@universal_jar@" value="${modname}-universal-${version.fullname}.jar" />
|
||||
</replace>
|
||||
<jar destfile="${basedir}/target/${modname}-installer-${version.fullname}.jar" update="true">
|
||||
<zipfileset dir="${basedir}" includes="install_profile.json" />
|
||||
<zipfileset dir="${basedir}/jsons" includes="big_logo.png" />
|
||||
<zipfileset dir="${basedir}/target" includes="${modname}-universal-${version.fullname}.jar" />
|
||||
</jar>
|
||||
<delete file="${basedir}/install_profile.json" />
|
||||
</target>
|
||||
|
||||
<target name="build-source-pack" depends="makeversion">
|
||||
<property name="srcpack.jarname" value="${modname}-src-${version.minecraft}-${version}-${version.branch}" />
|
||||
<zip destfile="${basedir}/target/${srcpack.jarname}.zip">
|
||||
<zipfileset dir="${basedir}" includes="LICENSE-fml.txt,difflist.txt,commands.patch,mcp_merge.cfg,mc_versions.cfg" prefix="fml" />
|
||||
<zipfileset dir="${basedir}/jsons" includes="${version.minecraft}-dev.json" fullpath="fml/fml.json"/>
|
||||
<zipfileset dir="${basedir}" includes="deobfuscation_data-${version.minecraft}.lzma" prefix="fml/common" />
|
||||
<zipfileset dir="${common.src.dir}" includes="**/*.java" prefix="fml/common" />
|
||||
<zipfileset dir="${client.src.dir}" includes="**/*.java" prefix="fml/client" />
|
||||
<zipfileset dir="${client.src.dir}" includes="mcp.png" prefix="fml/client" />
|
||||
@@ -230,12 +270,9 @@
|
||||
</copy>
|
||||
<antcall target="writeversion" />
|
||||
<delete dir="build-tmp-deobf" />
|
||||
<zip destfile="deobfuscation_data-${version.minecraft}.jar" basedir="${basedir}">
|
||||
<include name="deobfuscation_data-${version.minecraft}.lzma"/>
|
||||
</zip>
|
||||
</target>
|
||||
|
||||
<target name="build" depends="buildenvsetup,merge-client,merge-common,build-deobf-data,build-universal,build-source-pack" />
|
||||
<target name="build" depends="buildenvsetup,build-deobf-data,merge-client,merge-common,build-universal,build-installer,build-source-pack" />
|
||||
|
||||
<target name="jenkinsbuild" depends="buildenvsetup,jenkinsfmldecompile,patch,build" />
|
||||
|
||||
@@ -274,6 +311,13 @@
|
||||
<fileset dir="${mcp.srcdir}" />
|
||||
</copy>
|
||||
<antcall target="writeversion" />
|
||||
<delete>
|
||||
<fileset dir="${basedir}" includes="deobfuscation_data-*.lzma" />
|
||||
</delete>
|
||||
<antcall target="build-deobf-data" />
|
||||
<copy todir="${common.src.dir}">
|
||||
<fileset dir="${basedir}" includes="deobfuscation_data-*.lzma" />
|
||||
</copy>
|
||||
<antcall target="makeeclipse" />
|
||||
<echo>Setup complete! You should now be able to open ${basedir}/eclipse as a workspace in eclipse and import/refresh the FML project</echo>
|
||||
</target>
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
*/
|
||||
package cpw.mods.fml.client;
|
||||
|
||||
import java.io.File;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
@@ -28,6 +30,9 @@ 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.client.resources.FileResourcePack;
|
||||
import net.minecraft.client.resources.FolderResourcePack;
|
||||
import net.minecraft.client.resources.ResourcePack;
|
||||
import net.minecraft.crash.CrashReport;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
@@ -78,7 +83,7 @@ import cpw.mods.fml.relauncher.Side;
|
||||
/**
|
||||
* Handles primary communication from hooked code into the system
|
||||
*
|
||||
* The FML entry point is {@link #beginMinecraftLoading(Minecraft)} called from
|
||||
* The FML entry point is {@link #beginMinecraftLoading(Minecraft, List)} called from
|
||||
* {@link Minecraft}
|
||||
*
|
||||
* Obfuscated code should focus on this class and other members of the "server"
|
||||
@@ -126,14 +131,18 @@ public class FMLClientHandler implements IFMLSidedHandler
|
||||
|
||||
private boolean serverShouldBeKilledQuietly;
|
||||
|
||||
private List<ResourcePack> resourcePackList;
|
||||
|
||||
/**
|
||||
* Called to start the whole game off
|
||||
*
|
||||
* @param minecraft The minecraft instance being launched
|
||||
* @param resourcePackList The resource pack list we will populate with mods
|
||||
*/
|
||||
public void beginMinecraftLoading(Minecraft minecraft)
|
||||
public void beginMinecraftLoading(Minecraft minecraft, List resourcePackList)
|
||||
{
|
||||
client = minecraft;
|
||||
this.resourcePackList = resourcePackList;
|
||||
if (minecraft.func_71355_q())
|
||||
{
|
||||
FMLLog.severe("DEMO MODE DETECTED, FML will not work. Finishing now.");
|
||||
@@ -223,7 +232,8 @@ public class FMLClientHandler implements IFMLSidedHandler
|
||||
haltGame("There was a severe problem during mod loading that has caused the game to fail", le);
|
||||
return;
|
||||
}
|
||||
LanguageRegistry.reloadLanguageTable();
|
||||
// Reload resources
|
||||
client.func_110436_a();
|
||||
RenderingRegistry.instance().loadEntityRenderers((Map<Class<? extends Entity>, Render>)RenderManager.field_78727_a.field_78729_o);
|
||||
|
||||
loading = false;
|
||||
@@ -550,4 +560,29 @@ public class FMLClientHandler implements IFMLSidedHandler
|
||||
{
|
||||
return client.field_71462_r != null && client.field_71462_r.getClass().equals(gui);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void addModAsResource(ModContainer container)
|
||||
{
|
||||
Class<?> resourcePackType = container.getCustomResourcePackClass();
|
||||
if (resourcePackType != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
ResourcePack pack = (ResourcePack) resourcePackType.getConstructor(ModContainer.class).newInstance(container);
|
||||
resourcePackList.add(pack);
|
||||
}
|
||||
catch (NoSuchMethodException e)
|
||||
{
|
||||
FMLLog.log(Level.SEVERE, "The container %s (type %s) returned an invalid class for it's resource pack.", container.getName(), container.getClass().getName());
|
||||
return;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
FMLLog.log(Level.SEVERE, e, "An unexpected exception occurred constructing the custom resource pack for %s", container.getName());
|
||||
throw Throwables.propagate(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package cpw.mods.fml.client;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import com.google.common.base.Charsets;
|
||||
|
||||
import cpw.mods.fml.common.FMLLog;
|
||||
import cpw.mods.fml.common.ModContainer;
|
||||
|
||||
import net.minecraft.client.resources.FileResourcePack;
|
||||
|
||||
public class FMLFileResourcePack extends FileResourcePack {
|
||||
|
||||
private ModContainer container;
|
||||
|
||||
public FMLFileResourcePack(ModContainer container)
|
||||
{
|
||||
super(container.getSource());
|
||||
this.container = container;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String func_130077_b()
|
||||
{
|
||||
return "FMLFileResourcePack:"+container.getName();
|
||||
}
|
||||
@Override
|
||||
protected InputStream func_110591_a(String resourceName) throws IOException
|
||||
{
|
||||
try
|
||||
{
|
||||
return super.func_110591_a(resourceName);
|
||||
}
|
||||
catch (IOException ioe)
|
||||
{
|
||||
if ("pack.mcmeta".equals(resourceName))
|
||||
{
|
||||
FMLLog.log(container.getName(), Level.WARNING, "Mod %s is missing a pack.mcmeta file, things may not work well", container.getName());
|
||||
return new ByteArrayInputStream(("{\n" +
|
||||
" \"pack\": {\n"+
|
||||
" \"description\": \"dummy FML pack for "+container.getName()+"\",\n"+
|
||||
" \"pack_format\": 1\n"+
|
||||
"}\n" +
|
||||
"}").getBytes(Charsets.UTF_8));
|
||||
}
|
||||
else throw ioe;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package cpw.mods.fml.client;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import net.minecraft.client.resources.FolderResourcePack;
|
||||
|
||||
import com.google.common.base.Charsets;
|
||||
|
||||
import cpw.mods.fml.common.FMLLog;
|
||||
import cpw.mods.fml.common.ModContainer;
|
||||
|
||||
public class FMLFolderResourcePack extends FolderResourcePack {
|
||||
|
||||
private ModContainer container;
|
||||
|
||||
public FMLFolderResourcePack(ModContainer container)
|
||||
{
|
||||
super(container.getSource());
|
||||
this.container = container;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String func_130077_b()
|
||||
{
|
||||
return "FMLFileResourcePack:"+container.getName();
|
||||
}
|
||||
@Override
|
||||
protected InputStream func_110591_a(String resourceName) throws IOException
|
||||
{
|
||||
try
|
||||
{
|
||||
return super.func_110591_a(resourceName);
|
||||
}
|
||||
catch (IOException ioe)
|
||||
{
|
||||
if ("pack.mcmeta".equals(resourceName))
|
||||
{
|
||||
FMLLog.log(container.getName(), Level.WARNING, "Mod %s is missing a pack.mcmeta file, things may not work well", container.getName());
|
||||
return new ByteArrayInputStream(("{\n" +
|
||||
" \"pack\": {\n"+
|
||||
" \"description\": \"dummy FML pack for "+container.getName()+"\",\n"+
|
||||
" \"pack_format\": 1\n"+
|
||||
"}\n" +
|
||||
"}").getBytes(Charsets.UTF_8));
|
||||
}
|
||||
else throw ioe;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -626,6 +626,7 @@ public class ModLoader
|
||||
*
|
||||
* @param block
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public static void registerBlock(Block block)
|
||||
{
|
||||
GameRegistry.registerBlock(block);
|
||||
@@ -637,6 +638,7 @@ public class ModLoader
|
||||
* @param block
|
||||
* @param itemclass
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public static void registerBlock(Block block, Class<? extends ItemBlock> itemclass)
|
||||
{
|
||||
GameRegistry.registerBlock(block, itemclass);
|
||||
|
||||
+9
-18
@@ -9,7 +9,7 @@
|
||||
|
||||
class Commands(object):
|
||||
"""Contains the commands and initialisation for a full mcp run"""
|
||||
@@ -943,6 +945,8 @@
|
||||
@@ -950,6 +952,8 @@
|
||||
binlk = {CLIENT: self.binclient, SERVER: self.binserver}
|
||||
testlk = {CLIENT: self.testclient, SERVER: self.testserver}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
if not os.path.exists(os.path.join(binlk[side], os.path.normpath(testlk[side] + '.class'))):
|
||||
return False
|
||||
return True
|
||||
@@ -1274,6 +1278,9 @@
|
||||
@@ -1281,6 +1285,9 @@
|
||||
pathbinlk = {CLIENT: self.binclient, SERVER: self.binserver}
|
||||
pathsrclk = {CLIENT: self.srcclient, SERVER: self.srcserver}
|
||||
pathlog = {CLIENT: self.clientrecomplog, SERVER: self.serverrecomplog}
|
||||
@@ -28,25 +28,16 @@
|
||||
|
||||
if not os.path.exists(pathbinlk[side]):
|
||||
os.makedirs(pathbinlk[side])
|
||||
@@ -1331,7 +1338,7 @@
|
||||
@@ -1338,7 +1345,7 @@
|
||||
raise
|
||||
|
||||
def startserver(self):
|
||||
def startserver(self, mainclass, extraargs):
|
||||
- classpath = [self.binserver] + self.cpathserver
|
||||
+ classpath = [self.binclient, self.srcclient] + self.cpathserver
|
||||
+ classpath = [self.binclient, self.srcclient] + self.cpathserver + self.cpathclient
|
||||
classpath = [os.path.join('..', p) for p in classpath]
|
||||
classpath = os.pathsep.join(classpath)
|
||||
os.chdir(self.dirjars)
|
||||
@@ -1339,7 +1346,7 @@
|
||||
self.runmc(forkcmd)
|
||||
|
||||
def startclient(self):
|
||||
- classpath = [self.binclient] + self.cpathclient
|
||||
+ classpath = [self.binclient, self.srcclient] + self.cpathclient
|
||||
classpath = [os.path.join('..', p) for p in classpath]
|
||||
classpath = os.pathsep.join(classpath)
|
||||
natives = os.path.join('..', self.dirnatives)
|
||||
@@ -1696,7 +1703,7 @@
|
||||
@@ -1703,7 +1710,7 @@
|
||||
self.runcmd(forkcmd)
|
||||
return True
|
||||
|
||||
@@ -55,7 +46,7 @@
|
||||
if not reobf:
|
||||
md5lk = {CLIENT: self.md5client, SERVER: self.md5server}
|
||||
else:
|
||||
@@ -1711,6 +1718,9 @@
|
||||
@@ -1718,6 +1725,9 @@
|
||||
class_path = ''
|
||||
else:
|
||||
class_path += '/'
|
||||
@@ -65,7 +56,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))
|
||||
@@ -1883,6 +1893,9 @@
|
||||
@@ -1890,6 +1900,9 @@
|
||||
sys.exit(1)
|
||||
|
||||
for entry in newfiles:
|
||||
@@ -75,7 +66,7 @@
|
||||
if entry[3] == 'U':
|
||||
self.logger.info('Retrieving file from server : %s', entry[0])
|
||||
cur_file = os.path.normpath(entry[0])
|
||||
@@ -1903,6 +1916,9 @@
|
||||
@@ -1910,6 +1923,9 @@
|
||||
md5reoblk = {CLIENT: self.md5reobfclient, SERVER: self.md5reobfserver}
|
||||
outpathlk = {CLIENT: self.srcmodclient, SERVER: self.srcmodserver}
|
||||
src = {CLIENT: self.srcclient, SERVER: self.srcserver}
|
||||
|
||||
@@ -175,4 +175,9 @@ public class DummyModContainer implements ModContainer
|
||||
{
|
||||
return EMPTY_PROPERTIES;
|
||||
}
|
||||
@Override
|
||||
public Class<?> getCustomResourcePackClass()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -486,4 +486,9 @@ public class FMLCommonHandler
|
||||
}
|
||||
return Joiner.on(',').join(modNames);
|
||||
}
|
||||
|
||||
public void addModToResourcePack(ModContainer container)
|
||||
{
|
||||
sidedDelegate.addModAsResource(container);
|
||||
}
|
||||
}
|
||||
@@ -89,6 +89,7 @@ public class FMLModContainer implements ModContainer
|
||||
private DefaultArtifactVersion processedVersion;
|
||||
private boolean isNetworkMod;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private static final BiMap<Class<? extends FMLEvent>, Class<? extends Annotation>> modAnnotationTypes = ImmutableBiMap.<Class<? extends FMLEvent>, Class<? extends Annotation>>builder()
|
||||
.put(FMLPreInitializationEvent.class, Mod.PreInit.class)
|
||||
.put(FMLInitializationEvent.class, Mod.Init.class)
|
||||
@@ -342,7 +343,7 @@ public class FMLModContainer implements ModContainer
|
||||
if (m.getParameterTypes().length == 1 && modAnnotationTypes.containsKey(m.getParameterTypes()[0]))
|
||||
{
|
||||
m.setAccessible(true);
|
||||
eventMethods.put((Class<? extends FMLEvent>) m.getParameterTypes()[1],m);
|
||||
eventMethods.put((Class<? extends FMLEvent>) m.getParameterTypes()[0],m);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -595,4 +596,17 @@ public class FMLModContainer implements ModContainer
|
||||
{
|
||||
return customModProperties;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<?> getCustomResourcePackClass()
|
||||
{
|
||||
try
|
||||
{
|
||||
return getSource().isDirectory() ? Class.forName("cpw.mods.fml.client.FMLFolderResourcePack", true, getClass().getClassLoader()) : Class.forName("cpw.mods.fml.client.FMLFileResourcePack",true, getClass().getClassLoader());
|
||||
}
|
||||
catch (ClassNotFoundException e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* are made available under the terms of the GNU Lesser Public License v2.1
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
*
|
||||
*
|
||||
* Contributors:
|
||||
* cpw - implementation
|
||||
*/
|
||||
@@ -62,4 +62,6 @@ public interface IFMLSidedHandler
|
||||
boolean shouldServerShouldBeKilledQuietly();
|
||||
|
||||
void disconnectIDMismatch(MapDifference<Integer, ItemData> s, NetHandler toKill, INetworkManager mgr);
|
||||
|
||||
void addModAsResource(ModContainer container);
|
||||
}
|
||||
@@ -161,4 +161,10 @@ public class InjectedModContainer implements ModContainer
|
||||
{
|
||||
return wrappedContainer.getCustomModProperties();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<?> getCustomResourcePackClass()
|
||||
{
|
||||
return wrappedContainer.getCustomResourcePackClass();
|
||||
}
|
||||
}
|
||||
@@ -84,6 +84,7 @@ public class LoadController
|
||||
activeModList.add(mod);
|
||||
modStates.put(mod.getModId(), ModState.UNLOADED);
|
||||
eventBus.put(mod.getModId(), bus);
|
||||
FMLCommonHandler.instance().addModToResourcePack(mod);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -344,6 +344,12 @@ public class Loader
|
||||
|
||||
FMLLog.info("Searching %s for mods", canonicalModsDir.getAbsolutePath());
|
||||
discoverer.findModDirMods(canonicalModsDir);
|
||||
File versionSpecificModsDir = new File(canonicalModsDir,mccversion);
|
||||
if (versionSpecificModsDir.isDirectory())
|
||||
{
|
||||
FMLLog.info("Also searching %s for mods", versionSpecificModsDir);
|
||||
discoverer.findModDirMods(versionSpecificModsDir);
|
||||
}
|
||||
|
||||
mods.addAll(discoverer.identifyMods());
|
||||
identifyDuplicates(mods);
|
||||
|
||||
@@ -20,6 +20,7 @@ import java.lang.annotation.Target;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.network.packet.Packet250CustomPayload;
|
||||
|
||||
import cpw.mods.fml.common.event.FMLEvent;
|
||||
import cpw.mods.fml.common.event.FMLFingerprintViolationEvent;
|
||||
import cpw.mods.fml.common.event.FMLInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLInterModComms;
|
||||
@@ -68,6 +69,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
|
||||
* // Do stuff in pre-init phase (read config, create blocks and items, register them)
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @author cpw
|
||||
|
||||
@@ -20,6 +20,7 @@ import java.net.URLClassLoader;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import net.minecraft.launchwrapper.IClassTransformer;
|
||||
import net.minecraft.launchwrapper.LaunchClassLoader;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
@@ -82,8 +83,21 @@ public class ModClassLoader extends URLClassLoader
|
||||
|
||||
public Class<? extends BaseModProxy> loadBaseModClass(String modClazzName) throws Exception
|
||||
{
|
||||
AccessTransformer transformer = (AccessTransformer)mainClassLoader.getTransformers().get(0);
|
||||
transformer.ensurePublicAccessFor(modClazzName);
|
||||
AccessTransformer accessTransformer = null;
|
||||
for (IClassTransformer transformer : mainClassLoader.getTransformers())
|
||||
{
|
||||
if (transformer instanceof AccessTransformer)
|
||||
{
|
||||
accessTransformer = (AccessTransformer) transformer;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (accessTransformer == null)
|
||||
{
|
||||
FMLLog.log(Level.SEVERE, "No access transformer found");
|
||||
throw new LoaderException();
|
||||
}
|
||||
accessTransformer.ensurePublicAccessFor(modClazzName);
|
||||
return (Class<? extends BaseModProxy>) Class.forName(modClazzName, true, this);
|
||||
}
|
||||
}
|
||||
@@ -136,4 +136,6 @@ public interface ModContainer
|
||||
|
||||
public static final Map<String,String> EMPTY_PROPERTIES = ImmutableMap.of();
|
||||
Map<String,String> getCustomModProperties();
|
||||
|
||||
public Class<?> getCustomResourcePackClass();
|
||||
}
|
||||
@@ -40,6 +40,7 @@ import java.lang.annotation.Target;
|
||||
* public class ClientProxy extends CommonProxy {
|
||||
* // Override common stuff with client specific stuff here
|
||||
* }
|
||||
* }
|
||||
* </pre>
|
||||
* @author cpw
|
||||
*
|
||||
|
||||
@@ -51,7 +51,7 @@ import cpw.mods.fml.relauncher.IFMLCallHook;
|
||||
|
||||
public class FMLSanityChecker implements IFMLCallHook
|
||||
{
|
||||
private static final String FMLFINGERPRINT = "AE:F6:54:79:96:E9:1B:D1:59:70:6C:B4:6B:F5:4A:89:C5:CE:08:1D".toLowerCase().replace(":","");
|
||||
private static final String FMLFINGERPRINT = "51:0A:FB:4C:AF:A4:A0:F2:F5:CF:C5:0E:B4:CC:3C:30:24:4A:E3:8E".toLowerCase().replace(":","");
|
||||
private static final String FORGEFINGERPRINT = "DE:4C:F8:A3:F3:BC:15:63:58:10:04:4C:39:24:0B:F9:68:04:EA:7D".toLowerCase().replace(":", "");
|
||||
static class MLDetectorClassVisitor extends ClassVisitor
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* are made available under the terms of the GNU Lesser Public License v2.1
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
*
|
||||
*
|
||||
* Contributors:
|
||||
* cpw - implementation
|
||||
*/
|
||||
@@ -14,10 +14,10 @@ package cpw.mods.fml.common.discovery;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.jar.JarFile;
|
||||
import java.util.logging.Level;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipFile;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
@@ -35,11 +35,16 @@ public class JarDiscoverer implements ITypeDiscoverer
|
||||
{
|
||||
List<ModContainer> foundMods = Lists.newArrayList();
|
||||
FMLLog.fine("Examining file %s for potential mods", candidate.getModContainer().getName());
|
||||
ZipFile jar = null;
|
||||
JarFile jar = null;
|
||||
try
|
||||
{
|
||||
jar = new ZipFile(candidate.getModContainer());
|
||||
jar = new JarFile(candidate.getModContainer());
|
||||
|
||||
if (jar.getManifest()!=null && jar.getManifest().getMainAttributes().get("FMLCorePlugin") != null)
|
||||
{
|
||||
FMLLog.finest("Ignoring coremod %s", candidate.getModContainer());
|
||||
return foundMods;
|
||||
}
|
||||
ZipEntry modInfo = jar.getEntry("mcmod.info");
|
||||
MetadataCollection mc = null;
|
||||
if (modInfo != null)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* are made available under the terms of the GNU Lesser Public License v2.1
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
*
|
||||
*
|
||||
* Contributors:
|
||||
* cpw - implementation
|
||||
*/
|
||||
@@ -41,7 +41,10 @@ public class ModDiscoverer
|
||||
|
||||
public void findClasspathMods(ModClassLoader modClassLoader)
|
||||
{
|
||||
List<String> knownLibraries = ImmutableList.<String>builder().addAll(modClassLoader.getDefaultLibraries()).addAll(CoreModManager.getLibraries()).build();
|
||||
List<String> knownLibraries = ImmutableList.<String>builder()
|
||||
.addAll(modClassLoader.getDefaultLibraries())
|
||||
.addAll(CoreModManager.getLoadedCoremods())
|
||||
.build();
|
||||
File[] minecraftSources = modClassLoader.getParentSources();
|
||||
if (minecraftSources.length == 1 && minecraftSources[0].isFile())
|
||||
{
|
||||
|
||||
@@ -13,6 +13,12 @@ public class FMLServerTweaker extends FMLTweaker {
|
||||
@Override
|
||||
public void injectIntoClassLoader(LaunchClassLoader classLoader)
|
||||
{
|
||||
computeCascadedTweaks(classLoader);
|
||||
classLoader.addTransformerExclusion("cpw.mods.fml.repackage.");
|
||||
classLoader.addTransformerExclusion("cpw.mods.fml.relauncher.");
|
||||
classLoader.addTransformerExclusion("cpw.mods.fml.common.asm.transformers.");
|
||||
classLoader.addClassLoaderExclusion("LZMA.");
|
||||
FMLLaunchHandler.configureForServerLaunch(classLoader, this);
|
||||
runAdditionalTweaks(classLoader);
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,14 @@ import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import joptsimple.ArgumentAcceptingOptionSpec;
|
||||
import joptsimple.NonOptionArgumentSpec;
|
||||
import joptsimple.OptionParser;
|
||||
import joptsimple.OptionSet;
|
||||
|
||||
import com.google.common.base.Joiner;
|
||||
import com.google.common.base.Throwables;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.ObjectArrays;
|
||||
|
||||
import cpw.mods.fml.relauncher.FMLLaunchHandler;
|
||||
@@ -22,11 +29,14 @@ public class FMLTweaker implements ITweaker {
|
||||
private String profile;
|
||||
private static URI jarLocation;
|
||||
private String[] array;
|
||||
private List<ITweaker> cascadedTweaks;
|
||||
private String profileName;
|
||||
private OptionSet parsedOptions;
|
||||
private ArgumentAcceptingOptionSpec<String> cascadedTweaksOption;
|
||||
|
||||
@Override
|
||||
public void acceptOptions(List<String> args, File gameDir, File assetsDir, String profile)
|
||||
{
|
||||
this.args = args;
|
||||
this.gameDir = (gameDir == null ? new File(".") : gameDir);
|
||||
this.assetsDir = assetsDir;
|
||||
this.profile = profile;
|
||||
@@ -39,16 +49,64 @@ public class FMLTweaker implements ITweaker {
|
||||
Logger.getLogger("FMLTWEAK").log(Level.SEVERE, "Missing URI information for FML tweak");
|
||||
throw Throwables.propagate(e);
|
||||
}
|
||||
|
||||
OptionParser optionParser = new OptionParser();
|
||||
cascadedTweaksOption = optionParser.accepts("cascadedTweaks", "Additional tweaks to be called by FML, implementing ITweaker").withRequiredArg().ofType(String.class).withValuesSeparatedBy(',');
|
||||
ArgumentAcceptingOptionSpec<String> profileNameOption = optionParser.accepts("profileName", "A profile name, parsed by FML to control mod loading and such").withRequiredArg().ofType(String.class);
|
||||
optionParser.allowsUnrecognizedOptions();
|
||||
NonOptionArgumentSpec<String> nonOptions = optionParser.nonOptions();
|
||||
|
||||
parsedOptions = optionParser.parse(args.toArray(new String[args.size()]));
|
||||
if (parsedOptions.has(profileNameOption))
|
||||
{
|
||||
profileName = profileNameOption.value(parsedOptions);
|
||||
}
|
||||
this.args = parsedOptions.valuesOf(nonOptions);
|
||||
this.cascadedTweaks = Lists.newArrayList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void injectIntoClassLoader(LaunchClassLoader classLoader)
|
||||
{
|
||||
computeCascadedTweaks(classLoader);
|
||||
classLoader.addTransformerExclusion("cpw.mods.fml.repackage.");
|
||||
classLoader.addTransformerExclusion("cpw.mods.fml.relauncher.");
|
||||
classLoader.addTransformerExclusion("cpw.mods.fml.common.asm.transformers.");
|
||||
classLoader.addClassLoaderExclusion("LZMA.");
|
||||
FMLLaunchHandler.configureForClientLaunch(classLoader, this);
|
||||
runAdditionalTweaks(classLoader);
|
||||
}
|
||||
|
||||
void computeCascadedTweaks(LaunchClassLoader classLoader)
|
||||
{
|
||||
if (parsedOptions.has(cascadedTweaksOption))
|
||||
{
|
||||
for (String tweaker : cascadedTweaksOption.values(parsedOptions))
|
||||
{
|
||||
try
|
||||
{
|
||||
classLoader.addClassLoaderExclusion(tweaker.substring(0,tweaker.lastIndexOf('.')));
|
||||
Class<? extends ITweaker> tweakClass = (Class<? extends ITweaker>) Class.forName(tweaker,true,classLoader);
|
||||
ITweaker additionalTweak = tweakClass.newInstance();
|
||||
cascadedTweaks.add(additionalTweak);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Logger.getLogger("FMLTWEAK").log(Level.INFO, "Missing additional tweak class "+tweaker);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void runAdditionalTweaks(LaunchClassLoader classLoader)
|
||||
{
|
||||
List<String> fmlArgs = Lists.newArrayList(args);
|
||||
fmlArgs.add("--fmlIsPresent");
|
||||
for (ITweaker tweak : cascadedTweaks)
|
||||
{
|
||||
tweak.acceptOptions(fmlArgs, gameDir, assetsDir, profile);
|
||||
tweak.injectIntoClassLoader(classLoader);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -83,6 +141,10 @@ public class FMLTweaker implements ITweaker {
|
||||
array = ObjectArrays.concat("UnknownFMLProfile",array);
|
||||
array = ObjectArrays.concat("--version",array);
|
||||
}
|
||||
for (ITweaker tweak: cascadedTweaks)
|
||||
{
|
||||
array = ObjectArrays.concat(tweak.getLaunchArguments(), array, String.class);
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ public class ModLoaderFuelHelper implements IFuelHandler
|
||||
@Override
|
||||
public int getBurnTime(ItemStack fuel)
|
||||
{
|
||||
return mod.addFuel(fuel.field_77993_c, fuel.field_77993_c);
|
||||
return mod.addFuel(fuel.field_77993_c, fuel.func_77960_j());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -621,4 +621,10 @@ public class ModLoaderModContainer implements ModContainer
|
||||
{
|
||||
return EMPTY_PROPERTIES;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<?> getCustomResourcePackClass()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
/*
|
||||
* Forge Mod Loader
|
||||
* Copyright (c) 2012-2013 cpw.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the GNU Lesser Public License v2.1
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
*
|
||||
* Contributors:
|
||||
* cpw - implementation
|
||||
*/
|
||||
|
||||
package cpw.mods.fml.relauncher;
|
||||
|
||||
public class CoreFMLLibraries implements ILibrarySet
|
||||
{
|
||||
private static String[] libraries = { "argo-small-3.2.jar","guava-14.0-rc3.jar","asm-all-4.1.jar", "bcprov-jdk15on-148.jar", FMLInjectionData.debfuscationDataName(), "scala-library.jar" };
|
||||
private static String[] checksums = { "58912ea2858d168c50781f956fa5b59f0f7c6b51", "931ae21fa8014c3ce686aaa621eae565fefb1a6a", "054986e962b88d8660ae4566475658469595ef58", "960dea7c9181ba0b17e8bab0c06a43f0a5f04e65", FMLInjectionData.deobfuscationDataHash, "458d046151ad179c85429ed7420ffb1eaf6ddf85" };
|
||||
|
||||
@Override
|
||||
public String[] getLibraries()
|
||||
{
|
||||
return libraries;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getHashes()
|
||||
{
|
||||
return checksums;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRootURL()
|
||||
{
|
||||
return System.getProperty("fml.core.libraries.mirror", "http://files.minecraftforge.net/fmllibs/%s");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -37,6 +37,8 @@ import java.util.jar.Attributes;
|
||||
import java.util.jar.JarFile;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import com.google.common.collect.ObjectArrays;
|
||||
|
||||
import net.minecraft.launchwrapper.LaunchClassLoader;
|
||||
|
||||
import cpw.mods.fml.common.CertificateHelper;
|
||||
@@ -46,10 +48,9 @@ import cpw.mods.fml.relauncher.IFMLLoadingPlugin.TransformerExclusions;
|
||||
public class CoreModManager
|
||||
{
|
||||
private static String[] rootPlugins = { "cpw.mods.fml.relauncher.FMLCorePlugin" , "net.minecraftforge.classloading.FMLForgePlugin" };
|
||||
private static List<String> loadedLibraries = new ArrayList<String>();
|
||||
private static List<String> loadedCoremods = new ArrayList<String>();
|
||||
private static Map<IFMLLoadingPlugin, File> pluginLocations;
|
||||
private static List<IFMLLoadingPlugin> loadPlugins;
|
||||
private static List<ILibrarySet> libraries;
|
||||
private static boolean deobfuscatedEnvironment;
|
||||
|
||||
public static void handleLaunch(File mcDir, LaunchClassLoader classLoader)
|
||||
@@ -93,7 +94,7 @@ public class CoreModManager
|
||||
throw new RuntimeException("A fatal error has occured - no valid fml load plugin was found - this is a completely corrupt FML installation.");
|
||||
}
|
||||
|
||||
downloadMonitor.updateProgressString("All core mods are successfully located");
|
||||
FMLRelaunchLog.fine("All core mods are successfully located");
|
||||
// Now that we have the root plugins loaded - lets see what else might be around
|
||||
String commandLineCoremods = System.getProperty("fml.coreMods.load","");
|
||||
for (String s : commandLineCoremods.split(","))
|
||||
@@ -117,13 +118,6 @@ public class CoreModManager
|
||||
}
|
||||
IFMLLoadingPlugin plugin = (IFMLLoadingPlugin) coreModClass.newInstance();
|
||||
loadPlugins.add(plugin);
|
||||
if (plugin.getLibraryRequestClass()!=null)
|
||||
{
|
||||
for (String libName : plugin.getLibraryRequestClass())
|
||||
{
|
||||
libraries.add((ILibrarySet) Class.forName(libName, true, classLoader).newInstance());
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Throwable e)
|
||||
{
|
||||
@@ -131,135 +125,7 @@ public class CoreModManager
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
discoverCoreMods(mcDir, classLoader, loadPlugins, libraries);
|
||||
|
||||
List<Throwable> caughtErrors = new ArrayList<Throwable>();
|
||||
try
|
||||
{
|
||||
File libDir;
|
||||
try
|
||||
{
|
||||
libDir = setupLibDir(mcDir);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
caughtErrors.add(e);
|
||||
return;
|
||||
}
|
||||
|
||||
libraries = new ArrayList<ILibrarySet>();
|
||||
for (ILibrarySet lib : libraries)
|
||||
{
|
||||
for (int i=0; i<lib.getLibraries().length; i++)
|
||||
{
|
||||
boolean download = false;
|
||||
String libName = lib.getLibraries()[i];
|
||||
String targFileName = libName.lastIndexOf('/')>=0 ? libName.substring(libName.lastIndexOf('/')) : libName;
|
||||
String checksum = lib.getHashes()[i];
|
||||
File libFile = new File(libDir, targFileName);
|
||||
if (!libFile.exists())
|
||||
{
|
||||
try
|
||||
{
|
||||
downloadFile(libFile, lib.getRootURL(), libName, checksum);
|
||||
download = true;
|
||||
}
|
||||
catch (Throwable e)
|
||||
{
|
||||
caughtErrors.add(e);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (libFile.exists() && !libFile.isFile())
|
||||
{
|
||||
caughtErrors.add(new RuntimeException(String.format("Found a file %s that is not a normal file - you should clear this out of the way", libName)));
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!download)
|
||||
{
|
||||
try
|
||||
{
|
||||
FileInputStream fis = new FileInputStream(libFile);
|
||||
FileChannel chan = fis.getChannel();
|
||||
MappedByteBuffer mappedFile = chan.map(MapMode.READ_ONLY, 0, libFile.length());
|
||||
String fileChecksum = generateChecksum(mappedFile);
|
||||
fis.close();
|
||||
// bad checksum and I did not download this file
|
||||
if (!checksum.equals(fileChecksum))
|
||||
{
|
||||
caughtErrors.add(new RuntimeException(String.format("The file %s was found in your lib directory and has an invalid checksum %s (expecting %s) - it is unlikely to be the correct download, please move it out of the way and try again.", libName, fileChecksum, checksum)));
|
||||
continue;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
FMLRelaunchLog.log(Level.SEVERE, e, "The library file %s could not be validated", libFile.getName());
|
||||
caughtErrors.add(new RuntimeException(String.format("The library file %s could not be validated", libFile.getName()),e));
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (!download)
|
||||
{
|
||||
downloadMonitor.updateProgressString("Found library file %s present and correct in lib dir", libName);
|
||||
}
|
||||
else
|
||||
{
|
||||
downloadMonitor.updateProgressString("Library file %s was downloaded and verified successfully", libName);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
classLoader.addURL(libFile.toURI().toURL());
|
||||
loadedLibraries.add(libName);
|
||||
}
|
||||
catch (MalformedURLException e)
|
||||
{
|
||||
caughtErrors.add(new RuntimeException(String.format("Should never happen - %s is broken - probably a somehow corrupted download. Delete it and try again.", libFile.getName()), e));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (downloadMonitor.shouldStopIt())
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!caughtErrors.isEmpty())
|
||||
{
|
||||
FMLRelaunchLog.severe("There were errors during initial FML setup. " +
|
||||
"Some files failed to download or were otherwise corrupted. " +
|
||||
"You will need to manually obtain the following files from " +
|
||||
"these download links and ensure your lib directory is clean. ");
|
||||
for (ILibrarySet set : libraries)
|
||||
{
|
||||
for (String file : set.getLibraries())
|
||||
{
|
||||
FMLRelaunchLog.severe("*** Download "+set.getRootURL(), file);
|
||||
}
|
||||
}
|
||||
FMLRelaunchLog.severe("<===========>");
|
||||
FMLRelaunchLog.severe("The following is the errors that caused the setup to fail. " +
|
||||
"They may help you diagnose and resolve the issue");
|
||||
for (Throwable t : caughtErrors)
|
||||
{
|
||||
if (t.getMessage()!=null)
|
||||
{
|
||||
FMLRelaunchLog.severe(t.getMessage());
|
||||
}
|
||||
}
|
||||
FMLRelaunchLog.severe("<<< ==== >>>");
|
||||
FMLRelaunchLog.severe("The following is diagnostic information for developers to review.");
|
||||
for (Throwable t : caughtErrors)
|
||||
{
|
||||
FMLRelaunchLog.log(Level.SEVERE, t, "Error details");
|
||||
}
|
||||
throw new RuntimeException("A fatal error occured and FML cannot continue");
|
||||
}
|
||||
}
|
||||
discoverCoreMods(mcDir, classLoader, loadPlugins);
|
||||
|
||||
for (IFMLLoadingPlugin plug : loadPlugins)
|
||||
{
|
||||
@@ -277,14 +143,14 @@ public class CoreModManager
|
||||
{
|
||||
classLoader.registerTransformer("cpw.mods.fml.common.asm.transformers.DeobfuscationTransformer");
|
||||
}
|
||||
downloadMonitor.updateProgressString("Running coremod plugins");
|
||||
FMLRelaunchLog.fine("Running coremod plugins");
|
||||
Map<String,Object> data = new HashMap<String,Object>();
|
||||
data.put("mcLocation", mcDir);
|
||||
data.put("coremodList", loadPlugins);
|
||||
data.put("runtimeDeobfuscationEnabled", !deobfuscatedEnvironment);
|
||||
for (IFMLLoadingPlugin plugin : loadPlugins)
|
||||
{
|
||||
downloadMonitor.updateProgressString("Running coremod plugin %s", plugin.getClass().getSimpleName());
|
||||
FMLRelaunchLog.fine("Running coremod plugin %s", plugin.getClass().getSimpleName());
|
||||
data.put("coremodLocation", pluginLocations.get(plugin));
|
||||
plugin.injectData(data);
|
||||
String setupClass = plugin.getSetupClass();
|
||||
@@ -306,7 +172,7 @@ public class CoreModManager
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
downloadMonitor.updateProgressString("Coremod plugin %s run successfully", plugin.getClass().getSimpleName());
|
||||
FMLRelaunchLog.fine("Coremod plugin %s run successfully", plugin.getClass().getSimpleName());
|
||||
|
||||
String modContainer = plugin.getModContainerClass();
|
||||
if (modContainer != null)
|
||||
@@ -316,14 +182,13 @@ public class CoreModManager
|
||||
}
|
||||
try
|
||||
{
|
||||
downloadMonitor.updateProgressString("Validating minecraft");
|
||||
FMLRelaunchLog.fine("Validating minecraft");
|
||||
Class<?> loaderClazz = Class.forName("cpw.mods.fml.common.Loader", true, classLoader);
|
||||
Method m = loaderClazz.getMethod("injectData", Object[].class);
|
||||
m.invoke(null, (Object)FMLInjectionData.data());
|
||||
m = loaderClazz.getMethod("instance");
|
||||
m.invoke(null);
|
||||
downloadMonitor.updateProgressString("Minecraft validated, launching...");
|
||||
downloadBuffer = null;
|
||||
FMLRelaunchLog.fine("Minecraft validated, launching...");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -333,9 +198,9 @@ public class CoreModManager
|
||||
}
|
||||
}
|
||||
|
||||
private static void discoverCoreMods(File mcDir, LaunchClassLoader classLoader, List<IFMLLoadingPlugin> loadPlugins, List<ILibrarySet> libraries)
|
||||
private static void discoverCoreMods(File mcDir, LaunchClassLoader classLoader, List<IFMLLoadingPlugin> loadPlugins)
|
||||
{
|
||||
downloadMonitor.updateProgressString("Discovering coremods");
|
||||
FMLRelaunchLog.fine("Discovering coremods");
|
||||
File coreMods = setupCoreModDir(mcDir);
|
||||
FilenameFilter ff = new FilenameFilter()
|
||||
{
|
||||
@@ -346,11 +211,18 @@ public class CoreModManager
|
||||
}
|
||||
};
|
||||
File[] coreModList = coreMods.listFiles(ff);
|
||||
File versionedModDir = new File(coreMods,FMLInjectionData.mccversion);
|
||||
if (versionedModDir.isDirectory())
|
||||
{
|
||||
File[] versionedCoreMods = versionedModDir.listFiles(ff);
|
||||
coreModList = ObjectArrays.concat(coreModList,versionedCoreMods, File.class);
|
||||
}
|
||||
|
||||
Arrays.sort(coreModList);
|
||||
|
||||
for (File coreMod : coreModList)
|
||||
{
|
||||
downloadMonitor.updateProgressString("Found a candidate coremod %s", coreMod.getName());
|
||||
FMLRelaunchLog.fine("Examining for coremod candidacy %s", coreMod.getName());
|
||||
JarFile jar;
|
||||
Attributes mfAttributes;
|
||||
try
|
||||
@@ -358,44 +230,28 @@ public class CoreModManager
|
||||
jar = new JarFile(coreMod);
|
||||
if (jar.getManifest() == null)
|
||||
{
|
||||
FMLRelaunchLog.warning("Found an un-manifested jar file in the coremods folder : %s, it will be ignored.", coreMod.getName());
|
||||
// Not a coremod
|
||||
continue;
|
||||
}
|
||||
mfAttributes = jar.getManifest().getMainAttributes();
|
||||
}
|
||||
catch (IOException ioe)
|
||||
{
|
||||
FMLRelaunchLog.log(Level.SEVERE, ioe, "Unable to read the coremod jar file %s - ignoring", coreMod.getName());
|
||||
FMLRelaunchLog.log(Level.SEVERE, ioe, "Unable to read the jar file %s - ignoring", coreMod.getName());
|
||||
continue;
|
||||
}
|
||||
|
||||
String fmlCorePlugin = mfAttributes.getValue("FMLCorePlugin");
|
||||
if (fmlCorePlugin == null)
|
||||
{
|
||||
FMLRelaunchLog.severe("The coremod %s does not contain a valid jar manifest- it will be ignored", coreMod.getName());
|
||||
// Not a coremod
|
||||
continue;
|
||||
}
|
||||
|
||||
// String className = fmlCorePlugin.replace('.', '/').concat(".class");
|
||||
// JarEntry ent = jar.getJarEntry(className);
|
||||
// if (ent ==null)
|
||||
// {
|
||||
// FMLLog.severe("The coremod %s specified %s as it's loading class but it does not include it - it will be ignored", coreMod.getName(), fmlCorePlugin);
|
||||
// continue;
|
||||
// }
|
||||
// try
|
||||
// {
|
||||
// Class<?> coreModClass = Class.forName(fmlCorePlugin, false, classLoader);
|
||||
// FMLLog.severe("The coremods %s specified a class %s that is already present in the classpath - it will be ignored", coreMod.getName(), fmlCorePlugin);
|
||||
// continue;
|
||||
// }
|
||||
// catch (ClassNotFoundException cnfe)
|
||||
// {
|
||||
// // didn't find it, good
|
||||
// }
|
||||
try
|
||||
{
|
||||
classLoader.addURL(coreMod.toURI().toURL());
|
||||
loadedCoremods.add(coreMod.getName());
|
||||
}
|
||||
catch (MalformedURLException e)
|
||||
{
|
||||
@@ -404,7 +260,7 @@ public class CoreModManager
|
||||
}
|
||||
try
|
||||
{
|
||||
downloadMonitor.updateProgressString("Loading coremod %s", coreMod.getName());
|
||||
FMLRelaunchLog.fine("Loading coremod %s", coreMod.getName());
|
||||
classLoader.addTransformerExclusion(fmlCorePlugin);
|
||||
Class<?> coreModClass = Class.forName(fmlCorePlugin, true, classLoader);
|
||||
MCVersion requiredMCVersion = coreModClass.getAnnotation(IFMLLoadingPlugin.MCVersion.class);
|
||||
@@ -437,14 +293,7 @@ public class CoreModManager
|
||||
IFMLLoadingPlugin plugin = (IFMLLoadingPlugin) coreModClass.newInstance();
|
||||
loadPlugins.add(plugin);
|
||||
pluginLocations .put(plugin, coreMod);
|
||||
if (plugin.getLibraryRequestClass()!=null)
|
||||
{
|
||||
for (String libName : plugin.getLibraryRequestClass())
|
||||
{
|
||||
libraries.add((ILibrarySet) Class.forName(libName, true, classLoader).newInstance());
|
||||
}
|
||||
}
|
||||
downloadMonitor.updateProgressString("Loaded coremod %s", coreMod.getName());
|
||||
FMLRelaunchLog.fine("Loaded coremod %s", coreMod.getName());
|
||||
}
|
||||
catch (ClassNotFoundException cnfe)
|
||||
{
|
||||
@@ -465,39 +314,13 @@ public class CoreModManager
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mcDir the minecraft home directory
|
||||
* @return the lib directory
|
||||
*/
|
||||
private static File setupLibDir(File mcDir)
|
||||
{
|
||||
File libDir = new File(mcDir,"lib");
|
||||
try
|
||||
{
|
||||
libDir = libDir.getCanonicalFile();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
throw new RuntimeException(String.format("Unable to canonicalize the lib dir at %s", mcDir.getName()),e);
|
||||
}
|
||||
if (!libDir.exists())
|
||||
{
|
||||
libDir.mkdir();
|
||||
}
|
||||
else if (libDir.exists() && !libDir.isDirectory())
|
||||
{
|
||||
throw new RuntimeException(String.format("Found a lib file in %s that's not a directory", mcDir.getName()));
|
||||
}
|
||||
return libDir;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mcDir the minecraft home directory
|
||||
* @return the coremod directory
|
||||
*/
|
||||
private static File setupCoreModDir(File mcDir)
|
||||
{
|
||||
File coreModDir = new File(mcDir,"coremods");
|
||||
File coreModDir = new File(mcDir,"mods");
|
||||
try
|
||||
{
|
||||
coreModDir = coreModDir.getCanonicalFile();
|
||||
@@ -517,114 +340,8 @@ public class CoreModManager
|
||||
return coreModDir;
|
||||
}
|
||||
|
||||
private static void downloadFile(File libFile, String rootUrl,String realFilePath, String hash)
|
||||
public static List<String> getLoadedCoremods()
|
||||
{
|
||||
try
|
||||
{
|
||||
URL libDownload = new URL(String.format(rootUrl,realFilePath));
|
||||
downloadMonitor.updateProgressString("Downloading file %s", libDownload.toString());
|
||||
FMLRelaunchLog.info("Downloading file %s", libDownload.toString());
|
||||
URLConnection connection = libDownload.openConnection();
|
||||
connection.setConnectTimeout(5000);
|
||||
connection.setReadTimeout(5000);
|
||||
connection.setRequestProperty("User-Agent", "FML Relaunch Downloader");
|
||||
int sizeGuess = connection.getContentLength();
|
||||
performDownload(connection.getInputStream(), sizeGuess, hash, libFile);
|
||||
downloadMonitor.updateProgressString("Download complete");
|
||||
FMLRelaunchLog.info("Download complete");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
if (downloadMonitor.shouldStopIt())
|
||||
{
|
||||
FMLRelaunchLog.warning("You have stopped the downloading operation before it could complete");
|
||||
return;
|
||||
}
|
||||
if (e instanceof RuntimeException) throw (RuntimeException)e;
|
||||
FMLRelaunchLog.severe("There was a problem downloading the file %s automatically. Perhaps you " +
|
||||
"have an environment without internet access. You will need to download " +
|
||||
"the file manually or restart and let it try again\n", libFile.getName());
|
||||
libFile.delete();
|
||||
throw new RuntimeException("A download error occured", e);
|
||||
}
|
||||
}
|
||||
|
||||
public static List<String> getLibraries()
|
||||
{
|
||||
return loadedLibraries;
|
||||
}
|
||||
|
||||
private static ByteBuffer downloadBuffer = ByteBuffer.allocateDirect(1 << 23);
|
||||
static IDownloadDisplay downloadMonitor;
|
||||
|
||||
private static void performDownload(InputStream is, int sizeGuess, String validationHash, File target)
|
||||
{
|
||||
if (sizeGuess > downloadBuffer.capacity())
|
||||
{
|
||||
throw new RuntimeException(String.format("The file %s is too large to be downloaded by FML - the coremod is invalid", target.getName()));
|
||||
}
|
||||
downloadBuffer.clear();
|
||||
|
||||
int bytesRead, fullLength = 0;
|
||||
|
||||
downloadMonitor.resetProgress(sizeGuess);
|
||||
try
|
||||
{
|
||||
downloadMonitor.setPokeThread(Thread.currentThread());
|
||||
byte[] smallBuffer = new byte[1024];
|
||||
while ((bytesRead = is.read(smallBuffer)) >= 0) {
|
||||
downloadBuffer.put(smallBuffer, 0, bytesRead);
|
||||
fullLength += bytesRead;
|
||||
if (downloadMonitor.shouldStopIt())
|
||||
{
|
||||
break;
|
||||
}
|
||||
downloadMonitor.updateProgress(fullLength);
|
||||
}
|
||||
is.close();
|
||||
downloadMonitor.setPokeThread(null);
|
||||
downloadBuffer.limit(fullLength);
|
||||
downloadBuffer.position(0);
|
||||
}
|
||||
catch (InterruptedIOException e)
|
||||
{
|
||||
// We were interrupted by the stop button. We're stopping now.. clear interruption flag.
|
||||
Thread.interrupted();
|
||||
return;
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
String cksum = generateChecksum(downloadBuffer);
|
||||
if (cksum.equals(validationHash))
|
||||
{
|
||||
downloadBuffer.position(0);
|
||||
FileOutputStream fos = new FileOutputStream(target);
|
||||
fos.getChannel().write(downloadBuffer);
|
||||
fos.close();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new RuntimeException(String.format("The downloaded file %s has an invalid checksum %s (expecting %s). The download did not succeed correctly and the file has been deleted. Please try launching again.", target.getName(), cksum, validationHash));
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
if (e instanceof RuntimeException) throw (RuntimeException)e;
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
private static String generateChecksum(ByteBuffer buffer)
|
||||
{
|
||||
return CertificateHelper.getFingerprint(buffer);
|
||||
return loadedCoremods;
|
||||
}
|
||||
}
|
||||
@@ -1,152 +0,0 @@
|
||||
/*
|
||||
* Forge Mod Loader
|
||||
* Copyright (c) 2012-2013 cpw.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the GNU Lesser Public License v2.1
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
*
|
||||
* Contributors:
|
||||
* cpw - implementation
|
||||
*/
|
||||
|
||||
package cpw.mods.fml.relauncher;
|
||||
|
||||
import java.awt.Dialog.ModalityType;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.beans.PropertyChangeEvent;
|
||||
import java.beans.PropertyChangeListener;
|
||||
|
||||
import javax.swing.Box;
|
||||
import javax.swing.JDialog;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JProgressBar;
|
||||
|
||||
import cpw.mods.fml.common.FMLLog;
|
||||
|
||||
public class Downloader extends JOptionPane implements IDownloadDisplay
|
||||
{
|
||||
private JDialog container;
|
||||
private JLabel currentActivity;
|
||||
private JProgressBar progress;
|
||||
boolean stopIt;
|
||||
Thread pokeThread;
|
||||
|
||||
private Box makeProgressPanel()
|
||||
{
|
||||
Box box = Box.createVerticalBox();
|
||||
box.add(Box.createRigidArea(new Dimension(0,10)));
|
||||
JLabel welcomeLabel = new JLabel("<html><b><font size='+1'>FML is setting up your minecraft environment</font></b></html>");
|
||||
box.add(welcomeLabel);
|
||||
welcomeLabel.setAlignmentY(LEFT_ALIGNMENT);
|
||||
welcomeLabel = new JLabel("<html>Please wait, FML has some tasks to do before you can play</html>");
|
||||
welcomeLabel.setAlignmentY(LEFT_ALIGNMENT);
|
||||
box.add(welcomeLabel);
|
||||
box.add(Box.createRigidArea(new Dimension(0,10)));
|
||||
currentActivity = new JLabel("Currently doing ...");
|
||||
box.add(currentActivity);
|
||||
box.add(Box.createRigidArea(new Dimension(0,10)));
|
||||
progress = new JProgressBar(0, 100);
|
||||
progress.setStringPainted(true);
|
||||
box.add(progress);
|
||||
box.add(Box.createRigidArea(new Dimension(0,30)));
|
||||
return box;
|
||||
}
|
||||
|
||||
public JDialog makeDialog()
|
||||
{
|
||||
setMessageType(JOptionPane.INFORMATION_MESSAGE);
|
||||
setMessage(makeProgressPanel());
|
||||
setOptions(new Object[] { "Stop" });
|
||||
addPropertyChangeListener(new PropertyChangeListener()
|
||||
{
|
||||
@Override
|
||||
public void propertyChange(PropertyChangeEvent evt)
|
||||
{
|
||||
if (evt.getSource() == Downloader.this && evt.getPropertyName()==VALUE_PROPERTY)
|
||||
{
|
||||
requestClose("This will stop minecraft from launching\nAre you sure you want to do this?");
|
||||
}
|
||||
}
|
||||
});
|
||||
container = new JDialog(null, "Hello", ModalityType.MODELESS);
|
||||
container.setResizable(false);
|
||||
container.setLocationRelativeTo(null);
|
||||
container.add(this);
|
||||
this.updateUI();
|
||||
container.pack();
|
||||
container.setMinimumSize(container.getPreferredSize());
|
||||
container.setVisible(true);
|
||||
container.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
||||
container.addWindowListener(new WindowAdapter()
|
||||
{
|
||||
@Override
|
||||
public void windowClosing(WindowEvent e)
|
||||
{
|
||||
requestClose("Closing this window will stop minecraft from launching\nAre you sure you wish to do this?");
|
||||
}
|
||||
});
|
||||
return container;
|
||||
}
|
||||
protected void requestClose(String message)
|
||||
{
|
||||
int shouldClose = JOptionPane.showConfirmDialog(container, message, "Are you sure you want to stop?", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
|
||||
if (shouldClose == JOptionPane.YES_OPTION)
|
||||
{
|
||||
container.dispose();
|
||||
}
|
||||
stopIt = true;
|
||||
if (pokeThread != null)
|
||||
{
|
||||
pokeThread.interrupt();
|
||||
}
|
||||
}
|
||||
|
||||
public void updateProgressString(String progressUpdate, Object... data)
|
||||
{
|
||||
FMLLog.finest(progressUpdate, data);
|
||||
if (currentActivity!=null)
|
||||
{
|
||||
currentActivity.setText(String.format(progressUpdate,data));
|
||||
}
|
||||
}
|
||||
|
||||
public void resetProgress(int sizeGuess)
|
||||
{
|
||||
if (progress!=null)
|
||||
{
|
||||
progress.getModel().setRangeProperties(0, 0, 0, sizeGuess, false);
|
||||
}
|
||||
}
|
||||
|
||||
public void updateProgress(int fullLength)
|
||||
{
|
||||
if (progress!=null)
|
||||
{
|
||||
progress.getModel().setValue(fullLength);
|
||||
}
|
||||
}
|
||||
|
||||
public void makeHeadless()
|
||||
{
|
||||
container = null;
|
||||
progress = null;
|
||||
currentActivity = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPokeThread(Thread currentThread)
|
||||
{
|
||||
this.pokeThread = currentThread;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldStopIt()
|
||||
{
|
||||
return stopIt;
|
||||
}
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
/*
|
||||
* Forge Mod Loader
|
||||
* Copyright (c) 2012-2013 cpw.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the GNU Lesser Public License v2.1
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
*
|
||||
* Contributors:
|
||||
* cpw - implementation
|
||||
*/
|
||||
|
||||
package cpw.mods.fml.relauncher;
|
||||
|
||||
import java.util.logging.Level;
|
||||
|
||||
public class DummyDownloader implements IDownloadDisplay
|
||||
{
|
||||
|
||||
@Override
|
||||
public void resetProgress(int sizeGuess)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPokeThread(Thread currentThread)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateProgress(int fullLength)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldStopIt()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateProgressString(String string, Object... data)
|
||||
{
|
||||
FMLRelaunchLog.log(Level.FINE, string, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object makeDialog()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void makeHeadless()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -16,10 +16,11 @@ import java.util.Map;
|
||||
|
||||
public class FMLCorePlugin implements IFMLLoadingPlugin
|
||||
{
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public String[] getLibraryRequestClass()
|
||||
{
|
||||
return new String[] {"cpw.mods.fml.relauncher.CoreFMLLibraries"};
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -12,21 +12,15 @@
|
||||
|
||||
package cpw.mods.fml.relauncher;
|
||||
|
||||
import java.applet.Applet;
|
||||
import java.io.File;
|
||||
import java.lang.reflect.Method;
|
||||
import java.net.URLClassLoader;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import javax.swing.JDialog;
|
||||
import javax.swing.JOptionPane;
|
||||
import net.minecraft.launchwrapper.LaunchClassLoader;
|
||||
|
||||
import com.google.common.base.Throwables;
|
||||
|
||||
import cpw.mods.fml.common.launcher.FMLTweaker;
|
||||
|
||||
import net.minecraft.launchwrapper.LaunchClassLoader;
|
||||
|
||||
public class FMLLaunchHandler
|
||||
{
|
||||
private static FMLLaunchHandler INSTANCE;
|
||||
@@ -66,15 +60,8 @@ public class FMLLaunchHandler
|
||||
this.classLoader.addTransformerExclusion("cpw.mods.fml.common.patcher.");
|
||||
}
|
||||
|
||||
private void showWindow(boolean showIt)
|
||||
{
|
||||
if (CoreModManager.downloadMonitor != null) { return; }
|
||||
CoreModManager.downloadMonitor = new DummyDownloader();
|
||||
}
|
||||
|
||||
private void setupClient()
|
||||
{
|
||||
showWindow(true);
|
||||
FMLRelaunchLog.logFileNamePattern = "ForgeModLoader-client-%g.log";
|
||||
side = Side.CLIENT;
|
||||
setupHome();
|
||||
@@ -82,7 +69,6 @@ public class FMLLaunchHandler
|
||||
|
||||
private void setupServer()
|
||||
{
|
||||
showWindow(false);
|
||||
FMLRelaunchLog.logFileNamePattern = "ForgeModLoader-server-%g.log";
|
||||
side = Side.SERVER;
|
||||
setupHome();
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
/*
|
||||
* Forge Mod Loader
|
||||
* Copyright (c) 2012-2013 cpw.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the GNU Lesser Public License v2.1
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
*
|
||||
* Contributors:
|
||||
* cpw - implementation
|
||||
*/
|
||||
|
||||
package cpw.mods.fml.relauncher;
|
||||
|
||||
import javax.swing.JDialog;
|
||||
|
||||
public interface IDownloadDisplay
|
||||
{
|
||||
|
||||
void resetProgress(int sizeGuess);
|
||||
|
||||
void setPokeThread(Thread currentThread);
|
||||
|
||||
void updateProgress(int fullLength);
|
||||
|
||||
boolean shouldStopIt();
|
||||
|
||||
void updateProgressString(String string, Object ... data);
|
||||
|
||||
Object makeDialog();
|
||||
|
||||
void makeHeadless();
|
||||
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* are made available under the terms of the GNU Lesser Public License v2.1
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
*
|
||||
*
|
||||
* Contributors:
|
||||
* cpw - implementation
|
||||
*/
|
||||
@@ -15,10 +15,12 @@ package cpw.mods.fml.relauncher;
|
||||
/**
|
||||
* Interface for certain core plugins to register libraries to
|
||||
* be loaded in by the FML class loader at launch time
|
||||
* Deprecated without replacement.
|
||||
*
|
||||
* @author cpw
|
||||
*
|
||||
*/
|
||||
@Deprecated
|
||||
public interface ILibrarySet
|
||||
{
|
||||
/**
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
package cpw.mods.fml.relauncher;
|
||||
|
||||
import java.io.File;
|
||||
import java.lang.reflect.Method;
|
||||
import java.net.URLClassLoader;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import net.minecraft.launchwrapper.Launch;
|
||||
import net.minecraft.launchwrapper.LaunchClassLoader;
|
||||
|
||||
import com.google.common.base.Throwables;
|
||||
|
||||
public class ServerLaunchWrapper {
|
||||
@@ -26,7 +24,35 @@ public class ServerLaunchWrapper {
|
||||
|
||||
private void run(String[] args)
|
||||
{
|
||||
Launch.main(args);
|
||||
Class<?> launchwrapper = null;
|
||||
try
|
||||
{
|
||||
launchwrapper = Class.forName("net.minecraft.launchwrapper.Launch",true,getClass().getClassLoader());
|
||||
Class.forName("org.objectweb.asm.Type",true,getClass().getClassLoader());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
System.err.printf("We appear to be missing one or more essential library files.\n" +
|
||||
"You will need to add them to your server before FML and Forge will run successfully.");
|
||||
e.printStackTrace(System.err);
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
Method main = launchwrapper.getMethod("main", String[].class);
|
||||
String[] allArgs = new String[args.length + 2];
|
||||
allArgs[0] = "--tweakClass";
|
||||
allArgs[1] = "cpw.mods.fml.common.launcher.FMLServerTweaker";
|
||||
System.arraycopy(args, 0, allArgs, 2, args.length);
|
||||
main.invoke(null,(Object)allArgs);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
System.err.printf("A problem occurred running the Server launcher.");
|
||||
e.printStackTrace(System.err);
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -13,7 +13,17 @@
|
||||
package cpw.mods.fml.relauncher;
|
||||
|
||||
public enum Side {
|
||||
CLIENT, SERVER;
|
||||
|
||||
/**
|
||||
* The client side. Specifically, an environment where rendering capability exists.
|
||||
* Usually in the game client.
|
||||
*/
|
||||
CLIENT,
|
||||
/**
|
||||
* The server side. Specifically, an environment where NO rendering capability exists.
|
||||
* Usually on the dedicated server.
|
||||
*/
|
||||
SERVER;
|
||||
|
||||
/**
|
||||
* @return If this is the server environment
|
||||
|
||||
@@ -62,12 +62,12 @@ import java.nio.channels.ReadableByteChannel;
|
||||
* Newer versions may eventually support paging in/out of checksums.
|
||||
*/
|
||||
public class Delta {
|
||||
|
||||
|
||||
/**
|
||||
* Debug flag.
|
||||
*/
|
||||
final static boolean debug = false;
|
||||
|
||||
|
||||
/**
|
||||
* Default size of 16.
|
||||
* For "Lorem ipsum" text files (see the tests) the ideal size is about 14.
|
||||
@@ -76,16 +76,16 @@ public class Delta {
|
||||
* Use a size like 64 or 128 for large files.
|
||||
*/
|
||||
public static final int DEFAULT_CHUNK_SIZE = 1<<4;
|
||||
|
||||
|
||||
/**
|
||||
* Chunk Size.
|
||||
*/
|
||||
private int S;
|
||||
|
||||
|
||||
private SourceState source;
|
||||
private TargetState target;
|
||||
private DiffWriter output;
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a new Delta.
|
||||
* In the future, additional constructor arguments will set the algorithm details.
|
||||
@@ -93,12 +93,12 @@ public class Delta {
|
||||
public Delta() {
|
||||
setChunkSize(DEFAULT_CHUNK_SIZE);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the chunk size used.
|
||||
* Larger chunks are faster and use less memory, but create larger patches
|
||||
* as well.
|
||||
*
|
||||
*
|
||||
* @param size
|
||||
*/
|
||||
public void setChunkSize(int size) {
|
||||
@@ -106,17 +106,17 @@ public class Delta {
|
||||
throw new IllegalArgumentException("Invalid size");
|
||||
S = size;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compares the source bytes with target bytes, writing to output.
|
||||
*/
|
||||
public void compute(byte source[], byte target[], OutputStream output)
|
||||
throws IOException {
|
||||
compute(new ByteBufferSeekableSource(source),
|
||||
compute(new ByteBufferSeekableSource(source),
|
||||
new ByteArrayInputStream(target),
|
||||
new GDiffWriter(output));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compares the source bytes with target bytes, returning output.
|
||||
*/
|
||||
@@ -126,20 +126,20 @@ public class Delta {
|
||||
compute(source, target, os);
|
||||
return os.toByteArray();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compares the source bytes with target input, writing to output.
|
||||
*/
|
||||
public void compute(byte[] sourceBytes, InputStream inputStream,
|
||||
DiffWriter diffWriter) throws IOException
|
||||
{
|
||||
compute(new ByteBufferSeekableSource(sourceBytes),
|
||||
compute(new ByteBufferSeekableSource(sourceBytes),
|
||||
inputStream, diffWriter);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compares the source file with a target file, writing to output.
|
||||
*
|
||||
*
|
||||
* @param output will be closed
|
||||
*/
|
||||
public void compute(File sourceFile, File targetFile, DiffWriter output)
|
||||
@@ -153,25 +153,25 @@ public class Delta {
|
||||
is.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compares the source with a target, writing to output.
|
||||
*
|
||||
*
|
||||
* @param output will be closed
|
||||
*/
|
||||
public void compute(SeekableSource seekSource, InputStream targetIS, DiffWriter output)
|
||||
throws IOException {
|
||||
|
||||
|
||||
if (debug) {
|
||||
debug("using match length S = " + S);
|
||||
}
|
||||
|
||||
|
||||
source = new SourceState(seekSource);
|
||||
target = new TargetState(targetIS);
|
||||
this.output = output;
|
||||
if (debug)
|
||||
debug("checksums " + source.checksum);
|
||||
|
||||
|
||||
while (!target.eof()) {
|
||||
debug("!target.eof()");
|
||||
int index = target.find(source);
|
||||
@@ -196,7 +196,7 @@ public class Delta {
|
||||
}
|
||||
output.close();
|
||||
}
|
||||
|
||||
|
||||
private void addData() throws IOException {
|
||||
int i = target.read();
|
||||
if (debug)
|
||||
@@ -205,12 +205,12 @@ public class Delta {
|
||||
return;
|
||||
output.addData((byte)i);
|
||||
}
|
||||
|
||||
|
||||
class SourceState {
|
||||
|
||||
private Checksum checksum;
|
||||
private SeekableSource source;
|
||||
|
||||
|
||||
public SourceState(SeekableSource source) throws IOException {
|
||||
checksum = new Checksum(source, S);
|
||||
this.source = source;
|
||||
@@ -232,23 +232,23 @@ public class Delta {
|
||||
" source=" + this.source +
|
||||
"";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
class TargetState {
|
||||
|
||||
|
||||
private ReadableByteChannel c;
|
||||
private ByteBuffer tbuf = ByteBuffer.allocate(blocksize());
|
||||
private ByteBuffer sbuf = ByteBuffer.allocate(blocksize());
|
||||
private long hash;
|
||||
private boolean hashReset = true;
|
||||
private boolean eof;
|
||||
|
||||
|
||||
TargetState(InputStream targetIS) throws IOException {
|
||||
c = Channels.newChannel(targetIS);
|
||||
tbuf.limit(0);
|
||||
}
|
||||
|
||||
|
||||
private int blocksize() {
|
||||
return Math.min(1024 * 16, S * 4);
|
||||
}
|
||||
@@ -362,13 +362,13 @@ public class Delta {
|
||||
" eof=" + this.eof +
|
||||
"]";
|
||||
}
|
||||
|
||||
|
||||
private String dump() { return dump(tbuf); }
|
||||
|
||||
|
||||
private String dump(ByteBuffer bb) {
|
||||
return getTextDump(bb);
|
||||
}
|
||||
|
||||
|
||||
private void append(StringBuffer sb, int value) {
|
||||
char b1 = (char)((value >> 4) & 0x0F);
|
||||
char b2 = (char)((value) & 0x0F);
|
||||
@@ -392,7 +392,7 @@ public class Delta {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates a patch using file names.
|
||||
*/
|
||||
@@ -426,6 +426,7 @@ public class Delta {
|
||||
"source or target is too large, max length is "
|
||||
+ Integer.MAX_VALUE);
|
||||
System.err.println("aborting..");
|
||||
output.close();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -437,7 +438,7 @@ public class Delta {
|
||||
if (debug) //gls031504a
|
||||
System.out.println("finished generating delta");
|
||||
}
|
||||
|
||||
|
||||
private void debug(String s) {
|
||||
if (debug)
|
||||
System.err.println(s);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2001 Torgeir Veimo
|
||||
*
|
||||
@@ -31,26 +31,26 @@ import java.io.IOException;
|
||||
* Interface for DIFF writers.
|
||||
*/
|
||||
public interface DiffWriter extends Closeable {
|
||||
|
||||
|
||||
/**
|
||||
* Add a GDIFF copy instruction.
|
||||
*/
|
||||
public void addCopy(long offset, int length) throws IOException;
|
||||
|
||||
|
||||
/**
|
||||
* Add a GDIFF data instruction.
|
||||
* Implementors should buffer the data.
|
||||
*/
|
||||
public void addData(byte b) throws IOException;
|
||||
|
||||
|
||||
/**
|
||||
* Flushes to output, e.g. any data added.
|
||||
*/
|
||||
public void flush() throws IOException;
|
||||
|
||||
|
||||
/**
|
||||
* Closes this stream.
|
||||
* Note that {@link Diff} will invoke this method at the end.
|
||||
* Note that {@link DiffWriter} will invoke this method at the end.
|
||||
*/
|
||||
public void close() throws IOException;
|
||||
}
|
||||
|
||||
@@ -52,13 +52,14 @@ import java.io.RandomAccessFile;
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
/**
|
||||
* This class patches an input file with a GDIFF patch fil�e.
|
||||
* This class patches an input file with a GDIFF patch file.
|
||||
*
|
||||
* The patch file follows the GDIFF file specification available at
|
||||
* {@link http://www.w3.org/TR/NOTE-gdiff-19970901.html}.
|
||||
*
|
||||
* <a href="http://www.w3.org/TR/NOTE-gdiff-19970901.html">http://www.w3.org/TR/NOTE-gdiff-19970901.html</a>.
|
||||
*/
|
||||
public class GDiffPatcher {
|
||||
|
||||
|
||||
private ByteBuffer buf = ByteBuffer.allocate(1024);
|
||||
private byte buf2[] = buf.array();
|
||||
|
||||
@@ -67,14 +68,14 @@ public class GDiffPatcher {
|
||||
*/
|
||||
public GDiffPatcher() {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Patches to an output file.
|
||||
*/
|
||||
public void patch(File sourceFile, File patchFile, File outputFile)
|
||||
throws IOException
|
||||
{
|
||||
RandomAccessFileSeekableSource source =new RandomAccessFileSeekableSource(new RandomAccessFile(sourceFile, "r"));
|
||||
RandomAccessFileSeekableSource source =new RandomAccessFileSeekableSource(new RandomAccessFile(sourceFile, "r"));
|
||||
InputStream patch = new FileInputStream(patchFile);
|
||||
OutputStream output = new FileOutputStream(outputFile);
|
||||
try {
|
||||
@@ -87,14 +88,14 @@ public class GDiffPatcher {
|
||||
output.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Patches to an output stream.
|
||||
*/
|
||||
public void patch(byte[] source, InputStream patch, OutputStream output) throws IOException {
|
||||
patch(new ByteBufferSeekableSource(source), patch, output);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Patches in memory, returning the patch result.
|
||||
*/
|
||||
@@ -103,12 +104,12 @@ public class GDiffPatcher {
|
||||
patch(source, new ByteArrayInputStream(patch), os);
|
||||
return os.toByteArray();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Patches to an output stream.
|
||||
*/
|
||||
public void patch(SeekableSource source, InputStream patch, OutputStream out) throws IOException {
|
||||
|
||||
|
||||
DataOutputStream outOS = new DataOutputStream(out);
|
||||
DataInputStream patchIS = new DataInputStream(patch);
|
||||
|
||||
@@ -128,12 +129,12 @@ public class GDiffPatcher {
|
||||
break;
|
||||
int length;
|
||||
int offset;
|
||||
|
||||
|
||||
if (command <= DATA_MAX) {
|
||||
append(command, patchIS, outOS);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
switch (command) {
|
||||
case DATA_USHORT: // ushort, n bytes following; append
|
||||
length = patchIS.readUnsignedShort();
|
||||
@@ -178,7 +179,7 @@ public class GDiffPatcher {
|
||||
length = patchIS.readInt();
|
||||
copy(loffset, length, source, outOS);
|
||||
break;
|
||||
default:
|
||||
default:
|
||||
throw new IllegalStateException("command " + command);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ import net.minecraft.world.World;
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.IFMLSidedHandler;
|
||||
import cpw.mods.fml.common.Loader;
|
||||
import cpw.mods.fml.common.ModContainer;
|
||||
import cpw.mods.fml.common.ObfuscationReflectionHelper;
|
||||
import cpw.mods.fml.common.network.EntitySpawnAdjustmentPacket;
|
||||
import cpw.mods.fml.common.network.EntitySpawnPacket;
|
||||
@@ -189,4 +190,9 @@ public class FMLServerHandler implements IFMLSidedHandler
|
||||
{
|
||||
|
||||
}
|
||||
@Override
|
||||
public void addModAsResource(ModContainer container)
|
||||
{
|
||||
// NOOP on server
|
||||
}
|
||||
}
|
||||
+37
-37
@@ -1,76 +1,76 @@
|
||||
#Main FML Access Transformer configuration file
|
||||
# TileEntity addMapping
|
||||
public asi.a(Ljava/lang/Class;Ljava/lang/String;)V #MD:TileEntity/func_70306_a
|
||||
public asm.a(Ljava/lang/Class;Ljava/lang/String;)V #MD:TileEntity/func_70306_a
|
||||
# EntityList addMappings
|
||||
public nq.a(Ljava/lang/Class;Ljava/lang/String;I)V #MD:EntityList/func_75618_a
|
||||
public nq.a(Ljava/lang/Class;Ljava/lang/String;III)V #MD:EntityList/func_75614_a
|
||||
public nq.b #FD:EntityList/field_75625_b #nameToClassMap
|
||||
public nq.c #FD:EntityList/field_75626_c #classToNameMap
|
||||
public nq.d #FD:EntityList/field_75623_d #idToClassMap
|
||||
public ns.a(Ljava/lang/Class;Ljava/lang/String;I)V #MD:EntityList/func_75618_a
|
||||
public ns.a(Ljava/lang/Class;Ljava/lang/String;III)V #MD:EntityList/func_75614_a
|
||||
public ns.b #FD:EntityList/field_75625_b #nameToClassMap
|
||||
public ns.c #FD:EntityList/field_75626_c #classToNameMap
|
||||
public ns.d #FD:EntityList/field_75623_d #idToClassMap
|
||||
# RenderEngine
|
||||
#public bba.h #FD:RenderEngine/field_78367_h #textureList # -- MISSING MAPPING # -- MISSING MAPPING
|
||||
#public bge.g #FD:RenderEngine/field_78366_k #texturePack # -- MISSING MAPPING
|
||||
# RenderManager
|
||||
public bga.q #FD:RenderManager/field_78729_o #renderers
|
||||
public bgi.q #FD:RenderManager/field_78729_o #renderers
|
||||
# RenderBlocks - everything
|
||||
public bfg.* #FD:RenderBlocks/*
|
||||
public bfg.*() #MD:RenderBlocks/*
|
||||
public bfo.* #FD:RenderBlocks/*
|
||||
public bfo.*() #MD:RenderBlocks/*
|
||||
#RenderPlayer
|
||||
#public-f bht.h #FD:RenderPlayer/field_77110_j #armorlist # -- MISSING MAPPING
|
||||
#RenderBiped
|
||||
public-f bgj.l #FD:RenderBiped/field_82424_k #armorlist
|
||||
public-f bgr.l #FD:RenderBiped/field_82424_k #armorlist
|
||||
#StringTranslate
|
||||
#public bp.b #FD:StringTranslate/field_74815_b # -- MISSING MAPPING
|
||||
#public bp.e #FD:StringTranslate/field_74813_d # -- MISSING MAPPING
|
||||
# TileEntityRenderer
|
||||
public bis.m #FD:TileEntityRenderer/field_76966_m
|
||||
public bja.m #FD:TileEntityRenderer/field_76966_m
|
||||
# CraftingManager - make the add recipe methods public
|
||||
public aaa.a(Lxz;[Ljava/lang/Object;)Laad; #MD:CraftingManager/func_92103_a
|
||||
public aaa.b(Lxz;[Ljava/lang/Object;)V #MD:CraftingManager/func_77596_b
|
||||
public aae.a(Lyd;[Ljava/lang/Object;)Laah; #MD:CraftingManager/func_92103_a
|
||||
public aae.b(Lyd;[Ljava/lang/Object;)V #MD:CraftingManager/func_77596_b
|
||||
# WeightedRandomItem
|
||||
public mg.a #FD:WeightedRandomItem/field_76292_a #probability
|
||||
public mi.a #FD:WeightedRandomItem/field_76292_a #probability
|
||||
# ItemStack
|
||||
#public+f tv.c #FD:ItemStack/field_77993_c #itemId
|
||||
# StatBase
|
||||
public kr.a #FD:StatBase/field_75978_a #statName
|
||||
public kt.a #FD:StatBase/field_75978_a #statName
|
||||
# NetLoginHandler
|
||||
public jv.a(Ljv;Z)Z #MD:NetLoginHandler/func_72531_a #'complete connection'
|
||||
public jv.g #FD:NetLoginHandler/field_72543_h #userName
|
||||
public jx.a(Ljx;Z)Z #MD:NetLoginHandler/func_72531_a #'complete connection'
|
||||
public jx.g #FD:NetLoginHandler/field_72543_h #userName
|
||||
# EntityPlayerMP getNextWindowId
|
||||
public js.bJ()V #MD:EntityPlayerMP/func_71117_bO
|
||||
public js.bX #FD:EntityPlayerMP/field_71139_cq
|
||||
public ju.bM()V #MD:EntityPlayerMP/func_71117_bO
|
||||
public ju.bX #FD:EntityPlayerMP/field_71139_cq
|
||||
# EntityAITaskEntry
|
||||
public pr #CL:EntityAITaskEntry
|
||||
public pt #CL:EntityAITaskEntry
|
||||
# EntityAITasks
|
||||
public pq.a #FD:EntityAITasks/field_75782_a #taskList
|
||||
public ps.a #FD:EntityAITasks/field_75782_a #taskList
|
||||
# BlockChest
|
||||
public and.m(Labr;III)Z #MD:BlockChest/func_72292_n #isOcelotBlockingChest
|
||||
public anh.m(Labv;III)Z #MD:BlockChest/func_72292_n #isOcelotBlockingChest
|
||||
# EntityLiving
|
||||
#public ng.aU #FD:EntityLiving/field_70736_aM #carryoverDamage # -- MISSING MAPPING
|
||||
public od.c #FD:EntityLiving/field_70714_bg #tasks
|
||||
public of.c #FD:EntityLiving/field_70714_bg #tasks
|
||||
#public ng.bG #FD:EntityLiving/field_70703_bu #isJumping # -- MISSING MAPPING
|
||||
# EntityAIOcelotSit
|
||||
protected qd.a(Labr;III)Z #MD:EntityAIOcelotSit/func_75398_a #nearestSittableBlock
|
||||
protected qd.f()Z #MD:EntityAIOcelotSit/func_75399_f #isblocksittable
|
||||
protected qf.a(Labv;III)Z #MD:EntityAIOcelotSit/func_75398_a #nearestSittableBlock
|
||||
protected qf.f()Z #MD:EntityAIOcelotSit/func_75399_f #isblocksittable
|
||||
# CallableMinecraftVersion - sanity check the MC version
|
||||
public c #CL:CallableMinecraftVersion
|
||||
public c.<init>(Lb;)V #MD:CallableMinecraftVersion/<init>(Lnet/minecraft/src/CrashReport;) #constructor
|
||||
# EntityAnimal
|
||||
public rm.bp #FD:EntityAnimal/field_70881_d #inLove
|
||||
public ro.bp #FD:EntityAnimal/field_70881_d #inLove
|
||||
# WorldType
|
||||
public acb.<init>(ILjava/lang/String;)V #MD:WorldType/<init>(ILjava/lang/String;)
|
||||
public acb.<init>(ILjava/lang/String;I)V #MD:WorldType/<init>(ILjava/lang/String;I)
|
||||
public acf.<init>(ILjava/lang/String;)V #MD:WorldType/<init>(ILjava/lang/String;)
|
||||
public acf.<init>(ILjava/lang/String;I)V #MD:WorldType/<init>(ILjava/lang/String;I)
|
||||
# ComponentVillage
|
||||
public ajf #CL:ComponentVillage
|
||||
public ajj #CL:ComponentVillage
|
||||
# EntityVillager - minmax lists
|
||||
public tw.a(Labh;ILjava/util/Random;F)V #MD:EntityVillager/func_70948_a #addBuy
|
||||
public tw.b(Labh;ILjava/util/Random;F)V #MD:EntityVillager/func_70949_b #addSell
|
||||
public tw.bB #FD:EntityVillager/field_70958_bB
|
||||
public tw.bC #FD:EntityVillager/field_70960_bC
|
||||
public ua.a(Labl;ILjava/util/Random;F)V #MD:EntityVillager/func_70948_a #addBuy
|
||||
public ua.b(Labl;ILjava/util/Random;F)V #MD:EntityVillager/func_70949_b #addSell
|
||||
public ua.bB #FD:EntityVillager/field_70958_bB
|
||||
public ua.bC #FD:EntityVillager/field_70960_bC
|
||||
# GuiButtonMerchant
|
||||
public axo #CL:GuiButtonMerchant
|
||||
public axu #CL:GuiButtonMerchant
|
||||
|
||||
protected auo.a #FD:GuiYesNo/field_73942_a #guiScreen
|
||||
protected auu.a #FD:GuiYesNo/field_73942_a #guiScreen
|
||||
# Minecraft
|
||||
public atn.C #FD:Minecraft/field_71425_J #running
|
||||
public atn.M #FD:Minecraft/field_71446_o # textureManager
|
||||
public ats.D #FD:Minecraft/field_71425_J #running
|
||||
public ats.N #FD:Minecraft/field_71446_o # textureManager
|
||||
@@ -2,11 +2,11 @@
|
||||
# Only runs at runtime because it's not necessary at compile time
|
||||
# has deobf and obf mappings so it runs OK in mcp
|
||||
# entityplayer -> network/player
|
||||
ua cpw/mods/fml/common/network/Player
|
||||
ue cpw/mods/fml/common/network/Player
|
||||
net.minecraft.entity.player.EntityPlayer cpw/mods/fml/common/network/Player
|
||||
# block -> blockproxy
|
||||
aqs cpw/mods/fml/common/registry/BlockProxy
|
||||
aqw cpw/mods/fml/common/registry/BlockProxy
|
||||
net.minecraft.block.Block cpw/mods/fml/common/registry/BlockProxy
|
||||
# item -> itemproxy
|
||||
xx cpw/mods/fml/common/registry/ItemProxy
|
||||
yb cpw/mods/fml/common/registry/ItemProxy
|
||||
net.minecraft.item.Item cpw/mods/fml/common/registry/ItemProxy
|
||||
+2
-2
@@ -3,8 +3,8 @@
|
||||
"modid": "mcp",
|
||||
"name": "Minecraft Coder Pack",
|
||||
"description": "Modding toolkit to decompile and deobfuscate the Minecraft client and server files.",
|
||||
"version": "7.51",
|
||||
"mcversion": "1.5.2",
|
||||
"version": "8.04",
|
||||
"mcversion": "1.6.2",
|
||||
"logoFile": "/mcp.png",
|
||||
"url": "http://mcp.ocean-labs.de/",
|
||||
"updateUrl": "",
|
||||
|
||||
+24
-5
@@ -6,6 +6,9 @@ field_100002_d,cancelBtn,0,
|
||||
field_100003_c,doneBtn,0,
|
||||
field_100010_b,iconArray,0,
|
||||
field_100013_f,isPotionDurationMax,0,"True if potion effect duration is at maximum, false otherwise."
|
||||
field_102009_f,slots_sides,2,
|
||||
field_102010_d,slots_top,2,
|
||||
field_102011_e,slots_bottom,2,
|
||||
field_70009_b,buffer,2,RCon string buffer for log.
|
||||
field_70010_a,consoleBuffer,2,only ever used by MinecraftServer.executeCommand
|
||||
field_70116_cv,serverPosZ,0,
|
||||
@@ -1476,7 +1479,7 @@ field_72792_d,entityViewDistance,2,
|
||||
field_72793_b,trackedEntities,2,"List of tracked entities, used for iteration operations on tracked entities."
|
||||
field_72794_c,trackedEntityIDs,2,
|
||||
field_72795_a,theWorld,2,
|
||||
field_72814_d,hasExtendedLevels,2,set by !chunk.getAreLevelsEmpty
|
||||
field_72814_d,isEmpty,2,True if the chunk cache is empty.
|
||||
field_72815_e,worldObj,2,Reference to the World object.
|
||||
field_72816_b,chunkZ,2,
|
||||
field_72817_c,chunkArray,2,
|
||||
@@ -1530,7 +1533,8 @@ field_73059_b,theChunkProviderServer,2,
|
||||
field_73061_a,mcServer,2,
|
||||
field_73062_L,theEntityTracker,2,
|
||||
field_73063_M,thePlayerManager,2,
|
||||
field_73065_O,pendingTickListEntries,2,All work to do in future ticks.
|
||||
field_73064_N,pendingTickListEntriesHashSet,2,
|
||||
field_73065_O,pendingTickListEntriesTreeSet,2,All work to do in future ticks.
|
||||
field_73066_T,entityIdMap,2,An IntHashMap of entity IDs (integers) to their Entity objects.
|
||||
field_73067_Q,blockEventCache,2,Double buffer of ServerBlockEventList[] for holding pending BlockEventData's
|
||||
field_73068_P,allPlayersSleeping,2,is false if there are no players
|
||||
@@ -2717,6 +2721,7 @@ field_75309_a,targetEntity,2,
|
||||
field_75310_g,theTameable,2,
|
||||
field_75311_b,entityPathNavigate,0,The PathNavigate of our entity.
|
||||
field_75311_b,entityPathNavigate,1,The PathNavigate of our entity.
|
||||
field_75312_a,entityCallsForHelp,2,
|
||||
field_75313_b,theTarget,2,
|
||||
field_75314_a,theEntityTameable,2,
|
||||
field_75315_b,theOwnerAttacker,2,
|
||||
@@ -2936,6 +2941,8 @@ field_75768_d,mapDataDir,2,
|
||||
field_75769_e,initializationTime,2,The time in milliseconds when this field was initialized. Stored in the session lock file.
|
||||
field_75770_b,worldDirectory,2,The directory in which to save world data.
|
||||
field_75771_c,playersDirectory,2,The directory in which to save player data.
|
||||
field_75778_d,tickCount,2,
|
||||
field_75779_e,tickRate,2,
|
||||
field_75780_b,executingTaskEntries,2,A list of EntityAITaskEntrys that are currently being executed.
|
||||
field_75781_c,theProfiler,2,Instance of Profiler.
|
||||
field_75782_a,taskEntries,2,A list of EntityAITaskEntrys in EntityAITasks.
|
||||
@@ -3841,7 +3848,7 @@ field_77747_aY,sugar,2,
|
||||
field_77748_bA,eyeOfEnder,2,
|
||||
field_77749_aR,fishingRod,2,
|
||||
field_77750_aQ,compass,2,
|
||||
field_77751_aT,lightStoneDust,2,
|
||||
field_77751_aT,glowstone,2,
|
||||
field_77752_aS,pocketSundial,2,
|
||||
field_77753_aV,fishCooked,2,
|
||||
field_77754_aU,fishRaw,2,
|
||||
@@ -4728,6 +4735,7 @@ field_82731_v,wither,2,The wither Potion object.
|
||||
field_82741_K,vecPool,2,The world-local pool of vectors
|
||||
field_82745_f,createdAtCloudUpdateTick,0,keeps track of how many ticks this PartiallyDestroyedBlock already exists
|
||||
field_82748_f,worldTypeId,2,ID for this world type.
|
||||
field_82754_f,priority,2,
|
||||
field_82755_b,isSmoking,2,whether or not this explosion spawns smoke particles
|
||||
field_82759_d,valueDouble,2,
|
||||
field_82760_b,valueBoolean,2,
|
||||
@@ -4791,7 +4799,11 @@ field_82893_b,batBody,0,The body box of the bat model.
|
||||
field_82894_c,batRightWing,0,The inner right wing box of the bat model.
|
||||
field_82895_a,batHead,0,
|
||||
field_82896_a,skeletonHead,0,
|
||||
field_82898_f,villagerNose,0,
|
||||
field_82902_i,witchHat,0,
|
||||
field_82906_o,offsetX,0,
|
||||
field_82907_q,offsetZ,0,
|
||||
field_82908_p,offsetY,0,
|
||||
field_82909_b,presetName,0,Name for this preset.
|
||||
field_82910_c,presetData,0,Data for this preset.
|
||||
field_82911_a,iconId,0,ID for the item used as icon for this preset.
|
||||
@@ -4811,6 +4823,7 @@ field_83027_i,renderMinY,0,The minimum Y value for rendering (default 0.0).
|
||||
field_85037_d,aiArrowAttack,2,
|
||||
field_85038_e,aiAttackOnCollide,2,
|
||||
field_85042_b,eventButton,0,
|
||||
field_85043_c,lastMouseEvent,0,
|
||||
field_85045_v,returningStack,0,Used when touchscreen is enabled
|
||||
field_85046_u,returningStackTime,0,
|
||||
field_85047_t,returningStackDestSlot,0,
|
||||
@@ -4840,6 +4853,7 @@ field_85141_a,worldInfoInstance,2,
|
||||
field_85143_a,worldInfoInstance,2,
|
||||
field_85146_a,theTileEntity,2,
|
||||
field_85155_a,theEntity,2,
|
||||
field_85159_M,isAdventureModeExempt,2,
|
||||
field_85161_a,theMapStructureGenerator,2,
|
||||
field_85164_c,theMapStructureGenerator,2,
|
||||
field_85168_c,theMapStructureGenerator,2,
|
||||
@@ -4872,6 +4886,7 @@ field_92076_h,skyLightSent,2,"Whether or not the chunk data contains a light nib
|
||||
field_92077_h,pitch,2,The pitch in steps of 2p/256
|
||||
field_92078_i,yaw,2,The yaw in steps of 2p/256
|
||||
field_92086_a,isBlank,2,When isBlank is true the DataWatcher is not watching any objects
|
||||
field_92090_c,enchantmentsBookList,2,The list of enchantments applicable by the anvil from a book
|
||||
field_92091_k,thorns,2,
|
||||
field_92104_bU,firework,2,
|
||||
field_92105_bW,enchantedBook,2,
|
||||
@@ -4882,6 +4897,7 @@ field_92119_C,overrideHeight,0,
|
||||
field_94050_c,customName,2,
|
||||
field_94054_b,particleTextureIndexX,0,
|
||||
field_94055_c,particleTextureIndexY,0,
|
||||
field_94063_bt,_combatTracker,2,
|
||||
field_94084_b,tntPlacedBy,2,
|
||||
field_94102_c,entityName,2,
|
||||
field_94106_a,minecartTNTFuse,2,
|
||||
@@ -4961,8 +4977,8 @@ field_94299_k,textureWrap,0,
|
||||
field_94300_h,textureTarget,0,
|
||||
field_94301_i,textureMinFilter,0,
|
||||
field_94302_r,textureData,0,
|
||||
field_94303_q,textureNotModified,0,False if the texture has been modified since it was last uploaded to the GPU.
|
||||
field_94304_p,autoCreate,0,"Uninitialized boolean. If true, the texture is re-uploaded every time it's modified. If false, every tick after it's been modified at least once in that tick."
|
||||
field_94303_q,textureUploaded,0,If the texture has been uploaded to the GPU
|
||||
field_94304_p,autoUpload,0,"If true, the texture is re-uploaded every time it's modified. If false, every tick after it's been modified at least once in that tick."
|
||||
field_94313_f,maxHeight,0,
|
||||
field_94314_g,forcePowerOf2,0,
|
||||
field_94315_d,currentHeight,0,
|
||||
@@ -5068,6 +5084,7 @@ field_94516_b,logicWorld,2,
|
||||
field_94517_c,railX,2,
|
||||
field_94518_a,theRail,2,
|
||||
field_94557_a,selectAnything,2,
|
||||
field_94579_S,pendingTickListEntriesThisTick,2,
|
||||
field_94582_cb,minecartTnt,2,
|
||||
field_94583_ca,netherQuartz,2,
|
||||
field_94584_bZ,netherrackBrick,2,
|
||||
@@ -5080,6 +5097,7 @@ field_94601_a,bowPullIconNameArray,2,
|
||||
field_94610_a,theTileEntity,2,
|
||||
field_94612_a,theTileEntity,2,
|
||||
field_96093_i,entityUniqueID,2,
|
||||
field_96101_a,outputSignal,2,
|
||||
field_96105_c,commandSenderName,2,"The name of command sender (usually username, but possibly ""Rcon"")"
|
||||
field_96106_a,succesCount,2,
|
||||
field_96113_a,isBlocked,2,Whether this hopper minecart is being blocked by an activator rail.
|
||||
@@ -5137,6 +5155,7 @@ field_98044_b,transferTicker,2,
|
||||
field_98048_c,transferCooldown,2,
|
||||
field_98051_e,fallingBlockTileEntityData,2,
|
||||
field_98130_m,serverLogAgent,0,
|
||||
field_98141_g,fallbackTexturePack,0,
|
||||
field_98151_a,theTexture,0,
|
||||
field_98181_L,worldLogAgent,2,The log agent for this world.
|
||||
field_98189_n,partialRenderBounds,0,
|
||||
|
||||
|
+161
-126
File diff suppressed because it is too large.
Load diff
+16879
-16827
File diff suppressed because it is too large.
Load diff
+8
-8
@@ -38,8 +38,8 @@ DirNatives = %(DirJars)s/bin/natives
|
||||
Client = %(DirJars)s/bin/minecraft.jar
|
||||
Server = %(DirJars)s/minecraft_server.jar
|
||||
LWJGL = %(DirJars)s/bin/jinput.jar,%(DirJars)s/bin/lwjgl.jar,%(DirJars)s/bin/lwjgl_util.jar
|
||||
MD5Client = 3c56fb4b77b1ca37dde69b5eb896fc4d
|
||||
MD5Server = ff8f81970a5955737c356b534d3aee96
|
||||
MD5Client = 9356f3ad44925a684e918b9270b63a6c
|
||||
MD5Server = 39df9f29e6904ea7b351ffb4fe949881
|
||||
|
||||
[RETROGUARD]
|
||||
Location = %(DirRuntime)s/bin/retroguard.jar
|
||||
@@ -96,8 +96,8 @@ BinClient = %(DirBin)s/minecraft
|
||||
BinServer = %(DirBin)s/minecraft_server
|
||||
LogClient = %(DirLogs)s/client_compile.log
|
||||
LogServer = %(DirLogs)s/server_compile.log
|
||||
ClassPathClient = %(DirLib)s/,%(DirLib)s/*,%(DirJars)s/bin/minecraft.jar,%(DirJars)s/bin/jinput.jar,%(DirJars)s/bin/lwjgl.jar,%(DirJars)s/bin/lwjgl_util.jar
|
||||
ClassPathServer = %(DirLib)s/,%(DirLib)s/*,%(DirJars)s/minecraft_server.jar
|
||||
ClassPathClient =
|
||||
ClassPathServer =
|
||||
ClientFixes = %(DirConf)s/patches
|
||||
FixStart = Start
|
||||
IgnorePkg = paulscode,com,isom,ibxm,de/matthiasmann/twl,org,javax/xml,javax/ws,argo
|
||||
@@ -127,8 +127,8 @@ LogFile = %(DirLogs)s/mcp.log
|
||||
LogFileErr = %(DirLogs)s/mcperr.log
|
||||
UpdateUrl =
|
||||
IgnoreUpdate = %(DirBin)s,%(DirLib)s,%(DirLogs)s,%(DirModSrc)s,%(DirReobf)s,%(DirSrc)s,%(DirTemp)s,%(DirEclipse)s/Client/bin,%(DirEclipse)s/Server/bin,%(DirJars)s/world,%(DirJars)s/saves,%(DirJars)s/resources
|
||||
RGIndex = 140000
|
||||
ParamIndex = 40000
|
||||
RGIndex = 142000
|
||||
ParamIndex = 42000
|
||||
|
||||
[ASTYLE]
|
||||
AstyleConfig = %(DirConf)s/astyle.cfg
|
||||
@@ -159,5 +159,5 @@ CmdFernflower = %s -Xmx512M -jar %s -din=0 -rbr=0 -dgs=1 -asc=1 -log=WARN {indir
|
||||
CmdExceptor = %s -jar %s {input} {output} {conf} {log}
|
||||
CmdRecomp = %s -encoding UTF-8 -Xlint:-options -deprecation -g -source 1.6 -target 1.6 -classpath "{classpath}" -sourcepath {sourcepath} -d {outpath} {pkgs}
|
||||
CmdRecompScala = %s -encoding UTF-8 -deprecation -target:jvm-1.6 -classpath "{classpath}" -sourcepath {sourcepath} -d {outpath} {pkgs}
|
||||
CmdStartSrv = %s -Xincgc -Xms1024M -Xmx1024M -cp "{classpath}" net.minecraft.server.MinecraftServer
|
||||
CmdStartClt = %s -Xincgc -Xms1024M -Xmx1024M -cp "{classpath}" -Djava.library.path={natives} Start
|
||||
CmdStartSrv = %s -Xincgc -Xms1024M -Xmx1024M -cp "{classpath}" cpw.mods.fml.relauncher.ServerLaunchWrapper {extraargs}
|
||||
CmdStartClt = %s -Xincgc -Xms1024M -Xmx1024M -cp "{classpath}" -Djava.library.path={natives} net.minecraft.launchwrapper.Launch --tweakClass cpw.mods.fml.common.launcher.FMLTweaker --version FML_DEV {extraargs}
|
||||
+72
-30
@@ -7,7 +7,9 @@ func_100015_a,isKeyDown,0,Returns whether the specified key binding is currently
|
||||
func_102007_a,canInsertItem,2,"Returns true if automation can insert the given item in the given slot from the given side. Args: Slot, item, side"
|
||||
func_102008_b,canExtractItem,2,"Returns true if automation can extract the given item in the given slot from the given side. Args: Slot, item, side"
|
||||
func_102013_b,canExtractItemFromInventory,2,
|
||||
func_102015_a,canInsertItemToInventory,2,"Args: inventory, item, slot, side"
|
||||
func_102026_a,isBlockTopFacingSurfaceSolid,2,"Performs check to see if the block is a normal, solid block, or if the metadata of the block indicates that its facing puts its solid side upwards. (inverted stairs, for example)"
|
||||
func_102027_b,renderBlockWithAmbientOcclusion,0,"Renders non-full-cube block with ambient occusion. Args: block, x, y, z, red, green, blue (lighting)"
|
||||
func_102028_d,isSplashPotionEffect,0,
|
||||
func_102028_d,isSplashPotionEffect,1,
|
||||
func_70000_a,addServerStatsToSnooper,2,
|
||||
@@ -17,8 +19,7 @@ func_70003_b,canCommandSenderUseCommand,2,Returns true if the command sender is
|
||||
func_70004_a,translateString,0,Translates and formats the given string key with the given arguments.
|
||||
func_70004_a,translateString,1,Translates and formats the given string key with the given arguments.
|
||||
func_70005_c_,getCommandSenderName,2,"Gets the name of this command sender (usually username, but possibly ""Rcon"")"
|
||||
func_70006_a,sendChatToPlayer,0,
|
||||
func_70006_a,sendChatToPlayer,1,
|
||||
func_70006_a,sendChatToPlayer,2,
|
||||
func_70007_b,resetLog,2,Clears the RCon log
|
||||
func_70008_c,getChatBuffer,2,
|
||||
func_70011_f,getDistance,2,"Gets the distance to the position. Args: x, y, z"
|
||||
@@ -163,6 +164,7 @@ func_70305_f,closeChest,2,
|
||||
func_70306_a,addMapping,2,Adds a new two-way mapping between the class and its string name in both hashmaps.
|
||||
func_70307_a,readFromNBT,2,Reads a tile entity from NBT.
|
||||
func_70308_a,setWorldObj,2,Sets the worldObj for this tileEntity.
|
||||
func_70309_m,hasWorldObj,2,Returns true if the worldObj isn't null.
|
||||
func_70310_b,writeToNBT,2,Writes a tile entity to NBT.
|
||||
func_70311_o,getBlockType,2,Gets the block type at the location of this entity (client-only).
|
||||
func_70312_q,validate,2,validates a tile entity
|
||||
@@ -265,6 +267,7 @@ func_70541_f,multipleParticleScaleBy,0,
|
||||
func_70542_f,getGreenColorF,0,
|
||||
func_70543_e,multiplyVelocity,0,
|
||||
func_70589_b,setBaseSpellTextureIndex,0,Sets the base spell texture index
|
||||
func_70596_a,applyColourMultiplier,0,"If the block has a colour multiplier, copies it to this particle and returns this particle."
|
||||
func_70598_b,setHomeArea,0,
|
||||
func_70598_b,setHomeArea,1,
|
||||
func_70599_aP,getSoundVolume,2,Returns the volume for the sounds this mob makes.
|
||||
@@ -506,7 +509,8 @@ func_71018_a,sleepInBedAt,2,Attempts to have the player sleep in a bed at the sp
|
||||
func_71019_a,dropPlayerItemWithRandomChoice,2,"Args: itemstack, flag"
|
||||
func_71020_j,addExhaustion,2,increases exhaustion level by supplied amount
|
||||
func_71021_b,dropPlayerItem,2,Args: itemstack - called when player drops an item stack that's not in his inventory (like items still placed in a workbench while the workbench'es GUI gets closed)
|
||||
func_71022_a,alertWolves,2,"Called when the player attack or gets attacked, it's alert all wolves in the area that are owned by the player to join the attack or defend the player."
|
||||
func_71022_a,alertWolves,0,"Called when the player attack or gets attacked, it's alert all wolves in the area that are owned by the player to join the attack or defend the player."
|
||||
func_71022_a,alertWolves,1,"Called when the player attack or gets attacked, it's alert all wolves in the area that are owned by the player to join the attack or defend the player."
|
||||
func_71023_q,addExperience,2,This method increases the player's current amount of experience.
|
||||
func_71024_bL,getFoodStats,2,Returns the player's FoodStats object.
|
||||
func_71025_t,getTranslator,0,
|
||||
@@ -565,7 +569,7 @@ func_71124_b,getCurrentItemOrArmor,2,"0 = item, 1-n is armor"
|
||||
func_71125_a,updateClientInfo,2,
|
||||
func_71126_v,getChatVisibility,2,
|
||||
func_71127_g,onUpdateEntity,2,
|
||||
func_71128_l,closeInventory,2,
|
||||
func_71128_l,closeContainer,2,Closes the container the player currently has open.
|
||||
func_71150_b,setHealth,0,Updates health locally.
|
||||
func_71151_f,getFOVMultiplier,0,Gets the player's field of view multiplier. (ex. when flying)
|
||||
func_71152_a,setXPStats,0,"Sets the current XP, total XP, and level number."
|
||||
@@ -942,7 +946,7 @@ func_71907_b,setTickRandomly,2,Sets whether this block type will receive random
|
||||
func_71908_a,getPlayerRelativeBlockHardness,2,"Gets the hardness of block at the given coordinates in the given world, relative to the ability of the given EntityPlayer."
|
||||
func_71910_a,quantityDroppedWithBonus,2,Returns the usual quantity dropped by the block plus a bonus of 1 to 'i' (inclusive).
|
||||
func_71911_a_,getSelectedBoundingBoxFromPool,0,Returns the bounding box of the wired rectangular prism to render.
|
||||
func_71913_a,canCollideCheck,2,"Returns whether this block is collideable based on the arguments passed in Args: blockMetaData, unknownFlag"
|
||||
func_71913_a,canCollideCheck,2,Returns whether this block is collideable based on the arguments passed in \n@param par1 block metaData \n@param par2 whether the player right-clicked while holding a boat
|
||||
func_71914_a,dropBlockAsItemWithChance,2,Drops the block items with a specified chance of dropping the specified items
|
||||
func_71915_e,getMobilityFlag,2,"Returns the mobility information of the block, 0 = free, 1 = can't push but can move over, 2 = total immobility and stop pistons"
|
||||
func_71916_a,isVecInsideYZBounds,2,Checks if a vector is within the Y and Z bounds of the block.
|
||||
@@ -1329,9 +1333,10 @@ func_72677_b,getVolume,2,
|
||||
func_72678_c,getPitch,2,
|
||||
func_72682_c,getChunkWatchersWithPlayers,2,
|
||||
func_72683_a,addPlayer,2,Adds an EntityPlayerMP to the PlayerManager.
|
||||
func_72684_a,overlaps,2,"Determine if two rectangles centered at the given points overlap for the provided radius. Arguments: x1, z1, x2, z2, radius."
|
||||
func_72685_d,updateMountedMovingPlayer,2,"update chunks around a player being moved by server logic (e.g. cart, boat)"
|
||||
func_72686_a,getFurthestViewableBlock,2,Get the furthest viewable block given player's view distance
|
||||
func_72687_a,flagChunkForUpdate,2,"the ""PlayerInstance""/ chunkWatcher will send this chunk to all players who are in line of sight"
|
||||
func_72687_a,markBlockForUpdate,2,Called by WorldManager.markBlockForUpdate; marks a block to be resent to clients.
|
||||
func_72688_a,getWorldServer,2,
|
||||
func_72689_b,getChunkWatchers,2,
|
||||
func_72690_a,getOrCreateChunkWatcher,2,
|
||||
@@ -1426,15 +1431,16 @@ func_72841_b,getUniqueDataId,2,Returns an unique new data id from the MapStorage
|
||||
func_72842_a,getBlockDensity,2,"Gets the percentage of real blocks within within a bounding box, along a specified vector."
|
||||
func_72843_D,setRandomSeed,2,puts the World Random seed to a specific state dependant on the inputs
|
||||
func_72844_a,getEntityPathToXYZ,2,
|
||||
func_72845_h,markBlockForUpdate,2,"On the client, re-renders the block. On the server, sends the block to the client (which will re-render it), including the tile entity description packet if applicable. Args: x, y, z"
|
||||
func_72845_h,markBlockForUpdate,2,"On the client, re-renders the block. On the server, sends the block to the client (which will re-render it only if the ID or MD changes), including the tile entity description packet if applicable. Args: x, y, z"
|
||||
func_72846_b,getClosestVulnerablePlayer,2,"Returns the closest vulnerable player within the given radius, or null if none is found."
|
||||
func_72847_b,releaseEntitySkin,2,Decrement the reference counter for this entity's skin image data
|
||||
func_72847_b,onEntityRemoved,2,
|
||||
func_72848_b,removeWorldAccess,0,Removes a worldAccess from the worldAccesses object
|
||||
func_72849_a,getBlockLightValue_do,2,"Gets the light value of a block location. This is the actual function that gets the value and has a bool flag that indicates if its a half step block to get the maximum light value of a direct neighboring block (left, right, forward, back, and up)"
|
||||
func_72850_v,isBlockFreezableNaturally,2,checks to see if a given block is both water and has at least one immediately adjacent non-water block
|
||||
func_72851_f,notifyBlockChange,2,"The block type change and need to notify other systems Args: x, y, z, blockID"
|
||||
func_72852_a,addTileEntity,2,
|
||||
func_72853_d,getMoonPhase,2,
|
||||
func_72853_d,getMoonPhase,0,
|
||||
func_72853_d,getMoonPhase,1,
|
||||
func_72854_c,updateAllPlayersSleepingFlag,2,Updates the flag that indicates whether or not all players in the world are sleeping.
|
||||
func_72855_b,checkNoEntityCollision,2,"Returns true if there are no solid, live entities in the specified AxisAlignedBB"
|
||||
func_72856_b,getClosestVulnerablePlayerToEntity,2,"Returns the closest vulnerable player to this entity within the given radius, or null if none is found"
|
||||
@@ -1477,7 +1483,7 @@ func_72897_h,joinEntityInSurroundings,0,spwans an entity and loads surrounding c
|
||||
func_72898_h,notifyBlocksOfNeighborChange,2,"Notifies neighboring blocks that this specified block changed Args: x, y, z, blockID"
|
||||
func_72899_e,blockExists,2,"Returns whether a block exists at world coordinates x, y, z"
|
||||
func_72900_e,removeEntity,2,Schedule the entity for removal during the next tick. Marks the entity dead in anticipation.
|
||||
func_72901_a,rayTraceBlocks_do,2,
|
||||
func_72901_a,clip,2,"Performs a raycast against all blocks in the world, and optionally liquids."
|
||||
func_72902_n,markBlockForRenderUpdate,2,"On the client, re-renders this block. On the server, does nothing. Used for lighting updates."
|
||||
func_72903_x,setActivePlayerChunksAndCheckLight,2,
|
||||
func_72904_c,checkChunksExist,2,"Checks between a min and max all the chunks inbetween actually exist. Args: minX, minY, minZ, maxX, maxY, maxZ"
|
||||
@@ -1499,7 +1505,7 @@ func_72919_O,getHorizon,0,Returns horizon height for use in rendering the sky.
|
||||
func_72920_a,getPendingBlockUpdates,2,
|
||||
func_72921_c,setBlockMetadataWithNotify,2,"Sets the blocks metadata and if set will then notify blocks that this block changed, depending on the flag. Args: x, y, z, metadata, flag. See setBlock for flag description"
|
||||
func_72922_b,getFirstUncoveredBlock,2,"Returns the block ID of the first block at this (x,z) location with air above it, searching from sea level upwards."
|
||||
func_72923_a,obtainEntitySkin,2,"Start the skin for this entity downloading, if necessary, and increment its reference counter"
|
||||
func_72923_a,onEntityAdded,2,
|
||||
func_72924_a,getPlayerEntityByName,2,Find a player by name in this world.
|
||||
func_72925_a,getSkyBlockTypeBrightness,0,Brightness for SkyBlock.Sky is clear white and (through color computing it is assumed) DEPENDENT ON DAYTIME. Brightness for SkyBlock.Block is yellowish and independent.
|
||||
func_72926_e,playAuxSFX,2,See description for func_72706_a.
|
||||
@@ -1508,7 +1514,7 @@ func_72928_a,markTileEntityForDespawn,2,adds tile entity to despawn list (rename
|
||||
func_72929_e,getCelestialAngleRadians,2,Return getCelestialAngle()*2*PI
|
||||
func_72931_a,canPlaceEntityOnSide,2,Returns true if the given Entity can be placed on the given side of the given block position.
|
||||
func_72932_q,removeBlockTileEntity,2,"Removes the TileEntity for a given block in X,Y,Z coordinates"
|
||||
func_72933_a,rayTraceBlocks,2,"ray traces all blocks, including non-collideable ones"
|
||||
func_72933_a,clip,2,Performs a raycast against all blocks in the world except liquids.
|
||||
func_72934_a,playRecord,2,"Plays a record at the specified coordinates of the specified name. Args: recordName, x, y, z"
|
||||
func_72935_r,isDaytime,2,Checks whether its daytime by seeing if the light subtracted from the skylight is less than 4
|
||||
func_72936_c,updateLightByType,2,
|
||||
@@ -1572,7 +1578,8 @@ func_73045_a,getEntityByID,2,"Returns the Entity with the given ID, or null if i
|
||||
func_73046_m,getMinecraftServer,2,Gets the MinecraftServer.
|
||||
func_73047_i,createBonusChest,2,Creates the bonus chest in the world.
|
||||
func_73049_a,getAllTileEntityInBox,2,"pars: min x,y,z , max x,y,z"
|
||||
func_73050_b,uncheckedUpdateEntity,2,direct call to super.updateEntityWithOptionalForce
|
||||
func_73050_b,uncheckedUpdateEntity,0,direct call to super.updateEntityWithOptionalForce
|
||||
func_73050_b,uncheckedUpdateEntity,1,direct call to super.updateEntityWithOptionalForce
|
||||
func_73051_P,resetRainAndThunder,2,
|
||||
func_73052_b,createSpawnPosition,2,"creates a spawn position at random within 256 blocks of 0,0"
|
||||
func_73053_d,wakeAllPlayers,2,
|
||||
@@ -1635,10 +1642,10 @@ func_73240_a,unloadAllChunks,2,"marks all chunks for unload, ignoring those near
|
||||
func_73241_b,unloadChunksIfNotNearSpawn,2,"marks chunk for unload by ""unload100OldestChunks"" if there is no spawn point, or if the center of the chunk is outside 200 blocks (x or z) of the spawn"
|
||||
func_73242_b,safeSaveChunk,2,"used by saveChunks, but catches any exceptions if the save fails."
|
||||
func_73243_a,safeSaveExtraChunkData,2,"used by saveChunks, but catches any exceptions if the save fails."
|
||||
func_73252_b,sendThisChunkToPlayer,2,
|
||||
func_73252_b,removePlayer,2,
|
||||
func_73253_a,getChunkLocation,2,
|
||||
func_73254_a,sendChunkUpdate,2,
|
||||
func_73255_a,addPlayerToChunkWatchingList,2,called for all chunks within the visible radius of the player
|
||||
func_73255_a,addPlayer,2,
|
||||
func_73256_a,sendToAllPlayersWatchingChunk,2,
|
||||
func_73257_a,sendTileToAllPlayersWatchingChunk,2,
|
||||
func_73258_b,getPlayersInChunk,2,
|
||||
@@ -1936,6 +1943,7 @@ func_74226_k,needsScrollBars,0,returns (if you are not on the inventoryTab) and
|
||||
func_74227_b,setCurrentCreativeTab,0,
|
||||
func_74228_j,updateCreativeSearch,0,
|
||||
func_74229_i,getInventory,0,Returns the creative inventory
|
||||
func_74230_h,getCurrentTabIndex,0,Returns the current creative tab index.
|
||||
func_74231_b,renderCreativeInventoryHoveringText,0,"Renders the creative inventory hovering text if mouse is over it. Returns true if did render or false otherwise. Params: current creative tab to be checked, current mouse x position, current mouse y position."
|
||||
func_74233_a,renderCreativeTab,0,Renders passed creative inventory tab into the screen.
|
||||
func_74252_a,setNetClientHandler,0,Sets the NetClientHandler.
|
||||
@@ -2334,7 +2342,7 @@ func_75130_a,onCraftMatrixChanged,2,Callback for when the crafting matrix is cha
|
||||
func_75131_a,putStacksInSlots,0,"places itemstacks in first x slots, x being aitemstack.lenght"
|
||||
func_75132_a,addCraftingToCrafters,2,
|
||||
func_75133_b,retrySlotClick,2,
|
||||
func_75134_a,onCraftGuiClosed,2,Callback for when the crafting gui is closed.
|
||||
func_75134_a,onContainerClosed,2,Called when the container is closed.
|
||||
func_75135_a,mergeItemStack,2,merges provided ItemStack with the first avaliable one in the container/player inventory
|
||||
func_75136_a,getNextTransactionID,0,Gets a unique transaction ID. Parameter is unused.
|
||||
func_75137_b,updateProgressBar,0,
|
||||
@@ -2697,7 +2705,7 @@ func_76072_h,getPlayerNBTTagCompound,2,Returns the player's NBTTagCompound to be
|
||||
func_76073_f,getWorldTime,2,Get current world time
|
||||
func_76074_e,getSpawnZ,2,Returns the z spawn position
|
||||
func_76075_d,getSpawnY,2,Return the Y axis spawning point of the player.
|
||||
func_76076_i,getDimension,2,
|
||||
func_76076_i,getVanillaDimension,2,"Returns vanilla MC dimension (-1,0,1). For custom dimension compatibility, always prefer WorldProvider.dimensionID accessed from World.provider.dimensionID"
|
||||
func_76077_q,getGameType,2,Gets the GameType.
|
||||
func_76078_e,setSaveVersion,2,Sets the save version of the world
|
||||
func_76079_c,getSpawnX,2,Returns the x spawn position
|
||||
@@ -2824,8 +2832,7 @@ func_76356_a,causeThrownDamage,2,
|
||||
func_76357_e,canHarmInCreative,2,
|
||||
func_76358_a,causeMobDamage,2,
|
||||
func_76359_i,setDamageAllowedInCreativeMode,2,
|
||||
func_76360_b,getDeathMessage,0,Returns the message to be displayed on player death.
|
||||
func_76360_b,getDeathMessage,1,Returns the message to be displayed on player death.
|
||||
func_76360_b,getDeathMessage,2,Returns the message to be displayed on player death.
|
||||
func_76361_j,setFireDamage,2,Define the damage type as fire based.
|
||||
func_76362_a,causeFireballDamage,2,returns EntityDamageSourceIndirect of a fireball
|
||||
func_76363_c,isUnblockable,2,
|
||||
@@ -3412,6 +3419,7 @@ func_77649_a,getDamageVsEntity,0,Returns the damage against a given entity.
|
||||
func_77649_a,getDamageVsEntity,1,Returns the damage against a given entity.
|
||||
func_77650_f,getIconIndex,0,Returns the icon index of the stack given as argument.
|
||||
func_77651_p,getShareTag,2,"If this function returns true (or the item is damageable), the ItemStack's NBT tag will be sent to the client."
|
||||
func_77653_i,getItemStackDisplayName,2,
|
||||
func_77654_b,onEaten,2,
|
||||
func_77655_b,setUnlocalizedName,2,"Sets the unlocalized name of this item to the string passed as the parameter, prefixed by ""item."""
|
||||
func_77656_e,setMaxDamage,2,set max damage of an Item
|
||||
@@ -3859,11 +3867,13 @@ func_82144_au,doesEntityNotTriggerPressurePlate,2,Return whether this entity sho
|
||||
func_82145_z,getMaxInPortalTime,2,Return the amount of time this entity should stay in a portal before being transported.
|
||||
func_82147_ab,getPortalCooldown,2,Return the amount of cooldown before this entity can use a portal again.
|
||||
func_82148_at,getTeleportDirection,2,
|
||||
func_82149_j,copyLocationAndAnglesFrom,2,Sets this entity's location and angles to the location and angles of the passed in entity.
|
||||
func_82150_aj,isInvisible,2,
|
||||
func_82154_e,setIsAnvil,2,
|
||||
func_82159_b,getArmorPosition,2,
|
||||
func_82160_b,dropEquipment,2,Drop the equipment for this entity.
|
||||
func_82161_a,getArmorItemForSlot,2,"Params: Armor slot, Item tier"
|
||||
func_82162_bC,enchantEquipment,2,Enchants the entity's armor and held item based on difficulty
|
||||
func_82163_bD,initCreature,0,Initialize this creature.
|
||||
func_82163_bD,initCreature,1,Initialize this creature.
|
||||
func_82164_bB,addRandomArmor,2,Makes entity wear random armor based on difficulty
|
||||
@@ -3902,7 +3912,7 @@ func_82241_s,getHideCape,0,
|
||||
func_82242_a,addExperienceLevel,2,Add experience levels to this player.
|
||||
func_82244_d,displayGUIAnvil,2,Displays the GUI for interacting with an anvil.
|
||||
func_82245_bX,isSpawnForced,2,
|
||||
func_82246_f,canCurrentToolHarvestBlock,2,"Returns true if the item the player is holding can harvest the block at the given coords. Args: x, y, z."
|
||||
func_82246_f,isCurrentToolAdventureModeExempt,2,Returns true if the given block can be mined with the current tool in adventure mode.
|
||||
func_82247_a,canPlayerEdit,2,
|
||||
func_82265_c,setEnabled,0,
|
||||
func_82266_h,setDisabledTextColour,0,
|
||||
@@ -4005,6 +4015,7 @@ func_82581_a,createCrashReport,2,Create a crash report which indicates a NBT rea
|
||||
func_82582_d,hasNoTags,2,Return whether this compound has no tags.
|
||||
func_82591_c,getPoolSize,2,
|
||||
func_82593_b,getPlaceSound,2,Used when a player places a block.
|
||||
func_82594_a,getObject,2,
|
||||
func_82595_a,putObject,2,Register an object on this registry.
|
||||
func_82599_e,getFrontOffsetZ,2,Returns a offset that addresses the block in front of this facing.
|
||||
func_82600_a,getFront,2,Returns the facing that represents the block in front of it.
|
||||
@@ -4065,12 +4076,14 @@ func_82733_a,selectEntitiesWithinAABB,2,
|
||||
func_82734_g,getChunkHeightMapMinimum,2,"Gets the heightMapMinimum field of the given chunk, or 0 if the chunk is not loaded. Coords are in blocks. Args: X, Z"
|
||||
func_82736_K,getGameRules,2,Gets the GameRules instance.
|
||||
func_82737_E,getTotalWorldTime,2,
|
||||
func_82740_a,scheduleBlockUpdateWithPriority,2,
|
||||
func_82742_i,resetUpdateEntityTick,2,Resets the updateEntityTick field to 0
|
||||
func_82743_f,getCreationCloudUpdateTick,0,retrieves the 'date' at which the PartiallyDestroyedBlock was created
|
||||
func_82744_b,setCloudUpdateTick,0,saves the current Cloud update tick into the PartiallyDestroyedBlock
|
||||
func_82746_a,broadcastSound,2,
|
||||
func_82747_f,getWorldTypeID,2,
|
||||
func_82752_c,isAdventure,2,Returns true if this is the ADVENTURE game type
|
||||
func_82753_a,setPriority,2,
|
||||
func_82756_a,getGameRuleStringValue,2,Gets the GameRule's value as String.
|
||||
func_82757_a,setValue,2,Set this game rule value.
|
||||
func_82758_b,getGameRuleBooleanValue,2,Gets the GameRule's value as boolean.
|
||||
@@ -4093,6 +4106,7 @@ func_82780_a,renderBlockFlowerpot,0,Renders flower pot
|
||||
func_82781_a,getEnchantments,2,Return the enchantments for the specified stack.
|
||||
func_82782_a,setEnchantments,2,Set the enchantments for the specified stack.
|
||||
func_82787_a,findMatchingRecipe,2,
|
||||
func_82788_x,canItemEditBlocks,2,"Returns true if players can use this item to affect the world (e.g. placing blocks, placing ender eyes in portal) when not in creative"
|
||||
func_82789_a,getIsRepairable,2,Return whether this item is repairable in an anvil.
|
||||
func_82790_a,getColorFromItemStack,0,
|
||||
func_82810_a,createHangingEntity,2,Create the hanging entity associated to this item.
|
||||
@@ -4106,6 +4120,7 @@ func_82829_a,renderCloudsCheck,0,Render clouds if enabled
|
||||
func_82830_a,getNightVisionBrightness,0,Gets the night vision brightness
|
||||
func_82833_r,getDisplayName,2,returns the display name of the itemstack
|
||||
func_82834_c,setItemName,2,Sets the item's name (used by anvil to rename the items).
|
||||
func_82835_x,canEditBlocks,2,
|
||||
func_82836_z,getItemFrame,2,Return the item frame this stack is on. Returns null if not on an item frame.
|
||||
func_82837_s,hasDisplayName,2,Returns true if the itemstack has a display name
|
||||
func_82838_A,getRepairCost,2,"Get this stack's repair cost, or 0 if no repair cost is defined."
|
||||
@@ -4118,11 +4133,9 @@ func_82845_b,getArmorCraftingMaterial,2,"Return the crafting material for this a
|
||||
func_82846_b,transferStackInSlot,2,Called when a player shift-clicks on a slot. You must override this or you will crash when someone does that.
|
||||
func_82847_b,removeCraftingFromCrafters,0,Remove this crafting listener from the listener list.
|
||||
func_82848_d,updateRepairOutput,2,"called when the Anvil Input Slot changes, calculates the new result and puts it in the output slot"
|
||||
func_82849_b,getStackSizeUsedInRepair,0,
|
||||
func_82849_b,getStackSizeUsedInRepair,1,
|
||||
func_82849_b,getStackSizeUsedInRepair,2,
|
||||
func_82850_a,updateItemName,2,used by the Anvil GUI to update the Item Name being typed by the player
|
||||
func_82851_a,getRepairInputInventory,0,
|
||||
func_82851_a,getRepairInputInventory,1,
|
||||
func_82851_a,getRepairInputInventory,2,
|
||||
func_82863_d,getBeacon,2,Returns the Tile Entity behind this beacon inventory / container
|
||||
func_82869_a,canTakeStack,2,Return whether this slot's stack can be taken from this slot.
|
||||
func_82870_a,onPickupFromSlot,2,
|
||||
@@ -4147,11 +4160,13 @@ func_83020_a,setRenderBounds,0,"Sets the bounding box for the block to draw in,
|
||||
func_85028_t,getClassToNameMap,2,
|
||||
func_85030_a,playSound,2,
|
||||
func_85032_ar,isEntityInvulnerable,2,Return whether this entity is invulnerable to damage.
|
||||
func_85033_bc,collideWithNearbyEntities,2,
|
||||
func_85034_r,setArrowCountInEntity,2,sets the amount of arrows stuck in the entity. used for rendering those
|
||||
func_85035_bI,getArrowCountInEntity,2,"counts the amount of arrows stuck in the entity. getting hit by arrows increases this, used in rendering"
|
||||
func_85036_m,setCombatTask,2,sets this entity's combat AI.
|
||||
func_85039_t,addScore,2,Add to player's score
|
||||
func_85040_s,setScore,2,Set player's score
|
||||
func_85041_a,mouseClickMove,0,"Called when a mouse button is pressed and the mouse is moved around. Parameters are : mouseX, mouseY, lastButtonClicked & timeSinceMouseClick."
|
||||
func_85044_b,drawItemStack,0,
|
||||
func_85052_h,getThrower,2,
|
||||
func_85054_d,searchForOtherItemsNearby,2,Looks for other itemstacks nearby and tries to stack them together
|
||||
@@ -4199,12 +4214,13 @@ func_85145_a,callTileEntityName,2,
|
||||
func_85151_d,getLowerChestInventory,2,Return this chest container's lower chest inventory.
|
||||
func_85154_a,callEntityType,2,
|
||||
func_85156_a,removeTask,2,removes the indicated task from the entity's AI tasks.
|
||||
func_85157_q,isAlwaysHarvested,2,Check to see if we can harvest it in any case.
|
||||
func_85158_p,setAlwaysHarvested,2,Set as harvestable in any case.
|
||||
func_85157_q,isAdventureModeExempt,2,Returns true if blocks with this material can always be mined in adventure mode.
|
||||
func_85158_p,setAdventureModeExempt,2,@see #isAdventureModeExempt()
|
||||
func_85160_a,callStructureType,2,
|
||||
func_85162_a,callChunkPositionHash,2,
|
||||
func_85170_a,callServerType,2,
|
||||
func_85173_a,playSoundToNearExcept,2,Plays sound to all near players except the player reference given
|
||||
func_85174_u,isBlockFullCube,2,
|
||||
func_85175_e,blockGetRenderType,2,Returns the render type of the block at the given coordinate.
|
||||
func_85176_s,getDefaultTeleporter,2,
|
||||
func_85181_a,getRandomModelBox,0,
|
||||
@@ -4233,18 +4249,27 @@ func_90054_a,callUpdatingScreenName,0,
|
||||
func_90999_ad,canRenderOnFire,0,Return whether this entity should be rendered as on fire.
|
||||
func_92058_a,setEntityItemStack,2,Sets the ItemStack for this entity
|
||||
func_92059_d,getEntityItem,2,"Returns the ItemStack corresponding to the Entity (Note: if no item exists, will log an error but still return an ItemStack containing Block.stone)"
|
||||
func_92062_k,sendChatMsg,0,Sends the given string to every player as chat message.
|
||||
func_92062_k,sendChatMsg,1,Sends the given string to every player as chat message.
|
||||
func_92062_k,sendChatMsg,2,Sends the given string to every player as chat message.
|
||||
func_92085_d,getIsBlank,2,
|
||||
func_92087_a,causeThornsDamage,2,Returns the EntityDamageSource of the Thorns enchantment
|
||||
func_92089_a,canApply,2,
|
||||
func_92097_a,negateDamage,2,"Used by ItemStack.attemptDamageItem. Randomly determines if a point of damage should be negated using the enchantment level (par1). If the ItemStack is Armor then there is a flat 60% chance for damage to be negated no matter the enchantment level, otherwise there is a 1-(par/1) chance for damage to be negated."
|
||||
func_92103_a,addRecipe,2,
|
||||
func_94041_b,isStackValidForSlot,2,Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
|
||||
func_92111_a,getEnchantedItemStack,2,Returns the ItemStack of an enchanted version of this item.
|
||||
func_92115_a,getEnchantedItemStack_do,2,Returns the ItemStack of an enchanted version of this item.
|
||||
func_92116_a,addEnchantmentBooksToList,0,Adds the enchantment books from the supplied EnumEnchantmentType to the given list.
|
||||
func_94041_b,isItemValidForSlot,2,Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
|
||||
func_94042_c,isInvNameLocalized,2,"If this returns false, the inventory name will be used as an unlocalized name, and translated into the player's language. Otherwise it will be used directly."
|
||||
func_94043_a,setChestGuiName,2,Sets the custom display name to use when opening a GUI for this specific TileEntityChest.
|
||||
func_94049_a,setCustomName,2,
|
||||
func_94052_a,setParticleIcon,0,
|
||||
func_94053_h,nextTextureIndexX,0,
|
||||
func_94056_bM,hasCustomNameTag,2,
|
||||
func_94057_bL,getCustomNameTag,2,
|
||||
func_94058_c,setCustomNameTag,2,
|
||||
func_94059_bO,getAlwaysRenderNameTagForRender,0,
|
||||
func_94061_f,setAlwaysRenderNameTag,2,
|
||||
func_94062_bN,getAlwaysRenderNameTag,2,
|
||||
func_94064_a,displayGUIHopper,2,
|
||||
func_94065_a,drawTexturedModelRectFromIcon,0,
|
||||
func_94083_c,getTntPlacedBy,2,returns null or the entityliving it was placed or ignited by
|
||||
@@ -4273,6 +4298,7 @@ func_94116_j,insertItemToInventory,2,Inserts one item from the hopper into the i
|
||||
func_94117_a,insertStack,2,"Inserts a stack into an inventory. Args: Inventory, stack, side. Returns leftover items."
|
||||
func_94119_v,getOutputInventory,2,Gets the inventory the hopper is pointing at.
|
||||
func_94128_d,getAccessibleSlotsFromSide,2,Returns an array containing the indices of the slots that can be accessed by automation on the given side of this block.
|
||||
func_94129_a,setGuiDisplayName,2,Sets the custom display name to use when opening a GUI linked to this tile entity.
|
||||
func_94140_a,registerDestroyBlockIcons,0,
|
||||
func_94143_a,updateIcons,0,
|
||||
func_94144_a,renderBlockInMinecart,0,Renders the block that is inside the minecart.
|
||||
@@ -4374,6 +4400,8 @@ func_94448_e,getBrewingStandIcon,0,
|
||||
func_94451_c,getDirectionFromMetadata,2,
|
||||
func_94452_d,getIsBlockNotPoweredFromMetadata,2,
|
||||
func_94453_b,getHopperIcon,0,
|
||||
func_94478_d,isGettingInput,2,
|
||||
func_94491_m,getOutputStrength,2,
|
||||
func_94501_a,getRailLogic,2,
|
||||
func_94502_a,isMinecartTrack,2,
|
||||
func_94503_c,canConnectFrom,2,
|
||||
@@ -4386,12 +4414,13 @@ func_94509_b,refreshConnectedTracks,2,
|
||||
func_94510_b,isPartOfTrack,2,
|
||||
func_94520_b,containsTranslateKey,2,
|
||||
func_94526_b,calcRedstoneFromInventory,2,
|
||||
func_94531_b,canDragIntoSlot,2,"Returns true if the player can ""drag-spilt"" items into this slot,. returns true by default. Called to check if the slot can be added to a list of Slots to split the held ItemStack across."
|
||||
func_94539_a,setExplosionSource,2,
|
||||
func_94540_d,setExplosion,2,
|
||||
func_94541_c,isExplosion,2,
|
||||
func_94571_i,setBlockToAir,2,"Sets a block to 0 and notifies relevant systems with the block change Args: x, y, z"
|
||||
func_94572_D,getStrongestIndirectPower,2,
|
||||
func_94573_a,isBlockTickScheduled,2,"Returns true if the given block will receive a scheduled tick in the future. Args: X, Y, Z, blockID"
|
||||
func_94573_a,isBlockTickScheduledThisTick,2,"Returns true if the given block will receive a scheduled tick in this tick. Args: X, Y, Z, blockID"
|
||||
func_94574_k,getIndirectPowerOutput,2,"Returns the indirect signal strength being outputted by the given block in the *opposite* of the given direction. Args: X, Y, Z, direction"
|
||||
func_94575_c,setBlock,2,"Sets a block and notifies relevant systems with the block change Args: x, y, z, blockID"
|
||||
func_94576_a,getEntitiesWithinAABBExcludingEntity,2,
|
||||
@@ -4404,8 +4433,11 @@ func_94609_a,callTileEntityID,2,
|
||||
func_94611_a,callTileEntityDataInfo,2,
|
||||
func_94901_k,getSpriteNumber,0,"Returns 0 for /terrain.png, 1 for /gui/items.png"
|
||||
func_96090_ax,getTranslatedEntityName,2,Returns the translated name of the entity.
|
||||
func_96094_a,setMinecartName,2,Sets the minecart's name.
|
||||
func_96095_a,onActivatorRailPass,2,Called every tick the minecart is on an activator rail.
|
||||
func_96096_ay,isIgnited,2,Returns true if the TNT minecart is ignited.
|
||||
func_96099_a,setOutputSignal,2,
|
||||
func_96100_a,getOutputSignal,2,
|
||||
func_96104_c,setCommandSenderName,2,Sets the name of the command sender
|
||||
func_96107_aA,getXPos,2,Gets the world X position for this hopper entity.
|
||||
func_96108_aC,getZPos,2,Gets the world Z position for this hopper entity.
|
||||
@@ -4416,6 +4448,9 @@ func_96115_a,setInventoryName,2,
|
||||
func_96116_a,suckItemsIntoHopper,2,Sucks one item into the given hopper from an inventory or EntityItem above it.
|
||||
func_96117_b,getInventoryAtLocation,2,Gets an inventory at the given location to extract items into or take items from. Can find either a tile entity or regular entity implementing IInventory.
|
||||
func_96118_b,getInventoryAboveHopper,2,"Looks for anything, that can hold items (like chests, furnaces, etc.) one block above the given hopper."
|
||||
func_96120_a,setEquipmentDropChance,2,
|
||||
func_96121_ay,getPathSearchRange,0,
|
||||
func_96121_ay,getPathSearchRange,1,
|
||||
func_96123_co,getWorldScoreboard,2,
|
||||
func_96124_cp,getTeam,2,
|
||||
func_96125_a,displayGUIHopperMinecart,2,
|
||||
@@ -4449,6 +4484,7 @@ func_96446_b,getIconSafe,0,
|
||||
func_96447_a,renderBlockHopperMetadata,0,
|
||||
func_96448_c,getMissingIcon,0,
|
||||
func_96455_e,getMissingIcon,0,
|
||||
func_96467_a,registerVanillaDispenserBehaviors,2,
|
||||
func_96468_q_,hasComparatorInputOverride,2,"If this returns true, then comparators facing away from this block will use the value from getComparatorInputOverride instead of the actual redstone signal strength."
|
||||
func_96471_k,updateMetadata,2,Updates the Metadata to include if the Hopper gets powered by Redstone or not
|
||||
func_96472_a,getBehaviorForItemStack,2,Returns the behavior for the given ItemStack.
|
||||
@@ -4469,6 +4505,11 @@ func_96563_a,callEntityName,2,
|
||||
func_96631_a,attemptDamageItem,2,"Attempts to damage the ItemStack with par1 amount of damage, If the ItemStack has the Unbreaking enchantment there is a chance for each point of damage to be negated. Returns true if it takes more damage than getMaxDamage(). Returns false otherwise or if the ItemStack can't be damaged or if all points of damage are negated."
|
||||
func_96632_a,callItemDisplayName,2,
|
||||
func_96637_b,isReadOnly,2,
|
||||
func_96652_c,getScorePoints,2,
|
||||
func_96653_e,getPlayerName,2,
|
||||
func_96663_f,getColorSuffix,2,Returns the color suffix for the player's team name
|
||||
func_96667_a,formatPlayerName,2,Returns the player name including the color prefixes and suffixes
|
||||
func_96668_e,getColorPrefix,2,Returns the color prefix for the player's team name
|
||||
func_96670_d,getMembershipCollection,2,
|
||||
func_96678_d,getDisplayName,2,
|
||||
func_96679_b,getName,2,
|
||||
@@ -4481,6 +4522,7 @@ func_98042_n,setTransferTicker,2,"Sets the transfer ticker, used to determine th
|
||||
func_98043_aE,canTransfer,2,Returns whether the hopper cart can currently transfer an item.
|
||||
func_98046_c,setTransferCooldown,2,
|
||||
func_98047_l,isCoolingDown,2,
|
||||
func_98049_a,getSpawnerLogic,2,Returns the spawner logic associated with this spawner
|
||||
func_98052_bS,canPickUpLoot,2,
|
||||
func_98053_h,setCanPickUpLoot,2,
|
||||
func_98076_a,getServerLogger,1,
|
||||
|
||||
|
+10
-4
@@ -151,6 +151,7 @@ CallableTexturePack,net/minecraft/client
|
||||
CallableType2,net/minecraft/client
|
||||
CallableUpdatingScreenName,net/minecraft/client
|
||||
Minecraft,net/minecraft/client
|
||||
MinecraftINNER13,net/minecraft/client
|
||||
StatStringFormatKeyInv,net/minecraft/client
|
||||
ThreadClientSleep,net/minecraft/client
|
||||
ScheduledSound,net/minecraft/client/audio
|
||||
@@ -164,7 +165,6 @@ AbstractClientPlayer,net/minecraft/client/entity
|
||||
EntityClientPlayerMP,net/minecraft/client/entity
|
||||
EntityOtherPlayerMP,net/minecraft/client/entity
|
||||
EntityPlayerSP,net/minecraft/client/entity
|
||||
RenderMinecartMobSpawner,net/minecraft/client/entity/render
|
||||
ChatClickData,net/minecraft/client/gui
|
||||
ChatLine,net/minecraft/client/gui
|
||||
FontRenderer,net/minecraft/client/gui
|
||||
@@ -376,6 +376,8 @@ ThreadConnectToServer,net/minecraft/client/multiplayer
|
||||
ThreadLanServerFind,net/minecraft/client/multiplayer
|
||||
ThreadLanServerPing,net/minecraft/client/multiplayer
|
||||
WorldClient,net/minecraft/client/multiplayer
|
||||
WorldClientINNER3,net/minecraft/client/multiplayer
|
||||
WorldClientINNER4,net/minecraft/client/multiplayer
|
||||
EffectRenderer,net/minecraft/client/particle
|
||||
EntityAuraFX,net/minecraft/client/particle
|
||||
EntityBreakingFX,net/minecraft/client/particle
|
||||
@@ -466,6 +468,7 @@ RenderLiving,net/minecraft/client/renderer/entity
|
||||
RenderMagmaCube,net/minecraft/client/renderer/entity
|
||||
RenderManager,net/minecraft/client/renderer/entity
|
||||
RenderMinecart,net/minecraft/client/renderer/entity
|
||||
RenderMinecartMobSpawner,net/minecraft/client/renderer/entity
|
||||
RenderMooshroom,net/minecraft/client/renderer/entity
|
||||
RenderOcelot,net/minecraft/client/renderer/entity
|
||||
RenderPainting,net/minecraft/client/renderer/entity
|
||||
@@ -761,8 +764,8 @@ EntityAILookIdle,net/minecraft/entity/ai
|
||||
EntityAIMate,net/minecraft/entity/ai
|
||||
EntityAIMoveIndoors,net/minecraft/entity/ai
|
||||
EntityAIMoveThroughVillage,net/minecraft/entity/ai
|
||||
EntityAIMoveTowardsRestriction,net/minecraft/entity/ai
|
||||
EntityAIMoveTowardsTarget,net/minecraft/entity/ai
|
||||
EntityAIMoveTwardsRestriction,net/minecraft/entity/ai
|
||||
EntityAINearestAttackableTarget,net/minecraft/entity/ai
|
||||
EntityAINearestAttackableTargetSelector,net/minecraft/entity/ai
|
||||
EntityAINearestAttackableTargetSorter,net/minecraft/entity/ai
|
||||
@@ -800,10 +803,8 @@ AttributeInstance,net/minecraft/entity/ai/attributes
|
||||
AttributeModifier,net/minecraft/entity/ai/attributes
|
||||
BaseAttribute,net/minecraft/entity/ai/attributes
|
||||
BaseAttributeMap,net/minecraft/entity/ai/attributes
|
||||
ClientsideAttributeMap,net/minecraft/entity/ai/attributes
|
||||
ModifiableAttributeInstance,net/minecraft/entity/ai/attributes
|
||||
RangedAttribute,net/minecraft/entity/ai/attributes
|
||||
ReadonlyAttributeInstance,net/minecraft/entity/ai/attributes
|
||||
ServersideAttributeMap,net/minecraft/entity/ai/attributes
|
||||
BossStatus,net/minecraft/entity/boss
|
||||
EntityDragon,net/minecraft/entity/boss
|
||||
@@ -851,6 +852,8 @@ EntitySnowman,net/minecraft/entity/monster
|
||||
EntitySpider,net/minecraft/entity/monster
|
||||
EntityWitch,net/minecraft/entity/monster
|
||||
EntityZombie,net/minecraft/entity/monster
|
||||
EntityZombieGroupData,net/minecraft/entity/monster
|
||||
EntityZombieINNER1,net/minecraft/entity/monster
|
||||
FilterIMob,net/minecraft/entity/monster
|
||||
IMob,net/minecraft/entity/monster
|
||||
ContainerSheep,net/minecraft/entity/passive
|
||||
@@ -1068,6 +1071,7 @@ Packet12PlayerLook,net/minecraft/network/packet
|
||||
Packet130UpdateSign,net/minecraft/network/packet
|
||||
Packet131MapData,net/minecraft/network/packet
|
||||
Packet132TileEntityData,net/minecraft/network/packet
|
||||
Packet133TileEditorOpen,net/minecraft/network/packet
|
||||
Packet13PlayerLookMove,net/minecraft/network/packet
|
||||
Packet14BlockDig,net/minecraft/network/packet
|
||||
Packet15Place,net/minecraft/network/packet
|
||||
@@ -1115,6 +1119,7 @@ Packet41EntityEffect,net/minecraft/network/packet
|
||||
Packet42RemoveEntityEffect,net/minecraft/network/packet
|
||||
Packet43Experience,net/minecraft/network/packet
|
||||
Packet44UpdateAttributes,net/minecraft/network/packet
|
||||
Packet44UpdateAttributesSnapshot,net/minecraft/network/packet
|
||||
Packet4UpdateTime,net/minecraft/network/packet
|
||||
Packet51MapChunk,net/minecraft/network/packet
|
||||
Packet51MapChunkData,net/minecraft/network/packet
|
||||
@@ -1173,6 +1178,7 @@ ScoreboardSaveData,net/minecraft/scoreboard
|
||||
ServerCommandScoreboard,net/minecraft/scoreboard
|
||||
ServerCommandTestFor,net/minecraft/scoreboard
|
||||
ServerScoreboard,net/minecraft/scoreboard
|
||||
Team,net/minecraft/scoreboard
|
||||
CallableIsServerModded,net/minecraft/server
|
||||
CallableServerMemoryStats,net/minecraft/server
|
||||
CallableServerProfiler,net/minecraft/server
|
||||
|
||||
|
+123
-106
@@ -3,6 +3,7 @@ p_100006_1_,par1Str,2
|
||||
p_100006_2_,par2Str,2
|
||||
p_100009_0_,par0,2
|
||||
p_100012_1_,par1,2
|
||||
p_100014_0_,par0McoServerList,2
|
||||
p_100015_0_,par0KeyBinding,2
|
||||
p_101001_1_,par1,2
|
||||
p_101001_2_,par2,2
|
||||
@@ -88,7 +89,6 @@ p_104088_3_,par3Tessellator,2
|
||||
p_104089_1_,par1,2
|
||||
p_104089_2_,par2,2
|
||||
p_110121_0_,par0Str,2
|
||||
p_110122_1_,par1ChatMessageComponent,2
|
||||
p_110125_1_,par1Icon,2
|
||||
p_110128_1_,par1Entity,2
|
||||
p_110129_0_,par0World,2
|
||||
@@ -103,13 +103,13 @@ p_110131_1_,par1ItemStack,2
|
||||
p_110132_1_,par1IInvBasic,2
|
||||
p_110133_1_,par1Str,2
|
||||
p_110134_1_,par1IInvBasic,2
|
||||
p_110135_1_,par1ItemStack,2
|
||||
p_110145_1_,par1Entity,2
|
||||
p_110146_1_,par1,2
|
||||
p_110146_2_,par2,2
|
||||
p_110148_1_,par1Attribute,2
|
||||
p_110149_1_,par1,2
|
||||
p_110160_1_,par1,2
|
||||
p_110160_2_,par2,2
|
||||
p_110161_1_,par1EntityLivingData,2
|
||||
p_110162_1_,par1Entity,2
|
||||
p_110162_2_,par2,2
|
||||
@@ -214,7 +214,6 @@ p_110431_0_,par0Minecraft,2
|
||||
p_110439_1_,par1File,2
|
||||
p_110459_1_,par1ChatMessageComponent,2
|
||||
p_110459_2_,par2,2
|
||||
p_110460_1_,par1ChatMessageComponent,2
|
||||
p_110468_1_,par1,2
|
||||
p_110470_1_,par1,2
|
||||
p_110472_1_,par1,2
|
||||
@@ -260,8 +259,6 @@ p_110503_1_,par1Str,2
|
||||
p_110503_2_,par2JsonObject,2
|
||||
p_110504_1_,par1MetadataSectionSerializer,2
|
||||
p_110504_2_,par2Class,2
|
||||
p_110509_1_,par1,2
|
||||
p_110509_2_,par2,2
|
||||
p_110510_0_,par0GuiScreenTemporaryResourcePackSelectSelectionList,2
|
||||
p_110518_1_,par1TextureManager,2
|
||||
p_110526_1_,par1Str,2
|
||||
@@ -381,28 +378,7 @@ p_110786_1_,par1EntityEnderCrystal,2
|
||||
p_110788_1_,par1EntityItemFrame,2
|
||||
p_110790_1_,par1EntityFireball,2
|
||||
p_110791_1_,par1EntityFishHook,2
|
||||
p_110793_1_,par1FontRenderer,2
|
||||
p_110793_2_,par2TextureManager,2
|
||||
p_110793_3_,par3ItemStack,2
|
||||
p_110793_4_,par4,2
|
||||
p_110793_5_,par5,2
|
||||
p_110793_6_,par6Str,2
|
||||
p_110794_1_,par1FontRenderer,2
|
||||
p_110794_2_,par2TextureManager,2
|
||||
p_110794_3_,par3ItemStack,2
|
||||
p_110794_4_,par4,2
|
||||
p_110794_5_,par5,2
|
||||
p_110795_1_,par1FontRenderer,2
|
||||
p_110795_2_,par2TextureManager,2
|
||||
p_110795_3_,par3ItemStack,2
|
||||
p_110795_4_,par4,2
|
||||
p_110795_5_,par5,2
|
||||
p_110796_1_,par1EntityItem,2
|
||||
p_110797_1_,par1FontRenderer,2
|
||||
p_110797_2_,par2TextureManager,2
|
||||
p_110797_3_,par3ItemStack,2
|
||||
p_110797_4_,par4,2
|
||||
p_110797_5_,par5,2
|
||||
p_110799_1_,par1EntityLeashKnot,2
|
||||
p_110799_2_,par2,2
|
||||
p_110799_4_,par4,2
|
||||
@@ -417,20 +393,6 @@ p_110808_1_,par1EntityTNTPrimed,2
|
||||
p_110809_1_,par1EntityWitherSkull,2
|
||||
p_110813_1_,par1EntityLivingBase,2
|
||||
p_110817_1_,par1AbstractClientPlayer,2
|
||||
p_110818_1_,par1AbstractClientPlayer,2
|
||||
p_110818_2_,par2,2
|
||||
p_110818_3_,par3,2
|
||||
p_110819_1_,par1AbstractClientPlayer,2
|
||||
p_110819_2_,par2,2
|
||||
p_110819_4_,par4,2
|
||||
p_110819_6_,par6,2
|
||||
p_110819_8_,par8,2
|
||||
p_110819_9_,par9,2
|
||||
p_110820_1_,par1AbstractClientPlayer,2
|
||||
p_110820_2_,par2,2
|
||||
p_110821_1_,par1AbstractClientPlayer,2
|
||||
p_110821_2_,par2,2
|
||||
p_110821_3_,par3,2
|
||||
p_110827_1_,par1EntityLiving,2
|
||||
p_110827_2_,par2,2
|
||||
p_110827_4_,par4,2
|
||||
@@ -604,7 +566,6 @@ p_111124_1_,par1AttributeModifier,2
|
||||
p_111127_1_,par1UUID,2
|
||||
p_111128_1_,par1,2
|
||||
p_111130_1_,par1,2
|
||||
p_111140_1_,par1,2
|
||||
p_111145_1_,par1,2
|
||||
p_111147_1_,par1Multimap,2
|
||||
p_111148_1_,par1Multimap,2
|
||||
@@ -612,13 +573,9 @@ p_111149_1_,par1ModifiableAttributeInstance,2
|
||||
p_111150_1_,par1Attribute,2
|
||||
p_111151_1_,par1Attribute,2
|
||||
p_111152_1_,par1Str,2
|
||||
p_111155_1_,par1Str,2
|
||||
p_111156_1_,par1Attribute,2
|
||||
p_111157_1_,par1Attribute,2
|
||||
p_111158_1_,par1Str,2
|
||||
p_111159_1_,par1Attribute,2
|
||||
p_111168_1_,par1,2
|
||||
p_111181_1_,par1EntityLivingBase,2
|
||||
p_111183_1_,par1,2
|
||||
p_111183_2_,par2AttributeModifier,2
|
||||
p_111184_1_,par1Attribute,2
|
||||
@@ -669,15 +626,18 @@ p_111261_0_,par0AttributeInstance,2
|
||||
p_111262_0_,par0AttributeModifier,2
|
||||
p_111270_1_,par1AxisAlignedBB,2
|
||||
p_111271_1_,par1,2
|
||||
p_111275_1_,par1EntityPlayer,2
|
||||
p_111275_2_,par2TextureManager,2
|
||||
p_111275_3_,par3MapData,2
|
||||
p_111282_1_,par1EntityPlayer,2
|
||||
p_111282_2_,par2EntityLivingBase,2
|
||||
p_120016_0_,par0DedicatedServer,2
|
||||
p_120017_0_,par0MinecraftServerGui,2
|
||||
p_120033_0_,par0StatsComponent,2
|
||||
p_120035_1_,par1ArrayOfLong,2
|
||||
p_130000_1_,par1EntityLivingBase,2
|
||||
p_130000_2_,par2,2
|
||||
p_130000_4_,par4,2
|
||||
p_130000_6_,par6,2
|
||||
p_130000_8_,par8,2
|
||||
p_130000_9_,par9,2
|
||||
p_130002_1_,par1EntityPlayer,2
|
||||
p_130005_1_,par1EntityLiving,2
|
||||
p_130005_2_,par2,2
|
||||
@@ -685,20 +645,16 @@ p_130006_1_,par1EntityLiving,2
|
||||
p_130006_2_,par2,2
|
||||
p_130006_3_,par3,2
|
||||
p_130007_1_,par1EntityLiving,2
|
||||
p_130008_1_,par1EntityLivingBase,2
|
||||
p_130008_2_,par2,2
|
||||
p_130008_4_,par4,2
|
||||
p_130008_6_,par6,2
|
||||
p_130009_1_,par1EntityLivingBase,2
|
||||
p_130009_1_,par1AbstractClientPlayer,2
|
||||
p_130009_2_,par2,2
|
||||
p_130009_4_,par4,2
|
||||
p_130009_6_,par6,2
|
||||
p_130009_8_,par8,2
|
||||
p_130009_9_,par9,2
|
||||
p_130011_1_,par1Entity,2
|
||||
p_130013_10_,par10,2
|
||||
p_130013_1_,par1AbstractClientPlayer,2
|
||||
p_130013_1_,par1EntityLiving,2
|
||||
p_130013_2_,par2,2
|
||||
p_130013_4_,par4,2
|
||||
p_130013_6_,par6,2
|
||||
p_130013_8_,par8Str,2
|
||||
p_130013_9_,par9,2
|
||||
p_130013_3_,par3,2
|
||||
p_130015_1_,par1,2
|
||||
p_130015_2_,par2,2
|
||||
p_130015_3_,par3,2
|
||||
@@ -779,22 +735,11 @@ p_130119_5_,par5Tessellator,2
|
||||
p_130122_0_,par0McoServerList,2
|
||||
p_130122_1_,par1,2
|
||||
p_130123_1_,par1,2
|
||||
p_130125_0_,par0McoServerList,2
|
||||
p_130126_0_,par0McoServerList,2
|
||||
p_130126_1_,par1List,2
|
||||
p_130128_0_,par0McoServerList,2
|
||||
p_130129_1_,par1Session,2
|
||||
p_130198_1_,par1AbstractClientPlayer,2
|
||||
p_130198_2_,par2,2
|
||||
p_130198_3_,par3,2
|
||||
p_130198_4_,par4,2
|
||||
p_130199_1_,par1AbstractClientPlayer,2
|
||||
p_130199_2_,par2,2
|
||||
p_130199_4_,par4,2
|
||||
p_130199_6_,par6,2
|
||||
p_130220_1_,par1AbstractClientPlayer,2
|
||||
p_130220_2_,par2,2
|
||||
p_130220_3_,par3,2
|
||||
p_135011_0_,par0GuiLanguage,2
|
||||
p_135012_0_,par0GuiLanguage,2
|
||||
p_135013_0_,par0GuiLanguage,2
|
||||
p_135020_1_,par1JsonElement,2
|
||||
p_135020_2_,par2Type,2
|
||||
p_135020_3_,par3JsonDeserializationContext,2
|
||||
@@ -823,8 +768,6 @@ p_135066_1_,par1World,2
|
||||
p_135066_2_,par2,2
|
||||
p_135066_3_,par3,2
|
||||
p_135066_4_,par4,2
|
||||
p_135072_0_,par0ContainerRepair,2
|
||||
p_135073_0_,par0ContainerRepair,2
|
||||
p_140008_0_,par0GuiScreenOnlineServers,2
|
||||
p_140008_1_,par1,2
|
||||
p_140009_1_,par1,2
|
||||
@@ -840,16 +783,11 @@ p_140020_1_,par1,2
|
||||
p_140020_2_,par2,2
|
||||
p_140020_3_,par3,2
|
||||
p_140020_4_,par4,2
|
||||
p_140022_0_,par0GuiScreenOnlineServers,2
|
||||
p_140023_0_,par0GuiScreenOnlineServers,2
|
||||
p_140024_0_,par0GuiScreenOnlineServers,2
|
||||
p_140024_1_,par1McoServer,2
|
||||
p_140025_0_,par0GuiScreenOnlineServers,2
|
||||
p_140026_0_,par0GuiScreenOnlineServers,2
|
||||
p_140026_1_,par1Str,2
|
||||
p_140027_0_,par0GuiScreenOnlineServers,2
|
||||
p_140027_1_,par1,2
|
||||
p_140028_0_,par0GuiScreenOnlineServers,2
|
||||
p_140030_1_,par1,2
|
||||
p_140031_0_,par0GuiScreenOnlineServers,2
|
||||
p_140031_1_,par1,2
|
||||
@@ -859,7 +797,6 @@ p_140031_4_,par4,2
|
||||
p_140031_5_,par5,2
|
||||
p_140032_1_,par1,2
|
||||
p_140033_0_,par0GuiScreenOnlineServers,2
|
||||
p_140034_0_,par0GuiScreenOnlineServers,2
|
||||
p_140035_0_,par0GuiScreenOnlineServers,2
|
||||
p_140035_1_,par1,2
|
||||
p_140035_2_,par2,2
|
||||
@@ -878,10 +815,27 @@ p_140058_1_,par1McoServer,2
|
||||
p_140065_1_,par1List,2
|
||||
p_140068_1_,par1McoServer,2
|
||||
p_140068_2_,par2McoServer,2
|
||||
p_142010_1_,par1EntityPlayer,2
|
||||
p_142012_1_,par1Team,2
|
||||
p_142014_1_,par1EntityLivingBase,2
|
||||
p_142017_1_,par1,2
|
||||
p_142018_1_,par1EntityLivingBase,2
|
||||
p_142018_2_,par2EntityLivingBase,2
|
||||
p_142020_1_,par1Str,2
|
||||
p_142023_0_,par0GuiScreenOnlineServers,2
|
||||
p_142024_0_,par0Minecraft,2
|
||||
p_142030_0_,par0WorldClient,2
|
||||
p_142031_1_,par1Packet133TileEditorOpen,2
|
||||
p_142038_1_,par1,2
|
||||
p_142038_2_,par2,2
|
||||
p_142038_3_,par3,2
|
||||
p_142053_1_,par1Str,2
|
||||
p_142054_1_,par1Team,2
|
||||
p_70000_1_,par1PlayerUsageSnooper,2
|
||||
p_70001_1_,par1PlayerUsageSnooper,2
|
||||
p_70003_1_,par1,2
|
||||
p_70003_2_,par2Str,2
|
||||
p_70006_1_,par1ChatMessageComponent,2
|
||||
p_70011_1_,par1,2
|
||||
p_70011_3_,par3,2
|
||||
p_70011_5_,par5,2
|
||||
@@ -1159,6 +1113,7 @@ p_70690_1_,par1PotionEffect,2
|
||||
p_70691_1_,par1,2
|
||||
p_70693_1_,par1EntityPlayer,2
|
||||
p_70695_1_,par1PotionEffect,2
|
||||
p_70695_2_,par2,2
|
||||
p_70778_1_,par1PathEntity,2
|
||||
p_70783_1_,par1,2
|
||||
p_70783_2_,par2,2
|
||||
@@ -1276,8 +1231,6 @@ p_71019_1_,par1ItemStack,2
|
||||
p_71019_2_,par2,2
|
||||
p_71020_1_,par1,2
|
||||
p_71021_1_,par1ItemStack,2
|
||||
p_71022_1_,par1EntityLivingBase,2
|
||||
p_71022_2_,par2,2
|
||||
p_71023_1_,par1,2
|
||||
p_71027_1_,par1,2
|
||||
p_71029_1_,par1StatBase,2
|
||||
@@ -3048,8 +3001,6 @@ p_73049_3_,par3,2
|
||||
p_73049_4_,par4,2
|
||||
p_73049_5_,par5,2
|
||||
p_73049_6_,par6,2
|
||||
p_73050_1_,par1Entity,2
|
||||
p_73050_2_,par2,2
|
||||
p_73052_1_,par1WorldSettings,2
|
||||
p_73057_1_,par1EnumCreatureType,2
|
||||
p_73057_2_,par2,2
|
||||
@@ -3403,6 +3354,8 @@ p_74015_1_,par1,2
|
||||
p_74017_0_,par0ServerData,2
|
||||
p_74019_0_,par0GuiMultiplayer,2
|
||||
p_74020_0_,par0GuiMultiplayer,2
|
||||
p_74042_0_,par0GuiLanguage,2
|
||||
p_74043_0_,par0GuiLanguage,2
|
||||
p_74059_0_,par0GuiSelectWorld,2
|
||||
p_74061_0_,par0GuiScreen,2
|
||||
p_74061_1_,par1Str,2
|
||||
@@ -4981,6 +4934,7 @@ p_76354_1_,par1Entity,2
|
||||
p_76356_0_,par0Entity,2
|
||||
p_76356_1_,par1Entity,2
|
||||
p_76358_0_,par0EntityLivingBase,2
|
||||
p_76360_1_,par1EntityLivingBase,2
|
||||
p_76362_0_,par0EntityFireball,2
|
||||
p_76362_1_,par1Entity,2
|
||||
p_76365_0_,par0EntityPlayer,2
|
||||
@@ -5497,6 +5451,11 @@ p_77014_4_,par4,2
|
||||
p_77014_6_,par6,2
|
||||
p_77014_8_,par8,2
|
||||
p_77014_9_,par9,2
|
||||
p_77015_1_,par1FontRenderer,2
|
||||
p_77015_2_,par2TextureManager,2
|
||||
p_77015_3_,par3ItemStack,2
|
||||
p_77015_4_,par4,2
|
||||
p_77015_5_,par5,2
|
||||
p_77017_1_,par1Tessellator,2
|
||||
p_77017_2_,par2,2
|
||||
p_77017_3_,par3,2
|
||||
@@ -5515,6 +5474,11 @@ p_77020_4_,par4,2
|
||||
p_77020_5_,par5,2
|
||||
p_77020_6_,par6,2
|
||||
p_77020_7_,par7,2
|
||||
p_77021_1_,par1FontRenderer,2
|
||||
p_77021_2_,par2TextureManager,2
|
||||
p_77021_3_,par3ItemStack,2
|
||||
p_77021_4_,par4,2
|
||||
p_77021_5_,par5,2
|
||||
p_77026_1_,par1Tessellator,2
|
||||
p_77026_2_,par2Icon,2
|
||||
p_77028_1_,par1EntityLightningBolt,2
|
||||
@@ -5537,6 +5501,10 @@ p_77031_9_,par9,2
|
||||
p_77032_1_,par1EntityLivingBase,2
|
||||
p_77032_2_,par2,2
|
||||
p_77032_3_,par3,2
|
||||
p_77033_1_,par1EntityLivingBase,2
|
||||
p_77033_2_,par2,2
|
||||
p_77033_4_,par4,2
|
||||
p_77033_6_,par6,2
|
||||
p_77034_1_,par1,2
|
||||
p_77034_2_,par2,2
|
||||
p_77034_3_,par3,2
|
||||
@@ -5687,7 +5655,7 @@ p_77097_3_,par3,2
|
||||
p_77099_1_,par1EntityPig,2
|
||||
p_77099_2_,par2,2
|
||||
p_77099_3_,par3,2
|
||||
p_77100_1_,par1EntityLivingBase,2
|
||||
p_77100_1_,par1AbstractClientPlayer,2
|
||||
p_77100_2_,par2,2
|
||||
p_77101_1_,par1EntityLivingBase,2
|
||||
p_77101_2_,par2,2
|
||||
@@ -5695,17 +5663,17 @@ p_77101_4_,par4,2
|
||||
p_77101_6_,par6,2
|
||||
p_77101_8_,par8,2
|
||||
p_77101_9_,par9,2
|
||||
p_77102_1_,par1EntityLivingBase,2
|
||||
p_77102_1_,par1AbstractClientPlayer,2
|
||||
p_77102_2_,par2,2
|
||||
p_77102_3_,par3,2
|
||||
p_77102_4_,par4,2
|
||||
p_77104_1_,par1AbstractClientPlayer,2
|
||||
p_77104_2_,par2,2
|
||||
p_77105_1_,par1EntityLivingBase,2
|
||||
p_77105_1_,par1AbstractClientPlayer,2
|
||||
p_77105_2_,par2,2
|
||||
p_77105_4_,par4,2
|
||||
p_77105_6_,par6,2
|
||||
p_77107_1_,par1EntityLivingBase,2
|
||||
p_77107_1_,par1AbstractClientPlayer,2
|
||||
p_77107_2_,par2,2
|
||||
p_77107_3_,par3,2
|
||||
p_77113_1_,par1EntitySheep,2
|
||||
@@ -5812,6 +5780,8 @@ p_77215_2_,par2,2
|
||||
p_77216_1_,par1,2
|
||||
p_77218_1_,par1,2
|
||||
p_77219_1_,par1GuiButton,2
|
||||
p_77220_1_,par1,2
|
||||
p_77220_2_,par2,2
|
||||
p_77222_1_,par1,2
|
||||
p_77222_2_,par2,2
|
||||
p_77222_3_,par3Tessellator,2
|
||||
@@ -6320,6 +6290,9 @@ p_78280_1_,par1Str,2
|
||||
p_78280_2_,par2,2
|
||||
p_78282_0_,par0Str,2
|
||||
p_78283_1_,par1Str,2
|
||||
p_78319_1_,par1EntityPlayer,2
|
||||
p_78319_2_,par2TextureManager,2
|
||||
p_78319_3_,par3MapData,2
|
||||
p_78334_1_,par1StatCrafting,2
|
||||
p_78334_2_,par2StatCrafting,2
|
||||
p_78337_1_,par1StatCrafting,2
|
||||
@@ -7100,7 +7073,12 @@ p_82404_4_,par4,2
|
||||
p_82404_6_,par6,2
|
||||
p_82404_8_,par8,2
|
||||
p_82404_9_,par9,2
|
||||
p_82408_1_,par1EntityLiving,2
|
||||
p_82406_1_,par1FontRenderer,2
|
||||
p_82406_2_,par2TextureManager,2
|
||||
p_82406_3_,par3ItemStack,2
|
||||
p_82406_4_,par4,2
|
||||
p_82406_5_,par5,2
|
||||
p_82408_1_,par1EntityLivingBase,2
|
||||
p_82408_2_,par2,2
|
||||
p_82408_3_,par3,2
|
||||
p_82409_1_,par1EntityWitch,2
|
||||
@@ -7464,7 +7442,9 @@ p_82842_1_,par1EntityItemFrame,2
|
||||
p_82846_1_,par1EntityPlayer,2
|
||||
p_82846_2_,par2,2
|
||||
p_82847_1_,par1ICrafting,2
|
||||
p_82849_0_,par0ContainerRepair,2
|
||||
p_82850_1_,par1Str,2
|
||||
p_82851_0_,par0ContainerRepair,2
|
||||
p_82869_1_,par1EntityPlayer,2
|
||||
p_82870_1_,par1EntityPlayer,2
|
||||
p_82870_2_,par2ItemStack,2
|
||||
@@ -7658,6 +7638,7 @@ p_92044_1_,par1,2
|
||||
p_92045_1_,par1,2
|
||||
p_92046_1_,par1,2
|
||||
p_92058_1_,par1ItemStack,2
|
||||
p_92062_1_,par1ChatMessageComponent,2
|
||||
p_92070_1_,par1Str,2
|
||||
p_92070_2_,par2,2
|
||||
p_92070_3_,par3,2
|
||||
@@ -7767,6 +7748,12 @@ p_94146_1_,par1EntityMinecartTNT,2
|
||||
p_94146_2_,par2,2
|
||||
p_94146_3_,par3Block,2
|
||||
p_94146_4_,par4,2
|
||||
p_94148_1_,par1FontRenderer,2
|
||||
p_94148_2_,par2TextureManager,2
|
||||
p_94148_3_,par3ItemStack,2
|
||||
p_94148_4_,par4,2
|
||||
p_94148_5_,par5,2
|
||||
p_94148_6_,par6Str,2
|
||||
p_94149_1_,par1,2
|
||||
p_94149_2_,par2,2
|
||||
p_94149_3_,par3Icon,2
|
||||
@@ -8027,6 +8014,7 @@ p_96095_1_,par1,2
|
||||
p_96095_2_,par2,2
|
||||
p_96095_3_,par3,2
|
||||
p_96095_4_,par4,2
|
||||
p_96098_1_,par1ItemStack,2
|
||||
p_96099_1_,par1,2
|
||||
p_96102_1_,par1,2
|
||||
p_96104_1_,par1Str,2
|
||||
@@ -8221,6 +8209,13 @@ p_96449_4_,par4,2
|
||||
p_96449_6_,par6,2
|
||||
p_96449_8_,par8Str,2
|
||||
p_96449_9_,par9,2
|
||||
p_96450_10_,par10,2
|
||||
p_96450_1_,par1AbstractClientPlayer,2
|
||||
p_96450_2_,par2,2
|
||||
p_96450_4_,par4,2
|
||||
p_96450_6_,par6,2
|
||||
p_96450_8_,par8Str,2
|
||||
p_96450_9_,par9,2
|
||||
p_96456_1_,par1ServerScoreboard,2
|
||||
p_96456_2_,par2EntityPlayerMP,2
|
||||
p_96457_1_,par1EntityPlayer,2
|
||||
@@ -8342,7 +8337,7 @@ p_96660_1_,par1,2
|
||||
p_96662_1_,par1Str,2
|
||||
p_96664_1_,par1Str,2
|
||||
p_96666_1_,par1Str,2
|
||||
p_96667_0_,par0ScorePlayerTeam,2
|
||||
p_96667_0_,par0Team,2
|
||||
p_96667_1_,par1Str,2
|
||||
p_96681_1_,par1Str,2
|
||||
p_98034_1_,par1EntityPlayer,2
|
||||
@@ -8400,6 +8395,9 @@ p_98235_1_,par1Str,2
|
||||
p_98235_2_,par2Throwable,2
|
||||
p_98236_1_,par1Str,2
|
||||
p_98237_0_,par0LogAgent,2
|
||||
p_98247_0_,par0McoServerList,2
|
||||
p_98247_1_,par1List,2
|
||||
p_98249_0_,par0McoServerList,2
|
||||
p_98263_1_,par1,2
|
||||
p_98263_2_,par2,2
|
||||
p_98263_3_,par3,2
|
||||
@@ -9260,7 +9258,6 @@ p_i1279_1_,par1,2
|
||||
p_i1279_2_,par2,2
|
||||
p_i1279_3_,par3,2
|
||||
p_i1279_4_,par4,2
|
||||
p_i1280_1_,par1StitchHolder,2
|
||||
p_i1281_1_,par1,2
|
||||
p_i1281_2_,par2Str,2
|
||||
p_i1282_1_,par1Str,2
|
||||
@@ -10054,7 +10051,6 @@ p_i1609_1_,par1Str,2
|
||||
p_i1609_2_,par2,2
|
||||
p_i1609_4_,par4,2
|
||||
p_i1609_6_,par6,2
|
||||
p_i1610_1_,par1Attribute,2
|
||||
p_i1611_1_,par1EntityLivingBase,2
|
||||
p_i1612_1_,par1EntityLiving,2
|
||||
p_i1613_1_,par1EntityLiving,2
|
||||
@@ -10113,8 +10109,6 @@ p_i1637_1_,par1EntityCreature,2
|
||||
p_i1638_1_,par1EntityCreature,2
|
||||
p_i1638_2_,par2,2
|
||||
p_i1638_4_,par4,2
|
||||
p_i1639_1_,par1EntityCreature,2
|
||||
p_i1639_2_,par2,2
|
||||
p_i1640_1_,par1EntityCreature,2
|
||||
p_i1640_2_,par2,2
|
||||
p_i1640_4_,par4,2
|
||||
@@ -11655,17 +11649,40 @@ p_i2329_2_,par2McoServerListEmptyAnon,2
|
||||
p_i2330_1_,par1,2
|
||||
p_i2330_2_,par2Str,2
|
||||
p_i2330_3_,par3,2
|
||||
p_i2331_1_,par1DedicatedServer,2
|
||||
p_i2332_1_,par1DedicatedServer,2
|
||||
p_i2333_1_,par1DedicatedServer,2
|
||||
p_i2334_1_,par1MinecraftServerGui,2
|
||||
p_i2334_2_,par2JTextField,2
|
||||
p_i2335_1_,par1MinecraftServerGui,2
|
||||
p_i2336_1_,par1MinecraftServer,2
|
||||
p_i2337_1_,par1MinecraftServer,2
|
||||
p_i2338_1_,par1StatsComponent,2
|
||||
p_i2339_1_,par1JTextArea,2
|
||||
p_i2340_1_,par1TextAreaLogHandler,2
|
||||
p_i2341_1_,par1Minecraft,2
|
||||
p_i2342_1_,par1WorldClient,2
|
||||
p_i2343_1_,par1WorldClient,2
|
||||
p_i2344_1_,par1StitchHolder,2
|
||||
p_i2344_2_,par2Str,2
|
||||
p_i2345_1_,par1,2
|
||||
p_i2345_2_,par2,2
|
||||
p_i2345_3_,par3,2
|
||||
p_i2345_4_,par4,2
|
||||
p_i2346_1_,par1Packet44UpdateAttributes,2
|
||||
p_i2346_2_,par2Str,2
|
||||
p_i2346_3_,par3,2
|
||||
p_i2346_5_,par5Collection,2
|
||||
p_i2347_1_,par1EntityCreature,2
|
||||
p_i2347_2_,par2,2
|
||||
p_i2348_1_,par1EntityZombie,2
|
||||
p_i2348_2_,par2,2
|
||||
p_i2348_3_,par3,2
|
||||
p_i2349_1_,par1EntityZombie,2
|
||||
p_i2349_2_,par2,2
|
||||
p_i2349_3_,par3,2
|
||||
p_i2349_4_,par4EntityZombieINNER1,2
|
||||
p_i2350_1_,par1,2
|
||||
p_i2361_1_,par1DedicatedServer,2
|
||||
p_i2362_1_,par1DedicatedServer,2
|
||||
p_i2363_1_,par1DedicatedServer,2
|
||||
p_i2364_1_,par1MinecraftServerGui,2
|
||||
p_i2364_2_,par2JTextField,2
|
||||
p_i2365_1_,par1MinecraftServerGui,2
|
||||
p_i2366_1_,par1MinecraftServer,2
|
||||
p_i2367_1_,par1MinecraftServer,2
|
||||
p_i2368_1_,par1StatsComponent,2
|
||||
p_i2369_1_,par1JTextArea,2
|
||||
p_i2370_1_,par1TextAreaLogHandler,2
|
||||
p_main_0_,par0ArrayOfStr,2
|
||||
p_openConnection_1_,par1URL,2
|
||||
p_paint_1_,par1Graphics,2
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
diff -r -U 3 minecraft\net\minecraft\src\CallableSuspiciousClasses.java minecraft_patched\net\minecraft\src\CallableSuspiciousClasses.java
|
||||
--- minecraft\net\minecraft\src\CallableSuspiciousClasses.java Sun Jun 30 21:44:00 2013
|
||||
+++ minecraft_patched\net\minecraft\src\CallableSuspiciousClasses.java Sun Jun 30 21:45:42 2013
|
||||
--- minecraft\net\minecraft\src\CallableSuspiciousClasses.java Sun Jul 07 12:38:55 2013
|
||||
+++ minecraft_patched\net\minecraft\src\CallableSuspiciousClasses.java Sun Jul 07 12:40:48 2013
|
||||
@@ -21,9 +21,14 @@
|
||||
|
||||
public String func_85085_a() throws SecurityException, NoSuchFieldException, IllegalAccessException, IllegalArgumentException {
|
||||
@@ -29,8 +29,8 @@ diff -r -U 3 minecraft\net\minecraft\src\CallableSuspiciousClasses.java minecraf
|
||||
}
|
||||
}
|
||||
diff -r -U 3 minecraft\net\minecraft\src\ComponentStrongholdRightTurn.java minecraft_patched\net\minecraft\src\ComponentStrongholdRightTurn.java
|
||||
--- minecraft\net\minecraft\src\ComponentStrongholdRightTurn.java Sun Jun 30 21:44:00 2013
|
||||
+++ minecraft_patched\net\minecraft\src\ComponentStrongholdRightTurn.java Sun Jun 30 21:45:42 2013
|
||||
--- minecraft\net\minecraft\src\ComponentStrongholdRightTurn.java Sun Jul 07 12:38:55 2013
|
||||
+++ minecraft_patched\net\minecraft\src\ComponentStrongholdRightTurn.java Sun Jul 07 12:40:48 2013
|
||||
@@ -11,6 +11,10 @@
|
||||
|
||||
public class ComponentStrongholdRightTurn extends ComponentStrongholdLeftTurn {
|
||||
@@ -43,8 +43,8 @@ diff -r -U 3 minecraft\net\minecraft\src\ComponentStrongholdRightTurn.java minec
|
||||
if(this.field_74885_f != 2 && this.field_74885_f != 3) {
|
||||
this.func_74989_b((ComponentStrongholdStairs2)p_74861_1_, p_74861_2_, p_74861_3_, 1, 1);
|
||||
diff -r -U 3 minecraft\net\minecraft\src\DedicatedServer.java minecraft_patched\net\minecraft\src\DedicatedServer.java
|
||||
--- minecraft\net\minecraft\src\DedicatedServer.java Sun Jun 30 21:44:01 2013
|
||||
+++ minecraft_patched\net\minecraft\src\DedicatedServer.java Sun Jun 30 21:45:42 2013
|
||||
--- minecraft\net\minecraft\src\DedicatedServer.java Sun Jul 07 12:38:56 2013
|
||||
+++ minecraft_patched\net\minecraft\src\DedicatedServer.java Sun Jul 07 12:40:48 2013
|
||||
@@ -207,7 +207,7 @@
|
||||
System.exit(0);
|
||||
}
|
||||
@@ -54,44 +54,9 @@ diff -r -U 3 minecraft\net\minecraft\src\DedicatedServer.java minecraft_patched\
|
||||
super.func_71190_q();
|
||||
this.func_71333_ah();
|
||||
}
|
||||
diff -r -U 3 minecraft\net\minecraft\src\EntityDragon.java minecraft_patched\net\minecraft\src\EntityDragon.java
|
||||
--- minecraft\net\minecraft\src\EntityDragon.java Sun Jun 30 21:44:01 2013
|
||||
+++ minecraft_patched\net\minecraft\src\EntityDragon.java Sun Jun 30 21:45:42 2013
|
||||
@@ -551,4 +551,14 @@
|
||||
protected float func_70599_aP() {
|
||||
return 5.0F;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public float func_70667_aM() {
|
||||
+ return 0.0f;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public float func_110183_aJ() {
|
||||
+ return 0.0f;
|
||||
+ }
|
||||
}
|
||||
diff -r -U 3 minecraft\net\minecraft\src\EntityWither.java minecraft_patched\net\minecraft\src\EntityWither.java
|
||||
--- minecraft\net\minecraft\src\EntityWither.java Sun Jun 30 21:44:02 2013
|
||||
+++ minecraft_patched\net\minecraft\src\EntityWither.java Sun Jun 30 21:45:42 2013
|
||||
@@ -458,4 +458,13 @@
|
||||
this.field_70154_o = null;
|
||||
}
|
||||
|
||||
+ @Override
|
||||
+ public float func_70667_aM() {
|
||||
+ return 0.0f;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public float func_110183_aJ() {
|
||||
+ return 0.0f;
|
||||
+ }
|
||||
}
|
||||
diff -r -U 3 minecraft\net\minecraft\src\EnumChatFormatting.java minecraft_patched\net\minecraft\src\EnumChatFormatting.java
|
||||
--- minecraft\net\minecraft\src\EnumChatFormatting.java Sun Jun 30 21:44:02 2013
|
||||
+++ minecraft_patched\net\minecraft\src\EnumChatFormatting.java Sun Jun 30 21:45:42 2013
|
||||
--- minecraft\net\minecraft\src\EnumChatFormatting.java Sun Jul 07 12:38:56 2013
|
||||
+++ minecraft_patched\net\minecraft\src\EnumChatFormatting.java Sun Jul 07 12:40:48 2013
|
||||
@@ -38,7 +38,7 @@
|
||||
private final String field_96304_B;
|
||||
|
||||
@@ -102,8 +67,8 @@ diff -r -U 3 minecraft\net\minecraft\src\EnumChatFormatting.java minecraft_patch
|
||||
|
||||
private EnumChatFormatting(char p_i1337_3_, boolean p_i1337_4_) {
|
||||
diff -r -U 3 minecraft\net\minecraft\src\FileResourcePack.java minecraft_patched\net\minecraft\src\FileResourcePack.java
|
||||
--- minecraft\net\minecraft\src\FileResourcePack.java Sun Jun 30 21:44:02 2013
|
||||
+++ minecraft_patched\net\minecraft\src\FileResourcePack.java Sun Jun 30 21:45:42 2013
|
||||
--- minecraft\net\minecraft\src\FileResourcePack.java Sun Jul 07 12:38:56 2013
|
||||
+++ minecraft_patched\net\minecraft\src\FileResourcePack.java Sun Jul 07 12:40:48 2013
|
||||
@@ -84,12 +84,18 @@
|
||||
|
||||
protected void finalize() {
|
||||
@@ -124,8 +89,8 @@ diff -r -U 3 minecraft\net\minecraft\src\FileResourcePack.java minecraft_patched
|
||||
}
|
||||
|
||||
diff -r -U 3 minecraft\net\minecraft\src\FolderResourcePack.java minecraft_patched\net\minecraft\src\FolderResourcePack.java
|
||||
--- minecraft\net\minecraft\src\FolderResourcePack.java Sun Jun 30 21:44:02 2013
|
||||
+++ minecraft_patched\net\minecraft\src\FolderResourcePack.java Sun Jun 30 21:46:52 2013
|
||||
--- minecraft\net\minecraft\src\FolderResourcePack.java Sun Jul 07 12:38:56 2013
|
||||
+++ minecraft_patched\net\minecraft\src\FolderResourcePack.java Sun Jul 07 12:40:48 2013
|
||||
@@ -29,7 +29,7 @@
|
||||
HashSet var1 = Sets.newHashSet();
|
||||
File var2 = new File(this.field_110597_b, "assets/");
|
||||
@@ -136,9 +101,9 @@ diff -r -U 3 minecraft\net\minecraft\src\FolderResourcePack.java minecraft_patch
|
||||
|
||||
for(int var5 = 0; var5 < var4; ++var5) {
|
||||
diff -r -U 3 minecraft\net\minecraft\src\FontRenderer.java minecraft_patched\net\minecraft\src\FontRenderer.java
|
||||
--- minecraft\net\minecraft\src\FontRenderer.java Sun Jun 30 21:44:02 2013
|
||||
+++ minecraft_patched\net\minecraft\src\FontRenderer.java Sun Jun 30 21:45:42 2013
|
||||
@@ -625,8 +625,6 @@
|
||||
--- minecraft\net\minecraft\src\FontRenderer.java Sun Jul 07 12:38:56 2013
|
||||
+++ minecraft_patched\net\minecraft\src\FontRenderer.java Sun Jul 07 12:40:48 2013
|
||||
@@ -630,8 +630,6 @@
|
||||
case 10:
|
||||
--var5;
|
||||
break;
|
||||
@@ -147,7 +112,7 @@ diff -r -U 3 minecraft\net\minecraft\src\FontRenderer.java minecraft_patched\net
|
||||
case 167:
|
||||
if(var5 < var3 - 1) {
|
||||
++var5;
|
||||
@@ -640,6 +638,8 @@
|
||||
@@ -645,6 +643,8 @@
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -157,8 +122,8 @@ diff -r -U 3 minecraft\net\minecraft\src\FontRenderer.java minecraft_patched\net
|
||||
var4 += this.func_78263_a(var8);
|
||||
if(var7) {
|
||||
diff -r -U 3 minecraft\net\minecraft\src\IntegratedServer.java minecraft_patched\net\minecraft\src\IntegratedServer.java
|
||||
--- minecraft\net\minecraft\src\IntegratedServer.java Sun Jun 30 21:44:02 2013
|
||||
+++ minecraft_patched\net\minecraft\src\IntegratedServer.java Sun Jun 30 21:45:42 2013
|
||||
--- minecraft\net\minecraft\src\IntegratedServer.java Sun Jul 07 12:38:57 2013
|
||||
+++ minecraft_patched\net\minecraft\src\IntegratedServer.java Sun Jul 07 12:40:48 2013
|
||||
@@ -103,7 +103,7 @@
|
||||
return true;
|
||||
}
|
||||
@@ -169,9 +134,9 @@ diff -r -U 3 minecraft\net\minecraft\src\IntegratedServer.java minecraft_patched
|
||||
this.field_71348_o = this.field_71347_n.func_71752_f();
|
||||
if(!var1 && this.field_71348_o) {
|
||||
diff -r -U 3 minecraft\net\minecraft\src\Minecraft.java minecraft_patched\net\minecraft\src\Minecraft.java
|
||||
--- minecraft\net\minecraft\src\Minecraft.java Sun Jun 30 21:44:05 2013
|
||||
+++ minecraft_patched\net\minecraft\src\Minecraft.java Sun Jun 30 21:45:42 2013
|
||||
@@ -599,8 +599,8 @@
|
||||
--- minecraft\net\minecraft\src\Minecraft.java Sun Jul 07 12:38:57 2013
|
||||
+++ minecraft_patched\net\minecraft\src\Minecraft.java Sun Jul 07 12:40:48 2013
|
||||
@@ -604,8 +604,8 @@
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -182,7 +147,7 @@ diff -r -U 3 minecraft\net\minecraft\src\Minecraft.java minecraft_patched\net\mi
|
||||
if(this.field_71425_J) {
|
||||
if(this.field_71434_R && this.field_71433_S != null) {
|
||||
this.func_71377_b(this.field_71433_S);
|
||||
@@ -621,23 +621,20 @@
|
||||
@@ -626,23 +626,20 @@
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@@ -220,8 +185,8 @@ diff -r -U 3 minecraft\net\minecraft\src\Minecraft.java minecraft_patched\net\mi
|
||||
}
|
||||
|
||||
diff -r -U 3 minecraft\net\minecraft\src\RConThreadClient.java minecraft_patched\net\minecraft\src\RConThreadClient.java
|
||||
--- minecraft\net\minecraft\src\RConThreadClient.java Sun Jun 30 21:44:05 2013
|
||||
+++ minecraft_patched\net\minecraft\src\RConThreadClient.java Sun Jun 30 21:45:42 2013
|
||||
--- minecraft\net\minecraft\src\RConThreadClient.java Sun Jul 07 12:38:58 2013
|
||||
+++ minecraft_patched\net\minecraft\src\RConThreadClient.java Sun Jul 07 12:40:48 2013
|
||||
@@ -32,8 +32,8 @@
|
||||
}
|
||||
|
||||
@@ -261,8 +226,8 @@ diff -r -U 3 minecraft\net\minecraft\src\RConThreadClient.java minecraft_patched
|
||||
|
||||
private void func_72654_a(int p_72654_1_, int p_72654_2_, String p_72654_3_) throws IOException {
|
||||
diff -r -U 3 minecraft\net\minecraft\src\RenderBlocks.java minecraft_patched\net\minecraft\src\RenderBlocks.java
|
||||
--- minecraft\net\minecraft\src\RenderBlocks.java Sun Jun 30 21:44:05 2013
|
||||
+++ minecraft_patched\net\minecraft\src\RenderBlocks.java Sun Jun 30 21:45:42 2013
|
||||
--- minecraft\net\minecraft\src\RenderBlocks.java Sun Jul 07 12:38:58 2013
|
||||
+++ minecraft_patched\net\minecraft\src\RenderBlocks.java Sun Jul 07 12:40:48 2013
|
||||
@@ -1960,16 +1960,16 @@
|
||||
float var25 = (float)(p_78589_2_ + 1);
|
||||
float var26 = (float)(p_78589_4_ + 0);
|
||||
@@ -294,9 +259,9 @@ diff -r -U 3 minecraft\net\minecraft\src\RenderBlocks.java minecraft_patched\net
|
||||
var5.func_78374_a((double)var25, (double)p_78589_3_ + 0.015625D, (double)var26, (double)var8.func_94212_f(), (double)var8.func_94206_g());
|
||||
var5.func_78374_a((double)var24, (double)p_78589_3_ + 0.015625D, (double)var26, (double)var8.func_94209_e(), (double)var8.func_94206_g());
|
||||
diff -r -U 3 minecraft\net\minecraft\src\RenderGlobal.java minecraft_patched\net\minecraft\src\RenderGlobal.java
|
||||
--- minecraft\net\minecraft\src\RenderGlobal.java Sun Jun 30 21:44:06 2013
|
||||
+++ minecraft_patched\net\minecraft\src\RenderGlobal.java Sun Jun 30 21:45:42 2013
|
||||
@@ -1435,7 +1435,7 @@
|
||||
--- minecraft\net\minecraft\src\RenderGlobal.java Sun Jul 07 12:38:58 2013
|
||||
+++ minecraft_patched\net\minecraft\src\RenderGlobal.java Sun Jul 07 12:40:48 2013
|
||||
@@ -1445,7 +1445,7 @@
|
||||
double var15 = this.field_72777_q.field_71451_h.field_70165_t - p_72726_2_;
|
||||
double var17 = this.field_72777_q.field_71451_h.field_70163_u - p_72726_4_;
|
||||
double var19 = this.field_72777_q.field_71451_h.field_70161_v - p_72726_6_;
|
||||
@@ -306,8 +271,8 @@ diff -r -U 3 minecraft\net\minecraft\src\RenderGlobal.java minecraft_patched\net
|
||||
this.field_72777_q.field_71452_i.func_78873_a(var21 = new EntityHugeExplodeFX(this.field_72769_h, p_72726_2_, p_72726_4_, p_72726_6_, p_72726_8_, p_72726_10_, p_72726_12_));
|
||||
} else if(p_72726_1_.equals("largeexplode")) {
|
||||
diff -r -U 3 minecraft\net\minecraft\src\SoundPoolURLConnection.java minecraft_patched\net\minecraft\src\SoundPoolURLConnection.java
|
||||
--- minecraft\net\minecraft\src\SoundPoolURLConnection.java Sun Jun 30 21:44:06 2013
|
||||
+++ minecraft_patched\net\minecraft\src\SoundPoolURLConnection.java Sun Jun 30 21:45:42 2013
|
||||
--- minecraft\net\minecraft\src\SoundPoolURLConnection.java Sun Jul 07 12:38:58 2013
|
||||
+++ minecraft_patched\net\minecraft\src\SoundPoolURLConnection.java Sun Jul 07 12:40:48 2013
|
||||
@@ -22,7 +22,11 @@
|
||||
public void connect() {}
|
||||
|
||||
@@ -321,8 +286,8 @@ diff -r -U 3 minecraft\net\minecraft\src\SoundPoolURLConnection.java minecraft_p
|
||||
|
||||
// $FF: synthetic method
|
||||
diff -r -U 3 minecraft\net\minecraft\src\TcpMasterThread.java minecraft_patched\net\minecraft\src\TcpMasterThread.java
|
||||
--- minecraft\net\minecraft\src\TcpMasterThread.java Sun Jun 30 21:44:06 2013
|
||||
+++ minecraft_patched\net\minecraft\src\TcpMasterThread.java Sun Jun 30 21:45:42 2013
|
||||
--- minecraft\net\minecraft\src\TcpMasterThread.java Sun Jul 07 12:38:58 2013
|
||||
+++ minecraft_patched\net\minecraft\src\TcpMasterThread.java Sun Jul 07 12:40:48 2013
|
||||
@@ -11,6 +11,7 @@
|
||||
this.field_74504_a = p_i1395_1_;
|
||||
}
|
||||
@@ -332,8 +297,8 @@ diff -r -U 3 minecraft\net\minecraft\src\TcpMasterThread.java minecraft_patched\
|
||||
try {
|
||||
Thread.sleep(5000L);
|
||||
diff -r -U 3 minecraft\net\minecraft\src\ThreadedFileIOBase.java minecraft_patched\net\minecraft\src\ThreadedFileIOBase.java
|
||||
--- minecraft\net\minecraft\src\ThreadedFileIOBase.java Sun Jun 30 21:44:06 2013
|
||||
+++ minecraft_patched\net\minecraft\src\ThreadedFileIOBase.java Sun Jun 30 21:45:42 2013
|
||||
--- minecraft\net\minecraft\src\ThreadedFileIOBase.java Sun Jul 07 12:38:58 2013
|
||||
+++ minecraft_patched\net\minecraft\src\ThreadedFileIOBase.java Sun Jul 07 12:40:48 2013
|
||||
@@ -20,6 +20,7 @@
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
diff -r -U 3 minecraft_server\net\minecraft\src\CallableSuspiciousClasses.java minecraft_server_patched\net\minecraft\src\CallableSuspiciousClasses.java
|
||||
--- minecraft_server\net\minecraft\src\CallableSuspiciousClasses.java Sun Jun 30 21:45:24 2013
|
||||
+++ minecraft_server_patched\net\minecraft\src\CallableSuspiciousClasses.java Sun Jun 30 21:45:41 2013
|
||||
--- minecraft_server\net\minecraft\src\CallableSuspiciousClasses.java Sun Jul 07 12:40:12 2013
|
||||
+++ minecraft_server_patched\net\minecraft\src\CallableSuspiciousClasses.java Sun Jul 07 12:40:42 2013
|
||||
@@ -21,9 +21,14 @@
|
||||
|
||||
public String func_85085_a() throws SecurityException, NoSuchFieldException, IllegalAccessException, IllegalArgumentException {
|
||||
@@ -30,8 +30,8 @@ diff -r -U 3 minecraft_server\net\minecraft\src\CallableSuspiciousClasses.java m
|
||||
}
|
||||
}
|
||||
diff -r -U 3 minecraft_server\net\minecraft\src\ComponentStrongholdRightTurn.java minecraft_server_patched\net\minecraft\src\ComponentStrongholdRightTurn.java
|
||||
--- minecraft_server\net\minecraft\src\ComponentStrongholdRightTurn.java Sun Jun 30 21:45:25 2013
|
||||
+++ minecraft_server_patched\net\minecraft\src\ComponentStrongholdRightTurn.java Sun Jun 30 21:45:41 2013
|
||||
--- minecraft_server\net\minecraft\src\ComponentStrongholdRightTurn.java Sun Jul 07 12:40:12 2013
|
||||
+++ minecraft_server_patched\net\minecraft\src\ComponentStrongholdRightTurn.java Sun Jul 07 12:40:42 2013
|
||||
@@ -11,6 +11,10 @@
|
||||
|
||||
public class ComponentStrongholdRightTurn extends ComponentStrongholdLeftTurn {
|
||||
@@ -44,8 +44,8 @@ diff -r -U 3 minecraft_server\net\minecraft\src\ComponentStrongholdRightTurn.jav
|
||||
if(this.field_74885_f != 2 && this.field_74885_f != 3) {
|
||||
this.func_74989_b((ComponentStrongholdStairs2)p_74861_1_, p_74861_2_, p_74861_3_, 1, 1);
|
||||
diff -r -U 3 minecraft_server\net\minecraft\src\DedicatedServer.java minecraft_server_patched\net\minecraft\src\DedicatedServer.java
|
||||
--- minecraft_server\net\minecraft\src\DedicatedServer.java Sun Jun 30 21:45:25 2013
|
||||
+++ minecraft_server_patched\net\minecraft\src\DedicatedServer.java Sun Jun 30 21:45:41 2013
|
||||
--- minecraft_server\net\minecraft\src\DedicatedServer.java Sun Jul 07 12:40:13 2013
|
||||
+++ minecraft_server_patched\net\minecraft\src\DedicatedServer.java Sun Jul 07 12:40:42 2013
|
||||
@@ -208,7 +208,7 @@
|
||||
System.exit(0);
|
||||
}
|
||||
@@ -56,8 +56,8 @@ diff -r -U 3 minecraft_server\net\minecraft\src\DedicatedServer.java minecraft_s
|
||||
this.func_71333_ah();
|
||||
}
|
||||
diff -r -U 3 minecraft_server\net\minecraft\src\EnumChatFormatting.java minecraft_server_patched\net\minecraft\src\EnumChatFormatting.java
|
||||
--- minecraft_server\net\minecraft\src\EnumChatFormatting.java Sun Jun 30 21:45:26 2013
|
||||
+++ minecraft_server_patched\net\minecraft\src\EnumChatFormatting.java Sun Jun 30 21:45:41 2013
|
||||
--- minecraft_server\net\minecraft\src\EnumChatFormatting.java Sun Jul 07 12:40:13 2013
|
||||
+++ minecraft_server_patched\net\minecraft\src\EnumChatFormatting.java Sun Jul 07 12:40:42 2013
|
||||
@@ -38,7 +38,7 @@
|
||||
private final String field_96304_B;
|
||||
|
||||
@@ -68,8 +68,8 @@ diff -r -U 3 minecraft_server\net\minecraft\src\EnumChatFormatting.java minecraf
|
||||
|
||||
private EnumChatFormatting(char p_i1337_3_, boolean p_i1337_4_) {
|
||||
diff -r -U 3 minecraft_server\net\minecraft\src\MemoryConnection.java minecraft_server_patched\net\minecraft\src\MemoryConnection.java
|
||||
--- minecraft_server\net\minecraft\src\MemoryConnection.java Sun Jun 30 21:45:26 2013
|
||||
+++ minecraft_server_patched\net\minecraft\src\MemoryConnection.java Sun Jun 30 21:45:41 2013
|
||||
--- minecraft_server\net\minecraft\src\MemoryConnection.java Sun Jul 07 12:40:14 2013
|
||||
+++ minecraft_server_patched\net\minecraft\src\MemoryConnection.java Sun Jul 07 12:40:42 2013
|
||||
@@ -11,13 +11,18 @@
|
||||
public class MemoryConnection implements INetworkManager {
|
||||
|
||||
@@ -91,8 +91,8 @@ diff -r -U 3 minecraft_server\net\minecraft\src\MemoryConnection.java minecraft_
|
||||
public void func_74425_a(NetHandler p_74425_1_) {
|
||||
this.field_74440_d = p_74425_1_;
|
||||
diff -r -U 3 minecraft_server\net\minecraft\src\RConThreadClient.java minecraft_server_patched\net\minecraft\src\RConThreadClient.java
|
||||
--- minecraft_server\net\minecraft\src\RConThreadClient.java Sun Jun 30 21:45:26 2013
|
||||
+++ minecraft_server_patched\net\minecraft\src\RConThreadClient.java Sun Jun 30 21:45:41 2013
|
||||
--- minecraft_server\net\minecraft\src\RConThreadClient.java Sun Jul 07 12:40:14 2013
|
||||
+++ minecraft_server_patched\net\minecraft\src\RConThreadClient.java Sun Jul 07 12:40:42 2013
|
||||
@@ -32,8 +32,8 @@
|
||||
}
|
||||
|
||||
@@ -132,8 +132,8 @@ diff -r -U 3 minecraft_server\net\minecraft\src\RConThreadClient.java minecraft_
|
||||
|
||||
private void func_72654_a(int p_72654_1_, int p_72654_2_, String p_72654_3_) throws IOException {
|
||||
diff -r -U 3 minecraft_server\net\minecraft\src\TcpMasterThread.java minecraft_server_patched\net\minecraft\src\TcpMasterThread.java
|
||||
--- minecraft_server\net\minecraft\src\TcpMasterThread.java Sun Jun 30 21:45:27 2013
|
||||
+++ minecraft_server_patched\net\minecraft\src\TcpMasterThread.java Sun Jun 30 21:45:41 2013
|
||||
--- minecraft_server\net\minecraft\src\TcpMasterThread.java Sun Jul 07 12:40:14 2013
|
||||
+++ minecraft_server_patched\net\minecraft\src\TcpMasterThread.java Sun Jul 07 12:40:42 2013
|
||||
@@ -11,6 +11,7 @@
|
||||
this.field_74504_a = p_i1395_1_;
|
||||
}
|
||||
@@ -143,8 +143,8 @@ diff -r -U 3 minecraft_server\net\minecraft\src\TcpMasterThread.java minecraft_s
|
||||
try {
|
||||
Thread.sleep(5000L);
|
||||
diff -r -U 3 minecraft_server\net\minecraft\src\ThreadedFileIOBase.java minecraft_server_patched\net\minecraft\src\ThreadedFileIOBase.java
|
||||
--- minecraft_server\net\minecraft\src\ThreadedFileIOBase.java Sun Jun 30 21:45:27 2013
|
||||
+++ minecraft_server_patched\net\minecraft\src\ThreadedFileIOBase.java Sun Jun 30 21:45:41 2013
|
||||
--- minecraft_server\net\minecraft\src\ThreadedFileIOBase.java Sun Jul 07 12:40:14 2013
|
||||
+++ minecraft_server_patched\net\minecraft\src\ThreadedFileIOBase.java Sun Jul 07 12:40:42 2013
|
||||
@@ -20,6 +20,7 @@
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
[VERSION]
|
||||
MCPVersion = 8.02
|
||||
ClientVersion = 1.6.1
|
||||
ServerVersion = 1.6.1
|
||||
MCPVersion = 8.04
|
||||
ClientVersion = 1.6.2
|
||||
ServerVersion = 1.6.2
|
||||
Binary file not shown.
@@ -1,12 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/Minecraft/src/Start.java"/>
|
||||
<listEntry value="/Minecraft/lib/net/minecraft/launchwrapper/1.3/launchwrapper-1.3.jar"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="1"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="Start"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="net.minecraft.launchwrapper.Launch"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="--version 1.6 --tweakClass cpw.mods.fml.common.launcher.FMLTweaker"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="Minecraft"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xincgc -Xmx1024M -Xms1024M"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:Minecraft/jars}"/>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/Minecraft/common/net/minecraft/server/MinecraftServer.java"/>
|
||||
<listEntry value="/Minecraft/src/net/minecraft/server/MinecraftServer.java"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="1"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="net.minecraft.server.MinecraftServer"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="cpw.mods.fml.relauncher.ServerLaunchWrapper"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="Minecraft"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xincgc -Xmx1024M -Xms1024M"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:Minecraft/jars}"/>
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
|
||||
<classpathentry kind="lib" path="jars/libraries/org/ow2/asm/asm-all/4.1/asm-all-4.1.jar" sourcepath="jars/libraries/org/ow2/asm/asm-all/4.1/asm-all-4.1-sources.jar"/>
|
||||
<classpathentry kind="lib" path="jars/libraries/net/minecraft/launchwrapper/1.3/launchwrapper-1.3.jar"/>
|
||||
<classpathentry kind="lib" path="jars/versions/1.6/1.6.jar"/>
|
||||
<classpathentry kind="lib" path="jars/versions/1.6.1/1.6.1.jar"/>
|
||||
<classpathentry kind="lib" path="jars/libraries/lzma/lzma/0.0.1/lzma-0.0.1.jar"/>
|
||||
<classpathentry kind="lib" path="jars/libraries/net/sf/jopt-simple/jopt-simple/4.5/jopt-simple-4.5.jar" sourcepath="jars/libraries/net/sf/jopt-simple/jopt-simple/4.5/jopt-simple-4.5-sources.jar"/>
|
||||
<classpathentry kind="lib" path="jars/libraries/com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar"/>
|
||||
<classpathentry kind="lib" path="jars/libraries/com/paulscode/codecwav/20101023/codecwav-20101023.jar"/>
|
||||
@@ -21,17 +22,17 @@
|
||||
<classpathentry kind="lib" path="jars/libraries/com/google/code/gson/gson/2.2.2/gson-2.2.2.jar" sourcepath="jars/libraries/com/google/code/gson/gson/2.2.2/gson-2.2.2-sources.jar"/>
|
||||
<classpathentry kind="lib" path="jars/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar" sourcepath="jars/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5-sources.jar">
|
||||
<attributes>
|
||||
<attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="Minecraft/natives"/>
|
||||
<attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="Minecraft/jars/versions/1.6.1/1.6.1-natives"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="jars/libraries/org/lwjgl/lwjgl/lwjgl/2.9.0/lwjgl-2.9.0.jar" sourcepath="jars/libraries/org/lwjgl/lwjgl/lwjgl/2.9.0/lwjgl-2.9.0-sources.jar">
|
||||
<attributes>
|
||||
<attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="Minecraft/natives"/>
|
||||
<attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="Minecraft/jars/versions/1.6.1/1.6.1-natives"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="jars/libraries/org/lwjgl/lwjgl/lwjgl_util/2.9.0/lwjgl_util-2.9.0.jar" sourcepath="jars/libraries/org/lwjgl/lwjgl/lwjgl_util/2.9.0/lwjgl_util-2.9.0-sources.jar">
|
||||
<attributes>
|
||||
<attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="Minecraft/natives"/>
|
||||
<attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="Minecraft/jars/versions/1.6.1/1.6.1-natives"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
</classpath>
|
||||
@@ -30,11 +30,6 @@
|
||||
<type>2</type>
|
||||
<locationURI>MCP_LOC/lib</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>natives</name>
|
||||
<type>2</type>
|
||||
<locationURI>MCP_LOC/jars/libraries/natives</locationURI>
|
||||
</link>
|
||||
</linkedResources>
|
||||
<filteredResources>
|
||||
<filter>
|
||||
@@ -73,15 +68,6 @@
|
||||
<arguments>1.0-name-matches-false-false-*.jar</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>1307293480435</id>
|
||||
<name>jars/bin/natives</name>
|
||||
<type>6</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-*</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
</filteredResources>
|
||||
<variableList>
|
||||
<variable>
|
||||
|
||||
+4
-3
@@ -506,7 +506,7 @@ def copytree(src, dst, verbose=0, symlinks=False):
|
||||
#==========================================================================
|
||||
# MCP Related Functions
|
||||
#==========================================================================
|
||||
def download_mcp(mcp_dir, fml_dir, version=None):
|
||||
def download_mcp(fml_dir, mcp_dir, version=None):
|
||||
if os.path.isfile(os.path.join(mcp_dir, 'runtime', 'commands.py')):
|
||||
print 'MCP Detected already, not downloading'
|
||||
return True
|
||||
@@ -517,6 +517,7 @@ def download_mcp(mcp_dir, fml_dir, version=None):
|
||||
|
||||
mc_info = read_mc_versions(fml_dir, version=version)
|
||||
|
||||
print('Checking MCP zip (may take time to download)')
|
||||
if not download_file(mc_info['mcp_url'], mc_info['mcp_file'], mc_info['mcp_md5']):
|
||||
sys.exit(1)
|
||||
|
||||
@@ -922,7 +923,7 @@ def decompile_minecraft(fml_dir, mcp_dir, disable_at=False, disable_merge=False,
|
||||
src_dir = os.path.join(mcp_dir, 'src')
|
||||
if os.path.isdir(src_dir):
|
||||
os.chdir(mcp_dir)
|
||||
cleanup(None, False)
|
||||
cleanup(None, False, False)
|
||||
reset_logger()
|
||||
os.chdir(fml_dir)
|
||||
|
||||
@@ -1285,7 +1286,7 @@ def download_assets(mcp_dir):
|
||||
|
||||
if failed:
|
||||
print(' Downloading assets failed, please review log for more details')
|
||||
sys.exit(1)
|
||||
|
||||
#==========================================================================
|
||||
# Transformers
|
||||
#==========================================================================
|
||||
|
||||
+4
-3
@@ -1,10 +1,11 @@
|
||||
import os, os.path, sys
|
||||
from optparse import OptionParser
|
||||
|
||||
from fml import setup_fml, finish_setup_fml, apply_fml_patches, setup_mcp, download_mcp
|
||||
|
||||
def fml_main(fml_dir, mcp_dir, gen_conf=True, disable_patches=False, disable_at=False, disable_merge=False, enable_server=False,
|
||||
disable_client=False, disable_rename=False, disable_assets=False, decompile=False):
|
||||
sys.path.append(fml_dir)
|
||||
from fml import download_mcp, setup_mcp, decompile_minecraft, apply_fml_patches, finish_setup_fml
|
||||
print '================ Forge ModLoader Setup Start ==================='
|
||||
download_mcp(fml_dir, mcp_dir)
|
||||
setup_mcp(fml_dir, mcp_dir, gen_conf)
|
||||
@@ -30,7 +31,7 @@ if __name__ == '__main__':
|
||||
parser.add_option('-c', '--no-client', action="store_true", dest='no_client', help='Disable decompilation of server', default=False)
|
||||
parser.add_option('-e', '--no-merge', action="store_true", dest='no_merge', help='Disable merging server code into client', default=False)
|
||||
parser.add_option('-n', '--no-rename', action="store_true", dest='no_rename', help='Disable running updatenames', default=False)
|
||||
parser.add_option('-a', '--no-assets', action="store_true", dest='no_assets', help='Disable downloading of assets folder', default=False)
|
||||
parser.add_option( '--no-assets', action="store_true", dest='no_assets', help='Disable downloading of assets folder', default=False)
|
||||
parser.add_option('-d', '--decompile', action="store_true", dest='decompile', help='Decompile minecraft and apply patches', default=True)
|
||||
options, _ = parser.parse_args()
|
||||
|
||||
@@ -51,5 +52,5 @@ if __name__ == '__main__':
|
||||
fml_main(fml_dir, mcp_dir, disable_patches=options.no_patch,
|
||||
disable_at=options.no_access, disable_merge=options.no_merge,
|
||||
enable_server=options.enable_server, disable_client=options.no_client,
|
||||
disable_rename=options.no_rename, disable_assets=options.assets,
|
||||
disable_rename=options.no_rename, disable_assets=options.no_assets,
|
||||
decompile=options.decompile, gen_conf=False)
|
||||
+14
-2
@@ -4,7 +4,7 @@
|
||||
"releaseTime": "{timestamp}",
|
||||
"type": "release",
|
||||
"processArguments": "username_session_version",
|
||||
"minecraftArguments": "--username ${auth_player_name} --session ${auth_session} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets} --tweakClass cpw.mods.fml.common.launcher.FMLTweaker",
|
||||
"minecraftArguments": "--version FML_DEV --tweakClass cpw.mods.fml.common.launcher.FMLTweaker",
|
||||
"minimumLauncherVersion": 2,
|
||||
"libraries": [
|
||||
{
|
||||
@@ -17,6 +17,18 @@
|
||||
"url" : "http://repo.maven.apache.org/maven2",
|
||||
"comment" : "Important for FML, we add this"
|
||||
},
|
||||
{
|
||||
"name": "org.scala-lang:scala-library:2.10.2",
|
||||
"children" : ["sources"],
|
||||
"url" : "http://repo.maven.apache.org/maven2",
|
||||
"comment" : "Important for FML, we add this"
|
||||
},
|
||||
{
|
||||
"name": "org.scala-lang:scala-compiler:2.10.2",
|
||||
"children" : ["sources"],
|
||||
"url" : "http://repo.maven.apache.org/maven2",
|
||||
"comment" : "Important for FML, we add this"
|
||||
},
|
||||
{
|
||||
"name": "net.sf.jopt-simple:jopt-simple:4.5",
|
||||
"children" : ["sources"],
|
||||
@@ -121,5 +133,5 @@
|
||||
}
|
||||
}
|
||||
],
|
||||
"mainClass": "net.minecraft.client.main.Main"
|
||||
"mainClass": "net.minecraft.launchwrapper.Launch"
|
||||
}
|
||||
+123
-89
@@ -1,93 +1,127 @@
|
||||
{
|
||||
"id": "FML{version}",
|
||||
"time": "{timestamp}",
|
||||
"releaseTime": "{timestamp}",
|
||||
"type": "release",
|
||||
"processArguments": "username_session_version",
|
||||
"minecraftArguments": "--username ${auth_player_name} --session ${auth_session} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets} --tweakClass cpw.mods.fml.common.launcher.FMLTweaker",
|
||||
"minimumLauncherVersion": 2,
|
||||
"libraries": [
|
||||
{
|
||||
"name": "cpw.mods:fml:{version}",
|
||||
"devdl" : "false"
|
||||
},
|
||||
{
|
||||
"name": "net.minecraft:launchwrapper:1.3"
|
||||
},
|
||||
{
|
||||
"name": "net.sf.jopt-simple:jopt-simple:4.5"
|
||||
},
|
||||
{
|
||||
"name": "com.paulscode:codecjorbis:20101023"
|
||||
},
|
||||
{
|
||||
"name": "com.paulscode:codecwav:20101023"
|
||||
},
|
||||
{
|
||||
"name": "com.paulscode:libraryjavasound:20101123"
|
||||
},
|
||||
{
|
||||
"name": "com.paulscode:librarylwjglopenal:20100824"
|
||||
},
|
||||
{
|
||||
"name": "com.paulscode:soundsystem:20120107"
|
||||
},
|
||||
{
|
||||
"name": "org.lwjgl.lwjgl:lwjgl:2.9.0"
|
||||
},
|
||||
{
|
||||
"name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0"
|
||||
},
|
||||
{
|
||||
"name": "argo:argo:2.25_fixed"
|
||||
},
|
||||
{
|
||||
"name": "org.bouncycastle:bcprov-jdk15on:1.47"
|
||||
},
|
||||
{
|
||||
"name": "com.google.guava:guava:14.0"
|
||||
},
|
||||
{
|
||||
"name": "org.apache.commons:commons-lang3:3.1"
|
||||
},
|
||||
{
|
||||
"name": "commons-io:commons-io:2.4"
|
||||
},
|
||||
{
|
||||
"name": "net.java.jinput:jinput:2.0.5"
|
||||
},
|
||||
{
|
||||
"name": "net.java.jutils:jutils:1.0.0"
|
||||
},
|
||||
{
|
||||
"name": "com.google.code.gson:gson:2.2.2"
|
||||
},
|
||||
{
|
||||
"name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0",
|
||||
"natives": {
|
||||
"linux": "natives-linux",
|
||||
"windows": "natives-windows",
|
||||
"osx": "natives-osx"
|
||||
"install": {
|
||||
"profileName": "FML",
|
||||
"target":"FML@version@",
|
||||
"path":"cpw.mods:fml:@version@",
|
||||
"version":"FML @version@",
|
||||
"filePath":"@universal_jar@",
|
||||
"welcome":"Welcome to the simple FML installer.",
|
||||
"minecraft":"@minecraft_version@",
|
||||
"logo":"/big_logo.png"
|
||||
},
|
||||
"versionInfo": {
|
||||
"id": "FML@version@",
|
||||
"time": "@timestamp@",
|
||||
"releaseTime": "1960-01-01T00:00:00-0700",
|
||||
"type": "release",
|
||||
"processArguments": "username_session_version",
|
||||
"minecraftArguments": "--username ${auth_player_name} --session ${auth_session} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets} --tweakClass cpw.mods.fml.common.launcher.FMLTweaker",
|
||||
"minimumLauncherVersion": 2,
|
||||
"libraries": [
|
||||
{
|
||||
"name": "cpw.mods:fml:@version@",
|
||||
"url": "http://files.minecraftforge.net/maven/"
|
||||
},
|
||||
"extract": {
|
||||
"exclude": [
|
||||
"META-INF/"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "net.java.jinput:jinput-platform:2.0.5",
|
||||
"natives": {
|
||||
"linux": "natives-linux",
|
||||
"windows": "natives-windows",
|
||||
"osx": "natives-osx"
|
||||
{
|
||||
"name": "net.minecraft:launchwrapper:1.3",
|
||||
"serverreq":true
|
||||
},
|
||||
"extract": {
|
||||
"exclude": [
|
||||
"META-INF/"
|
||||
]
|
||||
{
|
||||
"name": "org.scala-lang:scala-library:2.10.2",
|
||||
"url" : "http://repo.maven.apache.org/maven2/",
|
||||
"comment" : "Important for FML, we add this",
|
||||
"serverreq":true
|
||||
},
|
||||
{
|
||||
"name": "org.scala-lang:scala-compiler:2.10.2",
|
||||
"url" : "http://repo.maven.apache.org/maven2/",
|
||||
"comment" : "Important for FML, we add this",
|
||||
"serverreq":true
|
||||
},
|
||||
{
|
||||
"name": "org.ow2.asm:asm-all:4.1",
|
||||
"serverreq":true
|
||||
},
|
||||
{
|
||||
"name": "net.sf.jopt-simple:jopt-simple:4.5",
|
||||
"serverreq":true
|
||||
},
|
||||
{
|
||||
"name": "lzma:lzma:0.0.1",
|
||||
"serverreq":true
|
||||
},
|
||||
{
|
||||
"name": "com.paulscode:codecjorbis:20101023"
|
||||
},
|
||||
{
|
||||
"name": "com.paulscode:codecwav:20101023"
|
||||
},
|
||||
{
|
||||
"name": "com.paulscode:libraryjavasound:20101123"
|
||||
},
|
||||
{
|
||||
"name": "com.paulscode:librarylwjglopenal:20100824"
|
||||
},
|
||||
{
|
||||
"name": "com.paulscode:soundsystem:20120107"
|
||||
},
|
||||
{
|
||||
"name": "org.lwjgl.lwjgl:lwjgl:2.9.0"
|
||||
},
|
||||
{
|
||||
"name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0"
|
||||
},
|
||||
{
|
||||
"name": "argo:argo:2.25_fixed"
|
||||
},
|
||||
{
|
||||
"name": "org.bouncycastle:bcprov-jdk15on:1.47"
|
||||
},
|
||||
{
|
||||
"name": "com.google.guava:guava:14.0"
|
||||
},
|
||||
{
|
||||
"name": "org.apache.commons:commons-lang3:3.1"
|
||||
},
|
||||
{
|
||||
"name": "commons-io:commons-io:2.4"
|
||||
},
|
||||
{
|
||||
"name": "net.java.jinput:jinput:2.0.5"
|
||||
},
|
||||
{
|
||||
"name": "net.java.jutils:jutils:1.0.0"
|
||||
},
|
||||
{
|
||||
"name": "com.google.code.gson:gson:2.2.2"
|
||||
},
|
||||
{
|
||||
"name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0",
|
||||
"natives": {
|
||||
"linux": "natives-linux",
|
||||
"windows": "natives-windows",
|
||||
"osx": "natives-osx"
|
||||
},
|
||||
"extract": {
|
||||
"exclude": [
|
||||
"META-INF/"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "net.java.jinput:jinput-platform:2.0.5",
|
||||
"natives": {
|
||||
"linux": "natives-linux",
|
||||
"windows": "natives-windows",
|
||||
"osx": "natives-osx"
|
||||
},
|
||||
"extract": {
|
||||
"exclude": [
|
||||
"META-INF/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"mainClass": "net.minecraft.client.main.Main"
|
||||
}
|
||||
],
|
||||
"mainClass": "net.minecraft.launchwrapper.Launch"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 6.3 KiB |
Binary file not shown.
+11
-4
@@ -1,5 +1,5 @@
|
||||
[default]
|
||||
current_ver = 1.6.1
|
||||
current_ver = 1.6.2
|
||||
base_url = http://s3.amazonaws.com/MinecraftDownload/
|
||||
libraries = lwjgl.jar lwjgl_util.jar jinput.jar
|
||||
natives = windows_natives.jar macosx_natives.jar linux_natives.jar
|
||||
@@ -104,6 +104,13 @@ mcp_md5 = 39da81bbb4d73b3f5e2d1f8f5682cdb9
|
||||
[1.6.1]
|
||||
client_md5 = 3c56fb4b77b1ca37dde69b5eb896fc4d
|
||||
server_md5 = ff8f81970a5955737c356b534d3aee96
|
||||
mcp_ver = 8.02
|
||||
mcp_url =
|
||||
mcp_md5 = 39da81bbb4d73b3f5e2d1f8f5682cdb9
|
||||
mcp_ver = 8.03
|
||||
mcp_url = http://mcp.ocean-labs.de/files/archive/mcp803.zip
|
||||
mcp_md5 = 7810c2fba33e15889685b21ac8dc66cf
|
||||
|
||||
[1.6.2]
|
||||
client_md5 = 9356f3ad44925a684e918b9270b63a6c
|
||||
server_md5 = 39df9f29e6904ea7b351ffb4fe949881
|
||||
mcp_ver = 8.04
|
||||
mcp_url = http://mcp.ocean-labs.de/files/archive/mcp804.zip
|
||||
mcp_md5 = ebcecfa00aae07548e67787044410a11
|
||||
@@ -12,7 +12,7 @@
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import java.awt.image.BufferedImage;
|
||||
@@ -129,6 +134,8 @@
|
||||
@@ -130,6 +135,8 @@
|
||||
import org.lwjgl.opengl.PixelFormat;
|
||||
import org.lwjgl.util.glu.GLU;
|
||||
|
||||
@@ -21,16 +21,16 @@
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class Minecraft implements IPlayerUsage
|
||||
{
|
||||
@@ -364,6 +371,8 @@
|
||||
@@ -366,6 +373,8 @@
|
||||
this.func_71357_I();
|
||||
this.field_71466_p = new FontRenderer(this.field_71474_y, new ResourceLocation("textures/font/ascii.png"), this.field_71446_o, false);
|
||||
|
||||
+ FMLClientHandler.instance().beginMinecraftLoading(this);
|
||||
+ FMLClientHandler.instance().beginMinecraftLoading(this, this.field_110449_ao);
|
||||
+
|
||||
if (this.field_71474_y.field_74363_ab != null)
|
||||
{
|
||||
this.field_71466_p.func_78264_a(this.field_135017_as.func_135042_a());
|
||||
@@ -396,6 +405,7 @@
|
||||
@@ -400,6 +409,7 @@
|
||||
this.field_71446_o.func_130088_a(TextureMap.field_110576_c, new TextureMap(1, "textures/items/"));
|
||||
GL11.glViewport(0, 0, this.field_71443_c, this.field_71440_d);
|
||||
this.field_71452_i = new EffectRenderer(this.field_71441_e, this.field_71446_o);
|
||||
@@ -38,7 +38,7 @@
|
||||
this.func_71361_d("Post startup");
|
||||
this.field_71456_v = new GuiIngame(this);
|
||||
|
||||
@@ -414,6 +424,7 @@
|
||||
@@ -418,6 +428,7 @@
|
||||
{
|
||||
this.func_71352_k();
|
||||
}
|
||||
@@ -46,7 +46,7 @@
|
||||
}
|
||||
|
||||
public void func_110436_a()
|
||||
@@ -729,6 +740,7 @@
|
||||
@@ -733,6 +744,7 @@
|
||||
{
|
||||
this.func_71405_e();
|
||||
}
|
||||
@@ -54,7 +54,7 @@
|
||||
}
|
||||
|
||||
private void func_71411_J()
|
||||
@@ -797,9 +809,11 @@
|
||||
@@ -801,9 +813,11 @@
|
||||
|
||||
if (!this.field_71454_w)
|
||||
{
|
||||
@@ -66,7 +66,7 @@
|
||||
}
|
||||
|
||||
GL11.glFlush();
|
||||
@@ -1321,10 +1335,14 @@
|
||||
@@ -1325,10 +1339,14 @@
|
||||
|
||||
public void func_71407_l()
|
||||
{
|
||||
@@ -81,7 +81,7 @@
|
||||
|
||||
this.field_71424_I.func_76320_a("stats");
|
||||
this.field_71413_E.func_77449_e();
|
||||
@@ -1775,6 +1793,8 @@
|
||||
@@ -1785,6 +1803,8 @@
|
||||
this.field_71453_ak.func_74428_b();
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
this.field_71424_I.func_76319_b();
|
||||
this.field_71423_H = func_71386_F();
|
||||
}
|
||||
@@ -1798,8 +1818,27 @@
|
||||
@@ -1808,8 +1828,27 @@
|
||||
}
|
||||
|
||||
this.field_71413_E.func_77450_a(StatList.field_75936_f, 1);
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
--- ../src-base/minecraft/net/minecraft/client/multiplayer/NetClientHandler.java
|
||||
+++ ../src-work/minecraft/net/minecraft/client/multiplayer/NetClientHandler.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@@ -1,6 +1,8 @@
|
||||
package net.minecraft.client.multiplayer;
|
||||
|
||||
import com.google.common.base.Charsets;
|
||||
+
|
||||
+import cpw.mods.fml.common.network.FMLNetworkHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import java.io.BufferedReader;
|
||||
@@ -201,11 +202,14 @@
|
||||
@@ -205,11 +207,14 @@
|
||||
private GuiScreen field_98183_l;
|
||||
Random field_72557_e = new Random();
|
||||
|
||||
@@ -22,7 +24,7 @@
|
||||
}
|
||||
|
||||
public NetClientHandler(Minecraft p_i1177_1_, String p_i1177_2_, int p_i1177_3_, GuiScreen p_i1177_4_) throws IOException
|
||||
@@ -214,6 +218,7 @@
|
||||
@@ -218,6 +223,7 @@
|
||||
this.field_98183_l = p_i1177_4_;
|
||||
Socket socket = new Socket(InetAddress.getByName(p_i1177_2_), p_i1177_3_);
|
||||
this.field_72555_g = new TcpConnection(p_i1177_1_.func_98033_al(), socket, "Client", this);
|
||||
@@ -30,7 +32,7 @@
|
||||
}
|
||||
|
||||
public NetClientHandler(Minecraft p_i1178_1_, IntegratedServer p_i1178_2_) throws IOException
|
||||
@@ -221,6 +226,7 @@
|
||||
@@ -225,6 +231,7 @@
|
||||
this.field_72563_h = p_i1178_1_;
|
||||
this.field_72555_g = new MemoryConnection(p_i1178_1_.func_98033_al(), this);
|
||||
p_i1178_2_.func_71343_a().func_71754_a((MemoryConnection)this.field_72555_g, p_i1178_1_.func_110432_I().func_111285_a());
|
||||
@@ -38,7 +40,7 @@
|
||||
}
|
||||
|
||||
public void func_72547_c()
|
||||
@@ -292,6 +298,7 @@
|
||||
@@ -296,6 +303,7 @@
|
||||
|
||||
public void func_72513_a(Packet252SharedKey p_72513_1_)
|
||||
{
|
||||
@@ -46,15 +48,15 @@
|
||||
this.func_72552_c(new Packet205ClientCommand(0));
|
||||
}
|
||||
|
||||
@@ -307,6 +314,7 @@
|
||||
@@ -311,6 +319,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);
|
||||
+ FMLNetworkHandler.onConnectionEstablishedToServer(this, field_72555_g, p_72455_1_);
|
||||
this.field_72563_h.field_71474_y.func_82879_c();
|
||||
this.field_72555_g.func_74429_a(new Packet250CustomPayload("MC|Brand", ClientBrandRetriever.getClientModName().getBytes(Charsets.UTF_8)));
|
||||
}
|
||||
|
||||
@@ -760,6 +768,7 @@
|
||||
@@ -765,6 +774,7 @@
|
||||
{
|
||||
this.field_72555_g.func_74429_a(p_72546_1_);
|
||||
this.field_72555_g.func_74423_d();
|
||||
@@ -62,7 +64,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -799,6 +808,7 @@
|
||||
@@ -804,6 +814,7 @@
|
||||
|
||||
public void func_72481_a(Packet3Chat p_72481_1_)
|
||||
{
|
||||
@@ -70,7 +72,7 @@
|
||||
this.field_72563_h.field_71456_v.func_73827_b().func_73765_a(ChatMessageComponent.func_111078_c(p_72481_1_.field_73476_b).func_111068_a(true));
|
||||
}
|
||||
|
||||
@@ -1379,6 +1389,11 @@
|
||||
@@ -1403,6 +1414,11 @@
|
||||
|
||||
public void func_72494_a(Packet131MapData p_72494_1_)
|
||||
{
|
||||
@@ -82,7 +84,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);
|
||||
@@ -1490,6 +1505,11 @@
|
||||
@@ -1514,6 +1530,11 @@
|
||||
|
||||
public void func_72501_a(Packet250CustomPayload p_72501_1_)
|
||||
{
|
||||
@@ -94,7 +96,7 @@
|
||||
if ("MC|TrList".equals(p_72501_1_.field_73630_a))
|
||||
{
|
||||
DataInputStream datainputstream = new DataInputStream(new ByteArrayInputStream(p_72501_1_.field_73629_c));
|
||||
@@ -1670,4 +1690,20 @@
|
||||
@@ -1707,4 +1728,20 @@
|
||||
{
|
||||
return this.field_72555_g;
|
||||
}
|
||||
|
||||
@@ -9,4 +9,4 @@
|
||||
-@SideOnly(Side.CLIENT)
|
||||
public interface IBossDisplayData
|
||||
{
|
||||
float func_70667_aM();
|
||||
float func_110138_aP();
|
||||
@@ -8,7 +8,7 @@
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import java.util.Collection;
|
||||
@@ -183,6 +185,7 @@
|
||||
@@ -181,6 +183,7 @@
|
||||
|
||||
public void func_70071_h_()
|
||||
{
|
||||
@@ -16,7 +16,7 @@
|
||||
if (this.field_71074_e != null)
|
||||
{
|
||||
ItemStack itemstack = this.field_71071_by.func_70448_g();
|
||||
@@ -306,6 +309,7 @@
|
||||
@@ -304,6 +307,7 @@
|
||||
{
|
||||
this.field_71100_bB.func_75118_a(this);
|
||||
}
|
||||
@@ -24,7 +24,7 @@
|
||||
}
|
||||
|
||||
public int func_82145_z()
|
||||
@@ -1954,4 +1958,9 @@
|
||||
@@ -1906,4 +1910,9 @@
|
||||
{
|
||||
return this.func_70096_w().func_111145_d(17);
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
|
||||
if (s != null)
|
||||
{
|
||||
@@ -270,4 +281,22 @@
|
||||
@@ -275,4 +286,22 @@
|
||||
{
|
||||
return p_72531_0_.field_72544_i = p_72531_1_;
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
import net.minecraft.crash.CrashReport;
|
||||
import net.minecraft.crash.CrashReportCategory;
|
||||
import net.minecraft.entity.Entity;
|
||||
@@ -34,6 +36,7 @@
|
||||
@@ -36,6 +38,7 @@
|
||||
import net.minecraft.network.packet.Packet108EnchantItem;
|
||||
import net.minecraft.network.packet.Packet10Flying;
|
||||
import net.minecraft.network.packet.Packet130UpdateSign;
|
||||
@@ -17,7 +17,7 @@
|
||||
import net.minecraft.network.packet.Packet13PlayerLookMove;
|
||||
import net.minecraft.network.packet.Packet14BlockDig;
|
||||
import net.minecraft.network.packet.Packet15Place;
|
||||
@@ -634,6 +637,7 @@
|
||||
@@ -615,6 +618,7 @@
|
||||
|
||||
public void func_72481_a(Packet3Chat p_72481_1_)
|
||||
{
|
||||
@@ -25,7 +25,7 @@
|
||||
if (this.field_72574_e.func_71126_v() == 2)
|
||||
{
|
||||
this.func_72567_b(new Packet3Chat(ChatMessageComponent.func_111077_e("chat.cannotSend").func_111059_a(EnumChatFormatting.RED)));
|
||||
@@ -1009,6 +1013,11 @@
|
||||
@@ -997,6 +1001,11 @@
|
||||
}
|
||||
|
||||
public void func_72501_a(Packet250CustomPayload p_72501_1_)
|
||||
@@ -37,9 +37,9 @@
|
||||
{
|
||||
DataInputStream datainputstream;
|
||||
ItemStack itemstack;
|
||||
@@ -1173,4 +1182,18 @@
|
||||
}
|
||||
}
|
||||
@@ -1166,4 +1175,18 @@
|
||||
{
|
||||
return this.field_72576_c;
|
||||
}
|
||||
+
|
||||
+
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import java.io.BufferedOutputStream;
|
||||
@@ -386,6 +387,7 @@
|
||||
@@ -392,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);
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
|
||||
public abstract class NetHandler
|
||||
{
|
||||
@@ -375,4 +377,8 @@
|
||||
@@ -382,4 +384,8 @@
|
||||
{
|
||||
this.func_72509_a(p_110773_1_);
|
||||
return false;
|
||||
}
|
||||
+
|
||||
+ public abstract void handleVanilla250Packet(Packet250CustomPayload payload);
|
||||
|
||||
@@ -7,5 +7,5 @@
|
||||
- func_73285_a(131, true, false, Packet131MapData.class);
|
||||
+ func_73285_a(131, true, true, Packet131MapData.class);
|
||||
func_73285_a(132, true, false, Packet132TileEntityData.class);
|
||||
func_73285_a(133, true, false, Packet133TileEditorOpen.class);
|
||||
func_73285_a(200, true, false, Packet200Statistic.class);
|
||||
func_73285_a(201, true, false, Packet201PlayerInfo.class);
|
||||
+7
-5
@@ -1,14 +1,16 @@
|
||||
--- ../src-base/minecraft/net/minecraft/server/management/ServerConfigurationManager.java
|
||||
+++ ../src-work/minecraft/net/minecraft/server/management/ServerConfigurationManager.java
|
||||
@@ -1,5 +1,7 @@
|
||||
@@ -1,6 +1,9 @@
|
||||
package net.minecraft.server.management;
|
||||
|
||||
import com.google.common.base.Charsets;
|
||||
+
|
||||
+import cpw.mods.fml.common.network.FMLNetworkHandler;
|
||||
+import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import java.io.File;
|
||||
@@ -120,6 +122,8 @@
|
||||
@@ -124,6 +127,8 @@
|
||||
|
||||
p_72355_2_.func_71116_b();
|
||||
|
||||
@@ -17,7 +19,7 @@
|
||||
if (nbttagcompound != null && nbttagcompound.func_74764_b("Riding"))
|
||||
{
|
||||
Entity entity = EntityList.func_75615_a(nbttagcompound.func_74775_l("Riding"), worldserver);
|
||||
@@ -234,6 +238,7 @@
|
||||
@@ -238,6 +243,7 @@
|
||||
|
||||
public void func_72367_e(EntityPlayerMP p_72367_1_)
|
||||
{
|
||||
@@ -25,7 +27,7 @@
|
||||
this.func_72391_b(p_72367_1_);
|
||||
WorldServer worldserver = p_72367_1_.func_71121_q();
|
||||
|
||||
@@ -391,6 +396,7 @@
|
||||
@@ -395,6 +401,7 @@
|
||||
this.field_72404_b.add(entityplayermp1);
|
||||
entityplayermp1.func_71116_b();
|
||||
entityplayermp1.func_70606_j(entityplayermp1.func_110143_aJ());
|
||||
@@ -33,7 +35,7 @@
|
||||
return entityplayermp1;
|
||||
}
|
||||
|
||||
@@ -416,6 +422,8 @@
|
||||
@@ -420,6 +427,8 @@
|
||||
PotionEffect potioneffect = (PotionEffect)iterator.next();
|
||||
p_72356_1_.field_71135_a.func_72567_b(new Packet41EntityEffect(p_72356_1_.field_70157_k, potioneffect));
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
this.field_72984_F.func_76318_c("pendingTileEntities");
|
||||
|
||||
@@ -3645,7 +3646,7 @@
|
||||
@@ -3646,7 +3647,7 @@
|
||||
@SideOnly(Side.CLIENT)
|
||||
public double func_72919_O()
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user