Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.coollord22.otherbedregen;
- import org.bukkit.Bukkit;
- import org.bukkit.attribute.Attribute;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerBedEnterEvent;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.potion.PotionEffect;
- import org.bukkit.potion.PotionEffectType;
- import org.bukkit.scheduler.BukkitRunnable;
- public class OtherBedRegen extends JavaPlugin implements Listener {
- public static OtherBedRegen plugin;
- int numToHeal;
- int numSleep;
- boolean enabled;
- public OtherBedRegen() {
- plugin = this;
- }
- @Override
- public void onEnable() {
- plugin = this;
- plugin.enabled = true;
- registerListeners();
- }
- private void registerListeners() {
- PluginManager pm = Bukkit.getServer().getPluginManager();
- pm.registerEvents(this, this);
- }
- public static void disableOtherRegions() {
- PluginManager pm = Bukkit.getServer().getPluginManager();
- plugin.enabled = false;
- pm.disablePlugin(plugin);
- }
- @EventHandler
- public void onSleep(PlayerBedEnterEvent event) {
- Player p = (Player) event.getPlayer();
- if(!event.isCancelled()) {
- new BukkitRunnable() {
- @Override
- public void run () {
- for(Player toCheckStatus : Bukkit.getServer().getOnlinePlayers()) {
- if(toCheckStatus.isSleepingIgnored() == false)
- numToHeal++;
- if(toCheckStatus.isSleeping() == true)
- numSleep++;
- }
- if(numSleep >= numToHeal) {
- for(Player toHeal : Bukkit.getServer().getOnlinePlayers()) {
- toHeal.setHealth(toHeal.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue());
- }
- numSleep = 0;
- numToHeal = 0;
- }
- if(numSleep < numToHeal) {
- numSleep = 0;
- numToHeal = 0;
- }
- }
- }.runTaskLater(plugin, 1);
- new BukkitRunnable() {
- @Override
- public void run () {
- if(p.isSleeping())
- p.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 40, 1));
- }
- }.runTaskTimer(plugin, 1, 40);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement