Some minor cleanup to TerritoryAccess source code.
This commit is contained in:
parent
a891fc8a0a
commit
00774087d3
@ -32,7 +32,7 @@ public class Board
|
|||||||
{
|
{
|
||||||
if ( ! flocationIds.containsKey(flocation)) return "0";
|
if ( ! flocationIds.containsKey(flocation)) return "0";
|
||||||
|
|
||||||
return flocationIds.get(flocation).getHostFactionID();
|
return flocationIds.get(flocation).getHostFactionId();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static TerritoryAccess getTerritoryAccessAt(FLocation flocation)
|
public static TerritoryAccess getTerritoryAccessAt(FLocation flocation)
|
||||||
@ -84,7 +84,7 @@ public class Board
|
|||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
Entry<FLocation, TerritoryAccess> entry = iter.next();
|
Entry<FLocation, TerritoryAccess> entry = iter.next();
|
||||||
if (entry.getValue().getHostFactionID().equals(factionId))
|
if (entry.getValue().getHostFactionId().equals(factionId))
|
||||||
{
|
{
|
||||||
if(ConfServer.onUnclaimResetLwcLocks && LWCFeatures.getEnabled())
|
if(ConfServer.onUnclaimResetLwcLocks && LWCFeatures.getEnabled())
|
||||||
LWCFeatures.clearAllChests(entry.getKey());
|
LWCFeatures.clearAllChests(entry.getKey());
|
||||||
@ -126,12 +126,12 @@ public class Board
|
|||||||
Iterator<Entry<FLocation, TerritoryAccess>> iter = flocationIds.entrySet().iterator();
|
Iterator<Entry<FLocation, TerritoryAccess>> iter = flocationIds.entrySet().iterator();
|
||||||
while (iter.hasNext()) {
|
while (iter.hasNext()) {
|
||||||
Entry<FLocation, TerritoryAccess> entry = iter.next();
|
Entry<FLocation, TerritoryAccess> entry = iter.next();
|
||||||
if ( ! FactionColl.i.exists(entry.getValue().getHostFactionID()))
|
if ( ! FactionColl.i.exists(entry.getValue().getHostFactionId()))
|
||||||
{
|
{
|
||||||
if(ConfServer.onUnclaimResetLwcLocks && LWCFeatures.getEnabled())
|
if(ConfServer.onUnclaimResetLwcLocks && LWCFeatures.getEnabled())
|
||||||
LWCFeatures.clearAllChests(entry.getKey());
|
LWCFeatures.clearAllChests(entry.getKey());
|
||||||
|
|
||||||
Factions.get().log("Board cleaner removed "+entry.getValue().getHostFactionID()+" from "+entry.getKey());
|
Factions.get().log("Board cleaner removed "+entry.getValue().getHostFactionId()+" from "+entry.getKey());
|
||||||
iter.remove();
|
iter.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -146,7 +146,7 @@ public class Board
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
for (TerritoryAccess thatFactionId : flocationIds.values())
|
for (TerritoryAccess thatFactionId : flocationIds.values())
|
||||||
{
|
{
|
||||||
if(thatFactionId.getHostFactionID().equals(factionId))
|
if(thatFactionId.getHostFactionId().equals(factionId))
|
||||||
{
|
{
|
||||||
ret += 1;
|
ret += 1;
|
||||||
}
|
}
|
||||||
@ -166,7 +166,7 @@ public class Board
|
|||||||
Iterator<Entry<FLocation, TerritoryAccess>> iter = flocationIds.entrySet().iterator();
|
Iterator<Entry<FLocation, TerritoryAccess>> iter = flocationIds.entrySet().iterator();
|
||||||
while (iter.hasNext()) {
|
while (iter.hasNext()) {
|
||||||
Entry<FLocation, TerritoryAccess> entry = iter.next();
|
Entry<FLocation, TerritoryAccess> entry = iter.next();
|
||||||
if (entry.getValue().getHostFactionID().equals(factionId) && entry.getKey().getWorldName().equals(worldName))
|
if (entry.getValue().getHostFactionId().equals(factionId) && entry.getKey().getWorldName().equals(worldName))
|
||||||
{
|
{
|
||||||
ret += 1;
|
ret += 1;
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,6 @@ import com.massivecraft.factions.util.MiscUtil;
|
|||||||
|
|
||||||
public class FLocation
|
public class FLocation
|
||||||
{
|
{
|
||||||
|
|
||||||
private String worldName = "world";
|
private String worldName = "world";
|
||||||
private int x = 0;
|
private int x = 0;
|
||||||
private int z = 0;
|
private int z = 0;
|
||||||
|
@ -7,125 +7,91 @@ import org.bukkit.entity.Player;
|
|||||||
|
|
||||||
public class TerritoryAccess
|
public class TerritoryAccess
|
||||||
{
|
{
|
||||||
protected String hostFactionID;
|
// -------------------------------------------- //
|
||||||
protected boolean hostFactionAllowed = true;
|
// FIELDS: RAW
|
||||||
protected Set<String> factionIDs = new LinkedHashSet<String>();
|
// -------------------------------------------- //
|
||||||
protected Set<String> fplayerIDs = new LinkedHashSet<String>();
|
|
||||||
|
private String hostFactionId;
|
||||||
|
public String getHostFactionId()
|
||||||
|
{
|
||||||
|
return this.hostFactionId;
|
||||||
|
}
|
||||||
|
public Faction getHostFaction() { return FactionColl.i.get(this.hostFactionId); }
|
||||||
|
|
||||||
|
public void setHostFactionId(String factionId)
|
||||||
|
{
|
||||||
|
// TODO: Why all these here???
|
||||||
|
this.hostFactionId = factionId;
|
||||||
|
this.hostFactionAllowed = true;
|
||||||
|
this.factionIds.clear();
|
||||||
|
this.fplayerIds.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean hostFactionAllowed = true;
|
||||||
|
public boolean isHostFactionAllowed() { return this.hostFactionAllowed; }
|
||||||
|
public void setHostFactionAllowed(boolean allowed) { this.hostFactionAllowed = allowed; }
|
||||||
|
|
||||||
|
private Set<String> factionIds = new LinkedHashSet<String>();
|
||||||
|
public Set<String> getFactionIds() { return this.factionIds; }
|
||||||
|
|
||||||
|
private Set<String> fplayerIds = new LinkedHashSet<String>();
|
||||||
|
public Set<String> getFPlayerIds() { return this.fplayerIds; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// CONSTRUCT
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public TerritoryAccess(String factionID)
|
public TerritoryAccess(String factionID)
|
||||||
{
|
{
|
||||||
hostFactionID = factionID;
|
hostFactionId = factionID;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TerritoryAccess() {}
|
public TerritoryAccess()
|
||||||
|
{
|
||||||
|
|
||||||
public void setHostFactionID(String factionID)
|
}
|
||||||
{
|
|
||||||
hostFactionID = factionID;
|
// -------------------------------------------- //
|
||||||
hostFactionAllowed = true;
|
// FIELDS: UTILS
|
||||||
factionIDs.clear();
|
// -------------------------------------------- //
|
||||||
fplayerIDs.clear();
|
|
||||||
}
|
|
||||||
public String getHostFactionID()
|
|
||||||
{
|
|
||||||
return hostFactionID;
|
|
||||||
}
|
|
||||||
public Faction getHostFaction()
|
|
||||||
{
|
|
||||||
return FactionColl.i.get(hostFactionID);
|
|
||||||
}
|
|
||||||
|
|
||||||
// considered "default" if host faction is still allowed and nobody has been granted access
|
|
||||||
public boolean isDefault()
|
|
||||||
{
|
|
||||||
return this.hostFactionAllowed && factionIDs.isEmpty() && fplayerIDs.isEmpty();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isHostFactionAllowed()
|
|
||||||
{
|
|
||||||
return this.hostFactionAllowed;
|
|
||||||
}
|
|
||||||
public void setHostFactionAllowed(boolean allowed)
|
|
||||||
{
|
|
||||||
this.hostFactionAllowed = allowed;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean doesHostFactionMatch(Object testSubject)
|
|
||||||
{
|
|
||||||
if (testSubject instanceof String)
|
|
||||||
return hostFactionID.equals((String)testSubject);
|
|
||||||
else if (testSubject instanceof Player)
|
|
||||||
return hostFactionID.equals(FPlayerColl.i.get((Player)testSubject).getFactionId());
|
|
||||||
else if (testSubject instanceof FPlayer)
|
|
||||||
return hostFactionID.equals(((FPlayer)testSubject).getFactionId());
|
|
||||||
else if (testSubject instanceof Faction)
|
|
||||||
return hostFactionID.equals(((Faction)testSubject).getId());
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addFaction(String factionID)
|
|
||||||
{
|
|
||||||
factionIDs.add(factionID);
|
|
||||||
}
|
|
||||||
public void addFaction(Faction faction)
|
|
||||||
{
|
|
||||||
addFaction(faction.getId());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addFPlayer(String fplayerID)
|
|
||||||
{
|
|
||||||
fplayerIDs.add(fplayerID);
|
|
||||||
}
|
|
||||||
public void addFPlayer(FPlayer fplayer)
|
|
||||||
{
|
|
||||||
addFPlayer(fplayer.getId());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void removeFaction(String factionID)
|
|
||||||
{
|
|
||||||
factionIDs.remove(factionID);
|
|
||||||
}
|
|
||||||
public void removeFaction(Faction faction)
|
|
||||||
{
|
|
||||||
removeFaction(faction.getId());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void removeFPlayer(String fplayerID)
|
|
||||||
{
|
|
||||||
fplayerIDs.remove(fplayerID);
|
|
||||||
}
|
|
||||||
public void removeFPlayer(FPlayer fplayer)
|
|
||||||
{
|
|
||||||
removeFPlayer(fplayer.getId());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
public void addFaction(String factionId) { this.getFactionIds().add(factionId); }
|
||||||
|
public void addFaction(Faction faction) { this.addFaction(faction.getId()); }
|
||||||
|
public void removeFaction(String factionID) { this.getFactionIds().remove(factionID); }
|
||||||
|
public void removeFaction(Faction faction) { this.removeFaction(faction.getId()); }
|
||||||
|
|
||||||
// return true if faction was added, false if it was removed
|
// return true if faction was added, false if it was removed
|
||||||
public boolean toggleFaction(String factionID)
|
public boolean toggleFaction(String factionID)
|
||||||
{
|
{
|
||||||
// if the host faction, special handling
|
// if the host faction, special handling
|
||||||
if (doesHostFactionMatch(factionID))
|
if (doesHostFactionMatch(factionID))
|
||||||
{
|
{
|
||||||
hostFactionAllowed ^= true;
|
this.hostFactionAllowed ^= true;
|
||||||
return hostFactionAllowed;
|
return this.hostFactionAllowed;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (factionIDs.contains(factionID))
|
if (this.getFactionIds().contains(factionID))
|
||||||
{
|
{
|
||||||
removeFaction(factionID);
|
removeFaction(factionID);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
addFaction(factionID);
|
this.addFaction(factionID);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public boolean toggleFaction(Faction faction)
|
public boolean toggleFaction(Faction faction)
|
||||||
{
|
{
|
||||||
return toggleFaction(faction.getId());
|
return toggleFaction(faction.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void addFPlayer(String fplayerID) { this.getFPlayerIds().add(fplayerID); }
|
||||||
|
public void addFPlayer(FPlayer fplayer) { this.addFPlayer(fplayer.getId()); }
|
||||||
|
public void removeFPlayer(String fplayerID) { this.getFPlayerIds().remove(fplayerID); }
|
||||||
|
public void removeFPlayer(FPlayer fplayer) { this.removeFPlayer(fplayer.getId()); }
|
||||||
|
|
||||||
public boolean toggleFPlayer(String fplayerID)
|
public boolean toggleFPlayer(String fplayerID)
|
||||||
{
|
{
|
||||||
if (fplayerIDs.contains(fplayerID))
|
if (this.getFPlayerIds().contains(fplayerID))
|
||||||
{
|
{
|
||||||
removeFPlayer(fplayerID);
|
removeFPlayer(fplayerID);
|
||||||
return false;
|
return false;
|
||||||
@ -137,11 +103,37 @@ public class TerritoryAccess
|
|||||||
{
|
{
|
||||||
return toggleFPlayer(fplayer.getId());
|
return toggleFPlayer(fplayer.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public boolean doesHostFactionMatch(Object testSubject)
|
||||||
|
{
|
||||||
|
if (testSubject instanceof String)
|
||||||
|
return hostFactionId.equals((String)testSubject);
|
||||||
|
else if (testSubject instanceof Player)
|
||||||
|
return hostFactionId.equals(FPlayerColl.i.get((Player)testSubject).getFactionId());
|
||||||
|
else if (testSubject instanceof FPlayer)
|
||||||
|
return hostFactionId.equals(((FPlayer)testSubject).getFactionId());
|
||||||
|
else if (testSubject instanceof Faction)
|
||||||
|
return hostFactionId.equals(((Faction)testSubject).getId());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// UTILS
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
// considered "default" if host faction is still allowed and nobody has been granted access
|
||||||
|
public boolean isDefault()
|
||||||
|
{
|
||||||
|
return this.hostFactionAllowed && factionIds.isEmpty() && fplayerIds.isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public String factionList()
|
public String factionList()
|
||||||
{
|
{
|
||||||
StringBuilder list = new StringBuilder();
|
StringBuilder list = new StringBuilder();
|
||||||
for (String factionID : factionIDs)
|
for (String factionID : factionIds)
|
||||||
{
|
{
|
||||||
if (list.length() > 0)
|
if (list.length() > 0)
|
||||||
list.append(", ");
|
list.append(", ");
|
||||||
@ -153,7 +145,7 @@ public class TerritoryAccess
|
|||||||
public String fplayerList()
|
public String fplayerList()
|
||||||
{
|
{
|
||||||
StringBuilder list = new StringBuilder();
|
StringBuilder list = new StringBuilder();
|
||||||
for (String fplayerID : fplayerIDs)
|
for (String fplayerID : fplayerIds)
|
||||||
{
|
{
|
||||||
if (list.length() > 0)
|
if (list.length() > 0)
|
||||||
list.append(", ");
|
list.append(", ");
|
||||||
@ -177,7 +169,7 @@ public class TerritoryAccess
|
|||||||
public boolean fPlayerHasAccess(FPlayer fplayer)
|
public boolean fPlayerHasAccess(FPlayer fplayer)
|
||||||
{
|
{
|
||||||
if (factionHasAccess(fplayer.getFactionId())) return true;
|
if (factionHasAccess(fplayer.getFactionId())) return true;
|
||||||
return fplayerIDs.contains(fplayer.getId());
|
return fplayerIds.contains(fplayer.getId());
|
||||||
}
|
}
|
||||||
public boolean factionHasAccess(Faction faction)
|
public boolean factionHasAccess(Faction faction)
|
||||||
{
|
{
|
||||||
@ -185,7 +177,7 @@ public class TerritoryAccess
|
|||||||
}
|
}
|
||||||
public boolean factionHasAccess(String factionID)
|
public boolean factionHasAccess(String factionID)
|
||||||
{
|
{
|
||||||
return factionIDs.contains(factionID);
|
return factionIds.contains(factionID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// this should normally only be checked after running subjectHasAccess() or fPlayerHasAccess() above to see if they have access explicitly granted
|
// this should normally only be checked after running subjectHasAccess() or fPlayerHasAccess() above to see if they have access explicitly granted
|
||||||
@ -201,7 +193,7 @@ public class TerritoryAccess
|
|||||||
@Override
|
@Override
|
||||||
public int hashCode()
|
public int hashCode()
|
||||||
{
|
{
|
||||||
return this.hostFactionID.hashCode();
|
return this.hostFactionId.hashCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -212,6 +204,6 @@ public class TerritoryAccess
|
|||||||
if (!(obj instanceof TerritoryAccess)) return false;
|
if (!(obj instanceof TerritoryAccess)) return false;
|
||||||
|
|
||||||
TerritoryAccess that = (TerritoryAccess) obj;
|
TerritoryAccess that = (TerritoryAccess) obj;
|
||||||
return this.hostFactionID.equals(that.hostFactionID) && this.hostFactionAllowed == that.hostFactionAllowed && this.factionIDs == that.factionIDs && this.fplayerIDs == that.fplayerIDs;
|
return this.hostFactionId.equals(that.hostFactionId) && this.hostFactionAllowed == that.hostFactionAllowed && this.factionIds == that.factionIds && this.fplayerIds == that.fplayerIds;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -94,10 +94,10 @@ public class TerritoryAccessAdapter implements JsonDeserializer<TerritoryAccess>
|
|||||||
if (src.isDefault())
|
if (src.isDefault())
|
||||||
{
|
{
|
||||||
// if Wilderness (faction "0") and default access values, no need to store it
|
// if Wilderness (faction "0") and default access values, no need to store it
|
||||||
if (src.getHostFactionID().equals("0"))
|
if (src.getHostFactionId().equals("0"))
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return new JsonPrimitive(src.getHostFactionID());
|
return new JsonPrimitive(src.getHostFactionId());
|
||||||
}
|
}
|
||||||
|
|
||||||
// otherwise, store all data
|
// otherwise, store all data
|
||||||
@ -106,19 +106,19 @@ public class TerritoryAccessAdapter implements JsonDeserializer<TerritoryAccess>
|
|||||||
JsonArray factions = new JsonArray();
|
JsonArray factions = new JsonArray();
|
||||||
JsonArray fplayers = new JsonArray();
|
JsonArray fplayers = new JsonArray();
|
||||||
|
|
||||||
Iterator<String> iter = src.factionIDs.iterator();
|
Iterator<String> iter = src.getFactionIds().iterator();
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
factions.add(new JsonPrimitive(iter.next()));
|
factions.add(new JsonPrimitive(iter.next()));
|
||||||
}
|
}
|
||||||
|
|
||||||
iter = src.fplayerIDs.iterator();
|
iter = src.getFPlayerIds().iterator();
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
fplayers.add(new JsonPrimitive(iter.next()));
|
fplayers.add(new JsonPrimitive(iter.next()));
|
||||||
}
|
}
|
||||||
|
|
||||||
obj.addProperty(ID, src.getHostFactionID());
|
obj.addProperty(ID, src.getHostFactionId());
|
||||||
obj.addProperty(OPEN, src.isHostFactionAllowed());
|
obj.addProperty(OPEN, src.isHostFactionAllowed());
|
||||||
obj.add(FACTIONS, factions);
|
obj.add(FACTIONS, factions);
|
||||||
obj.add(FPLAYERS, fplayers);
|
obj.add(FPLAYERS, fplayers);
|
||||||
|
Loading…
Reference in New Issue
Block a user