首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Bukkit插件“无法解析为变量”

Java Bukkit插件“无法解析为变量”
EN

Stack Overflow用户
提问于 2013-11-12 05:13:22
回答 2查看 1.1K关注 0票数 0

我在相同的包下有两个类类名是"TestPlugin“和"Pokemon”。我得到的错误是在类TestPlugin的第7行,其中有“新精灵宝可梦”。错误是“无法解析为变量”。我想要的TestPlugin访问口袋妖怪中的代码,以便它可以使用。我应该怎么做才能解决这个问题?新的bukkit插件创建,所以请不要把答案做得太高级。“我不拥有这个代码/插件。我有它只是为了教育目的!”如果你想知道我使用的是哪个bukkit库,推荐的版本是"craftbukkit-1.6.4-R2.0“。

TestPlugin的代码:

代码语言:javascript
复制
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);

    }
}

精灵宝可梦代码:

代码语言:javascript
复制
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());        
    }
}
EN

回答 2

Stack Overflow用户

发布于 2013-11-12 07:12:09

将第7行更改为this.getServer().getPluginManager().registerEvents(new Pokemon(这个);还可以考虑添加一个on disable

票数 2
EN

Stack Overflow用户

发布于 2013-11-15 06:54:41

您想调用精灵宝可梦的构造函数,所以使用带括号的new Pokemon()

正如@Welsar55所提到的,如果你在精灵小精灵的构造函数中引用你的插件( Java plugins的通用实践),那么使用new Pokemon(this)

代码语言:javascript
复制
public Pokemon(TestPlugin myPlugin) {
    this.plugin = myPlugin;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19916061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档