SteamWar/RealTime
Archiviert
13
0
Dieser Commit ist enthalten in:
Yaruma3341 2019-12-19 18:05:40 +01:00
Ursprung 5aec7f9872
Commit 7b5ffcfe75
3 geänderte Dateien mit 35 neuen und 29 gelöschten Zeilen

Datei anzeigen

@ -9,6 +9,6 @@
</content> </content>
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="PROVIDED" name="Maven: steamwar:Spigot:1.0" level="project" /> <orderEntry type="library" scope="PROVIDED" name="Maven: steamwar:Spigot:1.12" level="project" />
</component> </component>
</module> </module>

Datei anzeigen

@ -46,7 +46,7 @@
<dependency> <dependency>
<groupId>steamwar</groupId> <groupId>steamwar</groupId>
<artifactId>Spigot</artifactId> <artifactId>Spigot</artifactId>
<version>1.0</version> <version>1.12</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
</dependencies> </dependencies>

Datei anzeigen

@ -8,7 +8,6 @@ import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockFormEvent; import org.bukkit.event.block.BlockFormEvent;
import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
import org.json.simple.JSONArray; import org.json.simple.JSONArray;
import org.json.simple.JSONObject; import org.json.simple.JSONObject;
import org.json.simple.JSONValue; import org.json.simple.JSONValue;
@ -25,12 +24,14 @@ import java.util.Date;
public class Realtime extends JavaPlugin implements Listener { public class Realtime extends JavaPlugin implements Listener {
WeatherState oldWeatherState = null;
WeatherState weatherState = null;
@Override @Override
public void onEnable() { public void onEnable() {
PluginManager pluginManager = Bukkit.getPluginManager(); PluginManager pluginManager = Bukkit.getPluginManager();
pluginManager.registerEvents(this, this); pluginManager.registerEvents(this, this);
WeatherState oldWeatherState = null;
DateFormat dateFormat = new SimpleDateFormat("HHmm"); DateFormat dateFormat = new SimpleDateFormat("HHmm");
@ -46,7 +47,7 @@ public class Realtime extends JavaPlugin implements Listener {
} }
//Wetter //Wetter
WeatherState weatherState = getCurrentWeather(); updateCurrentWeather();
if(oldWeatherState != null && oldWeatherState == weatherState) if(oldWeatherState != null && oldWeatherState == weatherState)
return; return;
@ -78,7 +79,7 @@ public class Realtime extends JavaPlugin implements Listener {
private String jsonString = ""; private String jsonString = "";
public WeatherState getCurrentWeather() { public void updateCurrentWeather() {
/* /*
* https://openweathermap.org/current * https://openweathermap.org/current
@ -98,7 +99,7 @@ public class Realtime extends JavaPlugin implements Listener {
* Thunderstorm: ID 2xx ^ * Thunderstorm: ID 2xx ^
*/ */
new BukkitRunnable() { Bukkit.getScheduler().scheduleAsyncDelayedTask(this, new Runnable() {
InputStream inputStream = null; InputStream inputStream = null;
DataInputStream dataInputStream; DataInputStream dataInputStream;
@ -124,29 +125,34 @@ public class Realtime extends JavaPlugin implements Listener {
} finally { } finally {
IOUtils.closeQuietly(inputStream); IOUtils.closeQuietly(inputStream);
} }
JSONObject jsonObject = (JSONObject) JSONValue.parse(jsonString);
String weather;
JSONArray jsonArray = (JSONArray) jsonObject.get("weather");
JSONObject arrayObject = (JSONObject) jsonArray.get(0);
weather = String.valueOf((int) (long) arrayObject.get("id"));
oldWeatherState = weatherState;
String firstChar = Character.toString(weather.charAt(0));
switch (firstChar) {
case "6":
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;
}
} }
}.runTaskAsynchronously(this); }, 0);
JSONObject jsonObject = (JSONObject) JSONValue.parse(jsonString);
String weather;
JSONArray jsonArray = (JSONArray) jsonObject.get("weather");
JSONObject arrayObject = (JSONObject) jsonArray.get(0);
weather = String.valueOf((int) (long) arrayObject.get("id"));
String firstChar = Character.toString(weather.charAt(0));
switch (firstChar) {
case "6":
return WeatherState.SNOW;
case "5": case "3": //3 = Drizzle
return WeatherState.RAIN;
case "2":
return WeatherState.THUNDER_STORM;
default:
return WeatherState.CLEAR_SKY; //case 8 ebenfalls CLEAR_SKY
}
} }
enum WeatherState { enum WeatherState {