Remove the API component - closes #51

This commit is contained in:
Focusvity
2022-08-02 22:08:52 +10:00
parent f806470fd5
commit d6b44863aa
63 changed files with 191 additions and 492 deletions
@@ -1,11 +0,0 @@
package dev.plex.api;
import java.util.Map;
import java.util.UUID;
public interface IPlayerCache<T>
{
Map<UUID, T> getPlexPlayerMap();
T getPlexPlayer(UUID uuid);
}
@@ -1,6 +0,0 @@
package dev.plex.api;
public interface PlexApi
{
IPlayerCache<?> getPlayerCache();
}
@@ -1,6 +0,0 @@
package dev.plex.api;
public interface PlexApiProvider
{
PlexApi getApi();
}
@@ -1,8 +0,0 @@
package dev.plex.api.chat;
import io.papermc.paper.event.player.AsyncChatEvent;
public interface IChatHandler
{
void doChat(AsyncChatEvent event);
}
@@ -1,39 +0,0 @@
package dev.plex.api.event;
import dev.plex.api.player.IPlexPlayer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.bukkit.command.CommandSender;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
/**
* Event that is run when a player is added to the admin list
*/
@EqualsAndHashCode(callSuper = false)
@Data
public class AdminAddEvent extends Event
{
private static final HandlerList handlers = new HandlerList();
/**
* The sender who added the player
*/
private final CommandSender sender;
/**
* The PlexPlayer that was added
*/
private final IPlexPlayer plexPlayer;
public static HandlerList getHandlerList()
{
return handlers;
}
@Override
public HandlerList getHandlers()
{
return handlers;
}
}
@@ -1,39 +0,0 @@
package dev.plex.api.event;
import dev.plex.api.player.IPlexPlayer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.bukkit.command.CommandSender;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
/**
* Event that is run when a player is removed from the admin list
*/
@EqualsAndHashCode(callSuper = false)
@Data
public class AdminRemoveEvent extends Event
{
private static final HandlerList handlers = new HandlerList();
/**
* The sender who added the player
*/
private final CommandSender sender;
/**
* The PlexPlayer that was removed
*/
private final IPlexPlayer plexPlayer;
public static HandlerList getHandlerList()
{
return handlers;
}
@Override
public HandlerList getHandlers()
{
return handlers;
}
}
@@ -1,45 +0,0 @@
package dev.plex.api.event;
import dev.plex.api.player.IPlexPlayer;
import dev.plex.api.rank.IRank;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.bukkit.command.CommandSender;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
/**
* Event that is run when an admins rank is set
*/
@EqualsAndHashCode(callSuper = false)
@Data
public class AdminSetRankEvent extends Event
{
private static final HandlerList handlers = new HandlerList();
/**
* The sender who added the player
*/
private final CommandSender sender;
/**
* The PlexPlayer that was removed
*/
private final IPlexPlayer plexPlayer;
/**
* The rank the player was set to
*/
private final IRank rank;
public static HandlerList getHandlerList()
{
return handlers;
}
@Override
public HandlerList getHandlers()
{
return handlers;
}
}
@@ -1,34 +0,0 @@
package dev.plex.api.event;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.bukkit.GameMode;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;
@EqualsAndHashCode(callSuper = false)
@Data
public class GameModeUpdateEvent extends Event
{
private static final HandlerList handlers = new HandlerList();
private final CommandSender sender;
private final Player player;
private final GameMode gameMode;
public static HandlerList getHandlerList()
{
return handlers;
}
@Override
public @NotNull HandlerList getHandlers()
{
return handlers;
}
}
@@ -1,38 +0,0 @@
package dev.plex.api.event;
import dev.plex.api.player.IPlexPlayer;
import lombok.Getter;
import lombok.Setter;
import org.bukkit.Bukkit;
import org.bukkit.event.Cancellable;
import org.bukkit.event.player.PlayerEvent;
/**
* Superclass for punishment events
*/
@Getter
public abstract class PunishedPlayerEvent extends PlayerEvent implements Cancellable
{
/**
* The player who was punished
*/
protected IPlexPlayer punishedPlayer;
/**
* Whether the event was cancelled
*/
@Setter
protected boolean cancelled; //TODO: unsure if cancelling the event does anything
/**
* Creates an event object
*
* @param punishedPlayer The player who was punished
* @see IPlexPlayer
*/
protected PunishedPlayerEvent(IPlexPlayer punishedPlayer)
{
super(Bukkit.getPlayer(punishedPlayer.getUuid()));
this.punishedPlayer = punishedPlayer;
}
}
@@ -1,43 +0,0 @@
package dev.plex.api.event;
import dev.plex.api.player.IPlexPlayer;
import lombok.Getter;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
/**
* Event that is called when a player is frozen or unfrozen
*/
@Getter
public class PunishedPlayerFreezeEvent extends PunishedPlayerEvent implements Cancellable
{
private static final HandlerList handlers = new HandlerList();
/**
* New frozen state of the player
*/
private final boolean frozen;
/**
* Creates a new event instance
*
* @param punishedPlayer The player who was punished
* @param frozen The new frozen status
*/
public PunishedPlayerFreezeEvent(IPlexPlayer punishedPlayer, boolean frozen)
{
super(punishedPlayer);
this.frozen = frozen;
}
public static HandlerList getHandlerList()
{
return handlers;
}
@Override
public HandlerList getHandlers()
{
return handlers;
}
}
@@ -1,43 +0,0 @@
package dev.plex.api.event;
import dev.plex.api.player.IPlexPlayer;
import lombok.Getter;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
/**
* Event that is called when a player is frozen or unfrozen
*/
@Getter
public class PunishedPlayerLockupEvent extends PunishedPlayerEvent implements Cancellable
{
private static final HandlerList handlers = new HandlerList();
/**
* New lock up state of the player
*/
private final boolean lockedUp;
/**
* Creates a new event instance
*
* @param punishedPlayer The player who was punished
* @param lockedUp The new muted status
*/
public PunishedPlayerLockupEvent(IPlexPlayer punishedPlayer, boolean lockedUp)
{
super(punishedPlayer);
this.lockedUp = lockedUp;
}
public static HandlerList getHandlerList()
{
return handlers;
}
@Override
public HandlerList getHandlers()
{
return handlers;
}
}
@@ -1,43 +0,0 @@
package dev.plex.api.event;
import dev.plex.api.player.IPlexPlayer;
import lombok.Getter;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
/**
* Event that is called when a player is frozen or unfrozen
*/
@Getter
public class PunishedPlayerMuteEvent extends PunishedPlayerEvent implements Cancellable
{
private static final HandlerList handlers = new HandlerList();
/**
* New muted state of the player
*/
private final boolean muted;
/**
* Creates a new event instance
*
* @param punishedPlayer The player who was punished
* @param muted The new muted status
*/
public PunishedPlayerMuteEvent(IPlexPlayer punishedPlayer, boolean muted)
{
super(punishedPlayer);
this.muted = muted;
}
public static HandlerList getHandlerList()
{
return handlers;
}
@Override
public HandlerList getHandlers()
{
return handlers;
}
}
@@ -1,32 +0,0 @@
package dev.plex.api.permission;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public interface IPermissionHandler
{
default boolean hasPermission(@NotNull Player player, @Nullable String permission)
{
if (permission == null)
{
return true;
}
return player.hasPermission(permission);
}
default boolean hasPermission(@NotNull OfflinePlayer player, @Nullable String permission)
{
if (permission == null)
{
return true;
}
if (player.isOnline() && Bukkit.getPlayer(player.getUniqueId()) != null)
{
return Bukkit.getPlayer(player.getUniqueId()).hasPermission(permission);
}
throw new UnsupportedOperationException("Not implemented yet");
}
}
@@ -1,67 +0,0 @@
package dev.plex.api.player;
import java.util.List;
import java.util.UUID;
import org.bukkit.entity.Player;
import org.bukkit.permissions.PermissionAttachment;
public interface IPlexPlayer
{
String getId();
UUID getUuid();
String getName();
Player getPlayer();
void setPlayer(Player player);
String getLoginMessage();
void setLoginMessage(String message);
String getPrefix();
void setPrefix(String prefix);
boolean isVanished();
void setVanished(boolean vanished);
boolean isCommandSpy();
void setCommandSpy(boolean commandSpy);
boolean isFrozen();
void setFrozen(boolean frozen);
boolean isMuted();
void setMuted(boolean muted);
boolean isLockedUp();
void setLockedUp(boolean lockedUp);
boolean isAdminActive();
void setAdminActive(boolean active);
long getCoins();
void setCoins(long coins);
String getRank();
void setRank(String rank);
List<String> getIps();
void setIps(List<String> ips);
PermissionAttachment getPermissionAttachment();
void setPermissionAttachment(PermissionAttachment attachment);
}
@@ -1,30 +0,0 @@
package dev.plex.api.plugin;
import dev.plex.api.chat.IChatHandler;
import dev.plex.api.permission.IPermissionHandler;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import org.bukkit.plugin.java.JavaPlugin;
@Getter
@Setter
public abstract class PlexPlugin extends JavaPlugin
{
@Setter(AccessLevel.NONE)
private static PlexPlugin plugin;
private IChatHandler chatHandler;
private IPermissionHandler permissionHandler;
@Override
public void onLoad()
{
plugin = this;
}
public static PlexPlugin get()
{
return plugin;
}
}
@@ -1,26 +0,0 @@
package dev.plex.api.rank;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import org.json.JSONObject;
public interface IRank<T>
{
int getLevel();
String getLoginMessage();
void setLoginMessage(String message);
String getReadable();
Component getPrefix();
void setPrefix(String prefix);
NamedTextColor getColor();
boolean isAtLeast(T rank);
JSONObject toJSON();
}