From ab3413a31ebbfa5d297e3a7a05f2480863931886 Mon Sep 17 00:00:00 2001 From: cpw Date: Fri, 24 Apr 2015 16:00:22 -0400 Subject: [PATCH] Add in resource reloading to the bar. Tidy up some of the labels a bit. --- ...SimpleReloadableResourceManager.java.patch | 46 +++++++++++++++++++ .../cpw/mods/fml/common/LoadController.java | 7 +-- .../main/java/cpw/mods/fml/common/Loader.java | 10 ++-- .../cpw/mods/fml/common/event/FMLEvent.java | 14 ++++-- 4 files changed, 62 insertions(+), 15 deletions(-) create mode 100644 fml/patches/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java.patch diff --git a/fml/patches/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java.patch b/fml/patches/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java.patch new file mode 100644 index 000000000..d83c6637c --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java.patch @@ -0,0 +1,46 @@ +--- ../src-base/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java ++++ ../src-work/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java +@@ -6,16 +6,22 @@ + import com.google.common.collect.Lists; + import com.google.common.collect.Maps; + import com.google.common.collect.Sets; ++ ++import cpw.mods.fml.common.ProgressManager; ++import cpw.mods.fml.common.ProgressManager.ProgressBar; + import cpw.mods.fml.relauncher.Side; + import cpw.mods.fml.relauncher.SideOnly; ++ + import java.io.FileNotFoundException; + import java.io.IOException; + import java.util.Iterator; + import java.util.List; + import java.util.Map; + import java.util.Set; ++ + import net.minecraft.client.resources.data.IMetadataSerializer; + import net.minecraft.util.ResourceLocation; ++ + import org.apache.logging.log4j.LogManager; + import org.apache.logging.log4j.Logger; + +@@ -95,6 +101,7 @@ + public void func_110541_a(List p_110541_1_) + { + this.func_110543_a(); ++ ProgressBar resReload = ProgressManager.push("Resource loading", p_110541_1_.size()); + field_147967_a.info("Reloading ResourceManager: " + field_130074_a.join(Iterables.transform(p_110541_1_, new Function() + { + private static final String __OBFID = "CL_00001092"; +@@ -112,10 +119,12 @@ + while (iterator.hasNext()) + { + IResourcePack iresourcepack = (IResourcePack)iterator.next(); ++ resReload.step(iresourcepack.func_130077_b()); + this.func_110545_a(iresourcepack); + } + + this.func_110544_b(); ++ ProgressManager.pop(resReload); + } + + public void func_110542_a(IResourceManagerReloadListener p_110542_1_) diff --git a/fml/src/main/java/cpw/mods/fml/common/LoadController.java b/fml/src/main/java/cpw/mods/fml/common/LoadController.java index 21c77c2b9..be3604a96 100644 --- a/fml/src/main/java/cpw/mods/fml/common/LoadController.java +++ b/fml/src/main/java/cpw/mods/fml/common/LoadController.java @@ -183,13 +183,10 @@ public class LoadController { modObjectList = buildModObjectList(); } - String event = stateEvent.toString(); - event = event.substring(event.lastIndexOf('.') + 1); - event = event.substring(0, event.indexOf('@')); - ProgressBar bar = ProgressManager.push(event + " propagation", activeModList.size()); + ProgressBar bar = ProgressManager.push(stateEvent.description(), activeModList.size()); for (ModContainer mc : activeModList) { - bar.step("mod: "+mc.getName()); + bar.step(mc.getName()); sendEventToModContainer(stateEvent, mc); } ProgressManager.pop(bar); diff --git a/fml/src/main/java/cpw/mods/fml/common/Loader.java b/fml/src/main/java/cpw/mods/fml/common/Loader.java index 206574fa8..801854b09 100644 --- a/fml/src/main/java/cpw/mods/fml/common/Loader.java +++ b/fml/src/main/java/cpw/mods/fml/common/Loader.java @@ -464,8 +464,8 @@ public class Loader */ public void loadMods() { - progressBar = ProgressManager.push("FML", 5); - progressBar.step("Constructing"); + progressBar = ProgressManager.push("Mod Loading", 5); + progressBar.step("Constructing Mods"); initializeLoader(); mods = Lists.newArrayList(); namedMods = Maps.newHashMap(); @@ -505,7 +505,7 @@ public class Loader { FMLLog.fine("No user mod signature data found"); } - progressBar.step("Preinitialization"); + progressBar.step("Initializing mods Phase 1"); modController.transition(LoaderState.PREINITIALIZATION, false); } @@ -519,7 +519,7 @@ public class Loader ObjectHolderRegistry.INSTANCE.findObjectHolders(discoverer.getASMTable()); modController.distributeStateMessage(LoaderState.PREINITIALIZATION, discoverer.getASMTable(), canonicalConfigDir); ObjectHolderRegistry.INSTANCE.applyObjectHolders(); - progressBar.step("Initialization"); + progressBar.step("Initializing mods Phase 2"); modController.transition(LoaderState.INITIALIZATION, false); } @@ -697,7 +697,7 @@ public class Loader { // Mod controller should be in the initialization state here modController.distributeStateMessage(LoaderState.INITIALIZATION); - progressBar.step("Postinitialization"); + progressBar.step("Initializing mods Phase 3"); modController.transition(LoaderState.POSTINITIALIZATION, false); modController.distributeStateMessage(FMLInterModComms.IMCEvent.class); modController.distributeStateMessage(LoaderState.POSTINITIALIZATION); diff --git a/fml/src/main/java/cpw/mods/fml/common/event/FMLEvent.java b/fml/src/main/java/cpw/mods/fml/common/event/FMLEvent.java index 18c204be8..c9d094f5c 100644 --- a/fml/src/main/java/cpw/mods/fml/common/event/FMLEvent.java +++ b/fml/src/main/java/cpw/mods/fml/common/event/FMLEvent.java @@ -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 */ @@ -20,8 +20,12 @@ public class FMLEvent { return getClass().getSimpleName(); } - - public void applyModContainer(ModContainer activeContainer) { - // NO OP - } + public final String description() + { + String cn = getClass().getName(); + return cn.substring(cn.lastIndexOf('.')+4,cn.length()-5); + } + public void applyModContainer(ModContainer activeContainer) { + // NO OP + } }