Async query
This commit is contained in:
parent
e33c35ce34
commit
e1cad8d3df
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Created by .ignore support plugin (hsz.mobi)
|
||||||
|
.gitignore
|
||||||
|
.idea/
|
||||||
2
pom.xml
2
pom.xml
@ -57,14 +57,12 @@
|
|||||||
<type>jar</type>
|
<type>jar</type>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!--Spigot API-->
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.spigotmc</groupId>
|
<groupId>org.spigotmc</groupId>
|
||||||
<artifactId>spigot-api</artifactId>
|
<artifactId>spigot-api</artifactId>
|
||||||
<version>1.8.3-R0.1-SNAPSHOT</version>
|
<version>1.8.3-R0.1-SNAPSHOT</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!--Bukkit API-->
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.bukkit</groupId>
|
<groupId>org.bukkit</groupId>
|
||||||
<artifactId>bukkit</artifactId>
|
<artifactId>bukkit</artifactId>
|
||||||
|
|||||||
113
src/com/ilummc/bugrepgui/Commands.java
Normal file
113
src/com/ilummc/bugrepgui/Commands.java
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
package com.ilummc.bugrepgui;
|
||||||
|
|
||||||
|
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 {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||||
|
if (command.getName().equals("report")) {
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
if (sender.hasPermission("bugrepgui.report")) {
|
||||||
|
Bug bug = new Bug((Player) sender);
|
||||||
|
Storage.putMap(bug);
|
||||||
|
Storage.send(sender, "input-bug-info");
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
Storage.send(sender, "no-perm");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Storage.send(sender, "must-player-run");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (args.length == 1 && args[0].equalsIgnoreCase("help")) {
|
||||||
|
Storage.getHelp(sender);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (args.length == 1 && args[0].equalsIgnoreCase("view")) {
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
if (sender.hasPermission("bugrepgui.view")) {
|
||||||
|
GUI.open((Player) sender, 1);
|
||||||
|
} else {
|
||||||
|
Storage.send(sender, "no-perm");
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
Storage.send(sender, "must-player-run");
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (args.length == 2 && args[0].equalsIgnoreCase("view") && args[1].equalsIgnoreCase("history")) {
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
if (sender.hasPermission("bugrepgui.view")) {
|
||||||
|
GUI.openHistory((Player) sender, 1);
|
||||||
|
} else {
|
||||||
|
Storage.send(sender, "no-perm");
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
Storage.send(sender, "must-player-run");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (args.length == 1 && args[0].equalsIgnoreCase("report")) {
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
if (sender.hasPermission("bugrepgui.report")) {
|
||||||
|
Bug bug = new Bug((Player) sender);
|
||||||
|
Storage.putMap(bug);
|
||||||
|
Storage.send(sender, "input-bug-info");
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
Storage.send(sender, "no-perm");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Storage.send(sender, "must-player-run");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (args.length == 2 && args[0].equalsIgnoreCase("stats")) {
|
||||||
|
if (args[1].equalsIgnoreCase("text")) {
|
||||||
|
if (sender.hasPermission("bugrepgui.stats.text")) {
|
||||||
|
final CommandSender send = sender;
|
||||||
|
Thread t = new Thread(() -> {
|
||||||
|
send.sendMessage(Stats.loadTextRep());
|
||||||
|
try {
|
||||||
|
Thread.sleep(3000);
|
||||||
|
Storage.send(send, "wait");
|
||||||
|
Thread.sleep(5000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
Storage.logExcept(e);
|
||||||
|
}
|
||||||
|
send.sendMessage(Stats.loadTextExe());
|
||||||
|
});
|
||||||
|
t.start();
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
Storage.send(sender, "no-perm");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (args[1].equalsIgnoreCase("gui")) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (args.length == 1 && args[0].equalsIgnoreCase("reload")) {
|
||||||
|
if (sender.hasPermission("bugrepgui.reload")) {
|
||||||
|
Storage.reload();
|
||||||
|
Storage.send(sender, "reload-suc");
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
Storage.send(sender, "no-perm");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Storage.getHelp(sender);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,15 +1,12 @@
|
|||||||
package com.ilummc.bugrepgui;
|
package com.ilummc.bugrepgui;
|
||||||
|
|
||||||
import java.sql.*;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.TreeMap;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.sql.*;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
public class Database {
|
public class Database {
|
||||||
/*
|
/*
|
||||||
* SERIAL REPNAME REPTIME REPMSG EXENAME EXETIME EXEMSG EXECUTED BACK
|
* SERIAL REPNAME REPTIME REPMSG EXENAME EXETIME EXEMSG EXECUTED BACK
|
||||||
@ -317,10 +314,7 @@ public class Database {
|
|||||||
c = DriverManager.getConnection(url, Storage.getConfig().getString("mysql-username"),
|
c = DriverManager.getConnection(url, Storage.getConfig().getString("mysql-username"),
|
||||||
Storage.getConfig().getString("mysql-password"));
|
Storage.getConfig().getString("mysql-password"));
|
||||||
state = c.createStatement();
|
state = c.createStatement();
|
||||||
} catch (SQLException e) {
|
} catch (SQLException | ClassNotFoundException e) {
|
||||||
Storage.logExcept(e);
|
|
||||||
return false;
|
|
||||||
} catch (ClassNotFoundException e) {
|
|
||||||
Storage.logExcept(e);
|
Storage.logExcept(e);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,20 +1,17 @@
|
|||||||
package com.ilummc.bugrepgui;
|
package com.ilummc.bugrepgui;
|
||||||
|
|
||||||
import java.util.regex.Matcher;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
import org.bukkit.event.player.*;
|
||||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
|
||||||
import org.bukkit.event.player.PlayerJoinEvent;
|
|
||||||
import org.bukkit.event.player.PlayerMoveEvent;
|
|
||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
|
||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
|
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
public class EventListener implements org.bukkit.event.Listener {
|
public class EventListener implements org.bukkit.event.Listener {
|
||||||
|
|
||||||
String alias;
|
String alias;
|
||||||
public EventListener setAlias(String msg) {
|
public EventListener setAlias(String msg) {
|
||||||
this.alias = msg;
|
this.alias = msg;
|
||||||
@ -38,7 +35,7 @@ public class EventListener implements org.bukkit.event.Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = false)
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
public void onChat(AsyncPlayerChatEvent evt) {
|
public void onChat(AsyncPlayerChatEvent evt) {
|
||||||
String regex2 = "[^']+";
|
String regex2 = "[^']+";
|
||||||
Pattern pattern2 = Pattern.compile(regex2);
|
Pattern pattern2 = Pattern.compile(regex2);
|
||||||
@ -68,7 +65,7 @@ public class EventListener implements org.bukkit.event.Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = false)
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
public void onMove(PlayerMoveEvent evt) {
|
public void onMove(PlayerMoveEvent evt) {
|
||||||
if (Storage.map.containsKey(evt.getPlayer().getUniqueId().toString())) {
|
if (Storage.map.containsKey(evt.getPlayer().getUniqueId().toString())) {
|
||||||
evt.setCancelled(true);
|
evt.setCancelled(true);
|
||||||
@ -84,14 +81,14 @@ public class EventListener implements org.bukkit.event.Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = false)
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
public void onOffline(PlayerQuitEvent evt) {
|
public void onOffline(PlayerQuitEvent evt) {
|
||||||
if (Storage.map.containsKey(evt.getPlayer().getUniqueId().toString())) {
|
if (Storage.map.containsKey(evt.getPlayer().getUniqueId().toString())) {
|
||||||
Storage.map.remove(evt.getPlayer().getUniqueId().toString());
|
Storage.map.remove(evt.getPlayer().getUniqueId().toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = false)
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
public void onClick(InventoryClickEvent evt) {
|
public void onClick(InventoryClickEvent evt) {
|
||||||
String regex = "[¡ì[0-9a-fA-f]]*\\u005b\\s[0-9]*\\s/\\s[0-9]*\\s\\u005d\\s*[\\d\\D]*";
|
String regex = "[¡ì[0-9a-fA-f]]*\\u005b\\s[0-9]*\\s/\\s[0-9]*\\s\\u005d\\s*[\\d\\D]*";
|
||||||
Pattern pattern = Pattern.compile(regex);
|
Pattern pattern = Pattern.compile(regex);
|
||||||
@ -135,7 +132,7 @@ public class EventListener implements org.bukkit.event.Listener {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = false)
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
public void onJoin(PlayerJoinEvent evt) {
|
public void onJoin(PlayerJoinEvent evt) {
|
||||||
Database.check(evt.getPlayer());
|
Database.check(evt.getPlayer());
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,5 @@
|
|||||||
package com.ilummc.bugrepgui;
|
package com.ilummc.bugrepgui;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -10,22 +7,36 @@ import org.bukkit.event.inventory.ClickType;
|
|||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
public class GUI {
|
public class GUI {
|
||||||
static List<Inventory> invs = new ArrayList<>();
|
private static List<Inventory> invs = new ArrayList<>();
|
||||||
static List<Inventory> his = new ArrayList<>();
|
private static List<Inventory> his = new ArrayList<>();
|
||||||
static Integer pages;
|
private static Integer pages;
|
||||||
|
|
||||||
public static void open(Player player, int page) {
|
public static void open(Player player, int page) {
|
||||||
|
new Thread(() -> {
|
||||||
loadInv();
|
loadInv();
|
||||||
|
Bukkit.getScheduler().runTask(JavaPlugin.getPlugin(Main.class), () -> {
|
||||||
player.closeInventory();
|
player.closeInventory();
|
||||||
player.openInventory(invs.get(page - 1));
|
player.openInventory(invs.get(page - 1));
|
||||||
|
});
|
||||||
|
}).start();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void openHistory(Player player, int page) {
|
public static void openHistory(Player player, int page) {
|
||||||
|
new Thread(() -> {
|
||||||
loadHis(player);
|
loadHis(player);
|
||||||
|
Bukkit.getScheduler().runTask(JavaPlugin.getPlugin(Main.class), () -> {
|
||||||
player.closeInventory();
|
player.closeInventory();
|
||||||
player.openInventory(his.get(page - 1));
|
player.openInventory(his.get(page - 1));
|
||||||
|
});
|
||||||
|
}).start();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void loadHis(Player player) {
|
public static void loadHis(Player player) {
|
||||||
@ -135,15 +146,10 @@ public class GUI {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* @param inv this inventory
|
||||||
* @param inv
|
* @param page this page
|
||||||
* this inventory
|
* @param id slot id
|
||||||
* @param page
|
* @param click click type
|
||||||
* this page
|
|
||||||
* @param id
|
|
||||||
* slot id
|
|
||||||
* @param click
|
|
||||||
* click type
|
|
||||||
*/
|
*/
|
||||||
public static void click(Inventory inv, Integer page, Integer id, ClickType click, Player player) {
|
public static void click(Inventory inv, Integer page, Integer id, ClickType click, Player player) {
|
||||||
if (inv.getItem(id) != null) {
|
if (inv.getItem(id) != null) {
|
||||||
@ -184,7 +190,7 @@ public class GUI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (id == 47) {
|
if (id == 47) {
|
||||||
if (page != pages) {
|
if (!Objects.equals(page, pages)) {
|
||||||
open(player, page + 1);
|
open(player, page + 1);
|
||||||
} else {
|
} else {
|
||||||
Storage.send(player, "no-this-page");
|
Storage.send(player, "no-this-page");
|
||||||
@ -212,7 +218,7 @@ public class GUI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (id == 47) {
|
if (id == 47) {
|
||||||
if (page != pages) {
|
if (!Objects.equals(page, pages)) {
|
||||||
openHistory(player, page + 1);
|
openHistory(player, page + 1);
|
||||||
} else {
|
} else {
|
||||||
Storage.send(player, "no-this-page");
|
Storage.send(player, "no-this-page");
|
||||||
|
|||||||
@ -1,9 +1,8 @@
|
|||||||
package com.ilummc.bugrepgui;
|
package com.ilummc.bugrepgui;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.plugin.java.*;
|
|
||||||
|
|
||||||
import com.ilummc.bugrepgui.util.UpdateChecker;
|
import com.ilummc.bugrepgui.util.UpdateChecker;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
public class Main extends JavaPlugin {
|
public class Main extends JavaPlugin {
|
||||||
@Override
|
@Override
|
||||||
@ -15,8 +14,8 @@ public class Main extends JavaPlugin {
|
|||||||
Storage.init(this.getConfig(), this.getDataFolder(), "lang_" + lang + ".yml");
|
Storage.init(this.getConfig(), this.getDataFolder(), "lang_" + lang + ".yml");
|
||||||
getServer().getPluginManager().registerEvents(new EventListener().setAlias(getConfig().getString("alias")),
|
getServer().getPluginManager().registerEvents(new EventListener().setAlias(getConfig().getString("alias")),
|
||||||
this);
|
this);
|
||||||
getCommand("bug").setExecutor(new cmdExe());
|
getCommand("bug").setExecutor(new Commands());
|
||||||
getCommand("bugrepgui").setExecutor(new cmdExe());
|
getCommand("bugrepgui").setExecutor(new Commands());
|
||||||
if (this.getConfig().getBoolean("check-update"))
|
if (this.getConfig().getBoolean("check-update"))
|
||||||
UpdateChecker.check(this.getDescription().getVersion(), this.getDescription().getWebsite());
|
UpdateChecker.check(this.getDescription().getVersion(), this.getDescription().getWebsite());
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,9 +23,9 @@ public class Notify {
|
|||||||
public static void notifyb(String serial, String msg, Player exename) {
|
public static void notifyb(String serial, String msg, Player exename) {
|
||||||
Player player = Database.getRepPlayer(serial);
|
Player player = Database.getRepPlayer(serial);
|
||||||
if (player.isOnline()) {
|
if (player.isOnline()) {
|
||||||
String str = Database.format.replaceAll("%serial%", serial.toString())
|
String str = Database.format.replaceAll("%serial%", serial)
|
||||||
.replaceAll("%exename%", exename.getDisplayName()).replaceAll("%reply%", msg);
|
.replaceAll("%exename%", exename.getDisplayName()).replaceAll("%reply%", msg);
|
||||||
String str2 = Database.format2.replaceAll("%serial%", serial.toString())
|
String str2 = Database.format2.replaceAll("%serial%", serial)
|
||||||
.replaceAll("%exename%", exename.getDisplayName()).replaceAll("%reply%", msg);
|
.replaceAll("%exename%", exename.getDisplayName()).replaceAll("%reply%", msg);
|
||||||
String msgs[] = { str, Storage.compile(str2) };
|
String msgs[] = { str, Storage.compile(str2) };
|
||||||
player.sendMessage(msgs);
|
player.sendMessage(msgs);
|
||||||
|
|||||||
@ -1,13 +1,14 @@
|
|||||||
package com.ilummc.bugrepgui;
|
package com.ilummc.bugrepgui;
|
||||||
|
|
||||||
|
import com.ilummc.bugrepgui.stats.Reporter;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
|
|
||||||
import com.ilummc.bugrepgui.stats.Reporter;
|
|
||||||
|
|
||||||
public class Stats {
|
public class Stats {
|
||||||
|
|
||||||
public static String[] loadTextRep() {
|
public static String[] loadTextRep() {
|
||||||
Map<String, Integer> res = Database.loadStatsRep();
|
Map<String, Integer> res = Database.loadStatsRep();
|
||||||
Set<String> set = res.keySet();
|
Set<String> set = res.keySet();
|
||||||
@ -29,6 +30,7 @@ public class Stats {
|
|||||||
msg[all + 1] = Storage.getMsg("rep-stats").replaceAll("%amount%", all.toString());
|
msg[all + 1] = Storage.getMsg("rep-stats").replaceAll("%amount%", all.toString());
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String[] loadTextExe() {
|
public static String[] loadTextExe() {
|
||||||
Map<String, Integer> res = Database.loadStatsExe();
|
Map<String, Integer> res = Database.loadStatsExe();
|
||||||
Set<String> set = res.keySet();
|
Set<String> set = res.keySet();
|
||||||
|
|||||||
@ -1,10 +1,5 @@
|
|||||||
package com.ilummc.bugrepgui;
|
package com.ilummc.bugrepgui;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -12,7 +7,13 @@ import org.bukkit.configuration.file.FileConfiguration;
|
|||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class Storage {
|
public class Storage {
|
||||||
|
|
||||||
private static FileConfiguration configyml;
|
private static FileConfiguration configyml;
|
||||||
private static File folder;
|
private static File folder;
|
||||||
static String serial;
|
static String serial;
|
||||||
@ -55,15 +56,7 @@ public class Storage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String compile(String str) {
|
public static String compile(String str) {
|
||||||
char[] cha = str.toCharArray();
|
return ChatColor.translateAlternateColorCodes('&', str);
|
||||||
for (int i = 0; i < str.length(); i++) {
|
|
||||||
if (cha[i] == '&') {
|
|
||||||
if ((cha[i + 1] >= '0' && cha[i + 1] <= '9') || (cha[i + 1] >= 'a' && cha[i + 1] <= 'f')) {
|
|
||||||
cha[i] = '¡ì';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return String.valueOf(cha);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getMsg(String msg) {
|
public static String getMsg(String msg) {
|
||||||
|
|||||||
@ -1,17 +1,12 @@
|
|||||||
package com.ilummc.bugrepgui.bungee;
|
package com.ilummc.bugrepgui.bungee;
|
||||||
|
|
||||||
import java.sql.Connection;
|
import com.ilummc.bugrepgui.Storage;
|
||||||
import java.sql.DriverManager;
|
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||||
import java.sql.ResultSet;
|
|
||||||
import java.sql.SQLException;
|
import java.sql.*;
|
||||||
import java.sql.Statement;
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
import com.ilummc.bugrepgui.Storage;
|
|
||||||
|
|
||||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
|
||||||
|
|
||||||
public class GlobalNotify {
|
public class GlobalNotify {
|
||||||
private static Connection c = null;
|
private static Connection c = null;
|
||||||
private static Statement state = null;
|
private static Statement state = null;
|
||||||
@ -146,10 +141,7 @@ public class GlobalNotify {
|
|||||||
c = DriverManager.getConnection(url, Main.config.getString("mysql-username"),
|
c = DriverManager.getConnection(url, Main.config.getString("mysql-username"),
|
||||||
Main.config.getString("mysql-password"));
|
Main.config.getString("mysql-password"));
|
||||||
state = c.createStatement();
|
state = c.createStatement();
|
||||||
} catch (SQLException e) {
|
} catch (SQLException | ClassNotFoundException e) {
|
||||||
Main.printException(e.getMessage());
|
|
||||||
return false;
|
|
||||||
} catch (ClassNotFoundException e) {
|
|
||||||
Main.printException(e.getMessage());
|
Main.printException(e.getMessage());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,17 +1,16 @@
|
|||||||
package com.ilummc.bugrepgui.bungee;
|
package com.ilummc.bugrepgui.bungee;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.nio.file.CopyOption;
|
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import net.md_5.bungee.api.ProxyServer;
|
import net.md_5.bungee.api.ProxyServer;
|
||||||
import net.md_5.bungee.api.plugin.Plugin;
|
import net.md_5.bungee.api.plugin.Plugin;
|
||||||
import net.md_5.bungee.config.Configuration;
|
import net.md_5.bungee.config.Configuration;
|
||||||
import net.md_5.bungee.config.ConfigurationProvider;
|
import net.md_5.bungee.config.ConfigurationProvider;
|
||||||
import net.md_5.bungee.config.YamlConfiguration;
|
import net.md_5.bungee.config.YamlConfiguration;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
public class Main extends Plugin {
|
public class Main extends Plugin {
|
||||||
static Logger log;
|
static Logger log;
|
||||||
static File folder;
|
static File folder;
|
||||||
@ -48,13 +47,13 @@ public class Main extends Plugin {
|
|||||||
cf = new File(f + "/config.yml");
|
cf = new File(f + "/config.yml");
|
||||||
try {
|
try {
|
||||||
if (!cf.exists()) {
|
if (!cf.exists()) {
|
||||||
Files.copy(getResourceAsStream("config.yml"), cf.toPath(), new CopyOption[0]);
|
Files.copy(getResourceAsStream("config.yml"), cf.toPath());
|
||||||
}
|
}
|
||||||
reloadConfig();
|
reloadConfig();
|
||||||
lf = new File(f + "/lang_"+config.getString("lang")+".yml");
|
lf = new File(f + "/lang_" + config.getString("lang") + ".yml");
|
||||||
if (!lf.exists()) {
|
if (!lf.exists()) {
|
||||||
Files.copy(getResourceAsStream("lang_" + config.getString("lang") + ".yml"), lf.toPath(),
|
Files.copy(getResourceAsStream("lang_" + config.getString("lang") + ".yml"), lf.toPath()
|
||||||
new CopyOption[0]);
|
);
|
||||||
}
|
}
|
||||||
reloadLang();
|
reloadLang();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -70,6 +69,7 @@ public class Main extends Plugin {
|
|||||||
printException(e.getMessage());
|
printException(e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void reloadLang() {
|
private void reloadLang() {
|
||||||
try {
|
try {
|
||||||
lang = ConfigurationProvider.getProvider(YamlConfiguration.class).load(lf);
|
lang = ConfigurationProvider.getProvider(YamlConfiguration.class).load(lf);
|
||||||
|
|||||||
@ -1,116 +0,0 @@
|
|||||||
package com.ilummc.bugrepgui;
|
|
||||||
|
|
||||||
import org.bukkit.command.Command;
|
|
||||||
import org.bukkit.command.CommandExecutor;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
public class cmdExe implements CommandExecutor {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
|
||||||
if (command.getName().equals("report")) {
|
|
||||||
if (sender instanceof Player) {
|
|
||||||
if (sender.hasPermission("bugrepgui.report")) {
|
|
||||||
Bug bug = new Bug((Player) sender);
|
|
||||||
Storage.putMap(bug);
|
|
||||||
Storage.send(sender, "input-bug-info");
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
Storage.send(sender, "no-perm");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Storage.send(sender, "must-player-run");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (args.length == 1 && args[0].equalsIgnoreCase("help")) {
|
|
||||||
Storage.getHelp(sender);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (args.length == 1 && args[0].equalsIgnoreCase("view")) {
|
|
||||||
if (sender instanceof Player) {
|
|
||||||
if (sender.hasPermission("bugrepgui.view")) {
|
|
||||||
GUI.open((Player) sender, 1);
|
|
||||||
} else {
|
|
||||||
Storage.send(sender, "no-perm");
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
Storage.send(sender, "must-player-run");
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (args.length == 2 && args[0].equalsIgnoreCase("view") && args[1].equalsIgnoreCase("history")) {
|
|
||||||
if (sender instanceof Player) {
|
|
||||||
if (sender.hasPermission("bugrepgui.view")) {
|
|
||||||
GUI.openHistory((Player) sender, 1);
|
|
||||||
} else {
|
|
||||||
Storage.send(sender, "no-perm");
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
Storage.send(sender, "must-player-run");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (args.length == 1 && args[0].equalsIgnoreCase("report")) {
|
|
||||||
if (sender instanceof Player) {
|
|
||||||
if (sender.hasPermission("bugrepgui.report")) {
|
|
||||||
Bug bug = new Bug((Player) sender);
|
|
||||||
Storage.putMap(bug);
|
|
||||||
Storage.send(sender, "input-bug-info");
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
Storage.send(sender, "no-perm");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Storage.send(sender, "must-player-run");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (args.length == 2 && args[0].equalsIgnoreCase("stats")) {
|
|
||||||
if (args[1].equalsIgnoreCase("text")) {
|
|
||||||
if (sender.hasPermission("bugrepgui.stats.text")) {
|
|
||||||
final CommandSender send = sender;
|
|
||||||
Thread t = new Thread(new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
send.sendMessage(Stats.loadTextRep());
|
|
||||||
try {
|
|
||||||
Thread.sleep(3000);
|
|
||||||
Storage.send(send, "wait");
|
|
||||||
Thread.sleep(5000);
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
Storage.logExcept(e);
|
|
||||||
}
|
|
||||||
send.sendMessage(Stats.loadTextExe());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
t.start();
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
Storage.send(sender, "no-perm");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (args[1].equalsIgnoreCase("gui")) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (args.length == 1 && args[0].equalsIgnoreCase("reload")) {
|
|
||||||
if (sender.hasPermission("bugrepgui.reload")) {
|
|
||||||
Storage.reload();
|
|
||||||
Storage.send(sender, "reload-suc");
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
Storage.send(sender, "no-perm");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Storage.getHelp(sender);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,21 +1,18 @@
|
|||||||
package com.ilummc.bugrepgui.util;
|
package com.ilummc.bugrepgui.util;
|
||||||
|
|
||||||
|
import com.ilummc.bugrepgui.Storage;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.net.HttpURLConnection;
|
import java.net.HttpURLConnection;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
|
|
||||||
import com.ilummc.bugrepgui.Storage;
|
|
||||||
|
|
||||||
public class UpdateChecker {
|
public class UpdateChecker {
|
||||||
public static void check(String version, String web) {
|
public static void check(String version, String web) {
|
||||||
final String ver = version;
|
final String ver = version;
|
||||||
final String webn = web;
|
final String webn = web;
|
||||||
Thread t = new Thread(new Runnable() {
|
Thread t = new Thread(() -> {
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
Storage.log("checking-update");
|
Storage.log("checking-update");
|
||||||
try {
|
try {
|
||||||
HttpURLConnection c = (HttpURLConnection) new URL("http://www.spigotmc.org/api/general.php")
|
HttpURLConnection c = (HttpURLConnection) new URL("http://www.spigotmc.org/api/general.php")
|
||||||
@ -25,10 +22,8 @@ public class UpdateChecker {
|
|||||||
c.getOutputStream()
|
c.getOutputStream()
|
||||||
.write(("key=98BE0FE67F88AB82B4C197FAF1DC3B69206EFDCC4D3B80FC83A00037510B99B4&resource=35119")
|
.write(("key=98BE0FE67F88AB82B4C197FAF1DC3B69206EFDCC4D3B80FC83A00037510B99B4&resource=35119")
|
||||||
.getBytes("UTF-8"));
|
.getBytes("UTF-8"));
|
||||||
String oldVersion = ver;
|
String newVersion = new BufferedReader(new InputStreamReader(c.getInputStream())).readLine();
|
||||||
String newVersion = new BufferedReader(new InputStreamReader(c.getInputStream())).readLine()
|
if (newVersion.equals(ver)) {
|
||||||
.replaceAll("[a-zA-Z ]", "");
|
|
||||||
if (newVersion.equals(oldVersion)) {
|
|
||||||
Storage.log("no-new-version");
|
Storage.log("no-new-version");
|
||||||
} else {
|
} else {
|
||||||
String[] msg = Storage.getMsg("new-version").replaceAll("%version%", newVersion)
|
String[] msg = Storage.getMsg("new-version").replaceAll("%version%", newVersion)
|
||||||
@ -41,7 +36,6 @@ public class UpdateChecker {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Storage.logExcept(e);
|
Storage.logExcept(e);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
});
|
});
|
||||||
t.start();
|
t.start();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,27 +1,27 @@
|
|||||||
#BugReportGUI Configuration file
|
# BugReportGUI Configuration file
|
||||||
#Google is your friend :)
|
# Google is your friend :)
|
||||||
debug: false
|
debug: false
|
||||||
check-update: true
|
check-update: true
|
||||||
#This could be sqlite, mysql
|
# This could be sqlite, mysql
|
||||||
database: sqlite
|
database: sqlite
|
||||||
#These are required if database is set to MySQL
|
# These are required if database is set to MySQL
|
||||||
mysql-url: 'localhost'
|
mysql-url: 'localhost'
|
||||||
mysql-port: 3306
|
mysql-port: 3306
|
||||||
mysql-username: ''
|
mysql-username: ''
|
||||||
mysql-password: ''
|
mysql-password: ''
|
||||||
mysql-db: ''
|
mysql-db: ''
|
||||||
###########################################################################
|
############################################################################
|
||||||
#This controls the date format(such as CST or PST or EST) in the bug view #
|
# This controls the date format(such as CST or PST or EST) in the bug view #
|
||||||
# Here is a country list for you :) #
|
# Here is a country list for you :) #
|
||||||
# https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 #
|
# https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 #
|
||||||
###########################################################################
|
############################################################################
|
||||||
locale: 'US'
|
locale: 'US'
|
||||||
lang: 'en'
|
lang: 'en'
|
||||||
#This controls the message when left click a bug
|
# This controls the message when left click a bug
|
||||||
auto-sendback-msg: '&eThanks for your reporting'
|
auto-sendback-msg: '&eThanks for your reporting'
|
||||||
#Report Alias
|
# Report Alias
|
||||||
alias: 'r'
|
alias: 'r'
|
||||||
#If you use bungeecord, please set this to true and set database to mysql
|
# If you use bungeecord, please set this to true and set database to mysql
|
||||||
use-bungee: false
|
use-bungee: false
|
||||||
#This controls the speed of checking sendback (in ms)
|
# This controls the speed of checking sendback (in ms)
|
||||||
check-speed: 2000
|
check-speed: 2000
|
||||||
@ -1,8 +1,8 @@
|
|||||||
name: BugRepGUI
|
name: BugRepGUI
|
||||||
main: com.ilummc.bugrepgui.Main
|
main: com.ilummc.bugrepgui.Main
|
||||||
version: 1.8
|
version: 1.10
|
||||||
author: IzzelAliz
|
author: IzzelAliz
|
||||||
website: https://www.spigotmc.org/resources/bugreportgui-better-than-rating.35119/
|
website: https://www.spigotmc.org/resources/35119/
|
||||||
commands:
|
commands:
|
||||||
bug:
|
bug:
|
||||||
description: /bug help for more help
|
description: /bug help for more help
|
||||||
@ -10,6 +10,9 @@ commands:
|
|||||||
bugrepgui:
|
bugrepgui:
|
||||||
description: /bugrepgui for more help
|
description: /bugrepgui for more help
|
||||||
usage: /bugrepgui
|
usage: /bugrepgui
|
||||||
|
report:
|
||||||
|
description: Report a bug
|
||||||
|
usage: /report
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
bugrepgui.admin:
|
bugrepgui.admin:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user