Code:java package me.pogostick29.vanish; import java.util.ArrayList; import org.bukkit.Bukkit;import org.bukkit.ChatColor;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.player.PlayerJoinEvent;import org.bukkit.event.player.PlayerQuitEvent;import org.bukkit.plugin.java.JavaPlugin; public class vanish extends JavaPlugin implements Listener { public void onEnable() {Bukkit.getServer().getPluginManager().registerEvents(this, this);} private ArrayList<Player> vanished = new ArrayList<Player>(); public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) { if (!(sender instanceof Player)) {sender.sendMessage(ChatColor.RED + "You cannot vanish!");return true;} Player p = (Player) sender; if (cmd.getName().equalsIgnoreCase("vanish")) {// Check perms if (!vanished.contains(p)) {for (Player pl : Bukkit.getServer().getOnlinePlayers()) {pl.hidePlayer(p);}vanished.add(p);p.sendMessage(ChatColor.GREEN + "You have been vanished!");return true;}else {for (Player pl : Bukkit.getServer().getOnlinePlayers()) {pl.showPlayer(p);}vanished.remove(p);p.sendMessage(ChatColor.GREEN + "You have been unvanished!");return true;}}return true;} @EventHandlerpublic void onPlayerJoin(PlayerJoinEvent e) {for (Player p : vanished) {e.getPlayer().hidePlayer(p);}} @EventHandlerpublic void onPlayerLeave(PlayerQuitEvent e) {vanished.remove(e.getPlayer());}} How would I make it so that when the user is vanished, they cannot pick up items?
Code:java if (ply.hasPotionEffect(PotionEffectType.INVISIBILITY)) { ply.setCanPickupItems(false); } Super simple. Replace "ply" with you player instance. Simple as that.
draypvp if(vanished.contains(player.getName()) { player.setCanPickupItems(false); } Use string ArrayLists unless you know how to handle Player ArrayLists. I suggest String ones as they are far more easier to work with.