将多个类链接在一起?

时间:2013-03-11 21:06:00

标签: java class minecraft

之前我已经看过这个问题但是我并不完全理解所有强烈的Java Jargin意味着什么。我只是想知道它是否可能有,例如“A”和“B”类

在我的“A”类中,它具有将在我的游戏中运行的所有主要代码,但在“B”类中,它将定义所有变量以及每个项目的价值“

E.G

if(args [ 0 ].equalsIgnoreCase("sell") && args [ 1 ] !=(null)){
    int numOfItems = Integer.parseInt(args[1]);
    if(numOfItems == player.getInventory().getItemInHand().getAmount()){
        player.getInventory().setItemInHand(null);
        getServer().dispatchCommand(getServer().getConsoleSender(), "eco give " + player.getName() + " " + Diamond);
    }else if(numOfItems > player.getInventory().getItemInHand().getAmount()){
        player.sendMessage("not enough");
    }else if(numOfItems < player.getInventory().getItemInHand().getAmount()){
        player.getInventory().getItemInHand().setAmount(player.getInventory().getItemInHand().getAmount() - numOfItems);
        getServer().dispatchCommand(getServer().getConsoleSender(), "eco give " + player.getName() + " " + Diamond);
    }
}

这是一个Minecraft插件,我希望变量“Diamond”能够在“B”类中搜索其值,然后它会将Diamond定义的金额发送给玩家游戏。

1 个答案:

答案 0 :(得分:0)

这很简单。您需要做的就是在主插件类中声明一个'B'实例:

class B {
    Material diamond = Material.DIAMOND;
    //...other stuff
}

class Main {
//...

    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
        if (commandLabel.equalsIgnoreCase("sell")) {
            B b = new B();
            //...
            //use b.diamond where appropriate
        }
    }
}

对不起,简洁;我急着写这个。如果您需要进一步的帮助,请告诉我。