Java Code Examples for org.bukkit.entity.Player#setExhaustion()
The following examples show how to use
org.bukkit.entity.Player#setExhaustion() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: PlayerDeathListener.java From PerWorldInventory with GNU General Public License v3.0 | 8 votes |
@EventHandler(priority = EventPriority.MONITOR) public void onPlayerDeath(PlayerDeathEvent event) { Player player = event.getEntity(); Group group = groupManager.getGroupFromWorld(player.getLocation().getWorld().getName()); if (!event.getKeepInventory()) { player.getInventory().clear(); } if (!event.getKeepLevel()) { player.setExp(event.getNewExp()); player.setLevel(event.getNewLevel()); } player.setFoodLevel(20); player.setSaturation(5f); player.setExhaustion(0f); player.setFallDistance(0f); player.setFireTicks(0); for (PotionEffect effect : player.getActivePotionEffects()) { player.removePotionEffect(effect.getType()); } playerManager.addPlayer(player, group); }
Example 2
Source File: PlayerDeathListener.java From PerWorldInventory with GNU General Public License v3.0 | 7 votes |
@EventHandler(priority = EventPriority.MONITOR) public void onPlayerDeath(PlayerDeathEvent event) { Player player = event.getEntity(); Group group = groupManager.getGroupFromWorld(player.getLocation().getWorld().getName()); if (!event.getKeepInventory()) { player.getInventory().clear(); } if (!event.getKeepLevel()) { player.setExp(event.getNewExp()); player.setLevel(event.getNewLevel()); } player.setFoodLevel(20); player.setSaturation(5f); player.setExhaustion(0f); player.setFallDistance(0f); player.setFireTicks(0); for (PotionEffect effect : player.getActivePotionEffects()) { player.removePotionEffect(effect.getType()); } playerManager.addPlayer(player, group); }
Example 3
Source File: PlayersManager.java From UhcCore with GNU General Public License v3.0 | 6 votes |
public void setPlayerWaitsAtLobby(UhcPlayer uhcPlayer){ uhcPlayer.setState(PlayerState.WAITING); GameManager gm = GameManager.getGameManager(); Player player; try { player = uhcPlayer.getPlayer(); player.teleport(gm.getLobby().getLoc()); clearPlayerInventory(player); player.setGameMode(GameMode.ADVENTURE); player.addPotionEffect(new PotionEffect(PotionEffectType.SATURATION, 99999999, 0), false); player.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, 99999999, 0), false); player.setHealth(20); player.setExhaustion(20); player.setFoodLevel(20); player.setExp(0); UhcItems.giveLobbyItemsTo(player); } catch (UhcPlayerNotOnlineException e) { // Do nothing beacause WAITING is a safe state } }
Example 4
Source File: MatchPlayer.java From ProjectAres with GNU Affero General Public License v3.0 | 5 votes |
public void reset() { final Player bukkit = getBukkit(); bukkit.closeInventory(); clearInventory(); bukkit.setExhaustion(0); bukkit.setFallDistance(0); bukkit.setFireTicks(0); bukkit.setFoodLevel(20); // full bukkit.setMaxHealth(20); bukkit.setHealth(bukkit.getMaxHealth()); bukkit.setAbsorption(0); bukkit.setLevel(0); bukkit.setExp(0); // clear xp bukkit.setSaturation(5); // default bukkit.setFastNaturalRegeneration(false); bukkit.setSlowNaturalRegeneration(true); bukkit.setAllowFlight(false); bukkit.setFlying(false); bukkit.setSneaking(false); bukkit.setSprinting(false); bukkit.setFlySpeed(0.1f); bukkit.setKnockbackReduction(0); bukkit.setWalkSpeed(WalkSpeedKit.BUKKIT_DEFAULT); AttributeUtils.removeAllModifiers(bukkit); resetPotions(); // we only reset bed spawn here so people don't have to see annoying messages when they respawn bukkit.setBedSpawnLocation(null); match.callEvent(new PlayerResetEvent(this)); }
Example 5
Source File: FullHungerAction.java From UHC with MIT License | 5 votes |
@Override protected void run(Player player) { // store old values level = player.getFoodLevel(); saturation = player.getSaturation(); exhaustion = player.getExhaustion(); // max out values player.setFoodLevel(FULL_FOOD_LEVEL); player.setSaturation(FULL_SATURATION_LEVEL); player.setExhaustion(FULL_EXHAUSTION_LEVEL); }
Example 6
Source File: DieObjective.java From BetonQuest with GNU General Public License v3.0 | 5 votes |
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onLastDamage(EntityDamageEvent event) { if (!cancel) { return; } if (event.getEntity() instanceof Player) { final Player player = (Player) event.getEntity(); final String playerID = PlayerConverter.getID(player); if (containsPlayer(playerID) && player.getHealth() - event.getFinalDamage() <= 0 && checkConditions(playerID)) { event.setCancelled(true); player.setHealth(player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue()); player.setFoodLevel(20); player.setExhaustion(4); player.setSaturation(20); for (PotionEffect effect : player.getActivePotionEffects()) { player.removePotionEffect(effect.getType()); } if (location != null) { try { player.teleport(location.getLocation(playerID)); } catch (QuestRuntimeException e) { LogUtils.getLogger().log(Level.SEVERE, "Couldn't execute onLastDamage in DieObjective"); LogUtils.logThrowable(e); } } new BukkitRunnable() { @Override public void run() { player.setFireTicks(0); } }.runTaskLater(BetonQuest.getInstance(), 1); completeObjective(playerID); } } }
Example 7
Source File: MatchPlayerImpl.java From PGM with GNU Affero General Public License v3.0 | 4 votes |
@Override public void reset() { getMatch().callEvent(new PlayerResetEvent(this)); setFrozen(false); Player bukkit = getBukkit(); bukkit.closeInventory(); resetInventory(); bukkit.setArrowsStuck(0); bukkit.setExhaustion(0); bukkit.setFallDistance(0); bukkit.setFireTicks(0); bukkit.setFoodLevel(20); // full bukkit.setHealth(bukkit.getMaxHealth()); bukkit.setLevel(0); bukkit.setExp(0); // clear xp bukkit.setSaturation(5); // default bukkit.setAllowFlight(false); bukkit.setFlying(false); bukkit.setSneaking(false); bukkit.setSprinting(false); bukkit.setFlySpeed(0.1f); bukkit.setKnockbackReduction(0); bukkit.setWalkSpeed(WalkSpeedKit.BUKKIT_DEFAULT); for (PotionEffect effect : bukkit.getActivePotionEffects()) { if (effect.getType() != null) { bukkit.removePotionEffect(effect.getType()); } } for (Attribute attribute : ATTRIBUTES) { AttributeInstance attributes = bukkit.getAttribute(attribute); if (attributes == null) continue; for (AttributeModifier modifier : attributes.getModifiers()) { attributes.removeModifier(modifier); } } NMSHacks.setAbsorption(bukkit, 0); // we only reset bed spawn here so people don't have to see annoying messages when they respawn bukkit.setBedSpawnLocation(null); }
Example 8
Source File: PWIPlayerManager.java From PerWorldInventory with GNU General Public License v3.0 | 4 votes |
/** * Get a player from the cache, and apply the cached inventories and stats * to the actual player. If no matching player is found in the cache, nothing * happens and this method simply returns. * * @param group The {@link Group} the cached player was in. * @param gamemode The GameMode the cached player was in. * @param player The current actual player to apply the data to. * @param cause What triggered the inventory switch; passed on for post-processing. */ private void getDataFromCache(Group group, GameMode gamemode, Player player, DeserializeCause cause) { PWIPlayer cachedPlayer = getCachedPlayer(group, gamemode, player.getUniqueId()); if (cachedPlayer == null) { ConsoleLogger.debug("No data for player '" + player.getName() + "' found in cache"); return; } ConsoleLogger.debug("Player '" + player.getName() + "' found in cache! Setting their data"); if (settings.getProperty(PwiProperties.LOAD_ENDER_CHESTS)) player.getEnderChest().setContents(cachedPlayer.getEnderChest()); if (settings.getProperty(PwiProperties.LOAD_INVENTORY)) { player.getInventory().setContents(cachedPlayer.getInventory()); player.getInventory().setArmorContents(cachedPlayer.getArmor()); } if (settings.getProperty(PwiProperties.LOAD_CAN_FLY)) player.setAllowFlight(cachedPlayer.getCanFly()); if (settings.getProperty(PwiProperties.LOAD_DISPLAY_NAME)) player.setDisplayName(cachedPlayer.getDisplayName()); if (settings.getProperty(PwiProperties.LOAD_EXHAUSTION)) player.setExhaustion(cachedPlayer.getExhaustion()); if (settings.getProperty(PwiProperties.LOAD_EXP)) player.setExp(cachedPlayer.getExperience()); if (settings.getProperty(PwiProperties.LOAD_FLYING) && player.getAllowFlight()) player.setFlying(cachedPlayer.isFlying()); if (settings.getProperty(PwiProperties.LOAD_HUNGER)) player.setFoodLevel(cachedPlayer.getFoodLevel()); if (settings.getProperty(PwiProperties.LOAD_HEALTH)) { if (bukkitService.shouldUseAttributes()) { player.getAttribute(Attribute.GENERIC_MAX_HEALTH).setBaseValue(cachedPlayer.getMaxHealth()); } else { player.setMaxHealth(cachedPlayer.getMaxHealth()); } if (cachedPlayer.getHealth() > 0 && cachedPlayer.getHealth() <= cachedPlayer.getMaxHealth()) { player.setHealth(cachedPlayer.getHealth()); } else { player.setHealth(cachedPlayer.getMaxHealth()); } } if (settings.getProperty(PwiProperties.LOAD_GAMEMODE) && (!settings.getProperty(PwiProperties.SEPARATE_GAMEMODE_INVENTORIES))) player.setGameMode(cachedPlayer.getGamemode()); if (settings.getProperty(PwiProperties.LOAD_LEVEL)) player.setLevel(cachedPlayer.getLevel()); if (settings.getProperty(PwiProperties.LOAD_POTION_EFFECTS)) { for (PotionEffect effect : player.getActivePotionEffects()) { player.removePotionEffect(effect.getType()); } player.addPotionEffects(cachedPlayer.getPotionEffects()); } if (settings.getProperty(PwiProperties.LOAD_SATURATION)) player.setSaturation(cachedPlayer.getSaturationLevel()); if (settings.getProperty(PwiProperties.LOAD_FALL_DISTANCE)) player.setFallDistance(cachedPlayer.getFallDistance()); if (settings.getProperty(PwiProperties.LOAD_FIRE_TICKS)) player.setFireTicks(cachedPlayer.getFireTicks()); if (settings.getProperty(PwiProperties.LOAD_MAX_AIR)) player.setMaximumAir(cachedPlayer.getMaxAir()); if (settings.getProperty(PwiProperties.LOAD_REMAINING_AIR)) player.setRemainingAir(cachedPlayer.getRemainingAir()); if (settings.getProperty(PwiProperties.USE_ECONOMY)) { Economy econ = plugin.getEconomy(); if (econ == null) { ConsoleLogger.warning("Economy saving is turned on, but no economy found!"); return; } EconomyResponse er = econ.withdrawPlayer(player, econ.getBalance(player)); if (er.transactionSuccess()) { econ.depositPlayer(player, cachedPlayer.getBalance()); } else { ConsoleLogger.warning("[ECON] Unable to withdraw currency from '" + player.getName() + "': " + er.errorMessage); } EconomyResponse bankER = econ.bankWithdraw(player.getName(), econ.bankBalance(player.getName()).amount); if (bankER.transactionSuccess()) { econ.bankDeposit(player.getName(), cachedPlayer.getBankBalance()); } else { ConsoleLogger.warning("[ECON] Unable to withdraw currency from bank of '" + player.getName() + "': " + er.errorMessage); } } InventoryLoadCompleteEvent event = new InventoryLoadCompleteEvent(player, cause); Bukkit.getPluginManager().callEvent(event); }
Example 9
Source File: StatSerializer.java From PerWorldInventory with GNU General Public License v3.0 | 4 votes |
/** * Apply stats to a player. * * @param player The Player to apply the stats to. * @param stats The stats to apply. * @param dataFormat See {@link PlayerSerializer#serialize(PWIPlayer)}. */ public void deserialize(Player player,JsonObject stats, int dataFormat) { if (settings.getProperty(PwiProperties.LOAD_CAN_FLY) && stats.has("can-fly")) player.setAllowFlight(stats.get("can-fly").getAsBoolean()); if (settings.getProperty(PwiProperties.LOAD_DISPLAY_NAME) && stats.has("display-name")) player.setDisplayName(stats.get("display-name").getAsString()); if (settings.getProperty(PwiProperties.LOAD_EXHAUSTION) && stats.has("exhaustion")) player.setExhaustion((float) stats.get("exhaustion").getAsDouble()); if (settings.getProperty(PwiProperties.LOAD_EXP) && stats.has("exp")) player.setExp((float) stats.get("exp").getAsDouble()); if (settings.getProperty(PwiProperties.LOAD_FLYING) && stats.has("flying") && player.getAllowFlight()) player.setFlying(stats.get("flying").getAsBoolean()); if (settings.getProperty(PwiProperties.LOAD_HUNGER) && stats.has("food")) player.setFoodLevel(stats.get("food").getAsInt()); if (settings.getProperty(PwiProperties.LOAD_HEALTH) && stats.has("max-health") && stats.has("health")) { double maxHealth = stats.get("max-health").getAsDouble(); if (bukkitService.shouldUseAttributes()) { player.getAttribute(Attribute.GENERIC_MAX_HEALTH).setBaseValue(maxHealth); } else { player.setMaxHealth(maxHealth); } double health = stats.get("health").getAsDouble(); if (health > 0 && health <= maxHealth) { player.setHealth(health); } else { player.setHealth(maxHealth); } } if (settings.getProperty(PwiProperties.LOAD_GAMEMODE) && (!settings.getProperty(PwiProperties.SEPARATE_GAMEMODE_INVENTORIES)) && stats.has("gamemode")) { if (stats.get("gamemode").getAsString().length() > 1) { player.setGameMode(GameMode.valueOf(stats.get("gamemode").getAsString())); } else { int gm = stats.get("gamemode").getAsInt(); switch (gm) { case 0: player.setGameMode(GameMode.CREATIVE); break; case 1: player.setGameMode(GameMode.SURVIVAL); break; case 2: player.setGameMode(GameMode.ADVENTURE); break; case 3: player.setGameMode(GameMode.SPECTATOR); break; } } } if (settings.getProperty(PwiProperties.LOAD_LEVEL) && stats.has("level")) player.setLevel(stats.get("level").getAsInt()); if (settings.getProperty(PwiProperties.LOAD_POTION_EFFECTS) && stats.has("potion-effects")) { if (dataFormat < 2) { PotionEffectSerializer.setPotionEffects(stats.get("potion-effects").getAsString(), player); } else { PotionEffectSerializer.setPotionEffects(stats.getAsJsonArray("potion-effects"), player); } } if (settings.getProperty(PwiProperties.LOAD_SATURATION) && stats.has("saturation")) player.setSaturation((float) stats.get("saturation").getAsDouble()); if (settings.getProperty(PwiProperties.LOAD_FALL_DISTANCE) && stats.has("fallDistance")) player.setFallDistance(stats.get("fallDistance").getAsFloat()); if (settings.getProperty(PwiProperties.LOAD_FIRE_TICKS) && stats.has("fireTicks")) player.setFireTicks(stats.get("fireTicks").getAsInt()); if (settings.getProperty(PwiProperties.LOAD_MAX_AIR) && stats.has("maxAir")) player.setMaximumAir(stats.get("maxAir").getAsInt()); if (settings.getProperty(PwiProperties.LOAD_REMAINING_AIR) && stats.has("remainingAir")) player.setRemainingAir(stats.get("remainingAir").getAsInt()); }
Example 10
Source File: FullHungerAction.java From UHC with MIT License | 4 votes |
@Override protected void revert(Player player) { player.setFoodLevel(level); player.setSaturation(saturation); player.setExhaustion(exhaustion); }
Example 11
Source File: PWIPlayerManager.java From PerWorldInventory with GNU General Public License v3.0 | 4 votes |
/** * Get a player from the cache, and apply the cached inventories and stats * to the actual player. If no matching player is found in the cache, nothing * happens and this method simply returns. * * @param group The {@link Group} the cached player was in. * @param gamemode The GameMode the cached player was in. * @param player The current actual player to apply the data to. * @param cause What triggered the inventory switch; passed on for post-processing. */ private void getDataFromCache(Group group, GameMode gamemode, Player player, DeserializeCause cause) { PWIPlayer cachedPlayer = getCachedPlayer(group, gamemode, player.getUniqueId()); if (cachedPlayer == null) { ConsoleLogger.debug("No data for player '" + player.getName() + "' found in cache"); return; } ConsoleLogger.debug("Player '" + player.getName() + "' found in cache! Setting their data"); if (settings.getProperty(PwiProperties.LOAD_ENDER_CHESTS)) player.getEnderChest().setContents(cachedPlayer.getEnderChest()); if (settings.getProperty(PwiProperties.LOAD_INVENTORY)) { player.getInventory().setContents(cachedPlayer.getInventory()); player.getInventory().setArmorContents(cachedPlayer.getArmor()); } if (settings.getProperty(PwiProperties.LOAD_CAN_FLY)) player.setAllowFlight(cachedPlayer.getCanFly()); if (settings.getProperty(PwiProperties.LOAD_DISPLAY_NAME)) player.setDisplayName(cachedPlayer.getDisplayName()); if (settings.getProperty(PwiProperties.LOAD_EXHAUSTION)) player.setExhaustion(cachedPlayer.getExhaustion()); if (settings.getProperty(PwiProperties.LOAD_EXP)) player.setExp(cachedPlayer.getExperience()); if (settings.getProperty(PwiProperties.LOAD_FLYING) && player.getAllowFlight()) player.setFlying(cachedPlayer.isFlying()); if (settings.getProperty(PwiProperties.LOAD_HUNGER)) player.setFoodLevel(cachedPlayer.getFoodLevel()); if (settings.getProperty(PwiProperties.LOAD_HEALTH)) { if (bukkitService.shouldUseAttributes()) { player.getAttribute(Attribute.GENERIC_MAX_HEALTH).setBaseValue(cachedPlayer.getMaxHealth()); } else { player.setMaxHealth(cachedPlayer.getMaxHealth()); } if (cachedPlayer.getHealth() > 0 && cachedPlayer.getHealth() <= cachedPlayer.getMaxHealth()) { player.setHealth(cachedPlayer.getHealth()); } else { player.setHealth(cachedPlayer.getMaxHealth()); } } if (settings.getProperty(PwiProperties.LOAD_GAMEMODE) && (!settings.getProperty(PwiProperties.SEPARATE_GAMEMODE_INVENTORIES))) player.setGameMode(cachedPlayer.getGamemode()); if (settings.getProperty(PwiProperties.LOAD_LEVEL)) player.setLevel(cachedPlayer.getLevel()); if (settings.getProperty(PwiProperties.LOAD_POTION_EFFECTS)) { for (PotionEffect effect : player.getActivePotionEffects()) { player.removePotionEffect(effect.getType()); } player.addPotionEffects(cachedPlayer.getPotionEffects()); } if (settings.getProperty(PwiProperties.LOAD_SATURATION)) player.setSaturation(cachedPlayer.getSaturationLevel()); if (settings.getProperty(PwiProperties.LOAD_FALL_DISTANCE)) player.setFallDistance(cachedPlayer.getFallDistance()); if (settings.getProperty(PwiProperties.LOAD_FIRE_TICKS)) player.setFireTicks(cachedPlayer.getFireTicks()); if (settings.getProperty(PwiProperties.LOAD_MAX_AIR)) player.setMaximumAir(cachedPlayer.getMaxAir()); if (settings.getProperty(PwiProperties.LOAD_REMAINING_AIR)) player.setRemainingAir(cachedPlayer.getRemainingAir()); if (settings.getProperty(PwiProperties.USE_ECONOMY)) { Economy econ = plugin.getEconomy(); if (econ == null) { ConsoleLogger.warning("Economy saving is turned on, but no economy found!"); return; } EconomyResponse er = econ.withdrawPlayer(player, econ.getBalance(player)); if (er.transactionSuccess()) { econ.depositPlayer(player, cachedPlayer.getBalance()); } else { ConsoleLogger.warning("[ECON] Unable to withdraw currency from '" + player.getName() + "': " + er.errorMessage); } EconomyResponse bankER = econ.bankWithdraw(player.getName(), econ.bankBalance(player.getName()).amount); if (bankER.transactionSuccess()) { econ.bankDeposit(player.getName(), cachedPlayer.getBankBalance()); } else { ConsoleLogger.warning("[ECON] Unable to withdraw currency from bank of '" + player.getName() + "': " + er.errorMessage); } } InventoryLoadCompleteEvent event = new InventoryLoadCompleteEvent(player, cause); Bukkit.getPluginManager().callEvent(event); }
Example 12
Source File: StatSerializer.java From PerWorldInventory with GNU General Public License v3.0 | 4 votes |
/** * Apply stats to a player. * * @param player The Player to apply the stats to. * @param stats The stats to apply. * @param dataFormat See {@link PlayerSerializer#serialize(PWIPlayer)}. */ public void deserialize(Player player,JsonObject stats, int dataFormat) { if (settings.getProperty(PwiProperties.LOAD_CAN_FLY) && stats.has("can-fly")) player.setAllowFlight(stats.get("can-fly").getAsBoolean()); if (settings.getProperty(PwiProperties.LOAD_DISPLAY_NAME) && stats.has("display-name")) player.setDisplayName(stats.get("display-name").getAsString()); if (settings.getProperty(PwiProperties.LOAD_EXHAUSTION) && stats.has("exhaustion")) player.setExhaustion((float) stats.get("exhaustion").getAsDouble()); if (settings.getProperty(PwiProperties.LOAD_EXP) && stats.has("exp")) player.setExp((float) stats.get("exp").getAsDouble()); if (settings.getProperty(PwiProperties.LOAD_FLYING) && stats.has("flying") && player.getAllowFlight()) player.setFlying(stats.get("flying").getAsBoolean()); if (settings.getProperty(PwiProperties.LOAD_HUNGER) && stats.has("food")) player.setFoodLevel(stats.get("food").getAsInt()); if (settings.getProperty(PwiProperties.LOAD_HEALTH) && stats.has("max-health") && stats.has("health")) { double maxHealth = stats.get("max-health").getAsDouble(); if (bukkitService.shouldUseAttributes()) { player.getAttribute(Attribute.GENERIC_MAX_HEALTH).setBaseValue(maxHealth); } else { player.setMaxHealth(maxHealth); } double health = stats.get("health").getAsDouble(); if (health > 0 && health <= maxHealth) { player.setHealth(health); } else { player.setHealth(maxHealth); } } if (settings.getProperty(PwiProperties.LOAD_GAMEMODE) && (!settings.getProperty(PwiProperties.SEPARATE_GAMEMODE_INVENTORIES)) && stats.has("gamemode")) { if (stats.get("gamemode").getAsString().length() > 1) { player.setGameMode(GameMode.valueOf(stats.get("gamemode").getAsString())); } else { int gm = stats.get("gamemode").getAsInt(); switch (gm) { case 0: player.setGameMode(GameMode.CREATIVE); break; case 1: player.setGameMode(GameMode.SURVIVAL); break; case 2: player.setGameMode(GameMode.ADVENTURE); break; case 3: player.setGameMode(GameMode.SPECTATOR); break; } } } if (settings.getProperty(PwiProperties.LOAD_LEVEL) && stats.has("level")) player.setLevel(stats.get("level").getAsInt()); if (settings.getProperty(PwiProperties.LOAD_POTION_EFFECTS) && stats.has("potion-effects")) { if (dataFormat < 2) { PotionEffectSerializer.setPotionEffects(stats.get("potion-effects").getAsString(), player); } else { PotionEffectSerializer.setPotionEffects(stats.getAsJsonArray("potion-effects"), player); } } if (settings.getProperty(PwiProperties.LOAD_SATURATION) && stats.has("saturation")) player.setSaturation((float) stats.get("saturation").getAsDouble()); if (settings.getProperty(PwiProperties.LOAD_FALL_DISTANCE) && stats.has("fallDistance")) player.setFallDistance(stats.get("fallDistance").getAsFloat()); if (settings.getProperty(PwiProperties.LOAD_FIRE_TICKS) && stats.has("fireTicks")) player.setFireTicks(stats.get("fireTicks").getAsInt()); if (settings.getProperty(PwiProperties.LOAD_MAX_AIR) && stats.has("maxAir")) player.setMaximumAir(stats.get("maxAir").getAsInt()); if (settings.getProperty(PwiProperties.LOAD_REMAINING_AIR) && stats.has("remainingAir")) player.setRemainingAir(stats.get("remainingAir").getAsInt()); }
Example 13
Source File: PlayerStateHolder.java From HeavySpleef with GNU General Public License v3.0 | 4 votes |
public void apply(Player player, boolean teleport) { PlayerInventory playerInv = player.getInventory(); boolean is1_9 = MinecraftVersion.getImplementationVersion().compareTo(MinecraftVersion.V1_9) >= 0; boolean isSimpleSize = playerInv.getContents().length <= SIMPLE_INVENTORY_SIZE; ItemStack[] inventoryContents = new ItemStack[is1_9 && !isSimpleSize ? playerInv.getSize() : SIMPLE_INVENTORY_SIZE]; System.arraycopy(inventory, 0, inventoryContents, 0, inventoryContents.length); if (!is1_9 || isSimpleSize) { ItemStack[] armorContents = new ItemStack[ARMOR_INVENTORY_SIZE]; System.arraycopy(inventory, inventory.length - ARMOR_INVENTORY_SIZE, armorContents, 0, armorContents.length); playerInv.setArmorContents(armorContents); } playerInv.setContents(inventoryContents); player.setItemOnCursor(null); Map<Integer, ItemStack> exceeded = playerInv.addItem(onCursor); for (ItemStack stack : exceeded.values()) { if (stack.getType() == Material.AIR) { continue; } player.getWorld().dropItem(player.getLocation(), stack); } player.updateInventory(); player.setMaxHealth(maxHealth); player.setHealth(health); player.setFoodLevel(foodLevel); player.setLevel(level); player.setExp(experience); player.setAllowFlight(allowFlight); player.setFlying(isFlying); /* Remove current potion effects */ Collection<PotionEffect> effects = player.getActivePotionEffects(); for (PotionEffect effect : effects) { player.removePotionEffect(effect.getType()); } player.addPotionEffects(activeEffects); player.setExhaustion(exhaustion); player.setSaturation(saturation); player.setFallDistance(fallDistance); player.setFireTicks(fireTicks); if (scoreboard != player.getScoreboard()) { Scoreboard showBoard = scoreboard; if (scoreboard == null) { showBoard = Bukkit.getScoreboardManager().getMainScoreboard(); } player.setScoreboard(showBoard); } if (teleport) { player.teleport(location); } Location compassTarget = this.compassTarget; if (compassTarget == null) { compassTarget = player.getWorld().getSpawnLocation(); } player.setCompassTarget(compassTarget); for (WeakReference<Player> ref : cantSee) { Player cantSeePlayer = ref.get(); if (cantSeePlayer == null) { // Player object has been garbage-collected continue; } if (!cantSeePlayer.isOnline()) { continue; } player.hidePlayer(cantSeePlayer); } player.setGameMode(gamemode); }