Сборки серверов

СливПлатные

Сейчас онлайн

  • Kasval2
  • Lexa2016top
  • popit
  • ps7chodreams
  • WhyWertyyy
  • Charis
  • bobobo
  • ANDEREEEEEEEEEEEEEY
  • Pazetch
  • Xosi_
  • MrLavX
  • vanillaspb
  • sllvnxx
  • alze
  • Ritwik Raj
  • FairZen
  • ItsEnerGetik
  • Aleks_Evans
  • vadim3245
  • Zeppy
  • KangUcing
  • Maxim_Gozhelskiy
  • nemory
  • mrmesniy
  • DAFSSS11
  • MiddleClient110
  • Oynkilo228
  • Krowskin
  • VOTERS
  • tingyu0817
  • ykpon4ik
  • ZloyBoy
  • ZeRexVN
  • duper121
  • grmisha
  • Crab_Salad
  • santigeniu
  • asdfgsdfgsdfg
  • fghfghfghfgfghfgh
  • traceroute
  • BOT_yet
  • xxx1249
  • se43y3333
  • piratkejual
  • 31ler
  • RoxelyFoxely
  • 2kot_love
  • FanstS
  • Cr6b3ilLa
  • CodEX74
  • lunaticMind
  • starinaYo
  • tess712
  • SonyaKK
  • Evgeni666
  • Semachka
  • iMeeTake

Помощь Зона с хиллом

G
Версия ядра сервера
1.21+
Всем привет! У меня есть сервер BoxPvP и у есть арена, нужно сделать так чтоб когда ты влетал в сейв зону этой арены, у тебя востанавливалось фул хп, но не фастонавливалась насычка!
 
GPT-4o
Привет! Для реализации этой функции на вашем сервере BoxPvP, вам нужно использовать плагин, который позволяет обрабатывать события входа игрока в определенную зону. Вот пример кода на Java, который делает то, что вам нужно:

Java:
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.entity.Player;
import org.bukkit.Location;
import org.bukkit.World;

public class ArenaListener implements Listener {
    private final World arenaWorld; // Замените на ваш мир арены
    private final int arenaX1, arenaY1, arenaZ1; // Координаты первой точки арены
    private final int arenaX2, arenaY2, arenaZ2; // Координаты второй точки арены

    public ArenaListener(World world, int x1, int y1, int z1, int x2, int y2, int z2) {
        this.arenaWorld = world;
        this.arenaX1 = x1;
        this.arenaY1 = y1;
        this.arenaZ1 = z1;
        this.arenaX2 = x2;
        this.arenaY2 = y2;
        this.arenaZ2 = z2;
    }

    @EventHandler
    public void onPlayerMove(PlayerMoveEvent event) {
        Player player = event.getPlayer();
        Location loc = player.getLocation();

        if (loc.getWorld().equals(arenaWorld) && isInArena(loc)) {
            player.setHealth(player.getAttribute(org.bukkit.attribute.Attribute.GENERIC_MAX_HEALTH).getValue()); // Восстанавливаем здоровье
        }
    }

    private boolean isInArena(Location loc) {
        return loc.getBlockX() >= arenaX1 && loc.getBlockX() <= arenaX2 &&
               loc.getBlockY() >= arenaY1 && loc.getBlockY() <= arenaY2 &&
               loc.getBlockZ() >= arenaZ1 && loc.getBlockZ() <= arenaZ2;
    }
}

Не забудьте зарегистрировать этот слушатель в вашем плагине. Этот код восстанавливает здоровье игрока, когда он входит в зону арены, но не затрагивает насыщение.
 
LiSnow
  • LiSnow
  • ᴜᴋʀᴀɪɴᴇ ✅ глᴀʙʜый мᴇʜюшᴋᴏдᴇл, дизᴀйʜ-ᴋᴏпипᴀᴄтᴇᴘ
  • 142
Если правильно помню, то:

/rg flag регион heal-delay 1
(лечение игроков в секунду)
/rg flag регион heal-amount 2
(по сколько хп восстанавливается в секунду)

А вообще для кого существует список флагов для регионов..
Задолбали! Читайте наконец-то документации!!!
Список флагов: Region Flags
(Специально для "гениальных дураков" расписаны все пункты и тд..)
 
Последнее редактирование:
ВерхНиз