Coding mit Java | Java-basierten APIs

  • Ersteller Ersteller ij9F_i0FaF-d9lrDSDDpDbfo
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
Hallo weiß jemand warum die nachricht 2mal ausgegeben wird wenn 2 spieler in der arraylist sind?

Code:
if(CommandSpy.contains(all)){
                for(int i = 0; i     < CommandSpy.size(); i++){         
                    CommandSpy.get(i).sendMessage(e.getPlayer().getName() + " : " + e.getMessage());
                }


Warum nicht

Code:
 for(Player cmdspyplrs : CommandSpy) {
 cmdspyplrs.sendMessage(e.getPlayer().getName() + " : " + e.getMessage());
}

?
 
  • Like
Reaktionen: mickedplay
Ich würds so machen das du einfach alle paar Sekunden prüfst ob derjenige Sneakt
Code:
if(plr.isSneaking(){
if(!sneakingplrs.contains(plr) {
sneakingplrs.add(plr);
}
} else {
if(sneakingplrs.containts(plr) {
sneakingplrs.remove(plr);
//DEIN CODE
}
}


Gibt bestimmt bessere Sachen und sorry für die formatierung habs hier eben rein geschrieben und es könnte auch genug fehler da sein da ich ned wirklich überlegt hab xd
 
Ich würds so machen das du einfach alle paar Sekunden prüfst ob derjenige Sneakt
Code:
if(plr.isSneaking(){
if(!sneakingplrs.contains(plr) {
sneakingplrs.add(plr);
}
} else {
if(sneakingplrs.containts(plr) {
sneakingplrs.remove(plr);
//DEIN CODE
}
}


Gibt bestimmt bessere Sachen und sorry für die formatierung habs hier eben rein geschrieben und es könnte auch genug fehler da sein da ich ned wirklich überlegt hab xd
Ich nehme an, du hast eine Arrayliste drin?
Kann ich nicht xD
Naja, ich kann mal schauen ob ich das mit
if(p.isSneaking() {
//Code
}
else {
//Code
}

hinkriege :P
 
Ich glaub aufhören zu Sneaken zählt auch zum PlayerMoveEvent, aber keine Garantie ;)
Dann müsstest du nicht jede Sekunde ne Abfrage starten ^^
 
Das ist mir egal, hauptsache keine Arrayliste oder externe Listener :D
Was hast du geger Arraylists? :c

Ein Task caused jede Sekunde x Abfragen
Passiert beim PlayerMoveEvent auch (Lass mal nen Counter nach oben zählen wenn du dich beim Playermoveevent 2sek lang bewegst ;))

Mal angenommen es sind nur 5 bewegungen pro sekunde dann ists in eg 5x20 = 100 Abfragen die Sekunde beim task sinds 20 abfragen die sekunde...

ArrayList<Player> SeeakiPlr = new ArrayList<Player>();
 
Hat jemand eine Ahnung ob ich überprüfen kann ob ein Spiel eimal die Leertaste drückt?
Und wie?
 
Naja du kannst prüfen ob der Spieler nen doppeljump ausführt was anderes wäre mir nicht bekannt das nicht "kompliziert" ist
 
Code:
@EventHandler
     public void onPlayerToggleFlight(PlayerToggleFlightEvent event) {
       Player plr = event.getPlayer();
       if(plr.getGameMode() == GameMode.CREATIVE) {
         return;
       }
       event.setCancelled(true);
       plr.setAllowFlight(false);
       plr.setFlying(false);
       plr.setVelocity(plr.getLocation().getDirection().multiply(1.5D).setY(1));
     }


Code:
@EventHandler
    public void on(PlayerMoveEvent ev) {
        Player plr = ev.getPlayer();
       
       if ((plr.getGameMode() != GameMode.CREATIVE) &&  (plr.getLocation().subtract(0.0D, 1.0D, 0.0D).getBlock().getType() != Material.AIR) && 
             (!plr.isFlying())) {
             plr.setAllowFlight(true);
           }
    }
 
  • Like
Reaktionen: cantry
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