package tv.mineinthebox.essentials.interfaces; import java.util.List; import org.bukkit.Location; import org.bukkit.block.Chest; import org.bukkit.entity.Item; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.scheduler.BukkitTask; import tv.mineinthebox.essentials.helpers.EffectType; import tv.mineinthebox.essentials.minigames.plugin.arena.MinigamePlayer; public interface XPlayer extends MinigamePlayer, XOfflinePlayer { /** * binds an command to an ItemStack * * @author xize * @param item - the item in hand * @param command - the command */ public void setPowerTool(ItemStack item, String command); /** * returns true if the player has set the powertool on the current item in hand * * @author xize * @return boolean */ public boolean hasPowerTool(); /** * returns the command which is binded on the item in hand * * @author xize * @return String */ public String getPowerTool(); /** * removes the powertool currently attached on hand * * @author xize */ public void removePowerTool(); /** * launches a nuke cloud of tnt on the player * * @author xize */ public void nuke(); /** * launches a fake nuke cloud of tnt on the player * * @author xize */ public void fakenuke(); /** * returns true if the player has an login task, otherwise false * * @author xize * @return boolean */ public boolean hasLoginTask(); /** * performs the login task * * @author xize */ public void performLoginTask(); /** * returns true if custom speed has been enabled, otherwise false * * @author xize * @return boolean */ public boolean isSpeedEnabled(); /** * sets the walk and fly speed * * @author xize * @param i - the speed */ public void setSpeed(int i); /** * removes the speed * * @author xize */ public void removeSpeed(); /** * returns true if the player is an staff member * * @author xize * @return boolean */ public boolean isStaff(); /** * returns true if the player is inside an boom event * * @author xize * @return boolean */ public boolean isBoom(); /** * launchers the player in the air without giving the player damage! * * @author xize */ public void setBoom(); /** * removes the boom ability from the player so the player can get damage again * * @author xize */ public void removeBoom(); /** * returns true if the player is potato cursed, otherwise false * * @author xize * @return boolean */ public boolean isPotato(); /** * removes the potato curse * * @author xize */ public void removePotato(); /** * potato curse the player * * @author xize * @param potato - the potato */ public void setPotato(Item potato); /** * returns the potato item * * @author xize * @return Item */ public Item getPotato(); /** * sets the ip of the player * * @author xize * @return boolean */ public boolean setIp(); /** * returns true if the player is fishing, otherwise false * * @author xize * @return boolean */ public boolean isFishing(); /** * returns true if the player afk, otherwise false * * @author xize * @return boolean */ public boolean isAfk(); /** * returns the afk reason * * @author xize * @return String */ public String getAfkReason(); /** * removes afk status from the player * * @author xize */ public void removeAfk(); /** * sets the player to afk * * @author xize * @param message - the message */ public void setAfk(String message); /** * returns true if the player is in fly mode * * @author xize * @return boolean */ public boolean isFlying(); /** * enables or disables fly mode * * @author xize * @param bol - the boolean */ public void setFlying(boolean bol); /** * returns true if the player is in torch mode * * @author xize * @return boolean */ public boolean isTorch(); /** * sets the torch mode of this player * * @author xize * @param bol - the boolean */ public void setTorch(boolean bol); /** * returns true if the player is in firefly mode, otherwise false * * @author xize * @return boolean */ public boolean isFirefly(); /** * sets the firefly mode of this player * * @author xize * @param bol - the boolean */ public void setFirefly(boolean bol); /** * sets the home of the player * * @author xize * @param home - the home name */ public void setHome(String home); /** * returns true if the player is vanished * * @author xize * @return boolean */ public boolean isVanished(); /** * vanishes the player * * @author xize */ public void vanish(); /** * unvanishes the player * * @author xize */ public void unvanish(); /** * unvanishes the player either silenced or unsilenced * * @author xize * @param silenced - whenever the unvanish state should be silenced or un-silenced */ public void unvanish(boolean silenced); /** * returns true the player has vanish effects on, otherwise false * * @author xize * @return boolean */ public boolean hasVanishEffects(); /** * sets the effect of vanish * * @author xize * @param bol - the boolean */ public void setVanishEffects(boolean bol); /** * returns true if no-pickup for vanished is enabled, otherwise false * * @author xize * @return boolean */ public boolean isNoPickUpEnabled(); /** * enables or disabled no-pickup for vanish * * @author xize * @param bol - the boolean */ public void setNoPickUp(boolean bol); /** * saves the surival inventory * * @author xize */ public void saveSurvivalInventory(); /** * saves the creative inventory * * @author xize */ public void saveCreativeInventory(); /** * returns true if the player has an saved survival inventory * * @author xize * @return boolean */ public boolean hasSurvivalInventory(); /** * returns true if the player has an saved creative inventory * * @author xize * @return boolean */ public boolean hasCreativeInventory(); /** * returns the survival inventory * * @author xize * @return ItemStack[] */ public ItemStack[] getSurvivalInventory(); /** * returns the survival inventory's armor contents * * @author xize * @return ItemStack[] */ public ItemStack[] getSurvivalArmorInventory(); /** * returns the creative inventory * * @author xize * @return ItemStack[] */ public ItemStack[] getCreativeInventory(); /** * returns the creative's armor contents * * @author xize * @return ItemStack[] */ public ItemStack[] getCreativeArmorInventory(); /** * saves the current inventory for offline usage * * @author xize */ public void saveOfflineInventory(); /** * returns the online Inventory of this player * * @author xize * @return Inventory */ @Override public Inventory getInventory(); /** * returns true if the player has a modreq done message, otherwise false * * @author xize * @return boolean */ public boolean hasModreqDoneMessage(); /** * returns the modreq done message * * @author xize * @return String */ public String getModreqDoneMessage(); /** * removes the modreq done message * * @author xize */ public void removeGetModregDoneMessage(); /** * create a modreq on this player * * @author xize * @param message - the modreq message */ public void createModreq(String message); /** * returns true if the inventory should be cleared on relog * * @author xize * @return boolean */ public boolean isInventoryClearanceOnRelog(); /** * returns true if the player has an compass target set * * @author xize * @return boolean */ public boolean hasCompass(); /** * returns the player of this compass * * @author xize * @return XOfflinePlayer */ public XOfflinePlayer getCompass(); /** * sets the compass to an player * * @author xize * @param p - the player */ public void setCompass(Player p); /** * sets the compass to an player * * @author xize * @param p - the players name */ public void setCompass(String p); /** * removes the compass * * @author xize */ public void removeCompass(); /** * true to silence the players chat, false to enable chat * * @author xize * @param bol - the boolean */ public void setSilenced(boolean bol); /** * returns true if the player has silenced his chat, otherwise false * * @author xize * @return boolean */ public boolean isSilenced(); /** * adds the player to the ignore list * * @author xize * @param s - the player */ public void addIgnoredPlayer(String s); /** * returns a list of ignored players by this player * * @author xize * @return List<String> */ public List<String> getIgnoredPlayers(); /** * returns true if this player has ignored players * * @author xize * @return boolean */ public boolean hasIgnoredPlayers(); /** * removes a ignored player * * @author xize * @param s - the player */ public void removeIgnoredPlayer(String s); /** * returns true if the players movements are frozen, otherwise false * * @author xize * @return boolean */ public boolean isFreezed(); /** * sets the freeze mode of this player * * @author xize * @param bol - true to freeze, false to unfreeze */ public void setFreezed(boolean bol); /** * returns true when this player has trollmode activated * * @author xize * @return boolean */ public boolean isTrollMode(); /** * sets the trollmode on this player * * @author xize * @param bol - true to enable trollmode, false to disable */ public void setTrollMode(boolean bol); /** * sets the kit's cooldown time * * @author xize * @param cooldown - the cooldown time */ public void setKitCooldown(Long cooldown); /** * removes the kit cooldown on the player * * @author xize */ public void removeKitCoolDown(); /** * returns the kit cooldown * * @author xize * @return Long */ public Long getKitCooldown(); /** * returns true if the player has an kit cooldown * * @author xize * @return boolean */ public boolean hasKitCooldown(); /** * sets the oldname inside the history * * @author xize * @param oldName - the oldname */ public void setNameHistory(String oldName); /** * sets the proc mode of this player * * @author xize * @param bol - true to enable proc, false to disable proc */ public void setProc(boolean bol); /** * returns true if the player has proc set * * @author xize * @return boolean */ public boolean hasProc(); /** * sets the nickname of this player * * @author xize * @param name - the new custom name */ public void setCustomName(String name); /** * returns true if the player has an custom nickname * * @author xize * @return boolean */ public boolean hasCustomName(); /** * returns the nickname/custom name of this player * * @author xize * @return String */ public String getCustomName(); /** * saves the last location of the player * * @author xize */ public void saveLastLocation(); /** * returns the location of online player * * @author xize */ public Location getLocation(); /** * returns true if the player has no knock back enabled * * @author xize * @return boolean */ public boolean isKnock(); /** * sets no knock back mode to this player * * @author xize * @param bol - true to enable knock, false to disable */ public void setKnock(boolean bol); /** * allows a player to sit on a chair * * @author xize * @param bol - true when a player sits, false to not let him sit */ public void setInChair(boolean bol); /** * returns true if the player sit inside a chair, otherwise false * * @author xize * @return boolean */ public boolean isInChair(); /** * sets the state of doublejump * * @author xize * @param bol - true to enable double jump false to disable */ public void setDoubleJump(boolean bol); /** * returns true if the player has double jump enabled, otherwise false * * @author xize * @return boolean */ public boolean hasDoubleJump(); /** * returns true if spectate is enabled, otherwise false * * @author xize * @return boolean */ public boolean isSpectate(); /** * stops spectator mode of this player * * @author xize */ public void stopSpectate(); /** * enabled spectate mode on this player * * @author xize * @param pa - the player who gets spected by this player */ public void spectate(final Player pa); /** * returns true if sign edit is enabled, otherwise false * * @author xize * @return boolean */ public boolean isEditSignEnabled(); /** * sets the signedit state * * @author xize * @param bol - true to enabled sign edit mode, false to disable */ public void setEditSign(boolean bol); /** * returns true if the player has drunk chat enabled, otherwise false * * @author xize * @return boolean */ public boolean isDrunk(); /** * sets the drunk chat * * @author xize * @param bol - true to enable drunk chat, false to disable */ public void setDrunk(boolean bol); /** * returns a converted drunk message in return * * @author xize * @param message - the message * @param bol - toggle key space * @return String */ public String getDrunkMessageFrom(String message, boolean bol); /** * returns true if floor mode is enabled, otherwise false * * @author xize * @return boolean */ public boolean isFloorMode(); /** * enables or disables floor mode on this player * * @author xize * @param bol - true to enable floormode, false to disable * @param range - the range */ public void setFloorMode(boolean bol, int range); /** * returns the floor mode range * * @author xize * @return int */ public int getFloorModeRange(); /** * returns true if player is in wallmode, otherwise false * * @author xize * @return boolean */ public boolean isWallMode(); /** * enables or disables the wall mode * * @author xize * @param bol - true to enable wall mode, false to disable wallmode * @param range - the range */ public void setWallMode(boolean bol, int range); /** * returns the wall mode range * * @author xize * @return int */ public int getWallModeRange(); /** * sets the shop based on location * * @author xize * @param loc - the location * @param chest - the chest */ public void setShop(Location loc, Chest chest); /** * sets the warning level of pwnage spam * * @author xize * @param level - the warning level */ public void setPwnageLevel(int level); /** * returns true if this player has pwnage warnings * * @author xize * @return boolean */ public boolean hasPwnageLevel(); /** * returns anti pwnage warning level * * @author xize * @return int */ public int getPwnageLevel(); /** * sets the anti-pwnage scheduler * * @author xize * @param task - the task */ public void setPwnageScheduler(BukkitTask task); /** * returns last login time of this player * * @author xize * @return Long */ public long getLastLoginTime(); /** * sets the last login time * * @author xize * @param time - the time */ public void setLastLoginTime(long time); /** * returns true if the player has last login data, otherwise false * * @author xize * @return boolean */ public boolean hasLastLoginTime(); /** * sends an themed message to the player * * @author xize * @param prefix - the prefix * @param message - the message */ @Override public void sendMessage(String prefix, String message); /** * returns true if the player has messages from the message pool * * @author xize * @return boolean */ public boolean hasMessages(); /** * returns messages from the offline message pool * * @author xize * @return List<String> */ public List<String> getMessages(); /** * returns true if the player has effects, otherwise false * * @author xize * @return boolean */ public boolean hasEffects(); /** * sets the effect of the player * * @author xize * @param effect - the effects, null to disable the scheduler */ public void setEffect(EffectType effect); }