Start implementing add command
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
parent
c40a857f8b
commit
e7e57506c4
@ -5,6 +5,7 @@ import org.bukkit.plugin.PluginManager;
|
|||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
import wtf.beatrice.nounspicker.commands.NounsCommand;
|
import wtf.beatrice.nounspicker.commands.NounsCommand;
|
||||||
import wtf.beatrice.nounspicker.objects.PAPIManager;
|
import wtf.beatrice.nounspicker.objects.PAPIManager;
|
||||||
|
import wtf.beatrice.nounspicker.utils.Cache;
|
||||||
import wtf.beatrice.nounspicker.utils.ConsoleLogger;
|
import wtf.beatrice.nounspicker.utils.ConsoleLogger;
|
||||||
import wtf.beatrice.nounspicker.utils.DatabaseManager;
|
import wtf.beatrice.nounspicker.utils.DatabaseManager;
|
||||||
import wtf.beatrice.nounspicker.utils.FileManager;
|
import wtf.beatrice.nounspicker.utils.FileManager;
|
||||||
@ -56,6 +57,7 @@ public class NounsPicker extends JavaPlugin
|
|||||||
if(dbManager.connect() && dbManager.initDb())
|
if(dbManager.connect() && dbManager.initDb())
|
||||||
{
|
{
|
||||||
logger.log("Database connection initialized!");
|
logger.log("Database connection initialized!");
|
||||||
|
Cache.dbManager = dbManager;
|
||||||
} else {
|
} else {
|
||||||
logger.err("Error initializing database connection!");
|
logger.err("Error initializing database connection!");
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,30 @@
|
|||||||
|
package wtf.beatrice.nounspicker.commands.subcommands;
|
||||||
|
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import wtf.beatrice.nounspicker.utils.Cache;
|
||||||
|
|
||||||
|
public class NounsAddSubCommand
|
||||||
|
{
|
||||||
|
|
||||||
|
public static boolean run(@NotNull CommandSender sender,
|
||||||
|
@NotNull String[] args)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
if(args.length < 3)
|
||||||
|
{
|
||||||
|
sender.sendMessage("usage: /nouns add <pronoun> <format>");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
String pronoun = args[1].toLowerCase();
|
||||||
|
|
||||||
|
if(Cache.dbManager.getPronounId(pronoun) >= 0)
|
||||||
|
{
|
||||||
|
sender.sendMessage("Pronoun already exists!");
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
@ -8,21 +8,5 @@ import java.util.HashMap;
|
|||||||
public class Cache
|
public class Cache
|
||||||
{
|
{
|
||||||
|
|
||||||
// map to store pronouns' "raw" names and how they appear in game.
|
public static DatabaseManager dbManager;
|
||||||
private static final HashMap<String, String> pronouns = new HashMap<>();
|
|
||||||
|
|
||||||
public static @Nullable String getPronoun(String pronoun)
|
|
||||||
{
|
|
||||||
return pronouns.get(pronoun);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void addPronoun(@NotNull String pronoun, @NotNull String appearance)
|
|
||||||
{
|
|
||||||
pronouns.put(pronoun, appearance);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isPronounValid(String pronoun)
|
|
||||||
{
|
|
||||||
return getPronoun(pronoun) != null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
package wtf.beatrice.nounspicker.utils;
|
package wtf.beatrice.nounspicker.utils;
|
||||||
|
|
||||||
import java.sql.Connection;
|
import java.sql.*;
|
||||||
import java.sql.DriverManager;
|
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.sql.Statement;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -68,10 +65,11 @@ public class DatabaseManager
|
|||||||
"secondary_pronoun_id integer" +
|
"secondary_pronoun_id integer" +
|
||||||
");");
|
");");
|
||||||
|
|
||||||
newTables.add("CREATE TABLE IF NOT EXISTS pronouns (\" +\n" +
|
newTables.add("CREATE TABLE IF NOT EXISTS pronouns (" +
|
||||||
" \"pronoun text,\" +\n" +
|
"pronoun text," +
|
||||||
" \"id integer\" +\n" +
|
"format text," +
|
||||||
" \");");
|
"\"id integer" +
|
||||||
|
");");
|
||||||
|
|
||||||
for(String sql : newTables)
|
for(String sql : newTables)
|
||||||
{
|
{
|
||||||
@ -99,14 +97,38 @@ public class DatabaseManager
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* TABLE 2: PRONOUNS
|
* TABLE 2: PRONOUNS
|
||||||
* --------------------------
|
* --------------------------------------
|
||||||
* | pronoun | id |
|
* | pronoun | id | format |
|
||||||
* --------------------------
|
* --------------------------------------
|
||||||
* | she | 1 |
|
* | she | 1 | She |
|
||||||
* | her | 2 |
|
* | her | 2 | Her |
|
||||||
* | he | 3 |
|
* | he | 3 | He |
|
||||||
* --------------------------
|
* -------------------------------------
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
public int getPronounId(String pronoun) {
|
||||||
|
String query = "SELECT id " +
|
||||||
|
"FROM pronouns " +
|
||||||
|
"WHERE pronoun = ?;";
|
||||||
|
|
||||||
|
try (PreparedStatement pStatement = dbConnection.prepareStatement(query)) {
|
||||||
|
pStatement.setString(1, pronoun);
|
||||||
|
ResultSet resultSet = pStatement.executeQuery();
|
||||||
|
|
||||||
|
while(resultSet.next())
|
||||||
|
{
|
||||||
|
return resultSet.getInt("id");
|
||||||
|
}
|
||||||
|
} catch (SQLException e)
|
||||||
|
{
|
||||||
|
logger.err(e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user