Add API and beans for User and UserManager.

This commit is contained in:
Len
2024-06-16 20:40:12 +02:00
parent f5da67cc69
commit 41c5725ea8
6 changed files with 284 additions and 6 deletions
@@ -1,6 +1,5 @@
package com.alttd.essentia.events;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;
@@ -0,0 +1,44 @@
package com.alttd.essentia.user;
import org.bukkit.Location;
import org.jetbrains.annotations.ApiStatus;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
public interface User {
UUID getUUID();
Location getBackLocation(boolean death);
void setBackLocation(boolean death, Location location);
boolean hasHome(String name);
Location getHome(String name);
void setHome(String name, Location location);
void removeHome(String name);
int getHomeCount();
List<String> getMatchingHomeNames(String homeName);
Map<String, Location> getHomeData();
Set<String> getHomes();
boolean allowTeleports();
void setAllowTeleports(boolean allowTeleports);
@ApiStatus.Internal
boolean saving();
@ApiStatus.Internal
void saving(boolean saving);
}
@@ -0,0 +1,24 @@
package com.alttd.essentia.user;
import org.bukkit.entity.Player;
import java.util.Map;
import java.util.UUID;
public interface UserManager {
User getUser(Player player);
User getUser(UUID uuid);
void addUser(User user);
void removeUser(UUID uuid);
boolean hasUser(UUID uuid);
Map<UUID, User> getUsers();
User createNewUser(UUID uuid);
}