Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Плагин [FUN] SleepHealth - Пока ты спишь, твоё здоровье восстанавливается [1.7.9-R0.2]

Lucatjuh

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Lucatjuh
|YourHome|InfoMessage|EmeraldItem|SleepHealth|EmeraldExp|SuperCleanerChat|NoFall|MobsMiniGame|

Всем привет, и пока ты спишь, твоё здоровье восстанавливается!
Это я уже говорил "Пока ты спишь, твоё здоровье восстанавливается!"
Значит что этот плагин делает - пока мы спим, он восстанавливает твоё здоровье. И при начале работы, ознакомьтесь с конфигом.
config:
messages:
fullhealth: $c У Вас уже полное здоровье! - Сообщение о полном здоровье (Можно изменить)
rested: $a Вы отдохнули. - Когда просыпаемся (Можно изменить)
time: $a Подождите 4 секунд до лечения. - Когда начинаем спать (Советуется не трогать строчку)
config:
max_health_to_entry: 20 - Сколько жизней будет когда будет писать "У Вас уже полное здоровье" (Можно изменить)
set_health_after_rested: 20 - Сколько восстанавливается после сна. Можно даже и убавить))0)0 (Можно изменить)
time_for_heal_in_Bed_milliseconds: 4000 - Через сколько милисекунд восстановиться жизни (В данном случае 4 секунд) (Можно изменить)
sleephealth.heal.reset - Возможность чтобы восстанавливало здоровье при сне
1.0 - релиз
1.0 - http://data:image/jpeg;base64,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
Я старался. Думаю Вам понравился плагин :good:
 
Последнее редактирование:
Нельзя было сделать, чтобы когда ложишься на кровать, то там потихоньку хп восстанавливались?
И ивенты нужно регистрировать в главном классе. А не так:

Java:
public NotMain(Main plugin)
  {
    plugin.getServer().getPluginManager().registerEvents(this, plugin);
  }

Как правильнее:
Java:
@Override
    public void onEnable() {
        Bukkit.getPluginManager().registerEvents(new Events(), this);
    }
 
Нельзя было сделать, чтобы когда ложишься на кровать, то там потихоньку хп восстанавливались?
И ивенты нужно регистрировать в главном классе. А не так:

Java:
public NotMain(Main plugin)
  {
    plugin.getServer().getPluginManager().registerEvents(this, plugin);
  }

Как правильнее:
Java:
@Override
    public void onEnable() {
        Bukkit.getPluginManager().registerEvents(new Events(), this);
    }
Какая разница? Самое главное что работает
UP
 
А можно код плагина посмотреть??
 
Я с телефона,
Java:
code
сложно сделать?
Java:
package ru.lucatjuh.SleepHealth;

import java.util.logging.Logger;
import org.bukkit.ChatColor;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.FileConfigurationOptions;
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.PluginDescriptionFile;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitScheduler;

public class Main
  extends JavaPlugin
  implements Listener
{
  public Main plugin;
  public final Logger logger = Logger.getLogger("Minecraft");
  Listener listener;
  PluginManager pm;
 
  public void onEnable()
  {
    this.pm = getServer().getPluginManager();
    loadConfig();
    this.listener = this;
    this.pm.registerEvents(this.listener, this);
    PluginDescriptionFile pdFile = getDescription();
    this.logger.info(pdFile.getName() + " version " + pdFile.getVersion() +
      " is Enable.");
  }
 
  public void onDisable()
  {
    PluginDescriptionFile pdFile = getDescription();
    this.logger.info(pdFile.getName() + " version " + pdFile.getVersion() +
      " is Disable.");
  }
 
  public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args)
  {
    Player player = (Player)sender;
   
    return false;
  }
 
  private void loadConfig()
  {
    String cmd1 = "config.messages.fullhealth";
    getConfig().addDefault(cmd1, "$c У Вас уже полное здоровье!");
    String cmd2 = "config.messages.rested";
    getConfig().addDefault(cmd2, "$a Вы отдохнули.");
    String cmd3 = "config.config.max_health_to_entry";
    getConfig().addDefault(cmd3, Integer.valueOf(20));
    String cmd4 = "config.config.set_health_after_rested";
    getConfig().addDefault(cmd4, Integer.valueOf(20));
    String cmd5 = "config.config.time_for_heal_in_Bed_milliseconds";
    getConfig().addDefault(cmd5, Integer.valueOf(4000));
   
    String cmd6 = "config.messages.time";
    int timeMillisecond = getConfig().getInt("config.config.time_for_heal_in_Bed_milliseconds");
    int time = timeMillisecond / 1000;
    getConfig().addDefault(cmd6, "$a Подождите " + time + " секунд до лечения.");
    getConfig().set(cmd6, "$a Подождите " + time + " секунд до лечения.");
   
    getConfig().options().copyDefaults(true);
    saveConfig();
  }
 
  @EventHandler
  public void onPlayerBedEnter(final PlayerBedEnterEvent event)
  {
    Player eventPlayer = event.getPlayer();
    if (eventPlayer.hasPermission("sleephealth.heal.reset"))
    {
      int health = (int)eventPlayer.getHealth();
      int max_health_to_entry = getConfig().getInt("config.config.max_health_to_entry");
      if (health == max_health_to_entry)
      {
        String fullhealth = getConfig().getString("config.messages.fullhealth");
        eventPlayer.sendMessage(ChatColor.translateAlternateColorCodes('$', fullhealth));
      }
      else
      {
        final int set_health_after_rested = getConfig().getInt("config.config.set_health_after_rested");
        final String rested = getConfig().getString("config.messages.rested");
        String timeMessage = getConfig().getString("config.messages.time");
        eventPlayer.sendMessage(ChatColor.translateAlternateColorCodes('$', timeMessage));
        int timeMillisecond = getConfig().getInt("config.config.time_for_heal_in_Bed_milliseconds");
        int timeSecond = timeMillisecond / 1000;
        int timeTick = timeSecond * 20;
       
        getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable()
        {
          public void run()
          {
            Player eventPlayer = event.getPlayer();
            eventPlayer.setHealth(set_health_after_rested);
            eventPlayer.sendMessage(ChatColor.translateAlternateColorCodes('$', rested));
          }
        }, timeTick);
      }
    }
  }
}
Java:
package ru.lucatjuh.SleepHealth;

import org.bukkit.ChatColor;
import org.bukkit.Server;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerBedLeaveEvent;
import org.bukkit.plugin.PluginManager;

public class NotMain
  implements Listener
{
  public NotMain(Main plugin)
  {
    plugin.getServer().getPluginManager().registerEvents(this, plugin);
  }
 
  @EventHandler
  public void onPlayerBedLeave(PlayerBedLeaveEvent event)
  {
    Player eventPlayer = event.getPlayer();
    if (eventPlayer.hasPermission("sleephealth.heal.reset"))
    {
      int health = (int)eventPlayer.getHealth();
      if (health == 20)
      {
        eventPlayer.sendMessage(ChatColor.RED + "У Вас уже полное здоровье!");
      }
      else
      {
        eventPlayer.setHealth(20.0D);
        eventPlayer.sendMessage(ChatColor.GREEN + "Вы отдохнули.");
      }
    }
  }
}
 
Java:
package ru.lucatjuh.SleepHealth;

import java.util.logging.Logger;
import org.bukkit.ChatColor;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.FileConfigurationOptions;
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.PluginDescriptionFile;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitScheduler;

public class Main
  extends JavaPlugin
  implements Listener
{
  public Main plugin;
  public final Logger logger = Logger.getLogger("Minecraft");
  Listener listener;
  PluginManager pm;

  public void onEnable()
  {
    this.pm = getServer().getPluginManager();
    loadConfig();
    this.listener = this;
    this.pm.registerEvents(this.listener, this);
    PluginDescriptionFile pdFile = getDescription();
    this.logger.info(pdFile.getName() + " version " + pdFile.getVersion() +
      " is Enable.");
  }

  public void onDisable()
  {
    PluginDescriptionFile pdFile = getDescription();
    this.logger.info(pdFile.getName() + " version " + pdFile.getVersion() +
      " is Disable.");
  }

  public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args)
  {
    Player player = (Player)sender;
  
    return false;
  }

  private void loadConfig()
  {
    String cmd1 = "config.messages.fullhealth";
    getConfig().addDefault(cmd1, "$c У Вас уже полное здоровье!");
    String cmd2 = "config.messages.rested";
    getConfig().addDefault(cmd2, "$a Вы отдохнули.");
    String cmd3 = "config.config.max_health_to_entry";
    getConfig().addDefault(cmd3, Integer.valueOf(20));
    String cmd4 = "config.config.set_health_after_rested";
    getConfig().addDefault(cmd4, Integer.valueOf(20));
    String cmd5 = "config.config.time_for_heal_in_Bed_milliseconds";
    getConfig().addDefault(cmd5, Integer.valueOf(4000));
  
    String cmd6 = "config.messages.time";
    int timeMillisecond = getConfig().getInt("config.config.time_for_heal_in_Bed_milliseconds");
    int time = timeMillisecond / 1000;
    getConfig().addDefault(cmd6, "$a Подождите " + time + " секунд до лечения.");
    getConfig().set(cmd6, "$a Подождите " + time + " секунд до лечения.");
  
    getConfig().options().copyDefaults(true);
    saveConfig();
  }

  @EventHandler
  public void onPlayerBedEnter(final PlayerBedEnterEvent event)
  {
    Player eventPlayer = event.getPlayer();
    if (eventPlayer.hasPermission("sleephealth.heal.reset"))
    {
      int health = (int)eventPlayer.getHealth();
      int max_health_to_entry = getConfig().getInt("config.config.max_health_to_entry");
      if (health == max_health_to_entry)
      {
        String fullhealth = getConfig().getString("config.messages.fullhealth");
        eventPlayer.sendMessage(ChatColor.translateAlternateColorCodes('$', fullhealth));
      }
      else
      {
        final int set_health_after_rested = getConfig().getInt("config.config.set_health_after_rested");
        final String rested = getConfig().getString("config.messages.rested");
        String timeMessage = getConfig().getString("config.messages.time");
        eventPlayer.sendMessage(ChatColor.translateAlternateColorCodes('$', timeMessage));
        int timeMillisecond = getConfig().getInt("config.config.time_for_heal_in_Bed_milliseconds");
        int timeSecond = timeMillisecond / 1000;
        int timeTick = timeSecond * 20;
      
        getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable()
        {
          public void run()
          {
            Player eventPlayer = event.getPlayer();
            eventPlayer.setHealth(set_health_after_rested);
            eventPlayer.sendMessage(ChatColor.translateAlternateColorCodes('$', rested));
          }
        }, timeTick);
      }
    }
  }
}
Java:
package ru.lucatjuh.SleepHealth;

