Merge branch 'master' into newtweak
This commit is contained in:
commit
88f1dce658
16 changed files with 1045 additions and 1138 deletions
|
@ -203,7 +203,7 @@
|
||||||
|
|
||||||
<delete file="${basedir}/installer_base.jar" />
|
<delete file="${basedir}/installer_base.jar" />
|
||||||
<delete file="${basedir}/install_profile.json" />
|
<delete file="${basedir}/install_profile.json" />
|
||||||
<get src="http://files.minecraftforge.net/installer/forge-installer-1.1-shrunk.jar" dest="${basedir}/installer_base.jar" />
|
<get src="http://files.minecraftforge.net/installer/forge-installer-1.3-shrunk.jar" dest="${basedir}/installer_base.jar" />
|
||||||
<copy file="${basedir}/jsons/${version.minecraft}-rel.json" tofile="${basedir}/install_profile.json" />
|
<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" />
|
<copy file="${basedir}/installer_base.jar" tofile="${basedir}/target/${modname}-installer-${version.fullname}.jar" />
|
||||||
<replace file="${basedir}/install_profile.json">
|
<replace file="${basedir}/install_profile.json">
|
||||||
|
|
|
@ -606,4 +606,10 @@ public class FMLClientHandler implements IFMLSidedHandler
|
||||||
{
|
{
|
||||||
return resourcePackMap.get(modId);
|
return resourcePackMap.get(modId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getCurrentLanguage()
|
||||||
|
{
|
||||||
|
return client.func_135016_M().func_135041_c().func_135034_a();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -496,4 +496,10 @@ public class FMLCommonHandler
|
||||||
{
|
{
|
||||||
sidedDelegate.updateResourcePackList();
|
sidedDelegate.updateResourcePackList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getCurrentLanguage()
|
||||||
|
{
|
||||||
|
|
||||||
|
return sidedDelegate.getCurrentLanguage();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
|
|
||||||
package cpw.mods.fml.common;
|
package cpw.mods.fml.common;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.security.cert.Certificate;
|
import java.security.cert.Certificate;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -26,6 +27,9 @@ import net.minecraft.world.storage.WorldInfo;
|
||||||
|
|
||||||
import com.google.common.eventbus.EventBus;
|
import com.google.common.eventbus.EventBus;
|
||||||
|
|
||||||
|
import cpw.mods.fml.client.FMLFileResourcePack;
|
||||||
|
import cpw.mods.fml.client.FMLFolderResourcePack;
|
||||||
|
import cpw.mods.fml.common.asm.FMLSanityChecker;
|
||||||
import cpw.mods.fml.common.registry.GameData;
|
import cpw.mods.fml.common.registry.GameData;
|
||||||
import cpw.mods.fml.common.registry.GameRegistry;
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
import cpw.mods.fml.common.registry.ItemData;
|
import cpw.mods.fml.common.registry.ItemData;
|
||||||
|
@ -124,9 +128,14 @@ public class FMLDummyContainer extends DummyModContainer implements WorldAccessC
|
||||||
return certificates != null ? certificates[0] : null;
|
return certificates != null ? certificates[0] : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public File getSource()
|
||||||
|
{
|
||||||
|
return FMLSanityChecker.fmlLocation;
|
||||||
|
}
|
||||||
@Override
|
@Override
|
||||||
public Class<?> getCustomResourcePackClass()
|
public Class<?> getCustomResourcePackClass()
|
||||||
{
|
{
|
||||||
return super.getCustomResourcePackClass();
|
return getSource().isDirectory() ? FMLFolderResourcePack.class : FMLFileResourcePack.class;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,4 +66,6 @@ public interface IFMLSidedHandler
|
||||||
void addModAsResource(ModContainer container);
|
void addModAsResource(ModContainer container);
|
||||||
|
|
||||||
void updateResourcePackList();
|
void updateResourcePackList();
|
||||||
|
|
||||||
|
String getCurrentLanguage();
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ public class InjectedModContainer implements ModContainer
|
||||||
|
|
||||||
public InjectedModContainer(ModContainer mc, File source)
|
public InjectedModContainer(ModContainer mc, File source)
|
||||||
{
|
{
|
||||||
this.source = source;
|
this.source = source != null ? source : new File("minecraft.jar");
|
||||||
this.wrappedContainer = mc;
|
this.wrappedContainer = mc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -322,7 +322,6 @@ public class Loader
|
||||||
FMLLog.fine("Building injected Mod Containers %s", injectedContainers);
|
FMLLog.fine("Building injected Mod Containers %s", injectedContainers);
|
||||||
// Add in the MCP mod container
|
// Add in the MCP mod container
|
||||||
mods.add(new InjectedModContainer(mcp,new File("minecraft.jar")));
|
mods.add(new InjectedModContainer(mcp,new File("minecraft.jar")));
|
||||||
File coremod = new File(minecraftDir,"coremods");
|
|
||||||
for (String cont : injectedContainers)
|
for (String cont : injectedContainers)
|
||||||
{
|
{
|
||||||
ModContainer mc;
|
ModContainer mc;
|
||||||
|
@ -335,7 +334,7 @@ public class Loader
|
||||||
FMLLog.log(Level.SEVERE, e, "A problem occured instantiating the injected mod container %s", cont);
|
FMLLog.log(Level.SEVERE, e, "A problem occured instantiating the injected mod container %s", cont);
|
||||||
throw new LoaderException(e);
|
throw new LoaderException(e);
|
||||||
}
|
}
|
||||||
mods.add(new InjectedModContainer(mc,coremod));
|
mods.add(new InjectedModContainer(mc,mc.getSource()));
|
||||||
}
|
}
|
||||||
ModDiscoverer discoverer = new ModDiscoverer();
|
ModDiscoverer discoverer = new ModDiscoverer();
|
||||||
FMLLog.fine("Attempting to load mods contained in the minecraft jar file and associated classes");
|
FMLLog.fine("Attempting to load mods contained in the minecraft jar file and associated classes");
|
||||||
|
|
|
@ -85,6 +85,7 @@ public class FMLSanityChecker implements IFMLCallHook
|
||||||
}
|
}
|
||||||
|
|
||||||
private LaunchClassLoader cl;
|
private LaunchClassLoader cl;
|
||||||
|
public static File fmlLocation;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Void call() throws Exception
|
public Void call() throws Exception
|
||||||
|
@ -239,6 +240,7 @@ public class FMLSanityChecker implements IFMLCallHook
|
||||||
{
|
{
|
||||||
cl = (LaunchClassLoader) data.get("classLoader");
|
cl = (LaunchClassLoader) data.get("classLoader");
|
||||||
File mcDir = (File)data.get("mcLocation");
|
File mcDir = (File)data.get("mcLocation");
|
||||||
|
fmlLocation = (File)data.get("coremodLocation");
|
||||||
FMLDeobfuscatingRemapper.INSTANCE.setup(mcDir, cl, (String) data.get("deobfuscationFileName"));
|
FMLDeobfuscatingRemapper.INSTANCE.setup(mcDir, cl, (String) data.get("deobfuscationFileName"));
|
||||||
ClassPatchManager.INSTANCE.setup(FMLLaunchHandler.side());
|
ClassPatchManager.INSTANCE.setup(FMLLaunchHandler.side());
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,7 @@ import java.util.logging.Level;
|
||||||
|
|
||||||
import com.google.common.base.Charsets;
|
import com.google.common.base.Charsets;
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
import cpw.mods.fml.common.FMLLog;
|
import cpw.mods.fml.common.FMLLog;
|
||||||
import cpw.mods.fml.common.Loader;
|
import cpw.mods.fml.common.Loader;
|
||||||
import cpw.mods.fml.common.ModContainer;
|
import cpw.mods.fml.common.ModContainer;
|
||||||
|
@ -46,7 +47,7 @@ public class LanguageRegistry
|
||||||
|
|
||||||
public String getStringLocalization(String key)
|
public String getStringLocalization(String key)
|
||||||
{
|
{
|
||||||
return getStringLocalization(key, Minecraft.func_71410_x().func_135016_M().func_135041_c().func_135034_a());
|
return getStringLocalization(key, FMLCommonHandler.instance().getCurrentLanguage());
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getStringLocalization(String key, String lang)
|
public String getStringLocalization(String key, String lang)
|
||||||
|
|
|
@ -113,7 +113,7 @@ public class CoreModManager
|
||||||
loadPlugins = new ArrayList<FMLPluginWrapper>();
|
loadPlugins = new ArrayList<FMLPluginWrapper>();
|
||||||
for (String rootPluginName : rootPlugins)
|
for (String rootPluginName : rootPlugins)
|
||||||
{
|
{
|
||||||
loadCoreMod(classLoader, rootPluginName, null);
|
loadCoreMod(classLoader, rootPluginName, new File(FMLTweaker.getJarLocation()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (loadPlugins.isEmpty())
|
if (loadPlugins.isEmpty())
|
||||||
|
|
|
@ -12,7 +12,18 @@
|
||||||
*/
|
*/
|
||||||
package cpw.mods.fml.server;
|
package cpw.mods.fml.server;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
import java.util.zip.ZipEntry;
|
||||||
|
import java.util.zip.ZipFile;
|
||||||
|
|
||||||
|
import org.apache.commons.io.IOUtils;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.MapDifference;
|
import com.google.common.collect.MapDifference;
|
||||||
|
@ -23,8 +34,10 @@ import net.minecraft.network.packet.NetHandler;
|
||||||
import net.minecraft.network.packet.Packet;
|
import net.minecraft.network.packet.Packet;
|
||||||
import net.minecraft.network.packet.Packet131MapData;
|
import net.minecraft.network.packet.Packet131MapData;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
|
import net.minecraft.util.StringTranslate;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import cpw.mods.fml.common.FMLCommonHandler;
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
|
import cpw.mods.fml.common.FMLLog;
|
||||||
import cpw.mods.fml.common.IFMLSidedHandler;
|
import cpw.mods.fml.common.IFMLSidedHandler;
|
||||||
import cpw.mods.fml.common.Loader;
|
import cpw.mods.fml.common.Loader;
|
||||||
import cpw.mods.fml.common.ModContainer;
|
import cpw.mods.fml.common.ModContainer;
|
||||||
|
@ -193,11 +206,63 @@ public class FMLServerHandler implements IFMLSidedHandler
|
||||||
@Override
|
@Override
|
||||||
public void addModAsResource(ModContainer container)
|
public void addModAsResource(ModContainer container)
|
||||||
{
|
{
|
||||||
// NOOP on server
|
File source = container.getSource();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (source.isDirectory())
|
||||||
|
{
|
||||||
|
searchDirForENUSLanguage(source,"");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
searchZipForENUSLanguage(source);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (IOException ioe)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private static final Pattern assetENUSLang = Pattern.compile("assets/(.*)/lang/en_US.lang");
|
||||||
|
private void searchZipForENUSLanguage(File source) throws IOException
|
||||||
|
{
|
||||||
|
ZipFile zf = new ZipFile(source);
|
||||||
|
for (ZipEntry ze : Collections.list(zf.entries()))
|
||||||
|
{
|
||||||
|
Matcher matcher = assetENUSLang.matcher(ze.getName());
|
||||||
|
if (matcher.matches())
|
||||||
|
{
|
||||||
|
FMLLog.fine("Injecting found translation data in zip file %s at %s into language system", source.getName(), ze.getName());
|
||||||
|
StringTranslate.inject(zf.getInputStream(ze));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
zf.close();
|
||||||
|
}
|
||||||
|
private void searchDirForENUSLanguage(File source, String path) throws IOException
|
||||||
|
{
|
||||||
|
for (File file : source.listFiles())
|
||||||
|
{
|
||||||
|
String currPath = path+file.getName();
|
||||||
|
if (file.isDirectory())
|
||||||
|
{
|
||||||
|
searchDirForENUSLanguage(file, currPath+'/');
|
||||||
|
}
|
||||||
|
Matcher matcher = assetENUSLang.matcher(currPath);
|
||||||
|
if (matcher.matches())
|
||||||
|
{
|
||||||
|
FMLLog.fine("Injecting found translation data at %s into language system", currPath);
|
||||||
|
StringTranslate.inject(new FileInputStream(file));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void updateResourcePackList()
|
public void updateResourcePackList()
|
||||||
{
|
{
|
||||||
// NOOP on server
|
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getCurrentLanguage()
|
||||||
|
{
|
||||||
|
return "en_US";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
1169
fml/conf/fields.csv
1169
fml/conf/fields.csv
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -7,6 +7,7 @@
|
||||||
"filePath":"@universal_jar@",
|
"filePath":"@universal_jar@",
|
||||||
"welcome":"Welcome to the simple FML installer.",
|
"welcome":"Welcome to the simple FML installer.",
|
||||||
"minecraft":"@minecraft_version@",
|
"minecraft":"@minecraft_version@",
|
||||||
|
"mirrorList" : "http://files.minecraftforge.net/mirror-brand.list",
|
||||||
"logo":"/big_logo.png"
|
"logo":"/big_logo.png"
|
||||||
},
|
},
|
||||||
"versionInfo": {
|
"versionInfo": {
|
||||||
|
@ -33,6 +34,7 @@
|
||||||
{
|
{
|
||||||
"name": "org.scala-lang:scala-library:2.10.2",
|
"name": "org.scala-lang:scala-library:2.10.2",
|
||||||
"url" : "http://files.minecraftforge.net/maven/",
|
"url" : "http://files.minecraftforge.net/maven/",
|
||||||
|
"checksums" : [ "6ba65d12cd09d441083262d6f73d2257fec7c663", "dffc88e804861c9eaba39283757000b6558ea573" ],
|
||||||
"comment" : "Important for FML, we add this",
|
"comment" : "Important for FML, we add this",
|
||||||
"serverreq":true,
|
"serverreq":true,
|
||||||
"clientreq":true
|
"clientreq":true
|
||||||
|
@ -40,6 +42,7 @@
|
||||||
{
|
{
|
||||||
"name": "org.scala-lang:scala-compiler:2.10.2",
|
"name": "org.scala-lang:scala-compiler:2.10.2",
|
||||||
"url" : "http://files.minecraftforge.net/maven/",
|
"url" : "http://files.minecraftforge.net/maven/",
|
||||||
|
"checksums" : [ "64c8b1380cc53d6850823d6e4e7ae984aa44ef9c", "40281b3ffc69fb385953522c843363ccaf71ba89" ],
|
||||||
"comment" : "Important for FML, we add this",
|
"comment" : "Important for FML, we add this",
|
||||||
"serverreq":true,
|
"serverreq":true,
|
||||||
"clientreq":true
|
"clientreq":true
|
||||||
|
|
|
@ -45,3 +45,11 @@
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -131,7 +146,6 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- @SideOnly(Side.CLIENT)
|
||||||
|
public double func_70318_a(double p_70318_1_, double p_70318_3_, double p_70318_5_)
|
||||||
|
{
|
||||||
|
double d3 = (double)this.field_70329_l + 0.5D - p_70318_1_;
|
||||||
|
|
|
@ -9,7 +9,28 @@
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -45,7 +47,7 @@
|
@@ -23,9 +25,19 @@
|
||||||
|
|
||||||
|
public StringTranslate()
|
||||||
|
{
|
||||||
|
+ InputStream inputstream = StringTranslate.class.getResourceAsStream("/assets/minecraft/lang/en_US.lang");
|
||||||
|
+ localInject(inputstream);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static void inject(InputStream inputstream)
|
||||||
|
+ {
|
||||||
|
+ field_74817_a.localInject(inputstream);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ private void localInject(InputStream inputstream)
|
||||||
|
+ {
|
||||||
|
try
|
||||||
|
{
|
||||||
|
- InputStream inputstream = StringTranslate.class.getResourceAsStream("/assets/minecraft/lang/en_US.lang");
|
||||||
|
Iterator iterator = IOUtils.readLines(inputstream, Charsets.UTF_8).iterator();
|
||||||
|
|
||||||
|
while (iterator.hasNext())
|
||||||
|
@@ -45,7 +57,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue