Allow naming of chunks
This commit is contained in:
parent
bc01275933
commit
bc62e17068
@ -26,6 +26,7 @@ permissions:
|
|||||||
factions.access.view: {description: view access, default: false}
|
factions.access.view: {description: view access, default: false}
|
||||||
factions.override: {description: enable override mode, default: false}
|
factions.override: {description: enable override mode, default: false}
|
||||||
factions.basecommand: {description: use factions base command, default: false}
|
factions.basecommand: {description: use factions base command, default: false}
|
||||||
|
factions.chunkname: {description: set chunk name, default: false}
|
||||||
factions.claim: {description: claim faction territory, default: false}
|
factions.claim: {description: claim faction territory, default: false}
|
||||||
factions.claim.one: {description: claim a single chunk, default: false}
|
factions.claim.one: {description: claim a single chunk, default: false}
|
||||||
factions.claim.auto: {description: claim as you walk around, default: false}
|
factions.claim.auto: {description: claim as you walk around, default: false}
|
||||||
@ -163,6 +164,7 @@ permissions:
|
|||||||
factions.access.view: true
|
factions.access.view: true
|
||||||
factions.override: true
|
factions.override: true
|
||||||
factions.basecommand: true
|
factions.basecommand: true
|
||||||
|
factions.chunkname: true
|
||||||
factions.claim: true
|
factions.claim: true
|
||||||
factions.claim.one: true
|
factions.claim.one: true
|
||||||
factions.claim.auto: true
|
factions.claim.auto: true
|
||||||
@ -344,6 +346,7 @@ permissions:
|
|||||||
factions.access.inspect: true
|
factions.access.inspect: true
|
||||||
factions.access.view: true
|
factions.access.view: true
|
||||||
factions.basecommand: true
|
factions.basecommand: true
|
||||||
|
factions.chunkname: true
|
||||||
factions.claim: true
|
factions.claim: true
|
||||||
factions.claim.one: true
|
factions.claim.one: true
|
||||||
factions.claim.auto: true
|
factions.claim.auto: true
|
||||||
|
@ -29,6 +29,10 @@ public class TerritoryAccess
|
|||||||
private final Set<String> grantedIds;
|
private final Set<String> grantedIds;
|
||||||
public Set<String> getGrantedIds() { return this.grantedIds; }
|
public Set<String> getGrantedIds() { return this.grantedIds; }
|
||||||
|
|
||||||
|
// default is null
|
||||||
|
private final String chunkName;
|
||||||
|
public String getChunkName() { return this.chunkName; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FIELDS: VERSION
|
// FIELDS: VERSION
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
@ -40,9 +44,10 @@ public class TerritoryAccess
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
// The simple ones
|
// The simple ones
|
||||||
public TerritoryAccess withHostFactionId(String hostFactionId) { return valueOf(hostFactionId, hostFactionAllowed, grantedIds); }
|
public TerritoryAccess withHostFactionId(String hostFactionId) { return valueOf(hostFactionId, hostFactionAllowed, grantedIds, chunkName); }
|
||||||
public TerritoryAccess withHostFactionAllowed(Boolean hostFactionAllowed) { return valueOf(hostFactionId, hostFactionAllowed, grantedIds); }
|
public TerritoryAccess withHostFactionAllowed(Boolean hostFactionAllowed) { return valueOf(hostFactionId, hostFactionAllowed, grantedIds, chunkName); }
|
||||||
public TerritoryAccess withGrantedIds(Collection<String> grantedIds) { return valueOf(hostFactionId, hostFactionAllowed, grantedIds); }
|
public TerritoryAccess withGrantedIds(Collection<String> grantedIds) { return valueOf(hostFactionId, hostFactionAllowed, grantedIds, chunkName); }
|
||||||
|
public TerritoryAccess withChunkName(String chunkName) { return valueOf(hostFactionId, hostFactionAllowed, grantedIds, chunkName); }
|
||||||
|
|
||||||
// The intermediate ones
|
// The intermediate ones
|
||||||
public TerritoryAccess withGranted(MPermable mpermable, boolean with)
|
public TerritoryAccess withGranted(MPermable mpermable, boolean with)
|
||||||
@ -54,7 +59,7 @@ public class TerritoryAccess
|
|||||||
{
|
{
|
||||||
if (this.getHostFactionId().equals(grantedId))
|
if (this.getHostFactionId().equals(grantedId))
|
||||||
{
|
{
|
||||||
return valueOf(hostFactionId, with, grantedIds);
|
return valueOf(hostFactionId, with, grantedIds, chunkName);
|
||||||
}
|
}
|
||||||
|
|
||||||
Set<String> grantedIds = new MassiveSet<>(this.getGrantedIds());
|
Set<String> grantedIds = new MassiveSet<>(this.getGrantedIds());
|
||||||
@ -66,7 +71,7 @@ public class TerritoryAccess
|
|||||||
{
|
{
|
||||||
grantedIds.remove(grantedId);
|
grantedIds.remove(grantedId);
|
||||||
}
|
}
|
||||||
return valueOf(hostFactionId, hostFactionAllowed, grantedIds);
|
return valueOf(hostFactionId, hostFactionAllowed, grantedIds, chunkName);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
@ -95,9 +100,10 @@ public class TerritoryAccess
|
|||||||
this.hostFactionId = null;
|
this.hostFactionId = null;
|
||||||
this.hostFactionAllowed = true;
|
this.hostFactionAllowed = true;
|
||||||
this.grantedIds = null;
|
this.grantedIds = null;
|
||||||
|
this.chunkName = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private TerritoryAccess(String hostFactionId, Boolean hostFactionAllowed, Collection<String> grantedIds)
|
private TerritoryAccess(String hostFactionId, Boolean hostFactionAllowed, Collection<String> grantedIds, String chunkName)
|
||||||
{
|
{
|
||||||
if (hostFactionId == null) throw new NullPointerException("hostFactionId");
|
if (hostFactionId == null) throw new NullPointerException("hostFactionId");
|
||||||
if (grantedIds == null) throw new NullPointerException("grantedIds");
|
if (grantedIds == null) throw new NullPointerException("grantedIds");
|
||||||
@ -112,23 +118,25 @@ public class TerritoryAccess
|
|||||||
this.grantedIds = Collections.unmodifiableSet(grantedIdsInner);
|
this.grantedIds = Collections.unmodifiableSet(grantedIdsInner);
|
||||||
|
|
||||||
this.hostFactionAllowed = (hostFactionAllowed == null || hostFactionAllowed);
|
this.hostFactionAllowed = (hostFactionAllowed == null || hostFactionAllowed);
|
||||||
|
|
||||||
|
this.chunkName = chunkName;
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FACTORY: VALUE OF
|
// FACTORY: VALUE OF
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public static TerritoryAccess valueOf(String hostFactionId, Boolean hostFactionAllowed, Collection<String> grantedIds)
|
public static TerritoryAccess valueOf(String hostFactionId, Boolean hostFactionAllowed, Collection<String> grantedIds, String chunkName)
|
||||||
{
|
{
|
||||||
if (hostFactionId == null) throw new NullPointerException("hostFactionId");
|
if (hostFactionId == null) throw new NullPointerException("hostFactionId");
|
||||||
if (grantedIds == null) throw new NullPointerException("grantedIds");
|
if (grantedIds == null) throw new NullPointerException("grantedIds");
|
||||||
return new TerritoryAccess(hostFactionId, hostFactionAllowed, grantedIds);
|
return new TerritoryAccess(hostFactionId, hostFactionAllowed, grantedIds, chunkName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static TerritoryAccess valueOf(String hostFactionId)
|
public static TerritoryAccess valueOf(String hostFactionId)
|
||||||
{
|
{
|
||||||
if (hostFactionId == null) throw new NullPointerException("hostFactionId");
|
if (hostFactionId == null) throw new NullPointerException("hostFactionId");
|
||||||
return valueOf(hostFactionId, null, Collections.emptySet());
|
return valueOf(hostFactionId, null, Collections.emptySet(), null);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
@ -150,7 +158,7 @@ public class TerritoryAccess
|
|||||||
// The host faction is still allowed (default) and no faction or player has been granted explicit access (default).
|
// The host faction is still allowed (default) and no faction or player has been granted explicit access (default).
|
||||||
public boolean isDefault()
|
public boolean isDefault()
|
||||||
{
|
{
|
||||||
return this.isHostFactionAllowed() && this.getGrantedIds().isEmpty();
|
return this.isHostFactionAllowed() && this.getGrantedIds().isEmpty() && this.getChunkName() == null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -26,6 +26,7 @@ public class TerritoryAccessAdapter implements JsonDeserializer<TerritoryAccess>
|
|||||||
public static final String HOST_FACTION_ID = "hostFactionId";
|
public static final String HOST_FACTION_ID = "hostFactionId";
|
||||||
public static final String HOST_FACTION_ALLOWED = "hostFactionAllowed";
|
public static final String HOST_FACTION_ALLOWED = "hostFactionAllowed";
|
||||||
public static final String GRANTED_IDS = "grantedIds";
|
public static final String GRANTED_IDS = "grantedIds";
|
||||||
|
public static final String CHUNK_NAME = "chunkName";
|
||||||
|
|
||||||
public static final Type SET_OF_STRING_TYPE = new TypeToken<Set<String>>(){}.getType();
|
public static final Type SET_OF_STRING_TYPE = new TypeToken<Set<String>>(){}.getType();
|
||||||
|
|
||||||
@ -57,7 +58,8 @@ public class TerritoryAccessAdapter implements JsonDeserializer<TerritoryAccess>
|
|||||||
String hostFactionId = null;
|
String hostFactionId = null;
|
||||||
Boolean hostFactionAllowed = null;
|
Boolean hostFactionAllowed = null;
|
||||||
Set<String> grantedIds = Collections.emptySet();
|
Set<String> grantedIds = Collections.emptySet();
|
||||||
|
String chunkName = null;
|
||||||
|
|
||||||
// Read variables (test old values first)
|
// Read variables (test old values first)
|
||||||
JsonElement element = null;
|
JsonElement element = null;
|
||||||
|
|
||||||
@ -69,8 +71,11 @@ public class TerritoryAccessAdapter implements JsonDeserializer<TerritoryAccess>
|
|||||||
|
|
||||||
element = obj.get(GRANTED_IDS);
|
element = obj.get(GRANTED_IDS);
|
||||||
if (element != null) grantedIds = context.deserialize(element, SET_OF_STRING_TYPE);
|
if (element != null) grantedIds = context.deserialize(element, SET_OF_STRING_TYPE);
|
||||||
|
|
||||||
|
element = obj.get(CHUNK_NAME);
|
||||||
|
if (element != null) chunkName = element.getAsString();
|
||||||
|
|
||||||
return TerritoryAccess.valueOf(hostFactionId, hostFactionAllowed, grantedIds);
|
return TerritoryAccess.valueOf(hostFactionId, hostFactionAllowed, grantedIds, chunkName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -99,6 +104,11 @@ public class TerritoryAccessAdapter implements JsonDeserializer<TerritoryAccess>
|
|||||||
obj.add(GRANTED_IDS, context.serialize(src.getGrantedIds(), SET_OF_STRING_TYPE));
|
obj.add(GRANTED_IDS, context.serialize(src.getGrantedIds(), SET_OF_STRING_TYPE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (src.getChunkName() != null)
|
||||||
|
{
|
||||||
|
obj.addProperty(CHUNK_NAME, src.getChunkName());
|
||||||
|
}
|
||||||
|
|
||||||
obj.add(MigratorUtil.VERSION_FIELD_NAME, new JsonPrimitive(src.version));
|
obj.add(MigratorUtil.VERSION_FIELD_NAME, new JsonPrimitive(src.version));
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
|
@ -46,6 +46,7 @@ public class CmdFactions extends FactionsCommand
|
|||||||
public CmdFactionsClaim cmdFactionsClaim = new CmdFactionsClaim();
|
public CmdFactionsClaim cmdFactionsClaim = new CmdFactionsClaim();
|
||||||
public CmdFactionsUnclaim cmdFactionsUnclaim = new CmdFactionsUnclaim();
|
public CmdFactionsUnclaim cmdFactionsUnclaim = new CmdFactionsUnclaim();
|
||||||
public CmdFactionsAccess cmdFactionsAccess = new CmdFactionsAccess();
|
public CmdFactionsAccess cmdFactionsAccess = new CmdFactionsAccess();
|
||||||
|
public CmdFactionsChunkname cmdFactionsChunkname = new CmdFactionsChunkname();
|
||||||
public CmdFactionsRelation cmdFactionsRelation = new CmdFactionsRelation();
|
public CmdFactionsRelation cmdFactionsRelation = new CmdFactionsRelation();
|
||||||
public CmdFactionsRelationOld cmdFactionsRelationOldAlly = new CmdFactionsRelationOld("ally");
|
public CmdFactionsRelationOld cmdFactionsRelationOldAlly = new CmdFactionsRelationOld("ally");
|
||||||
public CmdFactionsRelationOld cmdFactionsRelationOldTruce = new CmdFactionsRelationOld("truce");
|
public CmdFactionsRelationOld cmdFactionsRelationOldTruce = new CmdFactionsRelationOld("truce");
|
||||||
|
@ -8,7 +8,6 @@ import com.massivecraft.factions.entity.MPerm.MPermable;
|
|||||||
import com.massivecraft.factions.util.AsciiMap;
|
import com.massivecraft.factions.util.AsciiMap;
|
||||||
import com.massivecraft.massivecore.command.requirement.RequirementIsPlayer;
|
import com.massivecraft.massivecore.command.requirement.RequirementIsPlayer;
|
||||||
import com.massivecraft.massivecore.ps.PS;
|
import com.massivecraft.massivecore.ps.PS;
|
||||||
import com.massivecraft.massivecore.ps.PSFormatHumanSpace;
|
|
||||||
import com.massivecraft.massivecore.util.Txt;
|
import com.massivecraft.massivecore.util.Txt;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -59,7 +58,7 @@ public abstract class CmdFactionsAccessAbstract extends FactionsCommand
|
|||||||
|
|
||||||
public void sendAccessInfo()
|
public void sendAccessInfo()
|
||||||
{
|
{
|
||||||
String chunkDesc = AsciiMap.showChunkCoords(chunk) ? " at " + chunk.toString(PSFormatHumanSpace.get()) : "";
|
String chunkDesc = AsciiMap.getChunkDescWithName(chunk, ta);
|
||||||
Object title = "Access" + chunkDesc;
|
Object title = "Access" + chunkDesc;
|
||||||
title = Txt.titleize(title);
|
title = Txt.titleize(title);
|
||||||
message(title);
|
message(title);
|
||||||
@ -80,7 +79,7 @@ public abstract class CmdFactionsAccessAbstract extends FactionsCommand
|
|||||||
Faction faction = ta.getHostFaction();
|
Faction faction = ta.getHostFaction();
|
||||||
|
|
||||||
|
|
||||||
String chunkDesc = AsciiMap.showChunkCoords(chunk) ? " at " + chunk.toString(PSFormatHumanSpace.get()) : "";
|
String chunkDesc = AsciiMap.getChunkDescWithName(chunk, ta);
|
||||||
String grantedDenied = granted ? "granted" : "denied";
|
String grantedDenied = granted ? "granted" : "denied";
|
||||||
String mpermableDesc = mpermable.getDisplayName(msender);
|
String mpermableDesc = mpermable.getDisplayName(msender);
|
||||||
|
|
||||||
|
81
src/com/massivecraft/factions/cmd/CmdFactionsChunkname.java
Normal file
81
src/com/massivecraft/factions/cmd/CmdFactionsChunkname.java
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
package com.massivecraft.factions.cmd;
|
||||||
|
|
||||||
|
import com.massivecraft.factions.TerritoryAccess;
|
||||||
|
import com.massivecraft.factions.entity.BoardColl;
|
||||||
|
import com.massivecraft.factions.entity.MPerm;
|
||||||
|
import com.massivecraft.factions.util.AsciiMap;
|
||||||
|
import com.massivecraft.massivecore.MassiveException;
|
||||||
|
import com.massivecraft.massivecore.command.requirement.RequirementIsPlayer;
|
||||||
|
import com.massivecraft.massivecore.command.type.TypeNullable;
|
||||||
|
import com.massivecraft.massivecore.command.type.primitive.TypeString;
|
||||||
|
import com.massivecraft.massivecore.ps.PS;
|
||||||
|
import com.massivecraft.massivecore.util.MUtil;
|
||||||
|
import com.massivecraft.massivecore.util.Txt;
|
||||||
|
|
||||||
|
public class CmdFactionsChunkname extends FactionsCommand
|
||||||
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// CONSTRUCT
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public CmdFactionsChunkname()
|
||||||
|
{
|
||||||
|
// Parameters
|
||||||
|
this.addParameter(TypeNullable.get(TypeString.get()), "name", "read");
|
||||||
|
|
||||||
|
this.addRequirements(RequirementIsPlayer.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// OVERRIDE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void perform() throws MassiveException
|
||||||
|
{
|
||||||
|
PS chunk = PS.valueOf(me.getLocation()).getChunk(true);
|
||||||
|
TerritoryAccess ta = BoardColl.get().getTerritoryAccessAt(chunk);
|
||||||
|
|
||||||
|
if (!this.argIsSet(0))
|
||||||
|
{
|
||||||
|
String name = ta.getChunkName();
|
||||||
|
if (name == null)
|
||||||
|
{
|
||||||
|
msg("<i>This chunk has no name.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
msg("<i>This chunk is called <h>%s<i>.", name);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// MPerm
|
||||||
|
if (!MPerm.getPermTerritory().has(msender, msenderFaction, true)) return;
|
||||||
|
|
||||||
|
// Args
|
||||||
|
String target = this.readArg();
|
||||||
|
|
||||||
|
target = target.trim();
|
||||||
|
target = Txt.parse(target);
|
||||||
|
|
||||||
|
String old = ta.getChunkName();
|
||||||
|
|
||||||
|
// NoChange
|
||||||
|
if (MUtil.equals(old, target))
|
||||||
|
{
|
||||||
|
if (old == null)
|
||||||
|
{
|
||||||
|
throw new MassiveException().addMsg("<b>This chunk already has no name.");
|
||||||
|
}
|
||||||
|
throw new MassiveException().addMsg("<b>The name for this chunk is already <h>%s<b>.", old);
|
||||||
|
}
|
||||||
|
|
||||||
|
ta = ta.withChunkName(target);
|
||||||
|
BoardColl.get().setTerritoryAccessAt(chunk, ta);
|
||||||
|
|
||||||
|
String chunkDesc = AsciiMap.getChunkDesc(chunk);
|
||||||
|
msg("<i>The chunk name%s<i> is now %s.", chunkDesc, target);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,12 +1,14 @@
|
|||||||
package com.massivecraft.factions.util;
|
package com.massivecraft.factions.util;
|
||||||
|
|
||||||
import com.massivecraft.factions.RelationParticipator;
|
import com.massivecraft.factions.RelationParticipator;
|
||||||
|
import com.massivecraft.factions.TerritoryAccess;
|
||||||
import com.massivecraft.factions.entity.Board;
|
import com.massivecraft.factions.entity.Board;
|
||||||
import com.massivecraft.factions.entity.BoardColl;
|
import com.massivecraft.factions.entity.BoardColl;
|
||||||
import com.massivecraft.factions.entity.Faction;
|
import com.massivecraft.factions.entity.Faction;
|
||||||
import com.massivecraft.massivecore.collections.MassiveList;
|
import com.massivecraft.massivecore.collections.MassiveList;
|
||||||
import com.massivecraft.massivecore.mson.Mson;
|
import com.massivecraft.massivecore.mson.Mson;
|
||||||
import com.massivecraft.massivecore.ps.PS;
|
import com.massivecraft.massivecore.ps.PS;
|
||||||
|
import com.massivecraft.massivecore.ps.PSFormatHumanSpace;
|
||||||
import com.massivecraft.massivecore.util.Txt;
|
import com.massivecraft.massivecore.util.Txt;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.GameRule;
|
import org.bukkit.GameRule;
|
||||||
@ -112,7 +114,7 @@ public class AsciiMap
|
|||||||
ret.add(this.getTitle());
|
ret.add(this.getTitle());
|
||||||
ret.addAll(this.getLines());
|
ret.addAll(this.getLines());
|
||||||
ret.add(this.getFactionLegend());
|
ret.add(this.getFactionLegend());
|
||||||
|
|
||||||
// Return
|
// Return
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -164,31 +166,42 @@ public class AsciiMap
|
|||||||
for (int deltaX = startX; deltaX < WIDTH; deltaX++)
|
for (int deltaX = startX; deltaX < WIDTH; deltaX++)
|
||||||
{
|
{
|
||||||
boolean isMiddle = deltaX == WIDTH_HALF && deltaZ == this.getHeightHalf();
|
boolean isMiddle = deltaX == WIDTH_HALF && deltaZ == this.getHeightHalf();
|
||||||
factionChar = isMiddle ? KEY_MIDDLE : this.getCharFaction(deltaZ, deltaX);
|
factionChar = isMiddle ? KEY_MIDDLE : this.getCharChunk(deltaZ, deltaX);
|
||||||
ret = ret.add(factionChar);
|
ret = ret.add(factionChar);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return
|
// Return
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Mson getCharChunk(int deltaZ, int deltaX)
|
||||||
|
{
|
||||||
|
PS herePs = this.getTopLeft().plusChunkCoords(deltaX, deltaZ);
|
||||||
|
Faction hereFaction = this.getBoard().getFactionAt(herePs);
|
||||||
|
|
||||||
|
String chunkName = this.getBoard().getTerritoryAccessAt(herePs).getChunkName();
|
||||||
|
Mson charFaction = getCharFaction(hereFaction);
|
||||||
|
String tooltip = charFaction.getTooltip();
|
||||||
|
if (chunkName != null) tooltip += "\n" + ChatColor.WHITE + chunkName;
|
||||||
|
Mson charChunk = charFaction.tooltip(tooltip);
|
||||||
|
return charChunk;
|
||||||
|
}
|
||||||
|
|
||||||
private Mson getCharFaction(int deltaZ, int deltaX)
|
private Mson getCharFaction(Faction faction)
|
||||||
{
|
{
|
||||||
// Calculate overflow
|
// Calculate overflow
|
||||||
int index = this.getFactionChars().size();
|
int index = this.getFactionChars().size();
|
||||||
if (!this.isOverflown() && index >= KEY_SIZE) this.setOverflown(true);
|
if (!this.isOverflown() && index >= KEY_SIZE) this.setOverflown(true);
|
||||||
|
|
||||||
PS herePs = this.getTopLeft().plusChunkCoords(deltaX, deltaZ);
|
Mson factionChar = this.getFactionChars().get(faction);
|
||||||
Faction hereFaction = this.getBoard().getFactionAt(herePs);
|
|
||||||
Mson factionChar = this.getFactionChars().get(hereFaction);
|
|
||||||
|
|
||||||
// Is Wilderness or known?
|
// Is Wilderness or known?
|
||||||
if (hereFaction.isNone()) return KEY_WILDERNESS;
|
if (faction.isNone()) return KEY_WILDERNESS;
|
||||||
if (factionChar != null) return factionChar;
|
if (factionChar != null) return factionChar;
|
||||||
|
|
||||||
// Create descriptions
|
// Create descriptions
|
||||||
ChatColor color = hereFaction.getColorTo(this.getRelationParticipator());
|
ChatColor color = faction.getColorTo(this.getRelationParticipator());
|
||||||
String name = hereFaction.getName(this.getRelationParticipator());
|
String name = faction.getName(this.getRelationParticipator());
|
||||||
String tooltip = color.toString() + name;
|
String tooltip = color.toString() + name;
|
||||||
|
|
||||||
// Is overflown?
|
// Is overflown?
|
||||||
@ -199,7 +212,7 @@ public class AsciiMap
|
|||||||
factionChar = factionChar.tooltip(tooltip);
|
factionChar = factionChar.tooltip(tooltip);
|
||||||
|
|
||||||
// Store for later use
|
// Store for later use
|
||||||
this.getFactionChars().put(hereFaction, factionChar);
|
this.getFactionChars().put(faction, factionChar);
|
||||||
|
|
||||||
// Return
|
// Return
|
||||||
return factionChar;
|
return factionChar;
|
||||||
@ -237,4 +250,22 @@ public class AsciiMap
|
|||||||
return ! w.getGameRuleValue(GameRule.REDUCED_DEBUG_INFO);
|
return ! w.getGameRuleValue(GameRule.REDUCED_DEBUG_INFO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getChunkDesc(PS chunk)
|
||||||
|
{
|
||||||
|
return showChunkCoords(chunk) ? " at " + chunk.toString(PSFormatHumanSpace.get()) : "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getChunkDescWithName(PS chunk, TerritoryAccess ta)
|
||||||
|
{
|
||||||
|
String name = ta.getChunkName();
|
||||||
|
if (name == null) return getChunkDesc(chunk);
|
||||||
|
|
||||||
|
String ret = Txt.parse(" at <h>%s", name);
|
||||||
|
if (showChunkCoords(chunk))
|
||||||
|
{
|
||||||
|
ret += Txt.parse(" <i>(%s<i>)", chunk.toString(PSFormatHumanSpace.get()));
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user