Skocz do zawartości
  • 0

Błędy w sendMessage


Pytanie

Siemka, staram się napisać plugin na prostą komendę /pomoc która wyśle obojętnie jaką wiadomość.

Kody:

Spoiler

package io.github.mleczuuu.komendy;

import org.bukkit.plugin.java.JavaPlugin;

import static org.bukkit.Bukkit.getConsoleSender;

public final class Komendy extends JavaPlugin {

    @Override
    public void onEnable() {
        // Plugin startup logic
        getConsoleSender().sendMessage("MleczuCommands -> Start.");
        getCommand("pomoc").setExecutor(new PomocCommand());
    }
}

 

Spoiler

package io.github.mleczuuu.komendy;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class PomocCommand implements CommandExecutor {
    @Override
    public boolean onCommand(CommandSender sender, Command arg1, String arg2, String[] arg3) {
        Player p = (Player)sender;
        p.sendMessage(" 1. Test");
        return false;
    }
}

 

Oczywiście w plugin.yml wszystko jest dopisane. Błędy:

Spoiler

Unexpected exception while parsing console command "pomoc"
org.bukkit.command.CommandException: Unhandled exception executing command 'pomoc' in plugin Komendy v1.0-SNAPSHOT
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[server.jar:git-Spigot-37d799b-3eb7236]
	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149) ~[server.jar:git-Spigot-37d799b-3eb7236]
	at org.bukkit.craftbukkit.v1_16_R3.CraftServer.dispatchCommand(CraftServer.java:758) ~[server.jar:git-Spigot-37d799b-3eb7236]
	at org.bukkit.craftbukkit.v1_16_R3.CraftServer.dispatchServerCommand(CraftServer.java:743) ~[server.jar:git-Spigot-37d799b-3eb7236]
	at net.minecraft.server.v1_16_R3.DedicatedServer.handleCommandQueue(DedicatedServer.java:387) ~[server.jar:git-Spigot-37d799b-3eb7236]
	at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:356) ~[server.jar:git-Spigot-37d799b-3eb7236]
	at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1007) ~[server.jar:git-Spigot-37d799b-3eb7236]
	at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:846) ~[server.jar:git-Spigot-37d799b-3eb7236]
	at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[server.jar:git-Spigot-37d799b-3eb7236]
	at java.lang.Thread.run(Thread.java:832) [?:?]
Caused by: java.lang.ClassCastException: class org.bukkit.craftbukkit.v1_16_R3.command.ColouredConsoleSender cannot be cast to class org.bukkit.entity.Player (org.bukkit.craftbukkit.v1_16_R3.command.ColouredConsoleSender and org.bukkit.entity.Player are in unnamed module of loader 'app')
	at io.github.mleczuuu.komendy.PomocCommand.onCommand(PomocCommand.java:11) ~[?:?]
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[server.jar:git-Spigot-37d799b-3eb7236]
	... 9 more

 

 

Odnośnik do komentarza
https://skript.pl/temat/43660-b%C5%82%C4%99dy-w-sendmessage/
Udostępnij na innych stronach

9 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • -3
29 minut temu, _xXCichyMleczXx_ napisał:

Siemka, staram się napisać plugin na prostą komendę /pomoc która wyśle obojętnie jaką wiadomość.

Dlaczego klasa Komendy jest finalna? Czy rzeczywiście potrzebujesz, aby nie była rozszerzana?

Odnośnik do komentarza
https://skript.pl/temat/43660-b%C5%82%C4%99dy-w-sendmessage/#findComment-273435
Udostępnij na innych stronach

  • 0
5 minut temu, Kormic napisał:

Dlaczego klasa Komendy jest finalna? Czy rzeczywiście potrzebujesz, aby nie była rozszerzana?

Na razie chce sobie zrobić podstawowe komendy na wysyłanie wiadomości lub otworzenie gui, raczej nie trzeba

Odnośnik do komentarza
https://skript.pl/temat/43660-b%C5%82%C4%99dy-w-sendmessage/#findComment-273436
Udostępnij na innych stronach

  • 0

Według loga wygląda na to, że próbowałeś wykonać komendę za pomocą konsoli, a w kodzie komendy castujesz wykonującego komendę na gracza, a konsola nim nie jest.

Edytowane przez szymonjjay
Odnośnik do komentarza
https://skript.pl/temat/43660-b%C5%82%C4%99dy-w-sendmessage/#findComment-273465
Udostępnij na innych stronach

  • 0
24 minuty temu, jhgggg napisał:

w metodzie onCommand musisz zmienic CommandSender na sender 

to nic nie zmieni, to tylko nazwa zmiennej.

Player to gracz, nie możesz wykonać tego z poziomu konsoli

Odnośnik do komentarza
https://skript.pl/temat/43660-b%C5%82%C4%99dy-w-sendmessage/#findComment-273467
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...