1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Смена погоды

Тема в разделе "Разработка плагинов для новичков", создана пользователем adodvstudios, 18 ноя 2020.

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

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

    Баллы:
    76
    Имя в Minecraft:
    Jenka20091
    Нужна смена погоды только чтобы она была 5 на 5 блоков. То есть у игрока дождь на острове, а у других солнце
     
  2. Exception_Prototype

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

    Баллы:
    96
    Вряд ли прям так можно, ты можешь посмотреть команды из essentials , которые ставят погоду игроку лично(визуально) и с этим дальше работать.
     
  3. Автор темы
    adodvstudios

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

    Баллы:
    76
    Имя в Minecraft:
    Jenka20091
    А такое есть в essentials? :)
     
  4. Exception_Prototype

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

    Баллы:
    96
    Команды:
    ptime
    pweather
     
  5. Автор темы
    adodvstudios

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

    Баллы:
    76
    Имя в Minecraft:
    Jenka20091
    PHP:
    package com.earth2me.essentials.commands;

    import com.earth2me.essentials.ChargeException;
    import com.earth2me.essentials.CommandSource;
    import com.earth2me.essentials.I18n;
    import com.earth2me.essentials.IEssentials;
    import com.earth2me.essentials.IUser;
    import com.earth2me.essentials.User;
    import com.google.common.collect.Lists;
    import java.util.Arrays;
    import java.util.Collections;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Locale;
    import java.util.Map;
    import java.util.StringJoiner;
    import net.ess3.api.MaxMoneyException;
    import org.bukkit.Server;
    import org.bukkit.WeatherType;

    public class 
    Commandpweather extends EssentialsLoopCommand {
      private static final List<
    StringgetAliases Arrays.asList(new String[] { "get""list""show""display" });
     
      private static final 
    Map<StringWeatherTypeweatherAliases = new HashMap<>();
     
      static {
        
    weatherAliases.put("sun"WeatherType.CLEAR);
        
    weatherAliases.put("clear"WeatherType.CLEAR);
        
    weatherAliases.put("storm"WeatherType.DOWNFALL);
        
    weatherAliases.put("thunder"WeatherType.DOWNFALL);
      }
     
      public 
    Commandpweather() {
        
    super("pweather");
      }
     
      public 
    void run(Server serverCommandSource senderString commandLabelString[] argsthrows Exception {
        if (
    args.length == || getAliases.contains(args[0].toLowerCase())) {
          if (
    args.length 1) {
            if (
    args[1].equals("*") || args[1].equals("**"))
              
    sender.sendMessage(I18n.tl("pWeatherPlayers", new Object[0]));
            
    loopOnlinePlayersConsumer(serversenderfalsetrueargs[1], player -> getUserWeather(sender, (IUser)player));
            return;
          }
          if (
    args.length == || sender.isPlayer()) {
            if (
    sender.isPlayer()) {
              
    getUserWeather(sender, (IUser)sender.getUser((IEssentials)this.ess));
              return;
            }
            throw new 
    NotEnoughArgumentsException();
          }
          if (
    this.ess.getOnlinePlayers().size() > 1)
            
    sender.sendMessage(I18n.tl("pWeatherPlayers", new Object[0]));
          for (
    User player this.ess.getOnlineUsers())
            
    getUserWeather(sender, (IUser)player);
        }
        if (
    args.length && !sender.isAuthorized("essentials.pweather.others", (IEssentials)this.ess) && !args[1].equalsIgnoreCase(sender.getSelfSelector())) {
          
    sender.sendMessage(I18n.tl("pWeatherOthersPermission", new Object[0]));
          return;
        }
        
    String weather args[0].toLowerCase();
        if (!
    weatherAliases.containsKey(weather) && !weather.equalsIgnoreCase("reset"))
          throw new 
    NotEnoughArgumentsException(I18n.tl("pWeatherInvalidAlias", new Object[0]));
        
    StringJoiner joiner = new StringJoiner(",");
        
    loopOnlinePlayersConsumer(serversenderfalsetrue, (args.length 1) ? args[1] : sender.getSelfSelector(), player -> {
              
    setUserWeather(playerweather);
              
    joiner.add(player.getName());
            });
        if (
    weather.equalsIgnoreCase("reset")) {
          
    sender.sendMessage(I18n.tl("pWeatherReset", new Object[] { joiner.toString() }));
          return;
        }
        
    sender.sendMessage(I18n.tl("pWeatherSet", new Object[] { weatherjoiner.toString() }));
      }
     
      private 
    void getUserWeather(CommandSource senderIUser user) {
        if (
    user == null)
          return;
        if (
    user.getBase().getPlayerWeather() == null) {
          
    sender.sendMessage(I18n.tl("pWeatherNormal", new Object[] { user.getName() }));
          return;
        }
        
    sender.sendMessage(I18n.tl("pWeatherCurrent", new Object[] { user.getName(), user.getBase().getPlayerWeather().toString().toLowerCase(Locale.ENGLISH) }));
      }
     
      private 
    void setUserWeather(User userString weatherType) {
        if (
    weatherType.equalsIgnoreCase("reset")) {
          
    user.getBase().resetPlayerWeather();
          return;
        }
        
    user.getBase().setPlayerWeather(weatherAliases.get(weatherType));
      }
     
      protected List<
    StringgetTabCompleteOptions(Server serverUser userString commandLabelString[] args) {
        if (
    args.length == 1)
          return 
    Lists.newArrayList((Object[])new String[] { "get""reset""storm""sun" });
        if (
    args.length == && (getAliases.contains(args[0]) || user == null || user.isAuthorized("essentials.pweather.others")))
          return 
    getPlayers(serveruser);
        return 
    Collections.emptyList();
      }
     
      protected 
    void updatePlayer(Server serverCommandSource senderUser userString[] args) {}
    }
    Ничего не понял :)
     
  6. Exception_Prototype

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

    Баллы:
    96
    Изучай, у меня нет времени объяснять это.
     
  7. LOVEC3327

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

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    Последнее редактирование: 18 ноя 2020

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