Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Неподтвержденные плагины", создана пользователем Lucatjuh, 28 авг 2015.

  1. Автор темы
    Lucatjuh

    Lucatjuh Активный участник Пользователь

    Баллы:
    76
    Skype:
    lucatjuhcraft
    Имя в 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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 [​IMG]
    Я старался. Думаю Вам понравился плагин :good:
     
    Последнее редактирование: 18 сен 2015
  2. Хостинг MineCraft
    <
  3. MrTrojan

    MrTrojan Активный участник Пользователь

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
    Нельзя было сделать, чтобы когда ложишься на кровать, то там потихоньку хп восстанавливались?[DOUBLEPOST=1441097284,1441097194][/DOUBLEPOST]И ивенты нужно регистрировать в главном классе. А не так:

    Код:
    public NotMain(Main plugin)
      {
        plugin.getServer().getPluginManager().registerEvents(this, plugin);
      }
    Как правильнее:
    Код:
    @Override
        public void onEnable() {
            Bukkit.getPluginManager().registerEvents(new Events(), this);
        }
     
  4. Автор темы
    Lucatjuh

    Lucatjuh Активный участник Пользователь

    Баллы:
    76
    Skype:
    lucatjuhcraft
    Имя в Minecraft:
    Lucatjuh
    Какая разница? Самое главное что работает[DOUBLEPOST=1441168537][/DOUBLEPOST]UP
     
  5. MrTrojan

    MrTrojan Активный участник Пользователь

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
  6. Автор темы
    Lucatjuh

    Lucatjuh Активный участник Пользователь

    Баллы:
    76
    Skype:
    lucatjuhcraft
    Имя в Minecraft:
    Lucatjuh
    Лол[DOUBLEPOST=1441390242,1441189406][/DOUBLEPOST]UP
     
  7. Starr

    Starr Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    _Starr_
    Главное, чтоб код был оптимизирован и производительность не терялась.
     
  8. Rider3217

    Rider3217 Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    А можно код плагина посмотреть??
     
  9. Автор темы
    Lucatjuh

    Lucatjuh Активный участник Пользователь

    Баллы:
    76
    Skype:
    lucatjuhcraft
    Имя в Minecraft:
    Lucatjuh
    Jd gui в помощь
     
  10. Rider3217

    Rider3217 Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Я с телефона,
    Код:
    code
    сложно сделать?
     
  11. Автор темы
    Lucatjuh

    Lucatjuh Активный участник Пользователь

    Баллы:
    76
    Skype:
    lucatjuhcraft
    Имя в Minecraft:
    Lucatjuh
    Я тоже с телефона :D
     
  12. MrTrojan

    MrTrojan Активный участник Пользователь

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
    Код:
    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);
          }
        }
      }
    }
    
    Код:
    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 + "Вы отдохнули.");
          }
        }
      }
    }
    
     
  13. Rider3217

    Rider3217 Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    :creeper:Не хорошо... Сейчас скину свой вариант.[DOUBLEPOST=1441897036,1441886404][/DOUBLEPOST]
    Код:
    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);
          }
        }
      }
    }
    
    Хотя бы так.
     

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