diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/0/3027b10cd93e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/0/3027b10cd93e001517108d149b613203 deleted file mode 100644 index 8131160..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/0/3027b10cd93e001517108d149b613203 +++ /dev/null @@ -1,226 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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"; - 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§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!=null && ReloadPlayer.equals(player)) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/10/80fad266df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/10/80fad266df3e001517108d149b613203 deleted file mode 100644 index 2a1ad93..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/10/80fad266df3e001517108d149b613203 +++ /dev/null @@ -1,252 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - 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(player.getName()+"\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: "+player.getName()+" Flair: "+flair+"§r"); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cf/00fa3acadf3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/11/0071a811e63e001517108d149b613203 similarity index 88% rename from .metadata/.plugins/org.eclipse.core.resources/.history/cf/00fa3acadf3e001517108d149b613203 rename to .metadata/.plugins/org.eclipse.core.resources/.history/11/0071a811e63e001517108d149b613203 index 60eeadd..5d5f766 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/cf/00fa3acadf3e001517108d149b613203 +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/11/0071a811e63e001517108d149b613203 @@ -1,9 +1,7 @@ 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; @@ -52,8 +50,8 @@ public class Commands implements CommandExecutor { if(!p.IgnoredFlair) { p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. + //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 @@ -77,7 +75,8 @@ public class Commands implements CommandExecutor { player.sendMessage("§cYou have already set the flair type.§r"); break; } - p.Flair="§7(non-pr.)§r"; + //p.Flair="§7(non-pr.)§r"; + break; case "cantpress": //2015.08.09. if(!p.AcceptedFlair) @@ -121,8 +120,8 @@ public class Commands implements CommandExecutor { MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); if(mp.Flair!=null) { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); + //String flair=mp.Flair; + //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. } @@ -152,7 +151,7 @@ public class Commands implements CommandExecutor { //System.out.println("Args length: " + args.length); if(args.length==1) { - String message="§cUsage: /u admin reload|playerinfo§r"; + String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; SendMessage(player, message); return; } @@ -178,8 +177,11 @@ public class Commands implements CommandExecutor { 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§r"; + String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; SendMessage(player, message); return; } @@ -228,11 +230,11 @@ public class Commands implements CommandExecutor { else SendMessage(player, "There were no exceptions."); } - private static void SetPlayerFlair(Player player, Player targetplayer, String flair) + private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) { //2015.08.09. flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.getName())) + targetplayer.Flair=flair; + if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) { SendMessage(player, "§cError removing previous custom flair!§r"); return; @@ -241,12 +243,22 @@ public class Commands implements CommandExecutor { try { BufferedWriter bw; bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.getName()+"\n"); + 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.getName()+" Flair: "+flair+"§r"); + 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/16/90523966df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/16/90523966df3e001517108d149b613203 deleted file mode 100644 index 2a1ad93..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/16/90523966df3e001517108d149b613203 +++ /dev/null @@ -1,252 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - 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(player.getName()+"\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: "+player.getName()+" Flair: "+flair+"§r"); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/16/c0258975a03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/16/c0258975a03e00151ce8ff6d4f74dabd deleted file mode 100644 index 47a95c0..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/16/c0258975a03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,175 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/17/101a2f29df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/17/101a2f29df3e001517108d149b613203 deleted file mode 100644 index 6b55eb2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/17/101a2f29df3e001517108d149b613203 +++ /dev/null @@ -1,251 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - SendMessage(player, "Error removing previous custom flair!"); - return; - } - 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); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/18/600208ef303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/18/600208ef303e00151cbdba8b5f0a340e deleted file mode 100644 index 70cb3d9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/18/600208ef303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,372 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - //if(AcceptedPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - //player.setDisplayName(player.getDisplayName()+flair); - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //System.out.println("A"); - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - //String displayname=player.getDisplayName(); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - //System.out.println("B"); - for(int i=0; i=colors.length) - { - //System.out.println("D"); - int x=0; - for(int i=0; i towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/19/701d8005313e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/19/701d8005313e00151cbdba8b5f0a340e deleted file mode 100644 index 57c29d1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/19/701d8005313e00151cbdba8b5f0a340e +++ /dev/null @@ -1,353 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1b/50a351cba13e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/1b/50a351cba13e00151ce8ff6d4f74dabd deleted file mode 100644 index db7ac07..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1b/50a351cba13e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,352 +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. - 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(); - } - throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //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() - { - 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. - } - 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(); - 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 static int LastExceptionTime; //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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/80399126e63e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/80399126e63e001517108d149b613203 new file mode 100644 index 0000000..659cf9d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/80399126e63e001517108d149b613203 @@ -0,0 +1,265 @@ +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/1f/e0251d1ba13e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/1f/e0251d1ba13e00151ce8ff6d4f74dabd deleted file mode 100644 index dcf4e9c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1f/e0251d1ba13e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,350 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //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() - { - 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. - } - 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(); - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/24/503f4e74a13e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/24/503f4e74a13e00151ce8ff6d4f74dabd deleted file mode 100644 index fc43abf..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/24/503f4e74a13e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,192 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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(args.length==2) - { - String message="§cUsage: /u admin getlasterror §r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - SendMessage(player, "Stack trace:")args; - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/24/d0c95a0cd93e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/24/d0c95a0cd93e001517108d149b613203 deleted file mode 100644 index b9d957a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/24/d0c95a0cd93e001517108d149b613203 +++ /dev/null @@ -1,224 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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"; - 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§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!=null && ReloadPlayer.equals(player)) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/25/902f77f1de3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/25/902f77f1de3e001517108d149b613203 deleted file mode 100644 index 74f21a1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/25/902f77f1de3e001517108d149b613203 +++ /dev/null @@ -1,250 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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); - } - public 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, 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. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/26/50c81932a33e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/26/50c81932a33e00151ce8ff6d4f74dabd deleted file mode 100644 index 2940503..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/26/50c81932a33e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,190 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/27/60d75efa303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/27/60d75efa303e00151cbdba8b5f0a340e deleted file mode 100644 index ebb1816..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/27/60d75efa303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,362 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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 towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/28/601d65fe303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/28/601d65fe303e00151cbdba8b5f0a340e deleted file mode 100644 index 0023a44..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/28/601d65fe303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,360 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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 towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2a/001db465df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/2a/001db465df3e001517108d149b613203 deleted file mode 100644 index df11079..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2a/001db465df3e001517108d149b613203 +++ /dev/null @@ -1,252 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - 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(player.getName()+"\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: "+player.getName()+" Flair: "+flair); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2c/10b26929df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/2c/10b26929df3e001517108d149b613203 deleted file mode 100644 index 5f009d8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2c/10b26929df3e001517108d149b613203 +++ /dev/null @@ -1,251 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - SendMessage(player, "Error removing previous custom flair!"); - return - } - 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); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2c/50dc4d96a13e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/2c/50dc4d96a13e00151ce8ff6d4f74dabd deleted file mode 100644 index c9d9ba8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2c/50dc4d96a13e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,192 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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(args.length==2) - { - String message="§cUsage: /u admin getlasterror §r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - SendMessage(player, "Stack trace:"); - SendMessage(player, PluginMain.LastException.getStackTrace()); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2e/003fe9fade3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/2e/003fe9fade3e001517108d149b613203 deleted file mode 100644 index 99a2079..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2e/003fe9fade3e001517108d149b613203 +++ /dev/null @@ -1,250 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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); - } - public 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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.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); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2e/50fb0e28a33e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/2e/50fb0e28a33e00151ce8ff6d4f74dabd deleted file mode 100644 index 7f134f9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2e/50fb0e28a33e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,189 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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()); - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2f/1089a9abdc3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/2f/1089a9abdc3e001517108d149b613203 deleted file mode 100644 index 2c1a551..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2f/1089a9abdc3e001517108d149b613203 +++ /dev/null @@ -1,394 +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"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - - } - 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. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/32/d00979788c3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/32/d00979788c3e00151ce8ff6d4f74dabd deleted file mode 100644 index be367ac..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/32/d00979788c3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,348 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - 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"); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/32/d0cdd1d2a13e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/32/d0cdd1d2a13e00151ce8ff6d4f74dabd deleted file mode 100644 index db7ac07..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/32/d0cdd1d2a13e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,352 +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. - 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(); - } - throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //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() - { - 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. - } - 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(); - 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 static int LastExceptionTime; //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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/33/90a26f4bdd3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/33/90a26f4bdd3e001517108d149b613203 deleted file mode 100644 index 45d12d5..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/33/90a26f4bdd3e001517108d149b613203 +++ /dev/null @@ -1,398 +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) - { - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/33/e0d225f4303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/33/e0d225f4303e00151cbdba8b5f0a340e deleted file mode 100644 index df22067..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/33/e0d225f4303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,368 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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<>(); - //System.out.println("B"); - for(int i=0; i=colors.length) - { - //System.out.println("D"); - int x=0; - for(int i=0; i towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/37/508af516a33e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/37/508af516a33e00151ce8ff6d4f74dabd deleted file mode 100644 index 17fffa7..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/37/508af516a33e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,189 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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()); - } - else - SendMessage() - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3a/d0f29b1ba13e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/3a/d0f29b1ba13e00151ce8ff6d4f74dabd deleted file mode 100644 index dcf4e9c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3a/d0f29b1ba13e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,350 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //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() - { - 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. - } - 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(); - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3b/60019f03313e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/3b/60019f03313e00151cbdba8b5f0a340e deleted file mode 100644 index 94daee8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3b/60019f03313e00151cbdba8b5f0a340e +++ /dev/null @@ -1,354 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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 towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3b/a0a30729d93e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/3b/a0a30729d93e001517108d149b613203 deleted file mode 100644 index 46801eb..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3b/a0a30729d93e001517108d149b613203 +++ /dev/null @@ -1,227 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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"; - 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§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!=null && ReloadPlayer.equals(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. - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3e/00fa721adf3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/3e/00fa721adf3e001517108d149b613203 deleted file mode 100644 index eac777b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3e/00fa721adf3e001517108d149b613203 +++ /dev/null @@ -1,250 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - SendMessage(player, "Error removing previous custom 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); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3e/60cf0473a13e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/3e/60cf0473a13e00151ce8ff6d4f74dabd deleted file mode 100644 index fe6319f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3e/60cf0473a13e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,190 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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(args.length==2) - { - String message="§cUsage: /u admin getlasterror §r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/42/50ee9a65a03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/42/50ee9a65a03e00151ce8ff6d4f74dabd deleted file mode 100644 index f7cbf9c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/42/50ee9a65a03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,347 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - 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); - } - 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(); - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/43/70258926313e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/43/70258926313e00151cbdba8b5f0a340e deleted file mode 100644 index 4427f9e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/43/70258926313e00151cbdba8b5f0a340e +++ /dev/null @@ -1,348 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/49/50f5486fa03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/49/50f5486fa03e00151ce8ff6d4f74dabd deleted file mode 100644 index dd0eded..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/49/50f5486fa03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,349 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //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() - { - 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); - } - 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(); - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4a/202fd432d93e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/4a/202fd432d93e001517108d149b613203 deleted file mode 100644 index a463049..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/4a/202fd432d93e001517108d149b613203 +++ /dev/null @@ -1,228 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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"; - 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§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!=null && ReloadPlayer.equals(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.§r"); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/51/50d92add8a3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/51/50d92add8a3e00151ce8ff6d4f74dabd deleted file mode 100644 index 2f5950a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/51/50d92add8a3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,175 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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) { - System.out.println("Args.length: "+args.length); - 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. - 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; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase()=="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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/52/d0059abea13e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/52/d0059abea13e00151ce8ff6d4f74dabd deleted file mode 100644 index 690770e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/52/d0059abea13e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,351 +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. - 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(); - } - throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //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() - { - 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. - } - 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(); - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/53/c0f0ed77a03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/53/c0f0ed77a03e00151ce8ff6d4f74dabd deleted file mode 100644 index 84d5a37..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/53/c0f0ed77a03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,176 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/53/d05d36728b3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/53/d05d36728b3e00151ce8ff6d4f74dabd deleted file mode 100644 index 445cb6c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/53/d05d36728b3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,174 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/58/107b898edc3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/58/107b898edc3e001517108d149b613203 deleted file mode 100644 index 3a0c2b0..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/58/107b898edc3e001517108d149b613203 +++ /dev/null @@ -1,394 +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"); - 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(); - } - //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. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/59/90935a89dc3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/59/90935a89dc3e001517108d149b613203 deleted file mode 100644 index abf639b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/59/90935a89dc3e001517108d149b613203 +++ /dev/null @@ -1,394 +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("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(); - } - //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. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/59/e01c61f6303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/59/e01c61f6303e00151cbdba8b5f0a340e deleted file mode 100644 index a2f79e3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/59/e01c61f6303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,366 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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) - { - //System.out.println("D"); - int x=0; - for(int i=0; i towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5a/109a5eedde3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/5a/109a5eedde3e001517108d149b613203 deleted file mode 100644 index fdf80ca..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5a/109a5eedde3e001517108d149b613203 +++ /dev/null @@ -1,250 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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); - } - public 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."); - } - 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. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5a/60029e24a13e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/5a/60029e24a13e00151ce8ff6d4f74dabd deleted file mode 100644 index 98df576..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5a/60029e24a13e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,351 +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. - 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(); - } - - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //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() - { - 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. - } - 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(); - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5c/5000959ea13e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/5c/5000959ea13e00151ce8ff6d4f74dabd deleted file mode 100644 index fe6319f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5c/5000959ea13e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,190 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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(args.length==2) - { - String message="§cUsage: /u admin getlasterror §r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5c/d05c6ca4a13e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/5c/d05c6ca4a13e00151ce8ff6d4f74dabd deleted file mode 100644 index e1dfd78..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5c/d05c6ca4a13e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,191 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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(args.length==2) - { - String message="§cUsage: /u admin getlasterror §r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - SendMessage(player, "Time:") - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5d/c03b3a38a33e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/5d/c03b3a38a33e00151ce8ff6d4f74dabd deleted file mode 100644 index 772a8d8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5d/c03b3a38a33e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,192 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - break; - } - } - 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."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/60/808a5063df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/60/808a5063df3e001517108d149b613203 deleted file mode 100644 index df11079..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/60/808a5063df3e001517108d149b613203 +++ /dev/null @@ -1,252 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - 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(player.getName()+"\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: "+player.getName()+" Flair: "+flair); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/61/20e39728df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/61/20e39728df3e001517108d149b613203 deleted file mode 100644 index 6b55eb2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/61/20e39728df3e001517108d149b613203 +++ /dev/null @@ -1,251 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - SendMessage(player, "Error removing previous custom flair!"); - return; - } - 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); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/65/50f9fa688c3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/65/50f9fa688c3e00151ce8ff6d4f74dabd deleted file mode 100644 index 0aecdd3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/65/50f9fa688c3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,348 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - 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. - try { - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/67/d08f62038d3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/67/d08f62038d3e00151ce8ff6d4f74dabd deleted file mode 100644 index 47a95c0..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/67/d08f62038d3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,175 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/68/f09bcae9303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/68/f09bcae9303e00151cbdba8b5f0a340e deleted file mode 100644 index 00b6037..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/68/f09bcae9303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,377 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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)) - { - //System.out.println("DisplayName: "+player.getDisplayName()); - //player.setDisplayName(player.getDisplayName()+finalflair); - AppendPlayerDisplayFlair(player, username, finalflair); - //System.out.println("DisplayName: "+player.getDisplayName()); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - //String flair=PlayerFlairs.get(player.getName()); - 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) - { - //if(IgnoredPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - //if(AcceptedPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - //player.setDisplayName(player.getDisplayName()+flair); - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //System.out.println("A"); - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - //String displayname=player.getDisplayName(); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - //System.out.println("B"); - for(int i=0; i=colors.length) - { - //System.out.println("D"); - int x=0; - for(int i=0; i towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6c/60729b58a03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/6c/60729b58a03e00151ce8ff6d4f74dabd deleted file mode 100644 index 2735e70..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6c/60729b58a03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,347 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - 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); - } - 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(); - 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; - } - } - } - - public static Exception LastException; - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6d/30dfaa0fd93e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/6d/30dfaa0fd93e001517108d149b613203 deleted file mode 100644 index c2af90a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6d/30dfaa0fd93e001517108d149b613203 +++ /dev/null @@ -1,227 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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"; - 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§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!=null && ReloadPlayer.equals(player)) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6e/b0802cf3de3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/6e/b0802cf3de3e001517108d149b613203 deleted file mode 100644 index e679de8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6e/b0802cf3de3e001517108d149b613203 +++ /dev/null @@ -1,250 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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); - } - public 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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.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. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6f/308fe70ed93e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/6f/308fe70ed93e001517108d149b613203 deleted file mode 100644 index c2af90a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6f/308fe70ed93e001517108d149b613203 +++ /dev/null @@ -1,227 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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"; - 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§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!=null && ReloadPlayer.equals(player)) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7/d0b0f3a0a13e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/7/d0b0f3a0a13e00151ce8ff6d4f74dabd deleted file mode 100644 index e758703..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7/d0b0f3a0a13e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,191 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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(args.length==2) - { - String message="§cUsage: /u admin getlasterror §r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - SendMessage(player, "Date:") - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/70/50a02cb8a03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/70/50a02cb8a03e00151ce8ff6d4f74dabd deleted file mode 100644 index 8fd38ad..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/70/50a02cb8a03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,186 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/73/a095babcdc3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/73/a095babcdc3e001517108d149b613203 deleted file mode 100644 index 9c88529..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/73/a095babcdc3e001517108d149b613203 +++ /dev/null @@ -1,394 +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"); - 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= - } - 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. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/78/e06b4feea03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/78/e06b4feea03e00151ce8ff6d4f74dabd deleted file mode 100644 index a4b548a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/78/e06b4feea03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,190 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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(args.length==2) - { - String message="§cUsage: /u admin getlasterror §r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Last error:"); - SendMessagE(player, PluginMain.LastException.toString()); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/79/106a6cf8dc3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/79/106a6cf8dc3e001517108d149b613203 deleted file mode 100644 index 56c16c3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/79/106a6cf8dc3e001517108d149b613203 +++ /dev/null @@ -1,394 +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"); - 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]; - } - 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. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7c/501c42e7303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/7c/501c42e7303e00151cbdba8b5f0a340e deleted file mode 100644 index 675fa44..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7c/501c42e7303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,379 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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. - { - //System.out.println("Online player: "+player.getName()); - //System.out.println("player.getName ("+player.getName()+") == playername ("+playername+"): "+(player.getName()==playername)); - if(player.getName().equals(playername)) - { - //System.out.println("DisplayName: "+player.getDisplayName()); - //player.setDisplayName(player.getDisplayName()+finalflair); - AppendPlayerDisplayFlair(player, username, finalflair); - //System.out.println("DisplayName: "+player.getDisplayName()); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - //String flair=PlayerFlairs.get(player.getName()); - 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) - { - //if(IgnoredPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - //if(AcceptedPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - //player.setDisplayName(player.getDisplayName()+flair); - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //System.out.println("A"); - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - //String displayname=player.getDisplayName(); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - //System.out.println("B"); - for(int i=0; i=colors.length) - { - //System.out.println("D"); - int x=0; - for(int i=0; i towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7d/10c43d1bdf3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/7d/10c43d1bdf3e001517108d149b613203 deleted file mode 100644 index eac777b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7d/10c43d1bdf3e001517108d149b613203 +++ /dev/null @@ -1,250 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - SendMessage(player, "Error removing previous custom 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); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7e/001a1675df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/7e/001a1675df3e001517108d149b613203 deleted file mode 100644 index 2a1ad93..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7e/001a1675df3e001517108d149b613203 +++ /dev/null @@ -1,252 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - 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(player.getName()+"\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: "+player.getName()+" Flair: "+flair+"§r"); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7e/2093d427df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/7e/2093d427df3e001517108d149b613203 deleted file mode 100644 index eac777b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7e/2093d427df3e001517108d149b613203 +++ /dev/null @@ -1,250 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - SendMessage(player, "Error removing previous custom 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); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7f/e0ee0200313e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/7f/e0ee0200313e00151cbdba8b5f0a340e deleted file mode 100644 index 5c2c1b4..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7f/e0ee0200313e00151cbdba8b5f0a340e +++ /dev/null @@ -1,358 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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 towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/80/00713b62df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/80/00713b62df3e001517108d149b613203 deleted file mode 100644 index bfee7cd..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/80/00713b62df3e001517108d149b613203 +++ /dev/null @@ -1,252 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - 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(player.getName()+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "") - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/82/00f1d2ebde3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/82/00f1d2ebde3e001517108d149b613203 deleted file mode 100644 index f007b97..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/82/00f1d2ebde3e001517108d149b613203 +++ /dev/null @@ -1,228 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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); - } - public 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."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/82/50e26929a13e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/82/50e26929a13e00151ce8ff6d4f74dabd deleted file mode 100644 index f5a9fe4..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/82/50e26929a13e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,351 +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. - 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(); - } - throw new Exception("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //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() - { - 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. - } - 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(); - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/82/80cc011bdf3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/82/80cc011bdf3e001517108d149b613203 deleted file mode 100644 index eac777b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/82/80cc011bdf3e001517108d149b613203 +++ /dev/null @@ -1,250 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - SendMessage(player, "Error removing previous custom 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); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/82/d08e864aa03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/82/d08e864aa03e00151ce8ff6d4f74dabd deleted file mode 100644 index a914268..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/82/d08e864aa03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,344 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - 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); - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/84/50665de9a03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/84/50665de9a03e00151ce8ff6d4f74dabd deleted file mode 100644 index 35d6fc9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/84/50665de9a03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,190 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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(args.length==2) - { - String message="§cUsage: /u admin getlasterror §r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Last error:"); - SendMessagE(player, PluginMain.LastException); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/85/d0022215a33e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/85/d0022215a33e00151ce8ff6d4f74dabd deleted file mode 100644 index 3d42d7a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/85/d0022215a33e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,189 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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()); - } - else - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/87/d02a74358b3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/87/d02a74358b3e00151ce8ff6d4f74dabd deleted file mode 100644 index fb490b0..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/87/d02a74358b3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,177 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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) { - System.out.println("Args.length: "+args.length); - if(args.length>0) - System.out.println("Args[0].length: "+args[0].length()); - 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. - 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; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase()=="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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/88/101b2028df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/88/101b2028df3e001517108d149b613203 deleted file mode 100644 index 5f009d8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/88/101b2028df3e001517108d149b613203 +++ /dev/null @@ -1,251 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - SendMessage(player, "Error removing previous custom flair!"); - return - } - 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); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8b/70ab04f3303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/8b/70ab04f3303e00151cbdba8b5f0a340e deleted file mode 100644 index f41b292..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/8b/70ab04f3303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,370 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //System.out.println("A"); - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - //String displayname=player.getDisplayName(); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - //System.out.println("B"); - for(int i=0; i=colors.length) - { - //System.out.println("D"); - int x=0; - for(int i=0; i towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8c/e09fcf22313e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/8c/e09fcf22313e00151cbdba8b5f0a340e deleted file mode 100644 index 48637e8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/8c/e09fcf22313e00151cbdba8b5f0a340e +++ /dev/null @@ -1,349 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8f/e04a23618a3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/8f/e04a23618a3e00151ce8ff6d4f74dabd deleted file mode 100644 index 189cf5f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/8f/e04a23618a3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,174 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - default: - return false; - } - return true; - } - - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase()=="admin") - { - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9/10ab8866df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/9/10ab8866df3e001517108d149b613203 deleted file mode 100644 index 2a1ad93..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9/10ab8866df3e001517108d149b613203 +++ /dev/null @@ -1,252 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - 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(player.getName()+"\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: "+player.getName()+" Flair: "+flair+"§r"); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/90/500d3da18a3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/90/500d3da18a3e00151ce8ff6d4f74dabd deleted file mode 100644 index ce93db7..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/90/500d3da18a3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,175 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - default: - return false; - } - return true; - } - - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase()=="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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/91/d03aaa6b8c3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/91/d03aaa6b8c3e00151ce8ff6d4f74dabd deleted file mode 100644 index 840738b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/91/d03aaa6b8c3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,348 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - 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(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/92/e0548f13a33e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/92/e0548f13a33e00151ce8ff6d4f74dabd deleted file mode 100644 index 552048a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/92/e0548f13a33e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,188 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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()); - } - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/93/508cb163893e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/93/508cb163893e00151ce8ff6d4f74dabd deleted file mode 100644 index 846537c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/93/508cb163893e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,172 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - default: - return false; - } - return true; - } - - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args[0].toLowerCase()=="admin") - DoAdmin(null, args); //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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } - 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); - return; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/95/6076ddeb303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/95/6076ddeb303e00151cbdba8b5f0a340e deleted file mode 100644 index 129cab1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/95/6076ddeb303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,374 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - //String flair=PlayerFlairs.get(player.getName()); - 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) - { - //if(IgnoredPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - //if(AcceptedPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - //player.setDisplayName(player.getDisplayName()+flair); - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //System.out.println("A"); - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - //String displayname=player.getDisplayName(); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - //System.out.println("B"); - for(int i=0; i=colors.length) - { - //System.out.println("D"); - int x=0; - for(int i=0; i towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/96/50bccdcda03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/96/50bccdcda03e00151ce8ff6d4f74dabd deleted file mode 100644 index 9b36498..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/96/50bccdcda03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,188 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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(args.length==2) - { - String message="§cUsage: /u admin getlasterror §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/97/d0fb054da23e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/97/d0fb054da23e00151ce8ff6d4f74dabd deleted file mode 100644 index fe6319f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/97/d0fb054da23e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,190 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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(args.length==2) - { - String message="§cUsage: /u admin getlasterror §r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/98/602c8007a33e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/98/602c8007a33e00151ce8ff6d4f74dabd deleted file mode 100644 index 66207b9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/98/602c8007a33e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,184 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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" - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/99/308353a4d93e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/99/308353a4d93e001517108d149b613203 deleted file mode 100644 index 4ad7ffc..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/99/308353a4d93e001517108d149b613203 +++ /dev/null @@ -1,228 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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"; - 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§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!=null && ReloadPlayer.equals(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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/99/c02d2d8d8c3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/99/c02d2d8d8c3e00151ce8ff6d4f74dabd deleted file mode 100644 index fbabed3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/99/c02d2d8d8c3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,348 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - 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. - try { - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/60a8017fa13e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/9a/60a8017fa13e00151ce8ff6d4f74dabd deleted file mode 100644 index 51e8ea3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/60a8017fa13e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,191 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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(args.length==2) - { - String message="§cUsage: /u admin getlasterror §r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - SendMessage(player, "Stack trace:"); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/802cbb44dd3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/9a/802cbb44dd3e001517108d149b613203 deleted file mode 100644 index 2d5bf44..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/802cbb44dd3e001517108d149b613203 +++ /dev/null @@ -1,394 +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. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/e02043ed303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/9a/e02043ed303e00151cbdba8b5f0a340e deleted file mode 100644 index 5681270..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/e02043ed303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,373 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - //if(IgnoredPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - //if(AcceptedPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - //player.setDisplayName(player.getDisplayName()+flair); - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //System.out.println("A"); - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - //String displayname=player.getDisplayName(); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - //System.out.println("B"); - for(int i=0; i=colors.length) - { - //System.out.println("D"); - int x=0; - for(int i=0; i towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9b/e0ff56f5303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/9b/e0ff56f5303e00151cbdba8b5f0a340e deleted file mode 100644 index 9b0f7f8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9b/e0ff56f5303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,367 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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) - { - //System.out.println("D"); - int x=0; - for(int i=0; i towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a/505b7c3b8b3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/a/505b7c3b8b3e00151ce8ff6d4f74dabd deleted file mode 100644 index 9ac2034..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a/505b7c3b8b3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,174 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase()=="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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a/d08725c0a13e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/a/d08725c0a13e00151ce8ff6d4f74dabd deleted file mode 100644 index 466716b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a/d08725c0a13e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,352 +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. - 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(); - } - throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //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() - { - 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. - } - 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(); - 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 static int LastExceptionTime; - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a0/e0f602e4303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/a0/e0f602e4303e00151cbdba8b5f0a340e deleted file mode 100644 index a994139..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a0/e0f602e4303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,389 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - /*for(Player player : Players) - { - if(player.getName()==playername) - { - PlayerFlairs.put(player, finalflair); - break; - } - }*/ - //System.out.println("SetFlair - playername: "+playername+" text: "+text+" flairclass: "+flairclass); - System.out.println("Added new flair to "+playername+": "+finalflair); - //for(Player player : Players) - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - //System.out.println("Online player: "+player.getName()); - //System.out.println("player.getName ("+player.getName()+") == playername ("+playername+"): "+(player.getName()==playername)); - if(player.getName().equals(playername)) - { - //System.out.println("DisplayName: "+player.getDisplayName()); - //player.setDisplayName(player.getDisplayName()+finalflair); - AppendPlayerDisplayFlair(player, username, finalflair); - //System.out.println("DisplayName: "+player.getDisplayName()); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - //String flair=PlayerFlairs.get(player.getName()); - 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) - { - //if(IgnoredPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - //if(AcceptedPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - //player.setDisplayName(player.getDisplayName()+flair); - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //System.out.println("A"); - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - //String displayname=player.getDisplayName(); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - //System.out.println("B"); - for(int i=0; i=colors.length) - { - //System.out.println("D"); - int x=0; - for(int i=0; i towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a2/60169512a33e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/a2/60169512a33e00151ce8ff6d4f74dabd deleted file mode 100644 index 66207b9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a2/60169512a33e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,184 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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" - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a2/d038ff54a03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/a2/d038ff54a03e00151ce8ff6d4f74dabd deleted file mode 100644 index e7ec0d2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a2/d038ff54a03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,347 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - 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); - } - 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(); - 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); - - } - } - } - - public static Exception LastException; - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a3/00bc291adf3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/a3/00bc291adf3e001517108d149b613203 deleted file mode 100644 index eac777b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a3/00bc291adf3e001517108d149b613203 +++ /dev/null @@ -1,250 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - SendMessage(player, "Error removing previous custom 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); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a5/50d5a85f893e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/a5/50d5a85f893e00151ce8ff6d4f74dabd deleted file mode 100644 index 4af679a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a5/50d5a85f893e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,173 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - default: - return false; - } - return true; - } - - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args[0].toLowerCase()=="admin") - DoAdmin(null, args); //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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } - 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); - return; - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - return; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a6/20f25379dc3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/a6/20f25379dc3e001517108d149b613203 deleted file mode 100644 index 4d40cf6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a6/20f25379dc3e001517108d149b613203 +++ /dev/null @@ -1,382 +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(); - } - //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. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a7/d04965c4a03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/a7/d04965c4a03e00151ce8ff6d4f74dabd deleted file mode 100644 index 20ce245..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a7/d04965c4a03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,186 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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(args.length==2) - { - String message="§cUsage: /u admin getlasterror §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/d0e720d9a03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/a8/d0e720d9a03e00151ce8ff6d4f74dabd deleted file mode 100644 index 80abe71..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/d0e720d9a03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,189 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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(args.length==2) - { - String message="§cUsage: /u admin getlasterror §r"; - SendMessage(player, message); - return; - } - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/aa/40db9018d93e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/aa/40db9018d93e001517108d149b613203 deleted file mode 100644 index c2af90a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/aa/40db9018d93e001517108d149b613203 +++ /dev/null @@ -1,227 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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"; - 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§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!=null && ReloadPlayer.equals(player)) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/aa/e0f7acb18a3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/aa/e0f7acb18a3e00151ce8ff6d4f74dabd deleted file mode 100644 index 9ac2034..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/aa/e0f7acb18a3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,174 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase()=="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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ac/d08c8651a03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/ac/d08c8651a03e00151ce8ff6d4f74dabd deleted file mode 100644 index 1533e80..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ac/d08c8651a03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,345 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - 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); - } - 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(); - 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); - - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/22/8052bd83df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/ae/10d46905e63e001517108d149b613203 similarity index 88% rename from .metadata/.plugins/org.eclipse.core.resources/.history/22/8052bd83df3e001517108d149b613203 rename to .metadata/.plugins/org.eclipse.core.resources/.history/ae/10d46905e63e001517108d149b613203 index 2bbf620..28d37b8 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/22/8052bd83df3e001517108d149b613203 +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ae/10d46905e63e001517108d149b613203 @@ -1,9 +1,7 @@ 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; @@ -52,8 +50,8 @@ public class Commands implements CommandExecutor { if(!p.IgnoredFlair) { p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. + //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 @@ -121,8 +119,8 @@ public class Commands implements CommandExecutor { MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); if(mp.Flair!=null) { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); + //String flair=mp.Flair; + //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. } @@ -152,7 +150,7 @@ public class Commands implements CommandExecutor { //System.out.println("Args length: " + args.length); if(args.length==1) { - String message="§cUsage: /u admin reload|playerinfo§r"; + String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; SendMessage(player, message); return; } @@ -178,8 +176,11 @@ public class Commands implements CommandExecutor { 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§r"; + String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; SendMessage(player, message); return; } @@ -228,11 +229,11 @@ public class Commands implements CommandExecutor { else SendMessage(player, "There were no exceptions."); } - private static void SetPlayerFlair(Player player, Player targetplayer, String flair) + private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) { //2015.08.09. flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.getName())) + targetplayer.Flair=flair; + if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) { SendMessage(player, "§cError removing previous custom flair!§r"); return; @@ -241,12 +242,22 @@ public class Commands implements CommandExecutor { try { BufferedWriter bw; bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); + 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.getName()+" Flair: "+flair+"§r"); + 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/af/80d63604df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/af/80d63604df3e001517108d149b613203 deleted file mode 100644 index 9e33acb..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/af/80d63604df3e001517108d149b613203 +++ /dev/null @@ -1,250 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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); - } - public 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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - 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); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b/60c8a0e5303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/b/60c8a0e5303e00151cbdba8b5f0a340e deleted file mode 100644 index d3c43e6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b/60c8a0e5303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,380 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - //for(Player player : Players) - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - //System.out.println("Online player: "+player.getName()); - //System.out.println("player.getName ("+player.getName()+") == playername ("+playername+"): "+(player.getName()==playername)); - if(player.getName().equals(playername)) - { - //System.out.println("DisplayName: "+player.getDisplayName()); - //player.setDisplayName(player.getDisplayName()+finalflair); - AppendPlayerDisplayFlair(player, username, finalflair); - //System.out.println("DisplayName: "+player.getDisplayName()); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - //String flair=PlayerFlairs.get(player.getName()); - 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) - { - //if(IgnoredPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - //if(AcceptedPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - //player.setDisplayName(player.getDisplayName()+flair); - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //System.out.println("A"); - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - //String displayname=player.getDisplayName(); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - //System.out.println("B"); - for(int i=0; i=colors.length) - { - //System.out.println("D"); - int x=0; - for(int i=0; i towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b1/4022a6f68a3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/b1/4022a6f68a3e00151ce8ff6d4f74dabd deleted file mode 100644 index 9f8e942..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b1/4022a6f68a3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,177 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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) { - System.out.println("Args.length: "+args.length); - if(args.length>0) - System.out.println("Args[0]: "+args[0]); - 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. - 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; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase()=="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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b1/503562fa893e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/b1/503562fa893e00151ce8ff6d4f74dabd deleted file mode 100644 index 645942c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b1/503562fa893e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,348 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b1/60eec201313e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/b1/60eec201313e00151cbdba8b5f0a340e deleted file mode 100644 index de5a7f9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b1/60eec201313e00151cbdba8b5f0a340e +++ /dev/null @@ -1,357 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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 towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b5/d057e469a03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/b5/d057e469a03e00151ce8ff6d4f74dabd deleted file mode 100644 index 3b0284f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b5/d057e469a03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,348 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; - } - 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() - { - 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); - } - 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); - } - 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(); - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bd/90d70867df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/bd/90d70867df3e001517108d149b613203 deleted file mode 100644 index 2a1ad93..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bd/90d70867df3e001517108d149b613203 +++ /dev/null @@ -1,252 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - 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(player.getName()+"\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: "+player.getName()+" Flair: "+flair+"§r"); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c2/30656a8fdc3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/c2/30656a8fdc3e001517108d149b613203 deleted file mode 100644 index ee5ce1b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c2/30656a8fdc3e001517108d149b613203 +++ /dev/null @@ -1,394 +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"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - - } - 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. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c2/60afc4f8303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/c2/60afc4f8303e00151cbdba8b5f0a340e deleted file mode 100644 index c708b07..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c2/60afc4f8303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,365 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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 towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c4/d04977f0303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/c4/d04977f0303e00151cbdba8b5f0a340e deleted file mode 100644 index 83c5482..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c4/d04977f0303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,371 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - //player.setDisplayName(player.getDisplayName()+flair); - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //System.out.println("A"); - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - //String displayname=player.getDisplayName(); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - //System.out.println("B"); - for(int i=0; i=colors.length) - { - //System.out.println("D"); - int x=0; - for(int i=0; i towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c7/20873c35da3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/c7/20873c35da3e001517108d149b613203 deleted file mode 100644 index e279910..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c7/20873c35da3e001517108d149b613203 +++ /dev/null @@ -1,380 +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(); - 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(); - } - //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. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ca/00f60a63df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/ca/00f60a63df3e001517108d149b613203 deleted file mode 100644 index df11079..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ca/00f60a63df3e001517108d149b613203 +++ /dev/null @@ -1,252 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - 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(player.getName()+"\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: "+player.getName()+" Flair: "+flair); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cb/50dc5e1fa33e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/cb/50dc5e1fa33e00151ce8ff6d4f74dabd deleted file mode 100644 index 5dc0b1d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/cb/50dc5e1fa33e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,189 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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()); - } - else - SendMessage(player, ) - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/62/00fd4080df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/cc/003e7725e63e001517108d149b613203 similarity index 87% rename from .metadata/.plugins/org.eclipse.core.resources/.history/62/00fd4080df3e001517108d149b613203 rename to .metadata/.plugins/org.eclipse.core.resources/.history/cc/003e7725e63e001517108d149b613203 index a2babdc..dbb5647 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/62/00fd4080df3e001517108d149b613203 +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/cc/003e7725e63e001517108d149b613203 @@ -1,9 +1,7 @@ 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; @@ -52,8 +50,8 @@ public class Commands implements CommandExecutor { if(!p.IgnoredFlair) { p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. + //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 @@ -77,7 +75,8 @@ public class Commands implements CommandExecutor { player.sendMessage("§cYou have already set the flair type.§r"); break; } - p.Flair="§7(non-pr.)§r"; + //p.Flair="§7(non-pr.)§r"; + SetPlayerFlair(player, p, "§7(non-pr.)§r"); break; case "cantpress": //2015.08.09. if(!p.AcceptedFlair) @@ -121,8 +120,8 @@ public class Commands implements CommandExecutor { MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); if(mp.Flair!=null) { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); + //String flair=mp.Flair; + //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. } @@ -152,7 +151,7 @@ public class Commands implements CommandExecutor { //System.out.println("Args length: " + args.length); if(args.length==1) { - String message="§cUsage: /u admin reload|playerinfo§r"; + String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; SendMessage(player, message); return; } @@ -178,8 +177,11 @@ public class Commands implements CommandExecutor { 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§r"; + String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; SendMessage(player, message); return; } @@ -228,11 +230,11 @@ public class Commands implements CommandExecutor { else SendMessage(player, "There were no exceptions."); } - private static void SetPlayerFlair(Player player, Player targetplayer, String flair) + private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) { //2015.08.09. flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) + targetplayer.Flair=flair; + if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) { SendMessage(player, "§cError removing previous custom flair!§r"); return; @@ -241,12 +243,22 @@ public class Commands implements CommandExecutor { try { BufferedWriter bw; bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.getName()+"\n"); + 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.getName()+" Flair: "+flair+"§r"); + 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/cd/804ab462df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/cd/804ab462df3e001517108d149b613203 deleted file mode 100644 index df11079..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/cd/804ab462df3e001517108d149b613203 +++ /dev/null @@ -1,252 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - 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(player.getName()+"\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: "+player.getName()+" Flair: "+flair); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cf/5089102f8a3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/cf/5089102f8a3e00151ce8ff6d4f74dabd deleted file mode 100644 index fb810a8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/cf/5089102f8a3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,171 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - default: - return false; - } - return true; - } - - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args[0].toLowerCase()=="admin") - DoAdmin(null, args); //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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d/e05a967e8a3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/d/e05a967e8a3e00151ce8ff6d4f74dabd deleted file mode 100644 index 121a689..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d/e05a967e8a3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,174 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - default: - return false; - } - return true; - } - - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase()=="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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d/e0ef36df303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/d/e0ef36df303e00151cbdba8b5f0a340e deleted file mode 100644 index fb3c43d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d/e0ef36df303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,404 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - /*Player player=null; - for(Player p : Players) - { - if(p.getName()==playername) - { - player=p; - break; - } - } - if(player==null) - return false;*/ - //return PlayerFlairs.containsKey(playername); - //return MaybeOfflinePlayer.AllPlayers.containsKey(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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - //PlayerFlairs.put(playername, finalflair); - //PlayerUserNames.put(playername, username); - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - /*for(Player player : Players) - { - if(player.getName()==playername) - { - PlayerFlairs.put(player, finalflair); - break; - } - }*/ - //System.out.println("SetFlair - playername: "+playername+" text: "+text+" flairclass: "+flairclass); - System.out.println("Added new flair to "+playername+": "+finalflair); - //for(Player player : Players) - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - //System.out.println("Online player: "+player.getName()); - //System.out.println("player.getName ("+player.getName()+") == playername ("+playername+"): "+(player.getName()==playername)); - if(player.getName().equals(playername)) - { - //System.out.println("DisplayName: "+player.getDisplayName()); - //player.setDisplayName(player.getDisplayName()+finalflair); - AppendPlayerDisplayFlair(player, username, finalflair); - //System.out.println("DisplayName: "+player.getDisplayName()); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - //String flair=PlayerFlairs.get(player.getName()); - 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) - { - //if(IgnoredPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - //if(AcceptedPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - //player.setDisplayName(player.getDisplayName()+flair); - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //System.out.println("A"); - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - //String displayname=player.getDisplayName(); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - //System.out.println("B"); - for(int i=0; i=colors.length) - { - //System.out.println("D"); - int x=0; - for(int i=0; i towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/d054706d8c3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/d0/d054706d8c3e00151ce8ff6d4f74dabd deleted file mode 100644 index 8a2669b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/d054706d8c3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,348 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - 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(); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d4/708262e1303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/d4/708262e1303e00151cbdba8b5f0a340e deleted file mode 100644 index 42b0772..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d4/708262e1303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,391 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - //PlayerFlairs.put(playername, finalflair); - //PlayerUserNames.put(playername, username); - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - /*for(Player player : Players) - { - if(player.getName()==playername) - { - PlayerFlairs.put(player, finalflair); - break; - } - }*/ - //System.out.println("SetFlair - playername: "+playername+" text: "+text+" flairclass: "+flairclass); - System.out.println("Added new flair to "+playername+": "+finalflair); - //for(Player player : Players) - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - //System.out.println("Online player: "+player.getName()); - //System.out.println("player.getName ("+player.getName()+") == playername ("+playername+"): "+(player.getName()==playername)); - if(player.getName().equals(playername)) - { - //System.out.println("DisplayName: "+player.getDisplayName()); - //player.setDisplayName(player.getDisplayName()+finalflair); - AppendPlayerDisplayFlair(player, username, finalflair); - //System.out.println("DisplayName: "+player.getDisplayName()); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - //String flair=PlayerFlairs.get(player.getName()); - 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) - { - //if(IgnoredPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - //if(AcceptedPlayers.contains(player.getName())) - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - //player.setDisplayName(player.getDisplayName()+flair); - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //System.out.println("A"); - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - //String displayname=player.getDisplayName(); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - //System.out.println("B"); - for(int i=0; i=colors.length) - { - //System.out.println("D"); - int x=0; - for(int i=0; i towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/97/8035b5d5df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/d4/802b9dd8e53e001517108d149b613203 similarity index 88% rename from .metadata/.plugins/org.eclipse.core.resources/.history/97/8035b5d5df3e001517108d149b613203 rename to .metadata/.plugins/org.eclipse.core.resources/.history/d4/802b9dd8e53e001517108d149b613203 index 2377b00..28d37b8 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/97/8035b5d5df3e001517108d149b613203 +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d4/802b9dd8e53e001517108d149b613203 @@ -1,9 +1,7 @@ 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; @@ -52,8 +50,8 @@ public class Commands implements CommandExecutor { if(!p.IgnoredFlair) { p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. + //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 @@ -121,8 +119,8 @@ public class Commands implements CommandExecutor { MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); if(mp.Flair!=null) { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); + //String flair=mp.Flair; + //PluginMain.RemovePlayerDisplayFlairFinal(p, flair); //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. } @@ -152,7 +150,7 @@ public class Commands implements CommandExecutor { //System.out.println("Args length: " + args.length); if(args.length==1) { - String message="§cUsage: /u admin reload|playerinfo§r"; + String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; SendMessage(player, message); return; } @@ -178,9 +176,11 @@ public class Commands implements CommandExecutor { PluginMain.SaveFiles(); //2015.08.09. SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); break; - case " + case "setflair": + DoSetFlair(player, args); + break; default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save§r"; + String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair§r"; SendMessage(player, message); return; } @@ -229,11 +229,11 @@ public class Commands implements CommandExecutor { else SendMessage(player, "There were no exceptions."); } - private static void SetPlayerFlair(Player player, Player targetplayer, String flair) + private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) { //2015.08.09. flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.getName())) + targetplayer.Flair=flair; + if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) { SendMessage(player, "§cError removing previous custom flair!§r"); return; @@ -242,12 +242,22 @@ public class Commands implements CommandExecutor { try { BufferedWriter bw; bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.getName()+"\n"); + 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.getName()+" Flair: "+flair+"§r"); + 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/d5/008e353cdf3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/d5/008e353cdf3e001517108d149b613203 deleted file mode 100644 index 6b55eb2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d5/008e353cdf3e001517108d149b613203 +++ /dev/null @@ -1,251 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - SendMessage(player, "Error removing previous custom flair!"); - return; - } - 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); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d6/0038bc1adf3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/d6/0038bc1adf3e001517108d149b613203 deleted file mode 100644 index eac777b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d6/0038bc1adf3e001517108d149b613203 +++ /dev/null @@ -1,250 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - SendMessage(player, "Error removing previous custom 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); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d6/e0a112fc303e00151cbdba8b5f0a340e b/.metadata/.plugins/org.eclipse.core.resources/.history/d6/e0a112fc303e00151cbdba8b5f0a340e deleted file mode 100644 index d09c590..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d6/e0a112fc303e00151cbdba8b5f0a340e +++ /dev/null @@ -1,361 +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.TownyUniverse; -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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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 towns = TownyUniverse.getDataSource().getTowns(); - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock().getTown(); //TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static void RemovePlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - //String color = GetColorForTown(GetPlayerTown(player)); - //String dname=player.getDisplayName(); - //player.setDisplayName(dname.substring(dname.indexOf(color)+3, dname.indexOf(flair))); - //MaybeOfflinePlayer.AllPlayers.get(player.getName()).DisplayName=null; //2015.08.08. - MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair=null; //2015.08.08. - } - - public static Collection GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d9/40c1973d8b3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/d9/40c1973d8b3e00151ce8ff6d4f74dabd deleted file mode 100644 index 63a1544..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d9/40c1973d8b3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,174 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d9/5013ec41a33e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/d9/5013ec41a33e00151ce8ff6d4f74dabd deleted file mode 100644 index 3aefeb1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d9/5013ec41a33e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,194 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default - String message="§cUsage: /u admin reload|playerinfo§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."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/da/e0386fb6a03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/da/e0386fb6a03e00151ce8ff6d4f74dabd deleted file mode 100644 index dc1d56c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/da/e0386fb6a03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,186 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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 "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/de/d0395f74a23e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/de/d0395f74a23e00151ce8ff6d4f74dabd deleted file mode 100644 index 690770e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/de/d0395f74a23e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,351 +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. - 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(); - } - throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //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() - { - 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. - } - 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(); - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e4/500e63a5a03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/e4/500e63a5a03e00151ce8ff6d4f74dabd deleted file mode 100644 index 3955c4a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e4/500e63a5a03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,176 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e4/50878e1b8b3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/e4/50878e1b8b3e00151ce8ff6d4f74dabd deleted file mode 100644 index c744858..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e4/50878e1b8b3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,177 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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) { - System.out.println("Args.length: "+args.length); - if(args.length>0) - System.out.println("Args[0].length: "+args[0].length(); - 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. - 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; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase()=="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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e5/60ca395f8a3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/e5/60ca395f8a3e00151ce8ff6d4f74dabd deleted file mode 100644 index da1c13d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e5/60ca395f8a3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,171 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - default: - return false; - } - return true; - } - - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase()=="admin") - DoAdmin(null, args); //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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e7/50501d128d3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/e7/50501d128d3e00151ce8ff6d4f74dabd deleted file mode 100644 index 5c621bc..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e7/50501d128d3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,175 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/eb/50847d3fa33e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/eb/50847d3fa33e00151ce8ff6d4f74dabd deleted file mode 100644 index 4430d9e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/eb/50847d3fa33e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,192 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - break; - } - } - 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."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/eb/80c8e1dade3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/eb/80c8e1dade3e001517108d149b613203 deleted file mode 100644 index bf077b5..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/eb/80c8e1dade3e001517108d149b613203 +++ /dev/null @@ -1,228 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ed/d01518738c3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/ed/d01518738c3e00151ce8ff6d4f74dabd deleted file mode 100644 index eb1e529..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ed/d01518738c3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,348 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - 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(); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ed/d01a721a8b3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/ed/d01a721a8b3e00151ce8ff6d4f74dabd deleted file mode 100644 index 8bae37e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ed/d01a721a8b3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,177 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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) { - System.out.println("Args.length: "+args.length); - if(args.length>0) - System.out.println("Args[0].tolower: "+args[0].toLowerCase()); - 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. - 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; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase()=="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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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"); - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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); - } - 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); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f1/808b0319df3e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/f1/808b0319df3e001517108d149b613203 deleted file mode 100644 index 3b9f920..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f1/808b0319df3e001517108d149b613203 +++ /dev/null @@ -1,250 +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 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"; - 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§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; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getName()).Flair=flair; - if(!PluginMain.RemoveLineFromFile("customflairs.txt")) - { - 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); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f1/d06c6fb0a03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/f1/d06c6fb0a03e00151ce8ff6d4f74dabd deleted file mode 100644 index 1cb7e32..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f1/d06c6fb0a03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,180 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - } - } - 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) - { - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f4/206dc8d8d83e001517108d149b613203 b/.metadata/.plugins/org.eclipse.core.resources/.history/f4/206dc8d8d83e001517108d149b613203 deleted file mode 100644 index 6d35231..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f4/206dc8d8d83e001517108d149b613203 +++ /dev/null @@ -1,224 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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"; - 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§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.equals(player)) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror§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."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f6/e074276da03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/f6/e074276da03e00151ce8ff6d4f74dabd deleted file mode 100644 index d01649d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f6/e074276da03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,348 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //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() - { - 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); - } - 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); - } - 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(); - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f8/d0bce2658c3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/f8/d0bce2658c3e00151ce8ff6d4f74dabd deleted file mode 100644 index 1c4d5ef..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f8/d0bce2658c3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,348 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - File file=new File("flairsaccepted.txt"); - try { - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - File file=new File("flairsignored.txt"); - try { - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fb/509ddae4a03e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/fb/509ddae4a03e00151ce8ff6d4f74dabd deleted file mode 100644 index 2b1b3f3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/fb/509ddae4a03e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,189 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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(args.length==2) - { - String message="§cUsage: /u admin getlasterror §r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Last error:"); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fb/d04f5e36a33e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/fb/d04f5e36a33e00151ce8ff6d4f74dabd deleted file mode 100644 index ceb79ce..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/fb/d04f5e36a33e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,190 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -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. - 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; - 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.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - 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 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§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - } - } - 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."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fd/502d2d7b8c3e00151ce8ff6d4f74dabd b/.metadata/.plugins/org.eclipse.core.resources/.history/fd/502d2d7b8c3e00151ce8ff6d4f74dabd deleted file mode 100644 index a3e6d23..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/fd/502d2d7b8c3e00151ce8ff6d4f74dabd +++ /dev/null @@ -1,348 +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. - 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(); - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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() - { - 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); - } - 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"); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - try { - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(player.PlayerName+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - } - } catch (IOException e) { - System.out.println("Error!\n"+e); - } - 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(); - 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); - } - } - } - - 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) - { - String finalflair; - 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; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - 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); - 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) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public 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(); - } -} 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 ed1969b..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.markers.snap and /dev/null differ 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 ed1969b..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.syncinfo.snap and /dev/null differ 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 6993213..76538a5 100644 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.indexes/e4/77/69/e/history.index and b/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.indexes/e4/77/69/e/history.index differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.markers index 7797057..30cd724 100644 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.markers and b/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.markers differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.markers.snap b/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.markers.snap deleted file mode 100644 index ed70d6d..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.markers.snap and /dev/null differ 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 ed1969b..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.syncinfo.snap and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000..4d8486b Binary files /dev/null and b/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/org.eclipse.jdt.core/state.dat differ 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 ed1969b..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/8.tree b/.metadata/.plugins/org.eclipse.core.resources/.root/9.tree similarity index 59% rename from .metadata/.plugins/org.eclipse.core.resources/.root/8.tree rename to .metadata/.plugins/org.eclipse.core.resources/.root/9.tree index b9e5136..7489c5d 100644 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.root/8.tree and b/.metadata/.plugins/org.eclipse.core.resources/.root/9.tree differ 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 2e532df..e87f8a2 100644 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources and b/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.snap b/.metadata/.plugins/org.eclipse.core.resources/.snap deleted file mode 100644 index 52616b9..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.snap and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1508644233.index b/.metadata/.plugins/org.eclipse.jdt.core/1508644233.index index 2abce78..b97e7c9 100644 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1508644233.index and b/.metadata/.plugins/org.eclipse.jdt.core/1508644233.index differ diff --git a/TheButtonAutoFlair.jar b/TheButtonAutoFlair.jar index cc7e74a..1a1d555 100644 Binary files a/TheButtonAutoFlair.jar and b/TheButtonAutoFlair.jar differ diff --git a/TheButtonAutoFlair/bin/tk/sznp/thebuttonautoflair/Commands.class b/TheButtonAutoFlair/bin/tk/sznp/thebuttonautoflair/Commands.class index 818baec..3436167 100644 Binary files a/TheButtonAutoFlair/bin/tk/sznp/thebuttonautoflair/Commands.class and b/TheButtonAutoFlair/bin/tk/sznp/thebuttonautoflair/Commands.class differ diff --git a/TheButtonAutoFlair/src/tk/sznp/thebuttonautoflair/Commands.java b/TheButtonAutoFlair/src/tk/sznp/thebuttonautoflair/Commands.java index 28d37b8..659cf9d 100644 --- a/TheButtonAutoFlair/src/tk/sznp/thebuttonautoflair/Commands.java +++ b/TheButtonAutoFlair/src/tk/sznp/thebuttonautoflair/Commands.java @@ -75,7 +75,8 @@ public class Commands implements CommandExecutor { player.sendMessage("§cYou have already set the flair type.§r"); break; } - p.Flair="§7(non-pr.)§r"; + //p.Flair="§7(non-pr.)§r"; + SetPlayerFlair(player, p, "§7(non-pr.)§r"); break; case "cantpress": //2015.08.09. if(!p.AcceptedFlair) @@ -88,7 +89,8 @@ public class Commands implements CommandExecutor { player.sendMessage("§cYou have already set the flair type.§r"); break; } - p.Flair="§r(can't press)§r"; + //p.Flair="§r(can't press)§r"; + SetPlayerFlair(player, p, "§r(can't pr.)§r"); break; default: return false;