use of com.griefdefender.api.CommandResult in project GDHooks by bloodmc.
the class CommandClanClaim method execute.
@CommandCompletion("@gdidentifiers")
@CommandAlias("clanclaim")
@Description("%clan-claim")
@Syntax("[identifier]")
@Subcommand("clan claim")
public void execute(Player player, @Optional String identifier) {
final ClanPlayer clanPlayer = GDHooks.getInstance().getClanProvider().getClanPlayer(player.getUniqueId());
if (clanPlayer == null) {
return;
}
final Clan clan = clanPlayer.getClan();
if (clan == null) {
return;
}
if (!clanPlayer.isLeader()) {
return;
}
final Audience audience = GriefDefender.getAudienceProvider().getSender(player);
final CommandResult result = GriefDefender.getCore().canUseCommand(player, TrustTypes.MANAGER, identifier);
if (!result.successful()) {
if (result.getClaim() != null) {
final Component message = MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.PERMISSION_TRUST, ImmutableMap.of("owner", result.getClaim().getOwnerDisplayName()));
audience.sendMessage(message);
} else {
audience.sendMessage(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.PERMISSION_COMMAND_TRUST));
}
return;
}
final Claim claim = result.getClaim();
if (claim.hasAttribute(GDHooksAttributes.ATTRIBUTE_CLAN)) {
claim.removeAttribute(GDHooksAttributes.ATTRIBUTE_CLAN);
audience.sendMessage(Component.text("Removed clan attribute."));
} else {
claim.addAttribute(GDHooksAttributes.ATTRIBUTE_CLAN);
audience.sendMessage(Component.text("Added clan attribute."));
}
}
use of com.griefdefender.api.CommandResult in project GDHooks by bloodmc.
the class CommandClanTrust method execute.
@CommandCompletion("@gdclans @gdtrusttypes @gddummy")
@CommandAlias("clantrust")
@Description("%clan-trust")
@Syntax("<clan> [<accessor|builder|container|manager|resident>]")
@Subcommand("clan trust")
public void execute(CommandSender sender, String clanTag, @Optional String type, @Optional String identifier) {
TrustType trustType = null;
final Audience audience = GriefDefender.getAudienceProvider().getSender(sender);
if (type == null) {
trustType = TrustTypes.BUILDER;
} else {
trustType = HooksUtil.getTrustType(type);
if (trustType == null) {
audience.sendMessage(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.TRUST_INVALID));
return;
}
}
final Clan clan = GDHooks.getInstance().getClanProvider().getClan(clanTag);
if (clan == null) {
audience.sendMessage(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.COMMAND_INVALID_CLAN, ImmutableMap.of("clan", clanTag)));
return;
}
final CommandResult result = GriefDefender.getCore().canUseCommand(sender, TrustTypes.MANAGER, identifier);
if (!result.successful()) {
if (result.getClaim() != null) {
final Component message = MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.PERMISSION_TRUST, ImmutableMap.of("owner", result.getClaim().getOwnerDisplayName()));
audience.sendMessage(message);
} else {
audience.sendMessage(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.PERMISSION_COMMAND_TRUST));
}
return;
}
final Claim claim = result.getClaim();
if (!claim.isAdminClaim() && !claim.isTown() && trustType == TrustTypes.RESIDENT) {
audience.sendMessage(Component.text("Resident trust not allowed in this claim type."));
return;
}
if (claim.isClanTrusted(clan, trustType)) {
final Component message = MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.TRUST_ALREADY_HAS, ImmutableMap.of("target", clan.getTag(), "type", trustType.getName()));
audience.sendMessage(message);
return;
}
GriefDefender.getEventManager().getCauseStackManager().pushCause(sender);
final ClaimResult claimResult = claim.addClanTrust(clanTag, trustType);
GriefDefender.getEventManager().getCauseStackManager().popCause();
if (!claimResult.successful()) {
audience.sendMessage(claimResult.getMessage().orElse(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.TRUST_PLUGIN_CANCEL, ImmutableMap.of("target", clan.getTag()))));
return;
}
final Component message = MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.TRUST_GRANT, ImmutableMap.of("target", clan.getTag(), "type", trustType.getName()));
audience.sendMessage(message);
}
use of com.griefdefender.api.CommandResult in project GDHooks by bloodmc.
the class CommandClanUntrustAll method execute.
@CommandCompletion("@gdclans @gdtrusttypes @gddummy")
@CommandAlias("clanuntrustall")
@Description("%clan-untrust-all")
@Syntax("<clan> [<accessor|builder|container|manager|resident>]")
@Subcommand("clan untrustall")
public void execute(Player player, String clanTag, @Optional String type, @Optional String identifier) {
TrustType trustType = null;
final Audience audience = GriefDefender.getAudienceProvider().getSender(player);
if (type == null) {
trustType = TrustTypes.NONE;
} else {
trustType = HooksUtil.getTrustType(type);
if (trustType == null) {
audience.sendMessage(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.TRUST_INVALID));
return;
}
}
final Clan clan = GDHooks.getInstance().getClanProvider().getClan(clanTag);
if (clan == null) {
audience.sendMessage(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.COMMAND_INVALID_CLAN, ImmutableMap.of("clan", clanTag)));
return;
}
final CommandResult result = GriefDefender.getCore().canUseCommand(player, TrustTypes.MANAGER, identifier);
if (!result.successful()) {
if (result.getClaim() != null) {
final Component message = MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.PERMISSION_TRUST, ImmutableMap.of("owner", result.getClaim().getOwnerDisplayName()));
audience.sendMessage(message);
} else {
audience.sendMessage(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.PERMISSION_COMMAND_TRUST));
}
return;
}
PlayerData playerData = GriefDefender.getCore().getPlayerData(player.getWorld().getUID(), player.getUniqueId());
Set<Claim> claimList = null;
if (playerData != null) {
claimList = playerData.getClaims();
}
if (playerData == null || claimList == null || claimList.size() == 0) {
audience.sendMessage(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.TRUST_NO_CLAIMS));
return;
}
GriefDefender.getEventManager().getCauseStackManager().pushCause(player);
GDClanTrustClaimEvent.Remove event = new GDClanTrustClaimEvent.Remove(new ArrayList<>(claimList), ImmutableSet.of(clan), trustType);
GriefDefender.getEventManager().post(event);
GriefDefender.getEventManager().getCauseStackManager().popCause();
if (event.cancelled()) {
audience.sendMessage(event.getMessage().orElse(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.TRUST_PLUGIN_CANCEL, ImmutableMap.of("target", clan.getTag()))));
return;
}
for (Claim claim : claimList) {
claim.removeClanTrust(clan, trustType);
}
final Component message = MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.UNTRUST_INDIVIDUAL_ALL_CLAIMS, ImmutableMap.of("player", clan.getTag()));
audience.sendMessage(message);
}
use of com.griefdefender.api.CommandResult in project GDHooks by bloodmc.
the class CommandClanUntrust method execute.
@CommandCompletion("@gdclans @gdtrusttypes @gddummy")
@CommandAlias("clanuntrust")
@Description("%clan-untrust")
@Syntax("<clan> [<accessor|builder|container|manager|resident>]")
@Subcommand("clan untrust")
public void execute(CommandSender sender, String clanTag, @Optional String type, @Optional String identifier) {
TrustType trustType = null;
final Audience audience = GriefDefender.getAudienceProvider().getSender(sender);
if (type == null) {
trustType = TrustTypes.NONE;
} else {
trustType = HooksUtil.getTrustType(type);
if (trustType == null) {
audience.sendMessage(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.TRUST_INVALID));
return;
}
}
final Clan clan = GDHooks.getInstance().getClanProvider().getClan(clanTag);
if (clan == null) {
audience.sendMessage(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.COMMAND_INVALID_CLAN, ImmutableMap.of("clan", clanTag)));
return;
}
final CommandResult result = GriefDefender.getCore().canUseCommand(sender, TrustTypes.MANAGER, identifier);
if (!result.successful()) {
if (result.getClaim() != null) {
final Component message = MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.PERMISSION_TRUST, ImmutableMap.of("owner", result.getClaim().getOwnerDisplayName()));
audience.sendMessage(message);
} else {
audience.sendMessage(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.PERMISSION_COMMAND_TRUST));
}
return;
}
final Claim claim = result.getClaim();
GriefDefender.getEventManager().getCauseStackManager().pushCause(sender);
final ClaimResult claimResult = claim.removeClanTrust(clanTag, trustType);
GriefDefender.getEventManager().getCauseStackManager().popCause();
if (!claimResult.successful()) {
audience.sendMessage(claimResult.getMessage().orElse(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.TRUST_PLUGIN_CANCEL, ImmutableMap.of("target", clan.getTag()))));
return;
}
final Component message = MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.UNTRUST_INDIVIDUAL_SINGLE_CLAIM, ImmutableMap.of("target", clan.getTag()));
audience.sendMessage(message);
}
use of com.griefdefender.api.CommandResult in project GDHooks by bloodmc.
the class CommandClanUntrustAllAdmin method execute.
@CommandCompletion("@gdclans @gdtrusttypes @gddummy")
@CommandAlias("clanuntrustalladmin")
@Description("%clan-untrust-all-admin")
@Syntax("<clan> [<accessor|builder|container|manager|resident>]")
@Subcommand("clan untrustalladmin")
public void execute(Player player, String clanTag, @Optional String type, @Optional String identifier) {
TrustType trustType = null;
final Audience audience = GriefDefender.getAudienceProvider().getSender(player);
if (type == null) {
trustType = TrustTypes.BUILDER;
} else {
trustType = HooksUtil.getTrustType(type);
if (trustType == null) {
audience.sendMessage(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.TRUST_INVALID));
return;
}
}
final Clan clan = GDHooks.getInstance().getClanProvider().getClan(clanTag);
if (clan == null) {
audience.sendMessage(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.COMMAND_INVALID_CLAN, ImmutableMap.of("clan", clanTag)));
return;
}
final CommandResult result = GriefDefender.getCore().canUseCommand(player, TrustTypes.MANAGER, identifier);
if (!result.successful()) {
if (result.getClaim() != null) {
final Component message = MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.PERMISSION_TRUST, ImmutableMap.of("owner", result.getClaim().getOwnerDisplayName()));
audience.sendMessage(message);
} else {
audience.sendMessage(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.PERMISSION_COMMAND_TRUST));
}
return;
}
Set<Claim> claimList = new HashSet<>();
final ClaimManager claimManager = GriefDefender.getCore().getClaimManager(player.getWorld().getUID());
for (Claim claim : claimManager.getWorldClaims()) {
if (claim.isAdminClaim()) {
claimList.add(claim);
}
}
if (claimList == null || claimList.size() == 0) {
audience.sendMessage(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.TRUST_NO_CLAIMS));
return;
}
GriefDefender.getEventManager().getCauseStackManager().pushCause(player);
GDClanTrustClaimEvent.Remove event = new GDClanTrustClaimEvent.Remove(new ArrayList<>(claimList), ImmutableSet.of(clan), trustType);
GriefDefender.getEventManager().post(event);
GriefDefender.getEventManager().getCauseStackManager().popCause();
if (event.cancelled()) {
audience.sendMessage(event.getMessage().orElse(MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.TRUST_PLUGIN_CANCEL, ImmutableMap.of("target", clan.getTag()))));
return;
}
for (Claim claim : claimList) {
claim.removeClanTrust(clan, trustType);
}
final Component message = MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.UNTRUST_INDIVIDUAL_ALL_CLAIMS, ImmutableMap.of("player", clan.getTag()));
audience.sendMessage(message);
}
Aggregations