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!

PlugIn Hilfe

Dieses Thema im Forum "Programmierung" wurde erstellt von LucaDev, 17. Mai 2013.


  1. LucaDev
    Offline

    LucaDev

    Registriert seit:
    28. September 2012
    Beiträge:
    335
    Geschlecht:
    männlich
    Minecraft:
    l_uuca
    Hey ich habe angefangen zu programmieren und wollte ein doppel-Sprung Plugin Programmieren
    leider funktioniert es nicht woran liegt es?

    Der Code:
    Code (Text):
    1.  
    2. package de.KackenHD.DoubleJump;
    3.  
    4. import java.util.List;
    5. import org.bukkit.ChatColor;
    6. import org.bukkit.Effect;
    7. import org.bukkit.GameMode;
    8. import org.bukkit.Location;
    9. import org.bukkit.Material;
    10. import org.bukkit.Sound;
    11. import org.bukkit.World;
    12. import org.bukkit.block.Block;
    13. import org.bukkit.entity.Player;
    14. import org.bukkit.event.Listener;
    15. import org.bukkit.event.player.PlayerJoinEvent;
    16. import org.bukkit.event.player.PlayerMoveEvent;
    17. import org.bukkit.event.player.PlayerRespawnEvent;
    18. import org.bukkit.event.player.PlayerToggleFlightEvent;
    19. import org.bukkit.util.Vector;
    20.  
    21. public class DoubleJump
    22.   implements Listener
    23. {
    24.   private List<String> justJumped;
    25.  
    26.   public void join(PlayerJoinEvent event)
    27.   {
    28.     Player player = event.getPlayer();
    29.     if (player.hasPermission("smash.jump"))
    30.     {
    31.       player.setAllowFlight(true);
    32.       this.justJumped.remove(player.getName());
    33.     }
    34.   }
    35.  
    36.   public void onRespawn(PlayerRespawnEvent event)
    37.   {
    38.     Player player = event.getPlayer();
    39.     if ((player.hasPermission("smash.jump")) || (player.isOp()))
    40.     {
    41.       player.setAllowFlight(true);
    42.       this.justJumped.remove(player.getName());
    43.     }
    44.   }
    45.  
    46.   public void setFlyOnJump(PlayerToggleFlightEvent event)
    47.   {
    48.     Player player = event.getPlayer();
    49.     String name = player.getName();
    50.     World world = player.getWorld();
    51.     boolean messageOnJump = false;
    52.     boolean sound = true;
    53.     boolean effect = true;
    54.     boolean wallJump = false;
    55.     boolean forwardOnJump = false;
    56.     int blocks = 6;
    57.     String message = "Jump:D";
    58.     Vector jump = player.getVelocity().multiply(1).setY(0.17D * blocks);
    59.     Vector look = player.getLocation().getDirection().multiply(0.5D);
    60.     if ((event.isFlying()) && (event.getPlayer().getGameMode() != GameMode.CREATIVE) && (player.hasPermission("smash.jump")))
    61.     {
    62.       if (!wallJump)
    63.       {
    64.         if (!this.justJumped.contains(name))
    65.         {
    66.           player.setFlying(false);
    67.           if (forwardOnJump)
    68.           {
    69.             player.setVelocity(jump.add(look));
    70.           }
    71.           else {
    72.             player.setVelocity(jump);
    73.           }
    74.           player.setAllowFlight(false);
    75.           if (messageOnJump)
    76.           {
    77.             player.sendMessage(ChatColor.GREEN + message);
    78.           }
    79.           if (sound)
    80.           {
    81.             player.playSound(player.getLocation(), Sound.IRONGOLEM_THROW, 10.0F, -10.0F);
    82.           }
    83.           if (effect)
    84.           {
    85.             for (int i = 0; i <= 10; i++)
    86.             {
    87.               world.playEffect(player.getLocation(), Effect.SMOKE, i);
    88.             }
    89.           }
    90.         }
    91.         else
    92.         {
    93.           player.setFlying(false);
    94.           player.setAllowFlight(false);
    95.         }
    96.         event.setCancelled(true);
    97.       }
    98.       else {
    99.         Block block = player.getTargetBlock(null, 2);
    100.         if (block.getType() != Material.AIR)
    101.         {
    102.           if (!this.justJumped.contains(name))
    103.           {
    104.             player.setFlying(false);
    105.             if (forwardOnJump)
    106.             {
    107.               player.setVelocity(jump.add(look));
    108.             }
    109.             else {
    110.               player.setVelocity(jump);
    111.             }
    112.             player.setAllowFlight(false);
    113.             if (messageOnJump)
    114.             {
    115.               player.sendMessage(ChatColor.GREEN + message);
    116.             }
    117.             if (sound)
    118.             {
    119.               player.playSound(player.getLocation(), Sound.IRONGOLEM_THROW, 10.0F, -10.0F);
    120.             }
    121.             if (effect)
    122.             {
    123.               for (int i = 0; i <= 10; i++)
    124.               {
    125.                 world.playEffect(player.getLocation(), Effect.SMOKE, i);
    126.               }
    127.             }
    128.           }
    129.           else
    130.           {
    131.             player.setFlying(false);
    132.             player.setAllowFlight(false);
    133.           }
    134.         }
    135.         else {
    136.           player.setFlying(false);
    137.           player.setAllowFlight(false);
    138.         }
    139.         event.setCancelled(true);
    140.       }
    141.     }
    142.   }
    143.  
    144.   public void onMove(PlayerMoveEvent event)
    145.   {
    146.     Player player = event.getPlayer();
    147.     Location loc = player.getLocation();
    148.     Block block = loc.add(0.0D, -1.0D, 0.0D).getBlock();
    149.     if (player.hasPermission("smash.jump"))
    150.     {
    151.       if (block.getType() == Material.AIR)
    152.       {
    153.         if (!this.justJumped.contains(player.getName()))
    154.         {
    155.           this.justJumped.add(player.getName());
    156.         }
    157.       }
    158.       else if (this.justJumped.contains(player.getName()))
    159.       {
    160.         this.justJumped.remove(player.getName());
    161.         player.setAllowFlight(true);
    162.         player.setFlying(false);
    163.       }
    164.     }
    165.     else {
    166.       this.justJumped.remove(player.getName());
    167.       player.setAllowFlight(false);
    168.       player.setFlying(false);
    169.     }
    170.   }
    171. }
     
    Zuletzt von einem Moderator bearbeitet: 17. Mai 2013
  2. Werbung
    Online

    Werbung

  3. Plugin00
    Offline

    Plugin00

    Registriert seit:
    3. Februar 2013
    Beiträge:
    71
    Könntest du es bitte mal so machen?

    Code (Text):
    1. Code..
     
  4. LucaDev
    Offline

    LucaDev

    Registriert seit:
    28. September 2012
    Beiträge:
    335
    Geschlecht:
    männlich
    Minecraft:
    l_uuca
    Wie meinst du das?
     
  5. rBxGame
    Offline

    rBxGame Ehem. Teammitglied

    Registriert seit:
    16. Februar 2012
    Beiträge:
    1.075
    Du sollst deinen Code bitte in einen Code-Tag [#CODE][/CODE]
    einfügen, damit es übersichtlicher ist. So kann das
    doch kein Mensch lesen.
    Oder du nimmst Hastebin.com und schickst uns den Link davon.

    MFG
    rBx
     
    Zuletzt bearbeitet: 17. Mai 2013
  6. games6471
    Online

    games6471

    Meiner Meinung nach ist http://hastebin.com/ für Source-Code Teile passender. Dort wird nicht einfach so eine Zeile bei zu langer Länge in eine weitere Zeile umgebrochen.
     
  7. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.396
    Welche Fehlermeldungen bekommst du?
    Und das:
    ist extrem reif, muss ich schon sagen.
     
  8. ChristianG
    Online

    ChristianG

    # Code-Tags hinzugefügt
     
  9. LucaDev
    Offline

    LucaDev

    Registriert seit:
    28. September 2012
    Beiträge:
    335
    Geschlecht:
    männlich
    Minecraft:
    l_uuca
    KackenHD ist der Ingamename des Freundes für den ich das Plugin schreibe
     
  10. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.396
    Ganz toll.

    Naja nach 1 minute googlen habe ich bei bukkit ein doublejump plugin gefunden,
    und was für ein Wunder es hat fast 1:1 den gleichen SourceCode wie "dein" plugin.

    Was du da gepostet hast ist auch kein Plugin sondern nur die eventlistener klasse des Spungplugins.
    Weiters hast du die @EventHandler annotation entfernt, der Listener wird also nicht funktionieren.

    Lern erstmal Java bevor du anfängst hirnlos SourceCode aus irgentwelchen Plugins zusammenzukopieren.
     
  11. LucaDev
    Offline

    LucaDev

    Registriert seit:
    28. September 2012
    Beiträge:
    335
    Geschlecht:
    männlich
    Minecraft:
    l_uuca
    Was?!

    Ich habe einen teil aus einen smsh plugin und habe einige teile ergänzt

    - - - Aktualisiert - - -

    Aber Danke
     
  12. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.396
  13. Cabraca
    Online

    Cabraca