From 5aec7f98720aa3a148ea77b814b49933ea23c704 Mon Sep 17 00:00:00 2001 From: Yaruma3341 Date: Thu, 19 Dec 2019 17:10:26 +0100 Subject: [PATCH] cleanup --- .gitignore | 1 + pom.xml | 12 ++-- src/de/steamwar/realtime/Realtime.java | 77 ++++++++++++++++---------- 3 files changed, 56 insertions(+), 34 deletions(-) diff --git a/.gitignore b/.gitignore index ee44a96..18f0443 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .idea target +*.iml \ No newline at end of file diff --git a/pom.xml b/pom.xml index e9f4ae3..6519705 100644 --- a/pom.xml +++ b/pom.xml @@ -43,11 +43,11 @@ - - steamwar - Spigot - 1.0 - provided - + + steamwar + Spigot + 1.0 + provided + \ No newline at end of file diff --git a/src/de/steamwar/realtime/Realtime.java b/src/de/steamwar/realtime/Realtime.java index 47a86fa..ca036c4 100644 --- a/src/de/steamwar/realtime/Realtime.java +++ b/src/de/steamwar/realtime/Realtime.java @@ -3,7 +3,12 @@ package de.steamwar.realtime; import org.apache.commons.io.IOUtils; import org.bukkit.Bukkit; import org.bukkit.World; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.block.BlockFormEvent; +import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; +import org.bukkit.scheduler.BukkitRunnable; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.JSONValue; @@ -18,19 +23,19 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; -public class Realtime extends JavaPlugin { +public class Realtime extends JavaPlugin implements Listener { @Override - public void onEnable(){ - Bukkit.getScheduler().scheduleSyncRepeatingTask(this, () -> { - /*Date time = Calendar.getInstance().getTime(); - long l = time.getHours() * 1000 + (long)(time.getMinutes() * 16.66666666666667) + (long)(time.getSeconds() * 0.1666666666666667) - 6000; - for(World w : Bukkit.getWorlds()){ - w.setTime(l); - }*/ + public void onEnable() { + PluginManager pluginManager = Bukkit.getPluginManager(); + pluginManager.registerEvents(this, this); + WeatherState oldWeatherState = null; + + DateFormat dateFormat = new SimpleDateFormat("HHmm"); + + Bukkit.getScheduler().scheduleSyncRepeatingTask(this, () -> { //Zeit - DateFormat dateFormat = new SimpleDateFormat("HHmm"); Date date = new Date(); int time = Integer.parseInt((dateFormat.format(date) + "0")); @@ -42,6 +47,8 @@ public class Realtime extends JavaPlugin { //Wetter WeatherState weatherState = getCurrentWeather(); + if(oldWeatherState != null && oldWeatherState == weatherState) + return; for(World world : Bukkit.getWorlds()) { @@ -69,6 +76,8 @@ public class Realtime extends JavaPlugin { }, 0, 20 * 60); } + + private String jsonString = ""; public WeatherState getCurrentWeather() { /* @@ -88,29 +97,36 @@ public class Realtime extends JavaPlugin { * Drizzle (Nieselregen): ID 3xx -> ^ * Thunderstorm: ID 2xx ^ */ - InputStream inputStream = null; - DataInputStream dataInputStream; - String jsonString = ""; - try { - URL url = new URL("http://api.openweathermap.org/data/2.5/weather?id=2950159&APPID=16e8ffada1fbdbe3f3903802b0785751"); - inputStream = url.openStream(); - dataInputStream = new DataInputStream(new BufferedInputStream(inputStream)); + new BukkitRunnable() { + InputStream inputStream = null; + DataInputStream dataInputStream; - StringBuilder stringBuilder = new StringBuilder(); - String inputLine; + @Override + public void run() { + try { + URL url = new URL("http://api.openweathermap.org/data/2.5/weather?id=2950159&APPID=16e8ffada1fbdbe3f3903802b0785751"); + inputStream = url.openStream(); - while ((inputLine = dataInputStream.readLine()) != null) { - stringBuilder.append(inputLine); + dataInputStream = new DataInputStream(new BufferedInputStream(inputStream)); + + StringBuilder stringBuilder = new StringBuilder(); + String inputLine; + + while ((inputLine = dataInputStream.readLine()) != null) { + stringBuilder.append(inputLine); + } + jsonString = stringBuilder.toString(); + } catch (MalformedURLException ex) { + ex.printStackTrace(); + } catch (IOException ex) { + ex.printStackTrace(); + } finally { + IOUtils.closeQuietly(inputStream); + } } - jsonString = stringBuilder.toString(); - } catch (MalformedURLException ex) { - ex.printStackTrace(); - } catch (IOException ex) { - ex.printStackTrace(); - } finally { - IOUtils.closeQuietly(inputStream); - } + }.runTaskAsynchronously(this); + JSONObject jsonObject = (JSONObject) JSONValue.parse(jsonString); @@ -139,4 +155,9 @@ public class Realtime extends JavaPlugin { THUNDER_STORM, SNOW } + + @EventHandler + public void handleBlockForm(BlockFormEvent event) { + Bukkit.broadcastMessage(event.getBlock() + " : " + event.getNewState().toString()); + } }