Hi, I'm trying to make a plugin who teleport you in another bungeecord linked server but my compass does not open the gui with the server list any idea ? Code (Java): package comp; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; public class pllistenner implements Listener { private Main main; public pllistenner(Main main) { this.main = main; } @EventHandler public void onJoin(PlayerJoinEvent event) { Player player = event.getPlayer(); player.getInventory().clear(); ItemStack custw = new ItemStack(Material.COMPASS); ItemMeta custv = custw.getItemMeta(); custv.setDisplayName("Server Selector"); custw.setItemMeta(custv); player.getInventory().addItem(custw); player.updateInventory(); } @EventHandler public void onInteract(PlayerInteractEvent event) { ItemStack current = event.getItem(); Player Player = event.getPlayer(); if(current == null) return; if(current.getType() == Material.COMPASS && current.hasItemMeta() && current.getItemMeta().hasDisplayName() && current.getItemMeta().getDisplayName().equalsIgnoreCase("Server Selector")) { Inventory inv = Bukkit.createInventory(null, 9, "Server Selector"); inv.setItem(3, new ItemStack(Material.OBSIDIAN)); inv.setItem(4, new ItemStack(Material.COMMAND)); inv.setItem(5, new ItemStack(Material.GRASS)); Player.openInventory(inv); } } @EventHandler public void onClick(InventoryClickEvent eventt) { Inventory invc = eventt.getInventory(); Player player = (Player) eventt.getWhoClicked(); ItemStack used = eventt.getCurrentItem(); if(invc.getName().equalsIgnoreCase("Server Selector") && used.getType() == Material.OBSIDIAN) { ByteArrayOutputStream b = new ByteArrayOutputStream(); DataOutputStream out = new DataOutputStream(b); try{ out.writeUTF("Connect"); out.writeUTF("Lobby"); }catch (IOException e) { e.printStackTrace(); } player.sendPluginMessage(main, "BungeeCord", b.toByteArray()); } else if(invc.getName().equalsIgnoreCase("Server Selector") && used.getType() == Material.COMMAND) { eventt.setCancelled(true); //player.chat("/server Dev"); } else if(invc.getName().equalsIgnoreCase("Server Selector") && used.getType() == Material.GRASS) { eventt.setCancelled(true); //player.chat("/server Survivial"); } } }
Your naming is horrible, please follow Java naming convention. You import the Player class and then also name your variable Player
sorry but I made this plugin quickly also I see my error but I don't know how to fix it cas you tell me ?
He is saying when you do Player Player = event.getPlayer(); you name your variable Player with a capital P. Should be lowercase (player).
At the top of your thread there is an option for "Thread Tools". Open that menu and click on "Edit Title". On the left of your title, there is an option to specify a prefix (which is currently "1.8.8"). Open that menu and change it to "Solved".