Advertisement
Guest User

Untitled

a guest
Oct 16th, 2020
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.87 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.spawning.spawners.MythicSpawner;
  6. import io.lumine.xikage.mythicmobs.spawning.spawners.SpawnerManager;
  7. import it.feargames.mythicmobsfixes.Executors;
  8. import me.yamakaja.runtimetransformer.annotation.Inject;
  9. import me.yamakaja.runtimetransformer.annotation.InjectionType;
  10. import me.yamakaja.runtimetransformer.annotation.Transform;
  11. import org.bukkit.configuration.file.FileConfiguration;
  12. import org.bukkit.configuration.file.YamlConfiguration;
  13.  
  14. import java.io.File;
  15. import java.io.IOException;
  16.  
  17. @Transform(SpawnerManager.class)
  18. public abstract class SpawnerManagerTransformer extends SpawnerManager {
  19.     private final MythicMobs core = null;
  20.  
  21.     private SpawnerManagerTransformer(MythicMobs core) {
  22.         super(core);
  23.     }
  24.  
  25.     @Inject(InjectionType.OVERRIDE)
  26.     private boolean saveSpawner(MythicSpawner ms) {
  27.         String name = ms.getName();
  28.         if (name.startsWith("Temp#")) {// 152
  29.             return true;// 153
  30.         }
  31.  
  32.         File spawnersFolder = new File(core.getDataFolder(), "Spawners");
  33.         File spawnerFile = new File(spawnersFolder, ms.getName() + ".yml");// 158
  34.  
  35.         FileConfiguration spawner = new YamlConfiguration();// 169
  36.         spawner.set(ms.getName() + ".SpawnerGroup", ms.getGroup());// 171
  37.         spawner.set(ms.getName() + ".MobName", ms.getTypeName());// 172
  38.         spawner.set(ms.getName() + ".World", ms.getWorldName());// 173
  39.         spawner.set(ms.getName() + ".X", ms.getBlockX());// 174
  40.         spawner.set(ms.getName() + ".Y", ms.getBlockY());// 175
  41.         spawner.set(ms.getName() + ".Z", ms.getBlockZ());// 176
  42.         spawner.set(ms.getName() + ".Radius", ms.getSpawnRadius());// 177
  43.         spawner.set(ms.getName() + ".UseTimer", ms.getUseTimer());// 178
  44.         spawner.set(ms.getName() + ".MaxMobs", ms.getMaxMobs().serialize());// 179
  45.         spawner.set(ms.getName() + ".MobLevel", ms.getMobLevel().toString());// 180
  46.         spawner.set(ms.getName() + ".MobsPerSpawn", ms.getMobsPerSpawn());// 181
  47.         spawner.set(ms.getName() + ".Cooldown", ms.getCooldownSeconds());// 182
  48.         spawner.set(ms.getName() + ".CooldownTimer", ms.getRemainingCooldownSeconds());// 183
  49.         spawner.set(ms.getName() + ".Warmup", ms.getWarmupSeconds());// 184
  50.         spawner.set(ms.getName() + ".WarmupTimer", ms.getRemainingWarmupSeconds());// 185
  51.         spawner.set(ms.getName() + ".CheckForPlayers", ms.isCheckForPlayers());// 186
  52.         spawner.set(ms.getName() + ".ActivationRange", ms.getActivationRange());// 187
  53.         spawner.set(ms.getName() + ".ScalingRange", ms.getScalingRange());// 188
  54.         spawner.set(ms.getName() + ".LeashRange", ms.getLeashRange());// 189
  55.         spawner.set(ms.getName() + ".HealOnLeash", ms.isHealOnLeash());// 190
  56.         spawner.set(ms.getName() + ".ResetThreatOnLeash", ms.isLeashResetsThreat());// 191
  57.         spawner.set(ms.getName() + ".ShowFlames", ms.isShowFlames());// 192
  58.         spawner.set(ms.getName() + ".Breakable", ms.isBreakable());// 193
  59.         spawner.set(ms.getName() + ".Conditions", ms.getConditionList());// 194
  60.         spawner.set(ms.getName() + ".ActiveMobs", ms.getAssociatedMobs().size());// 195
  61.         spawner.set(ms.getName() + ".ActiveMobs", ms.getAssociatedMobs().size());// 195
  62.  
  63.         Executors.getInstance().getFileSaveExecutor().submit(new Runnable() {
  64.             @Override
  65.             public void run() {
  66.                 try {
  67.                     spawner.save(spawnerFile);// 198
  68.                 } catch (IOException var5) {// 199
  69.                     MythicLogger.error("Could not save configuration for spawner: " + name);// 200
  70.                     var5.printStackTrace();// 201
  71.                 }
  72.             }
  73.         });
  74.  
  75.         return true;// 203
  76.     }
  77. }
  78.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement