closes #1 realtime weather #2
@ -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>
|
2
pom.xml
2
pom.xml
@ -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>
|
||||||
|
@ -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,8 +125,6 @@ public class Realtime extends JavaPlugin implements Listener {
|
|||||||
} finally {
|
} finally {
|
||||||
IOUtils.closeQuietly(inputStream);
|
IOUtils.closeQuietly(inputStream);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}.runTaskAsynchronously(this);
|
|
||||||
|
|
||||||
|
|
||||||
JSONObject jsonObject = (JSONObject) JSONValue.parse(jsonString);
|
JSONObject jsonObject = (JSONObject) JSONValue.parse(jsonString);
|
||||||
@ -136,18 +135,25 @@ public class Realtime extends JavaPlugin implements Listener {
|
|||||||
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;
|
||||||
String firstChar = Character.toString(weather.charAt(0));
|
String firstChar = Character.toString(weather.charAt(0));
|
||||||
switch (firstChar) {
|
switch (firstChar) {
|
||||||
case "6":
|
case "6":
|
||||||
return WeatherState.SNOW;
|
weatherState = WeatherState.SNOW;
|
||||||
|
break;
|
||||||
case "5": case "3": //3 = Drizzle
|
case "5": case "3": //3 = Drizzle
|
||||||
return WeatherState.RAIN;
|
weatherState = WeatherState.RAIN;
|
||||||
|
break;
|
||||||
case "2":
|
case "2":
|
||||||
return WeatherState.THUNDER_STORM;
|
weatherState = WeatherState.THUNDER_STORM;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return WeatherState.CLEAR_SKY; //case 8 ebenfalls CLEAR_SKY
|
weatherState = WeatherState.CLEAR_SKY; //case 8 ebenfalls CLEAR_SKY
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}, 0);
|
||||||
|
}
|
||||||
|
|
||||||
enum WeatherState {
|
enum WeatherState {
|
||||||
CLEAR_SKY,
|
CLEAR_SKY,
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren
iml bitte entfernen