2013-03-11 82 views
0

我以前見過這個問題,但是我並不完全瞭解Java Jargin的所有含義。我只想知道它是否有可能具有例如「A」和「B」類將多個類連接在一起?

在我的「A」類中,它具有所有在我的遊戲中運行的主代碼,但是在「B」級,將有我所有的變量定義,每個什麼產品值得」

EG

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

這是一個我的世界插件,我想變‘鑽石’,以便能夠搜索它在「B」級中的價值,然後它將把Di​​amond定義的金額發送給遊戲中的玩家。

+0

假設'args'來自主方法,'args [1]'永遠不能爲空。要麼你會得到一個'ArrayIndexOutOfBoundsException'或者會有'String'。 – 2013-03-11 21:17:06

+0

當你像'Integer.parseInt()'這樣的事情時,你正在使用另一個類的方法爲你做一些工作。對你的A和B類做同樣的事情。 – 2013-03-11 21:20:58

+0

插件工作得很好。沒有錯誤。我只想在不同的類中定義所有的變量。編輯:工作,只需要將我的變量更改爲靜態,並做B.diamond謝謝:) – user2158517 2013-03-11 21:21:47

回答

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

對不起,我非常着急寫這篇文章。如果您需要進一步的幫助,請告訴我。