- Баллы
- 76
- Имя в Minecraft
- Jenka20091
Нужна смена погоды только чтобы она была 5 на 5 блоков. То есть у игрока дождь на острове, а у других солнце
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
А такое есть в essentials?Вряд ли прям так можно, ты можешь посмотреть команды из essentials , которые ставят погоду игроку лично(визуально) и с этим дальше работать.

Команды:А такое есть в essentials?![]()
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<String> getAliases = Arrays.asList(new String[] { "get", "list", "show", "display" });
private static final Map<String, WeatherType> weatherAliases = 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 server, CommandSource sender, String commandLabel, String[] args) throws Exception {
if (args.length == 0 || 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(server, sender, false, true, args[1], player -> getUserWeather(sender, (IUser)player));
return;
}
if (args.length == 1 || 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 > 1 && !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(server, sender, false, true, (args.length > 1) ? args[1] : sender.getSelfSelector(), player -> {
setUserWeather(player, weather);
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[] { weather, joiner.toString() }));
}
private void getUserWeather(CommandSource sender, IUser 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 user, String weatherType) {
if (weatherType.equalsIgnoreCase("reset")) {
user.getBase().resetPlayerWeather();
return;
}
user.getBase().setPlayerWeather(weatherAliases.get(weatherType));
}
protected List<String> getTabCompleteOptions(Server server, User user, String commandLabel, String[] args) {
if (args.length == 1)
return Lists.newArrayList((Object[])new String[] { "get", "reset", "storm", "sun" });
if (args.length == 2 && (getAliases.contains(args[0]) || user == null || user.isAuthorized("essentials.pweather.others")))
return getPlayers(server, user);
return Collections.emptyList();
}
protected void updatePlayer(Server server, CommandSource sender, User user, String[] args) {}
}

Изучай, у меня нет времени объяснять это.setUserWeather(player, weather);