1. Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Bukkit Plugin: Variable damit das Plugin nur in einer bestimmten Welt funktioniert

Dieses Thema im Forum "Programmierung" wurde erstellt von TheFantasticFightMC, 3. November 2013.


  1. TheFantasticFightMC
    Offline

    TheFantasticFightMC Minecrafter

    Registriert seit:
    30. Oktober 2013
    Beiträge:
    5
    Hallo liebe Community ich möchte gerne wissen wie ich das in meinem Plugin so schreiben kann das es z.B. nur in der Welt Arenas funktioniert bei diesem einfach Plugin hat man wenn man dem Server betritt die Speedpotion und dass in allen Welten :( Ich glaube meine Frage ist ziemlich leicht zu beantworten xD (Ich bin noch ein Anfänger^^)

    LG
     
  2. Gawain
    Offline

    Gawain Redstoneengineer

    Registriert seit:
    5. Januar 2012
    Beiträge:
    35
    So wie ich das verstehe willst du beim Joinen auf den Server die Speedpotion vergeben?

    --> In diesem Fall einfach das JoinEvent nehmen und folgende Zeile hinzufügen:

    event.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SPEED, Integer.MAX_VALUE, 2));

    Damit würdest du dem Spieler unendlich lang Speed II geben.
    Hoffe das ich dir helfen konnte, ansonsten kannst du dich gerne bei mir melden.

    Mit freundlichen Grüßen
    Gawain
     
  3. TheFantasticFightMC
    Offline

    TheFantasticFightMC Minecrafter

    Registriert seit:
    30. Oktober 2013
    Beiträge:
    5
    Das habe ich schon ich möchte es aber so machen das es nur in bestimmten Welten geht^^
     
  4. iRaphi
    Offline

    iRaphi Minecrafter

    Registriert seit:
    4. August 2012
    Beiträge:
    1
    Code (Text):
    1. if(p.getWorld().getName().equalsIgnoreCase("name")){
    2.  
    3.          //Effekt
    4.  
    5.         }
     
  5. Crafter6432
    Offline

    Crafter6432 Workaholic

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    681
    Code (Text):
    1.  
    2. if(event.getPlayer().getLocation.getWorld().getName() == "arenaWelt"){
    3.  event.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SPEED, Integer.MAX_VALUE, 2));
    4. }
    5.  
     
  6. TheFantasticFightMC
    Offline

    TheFantasticFightMC Minecrafter

    Registriert seit:
    30. Oktober 2013
    Beiträge:
    5
    Danke für die Hilfe aber ich habe immernoch einen Error ich hänge mal ein Bild an^^ Sry falls ich nerve :D Help.png
     
  7. games6471
    Online

    games6471 Guest

    "getLocation" ist auch kein Feld, sondern eine Methode.

    Code (Text):
    1. getLocation[COLOR="#FF0000"]()[/COLOR]
     
  8. TheFantasticFightMC
    Offline

    TheFantasticFightMC Minecrafter

    Registriert seit:
    30. Oktober 2013
    Beiträge:
    5
    Habs jetzt geändert aber ist geht trotzdem noch nicht ._.
     
  9. games6471
    Online

    games6471 Guest

  10. TheFantasticFightMC
    Offline

    TheFantasticFightMC Minecrafter

    Registriert seit:
    30. Oktober 2013
    Beiträge:
    5
  11. Chrisliebaer
    Online

    Chrisliebaer Guest

    Zuletzt von einem Moderator bearbeitet: 3. November 2013
  12. Gleydar
    Offline

    Gleydar Dragon Ehem. Teammitglied

    Registriert seit:
    2. August 2012
    Beiträge:
    439
    Minecraft:
    Gleydar
    Nimm einfach nicht String1 == String2 sondern String1.equals(String2)
     
  13. ThunderFlo
    Offline

    ThunderFlo Kuhfänger

    Registriert seit:
    22. September 2013
    Beiträge:
    53
    Code (Text):
    1. package Dein.Package.Name;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.entity.Player;
    5. import org.bukkit.event.EventHandler;
    6. import org.bukkit.event.Listener;
    7. import org.bukkit.event.player.PlayerJoinEvent;
    8. import org.bukkit.event.player.PlayerQuitEvent;
    9. import org.bukkit.potion.PotionEffect;
    10. import org.bukkit.potion.PotionEffectType;
    11.  
    12. public class JoinListener implements Listener {
    13.    
    14.     @EventHandler
    15.     public void onPlayerJoin(PlayerJoinEvent e) {
    16.         Player p = e.getPlayer();
    17.        
    18.         if (p == Bukkit.getWorld("Weltname")) {
    19.             p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 100000, 2));
    20.         }
    21.     }
    22.    
    23.     @EventHandler
    24.     public void onPlayerQuit(PlayerQuitEvent e) {
    25.         Player p = e.getPlayer();
    26.        
    27.         if (p == Bukkit.getWorld("Weltname")) {
    28.             p.getActivePotionEffects().remove(PotionEffectType.SPEED);
    29.         }
    30.     }
    31.  
    32. }
    33.  

    Habs nicht getestet, aber ich denke es sollte gehen. Wenn der Spieler sich nun einloggt erhält er in der Welt Weltname (Da solltest DU den Weltnamen von deiner Welt angeben) den PotionEffectSpeed und falls er sich ausloggt wird er wieder removed.

    Lg,
    ThunderFlo
     
    Zuletzt bearbeitet: 4. November 2013
  14. MrFlieder
    Offline

    MrFlieder Braumeister

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    332
    Geschlecht:
    männlich
    Minecraft:
    MrFlieder
    Du vergleichst ein Player-Objekt mit einem World-Objekt?
    So wird das nicht funktionieren.

    Code (Text):
    1.  
    2. if(p.getLocation().getWorld().getName().equalsIgnoreCase("Weltname"))
    3. {
    4.     p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 100000, 2));
    5. }
    6.