+ Added stubs and some error checking to prevent lockout.

This commit is contained in:
Matthew Cech
2019-09-14 01:31:16 -07:00
parent 861aa95d96
commit e642551019
3 changed files with 31 additions and 3 deletions
+6 -1
View File
@@ -19,6 +19,7 @@ import utils.LogFilter;
public class DewCore
{
// TODO: Make realm and players both per-realm
public static String responseHeader = "[Dewdrop Forest]";
public static DewRealm realm;
public static List<KittyAdapterDewPlayer> players;
public static List<KittyAdapterDewPlayer> playersCaptured;
@@ -82,7 +83,10 @@ public class DewCore
if(f != null)
{
Response.EditLastMessage(f.resString);
Response.GetLastMessage((String last) -> {
if(last.contains(responseHeader))
Response.EditLastMessage(f.resString);
});
didRun = true;
}
}
@@ -145,6 +149,7 @@ public class DewCore
// Draw world
String out = "";
out += responseHeader + "\n";
out += "**Realm ID - ** `" + realm.id + "`\n";
for(int y = 0; y < worldBuffer.length; ++y)
@@ -0,0 +1,6 @@
package dataStructures;
public class KittyTrackedResponse
{
// TODO: Fill this out!
}
+19 -2
View File
@@ -3,6 +3,7 @@ package dataStructures;
import java.io.File;
import java.io.InputStream;
import java.util.concurrent.ExecutionException;
import java.util.function.Consumer;
import net.dv8tion.jda.core.JDA;
import net.dv8tion.jda.core.MessageBuilder;
@@ -20,7 +21,7 @@ import utils.LogFilter;
public class Response
{
// Last message
private static Message lastSentMessage = null;
private static Message lastSentMessage = new MessageBuilder().append(" ").build();
// Variables
private GuildMessageReceivedEvent event;
@@ -155,6 +156,7 @@ public class Response
////////////////////////
// Blast that message out and don't do anything else on this thread until sent.
// BLOCKING
protected void respondImmediate(MessageAction toSend)
{
synchronized(lastSentMessage)
@@ -163,7 +165,8 @@ public class Response
}
}
// Async thread-safe assignment. Assignment may technically be out of order, so keep that in mind.
// thread-safe assignment. Assignment may technically be out of order, so keep that in mind.
// ASYNC
protected void respond(MessageAction toSend)
{
toSend.submit().whenComplete((msg, err) -> {
@@ -174,6 +177,7 @@ public class Response
});
}
// BLOCKING
public static String GetLastMessage()
{
synchronized(lastSentMessage)
@@ -185,6 +189,19 @@ public class Response
}
}
// ASYNC
public static void GetLastMessage(Consumer<String> consumer)
{
synchronized(lastSentMessage)
{
if(lastSentMessage == null)
return;
consumer.accept(lastSentMessage.getContentRaw());
}
}
// BLOCKING
public static void EditLastMessage(String newContent)
{
synchronized(lastSentMessage)