diff --git a/src/commands/characters/CommandCharacterEditBio.java b/src/commands/characters/CommandCharacterEditBio.java deleted file mode 100644 index be786a0..0000000 --- a/src/commands/characters/CommandCharacterEditBio.java +++ /dev/null @@ -1,38 +0,0 @@ -package commands.characters; - -import core.CharacterManager; -import core.Command; -import core.LocStrings; -import dataStructures.*; - -public class CommandCharacterEditBio extends Command -{ - public CommandCharacterEditBio(KittyRole level, KittyRating rating) { super(level, rating); } - - @Override - public String getHelpText() { return LocStrings.stub("CharacterEditBioInfo"); } - - @Override - public void onRun(KittyGuild guild, KittyChannel channel, KittyUser user, UserInput input, Response res) - { - try - { - Long.parseLong(input.args.split(" ")[0]); - } - catch(Exception e) - { - res.send(LocStrings.stub("CharacterEditBioNotValid")); - return; - } - KittyCharacter character = CharacterManager.instance.searchCharacter(input.args.split(" ")[0]).get(0); - if(character.getOwner().equals(user)) - { - CharacterManager.instance.editBio(character, input.args.substring(input.args.indexOf(' '))); - res.send(LocStrings.stub("CharacterEditBioSuccess")); - } - else - { - res.send(LocStrings.stub("CharacterEditBioNotAuth")); - } - } -} \ No newline at end of file diff --git a/src/commands/characters/CommandCharacterEditName.java b/src/commands/characters/CommandCharacterEditName.java deleted file mode 100644 index e278774..0000000 --- a/src/commands/characters/CommandCharacterEditName.java +++ /dev/null @@ -1,38 +0,0 @@ -package commands.characters; - -import core.CharacterManager; -import core.Command; -import core.LocStrings; -import dataStructures.*; - -public class CommandCharacterEditName extends Command -{ - public CommandCharacterEditName(KittyRole level, KittyRating rating) { super(level, rating); } - - @Override - public String getHelpText() { return LocStrings.stub("CharacterEditNameInfo"); } - - @Override - public void onRun(KittyGuild guild, KittyChannel channel, KittyUser user, UserInput input, Response res) - { - try - { - Long.parseLong(input.args.split(" ")[0]); - } - catch(Exception e) - { - res.send(LocStrings.stub("CharacterEditNameNotValid")); - return; - } - KittyCharacter character = CharacterManager.instance.searchCharacter(input.args.split(" ")[0]).get(0); - if(character.getOwner().equals(user)) - { - CharacterManager.instance.editName(character, input.args.substring(input.args.indexOf(' '))); - res.send(LocStrings.stub("CharacterEditNameSuccess")); - } - else - { - res.send(LocStrings.stub("CharacterEditNameNotAuth")); - } - } -} \ No newline at end of file diff --git a/src/commands/characters/CommandCharacterEditURL.java b/src/commands/characters/CommandCharacterEditURL.java deleted file mode 100644 index 5d2b6c8..0000000 --- a/src/commands/characters/CommandCharacterEditURL.java +++ /dev/null @@ -1,38 +0,0 @@ -package commands.characters; - -import core.CharacterManager; -import core.Command; -import core.LocStrings; -import dataStructures.*; - -public class CommandCharacterEditURL extends Command -{ - public CommandCharacterEditURL(KittyRole level, KittyRating rating) { super(level, rating); } - - @Override - public String getHelpText() { return LocStrings.stub("CharacterEditURLInfo"); } - - @Override - public void onRun(KittyGuild guild, KittyChannel channel, KittyUser user, UserInput input, Response res) - { - try - { - Long.parseLong(input.args.split(" ")[0]); - } - catch(Exception e) - { - res.send(LocStrings.stub("CharacterEditURLNotValid")); - return; - } - KittyCharacter character = CharacterManager.instance.searchCharacter(input.args.split(" ")[0]).get(0); - if(character.getOwner().equals(user)) - { - CharacterManager.instance.editRefImage(character, input.args.substring(input.args.indexOf(' '))); - res.send(LocStrings.stub("CharacterEditURLSuccess")); - } - else - { - res.send(LocStrings.stub("CharacterEditURLNotAuth")); - } - } -} \ No newline at end of file diff --git a/src/commands/characters/CommandCharacterMain.java b/src/commands/characters/CommandCharacterMain.java index 6a4bdce..5301bbb 100644 --- a/src/commands/characters/CommandCharacterMain.java +++ b/src/commands/characters/CommandCharacterMain.java @@ -1,15 +1,10 @@ package commands.characters; +import commands.guildrole.*; import core.Command; import core.LocStrings; import core.SubCommandFramework; -import dataStructures.KittyChannel; -import dataStructures.KittyGuild; -import dataStructures.KittyRating; -import dataStructures.KittyRole; -import dataStructures.KittyUser; -import dataStructures.Response; -import dataStructures.UserInput; +import dataStructures.*; public class CommandCharacterMain extends Command { @@ -17,6 +12,11 @@ public class CommandCharacterMain extends Command public CommandCharacterMain(KittyRole level, KittyRating rating) { super(level, rating); + framework.addCommand("add", new SubCommandAdd(KittyRole.General, KittyRating.Safe)); + framework.addCommand("editbio", new SubCommandEditBio(KittyRole.General, KittyRating.Safe)); + framework.addCommand("editname", new SubCommandEditName(KittyRole.General, KittyRating.Safe)); + framework.addCommand("editurl", new SubCommandEditURL(KittyRole.General, KittyRating.Safe)); + framework.addCommand("search", new SubCommandSearch(KittyRole.General, KittyRating.Safe)); } @Override diff --git a/src/commands/characters/CommandCharacterSearch.java b/src/commands/characters/CommandCharacterSearch.java deleted file mode 100644 index 79d44c7..0000000 --- a/src/commands/characters/CommandCharacterSearch.java +++ /dev/null @@ -1,40 +0,0 @@ -package commands.characters; - -import java.util.ArrayList; - -import core.CharacterManager; -import core.Command; -import core.LocStrings; -import dataStructures.*; - -public class CommandCharacterSearch extends Command -{ - public CommandCharacterSearch(KittyRole level, KittyRating rating) { super(level, rating); } - - @Override - public String getHelpText() { return LocStrings.stub("CharacterSearchInfo"); } - - @Override - public void onRun(KittyGuild guild, KittyChannel channel, KittyUser user, UserInput input, Response res) - { - ArrayList characters = CharacterManager.instance.searchCharacter(input.args); - if(characters.size() < 1) - { - res.send(LocStrings.stub("CharacterSearchNoCharacterFound")); - return; - } - if(characters.size() > 1) - { - res.send(LocStrings.stub("CharacterSearchMultipleCharacterHeader")); - for(KittyCharacter character:characters) - { - res.send(String.format(LocStrings.stub("CharacterSearchMultipleCharacter"), character.getName(), character.getOwner().name, character.getUID())); - } - return; - } - else - { - res.send(String.format(LocStrings.stub("CharacterSearchOneCharacter"), characters.get(0).getOwner().name, characters.get(0).getName(), characters.get(0).getBio(), characters.get(0).getRefImage(), characters.get(0).getUID())); - } - } -} \ No newline at end of file diff --git a/src/commands/characters/CommandCharacterCreate.java b/src/commands/characters/SubCommandCreate.java similarity index 82% rename from src/commands/characters/CommandCharacterCreate.java rename to src/commands/characters/SubCommandCreate.java index 7ce5eba..605b4c5 100644 --- a/src/commands/characters/CommandCharacterCreate.java +++ b/src/commands/characters/SubCommandCreate.java @@ -6,9 +6,9 @@ import core.SubCommand; import core.SubCommandFormattable; import dataStructures.*; -public class CommandCharacterCreate extends SubCommand +public class SubCommandCreate extends SubCommand { - public CommandCharacterCreate(KittyRole level, KittyRating rating) { super(level, rating); } + public SubCommandCreate(KittyRole level, KittyRating rating) { super(level, rating); } @Override public SubCommandFormattable OnRun(KittyGuild guild, KittyChannel channel, KittyUser user, String input) diff --git a/src/commands/characters/SubCommandEditBio.java b/src/commands/characters/SubCommandEditBio.java new file mode 100644 index 0000000..8236a6d --- /dev/null +++ b/src/commands/characters/SubCommandEditBio.java @@ -0,0 +1,40 @@ +package commands.characters; + +import core.CharacterManager; +import core.LocStrings; +import core.SubCommand; +import core.SubCommandFormattable; +import dataStructures.KittyChannel; +import dataStructures.KittyCharacter; +import dataStructures.KittyGuild; +import dataStructures.KittyRating; +import dataStructures.KittyRole; +import dataStructures.KittyUser; + +public class SubCommandEditBio extends SubCommand +{ + public SubCommandEditBio(KittyRole level, KittyRating rating) { super(level, rating); } + + @Override + public SubCommandFormattable OnRun(KittyGuild guild, KittyChannel channel, KittyUser user, String input) + { + try + { + Long.parseLong(input.split(" ")[0]); + } + catch(Exception e) + { + return new SubCommandFormattable (LocStrings.stub("CharacterEditBioNotValid")); + } + KittyCharacter character = CharacterManager.instance.searchCharacter(input.split(" ")[0]).get(0); + if(character.getOwner().equals(user)) + { + CharacterManager.instance.editBio(character, input.substring(input.indexOf(' '))); + return new SubCommandFormattable (LocStrings.stub("CharacterEditBioSuccess")); + } + else + { + return new SubCommandFormattable (LocStrings.stub("CharacterEditBioNotAuth")); + } + } +} \ No newline at end of file diff --git a/src/commands/characters/SubCommandEditName.java b/src/commands/characters/SubCommandEditName.java new file mode 100644 index 0000000..56c9cef --- /dev/null +++ b/src/commands/characters/SubCommandEditName.java @@ -0,0 +1,40 @@ +package commands.characters; + +import core.CharacterManager; +import core.LocStrings; +import core.SubCommand; +import core.SubCommandFormattable; +import dataStructures.KittyChannel; +import dataStructures.KittyCharacter; +import dataStructures.KittyGuild; +import dataStructures.KittyRating; +import dataStructures.KittyRole; +import dataStructures.KittyUser; + +public class SubCommandEditName extends SubCommand +{ + public SubCommandEditName(KittyRole level, KittyRating rating) { super(level, rating); } + + @Override + public SubCommandFormattable OnRun(KittyGuild guild, KittyChannel channel, KittyUser user, String input) + { + try + { + Long.parseLong(input.split(" ")[0]); + } + catch(Exception e) + { + return new SubCommandFormattable (LocStrings.stub("CharacterEditNameNotValid")); + } + KittyCharacter character = CharacterManager.instance.searchCharacter(input.split(" ")[0]).get(0); + if(character.getOwner().equals(user)) + { + CharacterManager.instance.editName(character, input.substring(input.indexOf(' '))); + return new SubCommandFormattable (LocStrings.stub("CharacterEditNameSuccess")); + } + else + { + return new SubCommandFormattable (LocStrings.stub("CharacterEditNameNotAuth")); + } + } +} \ No newline at end of file diff --git a/src/commands/characters/SubCommandEditURL.java b/src/commands/characters/SubCommandEditURL.java new file mode 100644 index 0000000..411d3cc --- /dev/null +++ b/src/commands/characters/SubCommandEditURL.java @@ -0,0 +1,40 @@ +package commands.characters; + +import core.CharacterManager; +import core.LocStrings; +import core.SubCommand; +import core.SubCommandFormattable; +import dataStructures.KittyChannel; +import dataStructures.KittyCharacter; +import dataStructures.KittyGuild; +import dataStructures.KittyRating; +import dataStructures.KittyRole; +import dataStructures.KittyUser; + +public class SubCommandEditURL extends SubCommand +{ + public SubCommandEditURL(KittyRole level, KittyRating rating) { super(level, rating); } + + @Override + public SubCommandFormattable OnRun(KittyGuild guild, KittyChannel channel, KittyUser user, String input) + { + try + { + Long.parseLong(input.split(" ")[0]); + } + catch(Exception e) + { + return new SubCommandFormattable (LocStrings.stub("CharacterEditURLNotValid")); + } + KittyCharacter character = CharacterManager.instance.searchCharacter(input.split(" ")[0]).get(0); + if(character.getOwner().equals(user)) + { + CharacterManager.instance.editRefImage(character, input.substring(input.indexOf(' '))); + return new SubCommandFormattable (LocStrings.stub("CharacterEditURLSuccess")); + } + else + { + return new SubCommandFormattable (LocStrings.stub("CharacterEditURLNotAuth")); + } + } +} \ No newline at end of file diff --git a/src/commands/characters/SubCommandSearch.java b/src/commands/characters/SubCommandSearch.java new file mode 100644 index 0000000..74b72cd --- /dev/null +++ b/src/commands/characters/SubCommandSearch.java @@ -0,0 +1,43 @@ +package commands.characters; + +import java.util.ArrayList; + +import core.CharacterManager; +import core.LocStrings; +import core.SubCommand; +import core.SubCommandFormattable; +import dataStructures.KittyChannel; +import dataStructures.KittyCharacter; +import dataStructures.KittyGuild; +import dataStructures.KittyRating; +import dataStructures.KittyRole; +import dataStructures.KittyUser; + +public class SubCommandSearch extends SubCommand +{ + public SubCommandSearch(KittyRole level, KittyRating rating) { super(level, rating); } + + @Override + public SubCommandFormattable OnRun(KittyGuild guild, KittyChannel channel, KittyUser user, String input) + { + ArrayList characters = CharacterManager.instance.searchCharacter(input); + if(characters.size() < 1) + { + return new SubCommandFormattable (LocStrings.stub("CharacterSearchNoCharacterFound")); + } + String formatted = ""; + if(characters.size() > 1) + { + formatted += (LocStrings.stub("CharacterSearchMultipleCharacterHeader")); + for(KittyCharacter character:characters) + { + formatted += "\n" + (String.format(LocStrings.stub("CharacterSearchMultipleCharacter"), character.getName(), character.getOwner().name, character.getUID())); + } + return new SubCommandFormattable(formatted); + } + else + { + return new SubCommandFormattable (String.format(LocStrings.stub("CharacterSearchOneCharacter"), characters.get(0).getOwner().name, characters.get(0).getName(), characters.get(0).getBio(), characters.get(0).getRefImage(), characters.get(0).getUID())); + } + } +} \ No newline at end of file diff --git a/src/core/CommandManager.java b/src/core/CommandManager.java index 970100f..750531c 100644 --- a/src/core/CommandManager.java +++ b/src/core/CommandManager.java @@ -3,10 +3,7 @@ package core; import java.util.*; import java.util.Map.Entry; -import commands.characters.CommandCharacterEditBio; -import commands.characters.CommandCharacterEditName; -import commands.characters.CommandCharacterEditURL; -import commands.characters.CommandCharacterSearch; +import commands.characters.CommandCharacterMain; import commands.general.*; import commands.guildrole.CommandGuildRoleMain; import dataStructures.KittyChannel; @@ -111,14 +108,11 @@ public class CommandManager this.register(LocCommands.stub("crouton"), new CommandCrouton(KittyRole.General, KittyRating.Safe)); this.register(LocCommands.stub("benchmark, bench"), new CommandBenchmark(KittyRole.General, KittyRating.Safe)); this.register(LocCommands.stub("rafflejoin"), new CommandRaffleJoin(KittyRole.General, KittyRating.Safe)); - this.register(LocCommands.stub("searchcharacter"), new CommandCharacterSearch(KittyRole.General, KittyRating.Safe)); - this.register(LocCommands.stub("charactereditbio"), new CommandCharacterEditBio(KittyRole.General, KittyRating.Safe)); - this.register(LocCommands.stub("charactereditname"), new CommandCharacterEditName(KittyRole.General, KittyRating.Safe)); - this.register(LocCommands.stub("charactereditURL"), new CommandCharacterEditURL(KittyRole.General, KittyRating.Safe)); this.register(LocCommands.stub("leaderboard"), new CommandLeaderboard(KittyRole.General, KittyRating.Safe)); this.register(LocCommands.stub("color, colour"), new CommandColor(KittyRole.General, KittyRating.Safe)); this.register(LocCommands.stub("remind"), new CommandRemind(KittyRole.General, KittyRating.Safe)); this.register(LocCommands.stub("role"), new CommandGuildRoleMain(KittyRole.General, KittyRating.Safe)); + this.register(LocCommands.stub("character"), new CommandCharacterMain(KittyRole.General, KittyRating.Safe)); } // Allows the command manager to keep track of a command. Takes a pair (the un-localized and localzied commands) diff --git a/src/core/ObjectBuilderFactory.java b/src/core/ObjectBuilderFactory.java index d778739..db66cc3 100644 --- a/src/core/ObjectBuilderFactory.java +++ b/src/core/ObjectBuilderFactory.java @@ -7,9 +7,6 @@ import java.util.concurrent.Semaphore; import javax.security.auth.login.LoginException; -import commands.characters.*; -import commands.general.*; -import commands.guildrole.CommandGuildRoleMain; import core.lua.PluginManager; import dataStructures.*; import main.Main;