Minecraft Item Spawnen

  • Hallo.

    Ich programmier gerade BedWars.

    Da werden ja auch Items wie Bronze oder so gespawnt.

    Jetzt hab ich folgenden Code für das Spawnen von Bronze:


    https://pastebin.com/jW5JCjxr


    Diesen rufe ich beim Rundenstart auf.

    Wenn ich in den Scheduler eine Nachricht schreibe, bekomme ich diese auch jede Sekunden, aber die Items spawnen nicht.

    Weiß jemand woran das liegt und kann mir eine Lösung sagen?

    MfG,

    MadeByProxxy

  • Hey MadeByProxxy ,


    Das erste was ich dir empfehlen kann, wäre zu checken ob der Boolean "isSpawningB" auch wirklich true ist zu der Zeit wo du die Items spawnen lassen willst.


    Anschließend würde ich deine Art Items zu spawnen nochmals überdenken, da ItemStacks auch gespawnt werden können ohne "Entitys" zu sein.

    Dies würde zum Beispiel wie folgt funktionieren:

    Code
    1. Location gold1 = new Location(Bukkit.getWorld("world"), 563.5, 100, -652.5);
    2. gold1.getWorld().dropItemNaturally(Location, new ItemBuilder(Material.CLAY_BRICK).name("§cBronze"));


    Wichtig zu wissen wäre auch wieso du alle Items als Entitys haben willst?


    Falls du noch Fragen hast oder weitere Unklarheiten bestehen zögere nicht mich zu kontaktieren!


    Ich hoffe ich konnte dir bei deinem Problem trotzdem etwas weiter helfen. :)


    LG LordSpigot

  • Hallo LordSpigot,


    isSpawningB kann nur auf true sein, da ja die Nachricht alle paar Sekunden ausgegeben wird.

    Warum als Entity? Diese Items wandern in eine ArrayList. Nach Rundenstopp werden sie gekillt, damit sie da nicht für die nächste Runde liegen bleiben.


    MfG,

    MadeByProxxy

  • Anschließend würde ich deine Art Items zu spawnen nochmals überdenken, da ItemStacks auch gespawnt werden können ohne "Entitys" zu sein.

    Die Items sind doch trotzdem Entities und werden, wie bei Spigot üblich, gemerged, um Ressourcen zu schonen. Vielleicht könntest du diesen Ansatz noch ausführen.


    isSpawningB kann nur auf true sein, da ja die Nachricht alle paar Sekunden ausgegeben wird.

    Die Nachricht sehe ich im Code nicht.


    MfG

    ~ Rincewind

  • Hallo Rincewind34

    Ja das ist richtig. Hab diese wieder raus genommen. Gern kann ich es dir auch nochmal einbauen. Aber die Nachricht kam wirklich.

    MfG


    Wäre super, wenn du das nochmal machen würdest, um einen Anfängerfehler auszuschließen.


    Ich vertraue jetzt mal darauf, dass die Locations korrekt sind (Dazu gehört auch, dass du dich in der richtigen Welt befindest). Um das zu überprüfen, könntest du deinen Spieler / alle Spieler zu der ersten Position teleportieren u.o. an der Position mit LOCATION.getBlock().setType(Material.MAGMA) einmal einen Dummyblock setzen.

    Wenn es immer noch nicht geht, kommentier mal die Zeilen aus, in denen du die Entities zu der Liste hinzufügst.

    MfG,

    ~ Rincewind

  • MadeByProxxy

    Hat das Label von Ungelöst auf Gelöst geändert