mirror of
https://github.com/MassiveCraft/Factions.git
synced 2024-11-23 10:45:51 +01:00
Fixed ownerlist command (though not sure just why it was failing as written, I need to investigate further), working on restructuring and fixing ownership handling for block placement/destruction/interaction/usage. Will finish that up in the next day or two.
This commit is contained in:
parent
d37a4d6ff7
commit
0326a6e938
@ -127,7 +127,7 @@ permissions:
|
||||
factions.managewarzone:
|
||||
description: claim land as a war zone and build/destroy within war zones
|
||||
factions.map:
|
||||
description: show territory map, set optional auto update
|
||||
description: show the territory map, and set optional auto update
|
||||
factions.mod:
|
||||
description: give or revoke moderator rights
|
||||
factions.noboom:
|
||||
|
@ -582,14 +582,8 @@ public class Faction extends Entity
|
||||
|
||||
public boolean playerHasOwnershipRights(FPlayer fplayer, FLocation loc)
|
||||
{
|
||||
// different faction?
|
||||
if (fplayer.getFactionId() != this.getId())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// sufficient role to bypass ownership?
|
||||
if (fplayer.getRole().isAtLeast(Conf.ownedAreaModeratorsBypass ? Role.MODERATOR : Role.ADMIN))
|
||||
if (fplayer.getFaction() == this && fplayer.getRole().isAtLeast(Conf.ownedAreaModeratorsBypass ? Role.MODERATOR : Role.ADMIN))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ public class CmdOwnerList extends FCommand
|
||||
|
||||
FLocation flocation = new FLocation(fme);
|
||||
|
||||
if (Board.getIdAt(flocation) != myFaction.getId())
|
||||
if (Board.getFactionAt(flocation) != myFaction)
|
||||
{
|
||||
if (!hasBypass)
|
||||
{
|
||||
|
@ -26,25 +26,24 @@ public enum Relation
|
||||
return this.nicename;
|
||||
}
|
||||
|
||||
// TODO: Insane way to use enums!!!?
|
||||
public boolean isMember()
|
||||
{
|
||||
return this.value == MEMBER.value;
|
||||
return this == MEMBER;
|
||||
}
|
||||
|
||||
public boolean isAlly()
|
||||
{
|
||||
return this.value == ALLY.value;
|
||||
return this == ALLY;
|
||||
}
|
||||
|
||||
public boolean isNeutral()
|
||||
{
|
||||
return this.value == NEUTRAL.value;
|
||||
return this == NEUTRAL;
|
||||
}
|
||||
|
||||
public boolean isEnemy()
|
||||
{
|
||||
return this.value == ENEMY.value;
|
||||
return this == ENEMY;
|
||||
}
|
||||
|
||||
public boolean isAtLeast(Relation relation)
|
||||
@ -60,123 +59,87 @@ public enum Relation
|
||||
public ChatColor getColor()
|
||||
{
|
||||
if (this.value == MEMBER.value)
|
||||
{
|
||||
return Conf.colorMember;
|
||||
}
|
||||
else if (this.value == ALLY.value)
|
||||
{
|
||||
return Conf.colorAlly;
|
||||
}
|
||||
else if (this.value == NEUTRAL.value)
|
||||
{
|
||||
return Conf.colorNeutral;
|
||||
}
|
||||
else
|
||||
{
|
||||
return Conf.colorEnemy;
|
||||
}
|
||||
}
|
||||
|
||||
// return appropriate Conf setting for DenyBuild based on this relation and their online status
|
||||
public boolean confDenyBuild(boolean online)
|
||||
{
|
||||
if (isMember())
|
||||
return false;
|
||||
|
||||
if (online)
|
||||
{
|
||||
if (isEnemy())
|
||||
{
|
||||
return Conf.territoryEnemyDenyBuild;
|
||||
}
|
||||
else if (isAlly())
|
||||
{
|
||||
return Conf.territoryAllyDenyBuild;
|
||||
}
|
||||
else
|
||||
{
|
||||
return Conf.territoryDenyBuild;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isEnemy())
|
||||
{
|
||||
return Conf.territoryEnemyDenyBuildWhenOffline;
|
||||
}
|
||||
else if (isAlly())
|
||||
{
|
||||
return Conf.territoryAllyDenyBuildWhenOffline;
|
||||
}
|
||||
else
|
||||
{
|
||||
return Conf.territoryDenyBuildWhenOffline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// return appropriate Conf setting for PainBuild based on this relation and their online status
|
||||
public boolean confPainBuild(boolean online)
|
||||
{
|
||||
if (isMember())
|
||||
return false;
|
||||
|
||||
if (online)
|
||||
{
|
||||
if (isEnemy())
|
||||
{
|
||||
return Conf.territoryEnemyPainBuild;
|
||||
}
|
||||
else if (isAlly())
|
||||
{
|
||||
return Conf.territoryAllyPainBuild;
|
||||
}
|
||||
else
|
||||
{
|
||||
return Conf.territoryPainBuild;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isEnemy())
|
||||
{
|
||||
return Conf.territoryEnemyPainBuildWhenOffline;
|
||||
}
|
||||
else if (isAlly())
|
||||
{
|
||||
return Conf.territoryAllyPainBuildWhenOffline;
|
||||
}
|
||||
else
|
||||
{
|
||||
return Conf.territoryPainBuildWhenOffline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// return appropriate Conf setting for DenyUseage based on this relation
|
||||
public boolean confDenyUseage()
|
||||
{
|
||||
if (isEnemy())
|
||||
{
|
||||
if (isMember())
|
||||
return false;
|
||||
else if (isEnemy())
|
||||
return Conf.territoryEnemyDenyUseage;
|
||||
}
|
||||
else if (isAlly())
|
||||
{
|
||||
return Conf.territoryAllyDenyUseage;
|
||||
}
|
||||
else
|
||||
{
|
||||
return Conf.territoryDenyUseage;
|
||||
}
|
||||
}
|
||||
|
||||
public double getRelationCost()
|
||||
{
|
||||
if (isEnemy())
|
||||
{
|
||||
return Conf.econCostEnemy;
|
||||
}
|
||||
else if (isAlly())
|
||||
{
|
||||
return Conf.econCostAlly;
|
||||
}
|
||||
else
|
||||
{
|
||||
return Conf.econCostNeutral;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user