Version 1.20.I am creating a plugin and getting a PlaceholderAPI error in Minecraft. The console gives me this error:
[18:02:29] [Server thread/ERROR]: Error occurred while enabling WarpManager v1.0 (Is it up to date?)
java.lang.NullPointerException: Cannot invoke "me.clip.placeholderapi.PlaceholderAPIPlugin.getLocalExpansionManager()" because the return value of "me.clip.placeholderapi.expansion.PlaceholderExpansion.getPlaceholderAPI()" is null
d!
I tried searching on the internet but without results. The error tells me that I haven’t registered PlaceholderAPI, but I have.
Here is my WarpManager class:
@Override
public void onEnable() {
instance = this;
if (!setupEconomy()) {
getLogger().info("Vault non trovato o non caricato correttamente.");
getServer().getPluginManager().disablePlugin(this);
return;
}
saveDefaultConfig();
setupDatabase();
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
placeholderExpansion = new WarpPlaceholderExpansion(this);
placeholderExpansion.register();
getLogger().info("PlaceholderAPI trovato e l'espansione è stata registrata.");
} else {
getLogger().warning("PlaceholderAPI non è disponibile. L'espansione non sarà registrata.");
}
getCommand("warps").setExecutor(new WarpsCommand(placeholderExpansion));
}
}
And here is my WarpPlaceholderExpansion class:
public class WarpPlaceholderExpansion extends PlaceholderExpansion {
private final WarpManager plugin;
private String warpName;
private String warpState;
private String warpOwner;
private String warpPrice;
public WarpPlaceholderExpansion(WarpManager plugin) {
this.plugin = plugin;
}
@Override
public String getIdentifier() {
return "warp";
}
@Override
public String getAuthor() {
return plugin.getDescription().getAuthors().toString();
}
@Override
public String getVersion() {
return plugin.getDescription().getVersion();
}
public void setWarpData(String name, String state, String owner, String price) {
this.warpName = name;
this.warpState = state;
this.warpOwner = owner;
this.warpPrice = price;
}
@Override
public String onPlaceholderRequest(Player player, String identifier) {
if (warpName == null || warpState == null || warpOwner == null || warpPrice == null) {
return "";
}
switch (identifier) {
case "name":
return warpName;
case "state":
return warpState;
case "owner":
return warpOwner;
case "price":
return warpPrice;
default:
return null;
}
}
}
The error tells me that I haven’t registered PlaceholderAPI, but I have.
I tried searching on the internet but without results.
Horat2000 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.