From 5d08552a7c3a5ce5cb6b3fdd1a870290bb4c6bea Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Mon, 10 Aug 2015 22:52:42 +0200 Subject: [PATCH] Gitignore --- .gitignore | 2 +- .../1/90ea77eee43e001517108d149b613203 | 425 ----------------- .../12/90d09f90df3e001517108d149b613203 | 421 ----------------- .../13/903ca4bcde3e001517108d149b613203 | 436 ----------------- .../16/302951976a3f00151fb6edb183f9215c | 274 ----------- .../19/40416a76403f00151fb6edb183f9215c | 266 ----------- .../1a/101bc97ade3e001517108d149b613203 | 430 ----------------- .../1a/308e38e1de3e001517108d149b613203 | 440 ------------------ .../1e/80399126e63e001517108d149b613203 | 265 ----------- .../26/108127addd3e001517108d149b613203 | 403 ---------------- .../2a/a0e2f548223f00151fb6edb183f9215c | 265 ----------- .../2e/807b35a8dd3e001517108d149b613203 | 408 ---------------- .../34/209af26b6b3f00151fb6edb183f9215c | 277 ----------- .../37/b065f8976a3f00151fb6edb183f9215c | 275 ----------- .../3d/007663b2df3e001517108d149b613203 | 421 ----------------- .../3d/00f95890de3e001517108d149b613203 | 435 ----------------- .../3d/3088c96f6a3f00151fb6edb183f9215c | 273 ----------- .../3e/90e3e69bde3e001517108d149b613203 | 435 ----------------- .../40/d04fb27d033e00151c31fb33fff4337f | 81 ---- .../43/30dcc7676b3f00151fb6edb183f9215c | 277 ----------- .../48/00204eb0de3e001517108d149b613203 | 436 ----------------- .../50/b0f919ba563f00151fb6edb183f9215c | 268 ----------- .../55/d0b9ee546b3f00151fb6edb183f9215c | 276 ----------- .../56/10a840c1de3e001517108d149b613203 | 437 ----------------- .../59/e0223e91203f00151fb6edb183f9215c | 425 ----------------- .../5a/80e572e0e43e001517108d149b613203 | 424 ----------------- .../6/3027fe966a3f00151fb6edb183f9215c | 274 ----------- .../64/8096a0dee43e001517108d149b613203 | 425 ----------------- .../68/a0408d448b3f00151a41bd20610d1f9f | 428 ----------------- .../69/8072fef78b3f00151a41bd20610d1f9f | 431 ----------------- .../69/90750be4e43e001517108d149b613203 | 422 ----------------- .../69/c01a2ee6213f00151fb6edb183f9215c | 426 ----------------- .../6f/b0d7bdec563f00151fb6edb183f9215c | 273 ----------- .../73/50eccfd4e43e001517108d149b613203 | 421 ----------------- .../73/809dfb8ddd3e001517108d149b613203 | 408 ---------------- .../74/8080bcd3e43e001517108d149b613203 | 422 ----------------- .../77/00ad7695df3e001517108d149b613203 | 421 ----------------- .../7e/a0c2dc11423f00151fb6edb183f9215c | 427 ----------------- .../7f/9025b8a1de3e001517108d149b613203 | 435 ----------------- .../83/90fff2badd3e001517108d149b613203 | 411 ---------------- .../86/e076222f8b3f00151a41bd20610d1f9f | 427 ----------------- .../87/c0f6e89c8d3f00151a41bd20610d1f9f | 431 ----------------- .../89/2007034e6b3f00151fb6edb183f9215c | 275 ----------- .../89/a0a34ee88b3f00151a41bd20610d1f9f | 431 ----------------- .../8b/00d17baede3e001517108d149b613203 | 435 ----------------- .../8d/20aae3d4de3e001517108d149b613203 | 440 ------------------ .../8d/8048b1b4dd3e001517108d149b613203 | 403 ---------------- .../8e/d08d639e563f00151fb6edb183f9215c | 266 ----------- .../91/0009f78bdf3e001517108d149b613203 | 421 ----------------- .../94/00324bce563f00151fb6edb183f9215c | 268 ----------- .../a1/009afe94e33e001517108d149b613203 | 422 ----------------- .../a1/1076adccde3e001517108d149b613203 | 436 ----------------- .../a1/c08d0bfa213f00151fb6edb183f9215c | 427 ----------------- .../a2/900097abde3e001517108d149b613203 | 435 ----------------- .../a5/20958df18b3f00151a41bd20610d1f9f | 431 ----------------- .../a5/80c576a3de3e001517108d149b613203 | 435 ----------------- .../a8/50ba8ab4043e00151c31fb33fff4337f | 81 ---- .../a8/a053b075de3e001517108d149b613203 | 429 ----------------- .../aa/b0be485c6b3f00151fb6edb183f9215c | 277 ----------- .../ad/00f387b8dd3e001517108d149b613203 | 409 ---------------- .../b3/907d1d468b3f00151a41bd20610d1f9f | 431 ----------------- .../b5/f0578ed9563f00151fb6edb183f9215c | 269 ----------- .../bc/30e677816a3f00151fb6edb183f9215c | 274 ----------- .../bd/907ef589dd3e001517108d149b613203 | 408 ---------------- .../bd/90d57cb4de3e001517108d149b613203 | 436 ----------------- .../c0/804c83d7e43e001517108d149b613203 | 422 ----------------- .../c1/408ae8d7213f00151fb6edb183f9215c | 425 ----------------- .../c3/103cea7ede3e001517108d149b613203 | 430 ----------------- .../c5/9087c2e9de3e001517108d149b613203 | 440 ------------------ .../c8/00d17cf2e43e001517108d149b613203 | 425 ----------------- .../c9/e0825fa7563f00151fb6edb183f9215c | 268 ----------- .../cc/003e7725e63e001517108d149b613203 | 264 ----------- .../cf/10d8879fde3e001517108d149b613203 | 435 ----------------- .../d3/206431636b3f00151fb6edb183f9215c | 277 ----------- .../d4/60100fb6043e00151c31fb33fff4337f | 81 ---- .../d6/90e6a6f58e3f00151a41bd20610d1f9f | 431 ----------------- .../d9/40213e986a3f00151fb6edb183f9215c | 274 ----------- .../e0/c0cc3d6a403f00151fb6edb183f9215c | 265 ----------- .../e8/90448e80dd3e001517108d149b613203 | 408 ---------------- .../ea/405d99db213f00151fb6edb183f9215c | 426 ----------------- .../ea/5018d788033e00151c31fb33fff4337f | 81 ---- .../eb/803bcb6fde3e001517108d149b613203 | 409 ---------------- .../f/90af968ede3e001517108d149b613203 | 430 ----------------- .../f5/9050bb87de3e001517108d149b613203 | 430 ----------------- .../f6/301689626b3f00151fb6edb183f9215c | 277 ----------- .../f7/50fa53d0563f00151fb6edb183f9215c | 269 ----------- .../f8/50673234203f00151fb6edb183f9215c | 265 ----------- .../fc/0072fbdce43e001517108d149b613203 | 424 ----------------- .../fc/8023f1ece43e001517108d149b613203 | 422 ----------------- .../ff/b0dedc806a3f00151fb6edb183f9215c | 274 ----------- .../ff/c0dcb4ae6a3f00151fb6edb183f9215c | 275 ----------- .../RemoteSystemsTempFiles/.markers.snap | Bin 272 -> 0 bytes .../RemoteSystemsTempFiles/.syncinfo.snap | Bin 272 -> 0 bytes .../.indexes/e4/77/69/e/history.index | Bin 5286 -> 5358 bytes .../.projects/TheButtonAutoFlair/.markers | Bin 2018 -> 2018 bytes .../TheButtonAutoFlair/.markers.snap | Bin 17784 -> 0 bytes .../TheButtonAutoFlair/.syncinfo.snap | Bin 272 -> 0 bytes .../.root/.markers.snap | Bin 272 -> 0 bytes .../org.eclipse.core.resources/.root/10.tree | Bin 6596 -> 0 bytes .../.safetable/org.eclipse.core.resources | Bin 15092 -> 1762 bytes .../.plugins/org.eclipse.core.resources/.snap | Bin 9585 -> 0 bytes .../org.eclipse.e4.workbench/workbench.xmi | 118 ++--- .../org.eclipse.jdt.core/1508644233.index | Bin 17149 -> 17163 bytes .../QualifiedTypeNameHistory.xml | 4 +- .../org.eclipse.jdt.ui/jdt-images/0.png | Bin 238 -> 0 bytes .../org.eclipse.jdt.ui/jdt-images/1.png | Bin 210 -> 0 bytes .../org.eclipse.team.cvs.core/.running | 0 .../dialog_settings.xml | 9 +- 108 files changed, 68 insertions(+), 32686 deletions(-) delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/1/90ea77eee43e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/12/90d09f90df3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/13/903ca4bcde3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/16/302951976a3f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/19/40416a76403f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/1a/101bc97ade3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/1a/308e38e1de3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/1e/80399126e63e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/26/108127addd3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/2a/a0e2f548223f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/2e/807b35a8dd3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/34/209af26b6b3f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/37/b065f8976a3f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/3d/007663b2df3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/3d/00f95890de3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/3d/3088c96f6a3f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/3e/90e3e69bde3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/40/d04fb27d033e00151c31fb33fff4337f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/43/30dcc7676b3f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/48/00204eb0de3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/50/b0f919ba563f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/55/d0b9ee546b3f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/56/10a840c1de3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/59/e0223e91203f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/5a/80e572e0e43e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/6/3027fe966a3f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/64/8096a0dee43e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/68/a0408d448b3f00151a41bd20610d1f9f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/69/8072fef78b3f00151a41bd20610d1f9f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/69/90750be4e43e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/69/c01a2ee6213f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/6f/b0d7bdec563f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/73/50eccfd4e43e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/73/809dfb8ddd3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/74/8080bcd3e43e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/77/00ad7695df3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/7e/a0c2dc11423f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/7f/9025b8a1de3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/83/90fff2badd3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/86/e076222f8b3f00151a41bd20610d1f9f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/87/c0f6e89c8d3f00151a41bd20610d1f9f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/89/2007034e6b3f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/89/a0a34ee88b3f00151a41bd20610d1f9f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/8b/00d17baede3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/8d/20aae3d4de3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/8d/8048b1b4dd3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/8e/d08d639e563f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/91/0009f78bdf3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/94/00324bce563f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a1/009afe94e33e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a1/1076adccde3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a1/c08d0bfa213f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a2/900097abde3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a5/20958df18b3f00151a41bd20610d1f9f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a5/80c576a3de3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a8/50ba8ab4043e00151c31fb33fff4337f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a8/a053b075de3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/aa/b0be485c6b3f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/ad/00f387b8dd3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/b3/907d1d468b3f00151a41bd20610d1f9f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/b5/f0578ed9563f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/bc/30e677816a3f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/bd/907ef589dd3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/bd/90d57cb4de3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/c0/804c83d7e43e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/c1/408ae8d7213f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/c3/103cea7ede3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/c5/9087c2e9de3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/c8/00d17cf2e43e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/c9/e0825fa7563f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/cc/003e7725e63e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/cf/10d8879fde3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/d3/206431636b3f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/d4/60100fb6043e00151c31fb33fff4337f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/d6/90e6a6f58e3f00151a41bd20610d1f9f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/d9/40213e986a3f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/e0/c0cc3d6a403f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/e8/90448e80dd3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/ea/405d99db213f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/ea/5018d788033e00151c31fb33fff4337f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/eb/803bcb6fde3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/f/90af968ede3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/f5/9050bb87de3e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/f6/301689626b3f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/f7/50fa53d0563f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/f8/50673234203f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/fc/0072fbdce43e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/fc/8023f1ece43e001517108d149b613203 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/ff/b0dedc806a3f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/ff/c0dcb4ae6a3f00151fb6edb183f9215c delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.markers.snap delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.syncinfo.snap delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.markers.snap delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.syncinfo.snap delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.root/10.tree delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.snap delete mode 100644 .metadata/.plugins/org.eclipse.jdt.ui/jdt-images/0.png delete mode 100644 .metadata/.plugins/org.eclipse.jdt.ui/jdt-images/1.png delete mode 100644 .metadata/.plugins/org.eclipse.team.cvs.core/.running diff --git a/.gitignore b/.gitignore index f91ff2b..8f95011 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,7 @@ *.pydevproject .project -.metadata +.metadata/ bin/ tmp/ *.tmp diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1/90ea77eee43e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/1/90ea77eee43e001517108d149b613203 deleted file mode 100644 index 67c0651..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1/90ea77eee43e001517108d149b613203 +++ /dev/null @@ -1,425 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/12/90d09f90df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/12/90d09f90df3e001517108d149b613203 deleted file mode 100644 index 423d0b9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/12/90d09f90df3e001517108d149b613203 +++ /dev/null @@ -1,421 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/13/903ca4bcde3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/13/903ca4bcde3e001517108d149b613203 deleted file mode 100644 index 697a10d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/13/903ca4bcde3e001517108d149b613203 +++ /dev/null @@ -1,436 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/16/302951976a3f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/16/302951976a3f00151fb6edb183f9215c deleted file mode 100644 index 3a925c8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/16/302951976a3f00151fb6edb183f9215c +++ /dev/null @@ -1,274 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { - SendMessage(player, "Updating Auto-flair plugin..."); - //https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/19/40416a76403f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/19/40416a76403f00151fb6edb183f9215c deleted file mode 100644 index d668ed3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/19/40416a76403f00151fb6edb183f9215c +++ /dev/null @@ -1,266 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1a/101bc97ade3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/1a/101bc97ade3e001517108d149b613203 deleted file mode 100644 index 1398adf..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1a/101bc97ade3e001517108d149b613203 +++ /dev/null @@ -1,430 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - BufferedWriter bw; - try { - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void RemoveLineFromFile(String file) - { - File inputFile = new File("myFile.txt"); - File tempFile = new File("myTempFile.txt"); - - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - boolean successful = tempFile.renameTo(inputFile); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1a/308e38e1de3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/1a/308e38e1de3e001517108d149b613203 deleted file mode 100644 index 9e4d66d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1a/308e38e1de3e001517108d149b613203 +++ /dev/null @@ -1,440 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!RemoveLineFromFile("customflairs.txt")) - { - Commands - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/80399126e63e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/80399126e63e001517108d149b613203 deleted file mode 100644 index 659cf9d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/80399126e63e001517108d149b613203 +++ /dev/null @@ -1,265 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/26/108127addd3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/26/108127addd3e001517108d149b613203 deleted file mode 100644 index 3da8073..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/26/108127addd3e001517108d149b613203 +++ /dev/null @@ -1,403 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2a/a0e2f548223f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/2a/a0e2f548223f00151fb6edb183f9215c deleted file mode 100644 index cb3a610..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2a/a0e2f548223f00151fb6edb183f9215c +++ /dev/null @@ -1,265 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2e/807b35a8dd3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/2e/807b35a8dd3e001517108d149b613203 deleted file mode 100644 index 9eedbdb..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2e/807b35a8dd3e001517108d149b613203 +++ /dev/null @@ -1,408 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/34/209af26b6b3f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/34/209af26b6b3f00151fb6edb183f9215c deleted file mode 100644 index d42b242..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/34/209af26b6b3f00151fb6edb183f9215c +++ /dev/null @@ -1,277 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { /2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin..."); - String URL="https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"; - FileUtils.copyURLToFile(URL, File) - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/37/b065f8976a3f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/37/b065f8976a3f00151fb6edb183f9215c deleted file mode 100644 index 0477c98..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/37/b065f8976a3f00151fb6edb183f9215c +++ /dev/null @@ -1,275 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { - SendMessage(player, "Updating Auto-flair plugin..."); - - //https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3d/007663b2df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/3d/007663b2df3e001517108d149b613203 deleted file mode 100644 index f08a770..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3d/007663b2df3e001517108d149b613203 +++ /dev/null @@ -1,421 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3d/00f95890de3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/3d/00f95890de3e001517108d149b613203 deleted file mode 100644 index 60a390b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3d/00f95890de3e001517108d149b613203 +++ /dev/null @@ -1,435 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - boolean successful = tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3d/3088c96f6a3f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/3d/3088c96f6a3f00151fb6edb183f9215c deleted file mode 100644 index ef1c0a1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3d/3088c96f6a3f00151fb6edb183f9215c +++ /dev/null @@ -1,273 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { - SendMessage(player, "Checking for updates..."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3e/90e3e69bde3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/3e/90e3e69bde3e001517108d149b613203 deleted file mode 100644 index 9c0f686..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3e/90e3e69bde3e001517108d149b613203 +++ /dev/null @@ -1,435 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - boolean successful = tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/40/d04fb27d033e00151c31fb33fff4337f b/.metadata/.plugins/org.eclipse.core.resources/.history/40/d04fb27d033e00151c31fb33fff4337f deleted file mode 100644 index dc9b8e8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/40/d04fb27d033e00151c31fb33fff4337f +++ /dev/null @@ -1,81 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - //PluginMain.Players.add(p); - //event.getPlayer().setDisplayName(p.getDisplayName()+PluginMain.GetFlair(p)); - //if(PluginMain.PlayerUserNames.containsKey(p.getName())) //<-- 2015.07.20. - if(MaybeOfflinePlayer.AllPlayers.containsKey(p.getName())) //<-- 2015.08.08. - //PluginMain.AppendPlayerDisplayFlair(p, PluginMain.PlayerUserNames.get(p.getName()), PluginMain.GetFlair(p)); - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName())); - PluginMain.AppendPlayerDisplayFlair(player, p, flair) - } - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - //System.out.println("Added player "+p.getName()); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - //for(Player player : PluginMain.Players) - /*for(int i=0; i"))+"(test)> "+event.getMessage()); //2015.08.08. - String name; - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+event.getMessage()); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/43/30dcc7676b3f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/43/30dcc7676b3f00151fb6edb183f9215c deleted file mode 100644 index 8077f0f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/43/30dcc7676b3f00151fb6edb183f9215c +++ /dev/null @@ -1,277 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin..."); - String URL="https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"; - FileUtils.copyURLToFile(URL, File) - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/48/00204eb0de3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/48/00204eb0de3e001517108d149b613203 deleted file mode 100644 index 8f9b87a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/48/00204eb0de3e001517108d149b613203 +++ /dev/null @@ -1,436 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static bool RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/50/b0f919ba563f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/50/b0f919ba563f00151fb6edb183f9215c deleted file mode 100644 index cfc78c0..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/50/b0f919ba563f00151fb6edb183f9215c +++ /dev/null @@ -1,268 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/55/d0b9ee546b3f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/55/d0b9ee546b3f00151fb6edb183f9215c deleted file mode 100644 index 8e77ae5..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/55/d0b9ee546b3f00151fb6edb183f9215c +++ /dev/null @@ -1,276 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin..."); - FileUtils.copyURLToFile(URL, File) - //https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/56/10a840c1de3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/56/10a840c1de3e001517108d149b613203 deleted file mode 100644 index 587bd04..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/56/10a840c1de3e001517108d149b613203 +++ /dev/null @@ -1,437 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - if() - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/59/e0223e91203f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/59/e0223e91203f00151fb6edb183f9215c deleted file mode 100644 index ceca4ee..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/59/e0223e91203f00151fb6edb183f9215c +++ /dev/null @@ -1,425 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5a/80e572e0e43e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/5a/80e572e0e43e001517108d149b613203 deleted file mode 100644 index f7e15aa..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5a/80e572e0e43e001517108d149b613203 +++ /dev/null @@ -1,424 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6/3027fe966a3f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/6/3027fe966a3f00151fb6edb183f9215c deleted file mode 100644 index 3a925c8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6/3027fe966a3f00151fb6edb183f9215c +++ /dev/null @@ -1,274 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { - SendMessage(player, "Updating Auto-flair plugin..."); - //https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/64/8096a0dee43e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/64/8096a0dee43e001517108d149b613203 deleted file mode 100644 index 67c0651..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/64/8096a0dee43e001517108d149b613203 +++ /dev/null @@ -1,425 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/68/a0408d448b3f00151a41bd20610d1f9f b/.metadata/.plugins/org.eclipse.core.resources/.history/68/a0408d448b3f00151a41bd20610d1f9f deleted file mode 100644 index 08d21ae..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/68/a0408d448b3f00151a41bd20610d1f9f +++ /dev/null @@ -1,428 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - System.out.println("Start: "+start); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - /*String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //2015.08.10. - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+" "+player.Flair+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/69/8072fef78b3f00151a41bd20610d1f9f b/.metadata/.plugins/org.eclipse.core.resources/.history/69/8072fef78b3f00151a41bd20610d1f9f deleted file mode 100644 index 6aaa051..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/69/8072fef78b3f00151a41bd20610d1f9f +++ /dev/null @@ -1,431 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - System.out.println("Start: "+start); - if(start==-1+"IGN:".length()) // - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - System.out.println("End: "+end); - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - System.out.println("IGN: "+ign); - ign = ign.trim(); - System.out.println("Trimmed IGN: "+ign); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - /*String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //2015.08.10. - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+" "+player.Flair+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/69/90750be4e43e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/69/90750be4e43e001517108d149b613203 deleted file mode 100644 index 45eac34..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/69/90750be4e43e001517108d149b613203 +++ /dev/null @@ -1,422 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/69/c01a2ee6213f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/69/c01a2ee6213f00151fb6edb183f9215c deleted file mode 100644 index 6ce3c66..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/69/c01a2ee6213f00151fb6edb183f9215c +++ /dev/null @@ -1,426 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - /*String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6f/b0d7bdec563f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/6f/b0d7bdec563f00151fb6edb183f9215c deleted file mode 100644 index e5da676..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6f/b0d7bdec563f00151fb6edb183f9215c +++ /dev/null @@ -1,273 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/73/50eccfd4e43e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/73/50eccfd4e43e001517108d149b613203 deleted file mode 100644 index 188ed19..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/73/50eccfd4e43e001517108d149b613203 +++ /dev/null @@ -1,421 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/73/809dfb8ddd3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/73/809dfb8ddd3e001517108d149b613203 deleted file mode 100644 index 7349211..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/73/809dfb8ddd3e001517108d149b613203 +++ /dev/null @@ -1,408 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("autoflairdecisions.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/74/8080bcd3e43e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/74/8080bcd3e43e001517108d149b613203 deleted file mode 100644 index eee5b38..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/74/8080bcd3e43e001517108d149b613203 +++ /dev/null @@ -1,422 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/77/00ad7695df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/77/00ad7695df3e001517108d149b613203 deleted file mode 100644 index e36fb60..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/77/00ad7695df3e001517108d149b613203 +++ /dev/null @@ -1,421 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7e/a0c2dc11423f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/7e/a0c2dc11423f00151fb6edb183f9215c deleted file mode 100644 index 9e93192..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7e/a0c2dc11423f00151fb6edb183f9215c +++ /dev/null @@ -1,427 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - /*String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //2015.08.10. - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+" "+player.Flair+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7f/9025b8a1de3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/7f/9025b8a1de3e001517108d149b613203 deleted file mode 100644 index f0d5af2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7f/9025b8a1de3e001517108d149b613203 +++ /dev/null @@ -1,435 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static bool RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - boolean successful = tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/83/90fff2badd3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/83/90fff2badd3e001517108d149b613203 deleted file mode 100644 index 777c16f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/83/90fff2badd3e001517108d149b613203 +++ /dev/null @@ -1,411 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09., String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - BufferedWriter bw; - try { - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/86/e076222f8b3f00151a41bd20610d1f9f b/.metadata/.plugins/org.eclipse.core.resources/.history/86/e076222f8b3f00151a41bd20610d1f9f deleted file mode 100644 index 721a62a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/86/e076222f8b3f00151a41bd20610d1f9f +++ /dev/null @@ -1,427 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - /*String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //2015.08.10. - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+" "+player.Flair+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/87/c0f6e89c8d3f00151a41bd20610d1f9f b/.metadata/.plugins/org.eclipse.core.resources/.history/87/c0f6e89c8d3f00151a41bd20610d1f9f deleted file mode 100644 index bf08f0d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/87/c0f6e89c8d3f00151a41bd20610d1f9f +++ /dev/null @@ -1,431 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - System.out.println("Start: "+start); - if(start==-1+"IGN:".length()) //+length: 2015.08.10. - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - System.out.println("End: "+end); - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - System.out.println("IGN: "+ign); - ign = ign.trim(); - System.out.println("Trimmed IGN: "+ign); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - /*String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //2015.08.10. - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+" "+player.Flair+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/89/2007034e6b3f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/89/2007034e6b3f00151fb6edb183f9215c deleted file mode 100644 index b307bfc..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/89/2007034e6b3f00151fb6edb183f9215c +++ /dev/null @@ -1,275 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin..."); - //https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/89/a0a34ee88b3f00151a41bd20610d1f9f b/.metadata/.plugins/org.eclipse.core.resources/.history/89/a0a34ee88b3f00151a41bd20610d1f9f deleted file mode 100644 index 76b4bcb..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/89/a0a34ee88b3f00151a41bd20610d1f9f +++ /dev/null @@ -1,431 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - System.out.println("Start: "+start); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - System.out.println("End: "+end); - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - System.out.println("IGN: "+ign); - ign = ign.trim(); - System.out.println("Trimmed IGN: "+ign); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - /*String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //2015.08.10. - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+" "+player.Flair+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8b/00d17baede3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/8b/00d17baede3e001517108d149b613203 deleted file mode 100644 index fe096bd..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/8b/00d17baede3e001517108d149b613203 +++ /dev/null @@ -1,435 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static bool RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8d/20aae3d4de3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/8d/20aae3d4de3e001517108d149b613203 deleted file mode 100644 index 4d9e4b8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/8d/20aae3d4de3e001517108d149b613203 +++ /dev/null @@ -1,440 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!RemoveLineFromFile("customflairs.txt")) - { - - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8d/8048b1b4dd3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/8d/8048b1b4dd3e001517108d149b613203 deleted file mode 100644 index 8e05cb9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/8d/8048b1b4dd3e001517108d149b613203 +++ /dev/null @@ -1,403 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8e/d08d639e563f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/8e/d08d639e563f00151fb6edb183f9215c deleted file mode 100644 index b68b6a6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/8e/d08d639e563f00151fb6edb183f9215c +++ /dev/null @@ -1,266 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/91/0009f78bdf3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/91/0009f78bdf3e001517108d149b613203 deleted file mode 100644 index c9f322f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/91/0009f78bdf3e001517108d149b613203 +++ /dev/null @@ -1,421 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/94/00324bce563f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/94/00324bce563f00151fb6edb183f9215c deleted file mode 100644 index f13aa13..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/94/00324bce563f00151fb6edb183f9215c +++ /dev/null @@ -1,268 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a1/009afe94e33e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/a1/009afe94e33e001517108d149b613203 deleted file mode 100644 index c4b45ca..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a1/009afe94e33e001517108d149b613203 +++ /dev/null @@ -1,422 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a1/1076adccde3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/a1/1076adccde3e001517108d149b613203 deleted file mode 100644 index 697a10d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a1/1076adccde3e001517108d149b613203 +++ /dev/null @@ -1,436 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a1/c08d0bfa213f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/a1/c08d0bfa213f00151fb6edb183f9215c deleted file mode 100644 index b4e646d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a1/c08d0bfa213f00151fb6edb183f9215c +++ /dev/null @@ -1,427 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - /*String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //2015.08.10. - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a2/900097abde3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/a2/900097abde3e001517108d149b613203 deleted file mode 100644 index e1431c6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a2/900097abde3e001517108d149b613203 +++ /dev/null @@ -1,435 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a5/20958df18b3f00151a41bd20610d1f9f b/.metadata/.plugins/org.eclipse.core.resources/.history/a5/20958df18b3f00151a41bd20610d1f9f deleted file mode 100644 index 76b4bcb..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a5/20958df18b3f00151a41bd20610d1f9f +++ /dev/null @@ -1,431 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - System.out.println("Start: "+start); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - System.out.println("End: "+end); - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - System.out.println("IGN: "+ign); - ign = ign.trim(); - System.out.println("Trimmed IGN: "+ign); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - /*String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //2015.08.10. - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+" "+player.Flair+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a5/80c576a3de3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/a5/80c576a3de3e001517108d149b613203 deleted file mode 100644 index fe096bd..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a5/80c576a3de3e001517108d149b613203 +++ /dev/null @@ -1,435 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static bool RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/50ba8ab4043e00151c31fb33fff4337f b/.metadata/.plugins/org.eclipse.core.resources/.history/a8/50ba8ab4043e00151c31fb33fff4337f deleted file mode 100644 index d13af26..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/50ba8ab4043e00151c31fb33fff4337f +++ /dev/null @@ -1,81 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - //PluginMain.Players.add(p); - //event.getPlayer().setDisplayName(p.getDisplayName()+PluginMain.GetFlair(p)); - //if(PluginMain.PlayerUserNames.containsKey(p.getName())) //<-- 2015.07.20. - if(MaybeOfflinePlayer.AllPlayers.containsKey(p.getName())) //<-- 2015.08.08. - //PluginMain.AppendPlayerDisplayFlair(p, PluginMain.PlayerUserNames.get(p.getName()), PluginMain.GetFlair(p)); - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - PluginMain.AppendPlayerDisplayFlair(p, mp.UserName, mp.Flair); - } - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - //System.out.println("Added player "+p.getName()); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - //for(Player player : PluginMain.Players) - /*for(int i=0; i"))+"(test)> "+event.getMessage()); //2015.08.08. - String name; - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+event.getMessage()); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/a053b075de3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/a8/a053b075de3e001517108d149b613203 deleted file mode 100644 index 592cb5a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/a053b075de3e001517108d149b613203 +++ /dev/null @@ -1,429 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - BufferedWriter bw; - try { - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void RemoveLineFromFile(String file) - {File inputFile = new File("myFile.txt"); - File tempFile = new File("myTempFile.txt"); - - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - boolean successful = tempFile.renameTo(inputFile); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/aa/b0be485c6b3f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/aa/b0be485c6b3f00151fb6edb183f9215c deleted file mode 100644 index be76ce1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/aa/b0be485c6b3f00151fb6edb183f9215c +++ /dev/null @@ -1,277 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin..."); - FileUtils.copyURLToFile(URL, File) - //https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/00f387b8dd3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/ad/00f387b8dd3e001517108d149b613203 deleted file mode 100644 index 2f2582c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/00f387b8dd3e001517108d149b613203 +++ /dev/null @@ -1,409 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - BufferedWriter bw; - try { - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/907d1d468b3f00151a41bd20610d1f9f b/.metadata/.plugins/org.eclipse.core.resources/.history/b3/907d1d468b3f00151a41bd20610d1f9f deleted file mode 100644 index 0e547f2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/907d1d468b3f00151a41bd20610d1f9f +++ /dev/null @@ -1,431 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - System.out.println("Start: "+start); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - System.out.println("End: "+end); - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - System.out.println("IGN: "+ign); - ign = ign.trim(); - System.out.println("Trimmed IGN: "+start); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - /*String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //2015.08.10. - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+" "+player.Flair+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b5/f0578ed9563f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/b5/f0578ed9563f00151fb6edb183f9215c deleted file mode 100644 index b171166..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b5/f0578ed9563f00151fb6edb183f9215c +++ /dev/null @@ -1,269 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/30e677816a3f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/bc/30e677816a3f00151fb6edb183f9215c deleted file mode 100644 index bef114e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/30e677816a3f00151fb6edb183f9215c +++ /dev/null @@ -1,274 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { - SendMessage(player, "Updating Auto-flair plugin"); - //https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bd/907ef589dd3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/bd/907ef589dd3e001517108d149b613203 deleted file mode 100644 index 6d2cbea..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bd/907ef589dd3e001517108d149b613203 +++ /dev/null @@ -1,408 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("autoflairdecisions.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("autoflairdecisions.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bd/90d57cb4de3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/bd/90d57cb4de3e001517108d149b613203 deleted file mode 100644 index 9b5ff96..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bd/90d57cb4de3e001517108d149b613203 +++ /dev/null @@ -1,436 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static bool RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c0/804c83d7e43e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/c0/804c83d7e43e001517108d149b613203 deleted file mode 100644 index 45eac34..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c0/804c83d7e43e001517108d149b613203 +++ /dev/null @@ -1,422 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c1/408ae8d7213f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/c1/408ae8d7213f00151fb6edb183f9215c deleted file mode 100644 index f9b9fd3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c1/408ae8d7213f00151fb6edb183f9215c +++ /dev/null @@ -1,425 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - /*String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c3/103cea7ede3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/c3/103cea7ede3e001517108d149b613203 deleted file mode 100644 index e1f9c1a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c3/103cea7ede3e001517108d149b613203 +++ /dev/null @@ -1,430 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - BufferedWriter bw; - try { - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("myTempFile.txt"); - - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - boolean successful = tempFile.renameTo(inputFile); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c5/9087c2e9de3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/c5/9087c2e9de3e001517108d149b613203 deleted file mode 100644 index 9ee3630..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c5/9087c2e9de3e001517108d149b613203 +++ /dev/null @@ -1,440 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!RemoveLineFromFile("customflairs.txt")) - { - Commands.SendMessage(player, "") - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c8/00d17cf2e43e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/c8/00d17cf2e43e001517108d149b613203 deleted file mode 100644 index 650e18a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c8/00d17cf2e43e001517108d149b613203 +++ /dev/null @@ -1,425 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.09. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c9/e0825fa7563f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/c9/e0825fa7563f00151fb6edb183f9215c deleted file mode 100644 index 2ea3230..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c9/e0825fa7563f00151fb6edb183f9215c +++ /dev/null @@ -1,268 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cc/003e7725e63e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/cc/003e7725e63e001517108d149b613203 deleted file mode 100644 index dbb5647..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/cc/003e7725e63e001517108d149b613203 +++ /dev/null @@ -1,264 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cf/10d8879fde3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/cf/10d8879fde3e001517108d149b613203 deleted file mode 100644 index f0d5af2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/cf/10d8879fde3e001517108d149b613203 +++ /dev/null @@ -1,435 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static bool RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - boolean successful = tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d3/206431636b3f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/d3/206431636b3f00151fb6edb183f9215c deleted file mode 100644 index 8f984d5..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d3/206431636b3f00151fb6edb183f9215c +++ /dev/null @@ -1,277 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin..."); - String URL="https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar", - FileUtils.copyURLToFile(URL, File) - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d4/60100fb6043e00151c31fb33fff4337f b/.metadata/.plugins/org.eclipse.core.resources/.history/d4/60100fb6043e00151c31fb33fff4337f deleted file mode 100644 index 86f89f3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d4/60100fb6043e00151c31fb33fff4337f +++ /dev/null @@ -1,81 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - //PluginMain.Players.add(p); - //event.getPlayer().setDisplayName(p.getDisplayName()+PluginMain.GetFlair(p)); - //if(PluginMain.PlayerUserNames.containsKey(p.getName())) //<-- 2015.07.20. - if(MaybeOfflinePlayer.AllPlayers.containsKey(p.getName())) //<-- 2015.08.08. - //PluginMain.AppendPlayerDisplayFlair(p, PluginMain.PlayerUserNames.get(p.getName()), PluginMain.GetFlair(p)); - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - PluginMain.AppendPlayerDisplayFlair(p, mp.UserName, mp.Flair); - } - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - //System.out.println("Added player "+p.getName()); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - //for(Player player : PluginMain.Players) - /*for(int i=0; i"))+"(test)> "+event.getMessage()); //2015.08.08. - String flair=MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()).Flair; - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+event.getMessage()); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d6/90e6a6f58e3f00151a41bd20610d1f9f b/.metadata/.plugins/org.eclipse.core.resources/.history/d6/90e6a6f58e3f00151a41bd20610d1f9f deleted file mode 100644 index 56e2511..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d6/90e6a6f58e3f00151a41bd20610d1f9f +++ /dev/null @@ -1,431 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - //System.out.println("Start: "+start); - if(start==-1+"IGN:".length()) //+length: 2015.08.10. - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - System.out.println("End: "+end); - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - //System.out.println("IGN: "+ign); - ign = ign.trim(); - //System.out.println("Trimmed IGN: "+ign); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - /*String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //2015.08.10. - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+" "+player.Flair+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d9/40213e986a3f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/d9/40213e986a3f00151fb6edb183f9215c deleted file mode 100644 index 3a925c8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d9/40213e986a3f00151fb6edb183f9215c +++ /dev/null @@ -1,274 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { - SendMessage(player, "Updating Auto-flair plugin..."); - //https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e0/c0cc3d6a403f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/e0/c0cc3d6a403f00151fb6edb183f9215c deleted file mode 100644 index e152ef5..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e0/c0cc3d6a403f00151fb6edb183f9215c +++ /dev/null @@ -1,265 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e8/90448e80dd3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/e8/90448e80dd3e001517108d149b613203 deleted file mode 100644 index 3aeeb6d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e8/90448e80dd3e001517108d149b613203 +++ /dev/null @@ -1,408 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("autoflairdecisions.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ea/405d99db213f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/ea/405d99db213f00151fb6edb183f9215c deleted file mode 100644 index 7bee146..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ea/405d99db213f00151fb6edb183f9215c +++ /dev/null @@ -1,426 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - /*String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ea/5018d788033e00151c31fb33fff4337f b/.metadata/.plugins/org.eclipse.core.resources/.history/ea/5018d788033e00151c31fb33fff4337f deleted file mode 100644 index 3892cd9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ea/5018d788033e00151c31fb33fff4337f +++ /dev/null @@ -1,81 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - //PluginMain.Players.add(p); - //event.getPlayer().setDisplayName(p.getDisplayName()+PluginMain.GetFlair(p)); - //if(PluginMain.PlayerUserNames.containsKey(p.getName())) //<-- 2015.07.20. - if(MaybeOfflinePlayer.AllPlayers.containsKey(p.getName())) //<-- 2015.08.08. - //PluginMain.AppendPlayerDisplayFlair(p, PluginMain.PlayerUserNames.get(p.getName()), PluginMain.GetFlair(p)); - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - PluginMain.AppendPlayerDisplayFlair(player, p, flair) - } - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - //System.out.println("Added player "+p.getName()); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - //for(Player player : PluginMain.Players) - /*for(int i=0; i"))+"(test)> "+event.getMessage()); //2015.08.08. - String name; - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+event.getMessage()); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/eb/803bcb6fde3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/eb/803bcb6fde3e001517108d149b613203 deleted file mode 100644 index ce1d794..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/eb/803bcb6fde3e001517108d149b613203 +++ /dev/null @@ -1,409 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - BufferedWriter bw; - try { - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f/90af968ede3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/f/90af968ede3e001517108d149b613203 deleted file mode 100644 index f04e2b0..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f/90af968ede3e001517108d149b613203 +++ /dev/null @@ -1,430 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - boolean successful = tempFile.renameTo(inputFile); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f5/9050bb87de3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/f5/9050bb87de3e001517108d149b613203 deleted file mode 100644 index 454cbb7..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f5/9050bb87de3e001517108d149b613203 +++ /dev/null @@ -1,430 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SetPlayerFlair(Player player, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - File file=new File("customflairs.txt"); - BufferedWriter bw; - try { - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void RemoveLineFromFile(String file) - { - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = "bbb"; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if(trimmedLine.equals(lineToRemove)) continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - boolean successful = tempFile.renameTo(inputFile); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f6/301689626b3f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/f6/301689626b3f00151fb6edb183f9215c deleted file mode 100644 index 6c07dfd..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f6/301689626b3f00151fb6edb183f9215c +++ /dev/null @@ -1,277 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin..."); - https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar - FileUtils.copyURLToFile(URL, File) - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f7/50fa53d0563f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/f7/50fa53d0563f00151fb6edb183f9215c deleted file mode 100644 index b171166..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f7/50fa53d0563f00151fb6edb183f9215c +++ /dev/null @@ -1,269 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f8/50673234203f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/f8/50673234203f00151fb6edb183f9215c deleted file mode 100644 index 659cf9d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f8/50673234203f00151fb6edb183f9215c +++ /dev/null @@ -1,265 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fc/0072fbdce43e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/fc/0072fbdce43e001517108d149b613203 deleted file mode 100644 index dfc7f58..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/fc/0072fbdce43e001517108d149b613203 +++ /dev/null @@ -1,424 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if() - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fc/8023f1ece43e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/fc/8023f1ece43e001517108d149b613203 deleted file mode 100644 index 45eac34..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/fc/8023f1ece43e001517108d149b613203 +++ /dev/null @@ -1,422 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if(start==-1) - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]).Flair=s[1]; //2015.08.09. - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - return tempFile.renameTo(inputFile); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ff/b0dedc806a3f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/ff/b0dedc806a3f00151fb6edb183f9215c deleted file mode 100644 index e82704c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ff/b0dedc806a3f00151fb6edb183f9215c +++ /dev/null @@ -1,274 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { - SendMessage(player, "Checking for updates..."); - //https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ff/c0dcb4ae6a3f00151fb6edb183f9215c b/.metadata/.plugins/org.eclipse.core.resources/.history/ff/c0dcb4ae6a3f00151fb6edb183f9215c deleted file mode 100644 index 0477c98..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ff/c0dcb4ae6a3f00151fb6edb183f9215c +++ /dev/null @@ -1,275 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - //p.Flair="§7(non-pr.)§r"; - SetPlayerFlair(player, p, "§7(non-pr.)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - //p.Flair="§r(can't press)§r"; - SetPlayerFlair(player, p, "§r(can't pr.)§r"); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - //String flair=mp.Flair; - //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { - SendMessage(player, "Updating Auto-flair plugin..."); - - //https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.markers.snap b/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.markers.snap deleted file mode 100644 index 947df51a4d7f2243227814119a8b831596973060..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 bcmZ?R*xjhShe1S2b=vdAllRFvjBq{x^zU+? diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.syncinfo.snap b/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.syncinfo.snap deleted file mode 100644 index 947df51a4d7f2243227814119a8b831596973060..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 bcmZ?R*xjhShe1S2b=vdAllRFvjBq{x^zU+? diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.indexes/e4/77/69/e/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.indexes/e4/77/69/e/history.index index 6cbb113c6614a423c7ae2f86547423db7b083f90..db13ff3eaa6d546072995b385dbadc893ddfc6b1 100644 GIT binary patch delta 2087 zcmY+_e^88h90%}6tE|XA`O(ldw~hSP4Kg9MqSz=iB?dDalO_?-W4gJS7@lv;=(uKX zN1U@Q+Yb{i$B^GELuEP{gYtVPqx_1@&eI}8+qv!gdCtE5`+9#r-(S!7`+X|MJI9-2 z7epvucK=%vD+~*sQxm!>KyQ1Yiyo2OM-YSoe^jDJBnNO;Oj%WXp?$WcHK@1!so5^y zbQa%GbO^$3r-2u-PYpp<@aX5Nce{t8=Uh_#O6?%@eD(t$q&mVcrEhVY{}fsITG)CJ zdYl^)N7J(^7qPOgB8HZ8+3*6FGi?ufXdiPc`jTvNF?_KDT^~h$_3+1LkIUcoD{C?Z z(qU^87S!pzdDgS*t7myBLiA4xm0zwx03c5Yh{IeTijjh@&wh5By@jz=$adR+E=adGAQIT+07 zpaMb3`Odq3o=gMhCu*^MWbjy;=;ap6pD-blUm*FbUt{)xH?@h}m5(9QWenb)q(I7D zJ_)_HR4vHV{)B#WhuZ#@bsW0pcO4C&jn|-O=v>2lkGOK;^L8^$Xf(eo#~*d_fU%Oz zYQR0WJdk_!kO87kah-0eEEMefVuQ78(JrGkwnulM_ibOwUAUU?3caV9+`KXBIr_x| zYWo|>Pte2ilBl25+A*FB={>H$Wl+FEXO6;~`fl?AUcih^kMUl)6UilWK@<8vapcO7 zS$EMt?48g15smh9UiTc=syGTHNBCdfKyNFVK+XaSD$y&nWpfvmMRCL|QxqL!GdZ!lsSx-E7vwfWg{r)a;@yvxzeDW$5kw05M z`i<%`KbAZCQJ{zqTCl+MiQZ1BYo!Cd*%?a{YH7_x-zt)`A6;?iA#Y~!_AK8OgP!+V zra-Zs`YzaXgkB6~VbFAZ8EVqVL(9r1qDQ;vA0*Wq>+v6yWKsRB;~e_>$bo!9lAN%H zVNgGo0>Qm#8+xPLp9)q~r=W-JA{R~v#G*U4kh7P52K1LR`_s-13K-by^8bHVlMe;# zR*nV>hMIh+VAamAd*GeWq^LgoK@a+e1ak405;uC-c7gY!1gD(`kFwbf6iDul;}F=2 R#*nl0jAQ77SvP;e{sYYGWQ_m- delta 2021 zcmYk+drVVT90%~riZcq%t5)%W+KN=khGN+gi9EW+7&aBE7#~@g(}E-gXLPanzSn6& z5ep^I;v)(wQPdO*65|jRU8WLWC2G*wF&@gCvZ|<&hoa^D&c^rO&-ZuE@BGfWx!$m& zVYWEG=@pia0jK}?RPVp?M{(#G|5#yU@Qj|w53eJojbq)PCHe`1zIs;``qH1Sk&kY$ zD4<>+O72dq+={LmLoS3D3=vfY^8$vR?inI}BB}Ouq^HLTBPX8uw_-<^+F)<)4eIL` z;klZIzVq5K%{bee-`&aKGpG*HYcFg1r1}YM8LEhwU zcA#2MRk;Zcx+K4gxlSFs2i=)R?n><}LZ6dE9uc+xTv8h}**uui>%av;?>gxw+A_DJ zPv|6fHF{+9ITl`Tsau17yKDp7$JKDYeK8C$=yRV-zN>z*B=-RZ7H=k7pzls{qc3YF z7qoM4p@$@sySm0yqc3bRvwfO=S$+)ti{s>OtMQVAPGt2ZEpOr{LA`tMaOV0n?UyR>adx}1Z+|%|U(@FMW`jhlTDgCPR?%XmK#0u@ z5}(8M1OmY z`>rPq=)!6xt8bbVo9~;V|4SWSX=P&w^;#b5?RWj%Bf zLEo)e#rCmfUH(UEga!_8DhncVXEvi>IY6#D(RvsCbsD*7cHTf&j^|#cyM*rPO`*oo zr8V3o_Qn}?Jh-=|3KuBK$puw{3w^|4?)96?(S!5&K0?t+bk8z!`FHaX^wkLxUl4ls z5C%#exp+UT7=8X!Uf$xD)4>(OHdlFPHMuR#x7^#eV@hmPt$eNQj>{ub;BA{SF2yvjP;7yRde zG30W5MHPB!0J*q*iW5EhSu$%NZ~m$b{rfoX2YRgFQHpnyDX?vOlMR8w@V9|ZIy+ZJ IzgbNF5tXlD>86%U3{Nx-a8zwb_$*Y)TnAA)rpI|Z^eD%Es2SlW%2?R#mVp4J_7(Tgd_?8 delta 133 zcmaFF|A>D>86%Uh`(#lh#9Ad2?RuNYHl#6vlN?g7i5-re zZe<8*5)X{q14#S>NL(a9D~t)jDBT_q4@mIPA$UN%txySpG~Nah$CoBfnw0B`@$rGX^3#Y|7k^D{*`6EX#!9ur!vjR%zq=Jfs z(-}=jD;Nm{tfX=%53SImqB(>mZJs4xV92Rb#A!5|2|!>hmVnmujEJAmM68kPOahwq z^SGSR&$7@e;%qUGWK9h~=ircjccG|BIbj%MaeiD@5zzZZwAj=9;ZJO^K=46tonuq?G%y zO7)FOkUz-mz~AUQLw zZ76ZZMc)VVTQQNHMNMU(L78Fw*7=Xj04*PxH6$5}~Y(xM1?l6PMqx zta_Z-OOH9aC;P9{JlX%VLr*fHHBT-*dF!SDqN6uoJNM<8Zw_rdn38USwErJkhwucW zggM;*4pOT_md8@o@SO4tJ(tJytf3!1n0zon@M#@PP!CMui?lclUve0SU?xlA$t?iW zGoFe0Uv~wJL585{2FBsbR1I3{kw;KDrtG@f*TlfK^p$J-45{wzw7w3iF~E88B~&{hEF?G!|bk9^Xhn8Bh&=@S-*PpSl9o0?icMXAVtafvPO>QbQKy|D~ykFb>sN7A>jqvFUAW zZUay)ZQr1MY}ZkXELZiQty}#OIYJHEDW^fZ*T^d+HGa@~J7_IWe(jkIZ#tia!;UJ! z#d(DFx@#mOyjBfvhBMrC!*$Uy`|ZXT9UpU4biA(Jr104Op1t@u&{Vg^52}lgJ8i|s zqw9;0?YCMhKz_(5KvrZ^$QUW*9w@(z&ylM64Xj7rN3BP;%hhq)u`2ASmmNtU-s$~? zWzPh4tnZ=)vg>YU0KILroZH*sFz3RbM$V1(Em$IdY-rjZp%&Xk92eVlSE})60N$Pf zY(AJmEuI0>=nKD?F&}E(zF;bgY}*E4Dyi|o}+iR;6a+2$ioiRFy{V2NsS+*-VRdBlO3MP=%(}i{e$W!=;;qF+gHTKzKOqo zaJxsm$@9$i-rBnTgHYH_HjHd&{yCxiW|3#FXUJ1(v!8SQoC^@@X=onUyP>mE;>qg$ GgZ}{0Xlp|N diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.syncinfo.snap b/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.syncinfo.snap deleted file mode 100644 index 947df51a4d7f2243227814119a8b831596973060..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 bcmZ?R*xjhShe1S2b=vdAllRFvjBq{x^zU+? diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap b/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap deleted file mode 100644 index 947df51a4d7f2243227814119a8b831596973060..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272 bcmZ?R*xjhShe1S2b=vdAllRFvjBq{x^zU+? diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/10.tree b/.metadata/.plugins/org.eclipse.core.resources/.root/10.tree deleted file mode 100644 index 324689da0ee1de5bbcdcb83d69a667250b77f671..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6596 zcmb`LTWlOx8OP7ePU^%-yu0?su@fGmDlZhg2#63O0^wW=EwR^i++2If?E2UqdvBc? zJ8WBS63}vqP%8zMmWx_=YXGSd654eKw*=PpcNLFL%x2lbeNQ{ND)rsX) zD5K7L*pO3evL_~OrqxC#lw#*nr@1J@si@a(+{$i}?G}SD?oCCp4<8M`u_705MeR<9 zq52o1khQ)T#nshlG1g1^|yf{Px|bjA3*TDFtDD3+~gLAJVg2Td8#&)yg;W}mvgvP>8X zZ3|&k97k-gcEir9Y{c}R=qhVmfD!MbxI*zaqq(Sw1p_69_IGDgmp;$zIVYe8B$S*9o0z2anN2?v!z3a+1@zyA?^+qX(>5k zpLK1!pqvT0L)^+FO?kyP@{FVvJ->uW^Od1p%s}Y_K zgV^foUWVv0BqM~|k-4zbl~5PUq>eJuFcA2>WB&N`v6zzWB zJ7e8ZiiKoR$0r#J##MrK?yM)TDMom{0byiryheSb0q9vagZHF(r*YY%N88aTM9 zrVtY|ey=WTOH0k5E$5nkZ*bqnuRh1I$a@%|$1v8aq5%pTwmS{*Z8m<$0I^=9bItYT zpgrRU?St>%I@s~o-uV(^2&CdJZbR@&ear$q$%b?dl2h|Mf>c-OKPfeqew1Z8)kJSz zWAyb9oQJz=Xw_b;nVQ!oir@Y@o85_;kB&HmI3I-#+R;=zC)jQ`*Hn$9s;14ZtX^1MfbB99UpV&i?HVX zb}scrP51ruuYUbg9?BfoRNZHY+JNDGhT(i!Y$s7;?-ji>{d+8ooe|iXovdlO_OM9{ zPHfSTv|NTyw&D;sb|^*5wKgJ)z}+sHf|d&zK|tW1k5F9IdX|eA;XvSys|engvs}yw z2LjKfo#Y9zFW269QVG13l+tQ3%V%Jhmh;T8BIWvlU0NPsWl04omx5(laHo~BB#}86 zVhvOvf{vOJ%TX>v!6_+-aJy4A$|WccCgp-DMjT#@LyVu(;^TczVwBr24AN4^=nXB( zWnh<x9!hLv0?O0mb-ykcN`Jh3~KA|AL7F13mB z3-pMjg5cu5TQ}eLULp2clqk!NUwxJyQ7G;PK8ICPZ2tz{ds~Dk;Z#Vejqm?_PumI_ z?eBEEgozdnLD|B*_V#a>K}7d>aZacQM}Y!9(m(a306dU~77BvWoq|Iz1ALY6qqgXJ zVL-OgbCOI=AsOT!j2L0leVDGnKz5zM zZZKxVPWOT(yC!Jb#Rk+y=701#hSpK@L3A(bhe)RLD%%;t>Ea!&vTLj184b|aJ!@vy z8TX&zZfT7Z_Xs_i>^cKH&Ol@U82dnWoq;&GxS;{Tqmf-_%xBogBZfKr4QAIF>K>+$ zho@74!>!qMhB?LzMeJny@M_DhP40*PVa~|^UHHvp*BJnb2o<-5PvQtp?b&sP{EGsG zi(EV<;dUUq&Om=+2x)i-4Sol+>kRc*rjUoH z6dVs^*BR)K3@sZF+-}LPGYIVvic7DAWOVS!*>!4aWY;dMkiyQH*>!4-i+klg^gB8> z{ygAfTm#v)3B7oUp+(fmXfQHpD48AMpzzG!*bLs2;^NPHN@O#J*V*uVVurr(2R(}l zTQTDS>OOc2nJ&Kh>NfU-2blO6w_ms|nJ#Yb{VW3rY)Q830=8z?{q-sh-SY(o>!@qo ze(8V6baAtezNxqrtUjQc!u>J!#&`^=KLPfA0eYSdebn5>E62>P-T#XU7vFp(Ibl#? zaZS4|<4EK^5HU*mM*plk78FKT{V diff --git a/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources index 46f1f558adb25573ec0b44a25be1c2e05e19ee6d..9cbd1daf38e2d3a30681ddc880db405ca9cc8905 100644 GIT binary patch delta 172 zcmexT`iOUuxDLCKm5I5Pq2**l*~^p9iRf|~8C#kG5m1Ct@%Lm8VVTK!TAaLwCdQTs znS<<7lLhpyG8#_4$YuvI!N_p(K>@wVXPK{|n4q@#5(^6>2i#1EPM*pAOc9e~*c>Kr rFi}-XOUx-w<>k`XD=A7%wKX*46iEK+TZTnz4zeLug@R9-*1ndC>Eg> zI~TqXm!KQ3SI9O-KI9P0raAmgSR5)#BqUBjQzbKwX>zlJ83(&6RhNv!DJBjxIkAv9NE{?ijnRV4I2Pl^ zfsFCWi{^RvjXlnGb38?(fElMK;}C8zPHWEOz+STMNDfq%pU8ot*>ox8jRFS8KgU)a zJcobKlMQO|CH&?3haE=21zsA$ALc#6e{=gO$6IpyNe`soK=^O$q%+d5wwM_GD=+_( z>8>n(4rES+@JINkDQ-{u4ZgGu;$qV@T{+Y1KtEbJ`!}2UJQs`}-Bs zu_c3;XtMdTnW@_wW1A#8m!E^69oygit>kpsW zUjp|Va_(t+&*z?V?kzjsIXY5*nR(XVadP&|iL19O4!fO+$N40Vncp>CpcLjwB>TL2 zBo;kj=w4IT2ECCXgViMU!Gx(dBy}T^N=EdC0X@ysY^L5wBB`^ry@^tc z?yxbtIRL*E<6!&%jMZkp-YrZuFzqGN>QF4z7mWwBXnd2;8;NO#0dCn&ST9?!_RFgg zTq(tbv4Qj$V^#l5%Q7iUhWlY`Cq2%X!$?N*dRsPDxy1jo+K>kCNpaJAx?F}XSuKR_ zFzP*5*whn?^CIYv%pV)R^!%qg@`oS{PD&8uf?#^Lj*BcHXe51B4#D*99x~(*_(`8% zEeNLlZ=y>9!4cE}W(5LHdI^GD5X`vCaghZCKGNsp5X`t~t129V-8AWq)q-HAieMBF zjG+5KnH30n!AS{%ToBA&Z=)FUa&R|k*wnIeFnirgh8%(p(i5u%!R(Jy=u$v1iaJnk z1%f_sQoIn@*t%Vb!9gwFW875Q=iFOxft4_f$4LKDP%K?Hye}*4bCuobkiEc|{Z7<( zjarFh8k`hwB<)Pz-7Su+qX_ctd>?5jtg`LAIN~8gzMVs)FBF7;q`O-@QjIRfc773c zpw0>eN5M%6f*d(rwLg_<)HnpqxZuh~DFiSnb1vWzJWi7)R|x{uzK<9a5WI};1K(SL z0P0N-BGCSHEVH!MMrU*^!!T9xfW7n%9(2?4fse(m+D&J#_)*a2xpw@ zD+Mu^t9w!1W&6;f=w9f6)VNnlnrrR>n!~R$PNMGoqD0z%z0Z>LuIlExA8>&MX(vc8 z6cBwI%NhO6>$g%QdGAU&r*XfPNWKRSOF1LUDMa=C5nK|9Kwx1#%MfC4S=Z)`MiR8!Nq*f)OoU5Dc}LyievGE^hNXk_lsr?l zxS`qLkLYePhdLl4@2_2y+?lHB%qQqvu(}JiZxhR>2X7A5qrK?CA4Gl2J&e^XTfJqy zd-Jc0^qRvkeucVfgETv~R2`-{yrZHG8&s_9DIWUb-BYsOy>&z8dOr+nbQTxh34fE* z-BzC|shsXdahmd(obI;zcgc{~VLG5GpBF&4qz<><)`rdn-K2dfDQRsRD`^fVZ47mA z*aB%DeiAB?maXISU)YEXEPD5IsGX3A<)rx!U88B7v~JR{p=BMP|IiE>a?*I}fk%Ox zk-YP$gf#zKRE7j;52174OH$JO2Y*I8(eYhG9jdTGnwx*5qW!N2$BK2kvpUo1^SWJ* zORhk{m-E(PWR94ew@e8JbY#4B7)yDh@}+!N5N|6~($2~`{0IW)Y1CCviF04Xs~rYa zZ9&~6&IxU?LR}p=DPHPU_%=rEO3*eJ$I~b-xB@`Q;OR>IM20+Bjgr1r06en)wNbkU SJ?K(E09U&F2_3%)g1-T&Y0lLE diff --git a/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi index b58f2fb..77cc214 100644 --- a/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi +++ b/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi @@ -179,7 +179,7 @@ - + @@ -235,31 +235,30 @@ categoryTag:Help - + newtablook org.eclipse.e4.primaryDataStack EditorStack - - + + Editor org.eclipse.jdt.ui.CompilationUnitEditor removeOnHide - + Editor org.eclipse.jdt.ui.CompilationUnitEditor removeOnHide - activeOnClose - + Editor org.eclipse.jdt.ui.CompilationUnitEditor removeOnHide - + Editor org.eclipse.jdt.ui.CompilationUnitEditor removeOnHide @@ -327,6 +326,7 @@ View categoryTag:General + activeOnClose ViewMenu menuContribution:menu @@ -426,18 +426,18 @@ Draggable - - - - - - - - - - - - + + + + + + + + + + + + toolbarSeparator @@ -445,38 +445,38 @@ Draggable - - - + + + Draggable - - + + Draggable - - + + Draggable - - + + Draggable - - - - + + + + Draggable - - - - + + + + Draggable @@ -486,20 +486,20 @@ Draggable - - - - + + + + Draggable - - - - - - - + + + + + + + Draggable @@ -517,15 +517,15 @@ Draggable - - - - - - - - - + + + + + + + + + toolbarSeparator @@ -537,8 +537,8 @@ Draggable - - + + stretch diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1508644233.index b/.metadata/.plugins/org.eclipse.jdt.core/1508644233.index index 16293b1326899a39f29ec4e33fd4796997acf7f3..7031d36c449d3ca6536e535fb8e50d341e0089e3 100644 GIT binary patch delta 3546 zcmY*cOKcn06@5dIL(Xvckx5xfBPSC4k=3wbloD0W>H9$o2XzQG*<7uZ$=+)L_W^E zd+)jDoO}KCPnDnlO!;MxVtxGDZ%Tdk2*ZB~dsO~?=E7fHNpvLDjF!t6cK%j6$Q83y z-#52ststxn9~~VXia+&V*!ge2lMq)fzahT9)F*y->4|v%(q-|zO9MMomp@R%lYv3; z;>vX~FmO{GUAZcLGVrbR?S-e$cr6squMCMdud2$P_~*cc_-NqvPW@^_5&ypSrugf% z3p=@QCKC_;&aw{Q3MXxDI+bBaszcQbmN7k#JM{`?oy9CuYR1SFiY#XZ@4`?1q#5wa z2;|si*;O7+xy`4x_-*>a_w}a3gPQ5Vukdan(ZRBHzQ(s|Yo<>xyke@?4A$uLmn<9b zaF#o(p*(oW(wn{&^2!Z-S=Ct1HiK}+sq?Lc74hiig-JE^tp+8UOc=#7%PyH4{Jv%L zfDRL#Wu`V9 zm#gv!vdjj}rvU)utWx5=9a;(Cz~|@@BkH7PY?cCi=%qtuz$KGz zqhTVg@LAyvmRq{zV6jcvFT77D%mC=)+H(O=agGOwvpj?*V@`y86xgtW8E3_EkUWx? zIyQFJa^lpAK!8Qt+~)p$+q8UYld>=Vc&pq}B?lm@1Ey~JCLj{?FLY1%jwSw&rE8!S zXv0apND^I2IbS?ih8DWtSz4HvDwJ0#8J3f$Byqyzh^3$i_+5NH)GcO)O5!hfx<#dO zzEj6e0GrIXv*OS9z9E!UcdK*F4Ca8|(>8BFn<5rzd8SRd)q2Bn=;nQ9yb~7-k3gpT zK)VxJCKDaN77gy2kGYX1C(6UA6-+lgpdP;V1>rmiB9xJOQcTqfC1zlPOOk1b_JMem z?3z=c;piH~Py@^Y%A22ClCR@qd!(b&*udc~EBfx{GC?N6!AFn8KZd(6rk^)mR3UtC zv%&@vW!a76Qj2op5BFXlPx~C1hAAH~jhn2Jdt!OCuSH$KkcUjKfgDWB2_$7%ny#iV(!1`ve#3+w!qa=PcOiFDs+I$m zMz%4Zj=2qB7bnS4UIjXVn2(2&cDrtr@z~PIs9GC@;I4 z;NFnLE=!Ysq=90ST`!z5{Wh{n_&l~Q>iPPobxjDCPtytWbG;AZiWRs&=QxKnyc3(z&J2eIl zi8_nE3zH@`!F*Z#;%?W&Gb$pLg0wP7$7PrBO`^%MEcgod{U-EX!jhkIrTD=mTqzP! zz1t&xohXaGv97BHFN!vAHgJ|e(O)nu0HK|*UBn3S6(h-BaeYKewW)Wj3HtpOMx&YR}#rneu#}Y zU`5CY6x9lXS$HGDzRmJh@MI0lFOZ`I+S`$Wd0hkuok`bmU>~sDV~$8!5qw&X%0y9~ zsBf2Li0KjtuyvF*#s}6zd|>?}q&*_C7u#JVOFV0{bP$^UG4{a0v-f|6ZaC|1o?0Yc ziuZ24A>O{(BR;!+o@Z^~>{;rg<3}eHf)c^06jLh$VQ_8`_&7)+Br8%9!3OthE3S`hiJG5<@X@G`GssxZ2HYC6 zBd{8lZTjNFbXk0KR~=FtroT=-KOk5iz-&Y=5vpXd(@scR0GzxOA1dAR>A2l_u9Fik?z519k!33KqdsteSjAe5RJfk8buBbSP!YT7{dj z$*;uA8(l5fn(Dz5E85Ip&qKb+O^XnKcm^$NvMFO^$AAh^-Ueqy4t7FNY*e%w5iqR8 zVqoaIR$_XvZh4Ea>d{-YaEXhFbG;oIqX3iZdDFC|B6OC(joB!4mc_zwSBrL*Xc$Tu zU>2U?7Ga}xvYh97wA0Puc$Yne#H1-iOvav{ZE=ht!m>*{%pzzR7ZJL*#b8Bs_~wiQ ze0QQ9ZjTId!LecYkk`jDf|Ueyk4{DRWpFF5%A!+BLIc6#niTIk6e11N7S0}ng_3{) zRoFJ*1UIs@w2Zb`)O%W(>nZwUF+@+iCdIV46%$Qj8E&a6!op@g3{zL9pMhPY>v7F0y7Th4T+$yh(0ox%ftnqNw zvG%xs%du>~ausin+U}xLr!2#Rs^#GuT$E_WJ2H7@;QDXzy;gL3Tomq>IucJAEEkGJ zvBUjYD*z$_V05!QPR-a`bG&NTE$8Lg0$wk;UL#x!eQwoN0td|46#lYR*HIaP-wo#- zUT<<2l~p%(u?)Rk7aAF{!+QAp4a*4@wp`(J6`fFbq>MbHlFT&Rn!{C|C&){kRbOXW zoTxSP-6hsZw?@UJK**JQ}iHF;wRv|^jS&^9lIxFgR%dIJ%4p?Wv!&}0yTVW-sn3GeZ zi=gf^MLPxO3l688hxeN=~;fjzsyNhxS?gc0f^HTGrD_9EDc5Y`cni#=m-sI z;ZSMeZeVR`UEzT3hTQiXUh9jJ0*jY!IPX@WN~mD;R8GB>xRJzPDv*K7<_q0D#S+Vg z0yNVh;w4GllxH~{TwYq6b*unYqPVhot=uGG%nB&hZ&X9!N1Dx{7W2Ej+GxExXuFh3 z*b&Q@SPD|Asd^kU!xd|u6^Z^iGp%a1QExa_$aTq~=d3E%0;EN-i1CbVyAQ>Kmi~-~ z)Lbi@3Iy8i<@s^IJ!XYDao4Ni##N`WWxMLs5i{n*bghm@I&{QRcCg|pOh?SLg9Uff zc5Q$dlfTaPUWh{`sk-GqP#+&t3*F|stzzMV6Z!Ku%UepE>j35|33en1J-F8mJb`lu z%v8G_FX#?wT`9|dkM#~DIaEma zpD8Wevbm#Gc_POWXXWywA>SS8l~3O&zLNug=;RvTr8=RGOzCNnyIbM50`eki!p+T= zFQL+g-S$Z`W|+m2{QO#}sWP1fq$tyrVX}J?MdOK9z;>{z?*- ztFBJa)hy%lx_GGdP7Od1Z^MFMm%1g7lI2P&u)iM}I*ur9C?hlrEKk~9Yj~dULmsuB z{Aa4Tlp-}Mv6^Jj)bnOnzM#g~y4Z1N98rCsRmW2B2221bClNObC1&2Xf`zxWwh6_7 z{QK22X8Qexpys8L%ikGg>AaqiQ)9jTIuvo3KqQl;cYJEFtMaHa@ZA(lQnQ{y*BBV$ z*_I=!3=b3um`;x6^I9Zy5;4m-TEc`Y6N?iOz?Ov(X=~KT9=~yJjP!L6Q`r_;v{)K^ zPIga2itw{6#1?GWQA3=_-%s}05vf{2srwd{1EJEyi-}5Qa4VU%KA>!sa(_XrYLe-= z8ggl$1C}~@%uI-9MhMkH6#WbNIa>8+R|e#7uAP(3bbs@RMYUAAH*zee)YGQmQ`Pp` znkh<>VU`wIC$64T9r3ak)5;=Mn(&H-+qN~t;~mtB%1_mlGm0#a8|1x2As#d22jge^ zDam#Nrk#T1AwQn@N-m@Bj+#RL;d*%}RmV71WlDl-n4oTL-Nghno-WEyMvI#%uMueX zdB#ko2kK#7nV>VIbJVNNqMj(>N2#f*;Eds6WQ7iVo$B0;Ic5O8nyxCHlp$Ac^fmKU z;qBeMv$!s9*=QT$=t#G^p54UXAxl~{*i{rggMMx}(K3Yn#Z=Qc5(u41z~m5HV^(Tq2|1;9d<&a{Mj*d;z0{2Q zgkB|6Mh*sLz#LX+QPgzhSj4WDU=FK?8lX#b5n`RNw3>*Ot8^>ah}NJ;NcyXc<#{ws zC`@N$1!fL_Zgc@7rD)gG$kND|;d9TSxvek&lv)C@5zw-ss7ECEVZ7Wl-)`-(S|Ud* z4_2qERk*qh*H$4Bw8ppjZgm?&PPGHeP?j)Q`g8bhG@y@?4jj&*sQsI7z1bl@yE!O-dGl4dd-MGMUvK^^CNIof bi4DsSr}|~r40eR60r`*VvRs|{G&cD^3RQ_S diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml b/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml index cd8901c..ce5d0e5 100644 --- a/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml +++ b/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml @@ -50,14 +50,14 @@ - - + + diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/0.png b/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/0.png deleted file mode 100644 index a95f60827ddd5cf84fb7081d4fce1a53aae0d8d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`TRmMILn`JZCrGevVP1M${ZD%C zmp|*xO&{8K_)bc@fAr}8$Kg}|+%L*}_h0h3TEk5R!$l_Id9VMW`FZ1Z`}N`{&?T9|8pI9l5YF^|KOjbtR*w&`IA52XU+Xp|Lb1gf8XfW2XiJ!1kOrS ms81HRk#fwLWWuk@z_58+^F9&IJHUfgofqgTDg_xG30IBL
- + + + + @@ -17,7 +20,7 @@ - - + +