我在相同的包下有两个类类名是"TestPlugin“和"Pokemon”。我得到的错误是在类TestPlugin的第7行,其中有“新精灵宝可梦”。错误是“无法解析为变量”。我想要的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());
}
}发布于 2013-11-12 07:12:09
将第7行更改为this.getServer().getPluginManager().registerEvents(new Pokemon(这个);还可以考虑添加一个on disable
发布于 2013-11-15 06:54:41
您想调用精灵宝可梦的构造函数,所以使用带括号的new Pokemon()。
正如@Welsar55所提到的,如果你在精灵小精灵的构造函数中引用你的插件( Java plugins的通用实践),那么使用new Pokemon(this):
public Pokemon(TestPlugin myPlugin) {
this.plugin = myPlugin;
}https://stackoverflow.com/questions/19916061
复制相似问题