Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package it.feargames.mythicmobsfixes.fix;
- import io.lumine.xikage.mythicmobs.MythicMobs;
- import io.lumine.xikage.mythicmobs.logging.MythicLogger;
- import io.lumine.xikage.mythicmobs.spawning.spawners.MythicSpawner;
- import io.lumine.xikage.mythicmobs.spawning.spawners.SpawnerManager;
- import it.feargames.mythicmobsfixes.Executors;
- import me.yamakaja.runtimetransformer.annotation.Inject;
- import me.yamakaja.runtimetransformer.annotation.InjectionType;
- import me.yamakaja.runtimetransformer.annotation.Transform;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.configuration.file.YamlConfiguration;
- import java.io.File;
- import java.io.IOException;
- @Transform(SpawnerManager.class)
- public abstract class SpawnerManagerTransformer extends SpawnerManager {
- private final MythicMobs core = null;
- private SpawnerManagerTransformer(MythicMobs core) {
- super(core);
- }
- @Inject(InjectionType.OVERRIDE)
- private boolean saveSpawner(MythicSpawner ms) {
- String name = ms.getName();
- if (name.startsWith("Temp#")) {// 152
- return true;// 153
- }
- File spawnersFolder = new File(core.getDataFolder(), "Spawners");
- File spawnerFile = new File(spawnersFolder, ms.getName() + ".yml");// 158
- FileConfiguration spawner = new YamlConfiguration();// 169
- spawner.set(ms.getName() + ".SpawnerGroup", ms.getGroup());// 171
- spawner.set(ms.getName() + ".MobName", ms.getTypeName());// 172
- spawner.set(ms.getName() + ".World", ms.getWorldName());// 173
- spawner.set(ms.getName() + ".X", ms.getBlockX());// 174
- spawner.set(ms.getName() + ".Y", ms.getBlockY());// 175
- spawner.set(ms.getName() + ".Z", ms.getBlockZ());// 176
- spawner.set(ms.getName() + ".Radius", ms.getSpawnRadius());// 177
- spawner.set(ms.getName() + ".UseTimer", ms.getUseTimer());// 178
- spawner.set(ms.getName() + ".MaxMobs", ms.getMaxMobs().serialize());// 179
- spawner.set(ms.getName() + ".MobLevel", ms.getMobLevel().toString());// 180
- spawner.set(ms.getName() + ".MobsPerSpawn", ms.getMobsPerSpawn());// 181
- spawner.set(ms.getName() + ".Cooldown", ms.getCooldownSeconds());// 182
- spawner.set(ms.getName() + ".CooldownTimer", ms.getRemainingCooldownSeconds());// 183
- spawner.set(ms.getName() + ".Warmup", ms.getWarmupSeconds());// 184
- spawner.set(ms.getName() + ".WarmupTimer", ms.getRemainingWarmupSeconds());// 185
- spawner.set(ms.getName() + ".CheckForPlayers", ms.isCheckForPlayers());// 186
- spawner.set(ms.getName() + ".ActivationRange", ms.getActivationRange());// 187
- spawner.set(ms.getName() + ".ScalingRange", ms.getScalingRange());// 188
- spawner.set(ms.getName() + ".LeashRange", ms.getLeashRange());// 189
- spawner.set(ms.getName() + ".HealOnLeash", ms.isHealOnLeash());// 190
- spawner.set(ms.getName() + ".ResetThreatOnLeash", ms.isLeashResetsThreat());// 191
- spawner.set(ms.getName() + ".ShowFlames", ms.isShowFlames());// 192
- spawner.set(ms.getName() + ".Breakable", ms.isBreakable());// 193
- spawner.set(ms.getName() + ".Conditions", ms.getConditionList());// 194
- spawner.set(ms.getName() + ".ActiveMobs", ms.getAssociatedMobs().size());// 195
- spawner.set(ms.getName() + ".ActiveMobs", ms.getAssociatedMobs().size());// 195
- Executors.getInstance().getFileSaveExecutor().submit(new Runnable() {
- @Override
- public void run() {
- try {
- spawner.save(spawnerFile);// 198
- } catch (IOException var5) {// 199
- MythicLogger.error("Could not save configuration for spawner: " + name);// 200
- var5.printStackTrace();// 201
- }
- }
- });
- return true;// 203
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement