Advertisement
Guest User

Untitled

a guest
Jul 26th, 2013
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.65 KB | None | 0 0
  1. package com.norcode.bukkit.levelledhp;
  2.  
  3.  
  4. import org.bukkit.entity.Player;
  5. import org.bukkit.event.EventHandler;
  6. import org.bukkit.event.Listener;
  7. import org.bukkit.event.player.PlayerJoinEvent;
  8. import org.bukkit.event.player.PlayerLevelChangeEvent;
  9. import org.bukkit.plugin.java.JavaPlugin;
  10.  
  11. import java.util.HashMap;
  12.  
  13. public class LevelledHP extends JavaPlugin implements Listener {
  14.  
  15.     HashMap<Integer, Integer> maxHPConfig = new HashMap<Integer, Integer>();
  16.  
  17.     public void onEnable() {
  18.         getServer().getPluginManager().registerEvents(this, this);
  19.         saveDefaultConfig();
  20.         getConfig().options().copyDefaults(true);
  21.         saveConfig();
  22.  
  23.         for (String key: getConfig().getConfigurationSection("max-hp-per-level").getKeys(false)) {
  24.             maxHPConfig.put(Integer.parseInt(key), getConfig().getInt("max-hp-per-level." + key));
  25.         }
  26.     }
  27.  
  28.     @EventHandler
  29.     public void onPlayerXPLevelChange(PlayerLevelChangeEvent event) {
  30.         final Player player = event.getPlayer();
  31.         getServer().getScheduler().runTaskLater(this, new Runnable() {
  32.             public void run() {
  33.                 scaleHealth(player);
  34.             }
  35.         }, 1);
  36.     }
  37.     @EventHandler(ignoreCancelled=true)
  38.     public void onPlayerJoin(PlayerJoinEvent event) {
  39.         scaleHealth(event.getPlayer());
  40.     }
  41.  
  42.     private void scaleHealth(Player player) {
  43.         int lvl = player.getLevel();
  44.         int maxHP = 20;
  45.         if (maxHPConfig.containsKey(lvl)) {
  46.             maxHP = maxHPConfig.get(lvl);
  47.         }
  48.         getLogger().info("Setting max health to " + maxHP);
  49.         player.setMaxHealth(maxHP);
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement