Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -8,6 +8,7 @@ boop=1
|
|||||||
buildhelp=1
|
buildhelp=1
|
||||||
c++, g++, cplus, cpp=1
|
c++, g++, cplus, cpp=1
|
||||||
catch=1
|
catch=1
|
||||||
|
charactercreate=1
|
||||||
choose=1
|
choose=1
|
||||||
crouton=1
|
crouton=1
|
||||||
dbflush=1
|
dbflush=1
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ info, about=
|
|||||||
showpoll=
|
showpoll=
|
||||||
rpg=
|
rpg=
|
||||||
tweet=
|
tweet=
|
||||||
|
charactercreate=
|
||||||
help=
|
help=
|
||||||
fetch=
|
fetch=
|
||||||
crouton=
|
crouton=
|
||||||
|
|||||||
@@ -198,6 +198,12 @@ YeetInfo=Yeet yourself or yeet a friend with @!
|
|||||||
[CommandCrouton]
|
[CommandCrouton]
|
||||||
CroutonInfo=Crouton
|
CroutonInfo=Crouton
|
||||||
|
|
||||||
|
[CommandCharacterCreate]
|
||||||
|
CharacterCreateDuplicate=
|
||||||
|
CharacterCreateInfo=
|
||||||
|
CharacterCreateSuccess=
|
||||||
|
CharacterCreateNullInfo=
|
||||||
|
|
||||||
[CommandTeey]
|
[CommandTeey]
|
||||||
TeeyInfo=Teey yourself back into existance, or teey a friend with @!
|
TeeyInfo=Teey yourself back into existance, or teey a friend with @!
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
package commands;
|
||||||
|
|
||||||
|
import core.CharacterManager;
|
||||||
|
import core.Command;
|
||||||
|
import core.LocStrings;
|
||||||
|
import dataStructures.KittyChannel;
|
||||||
|
import dataStructures.KittyGuild;
|
||||||
|
import dataStructures.KittyRating;
|
||||||
|
import dataStructures.KittyRole;
|
||||||
|
import dataStructures.KittyUser;
|
||||||
|
import dataStructures.Response;
|
||||||
|
import dataStructures.UserInput;
|
||||||
|
|
||||||
|
public class CommandCharacterCreate extends Command
|
||||||
|
{
|
||||||
|
public CommandCharacterCreate(KittyRole level, KittyRating rating) { super(level, rating); }
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String HelpText() { return LocStrings.Stub("CharacterCreateInfo"); }
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void OnRun(KittyGuild guild, KittyChannel channel, KittyUser user, UserInput input, Response res)
|
||||||
|
{
|
||||||
|
String [] info = input.args.split(",");
|
||||||
|
if(info.length < 3)
|
||||||
|
{
|
||||||
|
res.Call(LocStrings.Stub("CharacterCreateNullInfo"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(CharacterManager.instance.addCharacter(user, info[0], info[1], info[2]))
|
||||||
|
{
|
||||||
|
res.Call(LocStrings.Stub("CharacterCreateSuccess"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
res.Call(LocStrings.Stub("CharacterCreateDuplicate"));
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
package core;
|
||||||
|
|
||||||
|
import java.util.Vector;
|
||||||
|
|
||||||
|
import dataStructures.KittyCharacter;
|
||||||
|
import dataStructures.KittyUser;
|
||||||
|
import utils.GlobalLog;
|
||||||
|
import utils.LogFilter;
|
||||||
|
|
||||||
|
public class CharacterManager
|
||||||
|
{
|
||||||
|
public static CharacterManager instance;
|
||||||
|
|
||||||
|
private Vector <KittyCharacter> characters = new Vector<KittyCharacter>();
|
||||||
|
public CharacterManager()
|
||||||
|
{
|
||||||
|
if(instance == null)
|
||||||
|
{
|
||||||
|
instance = this;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GlobalLog.Error(LogFilter.Core, "Attempted to create a second CharacterManager singleton!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean addCharacter(KittyUser user, String name, String bio, String refImage)
|
||||||
|
{
|
||||||
|
for(KittyCharacter character:characters)
|
||||||
|
{
|
||||||
|
if(character.getName().equals(name) && character.getOwner().discordID.equals(user.discordID))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
characters.add(new KittyCharacter(user, name, bio, refImage));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean removeCharacter(KittyUser user, String name)
|
||||||
|
{
|
||||||
|
for(KittyCharacter character:characters)
|
||||||
|
{
|
||||||
|
if(character.getName().equals(name) && character.getOwner().discordID.equals(user.discordID))
|
||||||
|
{
|
||||||
|
characters.remove(character);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean editRefImage(KittyUser user, String name, String refImage)
|
||||||
|
{
|
||||||
|
for(KittyCharacter character:characters)
|
||||||
|
{
|
||||||
|
if(character.getName().equals(name) && character.getOwner().discordID.equals(user.discordID))
|
||||||
|
{
|
||||||
|
return character.editRefImage(user, refImage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean editBio(KittyUser user, String name, String bio)
|
||||||
|
{
|
||||||
|
for(KittyCharacter character:characters)
|
||||||
|
{
|
||||||
|
if(character.getName().equals(name) && character.getOwner().discordID.equals(user.discordID))
|
||||||
|
{
|
||||||
|
return character.editBio(user, bio);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -423,6 +423,7 @@ public class ObjectBuilderFactory
|
|||||||
manager.Register(LocCommands.Stub("crouton"), new CommandCrouton(KittyRole.General, KittyRating.Safe));
|
manager.Register(LocCommands.Stub("crouton"), new CommandCrouton(KittyRole.General, KittyRating.Safe));
|
||||||
manager.Register(LocCommands.Stub("benchmark, bench"), new CommandBenchmark(KittyRole.General, KittyRating.Safe));
|
manager.Register(LocCommands.Stub("benchmark, bench"), new CommandBenchmark(KittyRole.General, KittyRating.Safe));
|
||||||
manager.Register(LocCommands.Stub("rafflejoin"), new CommandRaffleJoin(KittyRole.General, KittyRating.Safe));
|
manager.Register(LocCommands.Stub("rafflejoin"), new CommandRaffleJoin(KittyRole.General, KittyRating.Safe));
|
||||||
|
manager.Register(LocCommands.Stub("charactercreate"), new CommandCharacterCreate(KittyRole.General, KittyRating.Safe));
|
||||||
manager.Register(LocCommands.Stub("leaderboard"), new CommandLeaderboard(KittyRole.General, KittyRating.Safe));
|
manager.Register(LocCommands.Stub("leaderboard"), new CommandLeaderboard(KittyRole.General, KittyRating.Safe));
|
||||||
|
|
||||||
return manager;
|
return manager;
|
||||||
|
|||||||
@@ -1,5 +1,72 @@
|
|||||||
package dataStructures;
|
package dataStructures;
|
||||||
|
|
||||||
public class KittyCharacter {
|
public class KittyCharacter
|
||||||
|
{
|
||||||
|
private KittyUser owner;
|
||||||
|
private String name;
|
||||||
|
private String bio;
|
||||||
|
private String refImage;
|
||||||
|
|
||||||
|
public KittyCharacter(KittyUser owner, String name, String bio, String refImage)
|
||||||
|
{
|
||||||
|
this.owner = owner;
|
||||||
|
this.name = name;
|
||||||
|
this.bio = bio;
|
||||||
|
this.refImage = refImage;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private boolean allowedToEdit(KittyUser editor)
|
||||||
|
{
|
||||||
|
if(editor.identifier.equals(owner.identifier))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean editBio(KittyUser editor, String bio)
|
||||||
|
{
|
||||||
|
if(allowedToEdit(editor))
|
||||||
|
{
|
||||||
|
this.bio = bio;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean editRefImage(KittyUser editor, String refImage)
|
||||||
|
{
|
||||||
|
if(allowedToEdit(editor))
|
||||||
|
{
|
||||||
|
this.refImage = refImage;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public KittyUser getOwner()
|
||||||
|
{
|
||||||
|
return owner;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName()
|
||||||
|
{
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBio()
|
||||||
|
{
|
||||||
|
return bio;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRefImage()
|
||||||
|
{
|
||||||
|
return refImage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
return name + " " + bio + " " + refImage;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+17
-9
@@ -1,25 +1,31 @@
|
|||||||
package main;
|
package main;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import javax.security.auth.login.LoginException;
|
import javax.security.auth.login.LoginException;
|
||||||
import core.*;
|
|
||||||
import core.benchmark.BenchmarkManager;
|
import core.CharacterManager;
|
||||||
|
import core.CommandEnabler;
|
||||||
|
import core.CommandManager;
|
||||||
|
import core.DatabaseManager;
|
||||||
|
import core.ObjectBuilderFactory;
|
||||||
|
import core.RPManager;
|
||||||
|
import core.Stats;
|
||||||
import core.lua.PluginManager;
|
import core.lua.PluginManager;
|
||||||
import core.lua.PluginUser;
|
|
||||||
import dataStructures.KittyChannel;
|
import dataStructures.KittyChannel;
|
||||||
import dataStructures.KittyCore;
|
import dataStructures.KittyCore;
|
||||||
import dataStructures.KittyGuild;
|
import dataStructures.KittyGuild;
|
||||||
import dataStructures.KittyRole;
|
|
||||||
import dataStructures.KittyUser;
|
import dataStructures.KittyUser;
|
||||||
import dataStructures.Response;
|
import dataStructures.Response;
|
||||||
import dataStructures.UserInput;
|
import dataStructures.UserInput;
|
||||||
import net.dv8tion.jda.core.AccountType;
|
import net.dv8tion.jda.core.AccountType;
|
||||||
import net.dv8tion.jda.core.entities.*;
|
import net.dv8tion.jda.core.JDA;
|
||||||
import net.dv8tion.jda.core.events.message.guild.*;
|
import net.dv8tion.jda.core.JDABuilder;
|
||||||
|
import net.dv8tion.jda.core.entities.Game;
|
||||||
|
import net.dv8tion.jda.core.events.message.guild.GuildMessageReceivedEvent;
|
||||||
import net.dv8tion.jda.core.hooks.ListenerAdapter;
|
import net.dv8tion.jda.core.hooks.ListenerAdapter;
|
||||||
import offline.*;
|
import offline.Ref;
|
||||||
import utils.GlobalLog;
|
import utils.GlobalLog;
|
||||||
import net.dv8tion.jda.core.*;
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
// http://www.slf4j.org/ - this JDA logging tool has been disabled by specifying NOP implementation.
|
// http://www.slf4j.org/ - this JDA logging tool has been disabled by specifying NOP implementation.
|
||||||
// This is the application entry point, and bot startup location!
|
// This is the application entry point, and bot startup location!
|
||||||
@@ -35,6 +41,7 @@ public class Main extends ListenerAdapter
|
|||||||
private static Stats stats;
|
private static Stats stats;
|
||||||
private static RPManager rpManager;
|
private static RPManager rpManager;
|
||||||
private static PluginManager pluginManager;
|
private static PluginManager pluginManager;
|
||||||
|
private static CharacterManager charManager;
|
||||||
|
|
||||||
// Initialization and setup
|
// Initialization and setup
|
||||||
public static void main(String[] args) throws InterruptedException, LoginException, Exception
|
public static void main(String[] args) throws InterruptedException, LoginException, Exception
|
||||||
@@ -45,6 +52,7 @@ public class Main extends ListenerAdapter
|
|||||||
commandEnabler = ObjectBuilderFactory.ConstructCommandEnabler();
|
commandEnabler = ObjectBuilderFactory.ConstructCommandEnabler();
|
||||||
commandManager = ObjectBuilderFactory.ConstructCommandManager(commandEnabler);
|
commandManager = ObjectBuilderFactory.ConstructCommandManager(commandEnabler);
|
||||||
stats = ObjectBuilderFactory.ConstructStats(commandManager);
|
stats = ObjectBuilderFactory.ConstructStats(commandManager);
|
||||||
|
charManager = new CharacterManager();
|
||||||
rpManager = ObjectBuilderFactory.ConstructRPManager();
|
rpManager = ObjectBuilderFactory.ConstructRPManager();
|
||||||
pluginManager = ObjectBuilderFactory.ConstructPluginManager();
|
pluginManager = ObjectBuilderFactory.ConstructPluginManager();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user