updated placeholder hook to define immutability and null contracts, deprecated online player function

This commit is contained in:
Sxtanna 2020-07-20 18:14:13 -04:00
parent 9060ea6bd3
commit 3b3892e7d6
1 changed files with 35 additions and 25 deletions

View File

@ -22,33 +22,43 @@ package me.clip.placeholderapi;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public abstract class PlaceholderHook {
public abstract class PlaceholderHook
{
/**
* called when a placeholder value is requested from this hook
*
* @param player {@link OfflinePlayer} to request the placeholder value for, null if not needed for a
* player
* @param params String passed to the hook to determine what value to return
* @return value for the requested player and params
*/
public String onRequest(OfflinePlayer player, String params) {
if (player != null && player.isOnline()) {
return onPlaceholderRequest((Player) player, params);
}
/**
* called when a placeholder value is requested from this hook
*
* @param player {@link OfflinePlayer} to request the placeholder value for, null if not needed for a
* player
* @param params String passed to the hook to determine what value to return
* @return value for the requested player and params
*/
@Nullable
public String onRequest(@Nullable final OfflinePlayer player, @NotNull final String params)
{
if (player != null && player.isOnline())
{
return onPlaceholderRequest((Player) player, params);
}
return onPlaceholderRequest(null, params);
}
return onPlaceholderRequest(null, params);
}
/**
* called when a placeholder is requested from this hook
*
* @param player {@link Player} to request the placeholder value for, null if not needed for a player
* @param params String passed to the hook to determine what value to return
* @return value for the requested player and params
*/
@Nullable
@Deprecated
public String onPlaceholderRequest(@Nullable final Player player, @NotNull final String params)
{
return null;
}
/**
* called when a placeholder is requested from this hook
*
* @param player {@link Player} to request the placeholder value for, null if not needed for a player
* @param params String passed to the hook to determine what value to return
* @return value for the requested player and params
*/
public String onPlaceholderRequest(Player player, String params) {
return null;
}
}