use of com.griefdefender.api.CommandResult in project GDHooks by bloodmc.
the class CommandClanTrustAllAdmin method execute.
@CommandCompletion("@gdclans @gdtrusttypes @gddummy")
@CommandAlias("clantrustalladmin")
@Description("%clan-trust-all-admin")
@Syntax("<clan> [<accessor|builder|container|manager|resident>]")
@Subcommand("clan trustalladmin")
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.Add event = new GDClanTrustClaimEvent.Add(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) {
if (trustType == TrustTypes.RESIDENT && !claim.isAdminClaim() && !claim.isTown()) {
continue;
}
claim.addClanTrust(clan, trustType);
}
final Component message = MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.TRUST_INDIVIDUAL_ALL_CLAIMS, ImmutableMap.of("player", clan.getTag()));
audience.sendMessage(message);
}
use of com.griefdefender.api.CommandResult in project GDHooks by bloodmc.
the class CommandClanTrustAll method execute.
@CommandCompletion("@gdclans @gdtrusttypes @gddummy")
@CommandAlias("clantrustall")
@Description("%clan-trust-all")
@Syntax("<clan> [<accessor|builder|container|manager|resident>]")
@Subcommand("clan trustall")
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;
}
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.Add event = new GDClanTrustClaimEvent.Add(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) {
if (trustType == TrustTypes.RESIDENT && !claim.isAdminClaim() && !claim.isTown()) {
continue;
}
claim.addClanTrust(clan, trustType);
}
final Component message = MessageConfig.MESSAGE_DATA.getMessage(MessageConfig.TRUST_INDIVIDUAL_ALL_CLAIMS, ImmutableMap.of("player", clan.getTag()));
audience.sendMessage(message);
}
Aggregations