Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Получение освещение блока, а если человек летает?Как отследить именно свет от Солнца - я не знаю, но можно опробовать через byte getLightLevel() получать освещение блока под игроком. (тут появляется проблема источника освещения: освещать может, например, факел)
UPD:
Нашел другой метод: byte getLightFromSky() - «Get the amount of light at this block from the sky. Any light given from other sources (such as blocks like torches) will be ignored.»
Как вариант - можно получить игровое время, и исходя из него убивать/не убивать игрока. Проблема: игрок может летать за деревом/стеной etc.Получение освещение блока, а если человек летает?
if (player.getWorld().getName().equals("какой-нибудь мир")) {
return;
}
public static boolean needDayBurn(Player player) {
if (player.getGameMode() == GameMode.CREATIVE) return false;
Block block1 = player.getLocation().add(0, 1, 0).getBlock();
if (block1.getType() == Material.WATER || block1.getType() == Material.STATIONARY_WATER) return false;
Block block = player.getLocation().getBlock();
if (block.getType() == Material.WATER || block.getType() == Material.STATIONARY_WATER) return false;
return block1.getLightFromSky() >= 15;
}
Мой способ будет работать только если считать, что солнце всегда наверху, ибо если, действительно, будет закат или рассвет, и мы будем искать блоки, которые будут мешать нам "получать свет", сервер упадет))Малопроизводительный фикс - искать блоки, которые могут загородить свет в стороне заката 😁
End и Nether можно не проверять с помощью player.getWorld().getName().equals("какой-нибудь мир");
Можно искать в небольшом радиусе (блоков 10-15 в одну сторону - не так много)сервер упадет))