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,6 +15,8 @@ import net.minecraft.client.resources.IResourcePack; | ||
15 | import com.mumfrey.liteloader.LiteMod; | 15 | import com.mumfrey.liteloader.LiteMod; |
16 | import com.mumfrey.liteloader.api.ModLoadObserver; | 16 | import com.mumfrey.liteloader.api.ModLoadObserver; |
17 | import com.mumfrey.liteloader.common.LoadingProgress; | 17 | import com.mumfrey.liteloader.common.LoadingProgress; |
18 | +import com.mumfrey.liteloader.core.event.HandlerList; | ||
19 | +import com.mumfrey.liteloader.interfaces.FastIterableDeque; | ||
18 | import com.mumfrey.liteloader.interfaces.Loadable; | 20 | import com.mumfrey.liteloader.interfaces.Loadable; |
19 | import com.mumfrey.liteloader.interfaces.LoadableMod; | 21 | import com.mumfrey.liteloader.interfaces.LoadableMod; |
20 | import com.mumfrey.liteloader.interfaces.LoaderEnumerator; | 22 | import com.mumfrey.liteloader.interfaces.LoaderEnumerator; |
@@ -64,7 +66,7 @@ public class LiteLoaderMods | @@ -64,7 +66,7 @@ public class LiteLoaderMods | ||
64 | /** | 66 | /** |
65 | * Mod load observers | 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 | * List of loaded mods, for crash reporting | 72 | * List of loaded mods, for crash reporting |
@@ -104,7 +106,7 @@ public class LiteLoaderMods | @@ -104,7 +106,7 @@ public class LiteLoaderMods | ||
104 | 106 | ||
105 | void init(List<ModLoadObserver> observers) | 107 | void init(List<ModLoadObserver> observers) |
106 | { | 108 | { |
107 | - this.observers = observers; | 109 | + this.observers.addAll(observers); |
108 | this.disabledMods.addAll(this.enumerator.getDisabledContainers()); | 110 | this.disabledMods.addAll(this.enumerator.getDisabledContainers()); |
109 | } | 111 | } |
110 | 112 | ||
@@ -500,10 +502,7 @@ public class LiteLoaderMods | @@ -500,10 +502,7 @@ public class LiteLoaderMods | ||
500 | */ | 502 | */ |
501 | void onModLoaded(Mod mod) | 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 | this.allMods.add(mod); | 507 | this.allMods.add(mod); |
509 | this.initMods.add(mod); | 508 | this.initMods.add(mod); |
@@ -532,10 +531,7 @@ public class LiteLoaderMods | @@ -532,10 +531,7 @@ public class LiteLoaderMods | ||
532 | this.disabledMods.add(new NonMod(container, false)); | 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,10 +587,7 @@ public class LiteLoaderMods | ||
591 | */ | 587 | */ |
592 | private void onPreInitMod(LiteMod instance) | 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 | // register mod config panel if configurable | 592 | // register mod config panel if configurable |
600 | this.configManager.registerMod(instance); | 593 | this.configManager.registerMod(instance); |
@@ -617,10 +610,7 @@ public class LiteLoaderMods | @@ -617,10 +610,7 @@ public class LiteLoaderMods | ||
617 | */ | 610 | */ |
618 | private void onPostInitMod(LiteMod instance) | 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 | // add the mod to all relevant listener queues | 615 | // add the mod to all relevant listener queues |
626 | LiteLoader.getInterfaceManager().offer(instance); | 616 | LiteLoader.getInterfaceManager().offer(instance); |
@@ -646,10 +636,7 @@ public class LiteLoaderMods | @@ -646,10 +636,7 @@ public class LiteLoaderMods | ||
646 | 636 | ||
647 | LiteLoaderLogger.info("Performing config upgrade for mod %s. Upgrading %s to %s...", instance.getName(), lastModVersion, LiteLoaderVersion.CURRENT); | 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 | // Migrate versioned config if any is present | 641 | // Migrate versioned config if any is present |
655 | this.configManager.migrateModConfig(instance, newConfigPath, oldConfigPath); | 642 | this.configManager.migrateModConfig(instance, newConfigPath, oldConfigPath); |