Im trying to make a minecraft anti cheat with bukkit. my server version is 1.18.
but i seem to get this error;
java: cannot find symbol symbol: method getTitle() location: variable inventory of type org.bukkit.inventory.Inventory
here is the segment of code that error is referring about;
if (inventory.getTitle().equals("Flagged Players")) {
full segment of code (Not entire file of code):
package anticheat.anticheat;
import java.util.HashMap;
import java.util.Map;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.event.player.PlayerMoveEvent;
public class Anticheat implements Listener {
private Map<Player, Boolean> flaggedPlayers = new HashMap<>();
private Map<Player, Inventory> flaggedPlayersInventory = new HashMap<>();
@EventHandler
public void onPlayerMove(PlayerMoveEvent event) {
Player player = event.getPlayer();
if (isUsingFlyHack(player)) {
// Flag the player and kick them from the server
flagPlayer(player);
player.kickPlayer("Using fly hacks is not allowed on this server");
}
}
@EventHandler
public void onInventoryClick(InventoryClickEvent event) {
Player player = (Player) event.getWhoClicked();
Inventory inventory = event.getInventory();
if (inventory.getType() == InventoryType.CHEST) {
if (inventory.getTitle().equals("Flagged Players")) {
ItemStack item = event.getCurrentItem();
SkullMeta meta = (SkullMeta) item.getItemMeta();
Player flaggedPlayer = Bukkit.getPlayer(meta.getOwningPlayer().getName());
// Check if the clicked item is a player head
if (item.getType() == Material.PLAYER_HEAD && flaggedPlayers.get(flaggedPlayer) != null) {
}
event.setCancelled(true);
}
}
}
I have tried to replace .getTitle
with .getName
using the code bellow
if (inventory.getTitle().equals("Flagged Players")) {
But that didn't fix it and gave me the same error.
**I have also tried **
if (inventory.getType() == InventoryType.CHEST && inventory.getTitle().equals("Flagged Players")) {
But also gave me the same output.