DIABLO1231SS
Пользователь
- Сообщения
- 16
Здравствуйте, ребята форума столкнулся с такой ошибкой пишу плагин на /pvp использую плагин Antirelog от leymooo импорты добавил сам Antirelog как библеотеку добавил но всеравно пишет ошибку пишу на java 8 вот сами ошибки
package ru.leymooo.antirelog does not exist cannot find symbol
package ru.leymooo.antirelog does not exist cannot find symbol
Код:
package me.kaban.pvp.utils;
import org.bukkit.*;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.Plugin;
import ru.leymooo.antirelog.Antirelog;
import ru.leymooo.antirelog.manager.PvPManager;
import java.util.Objects;
import java.util.Random;
public class GUIManager implements Listener {
private final Plugin plugin;
public GUIManager(Plugin plugin) {
this.plugin = plugin;
}
public static void openPvPMenu(Player player, Plugin plugin) {
Inventory menu = Bukkit.createInventory(null, 54, ChatColor.translateAlternateColorCodes('&',
Objects.requireNonNull(plugin.getConfig().getString("menu-title"))));
ItemStack slot21 = createItem(plugin, "slot-21");
menu.setItem(21, slot21);
ItemStack slot23 = createItem(plugin, "slot-23");
menu.setItem(23, slot23);
player.openInventory(menu);
}
private static ItemStack createItem(Plugin plugin, String configKey) {
Material material = Material.valueOf(plugin.getConfig().getString(configKey + ".material"));
ItemStack item = new ItemStack(material);
org.bukkit.inventory.meta.ItemMeta meta = item.getItemMeta();
if (meta != null) {
meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(plugin.getConfig().getString(configKey + ".name"))));
meta.setLore(plugin.getConfig().getStringList(configKey + ".lore").stream()
.map(line -> ChatColor.translateAlternateColorCodes('&', line))
.collect(java.util.stream.Collectors.toList()));
item.setItemMeta(meta);
}
return item;
}
@EventHandler
public void onInventoryClick(InventoryClickEvent event) {
if (!(event.getWhoClicked() instanceof Player)) return;
Player player = (Player) event.getWhoClicked();
if (event.getView().getTitle().equals(ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(plugin.getConfig().getString("menu-title"))))) {
event.setCancelled(true);
if (event.getCurrentItem() == null) return;
if (event.getSlot() == 21) {
Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&',
Objects.requireNonNull(plugin.getConfig().getString("search.message"))
.replace("%player_name%", player.getName())));
Player opponent = findRandomOpponent(player);
if (opponent != null) {
teleportPlayers(player, opponent);
String titleReady = ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(plugin.getConfig().getString("titles.ready")));
player.sendTitle(titleReady, "", 10, 70, 20);
opponent.sendTitle(titleReady, "", 10, 70, 20);
handleAntiRelogCooldown(player, opponent);
} else {
player.sendMessage(ChatColor.RED + "Не найден соперник для дуэли.");
}
} else if (event.getSlot() == 23) {
player.closeInventory();
player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cВы отменили поиск соперника."));
}
}
}
private Player findRandomOpponent(Player player) {
return Bukkit.getOnlinePlayers().stream()
.filter(p -> !p.equals(player))
.filter(p -> !p.getName().equals(player.getName()))
.findAny()
.orElse(null);
}
private void teleportPlayers(Player player1, Player player2) {
Random random = new Random();
String worldName = plugin.getConfig().getString("search.world");
World world = Bukkit.getWorld(worldName);
if (world == null) {
player1.sendMessage(ChatColor.RED + "Мир " + worldName + " не найден.");
player2.sendMessage(ChatColor.RED + "Мир " + worldName + " не найден.");
return;
}
int xMin = plugin.getConfig().getInt("search.coordinates.x-min", -100);
int xMax = plugin.getConfig().getInt("search.coordinates.x-max", 100);
int zMin = plugin.getConfig().getInt("search.coordinates.z-min", -100);
int zMax = plugin.getConfig().getInt("search.coordinates.z-max", 100);
int radius = plugin.getConfig().getInt("search.radius", 30);
int x1 = random.nextInt(xMax - xMin) + xMin;
int z1 = random.nextInt(zMax - zMin) + zMin;
int x2 = x1 + random.nextInt(radius * 2) - radius;
int z2 = z1 + random.nextInt(radius * 2) - radius;
Location loc1 = new Location(world, x1, world.getHighestBlockYAt(x1, z1) + 1, z1);
Location loc2 = new Location(world, x2, world.getHighestBlockYAt(x2, z2) + 1, z2);
player1.teleport(loc1);
player2.teleport(loc2);
}
private void handleAntiRelogCooldown(Player player, Player opponent) {
Antirelog plug = (Antirelog) Bukkit.getPluginManager().getPlugin("Antirelog");
if (plug != null) {
try {
PvPManager pvPManager = plug.getPvpManager();
pvPManager.playerDamagedByPlayer(player, opponent);
pvPManager.playerDamagedByPlayer(opponent, player);
} catch (NullPointerException e) {
plugin.getLogger().warning("Ошибка при работе с AntiRelog: " + e.getMessage());
} catch (Exception e) {
plugin.getLogger().warning("Неизвестная ошибка при работе с AntiRelog: " + e.getMessage());
}
}
}
}