Skip to content

Commit

Permalink
The MySQL Update
Browse files Browse the repository at this point in the history
Large commit. Mostly focused on adding MySQL functionality. I'll go over
the other updates, as MySQL alone is pretty straight forward :

Firstly, UUIDFetcher was updated! Queries against the Mojang servers
seem to be much faster, now. Thanks, evilmidget38!

Secondly,  LogUsage. Currently, MySQL is the only focus which can use
this, but I'll expand it to other ones, in the future. If set to true,
it'll log every command used using this plugin, for the respective
command.
  • Loading branch information
FerusGrim committed May 1, 2014
1 parent 15ec4f6 commit bea3f23
Show file tree
Hide file tree
Showing 17 changed files with 734 additions and 74 deletions.
50 changes: 45 additions & 5 deletions src/main/java/io/github/ferusgrim/GrimList/Commands/AddPlayer.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import java.util.UUID;

public class AddPlayer {
private GrimList plugin;
private final GrimList plugin;

public AddPlayer(GrimList plugin) {
this.plugin = plugin;
Expand All @@ -35,10 +35,30 @@ public boolean run(CommandSender sender, String name) {
runOperation(sender, name);
} else {
if (plugin.filem.isPlayerWhitelisted(uuid)) {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "'" + name + "' is already whitelisted!");
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player is already whitelisted!");
} else {
plugin.filem.addPlayerToWhitelist(uuid, name);
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "'" + name + "' was whitelisted!");
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player was added to the whitelisted!");
}
}
} else {
runOperation(sender, name);
}
break;
case "mysql":
if (plugin.mysqlm.doesRecordExistUnderName(name)) {
String uuid = plugin.mysqlm.getUUID(name);
if (uuid.isEmpty()) {
runOperation(sender, name);
} else {
if (plugin.mysqlm.isPlayerWhitelisted(uuid)) {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player is already whitelisted!");
} else {
plugin.mysqlm.addPlayerToWhitelist(uuid, name);
if (plugin.getConfig().getBoolean("LogUsage.Add")) {
plugin.mysqlm.addCommandLog(name, uuid, "/whitelist add " + name, (sender instanceof Player ? plugin.getServer().getPlayerExact(sender.getName()).getUniqueId().toString() : "CONSOLE"), sender.getName());
}
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player was added to the whitelist!");
}
}
} else {
Expand Down Expand Up @@ -76,10 +96,30 @@ protected void execSyncThen() {
switch (plugin.focusOn) {
case "file":
if (plugin.filem.isPlayerWhitelisted(uuid)) {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "'" + name + "' is already whitelisted!");
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player is already whitelisted!");
} else {
plugin.filem.addPlayerToWhitelist(uuid, name);
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "'" + name + "' was whitelisted!");
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player was added to the whitelisted!");
}
break;
case "mysql":
if (plugin.mysqlm.doesRecordExistUnderUUID(uuid)) {
if (plugin.mysqlm.isPlayerWhitelisted(uuid)) {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player is already whitelisted!");
} else {
plugin.mysqlm.addPlayerToWhitelist(uuid, name);
if (plugin.getConfig().getBoolean("LogUsage.Add")) {
plugin.mysqlm.addCommandLog(name, uuid, "/whitelist add " + name, (sender instanceof Player ? plugin.getServer().getPlayerExact(sender.getName()).getUniqueId().toString() : "CONSOLE"), sender.getName());
}
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player was added to the whitelist!");
}
} else {
plugin.mysqlm.createRecordFromQuery(uuid, name);
plugin.mysqlm.addPlayerToWhitelist(uuid, name);
if (plugin.getConfig().getBoolean("LogUsage.Add")) {
plugin.mysqlm.addCommandLog(name, uuid, "/whitelist add " + name, (sender instanceof Player ? plugin.getServer().getPlayerExact(sender.getName()).getUniqueId().toString() : "CONSOLE"), sender.getName());
}
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player was added to the whitelist!");
}
break;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import java.util.UUID;

public class DeleteRecord {
private GrimList plugin;
private final GrimList plugin;

public DeleteRecord(GrimList plugin) {
this.plugin = plugin;
Expand All @@ -35,6 +35,9 @@ public boolean run(CommandSender sender, String name) {
runOperation(sender, name);
} else {
plugin.filem.deleteRecord(uuid);
if (plugin.getConfig().getBoolean("LogUsage.Delete")) {
plugin.mysqlm.addCommandLog(name, uuid, "/whitelist delete " + name, (sender instanceof Player ? plugin.getServer().getPlayerExact(sender.getName()).getUniqueId().toString() : "CONSOLE"), sender.getName());
}
if (plugin.getConfig().getBoolean("KickRemove") && plugin.getServer().getPlayerExact(name) != null) {
plugin.getServer().getPlayerExact(name).kickPlayer(plugin.mStart + "You were removed from the whitelist!");
}
Expand All @@ -45,6 +48,20 @@ public boolean run(CommandSender sender, String name) {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player record doesn't exist!");
}
break;
case "mysql":
if (plugin.mysqlm.doesRecordExistUnderName(name)) {
String uuid = plugin.mysqlm.getUUID(name);
if (uuid.isEmpty()) {
runOperation(sender, name);
} else {
plugin.mysqlm.deletePlayerFromRecord(uuid);
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player record was deleted!");
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "UUID: (" + uuid + ")");
}
} else {
runOperation(sender, name);
}
break;
}
}
return true;
Expand Down Expand Up @@ -77,16 +94,26 @@ protected void execSyncThen() {
case "file":
if (plugin.filem.doesRecordExist(uuid)) {
plugin.filem.deleteRecord(uuid);
if (plugin.getConfig().getBoolean("LogUsage.Delete")) {
plugin.mysqlm.addCommandLog(name, uuid, "/whitelist delete " + name, (sender instanceof Player ? plugin.getServer().getPlayerExact(sender.getName()).getUniqueId().toString() : "CONSOLE"), sender.getName());
}
if (plugin.getConfig().getBoolean("KickRemove") && plugin.getServer().getPlayerExact(name) != null) {
plugin.getServer().getPlayerExact(name).kickPlayer(plugin.mStart + "You were removed from the whitelist!");
}
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player record was deleted!");
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "UUID: (" + uuid + ")");
} else {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player record doesn't exist!");
return;
}
return;
break;
case "mysql":
if (plugin.mysqlm.doesRecordExistUnderUUID(uuid)) {
plugin.mysqlm.deletePlayerFromRecord(uuid);
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player record was deleted!");
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "UUID: (" + uuid + ")");
} else {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player record doesn't exist!");
}
}
}
};
Expand Down
17 changes: 16 additions & 1 deletion src/main/java/io/github/ferusgrim/GrimList/Commands/GetUUID.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import java.util.UUID;

