Skip to content

Commit 05a69f0

Browse files
committed
refactor: add some encapsulations
1 parent 2b7d8dd commit 05a69f0

8 files changed

Lines changed: 45 additions & 107 deletions

File tree

common/src/main/java/dev/neovoxel/neobot/bot/BotListener.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import dev.neovoxel.nbapi.listener.NBotEventHandler;
1414
import dev.neovoxel.nbapi.listener.NBotListener;
1515
import dev.neovoxel.neobot.NeoBot;
16-
import dev.neovoxel.neobot.bot.types.NGroupMessageEvent;
1716
import org.graalvm.polyglot.HostAccess;
1817
import org.graalvm.polyglot.Value;
1918
import org.json.JSONArray;
@@ -246,7 +245,7 @@ private void fireEvent(String eventName, NEvent event) {
246245

247246
@NBotEventHandler
248247
private void onGroupMessage(GroupMessageEvent event) {
249-
fireEvent("GroupMessageEvent", new NGroupMessageEvent(event));
248+
fireEvent("GroupMessageEvent", event);
250249
}
251250

252251
@NBotEventHandler

common/src/main/java/dev/neovoxel/neobot/bot/types/NGroupMessageEvent.java

Lines changed: 0 additions & 83 deletions
This file was deleted.

common/src/main/java/dev/neovoxel/neobot/game/GameEventListener.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
import dev.neovoxel.neobot.NeoBot;
44
import dev.neovoxel.neobot.game.event.ChatEvent;
5+
import dev.neovoxel.neobot.game.event.DeathEvent;
56
import dev.neovoxel.neobot.game.event.LoginEvent;
67
import dev.neovoxel.neobot.adapter.Player;
8+
import dev.neovoxel.neobot.game.event.PlayerEvent;
79
import org.graalvm.polyglot.HostAccess;
810
import org.graalvm.polyglot.Value;
911

@@ -55,17 +57,16 @@ public void onLogin(LoginEvent event) {
5557
fireEvent("LoginEvent", event);
5658
}
5759

58-
public void onJoin(Player player) {
59-
fireEvent("JoinEvent", player);
60+
public void onJoin(PlayerEvent event) {
61+
fireEvent("JoinEvent", event);
6062
}
6163

62-
63-
public void onQuit(Player player) {
64-
fireEvent("QuitEvent", player);
64+
public void onQuit(PlayerEvent event) {
65+
fireEvent("QuitEvent", event);
6566
}
6667

67-
public void onDeath(Player player, String message) {
68-
fireEvent("DeathEvent", player, message);
68+
public void onDeath(DeathEvent event) {
69+
fireEvent("DeathEvent", event);
6970
}
7071

7172
public void onChat(ChatEvent event) {

common/src/main/java/dev/neovoxel/neobot/game/event/ChatEvent.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@
55
import org.graalvm.polyglot.HostAccess;
66

77
@Getter(onMethod_ = {@HostAccess.Export})
8-
public abstract class ChatEvent {
9-
private final Player player;
8+
public abstract class ChatEvent extends PlayerEvent {
109
private final String message;
1110

1211
protected ChatEvent(Player player, String message) {
13-
this.player = player;
12+
super(player);
1413
this.message = message;
1514
}
1615

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package dev.neovoxel.neobot.game.event;
2+
3+
import dev.neovoxel.neobot.adapter.Player;
4+
import lombok.Getter;
5+
import org.graalvm.polyglot.HostAccess;
6+
7+
@Getter(onMethod_ = {@HostAccess.Export})
8+
public class DeathEvent extends PlayerEvent {
9+
private final String message;
10+
11+
public DeathEvent(Player player, String deathMessage) {
12+
super(player);
13+
this.message = deathMessage;
14+
}
15+
}

common/src/main/java/dev/neovoxel/neobot/game/event/LoginEvent.java

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import java.util.UUID;
77

8-
@Getter
8+
@Getter(onMethod_ = {@HostAccess.Export{})
99
public abstract class LoginEvent {
1010
private final String name;
1111
private final UUID uuid;
@@ -15,15 +15,5 @@ protected LoginEvent(String name, UUID uuid) {
1515
this.uuid = uuid;
1616
}
1717

18-
@HostAccess.Export
19-
public String getName() {
20-
return name;
21-
}
22-
23-
@HostAccess.Export
24-
public UUID getUuid() {
25-
return uuid;
26-
}
27-
2818
public abstract void disallow(String reason);
2919
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package dev.neovoxel.neobot.game.event;
2+
3+
import dev.neovoxel.neobot.adapter.Player;
4+
import lombok.Getter;
5+
import org.graalvm.polyglot.HostAccess;
6+
7+
@Getter(onMethod_ = {@HostAccess.Export})
8+
public class PlayerEvent {
9+
protected final Player player;
10+
11+
public PlayerEvent(Player player) {
12+
this.player = player;
13+
}
14+
}

common/src/main/java/dev/neovoxel/neobot/script/ScriptProvider.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.graalvm.polyglot.Engine;
1212
import org.graalvm.polyglot.HostAccess;
1313
import org.graalvm.polyglot.Value;
14+
import org.json.JSONArray;
1415
import org.json.JSONObject;
1516

1617
import java.io.*;
@@ -40,7 +41,7 @@ public ScriptProvider(NeoBot plugin) {
4041

4142
private static final Engine engine;
4243

43-
private static final List<Class> exposed = new ArrayList<>();
44+
private static final List<Class<?>> exposed = new ArrayList<>();
4445

4546
private static final HostAccess hostAccess;
4647

@@ -74,6 +75,8 @@ public ScriptProvider(NeoBot plugin) {
7475
builder1.allowArrayAccess(true);
7576
exposed.add(Object.class);
7677
exposed.add(Enum.class);
78+
exposed.add(JSONObject.class);
79+
exposed.add(JSONArray.class);
7780
for (Class<?> clazz : exposed) {
7881
for (Method method : clazz.getMethods()) {
7982
if (method.getName().equals("wait") || method.getName().equals("notify") || method.getName().equals("notifyAll")) {

0 commit comments

Comments
 (0)