import org.bukkit.ChatColor;
import org.bukkit.Server;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerBedLeaveEvent;
import org.bukkit.plugin.PluginManager;

public class NotMain
  implements Listener
{
  public NotMain(Main plugin)
  {
    plugin.getServer().getPluginManager().registerEvents(this, plugin);
  }

  @EventHandler
  public void onPlayerBedLeave(PlayerBedLeaveEvent event)
  {
    Player eventPlayer = event.getPlayer();
    if (eventPlayer.hasPermission("sleephealth.heal.reset"))
    {
      int health = (int)eventPlayer.getHealth();
      if (health == 20)
      {
        eventPlayer.sendMessage(ChatColor.RED + "У Вас уже полное здоровье!");
      }
      else
      {
        eventPlayer.setHealth(20.0D);
        eventPlayer.sendMessage(ChatColor.GREEN + "Вы отдохнули.");
      }
    }
  }
}
:creeper:Не хорошо... Сейчас скину свой вариант.
Java:
package ru.lucatjuh.SleepHealth;

import org.bukkit.ChatColor;
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.java.JavaPlugin;

public class Main
  extends JavaPlugin
  implements Listener
{
  public Main plugin;
  Listener listener;
  int max_health_to_entry, set_health_after_rested, timeMillisecond;
  String fullhealth, rested, timeMessage;

  public void onEnable()
  {
    loadConfig();
    timeMessage = ChatColor.translateAlternateColorCodes('$', getConfig().getString("config.messages.time"));
    timeMillisecond = getConfig().getInt("config.config.time_for_heal_in_Bed_milliseconds");
    rested = ChatColor.translateAlternateColorCodes('$', getConfig().getString("config.messages.rested"));
    fullhealth = ChatColor.translateAlternateColorCodes('$', getConfig().getString("config.messages.fullhealth"));
    max_health_to_entry =  getConfig().getInt("config.config.max_health_to_entry");
    set_health_after_rested = getConfig().getInt("config.config.set_health_after_rested");
    this.listener = this;
    getServer().getPluginManager().registerEvents(this, this);
  }

  private void loadConfig()
  {
    getConfig().addDefault("config.messages.fullhealth", "$c У Вас уже полное здоровье!");
    getConfig().addDefault("config.messages.rested", "$a Вы отдохнули.");
    getConfig().addDefault("config.config.max_health_to_entry", 20);
    getConfig().addDefault("config.config.set_health_after_rested", 20);
    getConfig().addDefault("config.config.time_for_heal_in_Bed_milliseconds", 4000);

    int time = getConfig().getInt("config.config.time_for_heal_in_Bed_milliseconds") / 1000;
    getConfig().addDefault("config.messages.time", "$a Подождите " + time + " секунд до лечения.");
    getConfig().set("config.messages.time", "$a Подождите " + time + " секунд до лечения.");

    getConfig().options().copyDefaults(true);
    saveConfig();
  }

  @EventHandler
  public void onPlayerBedEnter(final PlayerBedEnterEvent event)
  {
    Player eventPlayer = event.getPlayer();
    if (eventPlayer.hasPermission("sleephealth.heal.reset"))
    {
      if (eventPlayer.getHealth() == max_health_to_entry)
      {
        eventPlayer.sendMessage(fullhealth);
      }
      else
      {
        eventPlayer.sendMessage(ChatColor.translateAlternateColorCodes('$', timeMessage));
        int timeTick = (timeMillisecond / 1000) * 20;
     
        getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable()
        {
          public void run()
          {
            Player eventPlayer = event.getPlayer();
            eventPlayer.setHealth(set_health_after_rested);
            eventPlayer.sendMessage(ChatColor.translateAlternateColorCodes('$', rested));
          }
        }, timeTick);
      }
    }
  }
}
Хотя бы так.
 

Поделиться этой страницей

Назад
Верх