Programm Team Plugin

Dieses Thema im Forum "Programmierung" wurde erstellt von Lentry, 27. Juni 2016.

  1. Lentry
    Offline

    Lentry

    Registriert seit:
    15. Mai 2016
    Beiträge:
    39
    Hallo ich wollte ein team plugin coden.
    Ich hab es so gemacht mit Array List:

    Der Fehler. Die team Member können sich schlagen!



    Team Join Code:

    Code (Javascript):
    1.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    2.        Player user = (Player) sender;
    3.      
    4.  
    5.      
    6.  
    7.     if(args.length == 1) {
    8.         if(args[0].equalsIgnoreCase("Blau")) {
    9.          
    10.             if(plugin.Rot.contains(user.getName())) {
    11.                 plugin.Rot.remove(user.getName());
    12.             } else {
    13.                 plugin.Blau.add(user.getName());
    14.              
    15.                 user.sendMessage("Du bist jetzt im team Blau");
    16.             }
    17.          
    18.              
    19.            }
    20.          
    21.        } if(args.length == 1) {
    22.            if(args[0].equalsIgnoreCase("Rot")) {
    23.                if(plugin.Blau.contains(user.getName())) {
    24.                    plugin.Blau.remove(user.getName()) ;
    25.          
    26.                      
    27.                  
    28.                } else {
    29.                    plugin.Rot.add(user.getName());
    30.                  
    31.                     user.sendMessage("Du bist jetzt im team Rot");
    32.                }
    33.            }
    34.        }
    35.  
    36.  
    37.     else {
    38.             user.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("prefix.prefix")) + "§c /Team Rot|Blau Join|Leave ");
    39.        }
    40.          
    41.  
    42.  
    43.      
    44.      
    45.      
    46.      
    47.         return true;
    48.     }
    49.  
    ArrayList:

    Code (Javascript):
    1.  
    2.     public static ArrayList<String> Blau = new ArrayList<String>();
    3.     public static ArrayList<String> Rot = new ArrayList<String>();
    4.  


    Team Damage :



    Code (Javascript):
    1.  
    2. public class DamageTeam implements Listener {
    3.  
    4.     private main plugin;
    5.  
    6.     public DamageTeam(main plugin) {
    7.         this.plugin = plugin;
    8.      
    9.      
    10.     }
    11.  
    12.     @SuppressWarnings("static-access")
    13.  
    14.  
    15.      @EventHandler
    16.    
    17.     public void onDamage(EntityDamageByEntityEvent e) {
    18.         Entity user = e.getEntity();
    19.      
    20.         if(plugin.Blau.contains(user.getName())) {
    21.      
    22.     e.setCancelled(true);
    23.          
    24.          
    25.          
    26.          
    27.             }
    28.      
    29.      
    30.  
    31.          
    32.             if(plugin.Rot.contains(user.getName())) {
    33.                 e.setCancelled(true);
    34.              
    35.              
    36.              
    37.              
    38.                 }
    39.              
    40.          
    41.      
    42.      
    43.      
    44.     }
     
    #1
  2. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    602
    Ort:
    Internet, im Neuland
    Minecraft:
    jens1o
    Ist das jetzt quasi ein Snippet, oder wo liegt dein Problem?
     
    #2
  3. Lentry
    Offline

    Lentry

    Registriert seit:
    15. Mai 2016
    Beiträge:
    39
    Ich habe ein Proplem wann ich mit 2 acc in selbe team gehe wird können sie sich noch schlagen
     
    #3
  4. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    602
    Ort:
    Internet, im Neuland
    Minecraft:
    jens1o
    Du musst auch den Attacker überprüfen. Und dann schauen ob beide im selben Team sind.
     
    #4
  5. Lentry
    Offline

    Lentry

    Registriert seit:
    15. Mai 2016
    Beiträge:
    39
    Wie ? Mit eine welche Event
     
    #5
  6. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    602
    Ort:
    Internet, im Neuland
    Minecraft:
    jens1o
    Auch mit dem EntityDamageByEntityEvent.

    Code (Text):
    1. // das Opfer
    2. e.getEntity();
    3.  
    4. // der Attacker
    5. e.getAttacker();
    Danach deine If Abfrage, in dem du prüfst in welchem Team das Opfer ist. Danach schaust du einfach ob der Angreifer auch in dem Team ist, wo das Opfer ist.
     
    #6
  7. Lentry
    Offline

    Lentry

    Registriert seit:
    15. Mai 2016
    Beiträge:
    39
    Jetzt können sich alle spieler schlagen.


    Code (Javascript):
    public void onDamage(EntityDamageByEntityEvent e) {
    Entity buser = e.getEntity();

    Entity bAkter = e.getDamager();



    Entity ruser = e.getEntity();

    Entity rAkter = e.getDamager();



    if(plugin.Blau.contains(buser.getName())) {

    }


    if(plugin.Blau.contains(bAkter.getName())) {
    e.setCancelled(true);

    bAkter.sendMessage("§cDu darfs deine Team Member nicht Schlagen!§b(Blau)");
    }
    if(plugin.Rot.contains(ruser.getName())) {

    }


    if(plugin.Rot.contains(rAkter.getName())) {
    e.setCancelled(true);

    rAkter.sendMessage("§cDu darfs deine Team Member nicht Schlagen!§c(Rot)");
    }


    }
     
    #7
  8. Lentry
    Offline

    Lentry

    Registriert seit:
    15. Mai 2016
    Beiträge:
    39
    Jetzt können sich alle nicht mehr schlagen.

    Code (Javascript):
    1.     public void onDamage(EntityDamageByEntityEvent e) {
    2.         Entity buser = e.getEntity();
    3.      
    4.         Entity bAkter = e.getDamager();
    5.      
    6.      
    7.          
    8.         Entity ruser = e.getEntity();
    9.      
    10.         Entity rAkter = e.getDamager();
    11.      
    12.      
    13.      
    14.         if(plugin.Blau.contains(buser.getName())) {
    15.          
    16.         }
    17.      
    18.              
    19.             if(plugin.Blau.contains(bAkter.getName())) {
    20.                 e.setCancelled(true);
    21.              
    22.                 bAkter.sendMessage("§cDu darfs deine Team Member nicht Schlagen!§b(Blau)");
    23.             }
    24.             if(plugin.Rot.contains(ruser.getName())) {
    25.              
    26.             }
    27.          
    28.                  
    29.                 if(plugin.Rot.contains(rAkter.getName())) {
    30.                     e.setCancelled(true);
    31.                  
    32.                     rAkter.sendMessage("§cDu darfs deine Team Member nicht Schlagen!§c(Rot)");
    33.                 }
    34.      
    35.      
    36.     }
     
    #8
  9. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    602
    Ort:
    Internet, im Neuland
    Minecraft:
    jens1o
    Weil du deine if Abfrage(Zeile 14) zu früh schließt. Außerdem fehlt noch der Fall, das dein buser in dem roten Team ist.(bzw. der ist wohl falsch eingerückt.)
     
    #9
  10. 可愛い
    Offline

    可愛い

    Registriert seit:
    19. Mai 2014
    Beiträge:
    654
    Strg + Shift + F regelt
     
    #10
  11. Lentry
    Offline

    Lentry

    Registriert seit:
    15. Mai 2016
    Beiträge:
    39
    Wie meinst du das?

    Code (Text):
    1. package Events;
    2.  
    3. import org.bukkit.entity.Entity;
    4. import org.bukkit.event.EventHandler;
    5. import org.bukkit.event.Listener;
    6. import org.bukkit.event.entity.EntityDamageByEntityEvent;
    7.  
    8. import KitLeague.main;
    9.  
    10. public class DamageTeam implements Listener {
    11.  
    12.     private main plugin;
    13.  
    14.     public DamageTeam(main plugin) {
    15.         this.plugin = plugin;
    16.        
    17.        
    18.     }
    19.    
    20.     @SuppressWarnings("static-access")
    21.    
    22.    
    23.      @EventHandler
    24.    
    25.     public void onDamage(EntityDamageByEntityEvent e) {
    26.         Entity buser = e.getEntity();
    27.  
    28.         Entity bAkter = e.getDamager();
    29.  
    30.         Entity ruser = e.getEntity();
    31.  
    32.         Entity rAkter = e.getDamager();
    33.  
    34.         if (plugin.Blau.contains(buser.getName())) {
    35.  
    36.         }
    37.  
    38.         if (plugin.Blau.contains(bAkter.getName())) {
    39.             e.setCancelled(true);
    40.  
    41.             bAkter.sendMessage("§cDu darfs deine Team Member nicht Schlagen!§b(Blau)");
    42.         }
    43.        
    44.        
    45.        
    46.        
    47.         if (plugin.Rot.contains(ruser.getName())) {
    48.  
    49.         }
    50.  
    51.         if (plugin.Rot.contains(rAkter.getName())) {
    52.             e.setCancelled(true);
    53.  
    54.             rAkter.sendMessage("§cDu darfs deine Team Member nicht Schlagen!§c(Rot)");
    55.         }
    56.  
    57.     }
    58.    
    59.    
    60. }
    61.  
     
    #11
  12. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    602
    Ort:
    Internet, im Neuland
    Minecraft:
    jens1o
    Drücke diese Tastenkombination in deiner IDE und gebe uns den herrauskommenden Code.
     
    #12
  13. Lentry
    Offline

    Lentry

    Registriert seit:
    15. Mai 2016
    Beiträge:
    39
    Den Code hab ich doch gerade geschickt
     
    #13
  14. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    602
    Ort:
    Internet, im Neuland
    Minecraft:
    jens1o
    Ja, ich habs aber erst dann gesehen, wo du den Beitrag editiert hast. Davor war kein Code zu finden.

    Du musst deine if Abfragen auf BEIDE Personen beziehen.
     
    #14
  15. Lentry
    Offline

    Lentry

    Registriert seit:
    15. Mai 2016
    Beiträge:
    39
    Wie soll das Gehen
     
    #15
  16. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    602
    Ort:
    Internet, im Neuland
    Minecraft:
    jens1o
    Indem man seine Java Grundlagen anwendet.

    Hinweis:
    Code (Text):
    1. if(boolresult1 && boolresult2) {
    2.    // do something
    3. }
     
    #16
    Shio gefällt das.
  17. Lentry
    Offline

    Lentry

    Registriert seit:
    15. Mai 2016
    Beiträge:
    39
    Es geht imme rnoch nicht!


    Code (Javascript):
    1. package Events;
    2.  
    3. import org.bukkit.entity.Entity;
    4. import org.bukkit.event.EventHandler;
    5. import org.bukkit.event.Listener;
    6. import org.bukkit.event.entity.EntityDamageByEntityEvent;
    7.  
    8. import KitLeague.main;
    9.  
    10. public class DamageTeam implements Listener {
    11.  
    12.     private main plugin;
    13.  
    14.     public DamageTeam(main plugin) {
    15.         this.plugin = plugin;
    16.  
    17.     }
    18.  
    19.     @SuppressWarnings("static-access")
    20.  
    21.     @EventHandler
    22.  
    23.     public void onDamage(EntityDamageByEntityEvent e) {
    24.         Entity buser = e.getEntity();
    25.  
    26.         Entity bAkter = e.getDamager();
    27.  
    28.         Entity ruser = e.getEntity();
    29.  
    30.         Entity rAkter = e.getDamager();
    31.  
    32.         if (plugin.Blau.contains(buser.getName())) {
    33.             if (plugin.Blau.contains(bAkter.getName()))
    34.                 ;
    35.             e.setCancelled(true);
    36.  
    37.             bAkter.sendMessage("§cDu darfs deine Team Member nicht Schlagen!§b(Blau)");
    38.         }
    39.  
    40.         if (plugin.Rot.contains(ruser.getName())) {
    41.  
    42.             if (plugin.Rot.contains(rAkter.getName()))
    43.                 ;
    44.             e.setCancelled(true);
    45.  
    46.             rAkter.sendMessage("§cDu darfs deine Team Member nicht Schlagen!§c(Rot)");
    47.         }
    48.  
    49.     }
    50.  
    51. }
    52.  
     
    #17
  18. jensIO
    Offline

    jensIO

    Registriert seit:
    28. Juli 2015
    Beiträge:
    602
    Ort:
    Internet, im Neuland
    Minecraft:
    jens1o
    Hier...

    Versuche daraus deine Fehler zu bemerken. Ist zwar nicht schön, sollte aber funktionieren.

    Code (Javascript):
    1. package Events;
    2.  
    3. import org.bukkit.entity.Entity;
    4. import org.bukkit.event.EventHandler;
    5. import org.bukkit.event.Listener;
    6. import org.bukkit.event.entity.EntityDamageByEntityEvent;
    7.  
    8. import KitLeague.main;
    9.  
    10. public class DamageTeam implements Listener {
    11.  
    12.     private main plugin;
    13.  
    14.     public DamageTeam(main plugin) {
    15.         this.plugin = plugin;
    16.  
    17.     }
    18.  
    19.     @SuppressWarnings("static-access")
    20.  
    21.     @EventHandler
    22.  
    23.     public void onDamage(EntityDamageByEntityEvent e) {
    24.        
    25.         Entity user = e.getEntity();
    26.         Entity attacker = e.getDamager();
    27.  
    28.         if (plugin.Blau.contains(user.getName()) && plugin.Blau.contains(attacker.getName())) {
    29.             e.setCancelled(true);
    30.             attacker.sendMessage("§cDu darfs deine Team Member nicht Schlagen!§b(Blau)");
    31.         } else if (plugin.Rot.contains(user.getName()) && plugin.Rot.contains(attacker.getName())) {
    32.             e.setCancelled(true);
    33.             attacker.sendMessage("§cDu darfs deine Team Member nicht Schlagen!§c(Rot)");
    34.         }
    35.  
    36.     }
    37.  
    38. }
    39.  
     
    #18