Ситуация такая: Я пишу плагин для сервере майнкрафт spigot, объявляю ивент в main.java:
getServer().getPluginManager().registerEvents(new PlayerInventoryEvent(this), this);
Также есть класс который отвечает за команду открытия инвентаря:
public class settingsInventoryCommand implements CommandExecutor {
private final Main plugin;
public static settingsInventoryCommand i;
public settingsInventoryCommand(Main plugin) {
this.plugin = plugin;
};
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (!(sender instanceof Player)) { return true; }
Player p = (Player) sender;
String inventoryTitle = plugin.getConfig().getString("messages.inventoryTitle").replace("{nickname}", p.getName()).replace("&", "\u00a7");
Inventory inv = Bukkit.createInventory(null, 27, inventoryTitle);
ItemStack tempIS = new ItemStack(Material.APPLE);
ItemMeta tempIM = tempIS.getItemMeta();
tempIM.setDisplayName("APPLE");
tempIS.setItemMeta(tempIM);
inv.setItem(13, tempIS);
p.openInventory(inv);
plugin.settingsInv.put(p.getName(), p.getAddress().getHostName());
return true;
}
public static settingsInventoryCommand getInv() { return i; }
}
Как я могу обращаться к переменной inv (из класса команды) из к примеру класса ивента? При том, что класс с ивентом и класс с командой находятся в разных пакетах?