我需要將一個字符串從類傳遞到Java中的另一個類(Bukkit),我已經閱讀了一些類似的問題,但我無法解決問題。在類之間傳遞一個值
我有一個主類
public class Main extends JavaPlugin {
@Override
public void onEnable() {
new PlayerListener(this);
this.saveDefaultConfig();
String bannedBlocksString = this.getConfig().getString("bannedBlocks");
}
@Override
public void onDisable() {
}
}
而另一個階級 「PlayerListener」
public class PlayerListener implements Listener {
public PlayerListener(Main plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
// public static final String bannedBlocksString = "DIAMOND_BLOCK; EMERALD_BLOCK";
public static final String[] bannedBlocks = bannedBlocksString.split("; ");
public static boolean isBannedBlock(String[] bannedBlocks, String blockPlaced) {
boolean returnValue = false;
for (String bannedBlock : bannedBlocks) {
if(blockPlaced.equalsIgnoreCase(bannedBlock)){
returnValue = true;
}
}
return returnValue;
}
@EventHandler
public void onBlockPlace(BlockPlaceEvent event) {
String blockPlaced = event.getBlockPlaced().getType().toString();
if(!event.getPlayer().hasPermission("antibuild.block.noplace") && isBannedBlock(bannedBlocks, blockPlaced)) {
event.setCancelled(true);
event.getPlayer().sendMessage(ChatColor.RED + "You can not place this block.");
}
}
}
如何我可以從類 「PlayerListener」 獲得主要bannedBlocksString的價值?
這聽起來像你已經*嘗試*的東西,但它沒有奏效 - 所以你試了什麼,發生了什麼? (鑑於你在'PlayerListener'構造函數中有一個'Main'實例的引用,你可以在'Main'和'getBannedBlock()'方法或類似的東西中有一個字段......) –
謝謝大家,問題解決了。 –