Я пытаюсь вставить метод, который предоставляет случайную строку из массива и выполняет ее в команде Minecraft.
Ошибка
В нем говорится, что тип java: 'void' здесь не разрешен при добавлении оператора + между строками с помощью метода randomKey().
Я разрабатываю плагин внутри IntelliJ.
public class events implements Listener{
public static void main(String[] args)
{
randomKey();
}
public static void randomKey(){
String[] crates = {"Basic", "Classic", "Crazy", "Galactic"};
Random random = new Random();
int RandomNumber = random.nextInt(crates.length);
System.out.println(crates[RandomNumber]);
}
@EventHandler
public void keyGiver(BlockBreakEvent event ){
//get block type grass
Block block = event.getBlock();
Material material = block.getType();
Player player = event.getPlayer();
if (material.equals(Material.GRASS)){
getServer().dispatchCommand(getServer().getConsoleSender(), "cc give Physical"+randomKey()+" 1 " + player.getName() + " ");
}
}```
вам нужно что-то вернуть, чтобы использовать функцию в выражении, это исправление, которое я рекомендую на основе вашего кода:
public static String randomKey(){
String[] crates = {"Basic", "Classic", "Crazy", "Galactic"};
Random random = new Random();
int RandomNumber = random.nextInt(crates.length);
System.out.println(crates[RandomNumber]);
return crates[RandomNumber];
}
имена классов в CamelCase, имена методов в нижнем регистре, имена переменных в нижнем регистре, просто заметил, что