Merge branch 'master' into develop
This commit is contained in:
@@ -8,6 +8,7 @@ boop=1
|
||||
buildhelp=1
|
||||
c++, g++, cplus, cpp=1
|
||||
catch=1
|
||||
charactercreate=1
|
||||
choose=1
|
||||
crouton=1
|
||||
dbflush=1
|
||||
|
||||
@@ -47,6 +47,7 @@ info, about=
|
||||
showpoll=
|
||||
rpg=
|
||||
tweet=
|
||||
charactercreate=
|
||||
help=
|
||||
fetch=
|
||||
crouton=
|
||||
|
||||
@@ -198,6 +198,12 @@ YeetInfo=Yeet yourself or yeet a friend with @!
|
||||
[CommandCrouton]
|
||||
CroutonInfo=Crouton
|
||||
|
||||
[CommandCharacterCreate]
|
||||
CharacterCreateDuplicate=
|
||||
CharacterCreateInfo=
|
||||
CharacterCreateSuccess=
|
||||
CharacterCreateNullInfo=
|
||||
|
||||
[CommandTeey]
|
||||
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("benchmark, bench"), new CommandBenchmark(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));
|
||||
|
||||
return manager;
|
||||
|
||||
@@ -1,5 +1,72 @@
|
||||
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;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
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.PluginUser;
|
||||
import dataStructures.KittyChannel;
|
||||
import dataStructures.KittyCore;
|
||||
import dataStructures.KittyGuild;
|
||||
import dataStructures.KittyRole;
|
||||
import dataStructures.KittyUser;
|
||||
import dataStructures.Response;
|
||||
import dataStructures.UserInput;
|
||||
import net.dv8tion.jda.core.AccountType;
|
||||
import net.dv8tion.jda.core.entities.*;
|
||||
import net.dv8tion.jda.core.events.message.guild.*;
|
||||
import net.dv8tion.jda.core.JDA;
|
||||
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 offline.*;
|
||||
import offline.Ref;
|
||||
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.
|
||||
// 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 RPManager rpManager;
|
||||
private static PluginManager pluginManager;
|
||||
private static CharacterManager charManager;
|
||||
|
||||
// Initialization and setup
|
||||
public static void main(String[] args) throws InterruptedException, LoginException, Exception
|
||||
@@ -45,6 +52,7 @@ public class Main extends ListenerAdapter
|
||||
commandEnabler = ObjectBuilderFactory.ConstructCommandEnabler();
|
||||
commandManager = ObjectBuilderFactory.ConstructCommandManager(commandEnabler);
|
||||
stats = ObjectBuilderFactory.ConstructStats(commandManager);
|
||||
charManager = new CharacterManager();
|
||||
rpManager = ObjectBuilderFactory.ConstructRPManager();
|
||||
pluginManager = ObjectBuilderFactory.ConstructPluginManager();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user