mirror of
https://github.com/jie65535/gc-opencommand-plugin.git
synced 2025-12-15 19:31:35 +08:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c6e0b51ea6 | |||
| bcb88740f1 | |||
| 290c4fbf8c |
@@ -4,7 +4,7 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
group 'com.github.jie65535.opencommand'
|
group 'com.github.jie65535.opencommand'
|
||||||
version '1.5.2'
|
version '1.6.0'
|
||||||
|
|
||||||
sourceCompatibility = 17
|
sourceCompatibility = 17
|
||||||
targetCompatibility = 17
|
targetCompatibility = 17
|
||||||
|
|||||||
@@ -44,13 +44,11 @@ public final class EventListeners {
|
|||||||
* @param uid 玩家uid
|
* @param uid 玩家uid
|
||||||
* @return 新的玩家消息处理类
|
* @return 新的玩家消息处理类
|
||||||
*/
|
*/
|
||||||
public static StringBuilder getPlayerNewMessageHandler(int uid) {
|
public static StringBuilder getPlayerMessageHandler(int uid) {
|
||||||
var handler = playerMessageHandlers.get(uid);
|
var handler = playerMessageHandlers.get(uid);
|
||||||
if (handler == null) {
|
if (handler == null) {
|
||||||
handler = new StringBuilder();
|
handler = new StringBuilder();
|
||||||
playerMessageHandlers.put(uid, handler);
|
playerMessageHandlers.put(uid, handler);
|
||||||
} else {
|
|
||||||
handler.setLength(0);
|
|
||||||
}
|
}
|
||||||
return handler;
|
return handler;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ public final class OpenCommandHandler implements Router {
|
|||||||
|
|
||||||
var req = context.bodyAsClass(JsonRequest.class);
|
var req = context.bodyAsClass(JsonRequest.class);
|
||||||
if (req.action.equals("sendCode")) {
|
if (req.action.equals("sendCode")) {
|
||||||
int playerId = (int) req.data;
|
int playerId = Integer.parseInt(req.data.toString());
|
||||||
var player = plugin.getServer().getPlayerByUid(playerId);
|
var player = plugin.getServer().getPlayerByUid(playerId);
|
||||||
if (player == null) {
|
if (player == null) {
|
||||||
context.json(new JsonResponse(404, "Player Not Found."));
|
context.json(new JsonResponse(404, "Player Not Found."));
|
||||||
@@ -152,11 +152,12 @@ public final class OpenCommandHandler implements Router {
|
|||||||
context.json(new JsonResponse(404, "Player not found"));
|
context.json(new JsonResponse(404, "Player not found"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// Player MessageHandler do not support concurrency
|
||||||
|
var handler = EventListeners.getPlayerMessageHandler(player.getUid());
|
||||||
//noinspection SynchronizationOnLocalVariableOrMethodParameter
|
//noinspection SynchronizationOnLocalVariableOrMethodParameter
|
||||||
synchronized (player) {
|
synchronized (handler) {
|
||||||
// Player MessageHandler do not support concurrency
|
|
||||||
var handler = EventListeners.getPlayerNewMessageHandler(player.getUid());
|
|
||||||
try {
|
try {
|
||||||
|
handler.setLength(0);
|
||||||
CommandMap.getInstance().invoke(player, player, command);
|
CommandMap.getInstance().invoke(player, player, command);
|
||||||
context.json(new JsonResponse(handler.toString()));
|
context.json(new JsonResponse(handler.toString()));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public final class OpenCommandOnlyHttpHandler implements Router {
|
|||||||
|
|
||||||
var req = context.bodyAsClass(JsonRequest.class);
|
var req = context.bodyAsClass(JsonRequest.class);
|
||||||
if (req.action.equals("sendCode")) {
|
if (req.action.equals("sendCode")) {
|
||||||
int playerId = (int) req.data;
|
int playerId = Integer.parseInt(req.data.toString());
|
||||||
var player = SocketData.getPlayer(playerId);
|
var player = SocketData.getPlayer(playerId);
|
||||||
if (player == null) {
|
if (player == null) {
|
||||||
context.json(new JsonResponse(404, "Player Not Found."));
|
context.json(new JsonResponse(404, "Player Not Found."));
|
||||||
|
|||||||
@@ -159,11 +159,12 @@ public class SocketClient {
|
|||||||
sendPacket(new HttpPacket(404, "Player not found."), packet.packetID);
|
sendPacket(new HttpPacket(404, "Player not found."), packet.packetID);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// Player MessageHandler do not support concurrency
|
||||||
|
var handler = EventListeners.getPlayerMessageHandler(playerData.getUid());
|
||||||
//noinspection SynchronizationOnLocalVariableOrMethodParameter
|
//noinspection SynchronizationOnLocalVariableOrMethodParameter
|
||||||
synchronized (playerData) {
|
synchronized (handler) {
|
||||||
// Player MessageHandler do not support concurrency
|
|
||||||
var handler = EventListeners.getPlayerNewMessageHandler(playerData.getUid());
|
|
||||||
try {
|
try {
|
||||||
|
handler.setLength(0);
|
||||||
CommandMap.getInstance().invoke(playerData, playerData, command);
|
CommandMap.getInstance().invoke(playerData, playerData, command);
|
||||||
sendPacket(new HttpPacket(200, handler.toString()), packet.packetID);
|
sendPacket(new HttpPacket(200, handler.toString()), packet.packetID);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"name": "opencommand-plugin",
|
"name": "opencommand-plugin",
|
||||||
"description": "Open command interface for third-party clients",
|
"description": "Open command interface for third-party clients",
|
||||||
"version": "dev-1.5.2",
|
"version": "1.6.0",
|
||||||
"mainClass": "com.github.jie65535.opencommand.OpenCommandPlugin",
|
"mainClass": "com.github.jie65535.opencommand.OpenCommandPlugin",
|
||||||
"authors": ["jie65535", "方块君"]
|
"authors": ["jie65535", "方块君"],
|
||||||
|
"api": 2
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user