Merge branch 'master' of github.com:MassiveCraft/Factions
This commit is contained in:
commit
d7a2a88f95
Binary file not shown.
48
plugin.yml
48
plugin.yml
@ -12,6 +12,10 @@ permissions:
|
|||||||
factions.lock: true
|
factions.lock: true
|
||||||
factions.reload: true
|
factions.reload: true
|
||||||
factions.save: true
|
factions.save: true
|
||||||
|
factions.*:
|
||||||
|
description: This is just an alias for factions.kit.admin
|
||||||
|
children:
|
||||||
|
factions.kit.admin: true
|
||||||
factions.kit.mod:
|
factions.kit.mod:
|
||||||
description: All faction permissions but configuration and persistance.
|
description: All faction permissions but configuration and persistance.
|
||||||
children:
|
children:
|
||||||
@ -20,7 +24,7 @@ permissions:
|
|||||||
factions.setpermanent: true
|
factions.setpermanent: true
|
||||||
factions.setpeaceful: true
|
factions.setpeaceful: true
|
||||||
factions.sethome.any: true
|
factions.sethome.any: true
|
||||||
factions.money.withdraw.any: true
|
factions.money.*: true
|
||||||
factions.kit.halfmod:
|
factions.kit.halfmod:
|
||||||
description: Zones, bypassing, and kicking
|
description: Zones, bypassing, and kicking
|
||||||
children:
|
children:
|
||||||
@ -31,6 +35,7 @@ permissions:
|
|||||||
factions.kick.any: true
|
factions.kick.any: true
|
||||||
factions.ownershipbypass: true
|
factions.ownershipbypass: true
|
||||||
factions.kit.fullplayer:
|
factions.kit.fullplayer:
|
||||||
|
default: true
|
||||||
description: Can also create new factions.
|
description: Can also create new factions.
|
||||||
children:
|
children:
|
||||||
factions.kit.halfplayer: true
|
factions.kit.halfplayer: true
|
||||||
@ -54,11 +59,7 @@ permissions:
|
|||||||
factions.list: true
|
factions.list: true
|
||||||
factions.map: true
|
factions.map: true
|
||||||
factions.mod: true
|
factions.mod: true
|
||||||
factions.money.balance: true
|
factions.money.kit.standard: true
|
||||||
factions.money.balance.any: true
|
|
||||||
factions.money.deposit: true
|
|
||||||
factions.money.pay: true
|
|
||||||
factions.money.withdraw: true
|
|
||||||
factions.noboom: true
|
factions.noboom: true
|
||||||
factions.open: true
|
factions.open: true
|
||||||
factions.owner: true
|
factions.owner: true
|
||||||
@ -121,26 +122,41 @@ permissions:
|
|||||||
description: show the territory map, and set optional auto update
|
description: show the territory map, and set optional auto update
|
||||||
factions.mod:
|
factions.mod:
|
||||||
description: give or revoke moderator rights
|
description: give or revoke moderator rights
|
||||||
factions.money.*:
|
|
||||||
children:
|
|
||||||
factions.money.balance: true
|
|
||||||
factions.money.balance.any: true
|
|
||||||
factions.money.deposit: true
|
|
||||||
factions.money.pay: true
|
|
||||||
factions.money.withdraw: true
|
|
||||||
factions.money.withdraw.any: true
|
|
||||||
factions.money.balance:
|
factions.money.balance:
|
||||||
description: show your factions current money balance
|
description: show your factions current money balance
|
||||||
factions.money.balance.any:
|
factions.money.balance.any:
|
||||||
description: show money balance for factions other than your own
|
description: show money balance for factions other than your own
|
||||||
factions.money.deposit:
|
factions.money.deposit:
|
||||||
description: deposit money into a faction bank
|
description: deposit money into a faction bank
|
||||||
factions.money.pay:
|
|
||||||
description: pay another faction from your bank
|
|
||||||
factions.money.withdraw:
|
factions.money.withdraw:
|
||||||
description: withdraw money from your faction bank
|
description: withdraw money from your faction bank
|
||||||
factions.money.withdraw.any:
|
factions.money.withdraw.any:
|
||||||
description: withdraw money from your factions other than your own
|
description: withdraw money from your factions other than your own
|
||||||
|
factions.money.f2f:
|
||||||
|
description: transfer money from faction to faction
|
||||||
|
factions.money.f2p:
|
||||||
|
description: transfer money from faction to player
|
||||||
|
factions.money.p2f:
|
||||||
|
description: transfer money from player to faction
|
||||||
|
factions.money.kit.standard:
|
||||||
|
children:
|
||||||
|
factions.money.balance: true
|
||||||
|
factions.money.balance.any: true
|
||||||
|
factions.money.deposit: true
|
||||||
|
factions.money.withdraw: true
|
||||||
|
factions.money.f2f: true
|
||||||
|
factions.money.f2p: true
|
||||||
|
factions.money.p2f: true
|
||||||
|
factions.money.*:
|
||||||
|
children:
|
||||||
|
factions.money.kit.standard: true
|
||||||
|
factions.money.balance.any: true
|
||||||
|
factions.money.deposit: true
|
||||||
|
factions.money.withdraw: true
|
||||||
|
factions.money.withdraw.any: true
|
||||||
|
factions.money.f2f: true
|
||||||
|
factions.money.f2p: true
|
||||||
|
factions.money.p2f: true
|
||||||
factions.noboom:
|
factions.noboom:
|
||||||
description: toggle explosions (peaceful factions only)
|
description: toggle explosions (peaceful factions only)
|
||||||
factions.open:
|
factions.open:
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package com.massivecraft.factions;
|
package com.massivecraft.factions;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -593,31 +595,22 @@ public class FPlayer extends PlayerEntity implements EconomyParticipator
|
|||||||
{
|
{
|
||||||
double cost = Conf.econCostLeave;
|
double cost = Conf.econCostLeave;
|
||||||
if ( ! Econ.modifyMoney(this, -cost, "to leave your faction.", "for leaving your faction.")) return;
|
if ( ! Econ.modifyMoney(this, -cost, "to leave your faction.", "for leaving your faction.")) return;
|
||||||
/*
|
|
||||||
// pay up
|
|
||||||
if (cost > 0.0) {
|
|
||||||
String costString = Econ.moneyString(cost);
|
|
||||||
if ( ! Econ.deductMoney(this.getName(), cost)) {
|
|
||||||
msg("<b>It costs <h>%s<b> to leave your faction, which you can't currently afford.", costString);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
msg("<i>You have paid <h>%s<i> to leave your faction.", costString);
|
|
||||||
}
|
// Am I the last one in the faction?
|
||||||
// wait... we pay you to leave?
|
ArrayList<FPlayer> fplayers = myFaction.getFPlayers();
|
||||||
else if (cost < 0.0)
|
if (fplayers.size() == 1 && fplayers.get(0) == this)
|
||||||
{
|
{
|
||||||
String costString = Econ.moneyString(-cost);
|
// Transfer all money
|
||||||
Econ.addMoney(this.getName(), -cost);
|
if (Econ.shouldBeUsed())
|
||||||
msg("<i>You have been paid <h>%s<i> for leaving your faction.", costString);
|
Econ.transferMoney(this, myFaction, this, myFaction.getAccount().balance());
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (myFaction.isNormal())
|
if (myFaction.isNormal())
|
||||||
{
|
{
|
||||||
//myFaction.msg("%s<i> left your faction.", this.getNameAndRelevant(myFaction));
|
|
||||||
for (FPlayer fplayer : myFaction.getFPlayersWhereOnline(true))
|
for (FPlayer fplayer : myFaction.getFPlayersWhereOnline(true))
|
||||||
{
|
{
|
||||||
fplayer.msg("%s<i> left your faction.", this.describeTo(fplayer, true));
|
fplayer.msg("%s<i> left %s<i>.", this.describeTo(fplayer, true), myFaction.describeTo(fplayer));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -625,10 +618,6 @@ public class FPlayer extends PlayerEntity implements EconomyParticipator
|
|||||||
|
|
||||||
if (myFaction.isNormal() && !perm && myFaction.getFPlayers().isEmpty())
|
if (myFaction.isNormal() && !perm && myFaction.getFPlayers().isEmpty())
|
||||||
{
|
{
|
||||||
// Transfer all money
|
|
||||||
if (Econ.shouldBeUsed())
|
|
||||||
Econ.transferMoney(this, myFaction, this, myFaction.getAccount().balance());
|
|
||||||
|
|
||||||
// Remove this faction
|
// Remove this faction
|
||||||
for (FPlayer fplayer : FPlayers.i.getOnline())
|
for (FPlayer fplayer : FPlayers.i.getOnline())
|
||||||
{
|
{
|
||||||
|
@ -74,7 +74,7 @@ public class FPlayers extends PlayerEntityCollection<FPlayer>
|
|||||||
{
|
{
|
||||||
for (FPlayer fplayer : this.get())
|
for (FPlayer fplayer : this.get())
|
||||||
{
|
{
|
||||||
if (fplayer.getId().equalsIgnoreCase(playername) || fplayer.getId().startsWith(playername))
|
if (fplayer.getId().equalsIgnoreCase(playername) || fplayer.getId().toLowerCase().startsWith(playername.toLowerCase()))
|
||||||
{
|
{
|
||||||
return fplayer;
|
return fplayer;
|
||||||
}
|
}
|
||||||
|
@ -60,27 +60,27 @@ public class CmdHelp extends FCommand
|
|||||||
ArrayList<String> pageLines;
|
ArrayList<String> pageLines;
|
||||||
|
|
||||||
pageLines = new ArrayList<String>();
|
pageLines = new ArrayList<String>();
|
||||||
pageLines.add( p.cmdBase.cmdHelp.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdHelp.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdList.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdList.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdShow.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdShow.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdPower.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdPower.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdJoin.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdJoin.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdLeave.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdLeave.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdChat.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdChat.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdHome.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdHome.getUseageTemplate(true) );
|
||||||
pageLines.add( p.txt.parse("<i>Learn how to create a faction on the next page.") );
|
pageLines.add( p.txt.parse("<i>Learn how to create a faction on the next page.") );
|
||||||
helpPages.add(pageLines);
|
helpPages.add(pageLines);
|
||||||
|
|
||||||
pageLines = new ArrayList<String>();
|
pageLines = new ArrayList<String>();
|
||||||
pageLines.add( p.cmdBase.cmdCreate.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdCreate.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdDescription.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdDescription.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdTag.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdTag.getUseageTemplate(true) );
|
||||||
pageLines.add( p.txt.parse("<i>You might want to close it and use invitations:" ));
|
pageLines.add( p.txt.parse("<i>You might want to close it and use invitations:" ));
|
||||||
pageLines.add( p.cmdBase.cmdOpen.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdOpen.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdInvite.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdInvite.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdDeinvite.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdDeinvite.getUseageTemplate(true) );
|
||||||
pageLines.add( p.txt.parse("<i>And don't forget to set your home:" ));
|
pageLines.add( p.txt.parse("<i>And don't forget to set your home:" ));
|
||||||
pageLines.add( p.cmdBase.cmdSethome.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdSethome.getUseageTemplate(true) );
|
||||||
helpPages.add(pageLines);
|
helpPages.add(pageLines);
|
||||||
|
|
||||||
if (Econ.shouldBeUsed())
|
if (Econ.shouldBeUsed())
|
||||||
@ -91,7 +91,7 @@ public class CmdHelp extends FCommand
|
|||||||
pageLines.add( p.txt.parse("<i>things, so it will need to have money deposited into it." ));
|
pageLines.add( p.txt.parse("<i>things, so it will need to have money deposited into it." ));
|
||||||
pageLines.add( p.txt.parse("<i>To lear more use the money command." ));
|
pageLines.add( p.txt.parse("<i>To lear more use the money command." ));
|
||||||
pageLines.add( "" );
|
pageLines.add( "" );
|
||||||
pageLines.add( p.cmdBase.cmdMoney.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdMoney.getUseageTemplate(true) );
|
||||||
pageLines.add( "" );
|
pageLines.add( "" );
|
||||||
pageLines.add( "" );
|
pageLines.add( "" );
|
||||||
pageLines.add( "" );
|
pageLines.add( "" );
|
||||||
@ -99,23 +99,23 @@ public class CmdHelp extends FCommand
|
|||||||
}
|
}
|
||||||
|
|
||||||
pageLines = new ArrayList<String>();
|
pageLines = new ArrayList<String>();
|
||||||
pageLines.add( p.cmdBase.cmdClaim.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdClaim.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdAutoClaim.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdAutoClaim.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdUnclaim.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdUnclaim.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdUnclaimall.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdUnclaimall.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdKick.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdKick.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdMod.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdMod.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdAdmin.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdAdmin.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdTitle.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdTitle.getUseageTemplate(true) );
|
||||||
pageLines.add( p.txt.parse("<i>Player titles are just for fun. No rules connected to them." ));
|
pageLines.add( p.txt.parse("<i>Player titles are just for fun. No rules connected to them." ));
|
||||||
helpPages.add(pageLines);
|
helpPages.add(pageLines);
|
||||||
|
|
||||||
pageLines = new ArrayList<String>();
|
pageLines = new ArrayList<String>();
|
||||||
pageLines.add( p.cmdBase.cmdMap.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdMap.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdBoom.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdBoom.getUseageTemplate(true) );
|
||||||
pageLines.add("");
|
pageLines.add("");
|
||||||
pageLines.add( p.cmdBase.cmdOwner.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdOwner.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdOwnerList.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdOwnerList.getUseageTemplate(true) );
|
||||||
pageLines.add("");
|
pageLines.add("");
|
||||||
pageLines.add(p.txt.parse("<i>Claimed land with ownership set is further protected so"));
|
pageLines.add(p.txt.parse("<i>Claimed land with ownership set is further protected so"));
|
||||||
pageLines.add(p.txt.parse("<i>that only the owner(s), faction admin, and possibly the"));
|
pageLines.add(p.txt.parse("<i>that only the owner(s), faction admin, and possibly the"));
|
||||||
@ -123,11 +123,11 @@ public class CmdHelp extends FCommand
|
|||||||
helpPages.add(pageLines);
|
helpPages.add(pageLines);
|
||||||
|
|
||||||
pageLines = new ArrayList<String>();
|
pageLines = new ArrayList<String>();
|
||||||
pageLines.add( p.cmdBase.cmdDisband.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdDisband.getUseageTemplate(true) );
|
||||||
pageLines.add("");
|
pageLines.add("");
|
||||||
pageLines.add( p.cmdBase.cmdRelationAlly.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdRelationAlly.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdRelationNeutral.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdRelationNeutral.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdRelationEnemy.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdRelationEnemy.getUseageTemplate(true) );
|
||||||
pageLines.add(p.txt.parse("<i>Set the relation you WISH to have with another faction."));
|
pageLines.add(p.txt.parse("<i>Set the relation you WISH to have with another faction."));
|
||||||
pageLines.add(p.txt.parse("<i>Your default relation with other factions will be neutral."));
|
pageLines.add(p.txt.parse("<i>Your default relation with other factions will be neutral."));
|
||||||
pageLines.add(p.txt.parse("<i>If BOTH factions choose \"ally\" you will be allies."));
|
pageLines.add(p.txt.parse("<i>If BOTH factions choose \"ally\" you will be allies."));
|
||||||
@ -160,26 +160,26 @@ public class CmdHelp extends FCommand
|
|||||||
|
|
||||||
pageLines = new ArrayList<String>();
|
pageLines = new ArrayList<String>();
|
||||||
pageLines.add("Finally some commands for the server admins:");
|
pageLines.add("Finally some commands for the server admins:");
|
||||||
pageLines.add( p.cmdBase.cmdBypass.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdBypass.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdSafeclaim.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdSafeclaim.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdAutoSafeclaim.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdAutoSafeclaim.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdSafeunclaimall.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdSafeunclaimall.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdWarclaim.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdWarclaim.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdAutoWarclaim.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdAutoWarclaim.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdWarunclaimall.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdWarunclaimall.getUseageTemplate(true) );
|
||||||
pageLines.add(p.txt.parse("<i>Note: " + p.cmdBase.cmdUnclaim.getUseageTemplate(false) + P.p.txt.parse("<i>") + " works on safe/war zones as well."));
|
pageLines.add(p.txt.parse("<i>Note: " + p.cmdBase.cmdUnclaim.getUseageTemplate(false) + P.p.txt.parse("<i>") + " works on safe/war zones as well."));
|
||||||
helpPages.add(pageLines);
|
helpPages.add(pageLines);
|
||||||
|
|
||||||
pageLines = new ArrayList<String>();
|
pageLines = new ArrayList<String>();
|
||||||
pageLines.add(p.txt.parse("<i>More commands for server admins:"));
|
pageLines.add(p.txt.parse("<i>More commands for server admins:"));
|
||||||
pageLines.add( p.cmdBase.cmdPeaceful.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdPeaceful.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdPermanent.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdPermanent.getUseageTemplate(true) );
|
||||||
pageLines.add(p.txt.parse("<i>Peaceful factions are protected from PvP and land capture."));
|
pageLines.add(p.txt.parse("<i>Peaceful factions are protected from PvP and land capture."));
|
||||||
pageLines.add( p.cmdBase.cmdLock.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdLock.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdReload.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdReload.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdSaveAll.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdSaveAll.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdVersion.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdVersion.getUseageTemplate(true) );
|
||||||
pageLines.add( p.cmdBase.cmdConfig.getUseageTemplate() );
|
pageLines.add( p.cmdBase.cmdConfig.getUseageTemplate(true) );
|
||||||
helpPages.add(pageLines);
|
helpPages.add(pageLines);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,9 @@ public class CmdMoney extends FCommand
|
|||||||
public CmdMoneyBalance cmdMoneyBalance = new CmdMoneyBalance();
|
public CmdMoneyBalance cmdMoneyBalance = new CmdMoneyBalance();
|
||||||
public CmdMoneyDeposit cmdMoneyDeposit = new CmdMoneyDeposit();
|
public CmdMoneyDeposit cmdMoneyDeposit = new CmdMoneyDeposit();
|
||||||
public CmdMoneyWithdraw cmdMoneyWithdraw = new CmdMoneyWithdraw();
|
public CmdMoneyWithdraw cmdMoneyWithdraw = new CmdMoneyWithdraw();
|
||||||
public CmdMoneyPay cmdMoneyPay = new CmdMoneyPay();
|
public CmdMoneyTransferFf cmdMoneyTransferFf = new CmdMoneyTransferFf();
|
||||||
|
public CmdMoneyTransferFp cmdMoneyTransferFp = new CmdMoneyTransferFp();
|
||||||
|
public CmdMoneyTransferPf cmdMoneyTransferPf = new CmdMoneyTransferPf();
|
||||||
|
|
||||||
public CmdMoney()
|
public CmdMoney()
|
||||||
{
|
{
|
||||||
@ -18,7 +20,6 @@ public class CmdMoney extends FCommand
|
|||||||
//this.optionalArgs.put("","")
|
//this.optionalArgs.put("","")
|
||||||
|
|
||||||
this.isMoneyCommand = true;
|
this.isMoneyCommand = true;
|
||||||
this.isBankCommand = false;
|
|
||||||
|
|
||||||
senderMustBePlayer = false;
|
senderMustBePlayer = false;
|
||||||
senderMustBeMember = false;
|
senderMustBeMember = false;
|
||||||
@ -31,7 +32,9 @@ public class CmdMoney extends FCommand
|
|||||||
this.addSubCommand(this.cmdMoneyBalance);
|
this.addSubCommand(this.cmdMoneyBalance);
|
||||||
this.addSubCommand(this.cmdMoneyDeposit);
|
this.addSubCommand(this.cmdMoneyDeposit);
|
||||||
this.addSubCommand(this.cmdMoneyWithdraw);
|
this.addSubCommand(this.cmdMoneyWithdraw);
|
||||||
this.addSubCommand(this.cmdMoneyPay);
|
this.addSubCommand(this.cmdMoneyTransferFf);
|
||||||
|
this.addSubCommand(this.cmdMoneyTransferFp);
|
||||||
|
this.addSubCommand(this.cmdMoneyTransferPf);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -16,8 +16,7 @@ public class CmdMoneyBalance extends FCommand
|
|||||||
this.optionalArgs.put("faction", "yours");
|
this.optionalArgs.put("faction", "yours");
|
||||||
|
|
||||||
this.permission = Permission.MONEY_BALANCE.node;
|
this.permission = Permission.MONEY_BALANCE.node;
|
||||||
this.isMoneyCommand = true;
|
this.setHelpShort("show faction balance");
|
||||||
this.isBankCommand = true;
|
|
||||||
|
|
||||||
senderMustBePlayer = false;
|
senderMustBePlayer = false;
|
||||||
senderMustBeMember = false;
|
senderMustBeMember = false;
|
||||||
|
@ -11,14 +11,14 @@ public class CmdMoneyDeposit extends FCommand
|
|||||||
public CmdMoneyDeposit()
|
public CmdMoneyDeposit()
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
|
this.aliases.add("d");
|
||||||
this.aliases.add("deposit");
|
this.aliases.add("deposit");
|
||||||
|
|
||||||
this.requiredArgs.add("amount");
|
this.requiredArgs.add("amount");
|
||||||
this.optionalArgs.put("faction", "yours");
|
this.optionalArgs.put("faction", "yours");
|
||||||
|
|
||||||
this.permission = Permission.MONEY_DEPOSIT.node;
|
this.permission = Permission.MONEY_DEPOSIT.node;
|
||||||
this.isMoneyCommand = true;
|
this.setHelpShort("deposit money");
|
||||||
this.isBankCommand = true;
|
|
||||||
|
|
||||||
senderMustBePlayer = true;
|
senderMustBePlayer = true;
|
||||||
senderMustBeMember = false;
|
senderMustBeMember = false;
|
||||||
@ -29,7 +29,7 @@ public class CmdMoneyDeposit extends FCommand
|
|||||||
@Override
|
@Override
|
||||||
public void perform()
|
public void perform()
|
||||||
{
|
{
|
||||||
double amount = this.argAsDouble(0, 0);
|
double amount = this.argAsDouble(0, 0d);
|
||||||
Faction faction = this.argAsFaction(1, myFaction);
|
Faction faction = this.argAsFaction(1, myFaction);
|
||||||
if (faction == null) return;
|
if (faction == null) return;
|
||||||
Econ.transferMoney(fme, fme, faction, amount);
|
Econ.transferMoney(fme, fme, faction, amount);
|
||||||
|
@ -1,37 +0,0 @@
|
|||||||
package com.massivecraft.factions.cmd;
|
|
||||||
|
|
||||||
import com.massivecraft.factions.Faction;
|
|
||||||
import com.massivecraft.factions.integration.Econ;
|
|
||||||
import com.massivecraft.factions.struct.Permission;
|
|
||||||
|
|
||||||
|
|
||||||
public class CmdMoneyPay extends FCommand
|
|
||||||
{
|
|
||||||
public CmdMoneyPay()
|
|
||||||
{
|
|
||||||
this.aliases.add("pay");
|
|
||||||
|
|
||||||
this.requiredArgs.add("amount");
|
|
||||||
this.requiredArgs.add("faction");
|
|
||||||
|
|
||||||
//this.optionalArgs.put("", "");
|
|
||||||
|
|
||||||
this.permission = Permission.MONEY_PAY.node;
|
|
||||||
this.isMoneyCommand = true;
|
|
||||||
this.isBankCommand = true;
|
|
||||||
|
|
||||||
senderMustBePlayer = true;
|
|
||||||
senderMustBeMember = true;
|
|
||||||
senderMustBeModerator = false;
|
|
||||||
senderMustBeAdmin = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void perform()
|
|
||||||
{
|
|
||||||
double amount = this.argAsDouble(0, 0);
|
|
||||||
Faction faction = this.argAsFaction(1);
|
|
||||||
if (faction == null) return;
|
|
||||||
Econ.transferMoney(fme, myFaction, faction, amount);
|
|
||||||
}
|
|
||||||
}
|
|
40
src/com/massivecraft/factions/cmd/CmdMoneyTransferFf.java
Normal file
40
src/com/massivecraft/factions/cmd/CmdMoneyTransferFf.java
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
package com.massivecraft.factions.cmd;
|
||||||
|
|
||||||
|
import com.massivecraft.factions.iface.EconomyParticipator;
|
||||||
|
import com.massivecraft.factions.integration.Econ;
|
||||||
|
import com.massivecraft.factions.struct.Permission;
|
||||||
|
|
||||||
|
|
||||||
|
public class CmdMoneyTransferFf extends FCommand
|
||||||
|
{
|
||||||
|
public CmdMoneyTransferFf()
|
||||||
|
{
|
||||||
|
this.aliases.add("ff");
|
||||||
|
|
||||||
|
this.requiredArgs.add("amount");
|
||||||
|
this.requiredArgs.add("faction");
|
||||||
|
this.requiredArgs.add("faction");
|
||||||
|
|
||||||
|
//this.optionalArgs.put("", "");
|
||||||
|
|
||||||
|
this.permission = Permission.MONEY_F2F.node;
|
||||||
|
this.setHelpShort("transfer f -> f");
|
||||||
|
|
||||||
|
senderMustBePlayer = false;
|
||||||
|
senderMustBeMember = false;
|
||||||
|
senderMustBeModerator = false;
|
||||||
|
senderMustBeAdmin = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void perform()
|
||||||
|
{
|
||||||
|
double amount = this.argAsDouble(0, 0d);
|
||||||
|
EconomyParticipator from = this.argAsFaction(1);
|
||||||
|
if (from == null) return;
|
||||||
|
EconomyParticipator to = this.argAsFaction(2);
|
||||||
|
if (to == null) return;
|
||||||
|
|
||||||
|
Econ.transferMoney(fme, from, to, amount);
|
||||||
|
}
|
||||||
|
}
|
40
src/com/massivecraft/factions/cmd/CmdMoneyTransferFp.java
Normal file
40
src/com/massivecraft/factions/cmd/CmdMoneyTransferFp.java
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
package com.massivecraft.factions.cmd;
|
||||||
|
|
||||||
|
import com.massivecraft.factions.iface.EconomyParticipator;
|
||||||
|
import com.massivecraft.factions.integration.Econ;
|
||||||
|
import com.massivecraft.factions.struct.Permission;
|
||||||
|
|
||||||
|
|
||||||
|
public class CmdMoneyTransferFp extends FCommand
|
||||||
|
{
|
||||||
|
public CmdMoneyTransferFp()
|
||||||
|
{
|
||||||
|
this.aliases.add("fp");
|
||||||
|
|
||||||
|
this.requiredArgs.add("amount");
|
||||||
|
this.requiredArgs.add("faction");
|
||||||
|
this.requiredArgs.add("player");
|
||||||
|
|
||||||
|
//this.optionalArgs.put("", "");
|
||||||
|
|
||||||
|
this.permission = Permission.MONEY_F2P.node;
|
||||||
|
this.setHelpShort("transfer f -> p");
|
||||||
|
|
||||||
|
senderMustBePlayer = false;
|
||||||
|
senderMustBeMember = false;
|
||||||
|
senderMustBeModerator = false;
|
||||||
|
senderMustBeAdmin = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void perform()
|
||||||
|
{
|
||||||
|
double amount = this.argAsDouble(0, 0d);
|
||||||
|
EconomyParticipator from = this.argAsFaction(1);
|
||||||
|
if (from == null) return;
|
||||||
|
EconomyParticipator to = this.argAsBestFPlayerMatch(2);
|
||||||
|
if (to == null) return;
|
||||||
|
|
||||||
|
Econ.transferMoney(fme, from, to, amount);
|
||||||
|
}
|
||||||
|
}
|
40
src/com/massivecraft/factions/cmd/CmdMoneyTransferPf.java
Normal file
40
src/com/massivecraft/factions/cmd/CmdMoneyTransferPf.java
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
package com.massivecraft.factions.cmd;
|
||||||
|
|
||||||
|
import com.massivecraft.factions.iface.EconomyParticipator;
|
||||||
|
import com.massivecraft.factions.integration.Econ;
|
||||||
|
import com.massivecraft.factions.struct.Permission;
|
||||||
|
|
||||||
|
|
||||||
|
public class CmdMoneyTransferPf extends FCommand
|
||||||
|
{
|
||||||
|
public CmdMoneyTransferPf()
|
||||||
|
{
|
||||||
|
this.aliases.add("pf");
|
||||||
|
|
||||||
|
this.requiredArgs.add("amount");
|
||||||
|
this.requiredArgs.add("player");
|
||||||
|
this.requiredArgs.add("faction");
|
||||||
|
|
||||||
|
//this.optionalArgs.put("", "");
|
||||||
|
|
||||||
|
this.permission = Permission.MONEY_P2F.node;
|
||||||
|
this.setHelpShort("transfer p -> f");
|
||||||
|
|
||||||
|
senderMustBePlayer = false;
|
||||||
|
senderMustBeMember = false;
|
||||||
|
senderMustBeModerator = false;
|
||||||
|
senderMustBeAdmin = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void perform()
|
||||||
|
{
|
||||||
|
double amount = this.argAsDouble(0, 0d);
|
||||||
|
EconomyParticipator from = this.argAsBestFPlayerMatch(1);
|
||||||
|
if (from == null) return;
|
||||||
|
EconomyParticipator to = this.argAsFaction(2);
|
||||||
|
if (to == null) return;
|
||||||
|
|
||||||
|
Econ.transferMoney(fme, from, to, amount);
|
||||||
|
}
|
||||||
|
}
|
@ -6,17 +6,16 @@ import com.massivecraft.factions.struct.Permission;
|
|||||||
|
|
||||||
public class CmdMoneyWithdraw extends FCommand
|
public class CmdMoneyWithdraw extends FCommand
|
||||||
{
|
{
|
||||||
|
|
||||||
public CmdMoneyWithdraw()
|
public CmdMoneyWithdraw()
|
||||||
{
|
{
|
||||||
|
this.aliases.add("w");
|
||||||
this.aliases.add("withdraw");
|
this.aliases.add("withdraw");
|
||||||
|
|
||||||
this.requiredArgs.add("amount");
|
this.requiredArgs.add("amount");
|
||||||
this.optionalArgs.put("faction", "yours");
|
this.optionalArgs.put("faction", "yours");
|
||||||
|
|
||||||
this.permission = Permission.MONEY_WITHDRAW.node;
|
this.permission = Permission.MONEY_WITHDRAW.node;
|
||||||
this.isMoneyCommand = true;
|
this.setHelpShort("withdraw money");
|
||||||
this.isBankCommand = true;
|
|
||||||
|
|
||||||
senderMustBePlayer = true;
|
senderMustBePlayer = true;
|
||||||
senderMustBeMember = false;
|
senderMustBeMember = false;
|
||||||
@ -27,47 +26,9 @@ public class CmdMoneyWithdraw extends FCommand
|
|||||||
@Override
|
@Override
|
||||||
public void perform()
|
public void perform()
|
||||||
{
|
{
|
||||||
double amount = this.argAsDouble(0, 0);
|
double amount = this.argAsDouble(0, 0d);
|
||||||
Faction faction = this.argAsFaction(1, myFaction);
|
Faction faction = this.argAsFaction(1, myFaction);
|
||||||
if (faction == null) return;
|
if (faction == null) return;
|
||||||
Econ.transferMoney(fme, faction, fme, amount);
|
Econ.transferMoney(fme, faction, fme, amount);
|
||||||
|
|
||||||
/*if ( ! Conf.bankMembersCanWithdraw && ! assertMinRole(Role.MODERATOR))
|
|
||||||
{
|
|
||||||
msg("<b>Only faction moderators or admins are able to withdraw from the bank.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Faction faction = myFaction;
|
|
||||||
|
|
||||||
double amount = this.argAsDouble(0, 0d);
|
|
||||||
|
|
||||||
if( amount > 0.0 )
|
|
||||||
{
|
|
||||||
String amountString = Econ.moneyString(amount);
|
|
||||||
|
|
||||||
if( amount > faction.getMoney() )
|
|
||||||
{
|
|
||||||
amount = faction.getMoney();
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: Improve messages.
|
|
||||||
|
|
||||||
faction.removeMoney(amount);
|
|
||||||
Econ.addMoney(fme.getName(), amount);
|
|
||||||
msg("<i>You have withdrawn "+amountString+" from "+faction.getTag()+"'s bank.");
|
|
||||||
msg("<i>"+faction.getTag()+" now has "+Econ.moneyString(faction.getMoney()));
|
|
||||||
P.p.log(fme.getName() + " withdrew "+amountString+" from "+faction.getTag()+"'s bank.");
|
|
||||||
|
|
||||||
// TODO: FAction.getOnlineMembers().
|
|
||||||
for (FPlayer fplayer : FPlayers.i.getOnline())
|
|
||||||
{
|
|
||||||
if (fplayer.getFaction() == faction)
|
|
||||||
{
|
|
||||||
fplayer.msg("%s<i> has withdrawn %s", fme.getNameAndRelevant(fplayer), amountString);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}*/
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
@ -27,7 +27,6 @@ public abstract class FCommand extends MCommand<P>
|
|||||||
public boolean senderMustBeAdmin;
|
public boolean senderMustBeAdmin;
|
||||||
|
|
||||||
public boolean isMoneyCommand;
|
public boolean isMoneyCommand;
|
||||||
public boolean isBankCommand;
|
|
||||||
|
|
||||||
public FCommand()
|
public FCommand()
|
||||||
{
|
{
|
||||||
@ -38,7 +37,6 @@ public abstract class FCommand extends MCommand<P>
|
|||||||
|
|
||||||
// The money commands must be disabled if money should not be used.
|
// The money commands must be disabled if money should not be used.
|
||||||
isMoneyCommand = false;
|
isMoneyCommand = false;
|
||||||
isBankCommand = false;
|
|
||||||
|
|
||||||
senderMustBeMember = false;
|
senderMustBeMember = false;
|
||||||
senderMustBeModerator = false;
|
senderMustBeModerator = false;
|
||||||
@ -76,7 +74,7 @@ public abstract class FCommand extends MCommand<P>
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.isBankCommand && ! Conf.bankEnabled)
|
if (this.isMoneyCommand && ! Conf.bankEnabled)
|
||||||
{
|
{
|
||||||
msg("<b>The faction bank system is diabled on this server.");
|
msg("<b>The faction bank system is diabled on this server.");
|
||||||
return false;
|
return false;
|
||||||
|
@ -16,6 +16,7 @@ import com.massivecraft.factions.Faction;
|
|||||||
import com.massivecraft.factions.Factions;
|
import com.massivecraft.factions.Factions;
|
||||||
import com.massivecraft.factions.P;
|
import com.massivecraft.factions.P;
|
||||||
import com.massivecraft.factions.iface.EconomyParticipator;
|
import com.massivecraft.factions.iface.EconomyParticipator;
|
||||||
|
import com.massivecraft.factions.struct.Permission;
|
||||||
import com.massivecraft.factions.struct.Role;
|
import com.massivecraft.factions.struct.Role;
|
||||||
import com.massivecraft.factions.util.RelationUtil;
|
import com.massivecraft.factions.util.RelationUtil;
|
||||||
|
|
||||||
@ -95,6 +96,9 @@ public class Econ
|
|||||||
// Bypassing players can do any kind of transaction
|
// Bypassing players can do any kind of transaction
|
||||||
if (i instanceof FPlayer && ((FPlayer)i).isAdminBypassing()) return true;
|
if (i instanceof FPlayer && ((FPlayer)i).isAdminBypassing()) return true;
|
||||||
|
|
||||||
|
// Players with the any withdraw can to.
|
||||||
|
if (i instanceof FPlayer && Permission.MONEY_WITHDRAW_ANY.has(((FPlayer)i).getPlayer())) return true;
|
||||||
|
|
||||||
// You can deposit to anywhere you feel like. It's your loss if you can't withdraw it again.
|
// You can deposit to anywhere you feel like. It's your loss if you can't withdraw it again.
|
||||||
if (i == you) return true;
|
if (i == you) return true;
|
||||||
|
|
||||||
|
@ -34,9 +34,11 @@ public enum Permission
|
|||||||
MONEY_BALANCE("money.balance"),
|
MONEY_BALANCE("money.balance"),
|
||||||
MONEY_BALANCE_ANY("money.balance.any"),
|
MONEY_BALANCE_ANY("money.balance.any"),
|
||||||
MONEY_DEPOSIT("money.deposit"),
|
MONEY_DEPOSIT("money.deposit"),
|
||||||
MONEY_PAY("money.pay"),
|
|
||||||
MONEY_WITHDRAW("money.withdraw"),
|
MONEY_WITHDRAW("money.withdraw"),
|
||||||
MONEY_WITHDRAW_ANY("money.withdraw.any"),
|
MONEY_WITHDRAW_ANY("money.withdraw.any"),
|
||||||
|
MONEY_F2F("money.f2f"),
|
||||||
|
MONEY_F2P("money.f2p"),
|
||||||
|
MONEY_P2F("money.p2f"),
|
||||||
NO_BOOM("noboom"),
|
NO_BOOM("noboom"),
|
||||||
OPEN("open"),
|
OPEN("open"),
|
||||||
OWNER("owner"),
|
OWNER("owner"),
|
||||||
|
@ -48,7 +48,7 @@ public abstract class MCommand<T extends MPlugin>
|
|||||||
{
|
{
|
||||||
return pdesc;
|
return pdesc;
|
||||||
}
|
}
|
||||||
return "*no short help available*";
|
return "*info unavailable*";
|
||||||
}
|
}
|
||||||
return this.helpShort;
|
return this.helpShort;
|
||||||
}
|
}
|
||||||
@ -265,7 +265,7 @@ public abstract class MCommand<T extends MPlugin>
|
|||||||
if (addShortHelp)
|
if (addShortHelp)
|
||||||
{
|
{
|
||||||
ret.append(p.txt.parseTags(" <i>"));
|
ret.append(p.txt.parseTags(" <i>"));
|
||||||
ret.append(this.helpShort);
|
ret.append(this.getHelpShort());
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret.toString();
|
return ret.toString();
|
||||||
@ -332,12 +332,12 @@ public abstract class MCommand<T extends MPlugin>
|
|||||||
}
|
}
|
||||||
|
|
||||||
// INT ======================
|
// INT ======================
|
||||||
public int strAsInt(String str, int def)
|
public Integer strAsInt(String str, Integer def)
|
||||||
{
|
{
|
||||||
if (str == null) return def;
|
if (str == null) return def;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
int ret = Integer.parseInt(str);
|
Integer ret = Integer.parseInt(str);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
@ -345,22 +345,22 @@ public abstract class MCommand<T extends MPlugin>
|
|||||||
return def;
|
return def;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public int argAsInt(int idx, int def)
|
public Integer argAsInt(int idx, Integer def)
|
||||||
{
|
{
|
||||||
return strAsInt(this.argAsString(idx), def);
|
return strAsInt(this.argAsString(idx), def);
|
||||||
}
|
}
|
||||||
public int argAsInt(int idx)
|
public Integer argAsInt(int idx)
|
||||||
{
|
{
|
||||||
return this.argAsInt(idx, -1);
|
return this.argAsInt(idx, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Double ======================
|
// Double ======================
|
||||||
public double strAsDouble(String str, double def)
|
public Double strAsDouble(String str, Double def)
|
||||||
{
|
{
|
||||||
if (str == null) return def;
|
if (str == null) return def;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
double ret = Double.parseDouble(str);
|
Double ret = Double.parseDouble(str);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
@ -368,13 +368,13 @@ public abstract class MCommand<T extends MPlugin>
|
|||||||
return def;
|
return def;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public double argAsDouble(int idx, double def)
|
public Double argAsDouble(int idx, Double def)
|
||||||
{
|
{
|
||||||
return strAsDouble(this.argAsString(idx), def);
|
return strAsDouble(this.argAsString(idx), def);
|
||||||
}
|
}
|
||||||
public double argAsDouble(int idx)
|
public Double argAsDouble(int idx)
|
||||||
{
|
{
|
||||||
return this.argAsDouble(idx, -1d);
|
return this.argAsDouble(idx, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Go through the str conversion for the other arg-readers as well.
|
// TODO: Go through the str conversion for the other arg-readers as well.
|
||||||
|
@ -44,6 +44,7 @@ public class PermUtil {
|
|||||||
{
|
{
|
||||||
for(Permission permission : p.getDescription().getPermissions())
|
for(Permission permission : p.getDescription().getPermissions())
|
||||||
{
|
{
|
||||||
|
//p.log("\""+permission.getName()+"\" = \""+permission.getDescription()+"\"");
|
||||||
this.permissionDescriptions.put(permission.getName(), permission.getDescription());
|
this.permissionDescriptions.put(permission.getName(), permission.getDescription());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,7 +89,9 @@ public class PermUtil {
|
|||||||
|
|
||||||
if (pex != null)
|
if (pex != null)
|
||||||
{
|
{
|
||||||
return pex.has((Player)me, perm);
|
//return pex.has((Player)me, perm);
|
||||||
|
// Since pex supports superperms we should use those instead.
|
||||||
|
return ((Player)me).hasPermission(perm);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (perm2or3 != null)
|
if (perm2or3 != null)
|
||||||
|
Loading…
Reference in New Issue
Block a user