- Баллы
- 11
- Имя в Minecraft
- crypt0x
Вылазит ошика Method invocation 'setExecutor' may produce 'NullPointerException' в главвном классе. Первый раз разрабатваю плагин в своей жизни и не особо понимаю в ошибках.
Ниже приложил код в чём моя ошибка? Благодарю всех за помощь.
main:
Ниже приложил код в чём моя ошибка? Благодарю всех за помощь.
main:
Код:
package orel.main;[/B][/B]
[B][B]
import org.bukkit.plugin.java.JavaPlugin;
public final class orelandreshka extends JavaPlugin {
@Override
public void onEnable() {
getCommand("orel").setExecutor(new CmdOR(this));
getLogger().info("Plugin Orel loaded!");
}
@Override
public void onDisable() {
// Plugin shutdown logic
}
}
CmdOR
Код:
package orel.main;[/B][/B]
[B][B]
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
import org.bukkit.entity.Player;
import java.util.Random;
public class CmdOR implements CommandExecutor{
private final orelandreshka plugin;
public CmdOR(orelandreshka plugin) {
this.plugin = plugin;
}
Random rnd = new Random();
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
if (!(sender instanceof Player)) return true;
Player player = (Player) sender;
int index = rnd.nextInt();
if (index == 0)
player.getLocation().getNearbyPlayers(15).forEach(p -> p.sendMessage("Подбросив монетку выпал - Орёл"));
else
player.getLocation().getNearbyPlayers(15).forEach(p -> p.sendMessage("Подбросив монетку выпала - Решка"));
return false;
}
}
plugin.yml
Код:
name: OrelReshka[/B][/B]
[B][B]version: ${project.version}
main: orel.main.orelandreshka
api-version: 1.16
authors: [ crypt0x ]
commands:
orel:
description: OrelAndReshka for you server
usage: /orel
Работаю в Intellij IDEA 2020
Суть плагина:
при вводе комманды /orel в чате в радиусе 15 блоков писалось всем орёл или решка.