mirror of
https://github.com/plexusorg/Module-TFMExtras.git
synced 2025-04-11 22:03:14 +00:00
Add Visit permissions Add Edit Permissions Add Interact Permissions TODO: Banning members, adding members to world, removing all non-members from world if visit is set to nobody
56 lines
1.4 KiB
Java
56 lines
1.4 KiB
Java
package dev.plex.extras.island;
|
|
|
|
import com.google.common.collect.Lists;
|
|
import dev.plex.extras.TFMExtras;
|
|
import dev.plex.extras.island.info.IslandPermissions;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Getter;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.Setter;
|
|
import lombok.experimental.Accessors;
|
|
|
|
import java.util.List;
|
|
import java.util.UUID;
|
|
import java.util.concurrent.CompletableFuture;
|
|
|
|
/**
|
|
* @author Taah
|
|
* @since 9:26 PM [24-08-2023]
|
|
*/
|
|
@AllArgsConstructor
|
|
//@SQLTable("player_worlds")
|
|
@Getter
|
|
@Setter
|
|
@Accessors(fluent = true)
|
|
public class PlayerWorld
|
|
{
|
|
// @PrimaryKey
|
|
private final UUID owner;
|
|
private final List<UUID> members;
|
|
private IslandPermissions editPermission;
|
|
private IslandPermissions visitPermission;
|
|
private IslandPermissions interactPermission;
|
|
|
|
public boolean addMember(UUID member)
|
|
{
|
|
if (members.contains(member))
|
|
{
|
|
return false;
|
|
}
|
|
CompletableFuture.runAsync(() -> TFMExtras.getModule().getIslandHandler().insertMember(this.owner, member));
|
|
this.members.add(member);
|
|
return true;
|
|
}
|
|
|
|
public boolean removeMember(UUID member)
|
|
{
|
|
if (!members.contains(member))
|
|
{
|
|
return false;
|
|
}
|
|
CompletableFuture.runAsync(() -> TFMExtras.getModule().getIslandHandler().deleteMember(this.owner, member));
|
|
this.members.remove(member);
|
|
return true;
|
|
}
|
|
}
|