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