-
Notifications
You must be signed in to change notification settings - Fork 0
ClanAPI
MathiasMC edited this page Dec 28, 2020
·
7 revisions
You can get the api by using
import me.MathiasMC.PvPClans.api.ClanAPI;
ClanAPI clanAPI = ClanAPI.getInstance();clanAPI.getClanPlayer(UUID);
Returns: ClanPlayer of the player
clanAPI.getClan(clanID);
clanAPI.getClan(UUID);
Returns: Clan of the clan ID/UUID
clanAPI.getClans()
Returns: List of all clans Map<Long, Clan>
clanAPI.getPlayerHead(UUID);
Returns: ItemStack of a player head
clanAPI.createClan(ClanPlayer, name);
Returns: false if already have a clan.
clanAPI.deleteClan(Clan);/*
* You can get a clan by using:
* Returns null if has no clan
*/
By ID:
Clan clan = clanAPI.getClan(clanID);
By UUID:
Clan clan = clanAPI.getClan(UUID);
By ClanPlayer:
ClanPlayer clanPlayer = clanAPI.getClanPlayer(UUID);
Clan clan = clanPlayer.getClan();/*
*
* You dont need to create a class only if you want it to show up in the gui system and command, store values with config file
* You can check and change values with:
* clan.addPerk(identifier, 1, 1, true);
* clan.hasPerk(identifier)
* clan.isPerkActive(identifier)
* int[] value = clan.getPerk(identifier);
*
* Add your own perk
* Make a new class and register on enable
* onRequest has always 2 placeholders as standard {value}, {enabled}
* Placeholder: {test}
*
* The class also have other methods like getConfig, getFile, saveConfig
* setupConfig
* where you can store values or options for the perk
*/
import me.MathiasMC.PvPClans.api.Perk;
import me.MathiasMC.PvPClans.data.ClanPlayer;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import java.util.Arrays;
import java.util.List;
public class TestPerk extends Perk {
@Override
public String getIdentifier() {
return "perk-name";
}
@Override
public ItemStack getItemStack() {
return new ItemStack(Material.IRON_SWORD);
}
@Override
public String getName() {
return "Name of item";
}
@Override
public List<String> getLore() {
return Arrays.asList(" ", "Lore", " ", "&8> &7Enabled {enabled}", " ");
}
@Override
public void setupConfig() {
/*
* getConfig().set("path", "value");
* saveConfig();
* Not required only called once, when file is created perks/identifier.yml
*/
}
@Override
public String onRequest(ClanPlayer clanPlayer, String placeholder) {
if (placeholder.equals("test")) {
return "Value";
}
/*
* Example for explosive arrow
*/
if (placeholder.equals("damage_min")) {
return String.valueOf(getConfig().getDouble(clanPlayer.getClan().getPerk(getIdentifier())[1] + ".damage.min", 1));
}
if (placeholder.equals("damage_max")) {
return String.valueOf(getConfig().getDouble(clanPlayer.getClan().getPerk(getIdentifier())[1] + ".damage.max", 1));
}
return null;
}
}TestPerk testPerk = new TestPerk();
testPerk.register();/*
* Check if clan has perk
* A perk has always 3 values
* /pvpclans perk add <player> <perk> value[0] value[1]
* And value[3] is 1 or 0 if active but you can check with isPerkActive
*/
@EventHandler
public void onEvent(PlayerJoinEvent e) {
Player player = e.getPlayer();
UUID uuid = player.getUniqueId();
Clan clan = clanAPI.getClan(uuid);
if (clan == null) return;
String identifier = "identifier";
if (!clan.hasPerk(identifier)) return;
if (!clan.isPerkActive(identifier)) {
player.sendMessage("Your perk " + identifier + " is not active");
return;
}
int[] value = clan.getPerk(identifier);
player.sendMessage("You have perk " + identifier + " with values " + value[0] + ", " + value[1]);
}/*
* If you want to add messages for the default /pvpclans perk add <player> <perk> <number> <number>
* Like perk was upgraded you can this to the perk class
*/
@Override
public List < String > getLeader() {
return Collections.singletonList("pvpclans message {player} &7[&6&lLeader Info&7] &f&l» &7Perk ( &cExplosive Arrow &7) is now upgraded.");
}
@Override
public List < String > getModerator() {
return Collections.singletonList("pvpclans message {player} &7[&6&lModerator Info&7] &f&l» &7Perk ( &cExplosive Arrow &7) is now upgraded.");
}
@Override
public List < String > getMember() {
return Collections.singletonList("pvpclans message {player} &7[&6&lMember Info&7] &f&l» &7Perk ( &cExplosive Arrow &7) is now upgraded.");
}
@Override
public List < String > getLeaderRemove() {
return Collections.singletonList("pvpclans message {player} &7[&6&lLeader Info&7] &f&l» &7You have lost perk ( &cExplosive Arrow &7)");
}
@Override
public List < String > getModeratorRemove() {
return Collections.singletonList("pvpclans message {player} &7[&6&lModerator Info&7] &f&l» &7You have lost perk ( &cExplosive Arrow &7)");
}
@Override
public List < String > getMemberRemove() {
return Collections.singletonList("pvpclans message {player} &7[&6&lMember Info&7] &f&l» &7You have lost perk ( &cExplosive Arrow &7)");
}/*
* Change perk values
*
* true or false if enabled when adding values to the perk
*
*/
clan.addPerk(identifier, 1, 1, true);Wiki
-
- Player
- Clan
- Stats
-
Events
- ClanAcceptEvent
- ClanAddCoinsEvent
- ClanAddXpEvent
- ClanCreateEvent
- ClanDeleteEvent
- ClanDenyEvent
- ClanInviteEvent
- ClanKickEvent
- ClanLeaveEvent
- ClanMemberEvent
- ClanMemberSizeEvent
- ClanModeratorEvent
- ClanRemoveCoinsEvent
- ClanRemoveXpEvent
- ClanRenameEvent
- ClanSetCoinsEvent
- ClanSetXpEvent
- ClanUpgradeEvent
- ClanWithdrawEvent
- ClanWithdrawMemberEvent