Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.YOURNAME;
- import java.util.ArrayList;
- import java.util.List;
- import org.bukkit.Effect;
- import org.bukkit.GameMode;
- import org.bukkit.Material;
- import org.bukkit.Sound;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.EntityDamageEvent;
- import org.bukkit.event.player.PlayerMoveEvent;
- import org.bukkit.event.player.PlayerToggleFlightEvent;
- import org.bukkit.plugin.Plugin;
- import org.bukkit.plugin.java.JavaPlugin;
- public class DJump extends JavaPlugin
- implements Listener
- {
- public static Plugin instance;
- public static ArrayList<Player> toggled = new ArrayList();
- List<String> enabledworlds = getConfig().getStringList("EnabledInWorlds");
- public static Player pla = null;
- public final ArrayList<Player> cooldown = new ArrayList();
- Countdown d = new Countdown();
- public void onEnable()
- {
- getServer().getPluginManager().registerEvents(this, this);
- getConfig().options().copyDefaults(true);
- saveConfig();
- instance = this;
- }
- public void onDisable()
- {
- }
- public static Plugin getInstance()
- {
- return instance;
- }
- @SuppressWarnings("deprecation")
- public static void playerPlayEffect(Player p)
- {
- for (int i = 0; i < 10; i++)
- {
- p.playEffect(p.getLocation().add(0.9D, 1.5D, 0.0D),
- Effect.valueOf(instance.getConfig()
- .getString("ParticleName")), 10);
- p.playEffect(p.getLocation().add(0.5D, 1.5D, 0.0D),
- Effect.valueOf(instance.getConfig()
- .getString("ParticleName")), 10);
- p.playEffect(p.getLocation().add(0.6D, 1.5D, 0.0D),
- Effect.valueOf(instance.getConfig()
- .getString("ParticleName")), 10);
- p.playEffect(p.getLocation().add(0.3D, 1.5D, 0.0D),
- Effect.valueOf(instance.getConfig()
- .getString("ParticleName")), 10);
- p.playEffect(p.getLocation().add(0.0D, 1.5D, 0.0D),
- Effect.valueOf(instance.getConfig()
- .getString("ParticleName")), 10);
- p.playEffect(p.getLocation().add(0.9D, 1.1D, 0.0D),
- Effect.valueOf(instance.getConfig()
- .getString("ParticleName")), 10);
- p.playEffect(p.getLocation().add(0.9D, 0.7D, 0.0D),
- Effect.valueOf(instance.getConfig()
- .getString("ParticleName")), 10);
- p.playEffect(p.getLocation().add(0.0D, 1.5D, 0.3D),
- Effect.valueOf(instance.getConfig()
- .getString("ParticleName")), 10);
- p.playEffect(p.getLocation().add(0.0D, 1.0D, 0.6D),
- Effect.valueOf(instance.getConfig()
- .getString("ParticleName")), 10);
- p.playEffect(p.getLocation().add(0.0D, 1.0D, 0.9D),
- Effect.valueOf(instance.getConfig()
- .getString("ParticleName")), 10);
- p.playEffect(p.getLocation().add(0.0D, 1.0D, 1.3D),
- Effect.valueOf(instance.getConfig()
- .getString("ParticleName")), 10);
- }
- }
- public static void playerPlaySound(Player p)
- {
- p.playSound(p.getLocation(), Sound.valueOf(instance.getConfig()
- .getString("SoundName")), 1.0F, 0.0F);
- }
- @EventHandler
- public void onPlayerToggleFlight(PlayerToggleFlightEvent event) throws InterruptedException
- {
- try
- {
- if ((this.enabledworlds.contains(event.getPlayer().getWorld().getName())) &&
- (!toggled.contains(event.getPlayer())))
- if (this.cooldown.contains(event.getPlayer()))
- {
- event.getPlayer().sendMessage(getConfig().getString("Cooldown.msg").replace("&", "§"));
- }
- else if (!this.cooldown.contains(event.getPlayer()))
- {
- Player player = event.getPlayer();
- if (player.hasPermission("permission"))
- {
- if (player.getGameMode() == GameMode.CREATIVE) {
- return;
- }
- event.setCancelled(true);
- player.setAllowFlight(false);
- player.setFlying(false);
- player.setVelocity(player.getLocation().getDirection().multiply(getConfig().getDouble("Velocity"))
- .setY(1));
- new Thread(this.d).start();
- this.cooldown.add(event.getPlayer());
- if (getConfig().getBoolean("EnableParticles")) {
- playerPlayEffect(player);
- }
- if (getConfig().getBoolean("EnableSounds")) {
- playerPlaySound(player);
- }
- }
- else if (!player.hasPermission("permission"))
- {
- player.setFallDistance(0.0F);
- }
- }
- }
- catch (Exception localException)
- {
- }
- }
- @EventHandler
- public void onPlayerMove(PlayerMoveEvent event) throws InterruptedException {
- try {
- if ((this.enabledworlds.contains(event.getPlayer().getWorld().getName())) &&
- (!toggled.contains(event.getPlayer())))
- {
- Player player = event.getPlayer();
- if (player.hasPermission("permission"))
- {
- if ((!this.cooldown.contains(event.getPlayer())) &&
- (!this.cooldown.contains(event.getPlayer())))
- {
- double jd = getConfig().getDouble("JumpDistance");
- if ((player.getGameMode() != GameMode.CREATIVE) &&
- (player.getLocation().subtract(0.0D, 1.0D, 0.0D).getBlock().getType() != Material.AIR) &&
- (!player.isFlying())) {
- player.setAllowFlight(true);
- }
- }
- }
- else if (!player.hasPermission("permission"))
- player.setFallDistance(0.0F);
- }
- }
- catch (Exception localException) {
- }
- }
- @EventHandler
- public void onEntityDamage(EntityDamageEvent event) {
- if (getConfig().getBoolean("RemoveFallDamage"))
- {
- if (!(event.getEntity() instanceof Player)) {
- return;
- }
- if ((event.getCause().equals(EntityDamageEvent.DamageCause.FALL)) && (((Player)event.getEntity()).hasPermission("permission")))
- event.setCancelled(true);
- }
- }
- public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
- {
- if ((cmd.getName().equalsIgnoreCase("YOUR COMMAND")) || (cmd.getName().equalsIgnoreCase("Fantasyjump")))
- {
- if (args.length == 0)
- {
- Player player = (Player)sender;
- sender.sendMessage("§a§lHEADER FOR /DOUBLE JUMP");
- sender.sendMessage("§2-----------------------------------------------");
- sender.sendMessage("§8» §aCONFIG RELOAD MESSAGE");
- sender.sendMessage("§8» §aTOGGLE MESSAGE!");
- sender.sendMessage("§2-----------------------------------------------");
- return true;
- }
- if (args[0].equalsIgnoreCase("reload"))
- {
- saveConfig();
- reloadConfig();
- sender.sendMessage("§8(RELOAD MESSAGE");
- return true;
- }
- if (args[0].equalsIgnoreCase("toggle"))
- {
- Player player = (Player)sender;
- if (toggled.contains(player))
- {
- toggled.remove(player);
- player.sendMessage(getConfig().getString("Messages.toggleon").replace("&", "§"));
- }
- else
- {
- toggled.add(player);
- player.sendMessage(getConfig().getString("Messages.toggleoff").replace("&", "§"));
- player.setAllowFlight(false);
- }
- return true;
- }
- }
- return false;
- }
- public class Countdown
- implements Runnable
- {
- public Player pl = null;
- public Countdown()
- {
- }
- public void run() {
- try {
- Thread.sleep(Mainer.this.getConfig().getInt("Cooldown.timeinsec") * 1000);
- Mainer.this.cooldown.removeAll(Mainer.this.cooldown);
- new Thread(this).stop();
- }
- catch (Exception localException)
- {
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment