2016-07-28 1 views
0

단순한 Minecraft 1.10 테스트 플러그인을 코딩하는 동안 Eclipse Java Mars에서 다음과 같은 오류가 발생합니다. "정적이 아닌 메소드 sendMessage (String)에 대한 정적 참조를 생성 할 수 없습니다. 유형 CommandSender. " 이것은 주 클래스를 제외하고는 명령을위한 별도의 클래스에 있습니다. 여기에 전체 클래스 :Player.sendMessage와 관련된 Minecraft Spigot Plugin 코딩

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; 
    } 

} 

답변

1

내가 마인 크래프트 API를 모르는,하지만 난이 캔 도움이 생각 :

변경이 라인이 라인에

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

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

"sendMessage"는 정적이 아닌 메소드입니다.

도움이되기를 바랍니다.

+0

감사합니다. 일반적으로 Minecraft/Spigot API가있는 Eclipse에서는 오류 기호가 X 대신 전구가 아니라 빨간색 X로 변경된다는 점만 제외하면 일반적으로 수정 될 것입니다. 이것이 무엇인지는 정말로 모릅니다. 나는 이것이 메인 클래스에 있다면 문제가 될 것이라고 생각하지 않지만 커다란 플러그인을 만들기 위해 연습 할 수 있도록 내 명령을위한 별도의 클래스를 원한다. –

+0

잠깐, 죄송 합니다만, 당신이 실제로 옳다고 생각하지만 문제는 여전히 지속됩니다. 나는 내 오래된 플러그인을 보았다. –

+0

많은 의견을 보내 죄송합니다.하지만 저장했을 때 사라져 버린 것으로 보입니다. 도와 줘서 고마워! 난 멍청이야! –