code cleanup
Dieser Commit ist enthalten in:
Ursprung
31aefc3773
Commit
243a8f0002
@ -55,7 +55,7 @@ public class Realtime extends JavaPlugin implements Listener {
|
|||||||
}, 0, 20 * 60);
|
}, 0, 20 * 60);
|
||||||
|
|
||||||
//Weather Updater
|
//Weather Updater
|
||||||
Bukkit.getScheduler().scheduleSyncRepeatingTask(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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -81,81 +81,77 @@ public class Realtime extends JavaPlugin implements Listener {
|
|||||||
* Thunderstorm: ID 2xx ^
|
* Thunderstorm: ID 2xx ^
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Bukkit.getScheduler().scheduleAsyncDelayedTask(this, new Runnable() {
|
InputStream inputStream = null;
|
||||||
InputStream inputStream = null;
|
DataInputStream dataInputStream;
|
||||||
DataInputStream dataInputStream;
|
|
||||||
|
|
||||||
@Override
|
try {
|
||||||
public void run() {
|
URL url = new URL("http://api.openweathermap.org/data/2.5/weather?id=2934245&APPID=16e8ffada1fbdbe3f3903802b0785751");
|
||||||
try {
|
inputStream = url.openStream();
|
||||||
URL url = new URL("http://api.openweathermap.org/data/2.5/weather?id=2934245&APPID=16e8ffada1fbdbe3f3903802b0785751");
|
|
||||||
inputStream = url.openStream();
|
|
||||||
|
|
||||||
dataInputStream = new DataInputStream(new BufferedInputStream(inputStream));
|
dataInputStream = new DataInputStream(new BufferedInputStream(inputStream));
|
||||||
|
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
String inputLine;
|
String inputLine;
|
||||||
|
|
||||||
while ((inputLine = dataInputStream.readLine()) != null) {
|
while ((inputLine = dataInputStream.readLine()) != null) {
|
||||||
stringBuilder.append(inputLine);
|
stringBuilder.append(inputLine);
|
||||||
}
|
}
|
||||||
jsonString = stringBuilder.toString();
|
jsonString = stringBuilder.toString();
|
||||||
} catch (MalformedURLException ex) {
|
} catch (MalformedURLException ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
} finally {
|
} finally {
|
||||||
IOUtils.closeQuietly(inputStream);
|
IOUtils.closeQuietly(inputStream);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
JSONObject jsonObject = (JSONObject) JSONValue.parse(jsonString);
|
JSONObject jsonObject = (JSONObject) JSONValue.parse(jsonString);
|
||||||
|
|
||||||
String weather;
|
String weather;
|
||||||
|
|
||||||
JSONArray jsonArray = (JSONArray) jsonObject.get("weather");
|
JSONArray jsonArray = (JSONArray) jsonObject.get("weather");
|
||||||
JSONObject arrayObject = (JSONObject) jsonArray.get(0);
|
JSONObject arrayObject = (JSONObject) jsonArray.get(0);
|
||||||
weather = String.valueOf((int) (long) arrayObject.get("id"));
|
weather = String.valueOf((int) (long) arrayObject.get("id"));
|
||||||
|
|
||||||
oldWeatherState = weatherState;
|
oldWeatherState = weatherState;
|
||||||
String firstChar = Character.toString(weather.charAt(0));
|
String firstChar = Character.toString(weather.charAt(0));
|
||||||
switch (firstChar) {
|
switch (firstChar) {
|
||||||
case "6":
|
case "6":
|
||||||
weatherState = WeatherState.SNOW;
|
weatherState = WeatherState.SNOW;
|
||||||
|
break;
|
||||||
|
case "5": case "3": //3 = Drizzle
|
||||||
|
weatherState = WeatherState.RAIN;
|
||||||
|
break;
|
||||||
|
case "2":
|
||||||
|
weatherState = WeatherState.THUNDER_STORM;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
weatherState = WeatherState.CLEAR_SKY; //case 8 ebenfalls CLEAR_SKY
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Weltänderungen
|
||||||
|
Bukkit.getScheduler().scheduleSyncDelayedTask(getInstance(), () -> {
|
||||||
|
if(oldWeatherState != null && oldWeatherState == weatherState)
|
||||||
|
return;
|
||||||
|
|
||||||
|
for(World world : Bukkit.getWorlds()) {
|
||||||
|
switch (weatherState) {
|
||||||
|
case CLEAR_SKY:
|
||||||
|
world.setThundering(false);
|
||||||
|
world.setStorm(false);
|
||||||
break;
|
break;
|
||||||
case "5": case "3": //3 = Drizzle
|
case RAIN:
|
||||||
weatherState = WeatherState.RAIN;
|
case SNOW:
|
||||||
|
world.setThundering(false);
|
||||||
|
world.setStorm(true);
|
||||||
break;
|
break;
|
||||||
case "2":
|
case THUNDER_STORM:
|
||||||
weatherState = WeatherState.THUNDER_STORM;
|
world.setThundering(true);
|
||||||
break;
|
world.setStorm(true);
|
||||||
default:
|
|
||||||
weatherState = WeatherState.CLEAR_SKY; //case 8 ebenfalls CLEAR_SKY
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Weltänderungen
|
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(getInstance(), () -> {
|
|
||||||
if(oldWeatherState != null && oldWeatherState == weatherState)
|
|
||||||
return;
|
|
||||||
|
|
||||||
for(World world : Bukkit.getWorlds()) {
|
|
||||||
switch (weatherState) {
|
|
||||||
case CLEAR_SKY:
|
|
||||||
world.setThundering(false);
|
|
||||||
world.setStorm(false);
|
|
||||||
break;
|
|
||||||
case RAIN: case SNOW:
|
|
||||||
world.setThundering(false);
|
|
||||||
world.setStorm(true);
|
|
||||||
break;
|
|
||||||
case THUNDER_STORM:
|
|
||||||
world.setThundering(true);
|
|
||||||
world.setStorm(true);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}, 0);
|
|
||||||
}
|
}
|
||||||
}, 0);
|
}, 0);
|
||||||
}
|
}
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren