feat: 完善功能

This commit is contained in:
2022-10-24 11:29:52 +08:00
parent 0bdc4d0cd8
commit 7a694eff01
23 changed files with 447 additions and 221 deletions

View File

@@ -1,6 +1,7 @@
package cn.hamster3.mc.plugin.ball.bukkit;
import cn.hamster3.mc.plugin.ball.bukkit.api.BallBukkitAPI;
import cn.hamster3.mc.plugin.ball.bukkit.listener.BallBukkitListener;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
@@ -31,6 +32,14 @@ public class HamsterBallPlugin extends JavaPlugin {
}
}
@Override
public void onEnable() {
Logger logger = getLogger();
Bukkit.getPluginManager().registerEvents(BallBukkitListener.INSTANCE, this);
logger.info("已注册 BallBukkitListener.");
logger.info("HamsterBall 已启动.");
}
@Override
public void onDisable() {
try {

View File

@@ -14,6 +14,7 @@ import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerTeleportEvent;
import org.jetbrains.annotations.NotNull;
@@ -38,14 +39,21 @@ public class BallBukkitListener extends BallListener implements Listener {
}
@Override
public void onDispatchGamePlayerCommand(@NotNull DispatchPlayerCommandEvent event) {
public void onDispatchPlayerCommand(@NotNull DispatchPlayerCommandEvent event) {
if (event.getType() != null && event.getType() != ServerType.GAME) {
return;
}
if (event.getUuid() != null && Bukkit.getPlayer(event.getUuid()) == null) {
if (event.getUuid() != null) {
Player player = Bukkit.getPlayer(event.getUuid());
if (player == null) {
return;
}
Bukkit.dispatchCommand(player, event.getCommand());
return;
}
Bukkit.dispatchCommand(Bukkit.getPlayer(event.getUuid()), event.getCommand());
for (Player player : Bukkit.getOnlinePlayers()) {
Bukkit.dispatchCommand(player, event.getCommand());
}
}
@Override
@@ -84,4 +92,9 @@ public class BallBukkitListener extends BallListener implements Listener {
player.teleport(location, PlayerTeleportEvent.TeleportCause.PLUGIN);
}
}
@EventHandler(ignoreCancelled = true)
public void onAsyncPlayerChat(AsyncPlayerChatEvent event) {
}
}