0

以前にこの質問を見たことがありますが、激しい Java Jargin が何を意味するのかよくわかりません。たとえば、「A」クラスと「B」クラスが可能かどうかを知りたいだけです

「A」クラスには、ゲーム内で実行されるすべてのメイン コードがありますが、「B」クラスには、すべての変数が定義されており、各アイテムの価値があります。」

例えば

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 が定義されている金額をゲーム内のプレイヤーに送信できるようにしたいと考えています。

4

1 に答える 1

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
        }
    }
}

簡潔で申し訳ありません。私はこれを書くのをとても急いでいました。さらにサポートが必要な場合は、お知らせください。

于 2013-03-12T17:28:34.043 に答える