Commit 303ac2af790baa4f0da6882716017b569ac34193
1 parent
d19241ae
convert observer list in LiteLoaderMods to HandlerList
Showing
1 changed file
with
9 additions
and
22 deletions
java/common/com/mumfrey/liteloader/core/LiteLoaderMods.java
... | ... | @@ -15,6 +15,8 @@ import net.minecraft.client.resources.IResourcePack; |
15 | 15 | import com.mumfrey.liteloader.LiteMod; |
16 | 16 | import com.mumfrey.liteloader.api.ModLoadObserver; |
17 | 17 | import com.mumfrey.liteloader.common.LoadingProgress; |
18 | +import com.mumfrey.liteloader.core.event.HandlerList; | |
19 | +import com.mumfrey.liteloader.interfaces.FastIterableDeque; | |
18 | 20 | import com.mumfrey.liteloader.interfaces.Loadable; |
19 | 21 | import com.mumfrey.liteloader.interfaces.LoadableMod; |
20 | 22 | import com.mumfrey.liteloader.interfaces.LoaderEnumerator; |
... | ... | @@ -64,7 +66,7 @@ public class LiteLoaderMods |
64 | 66 | /** |
65 | 67 | * Mod load observers |
66 | 68 | */ |
67 | - private List<ModLoadObserver> observers; | |
69 | + private FastIterableDeque<ModLoadObserver> observers = new HandlerList<ModLoadObserver>(ModLoadObserver.class); | |
68 | 70 | |
69 | 71 | /** |
70 | 72 | * List of loaded mods, for crash reporting |
... | ... | @@ -104,7 +106,7 @@ public class LiteLoaderMods |
104 | 106 | |
105 | 107 | void init(List<ModLoadObserver> observers) |
106 | 108 | { |
107 | - this.observers = observers; | |
109 | + this.observers.addAll(observers); | |
108 | 110 | this.disabledMods.addAll(this.enumerator.getDisabledContainers()); |
109 | 111 | } |
110 | 112 | |
... | ... | @@ -500,10 +502,7 @@ public class LiteLoaderMods |
500 | 502 | */ |
501 | 503 | void onModLoaded(Mod mod) |
502 | 504 | { |
503 | - for (ModLoadObserver observer : this.observers) | |
504 | - { | |
505 | - observer.onModLoaded(mod.getMod()); | |
506 | - } | |
505 | + this.observers.all().onModLoaded(mod.getMod()); | |
507 | 506 | |
508 | 507 | this.allMods.add(mod); |
509 | 508 | this.initMods.add(mod); |
... | ... | @@ -532,10 +531,7 @@ public class LiteLoaderMods |
532 | 531 | this.disabledMods.add(new NonMod(container, false)); |
533 | 532 | } |
534 | 533 | |
535 | - for (ModLoadObserver observer : this.observers) | |
536 | - { | |
537 | - observer.onModLoadFailed(container, identifier, reason, th); | |
538 | - } | |
534 | + this.observers.all().onModLoadFailed(container, identifier, reason, th); | |
539 | 535 | } |
540 | 536 | |
541 | 537 | /** |
... | ... | @@ -591,10 +587,7 @@ public class LiteLoaderMods |
591 | 587 | */ |
592 | 588 | private void onPreInitMod(LiteMod instance) |
593 | 589 | { |
594 | - for (ModLoadObserver observer : this.observers) | |
595 | - { | |
596 | - observer.onPreInitMod(instance); | |
597 | - } | |
590 | + this.observers.all().onPreInitMod(instance); | |
598 | 591 | |
599 | 592 | // register mod config panel if configurable |
600 | 593 | this.configManager.registerMod(instance); |
... | ... | @@ -617,10 +610,7 @@ public class LiteLoaderMods |
617 | 610 | */ |
618 | 611 | private void onPostInitMod(LiteMod instance) |
619 | 612 | { |
620 | - for (ModLoadObserver observer : this.observers) | |
621 | - { | |
622 | - observer.onPostInitMod(instance); | |
623 | - } | |
613 | + this.observers.all().onPostInitMod(instance); | |
624 | 614 | |
625 | 615 | // add the mod to all relevant listener queues |
626 | 616 | LiteLoader.getInterfaceManager().offer(instance); |
... | ... | @@ -646,10 +636,7 @@ public class LiteLoaderMods |
646 | 636 | |
647 | 637 | LiteLoaderLogger.info("Performing config upgrade for mod %s. Upgrading %s to %s...", instance.getName(), lastModVersion, LiteLoaderVersion.CURRENT); |
648 | 638 | |
649 | - for (ModLoadObserver observer : this.observers) | |
650 | - { | |
651 | - observer.onMigrateModConfig(instance, newConfigPath, oldConfigPath); | |
652 | - } | |
639 | + this.observers.all().onMigrateModConfig(instance, newConfigPath, oldConfigPath); | |
653 | 640 | |
654 | 641 | // Migrate versioned config if any is present |
655 | 642 | this.configManager.migrateModConfig(instance, newConfigPath, oldConfigPath); | ... | ... |