added config
Dieser Commit ist enthalten in:
Ursprung
243a8f0002
Commit
f283d822b6
31
src/de/steamwar/realtime/Config.java
Normale Datei
31
src/de/steamwar/realtime/Config.java
Normale Datei
@ -0,0 +1,31 @@
|
|||||||
|
package de.steamwar.realtime;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
public class Config {
|
||||||
|
|
||||||
|
private Config() {}
|
||||||
|
|
||||||
|
private static Realtime instance = Realtime.getInstance();
|
||||||
|
|
||||||
|
//Cache
|
||||||
|
public static final boolean RealTime;
|
||||||
|
public static final boolean RealWeather;
|
||||||
|
|
||||||
|
static {
|
||||||
|
if(!new File(instance.getDataFolder(), "weather.yml").exists()) {
|
||||||
|
instance.saveDefaultConfig();
|
||||||
|
Bukkit.getLogger().log(Level.SEVERE, "Config fehlt!");
|
||||||
|
instance.shutdown(null);
|
||||||
|
}
|
||||||
|
FileConfiguration config = instance.getConfig();
|
||||||
|
RealTime = config.getBoolean("RealTime");
|
||||||
|
RealWeather = config.getBoolean("RealWeather");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -22,17 +22,13 @@ import java.util.Date;
|
|||||||
|
|
||||||
public class Realtime extends JavaPlugin implements Listener {
|
public class Realtime extends JavaPlugin implements Listener {
|
||||||
|
|
||||||
|
private static Realtime instance;
|
||||||
|
|
||||||
DateFormat dateFormat = new SimpleDateFormat("HHmm");
|
DateFormat dateFormat = new SimpleDateFormat("HHmm");
|
||||||
|
|
||||||
WeatherState oldWeatherState = null;
|
WeatherState oldWeatherState = null;
|
||||||
WeatherState weatherState = null;
|
WeatherState weatherState = null;
|
||||||
|
|
||||||
private static Realtime instance;
|
|
||||||
|
|
||||||
public static Realtime getInstance() {
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
instance = this;
|
instance = this;
|
||||||
@ -40,6 +36,7 @@ public class Realtime extends JavaPlugin implements Listener {
|
|||||||
pluginManager.registerEvents(this, this);
|
pluginManager.registerEvents(this, this);
|
||||||
|
|
||||||
//Time updater
|
//Time updater
|
||||||
|
if(Config.RealTime) {
|
||||||
Bukkit.getScheduler().scheduleSyncRepeatingTask(this, () -> {
|
Bukkit.getScheduler().scheduleSyncRepeatingTask(this, () -> {
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
int time = Integer.parseInt((dateFormat.format(date) + "0"));
|
int time = Integer.parseInt((dateFormat.format(date) + "0"));
|
||||||
@ -53,10 +50,13 @@ public class Realtime extends JavaPlugin implements Listener {
|
|||||||
for(World world : Bukkit.getWorlds())
|
for(World world : Bukkit.getWorlds())
|
||||||
world.setTime(time);
|
world.setTime(time);
|
||||||
}, 0, 20 * 60);
|
}, 0, 20 * 60);
|
||||||
|
}
|
||||||
|
|
||||||
//Weather Updater
|
//Weather Updater
|
||||||
|
if(Config.RealWeather) {
|
||||||
Bukkit.getScheduler().scheduleAsyncRepeatingTask(this, () -> updateCurrentWeather(), 0, 20 * 60 * 10); //Die Wetterdaten werden bei OpenWeatherMAP nur alle 10 Minuten erneuert
|
Bukkit.getScheduler().scheduleAsyncRepeatingTask(this, () -> updateCurrentWeather(), 0, 20 * 60 * 10); //Die Wetterdaten werden bei OpenWeatherMAP nur alle 10 Minuten erneuert
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private String jsonString = "";
|
private String jsonString = "";
|
||||||
@ -156,6 +156,15 @@ public class Realtime extends JavaPlugin implements Listener {
|
|||||||
}, 0);
|
}, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void shutdown(final String reason) {
|
||||||
|
Bukkit.getOnlinePlayers().forEach(player -> player.kickPlayer(reason));
|
||||||
|
Bukkit.shutdown();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Realtime getInstance() {
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
enum WeatherState {
|
enum WeatherState {
|
||||||
CLEAR_SKY,
|
CLEAR_SKY,
|
||||||
RAIN,
|
RAIN,
|
||||||
|
2
src/weather.yml
Normale Datei
2
src/weather.yml
Normale Datei
@ -0,0 +1,2 @@
|
|||||||
|
RealTime:
|
||||||
|
RealWeather:
|
In neuem Issue referenzieren
Einen Benutzer sperren