Spigot 1.16.5 Gui funzt einfach nicht was tun?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich weiß nun zwar auch nicht wo genau der Fehler liegt, aber
Damit du einen Fehlermeldung siehst musst du bei einem try{}catch(){} auch den Error Ausgeben.

exception.printStackTrace() 

Auch solltest du im Optimal fall die try-catch nur über den Teil packen, der den Fehler verursachen kann, und falls es mehrere Teile gibt, mehrere try-catches machen und in der Konsole eine Zusatz Info Ausgeben wo der Fehler Auftritt.

Woher ich das weiß:eigene Erfahrung – Hosting diverse Spigot/Bukkit Server sowie Forge

Funktionierender Code ich habe vergessen .getType zu defienieren

	public void onClickKit(PlayerInteractEvent e) {
		Player p = e.getPlayer();
		try {
			if (p.getInventory().getItemInMainHand().getType().equals(Material.CHEST)) {
				
Inventory Kits = Bukkit.createInventory(null, InventoryType.DISPENSER, "§9§lKits");
				(new Methods()).setPlaceholder(Kits);
				
				ItemStack Item1 = new ItemStack(Material.SANDSTONE, 32);
				ItemMeta meta1 = Item1.getItemMeta();
				meta1.setDisplayName("§8➟ §6Sandstone");
				List<String> lore1 = new ArrayList<String>();
				lore1.add("You can run, but you can't hide...");
				meta1.setLore(lore1);
				Item1.setItemMeta(meta1);


				ItemStack Item2 = new ItemStack(Material.BOW, 1);
				ItemMeta meta2 = Item2.getItemMeta();
				meta2.setDisplayName("§8➟ §2Sniper");
				List<String> lore2 = new ArrayList<String>();
				lore2.add("Agent 000");
				meta2.setLore(lore2);
				meta2.addEnchant(Enchantment.ARROW_KNOCKBACK, 2, true);
				Item2.setItemMeta(meta2);


				ItemStack Item3 = new ItemStack(Material.SNOWBALL);
				ItemMeta meta3 = Item3.getItemMeta();
				meta3.setDisplayName("§8➟ §fSnowman");
				List<String> lore3 = new ArrayList<String>();
				lore3.add("§3Keep your Enemies on Distance.");
				meta3.setLore(lore3);
				Item3.setItemMeta(meta3);


				


				Kits.setItem(0, Item1);
				Kits.setItem(4, Item2);
				Kits.setItem(8, Item3);
				p.openInventory(Kits);
				p.playSound(p.getLocation(), Sound.BLOCK_NOTE_BLOCK_BELL, 2.0F, 1.0F);
			}
		} catch (Exception exception) {
			System.out.println(pf + "§4Open Kit Menu §a@EventHandler:§4 3");
			exception.printStackTrace();
		}
}

ich kenne mich damit nicht direkt aus, gibt es vielleicht so einen Command, mit dem erst das ganze sichtbar gemacht wird? Wir in Javax.awt* ?

LG Thorax

Schuldestroyer 
Fragesteller
 11.02.2021, 20:59

ne einen command gibt es nicht. das event PlayerInteractEvent wieder immer beim interagieren mit einen item aus der hotbar ausgefüht. Immer wenn PlayerInteractEvent ausgeführt wird fragt mein plugin halt ob es eine kiste ist und wenn ja öffnet es ein gui

0