package com.massivecraft.factions.entity; import com.massivecraft.factions.RelationParticipator; import com.massivecraft.factions.TerritoryAccess; import com.massivecraft.massivecore.ps.PS; import java.util.List; import java.util.Map; import java.util.Set; public interface BoardInterface { // GET TerritoryAccess getTerritoryAccessAt(PS ps); Faction getFactionAt(PS ps); // SET void setTerritoryAccessAt(PS ps, TerritoryAccess territoryAccess); void setFactionAt(PS ps, Faction faction); // REMOVE void removeAt(PS ps); void removeAll(Faction faction); int clean(); // CHUNKS Set getChunks(Faction faction); Set getChunks(String factionId); Map> getFactionToChunks(); // COUNT int getCount(Faction faction); int getCount(String factionId); Map getFactionToCount(); // CLAIMED boolean hasClaimed(Faction faction); boolean hasClaimed(String factionId); // NEARBY DETECTION boolean isBorderPs(PS ps); boolean isAnyBorderPs(Set pss); boolean isConnectedPs(PS ps, Faction faction); boolean isAnyConnectedPs(Set pss, Faction faction); // MAP // TODO: Could the degrees be embedded in centerPs yaw instead? List getMap(RelationParticipator observer, PS centerPs, double inDegrees, int width, int height); }