Guest User

Untitled

a guest
Oct 16th, 2020
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.84 KB | None | 0 0
  1. package it.feargames.mythicmobsfixes.fix;
  2.  
  3. import io.lumine.xikage.mythicmobs.MythicMobs;
  4. import io.lumine.xikage.mythicmobs.logging.MythicLogger;
  5. import io.lumine.xikage.mythicmobs.mobs.ActiveMob;
  6. import io.lumine.xikage.mythicmobs.mobs.MobManager;
  7. import io.lumine.xikage.mythicmobs.mobs.MobRegistry;
  8. import io.lumine.xikage.mythicmobs.utils.serialization.WrappedJsonFile;
  9. import it.feargames.mythicmobsfixes.Executors;
  10. import me.yamakaja.runtimetransformer.annotation.Inject;
  11. import me.yamakaja.runtimetransformer.annotation.InjectionType;
  12. import me.yamakaja.runtimetransformer.annotation.Transform;
  13.  
  14. import java.util.ArrayList;
  15. import java.util.List;
  16.  
  17. @Transform(MobManager.class)
  18. public abstract class MobManagerTransformer extends MobManager {
  19.     private WrappedJsonFile<MobRegistry> mobRegistry;
  20.  
  21.     private MobManagerTransformer(MythicMobs core) {
  22.         super(core);
  23.     }
  24.  
  25.     @Override
  26.     @Inject(InjectionType.OVERRIDE)
  27.     public void saveCachedActiveMobs() {
  28.         MythicLogger.debug(MythicLogger.DebugLevel.INFO, "Saving all active Mythic Mobs...");// 636
  29.         MobRegistry registry = mobRegistry.get();
  30.         if (registry != null) {
  31.             List<ActiveMob> mobs = new ArrayList<>(registry.values());
  32.             Executors.getInstance().getFileSaveExecutor().submit(new Runnable() {
  33.                 @Override
  34.                 public void run() {
  35.                     MobRegistry copy = new MobRegistry();
  36.                     for (ActiveMob mob : mobs) {
  37.                         copy.put(mob.getUniqueId(), mob);
  38.                     }
  39.                     MobManagerTransformer.this.saveJson(MobManagerTransformer.this.getModuleFile("active-mobs.json"), copy);
  40.                 }
  41.             });
  42.         }
  43.         MythicLogger.debug(MythicLogger.DebugLevel.INFO, "All active mobs have been saved!");// 640
  44.     }
  45. }
  46.  
Add Comment
Please, Sign In to add comment