Compare commits

...
4 Commits
Author SHA1 Message Date
Christian 24d72852e7 Update for MC 1.4.2 2012-10-24 15:12:06 -04:00
Christian cedf3d55d5 Duplicate Mod display screen. 2012-10-24 09:41:46 -04:00
Christian d915f39996 Fix typo in access transformer 2012-10-23 21:21:28 -04:00
Christian 346691c298 Fix the merge for forge 2012-10-23 18:36:05 -04:00
11 changed files with 96 additions and 21 deletions

No files matched your search

@@ -43,6 +43,7 @@ import cpw.mods.fml.client.modloader.ModLoaderClientHelper;
import cpw.mods.fml.client.registry.KeyBindingRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.DummyModContainer;
import cpw.mods.fml.common.DuplicateModsFoundException;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.IFMLSidedHandler;
@@ -109,6 +110,8 @@ public class FMLClientHandler implements IFMLSidedHandler
private CustomModLoadingErrorDisplayException customError;
private DuplicateModsFoundException dupesFound;
/**
* Called to start the whole game off from
* {@link MinecraftServer#startServer}
@@ -151,6 +154,10 @@ public class FMLClientHandler implements IFMLSidedHandler
{
wrongMC = wrong;
}
catch (DuplicateModsFoundException dupes)
{
dupesFound = dupes;
}
catch (MissingModsException missing)
{
modsMissing = missing;
@@ -181,7 +188,7 @@ public class FMLClientHandler implements IFMLSidedHandler
@SuppressWarnings("deprecation")
public void finishMinecraftLoading()
{
if (modsMissing != null || wrongMC != null)
if (modsMissing != null || wrongMC != null || customError!=null || dupesFound!=null)
{
return;
}
@@ -217,6 +224,10 @@ public class FMLClientHandler implements IFMLSidedHandler
{
client.func_71373_a(new GuiModsMissing(modsMissing));
}
else if (dupesFound != null)
{
client.func_71373_a(new GuiDupesFound(dupesFound));
}
else if (customError != null)
{
client.func_71373_a(new GuiCustomModLoadingErrorScreen(customError));
@@ -0,0 +1,44 @@
package cpw.mods.fml.client;
import java.io.File;
import java.util.Map.Entry;
import cpw.mods.fml.common.DuplicateModsFoundException;
import cpw.mods.fml.common.MissingModsException;
import cpw.mods.fml.common.ModContainer;
import cpw.mods.fml.common.versioning.ArtifactVersion;
import net.minecraft.src.GuiErrorScreen;
public class GuiDupesFound extends GuiErrorScreen
{
private DuplicateModsFoundException dupes;
public GuiDupesFound(DuplicateModsFoundException dupes)
{
this.dupes = dupes;
}
@Override
public void func_73866_w_()
{
super.func_73866_w_();
}
@Override
public void func_73863_a(int p_73863_1_, int p_73863_2_, float p_73863_3_)
{
this.func_73873_v_();
int offset = Math.max(85 - dupes.dupes.size() * 10, 10);
this.func_73732_a(this.field_73886_k, "Forge Mod Loader has found a problem with your minecraft installation", this.field_73880_f / 2, offset, 0xFFFFFF);
offset+=10;
this.func_73732_a(this.field_73886_k, "You have mod sources that are duplicate within your system", this.field_73880_f / 2, offset, 0xFFFFFF);
offset+=10;
this.func_73732_a(this.field_73886_k, "Mod Id : File name", this.field_73880_f / 2, offset, 0xFFFFFF);
offset+=5;
for (Entry<ModContainer, File> mc : dupes.dupes.entries())
{
offset+=10;
this.func_73732_a(this.field_73886_k, String.format("%s : %s", mc.getKey().getModId(), mc.getValue().getName()), this.field_73880_f / 2, offset, 0xEEEEEE);
}
}
}
@@ -0,0 +1,16 @@
package cpw.mods.fml.common;
import java.io.File;
import java.util.List;
import com.google.common.collect.SetMultimap;
public class DuplicateModsFoundException extends LoaderException {
public SetMultimap<ModContainer,File> dupes;
public DuplicateModsFoundException(SetMultimap<ModContainer, File> dupes) {
this.dupes = dupes;
}
}
+11 -4
View File
@@ -18,6 +18,7 @@ import java.io.FileReader;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Properties;
@@ -31,14 +32,17 @@ import com.google.common.base.CharMatcher;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.base.Splitter;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableMultiset;
import com.google.common.collect.Iterables;
import com.google.common.collect.LinkedHashMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.SetMultimap;
import com.google.common.collect.Sets;
import com.google.common.collect.Multiset.Entry;
import com.google.common.collect.Multisets;
@@ -341,7 +345,6 @@ public class Loader
private void identifyDuplicates(List<ModContainer> mods)
{
boolean foundDupe = false;
TreeMultimap<ModContainer, File> dupsearch = TreeMultimap.create(new ModIdComparator(), Ordering.arbitrary());
for (ModContainer mc : mods)
{
@@ -352,15 +355,19 @@ public class Loader
}
ImmutableMultiset<ModContainer> duplist = Multisets.copyHighestCountFirst(dupsearch.keys());
SetMultimap<ModContainer, File> dupes = LinkedHashMultimap.create();
for (Entry<ModContainer> e : duplist.entrySet())
{
if (e.getCount() > 1)
{
FMLLog.severe("Found a duplicate mod %s at %s", e.getElement().getModId(), dupsearch.get(e.getElement()));
foundDupe = true;
dupes.putAll(e.getElement(),dupsearch.get(e.getElement()));
}
}
if (foundDupe) { throw new LoaderException(); }
if (!dupes.isEmpty())
{
throw new DuplicateModsFoundException(dupes);
}
}
/**
@@ -451,7 +458,7 @@ public class Loader
{
if (nonMod.isFile())
{
FMLLog.severe("FML has found a non-mod file %s in your mods directory. It will now be injected into your classpath. This could severe stability issues, it should be removed if possible.", nonMod.getName());
FMLLog.info("FML has found a non-mod file %s in your mods directory. It will now be injected into your classpath. This could severe stability issues, it should be removed if possible.", nonMod.getName());
try
{
modClassLoader.addFile(nonMod);
+1 -1
View File
@@ -42,7 +42,7 @@ public ih.cv # EntityPlayerMP/field_71139_cq
# EntityAITaskEntry
public mo
# EntityAITasks
public mmn.a # EntityAITasks/field_75782_a taskList
public mn.a # EntityAITasks/field_75782_a taskList
# BlockChest
public ahy.n(Lxd;III)Z # BlockChest/func_72292_n isOcelotBlockingChest
# EntityLiving
+2
View File
@@ -7602,6 +7602,7 @@ MD: ais/c (Lxo;III)Z net/minecraft/src/BlockFenceGate/func_71918_c (Lnet/minecra
MD: ais/d ()I net/minecraft/src/BlockFenceGate/func_71857_b ()I
MD: ais/e (Lxe;III)Lamr; net/minecraft/src/BlockFenceGate/func_71872_e (Lnet/minecraft/src/World;III)Lnet/minecraft/src/AxisAlignedBB;
MD: ait/a (Lxo;III)V net/minecraft/src/BlockFence/func_71902_a (Lnet/minecraft/src/IBlockAccess;III)V
MD: ait/a (Lxo;IIII)Z net/minecraft/src/BlockFence/func_71877_c (Lnet/minecraft/src/IBlockAccess;IIII)Z
MD: ait/b ()Z net/minecraft/src/BlockFence/func_71886_c ()Z
MD: ait/c ()Z net/minecraft/src/BlockFence/func_71926_d ()Z
MD: ait/c (I)Z net/minecraft/src/BlockFence/func_72249_c (I)Z
@@ -8362,6 +8363,7 @@ MD: als/o ()I net/minecraft/src/BlockVine/func_71933_m ()I
MD: alt/a (II)I net/minecraft/src/BlockWall/func_71858_a (II)I
MD: alt/a (ILsq;Ljava/util/List;)V net/minecraft/src/BlockWall/func_71879_a (ILnet/minecraft/src/CreativeTabs;Ljava/util/List;)V
MD: alt/a (Lxo;III)V net/minecraft/src/BlockWall/func_71902_a (Lnet/minecraft/src/IBlockAccess;III)V
MD: alt/a (Lxo;IIII)Z net/minecraft/src/BlockWall/func_71877_c (Lnet/minecraft/src/IBlockAccess;IIII)Z
MD: alt/b ()Z net/minecraft/src/BlockWall/func_71886_c ()Z
MD: alt/b (I)I net/minecraft/src/BlockWall/func_71899_b (I)I
MD: alt/c ()Z net/minecraft/src/BlockWall/func_71926_d ()Z
+2 -2
View File
@@ -36,8 +36,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 = 542621a5298659dc65f383f35170fc4c
MD5Server = 736ffcb0d9f36d47de96a6923ec82699
MD5Client = 771175c01778ea67395bc6919a5a9dc5
MD5Server = a726380b5546635662d8706dae0586c7
[RETROGUARD]
Location = %(DirRuntime)s/bin/retroguard.jar
-5
View File
@@ -7046,11 +7046,6 @@ p_82869_1_,par1EntityPlayer,2
p_82870_1_,par1EntityPlayer,2
p_82870_2_,par2ItemStack,2
p_82877_1_,par1,2
p_83010_1_,par1World,2
p_83010_2_,par2,2
p_83010_3_,par3,2
p_83010_4_,par4,2
p_83010_5_,par5,2
p_83011_1_,par1World,2
p_83011_2_,par2,2
p_83011_3_,par3,2
1 param name side
7046 p_82870_1_ par1EntityPlayer 2
7047 p_82870_2_ par2ItemStack 2
7048 p_82877_1_ par1 2
p_83010_1_ par1World 2
p_83010_2_ par2 2
p_83010_3_ par3 2
p_83010_4_ par4 2
p_83010_5_ par5 2
7049 p_83011_1_ par1World 2
7050 p_83011_2_ par2 2
7051 p_83011_3_ par3 2
+3 -3
View File
@@ -1,4 +1,4 @@
[VERSION]
MCPVersion = 7.18
ClientVersion = 1.4.1
ServerVersion = 1.4.1
MCPVersion = 7.19
ClientVersion = 1.4.2
ServerVersion = 1.4.2
+2 -2
View File
@@ -61,8 +61,8 @@ def pre_decompile(mcp_dir, fml_dir):
with open(server_jar, 'rb') as fh:
md5_s = md5(fh.read()).hexdigest()
clean_c = "542621a5298659dc65f383f35170fc4c"
clean_s = "736ffcb0d9f36d47de96a6923ec82699"
clean_c = "771175c01778ea67395bc6919a5a9dc5"
clean_s = "a726380b5546635662d8706dae0586c7"
if not md5_c == clean_c:
print 'Warning, Modified Client jar detected'
+3 -3
View File
@@ -1,6 +1,6 @@
>ou
>iZ
>xD
>iz
>xd
>xa
>anh
>anm
@@ -17,4 +17,4 @@
<hr
<hs
<ht
<hu
<hu