Skip to content
This repository has been archived by the owner on Sep 23, 2023. It is now read-only.

Commit

Permalink
Placeholders (#12)
Browse files Browse the repository at this point in the history
* placeholder api in pom

* placeholderapi added as softdepend, expansion class + runtime check for PlaceholderAPI in onEnable
  • Loading branch information
ms5984 committed Feb 28, 2021
1 parent a8d7cb4 commit 34bb35a
Show file tree
Hide file tree
Showing 5 changed files with 84 additions and 0 deletions.
5 changes: 5 additions & 0 deletions ClansBanks-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,11 @@
<artifactId>VaultAPI</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>me.clip</groupId>
<artifactId>placeholderapi</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>

<profiles>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import com.github.ms5984.clans.clansbanks.model.BankEventsListener;
import com.github.ms5984.clans.clansbanks.messaging.Messages;
import com.github.ms5984.clans.clansbanks.model.BankMeta;
import com.github.ms5984.clans.clansbanks.model.BanksPlaceholders;
import com.github.ms5984.clans.clansbanks.util.Permissions;
import com.youtube.hempfest.clans.util.construct.Clan;
import net.milkbowl.vault.economy.Economy;
Expand Down Expand Up @@ -74,6 +75,9 @@ public void onEnable() {
if (maxBalance == null) return "None";
return maxBalance.toString();
}));
if (getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
new BanksPlaceholders(this).register();
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package com.github.ms5984.clans.clansbanks.model;

import com.github.ms5984.clans.clansbanks.ClansBanks;
import com.github.ms5984.clans.clansbanks.api.BanksAPI;
import com.github.ms5984.clans.clansbanks.api.ClanBank;
import com.youtube.hempfest.clans.HempfestClans;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import org.jetbrains.annotations.NotNull;

import java.math.BigDecimal;
import java.util.Optional;

public final class BanksPlaceholders extends PlaceholderExpansion {

private final Plugin plugin;
private final BanksAPI api;

public BanksPlaceholders(ClansBanks plugin) {
this.plugin = plugin;
this.api = plugin;
}

@Override
public boolean persist() {
return true;
}

@Override
public boolean canRegister() {
return true;
}

@Override
public @NotNull String getAuthor() {
return plugin.getDescription().getAuthors().toString();
}

@Override
public @NotNull String getIdentifier() {
return "clansbanks";
}

@Override
public @NotNull String getVersion() {
return plugin.getDescription().getVersion();
}

@Override
public String onPlaceholderRequest(Player player, @NotNull String params) {
final Optional<Player> optionalPlayer = Optional.ofNullable(player);
return optionalPlayer.map(p -> {
if ("balance".equals(params)) {
final Optional<BigDecimal> optionalBalance = Optional.ofNullable(HempfestClans.getInstance().playerClan.get(player.getUniqueId()))
.map(s -> HempfestClans.clanManager(player)).map(api::getBank).map(ClanBank::getBalance);
if (optionalBalance.isPresent()) {
return optionalBalance.get().toString();
}
}
return null;
}).orElse(null);
}
}
1 change: 1 addition & 0 deletions ClansBanks-plugin/src/main/resources/plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ prefix: 'Clans[Banks]'
api-version: 1.15
load: POSTWORLD
depend: [ Vault, Clans ]
softdepend: [ PlaceholderAPI ]
authors: [ ms5984 ]
description: ${project.parent.description}
website: ${project.parent.url}
10 changes: 10 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,10 @@
<id>CodeMC</id>
<url>https://repo.codemc.org/repository/maven-public</url>
</repository>
<repository>
<id>placeholderapi</id>
<url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url>
</repository>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
Expand Down Expand Up @@ -119,6 +123,12 @@
<version>1.7</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>me.clip</groupId>
<artifactId>placeholderapi</artifactId>
<version>2.10.9</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
Expand Down

0 comments on commit 34bb35a

Please sign in to comment.