Skip to content

Commit d88de1a

Browse files
committed
Remove debug code, move chat message methods from ClassiCubeJavaLoaderBridge to Chat class, increment VERSION_CODE (now is 2)
1 parent 4c3e0d2 commit d88de1a

File tree

3 files changed

+34
-41
lines changed

3 files changed

+34
-41
lines changed

ClassiCubeJavaLoaderBridge/src/main/java/ccjl/Interface.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import ru.deewend.ccjlbridge.ClassiCubeJavaLoaderBridge;
44
import ru.deewend.ccjlbridge.EventManager;
5+
import ru.deewend.ccjlbridge.gameapi.Chat;
56
import ru.deewend.ccjlbridge.gameapi.ScheduledTask;
67

78
// not meant to be called by plugins
@@ -32,6 +33,7 @@ public static Object freePendingInfo() {
3233
return null;
3334
}
3435

36+
// is not actually used by the native loader plugin
3537
public static double[] getPendingScheduledTaskIntervals() {
3638
try {
3739
return ScheduledTask.getPendingScheduledTaskIntervals();
@@ -43,7 +45,7 @@ public static double[] getPendingScheduledTaskIntervals() {
4345
}
4446

4547
public static String[] getPendingChatMessages() {
46-
return ClassiCubeJavaLoaderBridge.getInstance().getPendingChatMessages();
48+
return Chat.getPendingChatMessages();
4749
}
4850

4951
public static void fireEvent(int eventId) {
Lines changed: 3 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,20 @@
11
package ru.deewend.ccjlbridge;
22

3-
import ccjl.Interface;
4-
5-
import java.util.ArrayList;
6-
import java.util.Arrays;
7-
import java.util.List;
8-
import java.util.Objects;
3+
import ru.deewend.ccjlbridge.gameapi.Chat;
94

105
public class ClassiCubeJavaLoaderBridge {
116
public static boolean DEBUG = false;
12-
public static final int VERSION_CODE = 1;
7+
public static final int VERSION_CODE = 2;
138

149
public static final String LOG_FORMAT = "[HH:mm:ss dd.MM.yyyy] ";
1510
public static final String LOG_FILENAME_FORMAT = "dd-MM-yyyy-logs.txt";
1611
public static final boolean SHOULD_SAVE_LOGS_ON_DISK = true;
1712

1813
private static ClassiCubeJavaLoaderBridge instance;
1914

20-
private final List<String> pendingChatMessages = new ArrayList<>();
21-
2215
private ClassiCubeJavaLoaderBridge() {
2316
}
2417

25-
public static void main(String[] args) {
26-
System.out.println(Arrays.toString(Interface.getPendingScheduledTaskIDs()));
27-
System.out.println(Arrays.toString(Interface.getPendingScheduledTaskIntervals()));
28-
}
29-
3018
public static boolean start() {
3119
return (new ClassiCubeJavaLoaderBridge()).run();
3220
}
@@ -48,32 +36,8 @@ public boolean run() {
4836
}
4937
PluginManager.getInstance().loadPlugins();
5038
int loaded = PluginManager.getInstance().getPluginCount();
51-
ClassiCubeJavaLoaderBridge.getInstance()
52-
.addChatMessage("Initialized " + loaded + " Java plugin" + (loaded != 1 ? "s" : ""));
39+
Chat.add("Initialized " + loaded + " Java plugin" + (loaded != 1 ? "s" : ""));
5340

5441
return true;
5542
}
56-
57-
public void addChatMessage(String message) {
58-
Objects.requireNonNull(message);
59-
60-
synchronized (pendingChatMessages) {
61-
pendingChatMessages.add(message);
62-
}
63-
}
64-
65-
public String[] getPendingChatMessages() {
66-
return getPendingChatMessages(true);
67-
}
68-
69-
public String[] getPendingChatMessages(boolean reset) {
70-
String[] messages;
71-
synchronized (pendingChatMessages) {
72-
messages = pendingChatMessages.toArray(new String[0]);
73-
74-
if (reset) pendingChatMessages.clear();
75-
}
76-
77-
return messages;
78-
}
7943
}
Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,37 @@
11
package ru.deewend.ccjlbridge.gameapi;
22

3+
import java.util.ArrayList;
4+
import java.util.List;
5+
import java.util.Objects;
6+
37
public class Chat {
8+
private static final List<String> PENDING_CHAT_MESSAGES = new ArrayList<>();
9+
410
private Chat() {
511
}
612

713
public static void add(String message) {
8-
throw new UnsupportedOperationException();
14+
Objects.requireNonNull(message);
15+
16+
synchronized (PENDING_CHAT_MESSAGES) {
17+
PENDING_CHAT_MESSAGES.add(message);
18+
}
19+
}
20+
21+
// not meant to be called by plugins
22+
public static String[] getPendingChatMessages() {
23+
return getPendingChatMessages(true);
24+
}
25+
26+
// not meant to be called by plugins, especially if reset is set to true
27+
public static String[] getPendingChatMessages(boolean reset) {
28+
String[] messages;
29+
synchronized (PENDING_CHAT_MESSAGES) {
30+
messages = PENDING_CHAT_MESSAGES.toArray(new String[0]);
31+
32+
if (reset) PENDING_CHAT_MESSAGES.clear();
33+
}
34+
35+
return messages;
936
}
1037
}

0 commit comments

Comments
 (0)