2016-07-28 4 views
0

Ich bekomme den folgenden Fehler auf Eclipse Java Mars beim Codieren eines einfachen Minecraft 1.10 Test-Plugin: "Kann nicht einen statischen Verweis auf die nicht-statische Methode sendMessage (String) aus der Typ CommandSender. " Dies ist in einer separaten Klasse nur für Befehle, abgesehen von der Hauptklasse. Hier ist die ganze Klasse:Minecraft Spigot Plugin Codierung, Problem mit Player.sendMessage

package io.github.ultraMLGcode.TestPlugin; 

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

public class TestPluginCommandExecutor implements CommandExecutor { 

    public TestPlugin plugin; 

    public TestPluginCommandExecutor(TestPlugin instance) { 
     plugin = instance; 
    } 


public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { 
    if (cmd.getName().equalsIgnoreCase("basic") && sender instanceof Player) { //If the player typed /basic then do the following... 

     if (sender instanceof Player) { 
      Player player = (Player) sender; 
      //do something 
      Player.sendMessage("Hello, it is a nice day, isn't it?"); 
     } else { 
      sender.sendMessage("You must be a player!"); 
     } 

     //doSomething 
     return true; 
    } 
     return false; 
    } 

} 

Antwort

1

Ich weiß nicht, über die Minecraft api, aber ich denke, das kann hilft:

Ändern Sie diese Zeile:

Player.sendMessage("Hello, it is a nice day, isn't it?"); 

zu dieser Linie

player.sendMessage("Hello, it is a nice day, isn't it?"); 

Ich denke, "sendMessage" ist eine nicht statische Methode.

Ich hoffe es hilft.

+0

Danke, und es würde es normalerweise wahrscheinlich reparieren, außer dass in Eclipse mit der Minecraft/Spigot API, ändert er nur das Fehlersymbol zu einem roten X anstelle einer Glühbirne mit einem X darüber. Ich weiß nicht wirklich was das ist. Ich glaube nicht, dass dies ein Problem wäre, wenn es in meiner Hauptklasse wäre, aber ich möchte eine separate Klasse für meine Befehle, um ein großes Plugin zu erstellen. –

+0

Warten Sie, tut mir leid, ich denke, Sie haben eigentlich Recht, aber das Problem besteht immer noch. Ich schaute auf mein altes Plugin. –

+0

Entschuldigung dafür, dass ich so viele Kommentare gemacht habe, aber es scheint, dass wenn ich es gespeichert habe, es weggegangen ist. Vielen Dank für deine Hilfe! Ich bin dumm! –