注释类无法访问全局布尔值

问题描述 投票:0回答:1

我正在尝试对Minecraft插件进行编码,使用一个命令可使所有产生电荷的爬虫爬行,而使用另一个命令则使它们均不带电荷。我已经编写了用于设置侦听器的代码(这样,我的意思是我从https://youtu.be/oHKcQ184aa8?t=22复制了Dream的代码),而我只想创建它,因此在以下代码中有一个布尔值代替true(最后一行) )'''

    @EventHandler
    public void creeperSpawn(CreatureSpawnEvent event) {
        if (event.getEntityType() == EntityType.CREEPER) {
            Creeper creeper = (Creeper) event.getEntity();
            creeper.setPowered(true);
        }
    } 

'''我想将true更改为名为PoweredOrNot的布尔型,然后在运行命令时将其设置为Powered或不设置为true。唯一的问题是它要么说未定义PoweredOrNot,要么当我添加扩展onCommand时,它给我错误“令牌“扩展”上的语法错误,引发预期错误”和另外两个错误,一个错误在上面的括号中显示“语法错误,请插入“}”以完成ClassBody”,而添加另一个错误就不起作用了。括号下面的另一个错误是“令牌“}”上的语法错误,请删除此令牌,这样可以消除错误。

我做了研究,并创建了另一个名为Globals的类,它具有或不具有布尔名称的能力,但是当我进行Globals.PoweredOrNot时,它会说它没有定义]]

这是您可以反编译的jar文件,因为有许多类和软件包可以使用。注意,我认为您可能必须下载spiggot的参考库,但如果jar中包含idk,则请下载idk。https://drive.google.com/file/d/18XWOHV13I2cB---xlG0socfRMOnnKfPv/view?usp=sharing

完整代码(用于startCommand类)

package me.Gwehyr.chargeall.commands;

import org.bukkit.entity.Creeper;
import org.bukkit.entity.EntityType;
import org.bukkit.event.EventHandler;
import org.bukkit.command.*;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.CreatureSpawnEvent;

import me.Gwehyr.chargeall.*;


public class StartCommand implements CommandExecutor, Listener {

    private Main plugin;

    public StartCommand(Main plugin) {
        this.plugin = plugin;
        plugin.getCommand("charge").setExecutor(this);
    }

    @Override
    public boolean onCommand( CommandSender sender,  Command cmd,  String label, String[] args) {
        if (sender instanceof Player) {
            sender.sendMessage("Only Console may execute this command");
            return true;
        }else {
            boolean PoweredOrNot = true;
            sender.sendMessage("Creepers Charged!");
        }
        return true;
    }

@EventHandler
public void creeperSpawn(CreatureSpawnEvent event) extends onCommand {
    if (event.getEntityType() == EntityType.CREEPER) {
        Creeper creeper = (Creeper) event.getEntity();
        creeper.setPowered(PoweredOrNot);
    }
}

我正在尝试对Minecraft插件进行编码,使用一个命令可使所有产生电荷的爬虫爬行,而使用另一个命令则使它们均不带电荷。我已经编写了用于设置侦听器的代码(并由此设置了...

java boolean listener minecraft bukkit
1个回答
0
投票

之所以说尚未初始化,是因为它仅在onCommand函数内部初始化。因此,不要将布尔值放在此处(箭头所在的位置)]

© www.soinside.com 2019 - 2024. All rights reserved.