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

СливПлатные

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

  • violentuso
  • skiv
  • reverinee
  • Zhaitan
  • 20Yarik10
  • Haiku
  • SolodSS
  • kentansss
  • Jajasalan
  • Tieumiu
  • kaaif
  • danekruk
  • alekspro
  • Gazmanov
  • Triton4ik_YT
  • N0sh0_
  • Sladkiy_Pupok
  • mishaboy2073
  • aboba123123123
  • grigoranblind
  • Zernovsky
  • ravshanplay1337
  • pro_god_pro
  • fuzuker1337
  • reaperess
  • malyginstepan
  • krqtexenon
  • MrRetiks001
  • Slavko
  • wweow
  • DoblOne
  • тюленьчие
  • sixseven11
  • lsexesl
  • zerqaw_
  • antosha
  • DevGrigory
  • bliniks
  • crash253egf
  • Whisky
  • fakulminat
  • BerSerk_1
  • 0D1H04KA
  • LACIO
  • Ishikebo13
  • BarsikGob_1
  • ttvirustt
  • tenshae1337
  • cet

Помощь Очередной раз - помогите

  • Автор темыsav1251266
  • Дата начала
sav1251266
Приветствую! Есть пара вопросов:

1. Как правильно можно реализовать привязку порталов верхнего мира на дальних координатах к порталам в аду, на ближних координатах? (То есть если я делаю портал в верхнем мире на координатах 5000 блоков, то в незере создается портал на макс. координатах которые я задал) Где то видел уже такое, может есть плагин?

2. Как правильно реализовать префиксы или значки? Допустим на основе Лакпермса, выдавать и задать при помощи него, ну а само право "применить" префикс или значок просто правом?
 
GPT-4o
1. Для реализации привязки порталов между верхним миром и адом можно использовать плагин, такой как Multiverse или NetherPortalFix. Эти плагины позволяют настраивать координаты порталов. Если вы хотите реализовать это самостоятельно, вам нужно будет написать обработчик событий для порталов, который будет вычислять координаты и создавать портал в аду на соответствующих координатах. Пример кода:

Java:
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerPortalEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class PortalLinker extends JavaPlugin implements Listener {

    @Override
    public void onEnable() {
        getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void onPlayerPortal(PlayerPortalEvent event) {
        if (event.getTo().getWorld().getName().equals("world")) { // Верхний мир
            int x = event.getTo().getBlockX() / 8; // Делим на 8 для координат в аду
            int z = event.getTo().getBlockZ() / 8;
            event.setTo(getServer().getWorld("world_nether").getHighestBlockAt(x, z).getLocation());
        }
    }
}

2. Для реализации префиксов и значков на основе LuckPerms, вам нужно использовать API LuckPerms для управления правами и префиксами. Вы можете использовать следующие шаги:

  • Убедитесь, что LuckPerms установлен на вашем сервере.
  • Создайте группу или назначьте префикс через LuckPerms.
  • Используйте событие, чтобы проверить права игрока и применить префикс.

Пример использования API LuckPerms:

Java:
import net.luckperms.api.LuckPerms;
import net.luckperms.api.node.Node;
import net.luckperms.api.node.types.PrefixNode;
import org.bukkit.entity.Player;

public void setPrefix(Player player, String prefix) {
    LuckPerms luckPerms = LuckPermsProvider.get();
    Node node = PrefixNode.builder(prefix, 100).build(); // 100 - приоритет
    luckPerms.getUserManager().modifyUser(player.getUniqueId(), user -> {
        user.data().add(node);
    });
}
 
ВерхНиз