Java Code Examples for org.bukkit.entity.Player#setMaxHealth()
The following examples show how to use
org.bukkit.entity.Player#setMaxHealth() .
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: TitleRespawn.java From CardinalPGM with MIT License | 6 votes |
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onEntityDamage(EntityDamageByEntityEvent event) { if (!(event.getEntity() instanceof Player)) return; Player player = (Player) event.getEntity(); double finalHealth = player.getHealth() - event.getFinalDamage(); if (finalHealth > 0.01) return; player.setMaxHealth(20); player.setHealth(player.getMaxHealth()); event.setDamage(1); player.setLastDamageCause(event); if (event.getActor() instanceof Player) { killPlayer(player, (Player)event.getActor(), event.getCause()); } else if (event.getActor() instanceof Projectile && ((Projectile) event.getActor()).getShooter() instanceof Player) { killPlayer(player, (Player)((Projectile) event.getActor()).getShooter(), event.getCause()); } else { killPlayer(player, null, event.getCause()); } }
Example 2
Source File: BestPvEListener.java From UhcCore with GNU General Public License v3.0 | 5 votes |
@EventHandler (priority = EventPriority.HIGHEST) public void onPlayerDamage(EntityDamageEvent e){ if (e.isCancelled()){ return; } if (e.getDamage() < 0.2){ return; } if (!(e.getEntity() instanceof Player)){ return; } Player p = (Player) e.getEntity(); UhcPlayer uhcPlayer = GameManager.getGameManager().getPlayersManager().getUhcPlayer(p); if (!pveList.containsKey(uhcPlayer)){ return; // Only playing players on list } if (pveList.get(uhcPlayer)) { pveList.put(uhcPlayer, false); uhcPlayer.sendMessage(Lang.SCENARIO_BESTPVE_REMOVED); } if (p.getMaxHealth() > maxHealth){ double hp = p.getHealth(); if (hp < maxHealth){ p.setMaxHealth(maxHealth); }else{ p.setMaxHealth(hp + 1); } } }
Example 3
Source File: BestPvEListener.java From UhcCore with GNU General Public License v3.0 | 5 votes |
@Override public void run(){ for (UhcPlayer uhcPlayer : GameManager.getGameManager().getPlayersManager().getOnlinePlayingPlayers()){ Player player; try{ player = uhcPlayer.getPlayer(); }catch (UhcPlayerNotOnlineException ex){ continue; // No hp for offline players } if (!pveList.containsKey(uhcPlayer)){ pveList.put(uhcPlayer,true); // Should never occur, playing players are always on list. Bukkit.getLogger().warning("[UhcCore] " + player.getName() + " was not on best PvE list yet! Please contact a server administrator."); } if (player.getGameMode().equals(GameMode.SURVIVAL) && pveList.get(uhcPlayer)){ // heal player if (player.getHealth() + 2 > player.getMaxHealth()){ player.setMaxHealth(player.getMaxHealth() + 2); } player.setHealth(player.getHealth() + 2); } } taskId = Bukkit.getScheduler().scheduleSyncDelayedTask(UhcCore.getPlugin(),this,delay*TimeUtils.SECOND_TICKS); }
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: SpigotStuff.java From ProtocolSupportPocketStuff with GNU Affero General Public License v3.0 | 5 votes |
@SuppressWarnings("deprecation") @Override public void sendPlayerSkin(Player player, SkinDataWrapper skindata) { Connection connection = ProtocolSupportAPI.getConnection(player); EntityPlayer entityPlayer = ((CraftPlayer) player).getHandle(); connection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.REMOVE_PLAYER, entityPlayer)); DimensionManager dimThing = null; switch (player.getWorld().getEnvironment()) { case NETHER: dimThing = DimensionManager.NETHER; break; case NORMAL: dimThing = DimensionManager.OVERWORLD; break; case THE_END: dimThing = DimensionManager.THE_END; break; } connection.sendPacket(new PacketPlayOutRespawn(dimThing, entityPlayer.world.getDifficulty(), WorldType.NORMAL, EnumGamemode.getById(player.getGameMode().getValue()))); player.setHealth(player.getHealth()); player.setMaxHealth(player.getMaxHealth()); player.setFlying(player.isFlying()); player.teleport(player.getLocation()); player.setLevel(player.getLevel()); player.setExp(player.getExp()); player.updateInventory(); connection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, entityPlayer)); }
Example 6
Source File: Berserker.java From AnnihilationPro with MIT License | 5 votes |
@Override public void cleanup(Player player) { if(player != null) { player.setMaxHealth(20); //player.setHealth(20); } }
Example 7
Source File: Berserker.java From AnnihilationPro with MIT License | 5 votes |
@Override public void onPlayerSpawn(Player player) { // KitUtils.giveTeamArmor(player); // player.getInventory().addItem(KitUtils.getStoneSword()); // player.getInventory().addItem(KitUtils.getWoodPick()); // player.getInventory().addItem(KitUtils.getWoodAxe()); // player.getInventory().addItem(KitUtils.getHealthPotion1()); // player.getInventory().addItem(KitUtils.getNavCompass()); player.setMaxHealth(18); super.onPlayerSpawn(player); }
Example 8
Source File: Berserker.java From AnnihilationPro with MIT License | 5 votes |
@EventHandler(priority = EventPriority.MONITOR) public void damageListener(final PlayerDeathEvent event) { Player killer = event.getEntity().getKiller(); if(killer != null) { AnniPlayer p = AnniPlayer.getPlayer(killer.getUniqueId()); if(p != null && p.getKit().equals(this)) { if(killer.getMaxHealth() <= 24) killer.setMaxHealth(killer.getMaxHealth()+2); } } }
Example 9
Source File: PlayerStateHolder.java From HeavySpleef with GNU General Public License v3.0 | 5 votes |
/** * Applies the default state to the player * and discards the current one<br><br> * * Warning: This deletes the entire inventory * and all other various player attributes * * It is recommended to save the player state * with {@link PlayerStateHolder#create(Player, GameMode)} * and store a reference to it before invoking this method * * @param player */ public static void applyDefaultState(Player player, boolean adventureMode) { player.setGameMode(adventureMode ? GameMode.ADVENTURE : GameMode.SURVIVAL); player.getInventory().clear(); player.getInventory().setArmorContents(new ItemStack[4]); player.setItemOnCursor(null); player.updateInventory(); player.setMaxHealth(20.0); player.setHealth(20.0); player.setFoodLevel(20); player.setLevel(0); player.setExp(0f); player.setAllowFlight(false); player.setFlying(false); player.setFallDistance(0); player.setFireTicks(0); Collection<PotionEffect> effects = player.getActivePotionEffects(); for (PotionEffect effect : effects) { player.removePotionEffect(effect.getType()); } for (Player onlinePlayer : Bukkit.getOnlinePlayers()) { if (player.canSee(player)) { continue; } player.showPlayer(onlinePlayer); } }
Example 10
Source File: TitleRespawn.java From CardinalPGM with MIT License | 5 votes |
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onEntityDamage(EntityDamageEvent event) { if (!(event.getEntity() instanceof Player)) return; Player player = (Player) event.getEntity(); double finalHealth = player.getHealth() - event.getFinalDamage(); if (finalHealth > 0.01) return; player.setMaxHealth(20); player.setHealth(player.getMaxHealth()); event.setDamage(1); player.setLastDamageCause(event); killPlayer(player, null, event.getCause()); }
Example 11
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); }
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: 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 14
Source File: NMSHandler.java From SkyWarsReloaded with GNU General Public License v3.0 | 4 votes |
public void setMaxHealth(Player player, int health) { player.setMaxHealth(health); }
Example 15
Source File: NMSHandler.java From SkyWarsReloaded with GNU General Public License v3.0 | 4 votes |
public void setMaxHealth(Player player, int health) { player.setMaxHealth(health); }
Example 16
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 17
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 18
Source File: VersionUtils_1_8.java From UhcCore with GNU General Public License v3.0 | 4 votes |
@Override public void setPlayerMaxHealth(Player player, double maxHealth) { player.setMaxHealth(maxHealth); }