Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.JPG.SupermanFly;
- import java.util.ArrayList;
- import java.util.HashMap;
- import org.apache.commons.lang.NumberUtils;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Effect;
- 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.entity.EntityDamageEvent.DamageCause;
- import org.bukkit.event.player.PlayerItemHeldEvent;
- import org.bukkit.event.player.PlayerMoveEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.Plugin;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.potion.PotionEffect;
- import org.bukkit.potion.PotionEffectType;
- /**
- *
- * @Author Jake
- */
- public class Main extends JavaPlugin implements Listener{
- HashMap<String, Double> speed = new HashMap<String, Double>();
- private static Plugin p;
- ArrayList<String> players = new ArrayList<String>();
- @Override
- public void onEnable() {
- p = this;
- registerEvents(this, this);
- }
- public static void registerEvents(org.bukkit.plugin.Plugin plugin, Listener... listeners) {
- for (Listener listener : listeners) {
- Bukkit.getServer().getPluginManager().registerEvents(listener, plugin);
- }
- }
- static ItemStack stick = new ItemStack(Material.STICK, 1);
- static {
- ItemMeta meta = stick.getItemMeta();
- meta.setDisplayName(ChatColor.BLUE + "Superman Flight Stick");
- ArrayList<String> Lore = new ArrayList<String>();
- Lore.add(ChatColor.RED + "Allows flight like superman!");
- meta.setLore(Lore);
- stick.setItemMeta(meta);
- }
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String alias, String[] args) {
- if (alias.equalsIgnoreCase("supermanfly") || alias.equalsIgnoreCase("sm") || alias.equalsIgnoreCase("smfly")) {
- if (sender instanceof Player) {
- Player player = (Player) sender;
- if (player.hasPermission("supermanfly.use")) {
- if (args.length == 0) {
- if (player.getInventory().contains(stick)) {
- player.sendMessage(ChatColor.RED + "You already have your SupermanFlight stick!");
- } else {
- player.getInventory().addItem(stick);
- player.sendMessage(ChatColor.BLUE + "Here is your SupermanFlight stick!");
- if (!players.contains(player.getName())) {
- players.add(player.getName());
- }
- }
- } else {
- String f = args[0];
- if (NumberUtils.isNumber(f)) {
- speed.remove(player.getName());
- speed.put(player.getName(), Double.parseDouble(args[0]));
- player.sendMessage(ChatColor.BLUE + "Your Superman speed is now " + args[0]);
- } else {
- player.sendMessage(ChatColor.RED + "You must imput a number!");
- }
- }
- } else {
- sender.sendMessage(ChatColor.RED + "You don't have enough permission!");
- }
- } else {
- sender.sendMessage(ChatColor.DARK_RED + "You must be a player to use that command!");
- }
- }
- return false;
- }
- @EventHandler
- public void onSupermanFlightStickSwitch(PlayerItemHeldEvent event) {
- int slot = event.getNewSlot();
- Player player = event.getPlayer();
- if (player.getInventory().getItem(slot) != null) {
- ItemStack held = player.getInventory().getItem(slot);
- if (held.equals(stick)) {
- player.sendMessage(ChatColor.BLUE + "You fell a sense of Strength!");
- if (!players.contains(player.getName())) {
- players.add(player.getName());
- }
- } else {
- players.remove(player.getName());
- }
- } else {
- players.remove(player.getName());
- }
- }
- @EventHandler
- public void onSupermanFlightWalk(PlayerMoveEvent event) {
- Player player = event.getPlayer();
- if (players.contains(player.getName())) {
- if (speed.get(player.getName()) != null) {
- double fast = speed.get(player.getName());
- if (fast > 0) {
- player.setVelocity(player.getLocation().getDirection().multiply(fast));
- player.playSound(player.getLocation(), Sound.ANVIL_USE, 1F, 1F);
- player.playEffect(player.getLocation(), Effect.EXTINGUISH, 1);
- } else {
- player.setVelocity(player.getLocation().getDirection().multiply(2.0));
- player.playSound(player.getLocation(), Sound.ANVIL_USE, 1F, 1F);
- player.playEffect(player.getLocation(), Effect.EXTINGUISH, 1);
- }
- } else {
- player.setVelocity(player.getLocation().getDirection().multiply(2.0));
- player.playSound(player.getLocation(), Sound.ANVIL_USE, 1F, 1F);
- player.playEffect(player.getLocation(), Effect.EXTINGUISH, 1);
- }
- }
- }
- @EventHandler
- public void onSupermanDamage(EntityDamageEvent event) {
- if (event.getEntity() instanceof Player) {
- Player player = (Player) event.getEntity();
- if (players.contains(player.getName())) {
- if (event.getCause() == DamageCause.FALL) {
- event.setCancelled(true);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment