1.0.6 - Added Rank Placeholders and Gang Placeholders into one registry for PlaceholderAPI.

This commit is contained in:
WildInterloper 2024-03-14 14:50:25 -04:00
parent 6638ea811d
commit d6560e3c88
4 changed files with 72 additions and 61 deletions

View File

@ -6,7 +6,7 @@
<groupId>me.NVus</groupId>
<artifactId>NVus_Prison</artifactId>
<version>1.0.5</version>
<version>1.0.6</version>
<packaging>jar</packaging>
<name>NVus_PrisonSetup</name>

View File

@ -0,0 +1,64 @@
package me.nvus.nvus_prison_setup.Placeholders;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import org.bukkit.entity.Player;
import me.nvus.nvus_prison_setup.Ranks.RankManager;
import me.nvus.nvus_prison_setup.Gangs.GangManager;
import me.nvus.nvus_prison_setup.Gangs.GangInfo;
import me.nvus.nvus_prison_setup.Ranks.Rank;
public class CombinedPlaceholders extends PlaceholderExpansion {
private final GangManager gangManager;
private final RankManager rankManager;
public CombinedPlaceholders(GangManager gangManager, RankManager rankManager) {
this.gangManager = gangManager;
this.rankManager = rankManager;
}
@Override
public String getIdentifier() {
return "nvus";
}
@Override
public String getAuthor() {
return "never2nv";
}
@Override
public String getVersion() {
return "1.0";
}
@Override
public String onPlaceholderRequest(Player player, String identifier) {
if (player == null) {
return "";
}
switch (identifier) {
case "gang_name":
String gangName = gangManager.getCurrentGangName(player.getUniqueId());
return gangName != null ? gangName : "No Gang";
case "gang_owner":
GangInfo gangInfo = gangManager.getGangInfo(gangManager.getCurrentGangName(player.getUniqueId()));
return gangInfo != null ? gangInfo.getOwnerName() : "No Gang";
case "gang_members":
GangInfo gangInfoMembers = gangManager.getGangInfo(gangManager.getCurrentGangName(player.getUniqueId()));
return gangInfoMembers != null ? String.valueOf(gangInfoMembers.getMemberCount()) : "No Gang";
case "rank_current":
Rank currentRank = rankManager.getCurrentRank(player);
return currentRank != null ? currentRank.getName() : "Unranked";
case "rank_next":
Rank nextRank = rankManager.getNextRank(player);
return nextRank != null ? nextRank.getName() : "Highest Rank";
case "rank_cost":
Rank rankForCost = rankManager.getNextRank(player);
return rankForCost != null ? String.format("$%.2f", rankForCost.getCost()) : "N/A";
default:
return null;
}
}
}

View File

@ -1,58 +0,0 @@
package me.nvus.nvus_prison_setup.Placeholders;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import org.bukkit.entity.Player;
import me.nvus.nvus_prison_setup.Gangs.GangManager;
import me.nvus.nvus_prison_setup.Gangs.GangInfo;
public class GangPlaceholders extends PlaceholderExpansion {
private GangManager gangManager;
public GangPlaceholders(GangManager gangManager) {
this.gangManager = gangManager;
}
@Override
public String getIdentifier() {
return "nvus";
}
@Override
public String getAuthor() {
return "never2nv";
}
@Override
public String getVersion() {
return "1.1";
}
@Override
public String onPlaceholderRequest(Player player, String identifier) {
if (player == null) {
return "";
}
String gangName = gangManager.getCurrentGangName(player.getUniqueId());
if (gangName == null) {
return "No Gang";
}
GangInfo gangInfo = gangManager.getGangInfo(gangName);
if (gangInfo == null) {
return "Gang information could not be retrieved.";
}
switch (identifier) {
case "gang_name":
return gangInfo.getName();
case "gang_owner":
return gangInfo.getOwnerName();
case "gang_members":
return String.valueOf(gangInfo.getMemberCount());
default:
return null;
}
}
}

View File

@ -9,7 +9,6 @@ import me.nvus.nvus_prison_setup.Listeners.PlayerItems;
import me.nvus.nvus_prison_setup.Listeners.PlayerSpawn;
import me.nvus.nvus_prison_setup.Listeners.BlockListener;
import me.nvus.nvus_prison_setup.Listeners.ToolSwitchListener;
import me.nvus.nvus_prison_setup.Placeholders.GangPlaceholders;
import me.nvus.nvus_prison_setup.Ranks.RankCommands;
import me.nvus.nvus_prison_setup.Ranks.RankListener;
import me.nvus.nvus_prison_setup.Ranks.RankManager;
@ -20,6 +19,8 @@ import me.nvus.nvus_prison_setup.AutoSell.SellManager;
import me.nvus.nvus_prison_setup.AutoSell.Listeners.AutoSellListener;
import me.nvus.nvus_prison_setup.Kit.Listeners.KitListener;
import me.nvus.nvus_prison_setup.Listeners.CommandListener;
// Placeholders
import me.nvus.nvus_prison_setup.Placeholders.CombinedPlaceholders;
// Database
import me.nvus.nvus_prison_setup.Database.DatabaseManager;
// Gangs
@ -106,7 +107,7 @@ public final class PrisonSetup extends JavaPlugin {
this.getCommand("gang").setExecutor(new GangCommands(dbManager)); // Now correctly using initialized dbManager
// Register the Gangs placeholder expansion
if (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
new GangPlaceholders(gangManager).register();
new CombinedPlaceholders(gangManager, rankManager).register();
}
@ -154,6 +155,10 @@ public final class PrisonSetup extends JavaPlugin {
// Register RankListener
getServer().getPluginManager().registerEvents(new RankListener(rankManager), this);
// Handled after checking if server has PlaceholderAPI installed or not.
// Combined Gang and Rank placeholders into one file now!
// new RankPlaceholders(rankManager).register();
// Register commands
this.getCommand("rankup").setExecutor(new RankCommands(this));
this.getCommand("ranks").setExecutor(new RankCommands(this));