forked from never2nv/NVus_Prison
1.0.7 - Hotfix, gang/rank placeholders.
This commit is contained in:
parent
d6560e3c88
commit
02c86def4b
2
pom.xml
2
pom.xml
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
<groupId>me.NVus</groupId>
|
<groupId>me.NVus</groupId>
|
||||||
<artifactId>NVus_Prison</artifactId>
|
<artifactId>NVus_Prison</artifactId>
|
||||||
<version>1.0.6</version>
|
<version>1.0.7</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>NVus_PrisonSetup</name>
|
<name>NVus_PrisonSetup</name>
|
||||||
|
|
|
@ -2,19 +2,12 @@ package me.nvus.nvus_prison_setup.Placeholders;
|
||||||
|
|
||||||
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
||||||
import org.bukkit.entity.Player;
|
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 {
|
public class CombinedPlaceholders extends PlaceholderExpansion {
|
||||||
|
private final PlaceholderManager placeholderManager;
|
||||||
|
|
||||||
private final GangManager gangManager;
|
public CombinedPlaceholders(PlaceholderManager placeholderManager) {
|
||||||
private final RankManager rankManager;
|
this.placeholderManager = placeholderManager;
|
||||||
|
|
||||||
public CombinedPlaceholders(GangManager gangManager, RankManager rankManager) {
|
|
||||||
this.gangManager = gangManager;
|
|
||||||
this.rankManager = rankManager;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -29,7 +22,7 @@ public class CombinedPlaceholders extends PlaceholderExpansion {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getVersion() {
|
public String getVersion() {
|
||||||
return "1.0";
|
return "1.2";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -39,24 +32,21 @@ public class CombinedPlaceholders extends PlaceholderExpansion {
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (identifier) {
|
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":
|
case "rank_current":
|
||||||
Rank currentRank = rankManager.getCurrentRank(player);
|
return placeholderManager.getCurrentRankName(player);
|
||||||
return currentRank != null ? currentRank.getName() : "Unranked";
|
|
||||||
case "rank_next":
|
case "rank_next":
|
||||||
Rank nextRank = rankManager.getNextRank(player);
|
return placeholderManager.getNextRankName(player);
|
||||||
return nextRank != null ? nextRank.getName() : "Highest Rank";
|
|
||||||
case "rank_cost":
|
case "rank_cost":
|
||||||
Rank rankForCost = rankManager.getNextRank(player);
|
double cost = placeholderManager.getNextRankCost(player);
|
||||||
return rankForCost != null ? String.format("$%.2f", rankForCost.getCost()) : "N/A";
|
return cost >= 0 ? String.format("$%.2f", cost) : "N/A";
|
||||||
|
case "gang_name":
|
||||||
|
return placeholderManager.getCurrentGangName(player);
|
||||||
|
case "gang_owner":
|
||||||
|
String gangName = placeholderManager.getCurrentGangName(player);
|
||||||
|
return placeholderManager.getGangOwnerName(gangName);
|
||||||
|
case "gang_members":
|
||||||
|
gangName = placeholderManager.getCurrentGangName(player);
|
||||||
|
return String.valueOf(placeholderManager.getGangMemberCount(gangName));
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,46 @@
|
||||||
|
package me.nvus.nvus_prison_setup.Placeholders;
|
||||||
|
|
||||||
|
import me.nvus.nvus_prison_setup.Gangs.GangInfo;
|
||||||
|
import me.nvus.nvus_prison_setup.Gangs.GangManager;
|
||||||
|
import me.nvus.nvus_prison_setup.Ranks.Rank;
|
||||||
|
import me.nvus.nvus_prison_setup.Ranks.RankManager;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class PlaceholderManager {
|
||||||
|
private final GangManager gangManager;
|
||||||
|
private final RankManager rankManager;
|
||||||
|
|
||||||
|
public PlaceholderManager(GangManager gangManager, RankManager rankManager) {
|
||||||
|
this.gangManager = gangManager;
|
||||||
|
this.rankManager = rankManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCurrentGangName(Player player) {
|
||||||
|
return gangManager.getCurrentGangName(player.getUniqueId());
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGangOwnerName(String gangName) {
|
||||||
|
GangInfo gangInfo = gangManager.getGangInfo(gangName);
|
||||||
|
return gangInfo != null ? gangInfo.getOwnerName() : "No Gang";
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getGangMemberCount(String gangName) {
|
||||||
|
GangInfo gangInfo = gangManager.getGangInfo(gangName);
|
||||||
|
return gangInfo != null ? gangInfo.getMemberCount() : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCurrentRankName(Player player) {
|
||||||
|
Rank currentRank = rankManager.getCurrentRank(player);
|
||||||
|
return currentRank != null ? currentRank.getName() : "Unranked";
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNextRankName(Player player) {
|
||||||
|
Rank nextRank = rankManager.getNextRank(player);
|
||||||
|
return nextRank != null ? nextRank.getName() : "Max Rank";
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getNextRankCost(Player player) {
|
||||||
|
Rank nextRank = rankManager.getNextRank(player);
|
||||||
|
return nextRank != null ? nextRank.getCost() : -1;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,54 @@
|
||||||
|
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.Ranks.Rank;
|
||||||
|
|
||||||
|
public class RankPlaceholders extends PlaceholderExpansion {
|
||||||
|
|
||||||
|
private final RankManager rankManager;
|
||||||
|
|
||||||
|
public RankPlaceholders(RankManager rankManager) {
|
||||||
|
this.rankManager = rankManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getIdentifier() {
|
||||||
|
return "prison";
|
||||||
|
}
|
||||||
|
|
||||||
|
@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 "";
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (identifier) {
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -9,6 +9,7 @@ import me.nvus.nvus_prison_setup.Listeners.PlayerItems;
|
||||||
import me.nvus.nvus_prison_setup.Listeners.PlayerSpawn;
|
import me.nvus.nvus_prison_setup.Listeners.PlayerSpawn;
|
||||||
import me.nvus.nvus_prison_setup.Listeners.BlockListener;
|
import me.nvus.nvus_prison_setup.Listeners.BlockListener;
|
||||||
import me.nvus.nvus_prison_setup.Listeners.ToolSwitchListener;
|
import me.nvus.nvus_prison_setup.Listeners.ToolSwitchListener;
|
||||||
|
import me.nvus.nvus_prison_setup.Placeholders.PlaceholderManager;
|
||||||
import me.nvus.nvus_prison_setup.Ranks.RankCommands;
|
import me.nvus.nvus_prison_setup.Ranks.RankCommands;
|
||||||
import me.nvus.nvus_prison_setup.Ranks.RankListener;
|
import me.nvus.nvus_prison_setup.Ranks.RankListener;
|
||||||
import me.nvus.nvus_prison_setup.Ranks.RankManager;
|
import me.nvus.nvus_prison_setup.Ranks.RankManager;
|
||||||
|
@ -20,7 +21,8 @@ import me.nvus.nvus_prison_setup.AutoSell.Listeners.AutoSellListener;
|
||||||
import me.nvus.nvus_prison_setup.Kit.Listeners.KitListener;
|
import me.nvus.nvus_prison_setup.Kit.Listeners.KitListener;
|
||||||
import me.nvus.nvus_prison_setup.Listeners.CommandListener;
|
import me.nvus.nvus_prison_setup.Listeners.CommandListener;
|
||||||
// Placeholders
|
// Placeholders
|
||||||
import me.nvus.nvus_prison_setup.Placeholders.CombinedPlaceholders;
|
import me.nvus.nvus_prison_setup.Placeholders.GangPlaceholders;
|
||||||
|
import me.nvus.nvus_prison_setup.Placeholders.RankPlaceholders;
|
||||||
// Database
|
// Database
|
||||||
import me.nvus.nvus_prison_setup.Database.DatabaseManager;
|
import me.nvus.nvus_prison_setup.Database.DatabaseManager;
|
||||||
// Gangs
|
// Gangs
|
||||||
|
@ -107,7 +109,9 @@ public final class PrisonSetup extends JavaPlugin {
|
||||||
this.getCommand("gang").setExecutor(new GangCommands(dbManager)); // Now correctly using initialized dbManager
|
this.getCommand("gang").setExecutor(new GangCommands(dbManager)); // Now correctly using initialized dbManager
|
||||||
// Register the Gangs placeholder expansion
|
// Register the Gangs placeholder expansion
|
||||||
if (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
|
if (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
|
||||||
new CombinedPlaceholders(gangManager, rankManager).register();
|
// PlaceholderManager placeholderManager = new PlaceholderManager(gangManager, rankManager);
|
||||||
|
// new CombinedPlaceholders(placeholderManager).register();
|
||||||
|
new GangPlaceholders(gangManager).register();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -155,9 +159,7 @@ public final class PrisonSetup extends JavaPlugin {
|
||||||
// Register RankListener
|
// Register RankListener
|
||||||
getServer().getPluginManager().registerEvents(new RankListener(rankManager), this);
|
getServer().getPluginManager().registerEvents(new RankListener(rankManager), this);
|
||||||
|
|
||||||
// Handled after checking if server has PlaceholderAPI installed or not.
|
new RankPlaceholders(rankManager).register();
|
||||||
// Combined Gang and Rank placeholders into one file now!
|
|
||||||
// new RankPlaceholders(rankManager).register();
|
|
||||||
|
|
||||||
// Register commands
|
// Register commands
|
||||||
this.getCommand("rankup").setExecutor(new RankCommands(this));
|
this.getCommand("rankup").setExecutor(new RankCommands(this));
|
||||||
|
|
|
@ -26,6 +26,5 @@ public class PlayerRankData {
|
||||||
return rankName;
|
return rankName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -64,35 +64,35 @@ PrisonerKit: True
|
||||||
# If PrisonerKit above is true: What items should be in the prisoner kit?
|
# If PrisonerKit above is true: What items should be in the prisoner kit?
|
||||||
PrisonerKitItems:
|
PrisonerKitItems:
|
||||||
- item: IRON_SWORD
|
- item: IRON_SWORD
|
||||||
name: "&7Prisoner's Sword"
|
name: "&7Prisoner Sword"
|
||||||
lore:
|
lore:
|
||||||
- "&7Standard issue"
|
- "&7Standard issue"
|
||||||
- "&7Prisoner's Sword"
|
- "&7Prisoner Sword"
|
||||||
slot: 0
|
slot: 0
|
||||||
enchantments:
|
enchantments:
|
||||||
DAMAGE_ALL: 3
|
DAMAGE_ALL: 3
|
||||||
- item: IRON_PICKAXE
|
- item: IRON_PICKAXE
|
||||||
name: "&7Prisoner's Pickaxe"
|
name: "&7Prisoner Pickaxe"
|
||||||
lore:
|
lore:
|
||||||
- "&7Standard issue"
|
- "&7Standard issue"
|
||||||
- "&7Prisoner's Pickaxe"
|
- "&7Prisoner Pickaxe"
|
||||||
slot: 1
|
slot: 1
|
||||||
enchantments:
|
enchantments:
|
||||||
EFFICIENCY: 3
|
EFFICIENCY: 3
|
||||||
UNBREAKING: 2
|
UNBREAKING: 2
|
||||||
- item: IRON_AXE
|
- item: IRON_AXE
|
||||||
name: "&7Prisoner's Axe"
|
name: "&7Prisoner Axe"
|
||||||
lore:
|
lore:
|
||||||
- "&7Standard issue"
|
- "&7Standard issue"
|
||||||
- "&7Prisoner's Axe"
|
- "&7Prisoner Axe"
|
||||||
slot: 2
|
slot: 2
|
||||||
enchantments:
|
enchantments:
|
||||||
SHARPNESS: 2
|
SHARPNESS: 2
|
||||||
- item: IRON_SHOVEL
|
- item: IRON_SHOVEL
|
||||||
name: "&7Prisoner's Shovel"
|
name: "&7Prisoner Shovel"
|
||||||
lore:
|
lore:
|
||||||
- "&7Standard issue"
|
- "&7Standard issue"
|
||||||
- "&7Prisoner's Shovel"
|
- "&7Prisoner Shovel"
|
||||||
slot: 3
|
slot: 3
|
||||||
enchantments:
|
enchantments:
|
||||||
SILK_TOUCH: 1
|
SILK_TOUCH: 1
|
||||||
|
|
Loading…
Reference in New Issue