feat: 支持新版仓鼠球

This commit is contained in:
2023-11-08 19:21:56 +08:00
parent 0510f23821
commit a82f1c734f
21 changed files with 187 additions and 170 deletions

View File

@@ -1,7 +1,7 @@
version = '1.0.0'
version = '1.1.0'
setArchivesBaseName("HamsterTPA")
dependencies {
compileOnly "cn.hamster3.mc.plugin:core-bukkit:${hamster_ball_version}"
compileOnly "cn.hamster3.mc.plugin:ball-common:${hamster_ball_version}"
compileOnly "cn.hamster3.mc.plugin:core-bukkit:${hamster_core_version}"
compileOnly "cn.hamster3.mc.plugin:ball-bukkit:${hamster_ball_version}"
}

View File

@@ -7,6 +7,7 @@ import cn.hamster3.mc.plugin.tpa.command.TPDenyCommand;
import cn.hamster3.mc.plugin.tpa.config.ConfigManager;
import cn.hamster3.mc.plugin.tpa.core.DataManager;
import cn.hamster3.mc.plugin.tpa.listener.MainListener;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
public class HamsterTPAPlugin extends JavaPlugin {
@@ -26,9 +27,10 @@ public class HamsterTPAPlugin extends JavaPlugin {
@Override
public void onEnable() {
BallAPI.getInstance().addListener(MainListener.INSTANCE);
TPACommand.INSTANCE.hook();
TPAcceptCommand.INSTANCE.hook();
TPDenyCommand.INSTANCE.hook();
TPACommand.INSTANCE.register();
TPAcceptCommand.INSTANCE.register();
TPDenyCommand.INSTANCE.register();
Bukkit.getPluginManager().registerEvents(MainListener.INSTANCE, this);
BallAPI.getInstance().subscribe(BALL_CHANNEL);
}
}

View File

@@ -4,7 +4,7 @@ import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
import cn.hamster3.mc.plugin.ball.common.entity.BallPlayerInfo;
import cn.hamster3.mc.plugin.core.bukkit.command.ParentCommand;
import cn.hamster3.mc.plugin.core.bukkit.constant.CoreMessage;
import cn.hamster3.mc.plugin.core.common.util.CoreUtils;
import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
import cn.hamster3.mc.plugin.core.lib.net.kyori.adventure.text.TextReplacementConfig;
import cn.hamster3.mc.plugin.tpa.HamsterTPAPlugin;
import cn.hamster3.mc.plugin.tpa.config.ConfigManager;
@@ -78,7 +78,7 @@ public final class TPACommand extends ParentCommand {
.replacement(player.getName())
.build()),
false);
CoreUtils.SCHEDULED_EXECUTOR.schedule(
CoreAPI.getInstance().getScheduledService().schedule(
new TimeoutThread(uuid, playerInfo.getUuid()),
ConfigManager.getTimeout(),
TimeUnit.MILLISECONDS

View File

@@ -1,28 +1,30 @@
package cn.hamster3.mc.plugin.tpa.listener;
import cn.hamster3.mc.plugin.ball.common.data.BallMessageInfo;
import cn.hamster3.mc.plugin.ball.common.listener.BallListener;
import cn.hamster3.mc.plugin.ball.bukkit.event.MessageReceiveEvent;
import cn.hamster3.mc.plugin.ball.common.data.BallMessage;
import cn.hamster3.mc.plugin.tpa.HamsterTPAPlugin;
import cn.hamster3.mc.plugin.tpa.core.DataManager;
import com.google.gson.JsonObject;
import org.jetbrains.annotations.NotNull;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import java.util.UUID;
public final class MainListener implements BallListener {
public final class MainListener implements Listener {
public static final MainListener INSTANCE = new MainListener();
private MainListener() {
}
@Override
public void onMessageReceived(@NotNull BallMessageInfo event) {
@EventHandler(ignoreCancelled = true)
public void onMessageReceive(MessageReceiveEvent event) {
if (!HamsterTPAPlugin.BALL_CHANNEL.equals(event.getChannel())) {
return;
}
switch (event.getAction()) {
BallMessage ballMessage = event.getMessage();
switch (ballMessage.getAction()) {
case "setPlayerUseTime": {
JsonObject object = event.getContentAsJsonObject();
JsonObject object = ballMessage.getContentAsJsonObject();
DataManager.setPlayerUseTime(
UUID.fromString(object.get("uuid").getAsString()),
object.get("time").getAsLong(),
@@ -31,7 +33,7 @@ public final class MainListener implements BallListener {
break;
}
case "sendTPA": {
JsonObject object = event.getContentAsJsonObject();
JsonObject object = ballMessage.getContentAsJsonObject();
DataManager.sendTPA(
UUID.fromString(object.get("sender").getAsString()),
UUID.fromString(object.get("target").getAsString()),
@@ -41,7 +43,7 @@ public final class MainListener implements BallListener {
break;
}
case "clearTPAList": {
DataManager.clearTPAList(event.getContentAsUUID(), false);
DataManager.clearTPAList(ballMessage.getContentAsUUID(), false);
break;
}
case "": {
@@ -49,4 +51,4 @@ public final class MainListener implements BallListener {
}
}
}
}
}