public class GetUUID {
private GrimList plugin;
private final GrimList plugin;

public GetUUID(GrimList plugin) {
this.plugin = plugin;
Expand All @@ -41,6 +41,16 @@ public boolean run(CommandSender sender, String name) {
runOperation(sender, name);
}
break;
case "mysql":
if (plugin.mysqlm.doesRecordExistUnderName(name)) {
String uuid = plugin.mysqlm.getUUID(name);
if (uuid.isEmpty()) {
runOperation(sender, name);
} else {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "UUID of " + name + ":");
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + uuid);
}
}
}
}
return true;
Expand Down Expand Up @@ -78,6 +88,11 @@ protected void execSyncThen() {
plugin.filem.recordAfterIdLookup(uuid, name);
}
break;
case "mysql":
if (!plugin.mysqlm.doesRecordExistUnderUUID(uuid)) {
plugin.mysqlm.createRecordFromQuery(uuid, name);
}
break;
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import java.util.UUID;

public class RemovePlayer {
private GrimList plugin;
private final GrimList plugin;

public RemovePlayer(GrimList plugin) {
this.plugin = plugin;
Expand Down Expand Up @@ -52,6 +52,37 @@ public boolean run(CommandSender sender, String name) {
}
}
break;
case "mysql":
if (plugin.mysqlm.doesRecordExistUnderName(name)) {
String uuid = plugin.mysqlm.getUUID(name);
if (uuid.isEmpty()) {
if (plugin.getConfig().getBoolean("SaveQueries")) {
runOperation(sender, name);
} else {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player isn't whitelisted!");
}
} else {
if (plugin.mysqlm.isPlayerWhitelisted(uuid)) {
plugin.mysqlm.removePlayerFromWhitelist(uuid, name);
if (plugin.getConfig().getBoolean("LogUsage.Remove")) {
plugin.mysqlm.addCommandLog(name, uuid, "/whitelist remove " + name, (sender instanceof Player ? plugin.getServer().getPlayerExact(sender.getName()).getUniqueId().toString() : "CONSOLE"), sender.getName());
}
if (plugin.getConfig().getBoolean("KickRemove") && plugin.getServer().getPlayerExact(name) != null) {
plugin.getServer().getPlayerExact(name).kickPlayer(plugin.mStart + "You were removed from the whitelist!");
}
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player has been removed from the whitelist!");
} else {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player isn't whitelisted!");
}
}
} else {
if (plugin.getConfig().getBoolean("SaveQueries")) {
runOperation(sender, name);
} else {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player isn't whitelisted!");
}
}
break;
}
}
return true;
Expand Down Expand Up @@ -93,10 +124,31 @@ protected void execSyncThen() {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player isn't whitelisted!");
}
} else {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player isn't whitelisted!");
if (plugin.getConfig().getBoolean("SaveQueries")) {
plugin.filem.recordAfterIdLookup(uuid, name);
}
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player isn't whitelisted!");
}
break;
case "mysql":
if (plugin.mysqlm.doesRecordExistUnderUUID(uuid)) {
if (plugin.mysqlm.isPlayerWhitelisted(uuid)) {
plugin.mysqlm.removePlayerFromWhitelist(uuid, name);
if (plugin.getConfig().getBoolean("LogUsage.Remove")) {
plugin.mysqlm.addCommandLog(name, uuid, "/whitelist remove " + name, (sender instanceof Player ? plugin.getServer().getPlayerExact(sender.getName()).getUniqueId().toString() : "CONSOLE"), sender.getName());
}
if (plugin.getConfig().getBoolean("KickRemove") && plugin.getServer().getPlayerExact(name) != null) {
plugin.getServer().getPlayerExact(name).kickPlayer(plugin.mStart + "You were removed from the whitelist!");
}
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player has been removed from the whitelist!");
} else {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player isn't whitelisted!");
}
} else {
if (plugin.getConfig().getBoolean("SaveQueries")) {
plugin.mysqlm.createRecordFromQuery(uuid, name);
}
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player isn't whitelisted!");
}
break;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public boolean run(CommandSender sender, String[] args) {
}
if (s1.equals("Notify")) {
String s2 = WordUtils.capitalize(args[2].toLowerCase());
if(s2.equals("Console") || s2.equals("Player")) {
if (s2.equals("Console") || s2.equals("Player")) {
if (args.length < 4 || (args[3].equalsIgnoreCase("true")) && (args[3].equalsIgnoreCase("false"))) {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Please select between true or false!");
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,15 @@
import io.github.ferusgrim.GrimList.GrimList;
import io.github.ferusgrim.GrimList.utils.AsyncThenSyncOperation;
import io.github.ferusgrim.GrimList.utils.UUIDFetcher;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import java.util.*;
import java.util.Arrays;
import java.util.Map;
import java.util.UUID;

public class ViewPlayer {
private GrimList plugin;
private final GrimList plugin;

public ViewPlayer(GrimList plugin) {
this.plugin = plugin;
Expand All @@ -43,6 +44,25 @@ public boolean run(CommandSender sender, String name) {
}
}
break;
case "mysql":
if (plugin.mysqlm.doesRecordExistUnderName(name)) {
String uuid = plugin.mysqlm.getUUID(name);
if (uuid.isEmpty()) {
runOperation(sender, name);
} else {
plugin.mysqlm.doViewPlayer(sender, uuid);
if (plugin.getConfig().getBoolean("LogUsage.View")) {
plugin.mysqlm.addCommandLog(name, uuid, "/whitelist view " + name, (sender instanceof Player ? plugin.getServer().getPlayerExact(sender.getName()).getUniqueId().toString() : "CONSOLE"), sender.getName());
}
}
} else {
if (plugin.getConfig().getBoolean("SaveQueries")) {
runOperation(sender, name);
} else {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player record doesn't exist!");
}
}
break;
}
}
return true;
Expand Down Expand Up @@ -84,6 +104,23 @@ protected void execSyncThen() {
}
}
break;
case "mysql":
if (plugin.mysqlm.doesRecordExistUnderUUID(uuid)) {
plugin.mysqlm.doViewPlayer(sender, uuid);
if (plugin.getConfig().getBoolean("LogUsage.View")) {
plugin.mysqlm.addCommandLog(name, uuid, "/whitelist view " + name, (sender instanceof Player ? plugin.getServer().getPlayerExact(sender.getName()).getUniqueId().toString() : "CONSOLE"), sender.getName());
}
} else {
if (plugin.getConfig().getBoolean("SaveQueries")) {
plugin.mysqlm.createRecordFromQuery(uuid, name);
plugin.mysqlm.doViewPlayer(sender, uuid);
if (plugin.getConfig().getBoolean("LogUsage.View")) {
plugin.mysqlm.addCommandLog(name, uuid, "/whitelist view " + name, (sender instanceof Player ? plugin.getServer().getPlayerExact(sender.getName()).getUniqueId().toString() : "CONSOLE"), sender.getName());
}
} else {
sender.sendMessage((sender instanceof Player ? plugin.mStart : "") + "Player record doesn't exist!");
}
}
}
}
};
Expand Down

0 comments on commit bea3f23

Please sign in to comment.