• 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!

Hilfe

LucaDev

Braumeister
Registriert
28 September 2012
Beiträge
334
Alter
24
Diamanten
301
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:
package de.KackenHD.DoubleJump;

import java.util.List;
import org.bukkit.ChatColor;
import org.bukkit.Effect;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.event.player.PlayerToggleFlightEvent;
import org.bukkit.util.Vector;

public class DoubleJump
  implements Listener
{
  private List<String> justJumped;

  public void join(PlayerJoinEvent event)
  {
    Player player = event.getPlayer();
    if (player.hasPermission("smash.jump"))
    {
      player.setAllowFlight(true);
      this.justJumped.remove(player.getName());
    }
  }

  public void onRespawn(PlayerRespawnEvent event)
  {
    Player player = event.getPlayer();
    if ((player.hasPermission("smash.jump")) || (player.isOp()))
    {
      player.setAllowFlight(true);
      this.justJumped.remove(player.getName());
    }
  }

  public void setFlyOnJump(PlayerToggleFlightEvent event)
  {
    Player player = event.getPlayer();
    String name = player.getName();
    World world = player.getWorld();
    boolean messageOnJump = false;
    boolean sound = true;
    boolean effect = true;
    boolean wallJump = false;
    boolean forwardOnJump = false;
    int blocks = 6;
    String message = "Jump:D";
    Vector jump = player.getVelocity().multiply(1).setY(0.17D * blocks);
    Vector look = player.getLocation().getDirection().multiply(0.5D);
    if ((event.isFlying()) && (event.getPlayer().getGameMode() != GameMode.CREATIVE) && (player.hasPermission("smash.jump")))
    {
      if (!wallJump)
      {
        if (!this.justJumped.contains(name))
        {
          player.setFlying(false);
          if (forwardOnJump)
          {
            player.setVelocity(jump.add(look));
          }
          else {
            player.setVelocity(jump);
          }
          player.setAllowFlight(false);
          if (messageOnJump)
          {
            player.sendMessage(ChatColor.GREEN + message);
          }
          if (sound)
          {
            player.playSound(player.getLocation(), Sound.IRONGOLEM_THROW, 10.0F, -10.0F);
          }
          if (effect)
          {
            for (int i = 0; i <= 10; i++)
            {
              world.playEffect(player.getLocation(), Effect.SMOKE, i);
            }
          }
        }
        else
        {
          player.setFlying(false);
          player.setAllowFlight(false);
        }
        event.setCancelled(true);
      }
      else {
        Block block = player.getTargetBlock(null, 2);
        if (block.getType() != Material.AIR)
        {
          if (!this.justJumped.contains(name))
          {
            player.setFlying(false);
            if (forwardOnJump)
            {
              player.setVelocity(jump.add(look));
            }
            else {
              player.setVelocity(jump);
            }
            player.setAllowFlight(false);
            if (messageOnJump)
            {
              player.sendMessage(ChatColor.GREEN + message);
            }
            if (sound)
            {
              player.playSound(player.getLocation(), Sound.IRONGOLEM_THROW, 10.0F, -10.0F);
            }
            if (effect)
            {
              for (int i = 0; i <= 10; i++)
              {
                world.playEffect(player.getLocation(), Effect.SMOKE, i);
              }
            }
          }
          else
          {
            player.setFlying(false);
            player.setAllowFlight(false);
          }
        }
        else {
          player.setFlying(false);
          player.setAllowFlight(false);
        }
        event.setCancelled(true);
      }
    }
  }

  public void onMove(PlayerMoveEvent event)
  {
    Player player = event.getPlayer();
    Location loc = player.getLocation();
    Block block = loc.add(0.0D, -1.0D, 0.0D).getBlock();
    if (player.hasPermission("smash.jump"))
    {
      if (block.getType() == Material.AIR)
      {
        if (!this.justJumped.contains(player.getName()))
        {
          this.justJumped.add(player.getName());
        }
      }
      else if (this.justJumped.contains(player.getName()))
      {
        this.justJumped.remove(player.getName());
        player.setAllowFlight(true);
        player.setFlying(false);
      }
    }
    else {
      this.justJumped.remove(player.getName());
      player.setAllowFlight(false);
      player.setFlying(false);
    }
  }
}
 
Zuletzt bearbeitet von einem Moderator:

Benni1000

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
4 Mai 2012
Beiträge
1.396
Diamanten
0
KackenHD ist der Ingamename des Freundes für den ich das Plugin schreibe
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.
 

Benni1000

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
4 Mai 2012
Beiträge
1.396
Diamanten
0
Oben