Advertisement
CoolLord22

Untitled

Nov 25th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. package com.coollord22.otherbedregen;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.attribute.Attribute;
  5. import org.bukkit.entity.Player;
  6. import org.bukkit.event.EventHandler;
  7. import org.bukkit.event.Listener;
  8. import org.bukkit.event.player.PlayerBedEnterEvent;
  9. import org.bukkit.plugin.PluginManager;
  10. import org.bukkit.plugin.java.JavaPlugin;
  11. import org.bukkit.potion.PotionEffect;
  12. import org.bukkit.potion.PotionEffectType;
  13. import org.bukkit.scheduler.BukkitRunnable;
  14.  
  15. public class OtherBedRegen extends JavaPlugin implements Listener {
  16. public static OtherBedRegen plugin;
  17. int numToHeal;
  18. int numSleep;
  19. boolean enabled;
  20.  
  21. public OtherBedRegen() {
  22. plugin = this;
  23. }
  24.  
  25. @Override
  26. public void onEnable() {
  27. plugin = this;
  28. plugin.enabled = true;
  29. registerListeners();
  30. }
  31.  
  32. private void registerListeners() {
  33. PluginManager pm = Bukkit.getServer().getPluginManager();
  34. pm.registerEvents(this, this);
  35. }
  36.  
  37. public static void disableOtherRegions() {
  38. PluginManager pm = Bukkit.getServer().getPluginManager();
  39. plugin.enabled = false;
  40. pm.disablePlugin(plugin);
  41. }
  42.  
  43. @EventHandler
  44. public void onSleep(PlayerBedEnterEvent event) {
  45. Player p = (Player) event.getPlayer();
  46.  
  47. if(!event.isCancelled()) {
  48. new BukkitRunnable() {
  49. @Override
  50. public void run () {
  51. for(Player toCheckStatus : Bukkit.getServer().getOnlinePlayers()) {
  52. if(toCheckStatus.isSleepingIgnored() == false)
  53. numToHeal++;
  54. if(toCheckStatus.isSleeping() == true)
  55. numSleep++;
  56. }
  57.  
  58. if(numSleep >= numToHeal) {
  59. for(Player toHeal : Bukkit.getServer().getOnlinePlayers()) {
  60. toHeal.setHealth(toHeal.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue());
  61. }
  62. numSleep = 0;
  63. numToHeal = 0;
  64. }
  65.  
  66. if(numSleep < numToHeal) {
  67. numSleep = 0;
  68. numToHeal = 0;
  69. }
  70. }
  71. }.runTaskLater(plugin, 1);
  72.  
  73. new BukkitRunnable() {
  74. @Override
  75. public void run () {
  76. if(p.isSleeping())
  77. p.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 40, 1));
  78. }
  79. }.runTaskTimer(plugin, 1, 40);
  80. }
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement