1
0
mirror of https://github.com/Zrips/Jobs.git synced 2024-11-25 20:16:13 +01:00

Fix for new Placeholderapi

This commit is contained in:
montlikadani 2020-07-29 10:50:01 +02:00
parent e234e6651f
commit be6474e9ef
23 changed files with 181 additions and 267 deletions

18
pom.xml
View File

@ -48,7 +48,7 @@
<dependency>
<groupId>net.milkbowl.vault</groupId>
<artifactId>Vault</artifactId>
<version>1.6.7</version>
<version>1.7.3</version>
<scope>provided</scope>
<exclusions>
<exclusion>
@ -145,13 +145,25 @@
</groupId>
<artifactId>bukkit</artifactId>
</exclusion>
<exclusion>
<groupId>net.java.truevfs</groupId>
<artifactId>
truevfs-profile-default_2.13
</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>me.clip</groupId>
<artifactId>placeholderapi</artifactId>
<version>2.10.6</version>
<artifactId>PlaceholderAPI</artifactId>
<version>2.10.7</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>me.rayzr522</groupId>
<artifactId>jsonmessage</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<repositories>

View File

@ -62,8 +62,7 @@ public class ActionBarManager {
return;
}
RawMessage rm = new RawMessage();
rm.add(msg);
RawMessage rm = new RawMessage().addText(msg);
Object serialized = nmsChatSerializer.getMethod("a", String.class).invoke(null, CMIChatColor.translate(rm.getRaw()));
if (Version.isCurrentHigher(Version.v1_15_R1))
packet = packetType.getConstructor(nmsIChatBaseComponent, sub, UUID.class).newInstance(serialized, consts[2], receivingPacket.getUniqueId());

View File

@ -1196,7 +1196,7 @@ public enum CMIMaterial {
@Deprecated
public Integer getLegacyId() {
return this.legacyId == null ? 0 : this.legacyId;
return legacyId == null ? 0 : legacyId;
}
@Deprecated
@ -1317,8 +1317,6 @@ public enum CMIMaterial {
List<CMIMaterial> ls = new ArrayList<>();
for (CMIMaterial one : CMIMaterial.values()) {
if (one.getLegacyId() == null)
continue;
if (one.getLegacyId() != mat.getLegacyId())
continue;
ls.add(one);
@ -1348,8 +1346,6 @@ public enum CMIMaterial {
if (mat == null)
return CMIMaterial.NONE;
for (CMIMaterial one : CMIMaterial.values()) {
if (one.getLegacyId() == null)
continue;
if (one.getLegacyId() != mat.getLegacyId())
continue;
if (one.getLegacyData() == id)
@ -1417,9 +1413,7 @@ public enum CMIMaterial {
if (mat == null)
return CMIMaterial.NONE;
CMIMaterial m = ItemManager.byRealMaterial.get(mat);
if (m != null)
return m;
return get(mat.toString());
return m != null ? m : get(mat.toString());
}
public static CMIMaterial get(int id) {
@ -1455,10 +1449,7 @@ public enum CMIMaterial {
}
public static CMIMaterial get(Block block) {
if (block == null)
return CMIMaterial.NONE;
if (Bukkit.getWorld(block.getWorld().getUID()) == null)
if (block == null || Bukkit.getWorld(block.getWorld().getUID()) == null)
return CMIMaterial.NONE;
if (Version.isCurrentEqualOrHigher(Version.v1_14_R1)) {
@ -1498,17 +1489,15 @@ public enum CMIMaterial {
public static CMIMaterial getLegacy(int id) {
CMIMaterial mat = ItemManager.byId.get(id);
if (mat != null)
return mat;
return CMIMaterial.NONE;
return mat != null ? mat : CMIMaterial.NONE;
}
public short getMaxDurability() {
return this.getMaterial() == null ? 0 : this.getMaterial().getMaxDurability();
return getMaterial() == null ? 0 : getMaterial().getMaxDurability();
}
public boolean isBlock() {
return this.getMaterial() == null ? false : this.getMaterial().isBlock();
return getMaterial() == null ? false : getMaterial().isBlock();
}
public boolean isEquipment() {
@ -1516,14 +1505,12 @@ public enum CMIMaterial {
}
public boolean isSolid() {
return this.getMaterial() == null ? false : this.getMaterial().isSolid();
return getMaterial() == null ? false : getMaterial().isSolid();
}
public static boolean isMonsterEgg(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isMonsterEgg();
return m == null ? false : m.isMonsterEgg();
}
public boolean isMonsterEgg() {
@ -1608,9 +1595,7 @@ public enum CMIMaterial {
public static boolean isBed(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isBed();
return m == null ? false : m.isBed();
}
public boolean isBed() {
@ -1641,9 +1626,7 @@ public enum CMIMaterial {
public static boolean isStairs(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isStairs();
return m == null ? false : m.isStairs();
}
public boolean isStairs() {
@ -1695,9 +1678,7 @@ public enum CMIMaterial {
public static boolean isPotion(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isPotion();
return m == null ? false : m.isPotion();
}
public boolean isPotion() {
@ -1714,9 +1695,7 @@ public enum CMIMaterial {
public static boolean isBoat(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isBoat();
return m == null ? false : m.isBoat();
}
public boolean isBoat() {
@ -1736,9 +1715,7 @@ public enum CMIMaterial {
public static boolean isSapling(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isSapling();
return m == null ? false : m.isSapling();
}
public boolean isSapling() {
@ -1758,9 +1735,7 @@ public enum CMIMaterial {
public static boolean isButton(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isButton();
return m == null ? false : m.isButton();
}
public boolean isButton() {
@ -1783,9 +1758,7 @@ public enum CMIMaterial {
public static boolean isWater(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isWater();
return m == null ? false : m.isWater();
}
public boolean isWater() {
@ -1801,9 +1774,7 @@ public enum CMIMaterial {
public static boolean isLava(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isLava();
return m == null ? false : m.isLava();
}
public boolean isLava() {
@ -1819,9 +1790,7 @@ public enum CMIMaterial {
public static boolean isPlate(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isPlate();
return m == null ? false : m.isPlate();
}
public boolean isPlate() {
@ -1847,9 +1816,7 @@ public enum CMIMaterial {
public static boolean isWool(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isWool();
return m == null ? false : m.isWool();
}
public boolean isWool() {
@ -1879,9 +1846,7 @@ public enum CMIMaterial {
public static boolean isCarpet(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isCarpet();
return m == null ? false : m.isCarpet();
}
public boolean isCarpet() {
@ -1911,9 +1876,7 @@ public enum CMIMaterial {
public static boolean isShulkerBox(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isShulkerBox();
return m == null ? false : m.isShulkerBox();
}
public boolean isShulkerBox() {
@ -1944,9 +1907,7 @@ public enum CMIMaterial {
public static boolean isLeatherArmor(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isLeatherArmor();
return m == null ? false : m.isLeatherArmor();
}
public boolean isLeatherArmor() {
@ -1964,9 +1925,7 @@ public enum CMIMaterial {
public static boolean isArmor(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isArmor();
return m == null ? false : m.isArmor();
}
public boolean isArmor() {
@ -2010,9 +1969,7 @@ public enum CMIMaterial {
public static boolean isWeapon(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isWeapon();
return m == null ? false : m.isWeapon();
}
public boolean isWeapon() {
@ -2035,9 +1992,7 @@ public enum CMIMaterial {
public static boolean isTool(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isTool();
return m == null ? false : m.isTool();
}
public boolean isTool() {
@ -2079,15 +2034,22 @@ public enum CMIMaterial {
return false;
}
public static boolean isValidItem(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
return m == null ? false : m.isValidItem();
}
public boolean isValidItem() {
return !equals(CMIMaterial.NONE) && !isAir() && getMaterial() != null;
}
public boolean isNone() {
return this.equals(CMIMaterial.NONE);
return equals(CMIMaterial.NONE);
}
public static boolean isAir(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isAir();
return m == null ? false : m.isAir();
}
public boolean isAir() {
@ -2104,9 +2066,7 @@ public enum CMIMaterial {
public static boolean isPotted(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isPotted();
return m == null ? false : m.isPotted();
}
public boolean isPotted() {
@ -2145,9 +2105,7 @@ public enum CMIMaterial {
public static boolean isAnvil(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isAnvil();
return m == null ? false : m.isAnvil();
}
public boolean isAnvil() {
@ -2164,9 +2122,7 @@ public enum CMIMaterial {
public static boolean isDoor(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isDoor();
return m == null ? false : m.isDoor();
}
public boolean isDoor() {
@ -2205,9 +2161,7 @@ public enum CMIMaterial {
public static boolean isGate(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isGate();
return m == null ? false : m.isGate();
}
public boolean isGate() {
@ -2230,9 +2184,7 @@ public enum CMIMaterial {
public static boolean isFence(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isFence();
return m == null ? false : m.isFence();
}
public boolean isFence() {
@ -2256,9 +2208,7 @@ public enum CMIMaterial {
public static boolean isRail(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isRail();
return m == null ? false : m.isRail();
}
public boolean isRail() {
@ -2276,9 +2226,7 @@ public enum CMIMaterial {
public static boolean isGlassPane(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isGlassPane();
return m == null ? false : m.isGlassPane();
}
public boolean isGlassPane() {
@ -2309,9 +2257,7 @@ public enum CMIMaterial {
public static boolean isWallSign(Material mat) {
CMIMaterial m = get(mat);
if (m == null)
return false;
return m.isWallSign();
return m == null ? false : m.isWallSign();
}
public boolean isWallSign() {
@ -2334,9 +2280,7 @@ public enum CMIMaterial {
public static boolean isSign(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isSign();
return m == null ? false : m.isSign();
}
public boolean isSign() {
@ -2378,9 +2322,7 @@ public enum CMIMaterial {
public static boolean isWall(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isWall();
return m == null ? false : m.isWall();
}
public boolean isWall() {
@ -2409,9 +2351,7 @@ public enum CMIMaterial {
public static boolean isTrapDoor(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isTrapDoor();
return m == null ? false : m.isTrapDoor();
}
public boolean isTrapDoor() {
@ -2434,9 +2374,7 @@ public enum CMIMaterial {
public static boolean isSkull(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isSkull();
return m == null ? false : m.isSkull();
}
public boolean isSkull() {
@ -2458,9 +2396,7 @@ public enum CMIMaterial {
public static boolean isDye(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isDye();
return m == null ? false : m.isDye();
}
public boolean isDye() {
@ -2498,9 +2434,7 @@ public enum CMIMaterial {
public static boolean isSlab(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
return false;
return m.isSlab();
return m == null ? false : m.isSlab();
}
public boolean isSlab() {

View File

@ -25,9 +25,8 @@ import com.gamingmesh.jobs.CMILib.CMIChatColor;
import com.gamingmesh.jobs.CMILib.CMIReflections;
import com.gamingmesh.jobs.CMILib.VersionChecker;
import com.gamingmesh.jobs.Gui.GuiManager;
import com.gamingmesh.jobs.Placeholders.NewPlaceholderAPIHook;
import com.gamingmesh.jobs.Placeholders.Placeholder;
import com.gamingmesh.jobs.Placeholders.PlaceholderAPIHook;
import com.gamingmesh.jobs.Placeholders.Placeholder;
import com.gamingmesh.jobs.hooks.HookManager;
import com.gamingmesh.jobs.Signs.SignUtil;
import com.gamingmesh.jobs.api.JobsExpGainEvent;
@ -133,24 +132,26 @@ public class Jobs extends JavaPlugin {
return Placeholder;
}
@SuppressWarnings("deprecation")
private boolean setupPlaceHolderAPI() {
if (!getServer().getPluginManager().isPluginEnabled("PlaceholderAPI"))
return false;
try {
if (Integer.parseInt(getServer().getPluginManager().getPlugin("PlaceholderAPI")
.getDescription().getVersion().replace(".", "")) >= Integer.parseInt("2100")) {
if (new NewPlaceholderAPIHook(this).register())
consoleMsg("&e[Jobs] PlaceholderAPI hooked.");
} else {
if (new PlaceholderAPIHook(this).hook())
consoleMsg("&e[Jobs] PlaceholderAPI hooked. This is a deprecated version of PlaceholderAPI. Please update "
+ "to the latest version.");
.getDescription().getVersion().replace(".", "")) >= Integer.parseInt("2107")) {
PlaceholderAPIHook hook = new PlaceholderAPIHook(this);
if (hook.canRegister()) {
hook.getPlaceholderAPI().getLocalExpansionManager().register(hook);
if (hook.isRegistered())
consoleMsg("&e[Jobs] PlaceholderAPI hooked.");
}
}
} catch (NumberFormatException e) { // when using a dev build
if (new NewPlaceholderAPIHook(this).register()) {
consoleMsg("&e[Jobs] PlaceholderAPI hooked.");
PlaceholderAPIHook hook = new PlaceholderAPIHook(this);
if (hook.canRegister()) {
hook.getPlaceholderAPI().getLocalExpansionManager().register(hook);
if (hook.isRegistered())
consoleMsg("&e[Jobs] PlaceholderAPI hooked.");
}
}
@ -1295,7 +1296,8 @@ public class Jobs extends JavaPlugin {
return false;
}
RawMessage rm = new RawMessage();
rm.add(lManager.getMessage("general.error.permission"), "&2" + perm);
rm.addText(lManager.getMessage("general.error.permission"));
rm.addHover("&2" + perm);
rm.show((Player) sender);
return false;
@ -1323,15 +1325,17 @@ public class Jobs extends JavaPlugin {
Prevpage = CurrentPage > 1 ? Prevpage : CurrentPage;
RawMessage rm = new RawMessage();
rm.addText((CurrentPage > 1 ? lManager.getMessage("command.help.output.prevPage") : lManager.getMessage("command.help.output.prevPageOff")));
rm.addHover(CurrentPage > 1 ? "<<<" : ">|");
rm.addCommand(CurrentPage > 1 ? cmd + " " + pagePrefix + Prevpage : cmd + " " + pagePrefix + pageCount);
rm.addText(lManager.getMessage("command.help.output.pageCount", "[current]", CurrentPage, "[total]", pageCount));
rm.addHover(lManager.getMessage("command.help.output.pageCountHover", "[totalEntries]", totalEntries));
rm.addText(pageCount > CurrentPage ? lManager.getMessage("command.help.output.nextPage") : lManager.getMessage("command.help.output.nextPageOff"));
rm.addHover(pageCount > CurrentPage ? ">>>" : "|<");
rm.addCommand(pageCount > CurrentPage ? cmd + " " + pagePrefix + NextPage : cmd + " " + pagePrefix + 1);
rm.add((CurrentPage > 1 ? lManager.getMessage("command.help.output.prevPage") : lManager.getMessage("command.help.output.prevPageOff")),
CurrentPage > 1 ? "<<<" : ">|",
CurrentPage > 1 ? cmd + " " + pagePrefix + Prevpage : cmd + " " + pagePrefix + pageCount);
rm.add(lManager.getMessage("command.help.output.pageCount", "[current]", CurrentPage, "[total]", pageCount), lManager.getMessage("command.help.output.pageCountHover", "[totalEntries]",
totalEntries));
rm.add(pageCount > CurrentPage ? lManager.getMessage("command.help.output.nextPage") : lManager.getMessage("command.help.output.nextPageOff"),
pageCount > CurrentPage ? ">>>" : "|<",
pageCount > CurrentPage ? cmd + " " + pagePrefix + NextPage : cmd + " " + pagePrefix + 1);
if (pageCount != 0)
rm.show(sender);
}

View File

@ -1,51 +0,0 @@
package com.gamingmesh.jobs.Placeholders;
import org.bukkit.entity.Player;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.Placeholders.Placeholder.JobsPlaceHolders;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
public class NewPlaceholderAPIHook extends PlaceholderExpansion {
private Jobs plugin;
public NewPlaceholderAPIHook(Jobs plugin) {
this.plugin = plugin;
}
@Override
public String onPlaceholderRequest(Player player, String identifier) {
JobsPlaceHolders placeHolder = JobsPlaceHolders.getByName(identifier);
if (placeHolder == null)
return null;
return plugin.getPlaceholderAPIManager().getValue(player, placeHolder, "%" + Placeholder.pref + "_" + identifier + "%");
}
@Override
public boolean persist() {
return true;
}
@Override
public boolean canRegister() {
return true;
}
@Override
public String getAuthor() {
return plugin.getDescription().getAuthors().toString();
}
@Override
public String getIdentifier() {
return Placeholder.pref;
}
@Override
public String getVersion() {
return plugin.getDescription().getVersion();
}
}

View File

@ -11,6 +11,7 @@ import java.util.concurrent.ThreadLocalRandom;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import com.gamingmesh.jobs.Jobs;
@ -283,7 +284,7 @@ public class Placeholder {
}
if (plugin.isPlaceholderAPIEnabled()) {
if (placeholder.contains("%")) {
if (!placeholder.equals(me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(player, placeholder)))
if (!placeholder.equals(me.clip.placeholderapi.PlaceholderAPI.setPlaceholders((OfflinePlayer) player, placeholder)))
return JobsPlaceholderType.PAPI;
}
}
@ -303,7 +304,7 @@ public class Placeholder {
message = translateOwnPlaceHolder(player, message);
if (plugin.isPlaceholderAPIEnabled()) {
if (message.contains("%"))
message = me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(player, message);
message = me.clip.placeholderapi.PlaceholderAPI.setPlaceholders((OfflinePlayer) player, message);
}
// For MVdWPlaceholderAPI
// if (plugin.isMVdWPlaceholderAPIEnabled()) {

View File

@ -5,24 +5,47 @@ import org.bukkit.entity.Player;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.Placeholders.Placeholder.JobsPlaceHolders;
import me.clip.placeholderapi.external.EZPlaceholderHook;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
public class PlaceholderAPIHook extends EZPlaceholderHook {
public class PlaceholderAPIHook extends PlaceholderExpansion {
private Jobs plugin;
public PlaceholderAPIHook(Jobs plugin) {
super(plugin, Placeholder.pref);
this.plugin = plugin;
}
@Override
public String onPlaceholderRequest(Player player, String identifier) {
JobsPlaceHolders placeHolder = JobsPlaceHolders.getByName(identifier);
if (placeHolder == null) {
if (placeHolder == null)
return null;
}
return plugin.getPlaceholderAPIManager().getValue(player, placeHolder, "%" + Placeholder.pref + "_" + identifier + "%");
}
@Override
public boolean persist() {
return true;
}
@Override
public boolean canRegister() {
return true;
}
@Override
public String getAuthor() {
return plugin.getDescription().getAuthors().toString();
}
@Override
public String getIdentifier() {
return Placeholder.pref;
}
@Override
public String getVersion() {
return plugin.getDescription().getVersion();
}
}

View File

@ -250,7 +250,7 @@ public class SignUtil {
}
TopList pl = PlayerList.get(i + number);
String PlayerName = pl.getPlayerName();
String PlayerName = pl.getPlayerInfo().getName();
if (PlayerName.length() > 15) {
// We need to split 10 char of name, because of sign rows
PlayerName = PlayerName.split("(?<=\\G.{10})")[0] + "~";
@ -273,7 +273,7 @@ public class SignUtil {
sign.setLine(i, line);
}
sign.update();
if (!UpdateHead(sign, PlayerList.get(0).getPlayerName(), timelapse)) {
if (!UpdateHead(sign, PlayerList.get(0).getPlayerInfo().getName(), timelapse)) {
timelapse--;
}
} else {
@ -281,7 +281,7 @@ public class SignUtil {
continue;
TopList pl = PlayerList.get(jSign.getNumber() - 1);
String PlayerName = pl.getPlayerName();
String PlayerName = pl.getPlayerInfo().getName();
if (PlayerName.length() > 15) {
PlayerName = PlayerName.split("(?<=\\G.{10})")[0] + "~";
}
@ -304,7 +304,7 @@ public class SignUtil {
sign.setLine(3, translateSignLine("signs.SpecialList.bottom", no, PlayerName, pl.getLevel(), SignJobName));
sign.update();
if (!UpdateHead(sign, pl.getPlayerName(), timelapse)) {
if (!UpdateHead(sign, pl.getPlayerInfo().getName(), timelapse)) {
timelapse--;
}
}

View File

@ -81,7 +81,8 @@ public class JobsCommands implements CommandExecutor {
if (!hasCommandPermission(sender, cmd)) {
if (sender instanceof Player) {
RawMessage rm = new RawMessage();
rm.add(Jobs.getLanguage().getMessage("general.error.permission"), "&2" + label + ".command." + cmd);
rm.addText(Jobs.getLanguage().getMessage("general.error.permission"));
rm.addHover("&2" + label + ".command." + cmd);
rm.show(sender);
} else
sender.sendMessage(Jobs.getLanguage().getMessage("general.error.permission"));

View File

@ -45,12 +45,15 @@ public class archive implements Cmd {
for (JobProgression jobInfo : AllJobs) {
RawMessage rm = new RawMessage();
if (jobInfo.canRejoin())
rm.add(ChatColor.GREEN + "+" + Jobs.getCommandManager().jobStatsMessageArchive(jPlayer, jobInfo), Jobs.getLanguage().getMessage("command.join.rejoin"), "jobs join " + jobInfo.getJob().getName());
rm.addText(ChatColor.GREEN + "+" + Jobs.getCommandManager().jobStatsMessageArchive(jPlayer, jobInfo))
.addHover(Jobs.getLanguage().getMessage("command.join.rejoin")).addCommand("jobs join " + jobInfo.getJob().getName());
else
rm.add(ChatColor.RED + "-" + Jobs.getCommandManager().jobStatsMessageArchive(jPlayer, jobInfo), Jobs.getLanguage().getMessage("command.join.error.rejoin", "[time]", jobInfo
rm.addText(ChatColor.RED + "-" + Jobs.getCommandManager().jobStatsMessageArchive(jPlayer, jobInfo))
.addHover(Jobs.getLanguage().getMessage("command.join.error.rejoin", "[time]", jobInfo
.getRejoinTimeMessage()));
rm.show(sender);
}
sender.sendMessage(Jobs.getLanguage().getMessage("general.info.separator"));
return true;
}

View File

@ -67,7 +67,7 @@ public class bonus implements Cmd {
"%exp%", formatText(boost.getFinal(CurrencyType.EXP, true, true)));
rm.addText(msg);
rm.addHoverText(Jobs.getLanguage().getMessage("command.bonus.output.finalExplanation"));
rm.addHover(Jobs.getLanguage().getMessage("command.bonus.output.finalExplanation"));
rm.build();
rm.show(player);

View File

@ -110,8 +110,8 @@ public class browse implements Cmd {
hoverMsg += " \n";
hoverMsg += Jobs.getLanguage().getMessage("command.browse.output.click");
rm.add(Jobs.getLanguage().getMessage("command.browse.output.list", "[place]", pi.getPositionForOutput(), "[jobname]", one.getName()),
hoverMsg, "jobs browse -j:" + one.getName());
rm.addText(Jobs.getLanguage().getMessage("command.browse.output.list", "[place]", pi.getPositionForOutput(),
"[jobname]", one.getName())).addHover(hoverMsg).addCommand("jobs browse -j:" + one.getName());
rm.show(sender);
}
@ -140,15 +140,13 @@ public class browse implements Cmd {
}
RawMessage rm = new RawMessage();
rm.add(Jobs.getLanguage().getMessage("command.browse.output.detailed"),
Jobs.getLanguage().getMessage("command.browse.output.detailed"),
"jobs info " + j.getName());
rm.addText(Jobs.getLanguage().getMessage("command.browse.output.detailed"))
.addHover(Jobs.getLanguage().getMessage("command.browse.output.detailed")).addCommand("jobs info " + j.getName());
rm.show(sender);
rm.clear();
rm.add(Jobs.getLanguage().getMessage("command.browse.output.chooseJob"),
Jobs.getLanguage().getMessage("command.browse.output.chooseJobHover"),
"jobs join " + j.getName() + " -needConfirmation");
rm.show(sender);
rm.addText(Jobs.getLanguage().getMessage("command.browse.output.chooseJob"))
.addHover(Jobs.getLanguage().getMessage("command.browse.output.chooseJobHover"))
.addCommand("jobs join " + j.getName() + " -needConfirmation").show(sender);
}
} else {
if (j == null) {

View File

@ -1,5 +1,6 @@
package com.gamingmesh.jobs.commands.list;
import com.gamingmesh.jobs.CMILib.CMIChatColor;
import com.gamingmesh.jobs.CMILib.ItemReflection;
import com.gamingmesh.jobs.CMILib.RawMessage;
import com.gamingmesh.jobs.Jobs;
@ -403,21 +404,22 @@ public class editjobs implements Cmd {
private static void showPath(Player player, Job job, ActionType action, JobInfo jInfo) {
RawMessage rm = new RawMessage();
rm.add(Jobs.getLanguage().getMessage("command.editjobs.help.list.job"), "&eJob list", "jobs editjobs");
rm.show(player);
rm.addText(Jobs.getLanguage().getMessage("command.editjobs.help.list.job")).addHover("&eJob list")
.addCommand("jobs editjobs").show(player);
if (job != null) {
rm = new RawMessage();
rm.add(Jobs.getLanguage().getMessage("command.editjobs.help.list.jobs", "%jobname%", job.getChatColor() + job.getName()), job.getName(), "jobs editjobs list " + job.getName());
rm.addText(Jobs.getLanguage().getMessage("command.editjobs.help.list.jobs", "%jobname%", job.getNameWithColor()))
.addHover(job.getName()).addCommand("jobs editjobs list " + job.getName());
rm.show(player);
}
if (action != null && job != null) {
rm = new RawMessage();
rm.add(Jobs.getLanguage().getMessage("command.editjobs.help.list.actions", "%actionname%", action.getName()), action.getName(), "jobs editjobs list " + job.getName() + " " + action.getName()
+ " 1");
rm.show(player);
rm.addText(Jobs.getLanguage().getMessage("command.editjobs.help.list.actions", "%actionname%", action.getName()))
.addHover(action.getName()).addCommand("jobs editjobs list " + job.getName() + " " + action.getName()+ " 1")
.show(player);
}
if (action != null && job != null && jInfo != null) {
@ -426,11 +428,11 @@ public class editjobs implements Cmd {
String materialName = jInfo.getName().toLowerCase().replace('_', ' ');
materialName = Character.toUpperCase(materialName.charAt(0)) + materialName.substring(1);
materialName = Jobs.getNameTranslatorManager().Translate(materialName, jInfo);
materialName = org.bukkit.ChatColor.translateAlternateColorCodes('&', materialName);
materialName = CMIChatColor.translate(materialName);
rm.add(Jobs.getLanguage().getMessage("command.editjobs.help.list.material", "%materialname%", jInfo.getName()), jInfo.getName(), "jobs editjobs list " + job.getName() + " " + action.getName()
+ " " + materialName);
rm.show(player);
rm.addText(Jobs.getLanguage().getMessage("command.editjobs.help.list.material", "%materialname%", jInfo.getName()))
.addHover(jInfo.getName()).addCommand("jobs editjobs list " + job.getName() + " " + action.getName()
+ " " + materialName).show(player);
}
}
}

View File

@ -595,22 +595,22 @@ public class editquests implements Cmd {
private static void showPath(Player player, Job job, ActionType action, JobInfo jInfo, Quest q) {
RawMessage rm = new RawMessage();
rm.add(Jobs.getLanguage().getMessage("command.editquests.help.list.quest"), "&eQuest list", "jobs editquests");
rm.addText(Jobs.getLanguage().getMessage("command.editquests.help.list.quest")).addHover("&eQuest list")
.addCommand("jobs editquests");
rm.show(player);
if (job != null) {
rm = new RawMessage();
rm.add(Jobs.getLanguage().getMessage("command.editquests.help.list.jobs", "%jobname%", job.getNameWithColor()),
job.getName(), "jobs editquests list " + job.getName());
rm.addText(Jobs.getLanguage().getMessage("command.editquests.help.list.jobs", "%jobname%", job.getNameWithColor()))
.addHover(job.getName()).addCommand("jobs editquests list " + job.getName());
rm.show(player);
}
if (action != null && job != null) {
rm = new RawMessage();
rm.add(Jobs.getLanguage().getMessage("command.editquests.help.list.actions", "%actionname%", action.getName()),
action.getName(), "jobs editquests list " + job.getName() + " " + action.getName()
+ " 1");
rm.addText(Jobs.getLanguage().getMessage("command.editquests.help.list.actions", "%actionname%", action.getName()))
.addHover(action.getName()).addCommand("jobs editquests list " + job.getName() + " " + action.getName() + " 1");
rm.show(player);
}
@ -619,8 +619,8 @@ public class editquests implements Cmd {
String materialName = jInfo.getRealisticName();
rm.add(Jobs.getLanguage().getMessage("command.editquests.help.list.quests", "%questname%", q.getConfigName()),
jInfo.getName(), "jobs editquests list " + job.getName() + " " + action.getName() + " " + q.getConfigName()
rm.addText(Jobs.getLanguage().getMessage("command.editquests.help.list.quests", "%questname%", q.getConfigName()))
.addHover(jInfo.getName()).addCommand("jobs editquests list " + job.getName() + " " + action.getName() + " " + q.getConfigName()
+ " " + materialName);
rm.show(player);
}

View File

@ -63,10 +63,9 @@ public class gtop implements Cmd {
if (i > amount)
break;
String PlayerName = One.getPlayerName();
sender.sendMessage(Jobs.getLanguage().getMessage("command.gtop.output.list",
"%number%", pi.getPositionForOutput(i-1),
"%playername%", PlayerName,
"%playername%", One.getPlayerInfo().getName(),
"%level%", One.getLevel(),
"%exp%", One.getExp()));
++i;
@ -80,7 +79,7 @@ public class gtop implements Cmd {
ls.add(Jobs.getLanguage().getMessage("scoreboard.line",
"%number%", pi.getPositionForOutput(i),
"%playername%", one.getPlayerName(),
"%playername%", one.getPlayerInfo().getName(),
"%level%", one.getLevel()));
++i;
}

View File

@ -33,7 +33,6 @@ public class itembonus implements Cmd {
Player player = (Player) sender;
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(player);
if (jPlayer == null)
return false;
@ -41,7 +40,7 @@ public class itembonus implements Cmd {
List<ItemStack> items = new ArrayList<>();
if (iih != null && !iih.getType().equals(Material.AIR))
if (iih != null && iih.getType() != Material.AIR)
items.add(iih);
for (ItemStack OneArmor : player.getInventory().getArmorContents()) {
@ -56,13 +55,9 @@ public class itembonus implements Cmd {
JobItems jitem = Jobs.getPlayerManager().getJobsItemByNbt(oneI);
if (jitem == null)
continue;
for (Job one : jitem.getJobs()) {
BoostMultiplier boost = null;
if (!jPlayer.isInJob(one))
boost = jitem.getBoost();
else
boost = jitem.getBoost(jPlayer.getJobProgression(one));
for (Job one : jitem.getJobs()) {
BoostMultiplier boost = !jPlayer.isInJob(one) ? jitem.getBoost() : jitem.getBoost(jPlayer.getJobProgression(one));
boolean any = false;
for (CurrencyType oneC : CurrencyType.values()) {
@ -91,7 +86,6 @@ public class itembonus implements Cmd {
"%points%", pc + formatText((int) (boost.get(CurrencyType.POINTS) * 100)),
"%exp%", ec + formatText((int) (boost.get(CurrencyType.EXP) * 100)));
RawMessage rm = new RawMessage();
String name = CMIMaterial.get(oneI.getType()).getName();
if (jitem.getFromLevel() != 0 || jitem.getUntilLevel() != Integer.MAX_VALUE)
@ -99,8 +93,7 @@ public class itembonus implements Cmd {
"%from%", jitem.getFromLevel(),
"%until%", jitem.getUntilLevel());
rm.add(msg, name);
rm.show(sender);
new RawMessage().addText(msg).addHover(name).show(sender);
}
}
return true;

View File

@ -66,10 +66,9 @@ public class join implements Cmd {
}
if (args.length == 2 && args[1].equalsIgnoreCase("-needConfirmation")) {
RawMessage rm = new RawMessage();
rm.add(Jobs.getLanguage().getMessage("command.join.confirm", "[jobname]", job.getName()),
Jobs.getLanguage().getMessage("command.join.confirm", "[jobname]", job.getName()), "jobs join " + job.getName());
rm.show(pSender);
new RawMessage().addText(Jobs.getLanguage().getMessage("command.join.confirm", "[jobname]", job.getName()))
.addHover(Jobs.getLanguage().getMessage("command.join.confirm", "[jobname]", job.getName()))
.addCommand("jobs join " + job.getName()).show(pSender);
return true;
}

View File

@ -85,8 +85,8 @@ public class placeholders implements Cmd {
// else
// hover += "\n" + "{" + one.getFull().substring(1, one.getFull().length() - 2) + "}";
// }
rm.add(Jobs.getLanguage().getMessage("command.placeholders.output.list", "[place]", pi.getPositionForOutput(), "[placeholder]", place) + extra, hover, null, one.getFull());
rm.show(sender);
rm.addText(Jobs.getLanguage().getMessage("command.placeholders.output.list", "[place]", pi.getPositionForOutput(), "[placeholder]", place) + extra)
.addHover(hover).addSuggestion(one.getFull()).show(sender);
}
if (player != null)

View File

@ -132,9 +132,9 @@ public class quests implements Cmd {
hover += "\n" + Jobs.getLanguage().getMessage("command.quests.output.skip");
hover += "\n" + Jobs.getLanguage().getMessage("command.quests.output.skips", "[skips]", (Jobs.getGCManager().getDailyQuestsSkips() - jPlayer.getSkippedQuests()));
}
rm.add(msg, hover, "jobs skipquest " + jobProg.getJob().getName() + " " + q.getQuest().getConfigName() + " " + jPlayer.getName());
rm.addText(msg).addHover(hover).addCommand("jobs skipquest " + jobProg.getJob().getName() + " " + q.getQuest().getConfigName() + " " + jPlayer.getName());
} else
rm.add(msg, hover);
rm.addText(msg).addHover(hover);
rm.show(sender);
}
}

View File

@ -40,9 +40,8 @@ public class stats implements Cmd {
sender.sendMessage(Jobs.getLanguage().getMessage("general.info.toplineseparator", "%playername%", jPlayer.getName()));
for (JobProgression jobProg : jPlayer.getJobProgression()) {
for (String msg : Jobs.getCommandManager().jobStatsMessage(jobProg).split("\n")) {
RawMessage rm = new RawMessage();
rm.add(msg, Jobs.getLanguage().getMessage("command.info.gui.leftClick"), "jobs info " + jobProg.getJob().getName());
rm.show(sender);
new RawMessage().addText(msg).addHover(Jobs.getLanguage().getMessage("command.info.gui.leftClick"))
.addCommand("jobs info " + jobProg.getJob().getName()).show(sender);
}
}
sender.sendMessage(Jobs.getLanguage().getMessage("general.info.separator"));

View File

@ -75,7 +75,7 @@ public class top implements Cmd {
player.sendMessage(Jobs.getLanguage().getMessage("command.top.output.list",
"%number%", pi.getPositionForOutput(),
"%playername%", One.getPlayerName(),
"%playername%", One.getPlayerInfo().getName(),
"%level%", One.getLevel(),
"%exp%", One.getExp()));
}
@ -90,7 +90,7 @@ public class top implements Cmd {
break;
ls.add(Jobs.getLanguage().getMessage("scoreboard.line", "%number%", pi.getPositionForOutput(),
"%playername%", one.getPlayerName(), "%level%", one.getLevel()));
"%playername%", one.getPlayerInfo().getName(), "%level%", one.getLevel()));
}
plugin.getCMIScoreboardManager().setScoreBoard(player, Jobs.getLanguage().getMessage("scoreboard.topline", "%jobname%", job.getName()), ls);

View File

@ -70,7 +70,7 @@ public class ExploreChunk {
}
public Set<Integer> getPlayers() {
return playerIds == null ? new HashSet<Integer>() : playerIds;
return playerIds == null ? new HashSet<>() : playerIds;
}
public String serializeNames() {
@ -94,7 +94,7 @@ public class ExploreChunk {
}
if (playerIds == null) {
playerIds = new HashSet<Integer>();
playerIds = new HashSet<>();
}
List<String> split = Arrays.asList(names.split(";"));

View File

@ -1243,8 +1243,7 @@ public class JobsPaymentListener implements Listener {
Projectile pr = (Projectile) e.getDamager();
if (pr.getShooter() instanceof Player)
pDamager = (Player) pr.getShooter();
} else
return;
}
if (pDamager == null)
return;
@ -1290,8 +1289,7 @@ public class JobsPaymentListener implements Listener {
if (jPlayer == null)
return;
List<JobProgression> jobs = jPlayer.getJobProgression();
for (JobProgression job : jobs) {
for (JobProgression job : jPlayer.getJobProgression()) {
Jobs.action(jDamager, new CustomKillInfo(job.getJob().getName(), ActionType.CUSTOMKILL), pDamager, lVictim);
}
}