mirror of
https://github.com/Zrips/Jobs.git
synced 2024-11-26 12:35:28 +01:00
Now you can separate payment materials into a list
This commit is contained in:
parent
e4f2b40527
commit
343657db05
@ -1234,11 +1234,11 @@ public class Jobs extends JavaPlugin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static int getPlayerExperience(Player player) {
|
private static int getPlayerExperience(Player player) {
|
||||||
return (ExpToLevel(player.getLevel()) + Math.round(deltaLevelToExp(player.getLevel()) * player.getExp()));
|
return (expToLevel(player.getLevel()) + Math.round(deltaLevelToExp(player.getLevel()) * player.getExp()));
|
||||||
}
|
}
|
||||||
|
|
||||||
// total xp calculation based by lvl
|
// total xp calculation based by lvl
|
||||||
private static int ExpToLevel(int level) {
|
private static int expToLevel(int level) {
|
||||||
if (Version.isCurrentEqualOrLower(Version.v1_7_R4)) {
|
if (Version.isCurrentEqualOrLower(Version.v1_7_R4)) {
|
||||||
if (level <= 16)
|
if (level <= 16)
|
||||||
return 17 * level;
|
return 17 * level;
|
||||||
@ -1328,15 +1328,15 @@ public class Jobs extends JavaPlugin {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ShowPagination(CommandSender sender, PageInfo pi, String cmd) {
|
public void showPagination(CommandSender sender, PageInfo pi, String cmd) {
|
||||||
ShowPagination(sender, pi.getTotalPages(), pi.getCurrentPage(), pi.getTotalEntries(), cmd, null);
|
showPagination(sender, pi.getTotalPages(), pi.getCurrentPage(), pi.getTotalEntries(), cmd, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ShowPagination(CommandSender sender, PageInfo pi, String cmd, String pagePref) {
|
public void showPagination(CommandSender sender, PageInfo pi, String cmd, String pagePref) {
|
||||||
ShowPagination(sender, pi.getTotalPages(), pi.getCurrentPage(), pi.getTotalEntries(), cmd, pagePref);
|
showPagination(sender, pi.getTotalPages(), pi.getCurrentPage(), pi.getTotalEntries(), cmd, pagePref);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ShowPagination(CommandSender sender, int pageCount, int CurrentPage, int totalEntries, String cmd, String pagePref) {
|
public void showPagination(CommandSender sender, int pageCount, int currentPage, int totalEntries, String cmd, String pagePref) {
|
||||||
if (!(sender instanceof Player))
|
if (!(sender instanceof Player))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -1348,23 +1348,23 @@ public class Jobs extends JavaPlugin {
|
|||||||
|
|
||||||
String pagePrefix = pagePref == null ? "" : pagePref;
|
String pagePrefix = pagePref == null ? "" : pagePref;
|
||||||
|
|
||||||
int NextPage = CurrentPage + 1;
|
int nextPage = currentPage + 1;
|
||||||
NextPage = CurrentPage < pageCount ? NextPage : CurrentPage;
|
nextPage = currentPage < pageCount ? nextPage : currentPage;
|
||||||
|
|
||||||
int Prevpage = CurrentPage - 1;
|
int prevpage = currentPage - 1;
|
||||||
Prevpage = CurrentPage > 1 ? Prevpage : CurrentPage;
|
prevpage = currentPage > 1 ? prevpage : currentPage;
|
||||||
|
|
||||||
RawMessage rm = new RawMessage()
|
RawMessage rm = new RawMessage()
|
||||||
.addText((CurrentPage > 1 ? lManager.getMessage("command.help.output.prevPage") : lManager.getMessage("command.help.output.prevPageOff")))
|
.addText((currentPage > 1 ? lManager.getMessage("command.help.output.prevPage") : lManager.getMessage("command.help.output.prevPageOff")))
|
||||||
.addHover(CurrentPage > 1 ? "<<<" : ">|")
|
.addHover(currentPage > 1 ? "<<<" : ">|")
|
||||||
.addCommand(CurrentPage > 1 ? cmd + " " + pagePrefix + Prevpage : cmd + " " + pagePrefix + pageCount);
|
.addCommand(currentPage > 1 ? cmd + " " + pagePrefix + prevpage : cmd + " " + pagePrefix + pageCount);
|
||||||
|
|
||||||
rm.addText(lManager.getMessage("command.help.output.pageCount", "[current]", CurrentPage, "[total]", pageCount))
|
rm.addText(lManager.getMessage("command.help.output.pageCount", "[current]", currentPage, "[total]", pageCount))
|
||||||
.addHover(lManager.getMessage("command.help.output.pageCountHover", "[totalEntries]", totalEntries));
|
.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.addText(pageCount > currentPage ? lManager.getMessage("command.help.output.nextPage") : lManager.getMessage("command.help.output.nextPageOff"))
|
||||||
.addHover(pageCount > CurrentPage ? ">>>" : "|<")
|
.addHover(pageCount > currentPage ? ">>>" : "|<")
|
||||||
.addCommand(pageCount > CurrentPage ? cmd + " " + pagePrefix + NextPage : cmd + " " + pagePrefix + 1);
|
.addCommand(pageCount > currentPage ? cmd + " " + pagePrefix + nextPage : cmd + " " + pagePrefix + 1);
|
||||||
|
|
||||||
if (pageCount != 0)
|
if (pageCount != 0)
|
||||||
rm.show(sender);
|
rm.show(sender);
|
||||||
|
@ -276,27 +276,27 @@ public class Placeholder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public enum JobsPlaceholderType {
|
public enum JobsPlaceholderType {
|
||||||
Jobs, PAPI, MVdW;
|
JOBS, PAPI, MVDW;
|
||||||
}
|
}
|
||||||
|
|
||||||
public JobsPlaceholderType getPlaceHolderType(Player player, String placeholder) {
|
public JobsPlaceholderType getPlaceHolderType(Player player, String placeholder) {
|
||||||
if (placeholder == null)
|
if (placeholder == null)
|
||||||
return null;
|
return null;
|
||||||
if (placeholder.contains("%")) {
|
|
||||||
if (!placeholder.equals(translateOwnPlaceHolder(player, placeholder)))
|
if (placeholder.contains("%") && !placeholder.equals(translateOwnPlaceHolder(player, placeholder))) {
|
||||||
return JobsPlaceholderType.Jobs;
|
return JobsPlaceholderType.JOBS;
|
||||||
}
|
}
|
||||||
if (plugin.isPlaceholderAPIEnabled()) {
|
|
||||||
if (placeholder.contains("%")) {
|
if (plugin.isPlaceholderAPIEnabled() && placeholder.contains("%")
|
||||||
if (!placeholder.equals(me.clip.placeholderapi.PlaceholderAPI.setPlaceholders((OfflinePlayer) player, placeholder)))
|
&& !placeholder.equals(me.clip.placeholderapi.PlaceholderAPI.setPlaceholders((OfflinePlayer) player, placeholder))) {
|
||||||
return JobsPlaceholderType.PAPI;
|
return JobsPlaceholderType.PAPI;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// For MVdWPlaceholderAPI
|
// For MVdWPlaceholderAPI
|
||||||
// if (plugin.isMVdWPlaceholderAPIEnabled()) {
|
// if (plugin.isMVdWPlaceholderAPIEnabled()) {
|
||||||
// if (placeholder.contains("{"))
|
// if (placeholder.contains("{"))
|
||||||
// if (!placeholder.equals(be.maximvdw.placeholderapi.PlaceholderAPI.replacePlaceholders(player, placeholder)))
|
// if (!placeholder.equals(be.maximvdw.placeholderapi.PlaceholderAPI.replacePlaceholders(player, placeholder)))
|
||||||
// return CMIPlaceholderType.MVdW;
|
// return CMIPlaceholderType.MVDW;
|
||||||
// }
|
// }
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -400,8 +400,7 @@ public class Placeholder {
|
|||||||
Integer completedQuests = (int) user.getQuestProgressions().stream().filter(q -> q.isCompleted()).count();
|
Integer completedQuests = (int) user.getQuestProgressions().stream().filter(q -> q.isCompleted()).count();
|
||||||
return Integer.toString(completedQuests);
|
return Integer.toString(completedQuests);
|
||||||
case user_dailyquests_total:
|
case user_dailyquests_total:
|
||||||
Integer dailyquests = user.getQuestProgressions().size();
|
return Integer.toString(user.getQuestProgressions().size());
|
||||||
return Integer.toString(dailyquests);
|
|
||||||
case user_id:
|
case user_id:
|
||||||
return Integer.toString(user.getUserId());
|
return Integer.toString(user.getUserId());
|
||||||
case user_bstandcount:
|
case user_bstandcount:
|
||||||
|
@ -18,9 +18,6 @@ public class PlaceholderAPIHook extends PlaceholderExpansion {
|
|||||||
@Override
|
@Override
|
||||||
public String onPlaceholderRequest(Player player, String identifier) {
|
public String onPlaceholderRequest(Player player, String identifier) {
|
||||||
JobsPlaceHolders placeHolder = JobsPlaceHolders.getByName(identifier);
|
JobsPlaceHolders placeHolder = JobsPlaceHolders.getByName(identifier);
|
||||||
if (placeHolder == null)
|
|
||||||
return null;
|
|
||||||
|
|
||||||
return plugin.getPlaceholderAPIManager().getValue(player, placeHolder, "%" + Placeholder.pref + "_" + identifier + "%");
|
return plugin.getPlaceholderAPIManager().getValue(player, placeHolder, "%" + Placeholder.pref + "_" + identifier + "%");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -154,7 +154,7 @@ public class JobsCommands implements CommandExecutor {
|
|||||||
sender.sendMessage(msg);
|
sender.sendMessage(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
plugin.ShowPagination(sender, pi, label + " ?");
|
plugin.showPagination(sender, pi, label + " ?");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -316,9 +316,9 @@ public class JobsCommands implements CommandExecutor {
|
|||||||
|
|
||||||
if (sender instanceof Player)
|
if (sender instanceof Player)
|
||||||
if (sender.getName().equalsIgnoreCase(player.getName()))
|
if (sender.getName().equalsIgnoreCase(player.getName()))
|
||||||
plugin.ShowPagination(sender, pi, "jobs info " + job.getName() + t);
|
plugin.showPagination(sender, pi, "jobs info " + job.getName() + t);
|
||||||
else
|
else
|
||||||
plugin.ShowPagination(sender, pi, "jobs playerinfo " + player.getName() + " " + job.getName() + t);
|
plugin.showPagination(sender, pi, "jobs playerinfo " + player.getName() + " " + job.getName() + t);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -106,7 +106,7 @@ public class browse implements Cmd {
|
|||||||
|
|
||||||
rm.show(sender);
|
rm.show(sender);
|
||||||
}
|
}
|
||||||
plugin.ShowPagination(sender, pi, "jobs browse", "-p:");
|
plugin.showPagination(sender, pi, "jobs browse", "-p:");
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
sender.sendMessage(Jobs.getLanguage().getMessage("command.browse.output.jobHeader", "[jobname]", j.getName()));
|
sender.sendMessage(Jobs.getLanguage().getMessage("command.browse.output.jobHeader", "[jobname]", j.getName()));
|
||||||
|
@ -115,7 +115,7 @@ public class editjobs implements Cmd {
|
|||||||
rm.show(sender);
|
rm.show(sender);
|
||||||
Util.getJobsEditorMap().remove(player.getUniqueId());
|
Util.getJobsEditorMap().remove(player.getUniqueId());
|
||||||
|
|
||||||
Jobs.getInstance().ShowPagination(sender, pi, "jobs editjobs list " + job.getName() + " " + actionT.getName());
|
Jobs.getInstance().showPagination(sender, pi, "jobs editjobs list " + job.getName() + " " + actionT.getName());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -156,7 +156,7 @@ public class editquests implements Cmd {
|
|||||||
|
|
||||||
Util.getQuestsEditorMap().remove(player.getUniqueId());
|
Util.getQuestsEditorMap().remove(player.getUniqueId());
|
||||||
|
|
||||||
Jobs.getInstance().ShowPagination(sender, pi, "jobs editquests list " + job.getName() + " " + quest.getConfigName() + " " + 0);
|
Jobs.getInstance().showPagination(sender, pi, "jobs editquests list " + job.getName() + " " + quest.getConfigName() + " " + 0);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -89,7 +89,7 @@ public class gtop implements Cmd {
|
|||||||
plugin.getCMIScoreboardManager().addNew(player);
|
plugin.getCMIScoreboardManager().addNew(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
Jobs.getInstance().ShowPagination(sender, pi, "jobs gtop");
|
Jobs.getInstance().showPagination(sender, pi, "jobs gtop");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -90,7 +90,7 @@ public class placeholders implements Cmd {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (player != null)
|
if (player != null)
|
||||||
plugin.ShowPagination(sender, pi, "jobs placeholders", "-p:");
|
plugin.showPagination(sender, pi, "jobs placeholders", "-p:");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,7 +79,7 @@ public class top implements Cmd {
|
|||||||
"%exp%", One.getExp()));
|
"%exp%", One.getExp()));
|
||||||
place++;
|
place++;
|
||||||
}
|
}
|
||||||
Jobs.getInstance().ShowPagination(sender, pi, "jobs top " + job.getName());
|
Jobs.getInstance().showPagination(sender, pi, "jobs top " + job.getName());
|
||||||
} else {
|
} else {
|
||||||
List<String> ls = new ArrayList<>();
|
List<String> ls = new ArrayList<>();
|
||||||
|
|
||||||
@ -94,7 +94,7 @@ public class top implements Cmd {
|
|||||||
plugin.getCMIScoreboardManager().setScoreBoard(player, Jobs.getLanguage().getMessage("scoreboard.topline", "%jobname%", job.getName()), ls);
|
plugin.getCMIScoreboardManager().setScoreBoard(player, Jobs.getLanguage().getMessage("scoreboard.topline", "%jobname%", job.getName()), ls);
|
||||||
plugin.getCMIScoreboardManager().addNew(player);
|
plugin.getCMIScoreboardManager().addNew(player);
|
||||||
|
|
||||||
Jobs.getInstance().ShowPagination(sender, pi, "jobs top " + job.getName());
|
Jobs.getInstance().showPagination(sender, pi, "jobs top " + job.getName());
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -184,7 +184,7 @@ public class ConfigManager {
|
|||||||
"[actionType] can be any valid job action. Look lower for all possible action types",
|
"[actionType] can be any valid job action. Look lower for all possible action types",
|
||||||
"[actionTarget] can be material name, block type, entity name and so on. This is defined in same way as any generic payable job action",
|
"[actionTarget] can be material name, block type, entity name and so on. This is defined in same way as any generic payable job action",
|
||||||
"[amount] is how many times player should perform this action to complete quest");
|
"[amount] is how many times player should perform this action to complete quest");
|
||||||
cfg.get(questPt + ".Objectives", "Break;17-0;300");
|
cfg.get(questPt + ".Objectives", "Break;oak_log;300");
|
||||||
|
|
||||||
cfg.addComment(questPt + ".RewardCommands", "Command list to be performed after quest is finished.",
|
cfg.addComment(questPt + ".RewardCommands", "Command list to be performed after quest is finished.",
|
||||||
"Use [playerName] to insert players name who finished that quest");
|
"Use [playerName] to insert players name who finished that quest");
|
||||||
@ -226,11 +226,9 @@ public class ConfigManager {
|
|||||||
"For kill tags (Kill and custom-kill), the name is the name of the mob.",
|
"For kill tags (Kill and custom-kill), the name is the name of the mob.",
|
||||||
"To get a list of all available entity types, check the",
|
"To get a list of all available entity types, check the",
|
||||||
"bukkit JavaDocs for a complete list of entity types",
|
"bukkit JavaDocs for a complete list of entity types",
|
||||||
"https://minecraft.gamepedia.com/Mob#List_of_mobs",
|
"https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html",
|
||||||
"",
|
"",
|
||||||
"NOTE: mob names are case sensitive.",
|
"For custom-kill, it is the name of the job (case sensitive).",
|
||||||
"",
|
|
||||||
"For custom-kill, it is the name of the job (also case sensitive).",
|
|
||||||
"",
|
"",
|
||||||
"NOTE: If a job has both the pay for killing a player and for killing a specific class, they will get both payments.",
|
"NOTE: If a job has both the pay for killing a player and for killing a specific class, they will get both payments.",
|
||||||
"#######################################################################",
|
"#######################################################################",
|
||||||
@ -342,9 +340,8 @@ public class ConfigManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public class KeyValues {
|
public class KeyValues {
|
||||||
private String type = null;
|
|
||||||
private String subType = "";
|
private String type, subType = "", meta = "";
|
||||||
private String meta = "";
|
|
||||||
private int id = 0;
|
private int id = 0;
|
||||||
|
|
||||||
public String getType() {
|
public String getType() {
|
||||||
@ -1205,6 +1202,53 @@ public class ConfigManager {
|
|||||||
ConfigurationSection typeSection = jobSection.getConfigurationSection(actionType.getName());
|
ConfigurationSection typeSection = jobSection.getConfigurationSection(actionType.getName());
|
||||||
ArrayList<JobInfo> jobInfo = new ArrayList<>();
|
ArrayList<JobInfo> jobInfo = new ArrayList<>();
|
||||||
if (typeSection != null) {
|
if (typeSection != null) {
|
||||||
|
if (typeSection.isList("materials")) {
|
||||||
|
for (String mat : typeSection.getStringList("materials")) {
|
||||||
|
if (!mat.contains(";")) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
KeyValues keyValue = null;
|
||||||
|
String[] sep = mat.split(";");
|
||||||
|
if (sep.length >= 1) {
|
||||||
|
keyValue = getKeyValue(sep[0], actionType, jobKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (keyValue == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
int id = keyValue.getId();
|
||||||
|
String type = keyValue.getType(),
|
||||||
|
subType = keyValue.getSubType(),
|
||||||
|
meta = keyValue.getMeta();
|
||||||
|
|
||||||
|
double income = 0D;
|
||||||
|
if (sep.length >= 2) {
|
||||||
|
income = Double.parseDouble(sep[1]);
|
||||||
|
income = updateValue(CurrencyType.MONEY, income);
|
||||||
|
}
|
||||||
|
|
||||||
|
double points = 0D;
|
||||||
|
if (sep.length >= 3) {
|
||||||
|
points = Double.parseDouble(sep[2]);
|
||||||
|
points = updateValue(CurrencyType.POINTS, points);
|
||||||
|
}
|
||||||
|
|
||||||
|
double experience = 0D;
|
||||||
|
if (sep.length >= 4) {
|
||||||
|
experience = Double.parseDouble(sep[3]);
|
||||||
|
experience = updateValue(CurrencyType.EXP, experience);
|
||||||
|
}
|
||||||
|
|
||||||
|
jobInfo.add(new JobInfo(actionType, id, meta, type + subType, income, incomeEquation, experience, expEquation, pointsEquation, points, 1,
|
||||||
|
-1, typeSection.getCurrentPath(), null, null, null));
|
||||||
|
}
|
||||||
|
|
||||||
|
job.setJobInfo(actionType, jobInfo);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
for (String key : typeSection.getKeys(false)) {
|
for (String key : typeSection.getKeys(false)) {
|
||||||
ConfigurationSection section = typeSection.getConfigurationSection(key);
|
ConfigurationSection section = typeSection.getConfigurationSection(key);
|
||||||
if (section == null) {
|
if (section == null) {
|
||||||
@ -1228,7 +1272,6 @@ public class ConfigManager {
|
|||||||
experience = updateValue(CurrencyType.EXP, experience);
|
experience = updateValue(CurrencyType.EXP, experience);
|
||||||
|
|
||||||
int fromlevel = 1;
|
int fromlevel = 1;
|
||||||
|
|
||||||
if (section.isInt("from-level"))
|
if (section.isInt("from-level"))
|
||||||
fromlevel = section.getInt("from-level");
|
fromlevel = section.getInt("from-level");
|
||||||
|
|
||||||
|
@ -480,23 +480,27 @@ public class GeneralConfigManager {
|
|||||||
String mname = one.contains("=") ? one.split("=")[0] : one;
|
String mname = one.contains("=") ? one.split("=")[0] : one;
|
||||||
String ench = one.contains("=") ? one.split("=")[1] : null;
|
String ench = one.contains("=") ? one.split("=")[1] : null;
|
||||||
String value = ench != null && ench.contains("-") ? ench.split("-")[1] : null;
|
String value = ench != null && ench.contains("-") ? ench.split("-")[1] : null;
|
||||||
ench = value != null && ench != null ? ench.substring(0, ench.length() - (value.length() + 1)) : ench;
|
if (value != null && ench != null) {
|
||||||
|
ench = ench.substring(0, ench.length() - (value.length() + 1));
|
||||||
|
}
|
||||||
|
|
||||||
CMIMaterial mat = CMIMaterial.get(mname);
|
CMIMaterial mat = CMIMaterial.get(mname);
|
||||||
if (mat == CMIMaterial.NONE) {
|
if (mat == CMIMaterial.NONE) {
|
||||||
Jobs.consoleMsg("Failed to recognize " + one + " entry from config file");
|
Jobs.consoleMsg("Failed to recognize " + one + " entry from config file");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
Enchantment enchant = null;
|
Enchantment enchant = null;
|
||||||
if (ench != null) {
|
if (ench != null) {
|
||||||
enchant = CMIEnchantment.getEnchantment(ench);
|
enchant = CMIEnchantment.getEnchantment(ench);
|
||||||
}
|
}
|
||||||
|
|
||||||
Integer level = null;
|
Integer level = null;
|
||||||
if (value != null) {
|
try {
|
||||||
try {
|
level = Integer.parseInt(value);
|
||||||
level = Integer.parseInt(value);
|
} catch (NumberFormatException e) {
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
HashMap<Enchantment, Integer> submap = new HashMap<>();
|
HashMap<Enchantment, Integer> submap = new HashMap<>();
|
||||||
if (enchant != null)
|
if (enchant != null)
|
||||||
submap.put(enchant, level);
|
submap.put(enchant, level);
|
||||||
|
@ -90,13 +90,6 @@ Jobs:
|
|||||||
# Item: player_head
|
# Item: player_head
|
||||||
# CustomSkull: Notch
|
# CustomSkull: Notch
|
||||||
Item: LOG:2
|
Item: LOG:2
|
||||||
|
|
||||||
# If you want to use ID instead of material names.
|
|
||||||
# id of block
|
|
||||||
# Id: 17
|
|
||||||
# data of block, usually its 0, but in example Diorite will have id of 1 and data of 3
|
|
||||||
# Data: 2
|
|
||||||
|
|
||||||
# enchants in the item
|
# enchants in the item
|
||||||
Enchantments:
|
Enchantments:
|
||||||
- 'DURABILITY:1'
|
- 'DURABILITY:1'
|
||||||
@ -120,8 +113,8 @@ Jobs:
|
|||||||
# - This is defined in same way as any generic payable job action.
|
# - This is defined in same way as any generic payable job action.
|
||||||
# - You can use multiple names separated by commas "," to avoid creating many rows.
|
# - You can use multiple names separated by commas "," to avoid creating many rows.
|
||||||
# [amount] is how many times player should perform this action to complete quest
|
# [amount] is how many times player should perform this action to complete quest
|
||||||
- Break;17-0;300
|
- Break;oak_log;300
|
||||||
#- Place;stone,cobblestone;5
|
- Place;stone,cobblestone;5
|
||||||
# Command list to be performed after quest is finished.
|
# Command list to be performed after quest is finished.
|
||||||
# Use [playerName] to insert players name who finished that quest
|
# Use [playerName] to insert players name who finished that quest
|
||||||
RewardCommands:
|
RewardCommands:
|
||||||
@ -158,16 +151,6 @@ Jobs:
|
|||||||
- "Kill 50 zombies"
|
- "Kill 50 zombies"
|
||||||
- "Get 2000 for this!"
|
- "Get 2000 for this!"
|
||||||
third:
|
third:
|
||||||
Name: "Chicken cooker"
|
|
||||||
Objectives:
|
|
||||||
- "Smelt;COOKED_CHICKEN;20"
|
|
||||||
RewardCommands:
|
|
||||||
- "eco give [playerName] 300"
|
|
||||||
- "msg [playerName] Completed quest!"
|
|
||||||
RewardDesc:
|
|
||||||
- "Cook some chicken breasts"
|
|
||||||
- "Get 300 for this!"
|
|
||||||
fourth:
|
|
||||||
Name: "Strip logs"
|
Name: "Strip logs"
|
||||||
Objectives:
|
Objectives:
|
||||||
- "StripLogs;stripped_birch_log;25"
|
- "StripLogs;stripped_birch_log;25"
|
||||||
@ -191,13 +174,11 @@ Jobs:
|
|||||||
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
|
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
|
||||||
#
|
#
|
||||||
# For kill tags (Kill and custom-kill), the name is the name of the
|
# For kill tags (Kill and custom-kill), the name is the name of the
|
||||||
# mob.
|
# entity.
|
||||||
# To get a list of all available entity types, check
|
# To get a list of all available entity types, check
|
||||||
# https://minecraft.gamepedia.com/Mob#List_of_mobs
|
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html
|
||||||
#
|
#
|
||||||
# NOTE: mob names are case sensitive.
|
# For custom-kill, it is the name of the job (case sensitive).
|
||||||
#
|
|
||||||
# For custom-kill, it is the name of the job (also case sensitive).
|
|
||||||
#
|
#
|
||||||
# NOTE: If a job has both the pay for killing a player and for killing a
|
# NOTE: If a job has both the pay for killing a player and for killing a
|
||||||
# specific class, they will get both payments.
|
# specific class, they will get both payments.
|
||||||
@ -230,7 +211,7 @@ Jobs:
|
|||||||
# you can use minuses to take away money if the player break this block
|
# you can use minuses to take away money if the player break this block
|
||||||
income: -1.0
|
income: -1.0
|
||||||
experience: -1.0
|
experience: -1.0
|
||||||
# you can use here "-all" sub name to specify if we detect all wool colours
|
# you can use "-all" sub name to specify if we detect all wool colours
|
||||||
wool-all:
|
wool-all:
|
||||||
income: 2.0
|
income: 2.0
|
||||||
points: 1.0
|
points: 1.0
|
||||||
@ -239,7 +220,6 @@ Jobs:
|
|||||||
income: 1.0
|
income: 1.0
|
||||||
points: 1.0
|
points: 1.0
|
||||||
experience: 1.0
|
experience: 1.0
|
||||||
# you should start material name like this, to detect if that material is exists
|
|
||||||
white_banner-all:
|
white_banner-all:
|
||||||
income: 1.0
|
income: 1.0
|
||||||
points: 1.0
|
points: 1.0
|
||||||
@ -288,15 +268,13 @@ Jobs:
|
|||||||
experience: 5.0
|
experience: 5.0
|
||||||
# payment for placing a block
|
# payment for placing a block
|
||||||
Place:
|
Place:
|
||||||
sapling:
|
# You can use list of materials to simplify adding each materials one by one
|
||||||
income: 1.0
|
# Remember that you should separate the income, points and exp with ";"
|
||||||
points: 1.0
|
materials:
|
||||||
experience: 1.0
|
- sapling;1.0;1.0;1.0
|
||||||
wood:
|
- wood;2.0;1.0
|
||||||
income: 2.0
|
- stone;0.1
|
||||||
points: 2.0
|
# Payment for trading with a villager. Checks results only
|
||||||
experience: 2.0
|
|
||||||
# Payment for trading a villager. Checks results only
|
|
||||||
VTrade:
|
VTrade:
|
||||||
emerald:
|
emerald:
|
||||||
income: 1.0
|
income: 1.0
|
||||||
@ -306,21 +284,15 @@ Jobs:
|
|||||||
enchanted_book-12:
|
enchanted_book-12:
|
||||||
income: 1.0
|
income: 1.0
|
||||||
experience: 2.0
|
experience: 2.0
|
||||||
# killing a mob
|
# Payment for killing any type of living entity
|
||||||
Kill:
|
Kill:
|
||||||
# mob name
|
|
||||||
Player:
|
Player:
|
||||||
# base income
|
|
||||||
income: 7.5
|
income: 7.5
|
||||||
# base experience
|
|
||||||
experience: 7.5
|
experience: 7.5
|
||||||
# killing a MythicMob
|
# Payment for killing a MythicMob
|
||||||
MMKill:
|
MMKill:
|
||||||
# mob name
|
|
||||||
CustomNameHere:
|
CustomNameHere:
|
||||||
# base income
|
|
||||||
income: 7.5
|
income: 7.5
|
||||||
# base experience
|
|
||||||
experience: 7.5
|
experience: 7.5
|
||||||
# Killing player with certain job
|
# Killing player with certain job
|
||||||
custom-kill:
|
custom-kill:
|
||||||
@ -345,7 +317,7 @@ Jobs:
|
|||||||
baked_potato:
|
baked_potato:
|
||||||
income: 5
|
income: 5
|
||||||
experience: 5
|
experience: 5
|
||||||
# Milking cows, only one option is available
|
# Milking cows
|
||||||
Milk:
|
Milk:
|
||||||
Cow:
|
Cow:
|
||||||
income: 2.0
|
income: 2.0
|
||||||
@ -464,7 +436,6 @@ Jobs:
|
|||||||
experience: 12
|
experience: 12
|
||||||
# Enchanting items
|
# Enchanting items
|
||||||
Enchant:
|
Enchant:
|
||||||
# You can set item for which player will get money
|
|
||||||
wood_sword:
|
wood_sword:
|
||||||
income: 1.5
|
income: 1.5
|
||||||
experience: 3.0
|
experience: 3.0
|
||||||
@ -517,7 +488,6 @@ Jobs:
|
|||||||
level: 0
|
level: 0
|
||||||
secNode:
|
secNode:
|
||||||
value: true
|
value: true
|
||||||
# The permission node
|
|
||||||
permission: "aaaaaatest.node2"
|
permission: "aaaaaatest.node2"
|
||||||
# Permission granted when reaching level 10
|
# Permission granted when reaching level 10
|
||||||
level: 10
|
level: 10
|
||||||
@ -556,37 +526,6 @@ Jobs:
|
|||||||
world-blacklist:
|
world-blacklist:
|
||||||
- plotworld
|
- plotworld
|
||||||
- teamworld
|
- teamworld
|
||||||
# Getting more money when equipped with specific weapon/tool are wearing armor
|
|
||||||
items:
|
|
||||||
# Just name, don't have any impact
|
|
||||||
firstOne:
|
|
||||||
# Tool/Weapon id. Works for block Break, Fish, Animal tame, Breed, Monster/Player kill.
|
|
||||||
id: 278
|
|
||||||
# Items name, should be with color codes
|
|
||||||
name: '&8Miner Pickaxe'
|
|
||||||
# Item lore, again should come with color codes
|
|
||||||
lore:
|
|
||||||
- '&eBobs pick'
|
|
||||||
- '&710% bonus XP'
|
|
||||||
# Item enchantments, all enchantment names can be found https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html
|
|
||||||
enchants:
|
|
||||||
- DAMAGE_ALL=1
|
|
||||||
- FIRE_ASPECT=1
|
|
||||||
# Money boost: 1.1 is equals 10% more income when 0.9 is equals 10% less from base income
|
|
||||||
moneyBoost: 1.1
|
|
||||||
# Exp boost
|
|
||||||
expBoost: 1.2
|
|
||||||
# Point boost
|
|
||||||
pointBoost: 1.3
|
|
||||||
helmet:
|
|
||||||
# Armor id. This one works with all jobs
|
|
||||||
id: 310
|
|
||||||
name: '&8Armor'
|
|
||||||
lore:
|
|
||||||
- '&eBobs armor'
|
|
||||||
- '&710% bonus XP'
|
|
||||||
moneyBoost: 1.1
|
|
||||||
expBoost: 1.1
|
|
||||||
# Limit item use to jobs level
|
# Limit item use to jobs level
|
||||||
limitedItems:
|
limitedItems:
|
||||||
# Just name, don't have any impact
|
# Just name, don't have any impact
|
||||||
@ -643,82 +582,19 @@ Jobs:
|
|||||||
Id: 17
|
Id: 17
|
||||||
Data: 2
|
Data: 2
|
||||||
Break:
|
Break:
|
||||||
#logs - natural; gain income, points, and exp
|
materials:
|
||||||
oak_log:
|
- oak_log;1.0;1.0;1.0
|
||||||
income: 1.0
|
- spruce_log;1.0;1.0;1.0
|
||||||
points: 1.0
|
- birch_log;1.0;1.0;1.0
|
||||||
experience: 1.0
|
- jungle_log;1.0;1.0;1.0
|
||||||
spruce_log:
|
- acacia_log;1.0;1.0;1.0
|
||||||
income: 1.0
|
- dark_oak_log;1.0;1.0;1.0
|
||||||
points: 1.0
|
- stripped_oak_log;0.75;0.75;0.25
|
||||||
experience: 1.0
|
- stripped_spruce_log;0.75;0.75;0.25
|
||||||
birch_log:
|
- stripped_birch_log;0.75;0.75;0.25
|
||||||
income: 1.0
|
- stripped_jungle_log;0.75;0.75;0.25
|
||||||
points: 1.0
|
- stripped_acacia_log;0.75;0.75;0.25
|
||||||
experience: 1.0
|
- stripped_dark_oak_log;0.75;0.75;0.25
|
||||||
jungle_log:
|
|
||||||
income: 1.0
|
|
||||||
points: 1.0
|
|
||||||
experience: 1.0
|
|
||||||
acacia_log:
|
|
||||||
income: 1.0
|
|
||||||
points: 1.0
|
|
||||||
experience: 1.0
|
|
||||||
dark_oak_log:
|
|
||||||
income: 1.0
|
|
||||||
points: 1.0
|
|
||||||
experience: 1.0
|
|
||||||
#planks - natural in mineshafts; gain some income/points and exp, but less as compromise as it's mainly a building block and used in placement
|
|
||||||
#oak_planks:
|
|
||||||
#income: 0.25
|
|
||||||
#points: 0.25
|
|
||||||
#experience: .25
|
|
||||||
#spruce_planks:
|
|
||||||
#income: 0.25
|
|
||||||
#points: 0.25
|
|
||||||
#experience: .25
|
|
||||||
#birch_planks:
|
|
||||||
#income: 0.25
|
|
||||||
#points: 0.25
|
|
||||||
#experience: .25
|
|
||||||
#jungle_planks:
|
|
||||||
#income: 0.25
|
|
||||||
#points: 0.25
|
|
||||||
#experience: .25
|
|
||||||
#acacia_planks:
|
|
||||||
#income: 0.25
|
|
||||||
#points: 0.25
|
|
||||||
#experience: .25
|
|
||||||
#dark_oak_planks:
|
|
||||||
#income: 0.25
|
|
||||||
#points: 0.25
|
|
||||||
#experience: .25
|
|
||||||
#stripped logs - crafted/natural; gain income, points, and exp. Compromise for stripping natural logs.
|
|
||||||
#use axe durability to create, just 0.75 income/points to make up for loss, plus 0.25 exp (compromise)
|
|
||||||
stripped_oak_log:
|
|
||||||
income: 0.75
|
|
||||||
points: 0.75
|
|
||||||
experience: 0.25
|
|
||||||
stripped_spruce_log:
|
|
||||||
income: 0.75
|
|
||||||
points: 0.75
|
|
||||||
experience: 0.25
|
|
||||||
stripped_birch_log:
|
|
||||||
income: 0.75
|
|
||||||
points: 0.75
|
|
||||||
experience: 0.25
|
|
||||||
stripped_jungle_log:
|
|
||||||
income: 0.75
|
|
||||||
points: 0.75
|
|
||||||
experience: 0.25
|
|
||||||
stripped_acacia_log:
|
|
||||||
income: 0.75
|
|
||||||
points: 0.75
|
|
||||||
experience: 0.25
|
|
||||||
stripped_dark_oak_log:
|
|
||||||
income: 0.75
|
|
||||||
points: 0.75
|
|
||||||
experience: 0.25
|
|
||||||
Kill:
|
Kill:
|
||||||
Player:
|
Player:
|
||||||
income: 7.5
|
income: 7.5
|
||||||
@ -776,28 +652,6 @@ Jobs:
|
|||||||
points: 0.25
|
points: 0.25
|
||||||
experience: 0.5
|
experience: 0.5
|
||||||
Break:
|
Break:
|
||||||
#new 1.13 blocks (some changed blocks are below)
|
|
||||||
tube_coral_block:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
brain_coral_block:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
bubble_coral_block:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
fire_coral_block:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
horn_coral_block:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
#origial blocks
|
|
||||||
andesite:
|
andesite:
|
||||||
income: 1
|
income: 1
|
||||||
points: 1
|
points: 1
|
||||||
@ -953,55 +807,6 @@ Jobs:
|
|||||||
Gui:
|
Gui:
|
||||||
Item: brick_stairs
|
Item: brick_stairs
|
||||||
Place:
|
Place:
|
||||||
#new 1.13 blocks
|
|
||||||
stripped_oak_wood:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 2
|
|
||||||
stripped_spruce_wood:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 2
|
|
||||||
stripped_birch_wood:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 2
|
|
||||||
stripped_jungle_wood:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 2
|
|
||||||
stripped_acacia_wood:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 2
|
|
||||||
stripped_dark_oak_wood:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 2
|
|
||||||
dead_tube_coral_block:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
dead_brain_coral_block:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
dead_bubble_coral_block:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
dead_fire_coral_block:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
dead_horn_coral_block:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
dried_kelp_block:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
stone:
|
stone:
|
||||||
income: 1.3
|
income: 1.3
|
||||||
points: 1.3
|
points: 1.3
|
||||||
@ -1908,49 +1713,6 @@ Jobs:
|
|||||||
points: 5.0
|
points: 5.0
|
||||||
experience: 5.0
|
experience: 5.0
|
||||||
Break:
|
Break:
|
||||||
#new 1.13 blocks
|
|
||||||
tube_coral_fan:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
brain_coral_fan:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
bubble_coral_fan:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
fire_coral_fan:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
horn_coral_fan:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
kelp_plant:
|
|
||||||
income: 1
|
|
||||||
points: 1
|
|
||||||
experience: 1
|
|
||||||
kelp:
|
|
||||||
income: 1
|
|
||||||
points: 1
|
|
||||||
experience: 1
|
|
||||||
seagrass:
|
|
||||||
income: 1
|
|
||||||
points: 1
|
|
||||||
experience: 1
|
|
||||||
tall_seagrass:
|
|
||||||
income: 1
|
|
||||||
points: 1
|
|
||||||
experience: 1
|
|
||||||
sea_pickle:
|
|
||||||
income: 1
|
|
||||||
points: 1
|
|
||||||
experience: 1
|
|
||||||
|
|
||||||
#old blocks
|
|
||||||
chorus_plant:
|
chorus_plant:
|
||||||
income: 1.5
|
income: 1.5
|
||||||
points: 1.5
|
points: 1.5
|
||||||
@ -2076,28 +1838,6 @@ Jobs:
|
|||||||
points: 1
|
points: 1
|
||||||
experience: 1.0
|
experience: 1.0
|
||||||
Place:
|
Place:
|
||||||
#new 1.13 blocks
|
|
||||||
dead_tube_coral_fan:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
dead_brain_coral_fan:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
dead_bubble_coral_fan:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
dead_fire_coral_fan:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
dead_horn_coral_fan:
|
|
||||||
income: 2
|
|
||||||
points: 2
|
|
||||||
experience: 3
|
|
||||||
|
|
||||||
wheat:
|
wheat:
|
||||||
income: 1
|
income: 1
|
||||||
points: 1
|
points: 1
|
||||||
@ -3253,73 +2993,18 @@ Jobs:
|
|||||||
income: 6.0
|
income: 6.0
|
||||||
points: 6.0
|
points: 6.0
|
||||||
experience: 30.0
|
experience: 30.0
|
||||||
# 1.13+: power
|
durability-1:
|
||||||
# 1.12 and under: arrow_damage
|
income: 10.0
|
||||||
#power-1:
|
points: 10.0
|
||||||
# income: 10.0
|
experience: 10.0
|
||||||
# points: 10.0
|
fire_aspect-2:
|
||||||
# experience: 10.0
|
income: 20.0
|
||||||
#arrow_damage-2:
|
points: 20.0
|
||||||
# income: 20.0
|
experience: 20.0
|
||||||
# 1.13+: flame
|
# This is default job players will have if they didn't joined any
|
||||||
# 1.12 and under: arrow_fire
|
# When players join any job, they will lose access to this one
|
||||||
#arrow_fire:
|
|
||||||
# income: 10.0
|
|
||||||
# points: 10.0
|
|
||||||
# experience: 30.0
|
|
||||||
# 1.13+: infinity
|
|
||||||
# 1.12 and under: arrow_infinite
|
|
||||||
#arrow_infinite:
|
|
||||||
# income: 20.0
|
|
||||||
# points: 20.0
|
|
||||||
# experience: 50.0
|
|
||||||
# 1.13+: punch
|
|
||||||
# 1.12 and under: arrow_knockback
|
|
||||||
#punch-2:
|
|
||||||
# income: 20.0
|
|
||||||
# points: 20.0
|
|
||||||
# experience: 20.0
|
|
||||||
# 1.13+: sharpness
|
|
||||||
# 1.12 and under: damage_all
|
|
||||||
#damage_all-5:
|
|
||||||
# income: 50.0
|
|
||||||
# points: 50.0
|
|
||||||
# experience: 50.0
|
|
||||||
# 1.13+: bane_of_arthropods
|
|
||||||
# 1.12 and under: damage_arthropods
|
|
||||||
#damage_arthropods-4:
|
|
||||||
# income: 40.0
|
|
||||||
# points: 40.0
|
|
||||||
# experience: 40.0
|
|
||||||
# 1.13+: smite
|
|
||||||
# 1.12 under: damage_undead
|
|
||||||
#damage_undead-1:
|
|
||||||
# income: 10.0
|
|
||||||
# points: 10.0
|
|
||||||
#depth_strider-3:
|
|
||||||
# income: 30.0
|
|
||||||
# points: 30.0
|
|
||||||
# experience: 30.0
|
|
||||||
# 1.13+: efficiency
|
|
||||||
# 1.12 under: dig_speed
|
|
||||||
#efficiency-5:
|
|
||||||
# income: 50.0
|
|
||||||
# points: 50.0
|
|
||||||
# experience: 50.0
|
|
||||||
# 1.13+: unbreaking
|
|
||||||
# 1.12 under: durability
|
|
||||||
#durability-1:
|
|
||||||
# income: 10.0
|
|
||||||
# points: 10.0
|
|
||||||
# experience: 10.0
|
|
||||||
#fire_aspect-2:
|
|
||||||
# income: 20.0
|
|
||||||
# points: 20.0
|
|
||||||
# experience: 20.0
|
|
||||||
# This is default job players will have if they dint joined any
|
|
||||||
# When players join any job, they will loose access to this one
|
|
||||||
# You can set this to give out some money for basic actions, like killing players or breaking some blocks but job will not be visible and you can't level it up
|
# You can set this to give out some money for basic actions, like killing players or breaking some blocks but job will not be visible and you can't level it up
|
||||||
# leveling-progression-equation and experience-progression-equation doesnt have any impact for this job
|
# leveling-progression-equation and experience-progression-equation doesn't have any impact for this job
|
||||||
None:
|
None:
|
||||||
fullname: None
|
fullname: None
|
||||||
shortname: N
|
shortname: N
|
||||||
|
Loading…
Reference in New Issue
Block a user