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.OfflinePlayer;
import org.bukkit.entity.Player; 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 * 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 * @param player {@link OfflinePlayer} to request the placeholder value for, null if not needed for a
* player * player
* @param params String passed to the hook to determine what value to return * @param params String passed to the hook to determine what value to return
* @return value for the requested player and params * @return value for the requested player and params
*/ */
public String onRequest(OfflinePlayer player, String params) { @Nullable
if (player != null && player.isOnline()) { public String onRequest(@Nullable final OfflinePlayer player, @NotNull final String params)
return onPlaceholderRequest((Player) player, 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;
}
} }