|
5 | 5 | */
|
6 | 6 | package de.eldoria.schematictools;
|
7 | 7 |
|
| 8 | +import de.eldoria.eldoutilities.config.template.PluginBaseConfiguration; |
8 | 9 | import de.eldoria.eldoutilities.localization.ILocalizer;
|
9 | 10 | import de.eldoria.eldoutilities.messages.MessageSender;
|
10 | 11 | import de.eldoria.eldoutilities.plugin.EldoPlugin;
|
| 12 | +import de.eldoria.eldoutilities.updater.lynaupdater.LynaUpdateChecker; |
| 13 | +import de.eldoria.eldoutilities.updater.lynaupdater.LynaUpdateData; |
11 | 14 | import de.eldoria.messageblocker.MessageBlockerAPI;
|
12 | 15 | import de.eldoria.schematicbrush.SchematicBrushReborn;
|
13 | 16 | import de.eldoria.schematictools.commands.BaseCommand;
|
14 | 17 | import de.eldoria.schematictools.configuration.Configuration;
|
| 18 | +import de.eldoria.schematictools.configuration.JacksonConfiguration; |
| 19 | +import de.eldoria.schematictools.configuration.LegacyConfiguration; |
15 | 20 | import de.eldoria.schematictools.configuration.elements.Tool;
|
16 | 21 | import de.eldoria.schematictools.configuration.elements.ToolRemoval;
|
17 | 22 | import de.eldoria.schematictools.configuration.elements.Tools;
|
|
20 | 25 | import org.bukkit.configuration.serialization.ConfigurationSerializable;
|
21 | 26 |
|
22 | 27 | import java.util.List;
|
| 28 | +import java.util.logging.Level; |
23 | 29 |
|
24 | 30 | public class SchematicTools extends EldoPlugin {
|
25 |
| - private Configuration configuration; |
| 31 | + private JacksonConfiguration configuration; |
26 | 32 |
|
27 | 33 | @Override
|
28 | 34 | public void onPluginEnable() throws Throwable {
|
29 | 35 | var sbr = SchematicBrushReborn.instance();
|
30 | 36 | var messageSender = MessageSender.create(this, "§6[ST]");
|
31 | 37 | var messageBlocker = MessageBlockerAPI.builder(this).addWhitelisted("[ST]").build();
|
32 | 38 | ILocalizer.create(this, "en_US").setLocale("en_US");
|
33 |
| - configuration = new Configuration(this); |
| 39 | + configuration = new JacksonConfiguration(this); |
| 40 | + PluginBaseConfiguration base = configuration.secondary(PluginBaseConfiguration.KEY); |
| 41 | + if (base.version() == 0) { |
| 42 | + var legacyConfiguration = new LegacyConfiguration(this); |
| 43 | + getLogger().log(Level.INFO, "Migrating configuration to jackson."); |
| 44 | + configuration.main().toolRemoval(legacyConfiguration.toolRemoval()); |
| 45 | + configuration.replace(JacksonConfiguration.TOOLS, legacyConfiguration.tools()); |
| 46 | + base.version(1); |
| 47 | + base.lastInstalledVersion(this); |
| 48 | + configuration.save(); |
| 49 | + } |
| 50 | + |
| 51 | + if (configuration.main().updateCheck()) { |
| 52 | + LynaUpdateChecker.lyna(LynaUpdateData.builder(this, 6).build()).start(); |
| 53 | + } |
34 | 54 |
|
35 | 55 | registerCommand(new BaseCommand(this, sbr, configuration, messageBlocker));
|
36 | 56 |
|
|
0 commit comments