Coding mit Java | Java-basierten APIs

  • Ersteller Ersteller ij9F_i0FaF-d9lrDSDDpDbfo
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
*hust*PlayerRespawnEvent*hust* :p
hab ich versucht geht aber net :(
//EDIT:
Der Code (sind aber Fehler :( )

package Events;

import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;

public class JoinListener implements Listener{

@EventHandler
public void onJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();

ItemStack kits = new ItemStack(Material.CHEST);
ItemMeta kitsmeta = kits.getItemMeta();
kitsmeta.setDisplayName("§n§3Wähle dein Kit");
kits.setItemMeta(kitsmeta);

p.getInventory().clear();
p.getInventory().setArmorContents(null);
p.getInventory().setItem(4, kits);
p.setHealth(20D);
p.setFoodLevel(20);



}
@EventHandler
public void onRepsawn(PlayerRespawnEvent e) {
public static ItemStack kits();
{
ItemStack kits = new ItemStack(Material.CHEST);
ItemMeta kitsmeta = kits.getItemMeta();
kitsmeta.setDisplayName("§n§3Wähle dein Kit");
kits.setItemMeta(kitsmeta);
return true;
}


p.getInventory().setItem(0, chest());
}


}
 
hab ich versucht geht aber net :(
//EDIT:
Der Code (sind aber Fehler :( )

package Events;

import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;

public class JoinListener implements Listener{

@EventHandler
public void onJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();

ItemStack kits = new ItemStack(Material.CHEST);
ItemMeta kitsmeta = kits.getItemMeta();
kitsmeta.setDisplayName("§n§3Wähle dein Kit");
kits.setItemMeta(kitsmeta);

p.getInventory().clear();
p.getInventory().setArmorContents(null);
p.getInventory().setItem(4, kits);
p.setHealth(20D);
p.setFoodLevel(20);



}
@EventHandler
public void onRepsawn(PlayerRespawnEvent e) {
public static ItemStack kits();
{
ItemStack kits = new ItemStack(Material.CHEST);
ItemMeta kitsmeta = kits.getItemMeta();
kitsmeta.setDisplayName("§n§3Wähle dein Kit");
kits.setItemMeta(kitsmeta);
return true;
}


p.getInventory().setItem(0, chest());
}


}

Du scheinst dich null mit Java auszukennen. Du kannst keine Methoden in Methoden schreiben...

@EventHandler
public void onRepsawn(PlayerRespawnEvent e)
{
Player p = e.getPlayer();
p.getInventory().setItem(0, kits());
}

public static ItemStack kits()
{
ItemStack kits = new ItemStack(Material.CHEST);
ItemMeta kitsmeta = kits.getItemMeta();
kitsmeta.setDisplayName("§n§3Wähle dein Kit");
kits.setItemMeta(kitsmeta);
return kits;
}
 
  • Like
Reaktionen: TroubleCrafterHD
Du scheinst dich null mit Java auszukennen. Du kannst keine Methoden in Methoden schreiben...

@EventHandler
public void onRepsawn(PlayerRespawnEvent e)
{
Player p = e.getPlayer();
p.getInventory().setItem(0, kits());
}

public static ItemStack kits()
{
ItemStack kits = new ItemStack(Material.CHEST);
ItemMeta kitsmeta = kits.getItemMeta();
kitsmeta.setDisplayName("§n§3Wähle dein Kit");
kits.setItemMeta(kitsmeta);
return kits;
}
Danke :**** :***
 
Du versuchst hier eine Methode (zudem noch eine statische) in einer Methode zu definieren. Das geht nicht. Die Methode von @Eddi44 dient nur zum erstellen des ItemStacks.

So sollte es besser funktionieren:
Code:
    @EventHandler
    public void onRepsawn(PlayerRespawnEvent e) {
        Player p = e.getPlayer();
        p.getInventory().setItem(0, kits());
    }

    public static ItemStack kits()
    {
        ItemStack kits = new ItemStack(Material.CHEST);
        ItemMeta kitsmeta = kits.getItemMeta();
        kitsmeta.setDisplayName("§n§3Wähle dein Kit");
        kits.setItemMeta(kitsmeta);
        return kits;
    }

Allerdings kann ich dir wirklich nur ans Herz legen, erst einmal die Grundkenntnisse von Java zu erwerben. Die meisten Probleme die du hier postest sind generell einfach nur Syntaxfehler etc. Das soll jetzt keine Kritik sein oder so, sondern ein nett gemeinter Rat. Das wird dir das Leben im Bezug auf die Bukkit API (und vorallem mit der Sponge API als potentielle Zukunft) viel einfacher machen. Glaub mir, mit modden/Plugins anzufangen ist wirklich nicht die beste Idee. (//EDIT: Es gibt eine Menge Tutorials auf YouTube zu Java, wenn dir das hilft. Zudem kann ich dieses E-Book als "Nachschlagewerk" empfehlen: http://openbook.galileocomputing.de/javainsel/)

Weiterhin empfehle ich dir hier im Forum den Code-Tag zu benutzen oder ggf. Pastebin/Gist um den Source zu posten. Macht deine Posts etwas angenehmer zu lesen. :)

EDIT 2: Oh, da war jemand schneller. :D
 
Zuletzt bearbeitet:
  • Like
Reaktionen: TroubleCrafterHD
Du versuchst hier eine Methode (zudem noch eine statische) in einer Methode zu definieren. Das geht nicht. Die Methode von @Eddi44 dient nur zum erstellen des ItemStacks.

So sollte es besser funktionieren:
Code:
    @EventHandler
    public void onRepsawn(PlayerRespawnEvent e) {
        Player p = e.getPlayer();
        p.getInventory().setItem(0, kits());
    }

    public static ItemStack kits();
    {
        ItemStack kits = new ItemStack(Material.CHEST);
        ItemMeta kitsmeta = kits.getItemMeta();
        kitsmeta.setDisplayName("§n§3Wähle dein Kit");
        kits.setItemMeta(kitsmeta);
        return kits;
    }

Das Semicolon hinter " public static ItemStack kits()" ist unnötig...
 
Hallo :)
Ich bin dabei ein Plugin zu machen , allerdings will ich , nachdem man tot ist , dass man KEINE Items und EXP dropped geht das? :D
wenn ja könnte ich den Code haben , ich schaff das irgendwie net :(
 
wie meinst du das? xDDD
bin zu dumm für sowas :(
ca716cb33e9c7c3f15b21d654fece279.png

Erklärt das alles..?
 
  • Like
Reaktionen: xSentisHD
Weiß einer, wie man prüft, ob der Server die Version 1.8 oder höher hat? :3
 
Für was willst du das Prüfen das ist doch egal
 
Also du willst einen Guardian Spawnen, was nicht gehen wird weil diese Versionen die du benutzt (neuste Spigot version) nur ein Protocol Hack ist. Das Gomme team hat dieExtras für die 1.8 version mit ProtocolLib gemacht. ProtocolLib ist eine API (Application Programming Interface) um Packets zu bearbeiten und zu sende. Um diesen Guardian zu spawnen musst du auf die neuen API s Sponge oder Glowstone (neue ProgrammierAPIs) oder auf die offizielle Minecraft API warten :)
 
Ich möchte keine Packets senden, ich möchte prüfen, ob der Server auf 1.8 ist und wenn nicht canceln.. wieso immer so kompliziert..
 
Status
Für weitere Antworten geschlossen.

Soziale Medien

  • X
  • TikTok

Über uns

  • GommeHD.net ist einer der größten Minecraft-Server der Welt. Dir gefällt unser Server? Dann unterstütze uns durch einen Kauf im Shop!
  • Shop