Advertisement
Guest User

Untitled

a guest
Feb 12th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.66 KB | None | 0 0
  1. Das ist Main class
  2. package CubeneX.bungee;
  3.  
  4. import java.sql.Connection;
  5. import java.sql.DriverManager;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8. import java.sql.Statement;
  9. import java.util.ArrayList;
  10. import java.util.HashMap;
  11. import java.util.Map.Entry;
  12.  
  13. import org.bukkit.Bukkit;
  14. import org.bukkit.ChatColor;
  15. import org.bukkit.command.Command;
  16. import org.bukkit.command.CommandSender;
  17. import org.bukkit.entity.Player;
  18. import org.bukkit.event.EventHandler;
  19. import org.bukkit.event.Listener;
  20. import org.bukkit.event.player.AsyncPlayerChatEvent;
  21. import org.bukkit.plugin.java.JavaPlugin;
  22. import org.bukkit.scheduler.BukkitRunnable;
  23.  
  24. public class Cubenex extends JavaPlugin implements Listener{
  25.  
  26. Connection connection;
  27. Statement s;
  28.  
  29. String host, port, database, username, password;
  30.  
  31. ArrayList<String> banned = new ArrayList<String>();
  32. ArrayList<Player> gm = new ArrayList<Player>();
  33. HashMap<Player, ReportList> lists = new HashMap<Player, ReportList>();
  34.  
  35. public void onEnable(){
  36. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  37. host = "cubenex.de";
  38. port = "6099";
  39. database = "bugreport";
  40. username = "frank";
  41. password = "thunfisch";
  42. BukkitRunnable r = new BukkitRunnable(){
  43. @Override
  44. public void run() {
  45. openConnection();
  46. try {
  47. s = connection.createStatement();
  48. Bukkit.getServer().broadcastMessage(ChatColor.GREEN+"Verbunden!");
  49. } catch (SQLException e) {
  50. Bukkit.getServer().broadcastMessage(ChatColor.RED+"Beim verbinden ist ein fehler aufgetreten!");
  51. e.printStackTrace();
  52. }
  53. getBanned();
  54. }
  55. };
  56. r.runTaskAsynchronously(this);
  57. }
  58.  
  59. public void onDisable(){
  60.  
  61. }
  62.  
  63. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
  64. Player p = (Player) sender;
  65. if (cmd.getName().equalsIgnoreCase("report")){
  66. if (s == null || connection == null){
  67. Bukkit.getServer().broadcastMessage(ChatColor.RED+"Eine verbindung wurde noch nicht hergestellt!");
  68. return true;
  69. }
  70. if (banned.contains(p.getName())){
  71. p.sendMessage(ChatColor.RED+"Du wurdest vom reporten gebannt!");
  72. return true;
  73. }
  74. if (args.length < 2 || args.length == 0){
  75. p.sendMessage(ChatColor.RED+"Verwendung: /report <server> <bug>");
  76. return true;
  77. }
  78. String server = args[0];
  79. String player = p.getName();
  80. String bug = null;
  81. for (int i = 1; i < args.length; i++){
  82. bug += args[i] + " ";
  83. }
  84. try {
  85. s.executeUpdate("INSERT INTO bugs (id, sender, server, message) VALUES ('', '"+player+"', '"+server+"', '"+bug+"');");
  86. p.sendMessage(ChatColor.GREEN+"Danke! Ihr report wurde gesendet!");
  87. } catch (SQLException e) {
  88. p.sendMessage(ChatColor.RED+"Ein fehler ist beim sendes des reports aufgetreten! Bitte kontaktieren sie einen Admin!");
  89. e.printStackTrace();
  90. }
  91. return true;
  92. }
  93. if (cmd.getName().equalsIgnoreCase("reportlist")){
  94. if (!(p.hasPermission("report"))){
  95. p.sendMessage(ChatColor.RED+"Du hast keinen zugriff auf diesem Befehl!");
  96. return true;
  97. }
  98. p.sendMessage(ChatColor.BLUE+"Empfängt Data, bitte warten....");
  99. ReportList list = new ReportList();
  100. try {
  101. ResultSet result = s.executeQuery("SELECT * FROM bugs;");
  102. HashMap<Integer, String> bug = new HashMap<Integer, String>();
  103. HashMap<Integer, String> sen = new HashMap<Integer, String>();
  104. HashMap<Integer, Player> spieler = new HashMap<Integer, Player>();
  105. HashMap<Integer, String> server = new HashMap<Integer, String>();
  106. while (result.next()) {
  107. String var1 = result.getString("sender");
  108. String var2 = result.getString("bug");
  109. String var3 = result.getString("server");
  110. int var = result.getInt("id");
  111. Player var4 = null;
  112. boolean canPlayer = false;
  113. try{
  114. var4 = Bukkit.getPlayer(var1);
  115. canPlayer = true;
  116. }catch(Exception e){
  117. canPlayer = false;
  118. }
  119. bug.put(var, var2);
  120. server.put(var, var1);
  121. sen.put(var, var1);
  122. spieler.put(var, var4);
  123. }
  124. int i = 1;
  125. for (Entry<Integer, String> en : bug.entrySet()){
  126. int var = en.getKey();
  127. String var1 = en.getValue();
  128. String var2 = server.get(var);
  129. String var3 = sen.get(var);
  130. Player var4 = spieler.get(var);
  131. String sending = ChatColor.AQUA+""+ChatColor.BOLD+String.valueOf(i)+".\n"+ChatColor.RESET;
  132. if (var4 != null){
  133. sending += ChatColor.BLUE+"Spieler: "+ChatColor.RED+var3+ChatColor.BLUE+", ";
  134. if (var4.isOnline()) sending += ChatColor.GREEN+"Online\n"+ChatColor.RESET;
  135. else sending += ChatColor.RED+"Offline\n"+ChatColor.RESET;
  136. }else{
  137. sending += ChatColor.BLUE+"Spieler: "+ChatColor.RED+var3+ChatColor.BLUE+", "+
  138. ChatColor.GRAY+"Nicht angegeben";
  139. }
  140. sending += ChatColor.BLUE+"Server: "+ChatColor.RED+var2+ChatColor.RESET+"\n";
  141. sending += ChatColor.BLUE+"Bug: "+ChatColor.RED+var1;
  142. list.add(var, i, var1, var3, var2);
  143. i++;
  144. }
  145. lists.put(p, list);
  146. } catch (SQLException e) {
  147. // TODO Auto-generated catch block
  148. e.printStackTrace();
  149. }
  150. }
  151. if (cmd.getName().equals("reportBan")){
  152. if (!(p.hasPermission("report"))){
  153. p.sendMessage(ChatColor.RED+"Du hast keine zugriff auf diesem Befehl!");
  154. return true;
  155. }
  156. if (args.length == 0 || args.length < 1){
  157. p.sendMessage(ChatColor.RED+"Verwendung: /reportBan <Spieler>");
  158. return true;
  159. }
  160. try {
  161. s.executeUpdate("INSERT INTO banned (player) VALUES ('"+args[0]+"');");
  162. } catch (SQLException e) {
  163. // TODO Auto-generated catch block
  164. e.printStackTrace();
  165. }
  166. banned.add(args[0]);
  167. p.sendMessage(ChatColor.GREEN+"Du hast den spieler "+args[0]+" gebannt!");
  168. return true;
  169. }
  170. if (cmd.getName().equalsIgnoreCase("reportremove")){
  171. if (!(p.hasPermission("report"))){
  172. p.sendMessage(ChatColor.RED+"Du hast keinen zugriff auf diesem Befehl!");
  173. return true;
  174. }
  175. if (args.length == 0 || args.length > 1){
  176. p.sendMessage(ChatColor.RED+"Verwendung: /reportremove <nummer>");
  177. return true;
  178. }
  179. ReportList list = lists.get(p);
  180. int id = 0;
  181. try{
  182. id = list.getId(Integer.parseInt(args[0]));
  183. }catch(Exception e){
  184. p.sendMessage(args[0]+" ist keine nummer!");
  185. return true;
  186. }
  187. try {
  188. s.executeUpdate("DELETE FROM bugs WHERE id='"+id+"'");
  189. p.sendMessage(ChatColor.GREEN+"Bug aus datenbank gelöscht!");
  190. } catch (SQLException e) {
  191. p.sendMessage(ChatColor.RED+"Es ist ein feheler aufgetaucht! Bitte kontaktieren Sie ein Admin!");
  192. e.printStackTrace();
  193. }
  194. list.removeById(id);
  195. return true;
  196. }
  197. if (cmd.getName().equalsIgnoreCase("globalmute")){
  198. if (gm.contains(p)){
  199. gm.remove(p);
  200. p.sendMessage(ChatColor.GREEN+"Du kannst nun wieder alle spieler hören!");
  201. }else{
  202. gm.add(p);
  203. p.sendMessage(ChatColor.GREEN+"Global wurde gemuted");
  204. }
  205. }
  206. return false;
  207. }
  208.  
  209. public void getBanned(){
  210. ResultSet result;
  211. try {
  212. result = s.executeQuery("SELECT * FROM banned;");
  213. ArrayList<String> bankruptPlayers = new ArrayList<String>();
  214. while (result.next()) {
  215. banned.add(result.getString("player"));
  216. }
  217. } catch (SQLException e) {
  218. // TODO Auto-generated catch block
  219. e.printStackTrace();
  220. }
  221.  
  222. }
  223.  
  224. public void openConnection() {
  225. try {
  226. if (connection != null && !connection.isClosed()) {
  227. return;
  228. }
  229. } catch (SQLException e1) {
  230. // TODO Auto-generated catch block
  231. e1.printStackTrace();
  232. }
  233.  
  234. try {
  235. Class.forName("com.mysql.jdbc.Driver");
  236. connection = DriverManager.getConnection("jdbc:mysql://"
  237. + this.host + ":" + this.port + "/" + this.database,
  238. this.username, this.password);
  239. } catch (SQLException | ClassNotFoundException e) {
  240. // TODO Auto-generated catch block
  241. e.printStackTrace();
  242. }
  243. }
  244. @EventHandler
  245. public void globalMute(AsyncPlayerChatEvent e){
  246. e.setCancelled(true);
  247. for (Player p : Bukkit.getOnlinePlayers()){
  248. if (!gm.contains(p)){
  249. p.sendMessage(e.getFormat());
  250. }
  251. }
  252. }
  253. }
  254.  
  255.  
  256.  
  257.  
  258. ----------------------------------------------------------------------------------------------------------------------------
  259.  
  260.  
  261.  
  262.  
  263. Das ist ReportList
  264. package CubeneX.bungee;
  265.  
  266. import java.util.HashMap;
  267. import java.util.Map.Entry;
  268.  
  269. public class ReportList {
  270.  
  271. HashMap<Integer, Integer> cId;
  272. HashMap<Integer, String> bug;
  273. HashMap<Integer, String> sender;
  274. HashMap<Integer, String> server;
  275.  
  276. public ReportList(){
  277. cId = new HashMap<Integer, Integer>();
  278. bug = new HashMap<Integer, String>();
  279. sender = new HashMap<Integer, String>();
  280. server = new HashMap<Integer, String>();
  281. }
  282.  
  283. public void add(int id, int cid, String Bug, String Sender, String Server){
  284. cId.put(id, cid);
  285. bug.put(id, Bug);
  286. sender.put(id, Sender);
  287. server.put(id, Server);
  288. }
  289.  
  290. public int getId(int cid){
  291. int r = 0;
  292. for (Entry<Integer, Integer> en : cId.entrySet()){
  293. if (en.getValue() == cid){
  294. r = en.getKey();
  295. break;
  296. }
  297. }
  298. return r;
  299. }
  300.  
  301. public void remove(int cid){
  302. int id = getId(cid);
  303. cId.remove(id);
  304. bug.remove(id);
  305. sender.remove(id);
  306. server.remove(id);
  307. }
  308.  
  309. public void removeById(int id){
  310. cId.remove(id);
  311. bug.remove(id);
  312. sender.remove(id);
  313. server.remove(id);
  314. }
  315. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement