Schneebal

Dieses Thema im Forum "Programmierung" wurde erstellt von mdafcker, 26. November 2012.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. mdafcker
    Offline

    mdafcker Gesperrt

    Registriert seit:
    20. Oktober 2012
    Beiträge:
    51
    Minecraft:
    mdafcker
    Hallo ein Freund Namens "Funzocker1" hat mal in 30 sec, ein Plugin gemacht er und ich möchten gerne ein Plugin machen wenn man ein Spieler mit Schnellball abbekommt das er langsammer ist,
    Hier mal kurz der Code:
    Code (Text):
    1.  
    2.   @EventHandler(priority=EventPriority.NORMAL)
    3.   public void SpielerDamage(BlockDamageEvent e) {
    4.     Player ep = e.getPlayer();
    5.     if (e.getBlock().getTypeId() == 332) {
    6.       ep.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 440,
    7.         440));
    8.       ep.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 440,
    9.         440));
    10.     }
    11.   }
    Es geht aber nicht das wissen wir, das war mal ein Test nur wir haben dan weiter gemacht nur es geht immer nocht nicht,
    Wer nett wenn ihr uns Helfen könnt,
     
    #1
  2. Gleydar
    Offline

    Gleydar Ehem. Teammitglied

    Registriert seit:
    2. August 2012
    Beiträge:
    443
    Ort:
    player.getHome()
    Minecraft:
    Gleydar
    Ähhh, du solltest nicht irgend wie vom Event den Block nehmen, sondern die DamageSource, wenns die gibt (P.S Schneebälle sind keine Blöcke)

    P.S hmmm, gehts auch mit Snowballtrow Event? Weil BlockDamage ist nur wenn der Spieler einen Block beschädigt.
     
    #2
  3. mdafcker
    Offline

    mdafcker Gesperrt

    Registriert seit:
    20. Oktober 2012
    Beiträge:
    51
    Minecraft:
    mdafcker
    Ahh, Danke ich werde dan mal kucken wenn mein "eclipse" wieder geht :)
     
    #3
  4. Gleydar
    Offline

    Gleydar Ehem. Teammitglied

    Registriert seit:
    2. August 2012
    Beiträge:
    443
    Ort:
    player.getHome()
    Minecraft:
    Gleydar
    Ich muss mich korrigiren, Das geht mit keinem von den oben gennanten
    Events, ich teste es grad selber.
     
    #4
  5. mdafcker
    Offline

    mdafcker Gesperrt

    Registriert seit:
    20. Oktober 2012
    Beiträge:
    51
    Minecraft:
    mdafcker
    Aso, Danke :)

    EDIT

    Ich wurde gerne auch machen nur ich kann heute nicht mein eclipse starten muss neu machen ;/ Ist aber Nett :)
     
    #5
  6. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Das geht mit einem EntityDamageByEntity-Event.
     
    #6
  7. Gleydar
    Offline

    Gleydar Ehem. Teammitglied

    Registriert seit:
    2. August 2012
    Beiträge:
    443
    Ort:
    player.getHome()
    Minecraft:
    Gleydar
    Code (Text):
    1. public class test extends JavaPlugin{
    2.    
    3.  
    4.  
    5.     @EventHandler(priority=EventPriority.NORMAL)
    6.    
    7.       public void SpielerDamage(EntityDamageByEntityEvent e) {
    8.                  String ep =  e.getEntityType().getName().toString();    
    9.                 Player ePlayer = this.getServer().getPlayer(ep);
    10.               ePlayer.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 440,
    11.                    440));
    12.    
    13.           ePlayer.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 440,
    14.             440));
    15.         }
    16.    
    17.  
    18. }
    Ich hoffe mein Java lässt mich nicht im Stich :D Noch nicht getestet, btw.
     
    #7
  8. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Damit würdest du jedem Spieler, der Schaden bekommt, die Potion-Effekte zufügen. ^^
     
    #8
  9. Gleydar
    Offline

    Gleydar Ehem. Teammitglied

    Registriert seit:
    2. August 2012
    Beiträge:
    443
    Ort:
    player.getHome()
    Minecraft:
    Gleydar
    uuuuups :D
    Gleich kommt der neue Code
     
    #9
  10. Code (Text):
    1. [COLOR=#141414][FONT=Consolas]public void onProjectileHit(ProjectileHitEvent e) {[/FONT][/COLOR]
    2.                Projectile projectile = (Projectile) e.getEntity();
    3.                //Entity an einschlagestelle hohlen
    4.                Entity possibleTarget = projectile.getNearbyEntities(1, 1, 1).get(0);
    5.                if (possibleTarget instanceof Player) {
    6.                     Player target = (Player) possibleTarget;
    7.                    //Bla
    8.                 }
    9. [COLOR=#141414][FONT=Consolas]   }[/FONT][/COLOR]
    Source und original Autor: http://forums.bukkit.org/threads/snowball-damage.44718/#post-792440
     
    #10
  11. Gleydar
    Offline

    Gleydar Ehem. Teammitglied

    Registriert seit:
    2. August 2012
    Beiträge:
    443
    Ort:
    player.getHome()
    Minecraft:
    Gleydar
    Code (Text):
    1. public class test extends JavaPlugin{
    2.    
    3.  
    4.  
    5.     @EventHandler(priority=EventPriority.NORMAL)
    6.    
    7.     public void onProjectileHit(ProjectileHitEvent e) {
    8.         Projectile projectile = (Projectile) e.getEntity();
    9.         //Entity an einschlagestelle hohlen
    10.         Entity possibleTarget = projectile.getNearbyEntities(1, 1, 1).get(0);
    11.         if (possibleTarget instanceof Player) {
    12.              Player target = (Player) possibleTarget;
    13.             target.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 440,
    14.                     440));
    15.            
    16.             target.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 440,
    17.               440));
    18.          }
    19. }
    20.        
    21. }
    Das ist jetzt der ganz fertige Code ^^
     
    #11
Status des Themas:
Es sind keine weiteren Antworten möglich.