Make f powerboost commands more granular close #16
This commit is contained in:
parent
32f52c1158
commit
b67e02f8e9
37
plugin.yml
37
plugin.yml
@ -71,9 +71,18 @@ permissions:
|
||||
factions.perm.viewall: {description: view all perms held by, default: false}
|
||||
factions.player: {description: show player information}
|
||||
factions.powerboost: {description: manage powerboost, default: false}
|
||||
factions.powerboost.faction: {description: show faction powerboost, default: false}
|
||||
factions.powerboost.player: {description: show player powerboost, default: false}
|
||||
factions.powerboost.set: {description: set powerboost, default: false}
|
||||
factions.powerboost.faction: {description: manage faction powerboost, default: false}
|
||||
factions.powerboost.faction.add: {description: add to faction powerboost, default: false}
|
||||
factions.powerboost.faction.multiply: {description: multiply faction powerboost, default: false}
|
||||
factions.powerboost.faction.set: {description: set faction powerboost, default: false}
|
||||
factions.powerboost.faction.show: {description: show faction powerboost, default: false}
|
||||
factions.powerboost.faction.take: {description: take faction powerboost, default: false}
|
||||
factions.powerboost.player: {description: manage player powerboost, default: false}
|
||||
factions.powerboost.player.add: {description: add to player powerboost, default: false}
|
||||
factions.powerboost.player.multiply: {description: multiply player powerboost, default: false}
|
||||
factions.powerboost.player.set: {description: set player powerboost, default: false}
|
||||
factions.powerboost.player.show: {description: show player powerboost, default: false}
|
||||
factions.powerboost.player.take: {description: take player powerboost, default: false}
|
||||
factions.rank: {description: manage/show ranks, default: false}
|
||||
factions.rank.show: {description: show rank, default: false}
|
||||
factions.rank.set: {description: set rank, default: false}
|
||||
@ -185,8 +194,17 @@ permissions:
|
||||
factions.player: true
|
||||
factions.powerboost: true
|
||||
factions.powerboost.faction: true
|
||||
factions.powerboost.faction.add: true
|
||||
factions.powerboost.faction.multiply: true
|
||||
factions.powerboost.faction.set: true
|
||||
factions.powerboost.faction.show: true
|
||||
factions.powerboost.faction.take: true
|
||||
factions.powerboost.player: true
|
||||
factions.powerboost.set: true
|
||||
factions.powerboost.player.add: true
|
||||
factions.powerboost.player.multiply: true
|
||||
factions.powerboost.player.set: true
|
||||
factions.powerboost.player.show: true
|
||||
factions.powerboost.player.take: true
|
||||
factions.rank: true
|
||||
factions.rank.show: true
|
||||
factions.rank.set: true
|
||||
@ -247,7 +265,14 @@ permissions:
|
||||
default: false
|
||||
children:
|
||||
factions.kit.rank1: true
|
||||
factions.powerboost.set: true
|
||||
factions.powerboost.faction.add: true
|
||||
factions.powerboost.faction.multiply: true
|
||||
factions.powerboost.faction.set: true
|
||||
factions.powerboost.faction.take: true
|
||||
factions.powerboost.player.add: true
|
||||
factions.powerboost.player.multiply: true
|
||||
factions.powerboost.player.set: true
|
||||
factions.powerboost.player.take: true
|
||||
factions.join.others: true
|
||||
factions.leader.any: true
|
||||
factions.officer.any: true
|
||||
@ -324,7 +349,9 @@ permissions:
|
||||
factions.promote: true
|
||||
factions.powerboost: true
|
||||
factions.powerboost.faction: true
|
||||
factions.powerboost.faction.show: true
|
||||
factions.powerboost.player: true
|
||||
factions.powerboost.player.show: true
|
||||
factions.rank: true
|
||||
factions.rank.show: true
|
||||
factions.rank.set: true
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.massivecraft.factions;
|
||||
|
||||
import com.massivecraft.massivecore.Identified;
|
||||
import com.massivecraft.massivecore.MassiveException;
|
||||
import com.massivecraft.massivecore.util.PermissionUtil;
|
||||
import org.bukkit.permissions.Permissible;
|
||||
|
||||
@ -65,5 +66,10 @@ public enum Perm implements Identified
|
||||
{
|
||||
return PermissionUtil.hasPermission(permissible, this);
|
||||
}
|
||||
|
||||
public void hasOrThrow(Permissible permissible) throws MassiveException
|
||||
{
|
||||
PermissionUtil.hasPermissionOrThrow(permissible, this);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -58,7 +58,7 @@ public class CmdFactions extends FactionsCommand
|
||||
public CmdFactionsUnstuck cmdFactionsUnstuck = new CmdFactionsUnstuck();
|
||||
public CmdFactionsOverride cmdFactionsOverride = new CmdFactionsOverride();
|
||||
public CmdFactionsDisband cmdFactionsDisband = new CmdFactionsDisband();
|
||||
public CmdFactionsPowerBoost cmdFactionsPowerBoost = new CmdFactionsPowerBoost();
|
||||
public CmdFactionsPowerboost cmdFactionsPowerBoost = new CmdFactionsPowerboost();
|
||||
public CmdFactionsSetpower cmdFactionsSetpower = new CmdFactionsSetpower();
|
||||
public CmdFactionsMoneyconvert cmdFactionsMoneyconvert = new CmdFactionsMoneyconvert();
|
||||
public CmdFactionsConfig cmdFactionsConfig = new CmdFactionsConfig();
|
||||
|
@ -1,19 +1,19 @@
|
||||
package com.massivecraft.factions.cmd;
|
||||
|
||||
public class CmdFactionsPowerBoost extends FactionsCommand
|
||||
public class CmdFactionsPowerboost extends FactionsCommand
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// FIELDS
|
||||
// -------------------------------------------- //
|
||||
|
||||
public CmdFactionsPowerBoostPlayer cmdFactionsPowerBoostPlayer = new CmdFactionsPowerBoostPlayer();
|
||||
public CmdFactionsPowerBoostFaction cmdFactionsPowerBoostFaction = new CmdFactionsPowerBoostFaction();
|
||||
public CmdFactionsPowerboostPlayer cmdFactionsPowerBoostPlayer = new CmdFactionsPowerboostPlayer();
|
||||
public CmdFactionsPowerboostFaction cmdFactionsPowerBoostFaction = new CmdFactionsPowerboostFaction();
|
||||
|
||||
// -------------------------------------------- //
|
||||
// CONSTRUCT
|
||||
// -------------------------------------------- //
|
||||
|
||||
public CmdFactionsPowerBoost()
|
||||
public CmdFactionsPowerboost()
|
||||
{
|
||||
// Child
|
||||
this.addChild(this.cmdFactionsPowerBoostPlayer);
|
@ -2,26 +2,33 @@ package com.massivecraft.factions.cmd;
|
||||
|
||||
import com.massivecraft.factions.Factions;
|
||||
import com.massivecraft.factions.FactionsParticipator;
|
||||
import com.massivecraft.factions.Perm;
|
||||
import com.massivecraft.massivecore.MassiveException;
|
||||
import com.massivecraft.massivecore.command.type.Type;
|
||||
import com.massivecraft.massivecore.command.type.TypeNullable;
|
||||
import com.massivecraft.massivecore.command.type.primitive.TypeDouble;
|
||||
import com.massivecraft.massivecore.util.Txt;
|
||||
|
||||
public abstract class CmdFactionsPowerBoostAbstract extends FactionsCommand
|
||||
public abstract class CmdFactionsPowerboostAbstract extends FactionsCommand
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// CONSTRUCT
|
||||
// -------------------------------------------- //
|
||||
|
||||
protected CmdFactionsPowerBoostAbstract(Type<? extends FactionsParticipator> parameterType, String parameterName)
|
||||
protected CmdFactionsPowerboostAbstract(Type<? extends FactionsParticipator> parameterType, String parameterName)
|
||||
{
|
||||
// Parameters
|
||||
this.addParameter(parameterType, parameterName);
|
||||
this.addParameter(TypeNullable.get(TypeDouble.get()), "amount", "show");
|
||||
if (!this.getClass().getSimpleName().contains("Show"))
|
||||
{
|
||||
this.addParameter(TypeDouble.get(), "amount");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// -------------------------------------------- //
|
||||
// ABSTRACT
|
||||
// -------------------------------------------- //
|
||||
|
||||
public abstract double calcNewPowerboost(double current, double d);
|
||||
|
||||
// -------------------------------------------- //
|
||||
// OVERRIDE
|
||||
// -------------------------------------------- //
|
||||
@ -31,35 +38,32 @@ public abstract class CmdFactionsPowerBoostAbstract extends FactionsCommand
|
||||
{
|
||||
// Parameters
|
||||
FactionsParticipator factionsParticipator = this.readArg();
|
||||
Double powerBoost = this.readArg(factionsParticipator.getPowerBoost());
|
||||
|
||||
|
||||
boolean updated = false;
|
||||
// Try set the powerBoost
|
||||
boolean updated = this.trySet(factionsParticipator, powerBoost);
|
||||
if (this.argIsSet(1))
|
||||
{
|
||||
// Yes updated
|
||||
updated = true;
|
||||
|
||||
// Calc powerboost
|
||||
double current = factionsParticipator.getPowerBoost();
|
||||
double number = this.readArg();
|
||||
double powerBoost = this.calcNewPowerboost(current, number);
|
||||
|
||||
// Set
|
||||
factionsParticipator.setPowerBoost(powerBoost);
|
||||
}
|
||||
|
||||
// Inform
|
||||
this.informPowerBoost(factionsParticipator, powerBoost, updated);
|
||||
this.informPowerBoost(factionsParticipator, updated);
|
||||
}
|
||||
|
||||
private boolean trySet(FactionsParticipator factionsParticipator, Double powerBoost) throws MassiveException
|
||||
{
|
||||
// Trying to set?
|
||||
if (!this.argIsSet(1)) return false;
|
||||
|
||||
// Check set permissions
|
||||
if (!Perm.POWERBOOST_SET.has(sender, true)) throw new MassiveException();
|
||||
|
||||
// Set
|
||||
factionsParticipator.setPowerBoost(powerBoost);
|
||||
|
||||
// Return
|
||||
return true;
|
||||
}
|
||||
|
||||
private void informPowerBoost(FactionsParticipator factionsParticipator, Double powerBoost, boolean updated)
|
||||
|
||||
private void informPowerBoost(FactionsParticipator factionsParticipator, boolean updated)
|
||||
{
|
||||
// Prepare
|
||||
Double powerBoost = factionsParticipator.getPowerBoost();
|
||||
String participatorDescribe = factionsParticipator.describeTo(msender, true);
|
||||
powerBoost = powerBoost == null ? factionsParticipator.getPowerBoost() : powerBoost;
|
||||
String powerDescription = Txt.parse(Double.compare(powerBoost, 0D) >= 0 ? "<g>bonus" : "<b>penalty");
|
||||
String when = updated ? "now " : "";
|
||||
String verb = factionsParticipator.equals(msender) ? "have" : "has";
|
@ -0,0 +1,15 @@
|
||||
package com.massivecraft.factions.cmd;
|
||||
|
||||
public class CmdFactionsPowerboostFaction extends FactionsCommand
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// FIELDS
|
||||
// -------------------------------------------- //
|
||||
|
||||
public CmdFactionsPowerboostFactionShow cmdFactionsPowerBoostFactionShow = new CmdFactionsPowerboostFactionShow();
|
||||
public CmdFactionsPowerboostFactionSet cmdFactionsPowerBoostFactionSet = new CmdFactionsPowerboostFactionSet();
|
||||
public CmdFactionsPowerboostFactionAdd cmdFactionsPowerBoostFactionAdd = new CmdFactionsPowerboostFactionAdd();
|
||||
public CmdFactionsPowerboostFactionTake cmdFactionsPowerBoostFactionTake = new CmdFactionsPowerboostFactionTake();
|
||||
public CmdFactionsPowerboostFactionMultiply cmdFactionsPowerBoostFactionMultiply = new CmdFactionsPowerboostFactionMultiply();
|
||||
|
||||
}
|
@ -2,15 +2,15 @@ package com.massivecraft.factions.cmd;
|
||||
|
||||
import com.massivecraft.factions.cmd.type.TypeFaction;
|
||||
|
||||
public class CmdFactionsPowerBoostFaction extends CmdFactionsPowerBoostAbstract
|
||||
public abstract class CmdFactionsPowerboostFactionAbstract extends CmdFactionsPowerboostAbstract
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// CONSTRUCT
|
||||
// -------------------------------------------- //
|
||||
|
||||
public CmdFactionsPowerBoostFaction()
|
||||
|
||||
public CmdFactionsPowerboostFactionAbstract()
|
||||
{
|
||||
super(TypeFaction.get(), "faction");
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.massivecraft.factions.cmd;
|
||||
|
||||
public class CmdFactionsPowerboostFactionAdd extends CmdFactionsPowerboostFactionAbstract
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// OVERRIDE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public double calcNewPowerboost(double current, double d)
|
||||
{
|
||||
return current + d;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.massivecraft.factions.cmd;
|
||||
|
||||
public class CmdFactionsPowerboostFactionMultiply extends CmdFactionsPowerboostFactionAbstract
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// OVERRIDE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public double calcNewPowerboost(double current, double d)
|
||||
{
|
||||
return current * d;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.massivecraft.factions.cmd;
|
||||
|
||||
public class CmdFactionsPowerboostFactionSet extends CmdFactionsPowerboostFactionAbstract
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// OVERRIDE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public double calcNewPowerboost(double current, double d)
|
||||
{
|
||||
return d;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.massivecraft.factions.cmd;
|
||||
|
||||
public class CmdFactionsPowerboostFactionShow extends CmdFactionsPowerboostFactionAbstract
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// OVERRIDE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public double calcNewPowerboost(double current, double d)
|
||||
{
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.massivecraft.factions.cmd;
|
||||
|
||||
public class CmdFactionsPowerboostFactionTake extends CmdFactionsPowerboostFactionAbstract
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// OVERRIDE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public double calcNewPowerboost(double current, double d)
|
||||
{
|
||||
return current - d;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.massivecraft.factions.cmd;
|
||||
|
||||
public class CmdFactionsPowerboostPlayer extends FactionsCommand
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// FIELDS
|
||||
// -------------------------------------------- //
|
||||
|
||||
public CmdFactionsPowerboostPlayerShow cmdFactionsPowerBoostPlayerShow = new CmdFactionsPowerboostPlayerShow();
|
||||
public CmdFactionsPowerboostPlayerSet cmdFactionsPowerBoostPlayerSet = new CmdFactionsPowerboostPlayerSet();
|
||||
public CmdFactionsPowerboostPlayerAdd cmdFactionsPowerBoostPlayerAdd = new CmdFactionsPowerboostPlayerAdd();
|
||||
public CmdFactionsPowerboostPlayerTake cmdFactionsPowerBoostPlayerTake = new CmdFactionsPowerboostPlayerTake();
|
||||
public CmdFactionsPowerboostPlayerMultiply cmdFactionsPowerBoostPlayerMultiply = new CmdFactionsPowerboostPlayerMultiply();
|
||||
|
||||
}
|
@ -2,15 +2,15 @@ package com.massivecraft.factions.cmd;
|
||||
|
||||
import com.massivecraft.factions.cmd.type.TypeMPlayer;
|
||||
|
||||
public class CmdFactionsPowerBoostPlayer extends CmdFactionsPowerBoostAbstract
|
||||
public abstract class CmdFactionsPowerboostPlayerAbstract extends CmdFactionsPowerboostAbstract
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// CONSTRUCT
|
||||
// -------------------------------------------- //
|
||||
|
||||
public CmdFactionsPowerBoostPlayer()
|
||||
|
||||
public CmdFactionsPowerboostPlayerAbstract()
|
||||
{
|
||||
super(TypeMPlayer.get(), "player");
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.massivecraft.factions.cmd;
|
||||
|
||||
public class CmdFactionsPowerboostPlayerAdd extends CmdFactionsPowerboostPlayerAbstract
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// OVERRIDE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public double calcNewPowerboost(double current, double d)
|
||||
{
|
||||
return current + d;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.massivecraft.factions.cmd;
|
||||
|
||||
public class CmdFactionsPowerboostPlayerMultiply extends CmdFactionsPowerboostPlayerAbstract
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// OVERRIDE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public double calcNewPowerboost(double current, double d)
|
||||
{
|
||||
return current * d;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.massivecraft.factions.cmd;
|
||||
|
||||
public class CmdFactionsPowerboostPlayerSet extends CmdFactionsPowerboostPlayerAbstract
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// OVERRIDE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public double calcNewPowerboost(double current, double d)
|
||||
{
|
||||
return d;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.massivecraft.factions.cmd;
|
||||
|
||||
public class CmdFactionsPowerboostPlayerShow extends CmdFactionsPowerboostPlayerAbstract
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// OVERRIDE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public double calcNewPowerboost(double current, double d)
|
||||
{
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.massivecraft.factions.cmd;
|
||||
|
||||
public class CmdFactionsPowerboostPlayerTake extends CmdFactionsPowerboostPlayerAbstract
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// OVERRIDE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public double calcNewPowerboost(double current, double d)
|
||||
{
|
||||
return current - d;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user