From b5a10c0153a1dc7616c307947cbfb4f70e727f2d Mon Sep 17 00:00:00 2001 From: Christian Weeks Date: Sun, 27 May 2012 07:13:01 -0400 Subject: [PATCH] Add in missing hooks, add branding information to the crash report --- .../cpw/mods/fml/common/FMLCommonHandler.java | 6 +++++- fml/common/cpw/mods/fml/common/Loader.java | 4 +++- .../minecraft/src/PanelCrashReport.java.patch | 5 +++-- .../net/minecraft/src/SlotCrafting.java.patch | 18 ++++++++++++++++++ .../net/minecraft/src/SlotFurnace.java.patch | 19 +++++++++++++++++++ 5 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 fml/patches/minecraft/net/minecraft/src/SlotCrafting.java.patch create mode 100644 fml/patches/minecraft/net/minecraft/src/SlotFurnace.java.patch diff --git a/fml/common/cpw/mods/fml/common/FMLCommonHandler.java b/fml/common/cpw/mods/fml/common/FMLCommonHandler.java index 0dc45405b..3eaf9b19b 100644 --- a/fml/common/cpw/mods/fml/common/FMLCommonHandler.java +++ b/fml/common/cpw/mods/fml/common/FMLCommonHandler.java @@ -444,7 +444,11 @@ public class FMLCommonHandler try { brandings.add((String)Class.forName("forge.MinecraftForge").getMethod("getVersionString").invoke(null)); } catch (Exception ex) { - // Ignore- forge isn't loaded + try { + brandings.add((String)Class.forName("net.minecraft.src.forge.MinecraftForge").getMethod("getVersionString").invoke(null)); + } catch (Exception ex2) { + // Ignore- forge isn't loaded + } } try { Properties props=new Properties(); diff --git a/fml/common/cpw/mods/fml/common/Loader.java b/fml/common/cpw/mods/fml/common/Loader.java index 77bd4c991..a8c3b7e1b 100644 --- a/fml/common/cpw/mods/fml/common/Loader.java +++ b/fml/common/cpw/mods/fml/common/Loader.java @@ -617,7 +617,9 @@ public class Loader public String getCrashInformation() { StringBuffer ret = new StringBuffer(); - ret.append(String.format("Forge Mod Loader version %s.%s.%s.%s for Minecraft %s\n", major, minor, rev, build, mcversion)); + for (String brand : FMLCommonHandler.instance().getBrandingStrings(String.format("Forge Mod Loader version %s.%s.%s.%s for Minecraft %s", major, minor, rev, build, mcversion))) { + ret.append(brand).append("\n"); + } for (ModContainer mod : mods) { ret.append(String.format("\t%s : %s (%s)\n",mod.getName(), mod.getModState(), mod.getSource().getName())); diff --git a/fml/patches/minecraft/net/minecraft/src/PanelCrashReport.java.patch b/fml/patches/minecraft/net/minecraft/src/PanelCrashReport.java.patch index 6c94439c1..c5b65e9a8 100644 --- a/fml/patches/minecraft/net/minecraft/src/PanelCrashReport.java.patch +++ b/fml/patches/minecraft/net/minecraft/src/PanelCrashReport.java.patch @@ -1,6 +1,6 @@ --- ../src-base/minecraft/net/minecraft/src/PanelCrashReport.java 0000-00-00 00:00:00.000000000 -0000 +++ ../src-work/minecraft/net/minecraft/src/PanelCrashReport.java 0000-00-00 00:00:00.000000000 -0000 -@@ -9,13 +9,19 @@ +@@ -9,13 +9,20 @@ import java.io.StringWriter; import java.text.SimpleDateFormat; import java.util.Date; @@ -17,10 +17,11 @@ public PanelCrashReport(UnexpectedThrowable p_i634_1_) { + FMLCommonHandler.instance().getFMLLogger().log(Level.SEVERE, "A critical error has occurred.", p_i634_1_.field_6514_b); ++ FMLCommonHandler.instance().getFMLLogger().log(Level.SEVERE, Loader.instance().getCrashInformation()); this.setBackground(new Color(3028036)); this.setLayout(new BorderLayout()); StringWriter var2 = new StringWriter(); -@@ -43,7 +49,7 @@ +@@ -43,7 +50,7 @@ var5 = var5 + "\n"; var5 = var5 + var3; diff --git a/fml/patches/minecraft/net/minecraft/src/SlotCrafting.java.patch b/fml/patches/minecraft/net/minecraft/src/SlotCrafting.java.patch new file mode 100644 index 000000000..db333675d --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/src/SlotCrafting.java.patch @@ -0,0 +1,18 @@ +--- ../src-base/minecraft/net/minecraft/src/SlotCrafting.java 0000-00-00 00:00:00.000000000 -0000 ++++ ../src-work/minecraft/net/minecraft/src/SlotCrafting.java 0000-00-00 00:00:00.000000000 -0000 +@@ -1,5 +1,7 @@ + package net.minecraft.src; + ++import cpw.mods.fml.client.FMLClientHandler; ++ + public class SlotCrafting extends Slot + { + private final IInventory field_1125_c; +@@ -83,6 +85,7 @@ + + public void func_4103_a(ItemStack p_4103_1_) + { ++ FMLClientHandler.instance().onItemCrafted(field_25015_e, p_4103_1_, field_1118_b); + this.func_48434_c(p_4103_1_); + + for (int var2 = 0; var2 < this.field_1125_c.func_469_c(); ++var2) diff --git a/fml/patches/minecraft/net/minecraft/src/SlotFurnace.java.patch b/fml/patches/minecraft/net/minecraft/src/SlotFurnace.java.patch new file mode 100644 index 000000000..05d905906 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/src/SlotFurnace.java.patch @@ -0,0 +1,19 @@ +--- ../src-base/minecraft/net/minecraft/src/SlotFurnace.java 0000-00-00 00:00:00.000000000 -0000 ++++ ../src-work/minecraft/net/minecraft/src/SlotFurnace.java 0000-00-00 00:00:00.000000000 -0000 +@@ -1,5 +1,7 @@ + package net.minecraft.src; + ++import cpw.mods.fml.client.FMLClientHandler; ++ + public class SlotFurnace extends Slot + { + private EntityPlayer field_27011_d; +@@ -43,6 +45,8 @@ + p_48434_1_.func_48507_a(this.field_27011_d.field_615_ag, this.field_27011_d, this.field_48437_f); + this.field_48437_f = 0; + ++ FMLClientHandler.instance().onItemSmelted(field_27011_d, p_48434_1_); ++ + if (p_48434_1_.field_1617_c == Item.field_223_m.field_291_aS) + { + this.field_27011_d.func_25058_a(AchievementList.field_27385_k, 1);