ServerPlugin Hilfe

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

  1. minecraftboy
    Offline

    minecraftboy

    Registriert seit:
    28. September 2012
    Beiträge:
    336
    Ort:
    NRW
    Minecraft:
    gamemaster1511
    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. }
     
    #1
  2. Plugin00
    Offline

    Plugin00

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

    Code (Text):
    1. Code..
     
    #2
  3. minecraftboy
    Offline

    minecraftboy

    Registriert seit:
    28. September 2012
    Beiträge:
    336
    Ort:
    NRW
    Minecraft:
    gamemaster1511
    Wie meinst du das?
     
    #3
  4. rBxGame
    Offline

    rBxGame Ehem. Teammitglied

    Registriert seit:
    16. Februar 2012
    Beiträge:
    1.077
    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
     
    #4
  5. 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.
     
    #5
  6. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

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

    ChristianG

    # Code-Tags hinzugefügt
     
    #7
  8. minecraftboy
    Offline

    minecraftboy

    Registriert seit:
    28. September 2012
    Beiträge:
    336
    Ort:
    NRW
    Minecraft:
    gamemaster1511
    KackenHD ist der Ingamename des Freundes für den ich das Plugin schreibe
     
    #8
  9. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    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.
     
    #9
  10. minecraftboy
    Offline

    minecraftboy

    Registriert seit:
    28. September 2012
    Beiträge:
    336
    Ort:
    NRW
    Minecraft:
    gamemaster1511
    Was?!

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

    - - - Aktualisiert - - -

    Aber Danke
     
    #10
  11. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    #11
  12. Cabraca
    Online

    Cabraca