Java Bukkit插件;无法解析为变量";

Java Bukkit插件;无法解析为变量";,java,plugins,bukkit,Java,Plugins,Bukkit,我有两个类名相同的包,分别是“TestPlugin”和“Pokemon”。我得到的错误在第7行的TestPlugin类中,那里写着“New Pokemon”。错误为“无法解析为变量”。我希望TestPlugin能够访问口袋妖怪中的代码,这样就可以使用它了。我应该如何解决此问题?bukkit插件创建新手,所以请不要让答案太高级。“我没有这个代码/插件。我把它只用于教育目的!”。如果你想知道我使用的是什么bukkit库,那么推荐的版本是“craftbukkit-1.6.4-R2.0” TestPlu

我有两个类名相同的包,分别是“TestPlugin”和“Pokemon”。我得到的错误在第7行的TestPlugin类中,那里写着“New Pokemon”。错误为“无法解析为变量”。我希望TestPlugin能够访问口袋妖怪中的代码,这样就可以使用它了。我应该如何解决此问题?bukkit插件创建新手,所以请不要让答案太高级。“我没有这个代码/插件。我把它只用于教育目的!”。如果你想知道我使用的是什么bukkit库,那么推荐的版本是“craftbukkit-1.6.4-R2.0”

TestPlugin的代码:

package com.hotmail.marrunsilkeborg.plugins.testplugin;

import org.bukkit.plugin.java.JavaPlugin;   

public class TestPlugin extends JavaPlugin{
    public void onEnable(){
        getServer().getPluginManager().registerEvents(new Pokemon, this);

    }
}
口袋妖怪代码:

package com.hotmail.marrunsilkeborg.plugins.testplugin;

import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;

public class Pokemon implements Listener{

    @EventHandler
    public void onBlockPlace(BlockPlaceEvent event){
        Player p = event.getPlayer();
        Block bp = event.getBlockPlaced();


        p.sendMessage("You've placed a " + bp.getType().toString());        
    }
}
将第7行改为 this.getServer().getPluginManager().registerEvents(新口袋妖怪(this),this);
还可以考虑添加一个on disable

来调用口袋妖怪的构造函数,所以使用
new Pokemon()
带括号

如@Welsar55所述,如果您在Pokemon构造函数(Java插件的常见做法)中引用您的插件,请使用
new Pokemon(this)
,即您的Pokemon构造函数位于:

public Pokemon(TestPlugin myPlugin) {
    this.plugin = myPlugin;
}