- Баллы
- 76
- Имя в Minecraft
- Lisenochek
У меня такая проблема. Мне надо, чтобы плагин в некоторых мирах работал, а в определенных нет. Проще говоря - whitelist миров. Можете мне помочь?
BungeeCord не предлагайте
BungeeCord не предлагайте
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Ты это в своём плагине хочешь сделать?Если да то получай мир таким образом event.getPlayer().getWorld()У меня такая проблема. Мне надо, чтобы плагин в некоторых мирах работал, а в определенных нет. Проще говоря - whitelist миров. Можете мне помочь?
BungeeCord не предлагайте
ДА , на своем, название мира тоже надо указывать?Ты это в своём плагине хочешь сделать?Если да то получай мир таким образом event.getPlayer().getWorld()
event.getPlayer().getWorld().getName().equals("название мира")Да и как указать, чтобы он работал в определенном мире. Раньше я такого не делал.
Добавляет частичную реалистичность.А что за плагин то?
А что именно он добавляет? Падающие блоки? Инопланетян? Болезни? Российские дороги?Добавляет частичную реалистичность.
Мне надо, чтобы плагин работал только в определенном одном мире.
За болезни спасибо.А что именно он добавляет? Падающие блоки? Инопланетян? Болезни? Российские дороги?
Ну вот на каждые "переломы и хрень" в эвентах перед началом выполнения действия проверяем мир. Где ниб храним лист с названиями миров, в которых мы работаем. Если мира, в котором игрок вызвал событие, в нашем листе нет - return;За болезни спасибо.
Улучшенный режим приключения. Переломы и всякая хрень.
Что то вроде. Жевательно заполнять лист из конфига, чтобы потом не компилировать заново плагин ради изменения одной строчки.Такс. Еще разок. В начале мы объявляем ArrayList с мирами (worlds) и в каждом ивенте в самом начале пишется условие проверки? Так я понял?
Конфиги я писать так и не научился... Смотрел много гайдов, но так и не понялЧто то вроде. Жевательно заполнять лист из конфига, чтобы потом не компилировать заново плагин ради изменения одной строчки.
@EventHandler
public void onBlockBreak(BlockBreakEvent e) {
if(e.getPlayer().getWorld().getName().equals("Test_World")) {
return;
}
HashMap b = com.realistic.list.list.blocks;
HashMap t = com.realistic.list.list.tools;
Player p = e.getPlayer();
Material itemInHand = p.getItemInHand().getType();
Material blockDestroy = e.getBlock().getType();
.........
Как будто что то сложное. В IDE создаёшь yaml файл (надеюсь, ты не в Eclipse?) и пишешьКонфиги я писать так и не научился... Смотрел много гайдов, но так и не понял
worlds:
- world
- world_nether
ArrayList<String> worlds = new ArrayList<>();
public void onEnable() {
this.saveDefaultConfig();
this.worlds.addAll(this.getConfig().getStringList("worlds"));
//....
Не. Проверять мир что то вроде этого:Java:@EventHandler public void onBlockBreak(BlockBreakEvent e) { if(e.getPlayer().getWorld().getName().equals("Test_World")) { return; } HashMap b = com.realistic.list.list.blocks; HashMap t = com.realistic.list.list.tools; Player p = e.getPlayer(); Material itemInHand = p.getItemInHand().getType(); Material blockDestroy = e.getBlock().getType(); .........
Вот так? Я записал это в самом начале. ArrayList перед событиями
@EventHandler
public void onBlockBreak(BlockBreakEvent e) {
if(!this.plugin.worlds.contains(e.getPlayer().getWorld().getName())) {
return;
}
HashMap b = com.realistic.list.list.blocks;
HashMap t = com.realistic.list.list.tools;
Player p = e.getPlayer();
Material itemInHand = p.getItemInHand().getType();
Material blockDestroy = e.getBlock().getType();
.........
ArrayList<String> worlds = new ArrayList<String>();
if(!this.plugin.worlds.contains(e.getPlayer().getWorld().getName())) {
return;
}
Eclipse is IDE.JavaScript:ArrayList<String> worlds = new ArrayList<String>();
Вот сам ArrayList
Проблема в том, что я в eclipse. Я привык к этой среде, а в IDE я не сидел никогда.
Передавать ссылку на мэйнкласс в класс слушателей - ?У меня евенты не в главном классе
Щас вот пытался, никак не могу.Eclipse is IDE.
ba-dum-tsss.jpg
Передавать ссылку на мэйнкласс в класс слушателей - ?
Listeners listener = new Listeners(this);Щас вот пытался, никак не могу.