Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.colt.togglefall;
- import java.util.ArrayList;
- import java.util.List;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.World;
- 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.PlayerQuitEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- public class ToggleFall extends JavaPlugin implements Listener {
- ArrayList<String> activePlayers;
- List<String> worlds;
- @Override
- public void onEnable() {
- Bukkit.getServer().getPluginManager().registerEvents(this, this);
- activePlayers = new ArrayList<String>();
- worlds = getConfig().getStringList("worlds");
- saveDefaultConfig();
- }
- @Override
- public void onDisable() {
- activePlayers.clear();
- }
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if (cmd.getName().equalsIgnoreCase("togglefall") || (cmd.getName().equalsIgnoreCase("tf"))) {
- if(sender instanceof Player) {
- Player player = (Player)sender;
- if(player.hasPermission("nofall.use")) {
- if(activePlayers.contains(player.getName())) {
- activePlayers.remove(player.getName());
- player.sendMessage(ChatColor.GOLD + "Fall Damage now enabled" + ChatColor.RED + "(You will take fall damage)");
- } else {
- activePlayers.add(player.getName());
- player.sendMessage(ChatColor.GOLD + "Fall Damage now disabled" + ChatColor.GREEN + "(You will not take fall damage)");
- }
- return true;
- }
- }
- }
- return false;
- }
- @EventHandler
- public void playerQuit(PlayerQuitEvent event) {
- if(activePlayers.contains(event.getPlayer().getName())) {
- activePlayers.remove(event.getPlayer().getName());
- }
- }
- @EventHandler
- public void onEntityDamage(EntityDamageEvent event) {
- if (event.getEntity() instanceof Player) {
- Player player = (Player)event.getEntity();
- if(activePlayers.contains(player.getName()) && event.getCause() == EntityDamageEvent.DamageCause.FALL && player.hasPermission("nofall.use")) {
- for(String w : worlds) {
- World world = Bukkit.getWorld(w);
- if(player.getWorld() == world) {
- event.setCancelled(true);
- break;
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement