1
0
mirror of https://github.com/Zrips/Jobs.git synced 2024-11-26 04:25:15 +01:00

Now you can separate payment materials into a list

This commit is contained in:
montlikadani 2020-11-23 20:11:21 +01:00
parent e4f2b40527
commit 343657db05
13 changed files with 141 additions and 413 deletions

View File

@ -1234,11 +1234,11 @@ public class Jobs extends JavaPlugin {
}
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
private static int ExpToLevel(int level) {
private static int expToLevel(int level) {
if (Version.isCurrentEqualOrLower(Version.v1_7_R4)) {
if (level <= 16)
return 17 * level;
@ -1328,15 +1328,15 @@ public class Jobs extends JavaPlugin {
}
public void ShowPagination(CommandSender sender, PageInfo pi, String cmd) {
ShowPagination(sender, pi.getTotalPages(), pi.getCurrentPage(), pi.getTotalEntries(), cmd, null);
public void showPagination(CommandSender sender, PageInfo pi, String cmd) {
showPagination(sender, pi.getTotalPages(), pi.getCurrentPage(), pi.getTotalEntries(), cmd, null);
}
public void ShowPagination(CommandSender sender, PageInfo pi, String cmd, String pagePref) {
ShowPagination(sender, pi.getTotalPages(), pi.getCurrentPage(), pi.getTotalEntries(), cmd, pagePref);
public void showPagination(CommandSender sender, PageInfo pi, String cmd, String 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))
return;
@ -1348,23 +1348,23 @@ public class Jobs extends JavaPlugin {
String pagePrefix = pagePref == null ? "" : pagePref;
int NextPage = CurrentPage + 1;
NextPage = CurrentPage < pageCount ? NextPage : CurrentPage;
int nextPage = currentPage + 1;
nextPage = currentPage < pageCount ? nextPage : currentPage;
int Prevpage = CurrentPage - 1;
Prevpage = CurrentPage > 1 ? Prevpage : CurrentPage;
int prevpage = currentPage - 1;
prevpage = currentPage > 1 ? prevpage : currentPage;
RawMessage rm = new RawMessage()
.addText((CurrentPage > 1 ? lManager.getMessage("command.help.output.prevPage") : lManager.getMessage("command.help.output.prevPageOff")))
.addHover(CurrentPage > 1 ? "<<<" : ">|")
.addCommand(CurrentPage > 1 ? cmd + " " + pagePrefix + Prevpage : cmd + " " + pagePrefix + pageCount);
.addText((currentPage > 1 ? lManager.getMessage("command.help.output.prevPage") : lManager.getMessage("command.help.output.prevPageOff")))
.addHover(currentPage > 1 ? "<<<" : ">|")
.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));
rm.addText(pageCount > CurrentPage ? lManager.getMessage("command.help.output.nextPage") : lManager.getMessage("command.help.output.nextPageOff"))
.addHover(pageCount > CurrentPage ? ">>>" : "|<")
.addCommand(pageCount > CurrentPage ? cmd + " " + pagePrefix + NextPage : cmd + " " + pagePrefix + 1);
rm.addText(pageCount > currentPage ? lManager.getMessage("command.help.output.nextPage") : lManager.getMessage("command.help.output.nextPageOff"))
.addHover(pageCount > currentPage ? ">>>" : "|<")
.addCommand(pageCount > currentPage ? cmd + " " + pagePrefix + nextPage : cmd + " " + pagePrefix + 1);
if (pageCount != 0)
rm.show(sender);

View File

@ -276,27 +276,27 @@ public class Placeholder {
}
public enum JobsPlaceholderType {
Jobs, PAPI, MVdW;
JOBS, PAPI, MVDW;
}
public JobsPlaceholderType getPlaceHolderType(Player player, String placeholder) {
if (placeholder == null)
return null;
if (placeholder.contains("%")) {
if (!placeholder.equals(translateOwnPlaceHolder(player, placeholder)))
return JobsPlaceholderType.Jobs;
if (placeholder.contains("%") && !placeholder.equals(translateOwnPlaceHolder(player, placeholder))) {
return JobsPlaceholderType.JOBS;
}
if (plugin.isPlaceholderAPIEnabled()) {
if (placeholder.contains("%")) {
if (!placeholder.equals(me.clip.placeholderapi.PlaceholderAPI.setPlaceholders((OfflinePlayer) player, placeholder)))
return JobsPlaceholderType.PAPI;
}
if (plugin.isPlaceholderAPIEnabled() && placeholder.contains("%")
&& !placeholder.equals(me.clip.placeholderapi.PlaceholderAPI.setPlaceholders((OfflinePlayer) player, placeholder))) {
return JobsPlaceholderType.PAPI;
}
// For MVdWPlaceholderAPI
// if (plugin.isMVdWPlaceholderAPIEnabled()) {
// if (placeholder.contains("{"))
// if (!placeholder.equals(be.maximvdw.placeholderapi.PlaceholderAPI.replacePlaceholders(player, placeholder)))
// return CMIPlaceholderType.MVdW;
// return CMIPlaceholderType.MVDW;
// }
return null;
}
@ -400,8 +400,7 @@ public class Placeholder {
Integer completedQuests = (int) user.getQuestProgressions().stream().filter(q -> q.isCompleted()).count();
return Integer.toString(completedQuests);
case user_dailyquests_total:
Integer dailyquests = user.getQuestProgressions().size();
return Integer.toString(dailyquests);
return Integer.toString(user.getQuestProgressions().size());
case user_id:
return Integer.toString(user.getUserId());
case user_bstandcount:

View File

@ -18,9 +18,6 @@ public class PlaceholderAPIHook extends PlaceholderExpansion {
@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 + "%");
}

View File

@ -154,7 +154,7 @@ public class JobsCommands implements CommandExecutor {
sender.sendMessage(msg);
}
plugin.ShowPagination(sender, pi, label + " ?");
plugin.showPagination(sender, pi, label + " ?");
return true;
}
@ -316,9 +316,9 @@ public class JobsCommands implements CommandExecutor {
if (sender instanceof Player)
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
plugin.ShowPagination(sender, pi, "jobs playerinfo " + player.getName() + " " + job.getName() + t);
plugin.showPagination(sender, pi, "jobs playerinfo " + player.getName() + " " + job.getName() + t);
}
/**

View File

@ -106,7 +106,7 @@ public class browse implements Cmd {
rm.show(sender);
}
plugin.ShowPagination(sender, pi, "jobs browse", "-p:");
plugin.showPagination(sender, pi, "jobs browse", "-p:");
} else {
sender.sendMessage(Jobs.getLanguage().getMessage("command.browse.output.jobHeader", "[jobname]", j.getName()));

View File

@ -115,7 +115,7 @@ public class editjobs implements Cmd {
rm.show(sender);
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;
}

View File

@ -156,7 +156,7 @@ public class editquests implements Cmd {
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;
}
}

View File

@ -89,7 +89,7 @@ public class gtop implements Cmd {
plugin.getCMIScoreboardManager().addNew(player);
}
Jobs.getInstance().ShowPagination(sender, pi, "jobs gtop");
Jobs.getInstance().showPagination(sender, pi, "jobs gtop");
return true;
}
}

View File

@ -90,7 +90,7 @@ public class placeholders implements Cmd {
}
if (player != null)
plugin.ShowPagination(sender, pi, "jobs placeholders", "-p:");
plugin.showPagination(sender, pi, "jobs placeholders", "-p:");
return true;
}
}

View File

@ -79,7 +79,7 @@ public class top implements Cmd {
"%exp%", One.getExp()));
place++;
}
Jobs.getInstance().ShowPagination(sender, pi, "jobs top " + job.getName());
Jobs.getInstance().showPagination(sender, pi, "jobs top " + job.getName());
} else {
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().addNew(player);
Jobs.getInstance().ShowPagination(sender, pi, "jobs top " + job.getName());
Jobs.getInstance().showPagination(sender, pi, "jobs top " + job.getName());
}
return true;
}

View File

@ -184,7 +184,7 @@ public class ConfigManager {
"[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",
"[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.",
"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.",
"To get a list of all available entity types, check the",
"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 (also case sensitive).",
"For custom-kill, it is the name of the job (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.",
"#######################################################################",
@ -342,9 +340,8 @@ public class ConfigManager {
}
public class KeyValues {
private String type = null;
private String subType = "";
private String meta = "";
private String type, subType = "", meta = "";
private int id = 0;
public String getType() {
@ -1205,6 +1202,53 @@ public class ConfigManager {
ConfigurationSection typeSection = jobSection.getConfigurationSection(actionType.getName());
ArrayList<JobInfo> jobInfo = new ArrayList<>();
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)) {
ConfigurationSection section = typeSection.getConfigurationSection(key);
if (section == null) {
@ -1228,7 +1272,6 @@ public class ConfigManager {
experience = updateValue(CurrencyType.EXP, experience);
int fromlevel = 1;
if (section.isInt("from-level"))
fromlevel = section.getInt("from-level");

View File

@ -480,23 +480,27 @@ public class GeneralConfigManager {
String mname = one.contains("=") ? one.split("=")[0] : one;
String ench = one.contains("=") ? one.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);
if (mat == CMIMaterial.NONE) {
Jobs.consoleMsg("Failed to recognize " + one + " entry from config file");
continue;
}
Enchantment enchant = null;
if (ench != null) {
enchant = CMIEnchantment.getEnchantment(ench);
}
Integer level = null;
if (value != null) {
try {
level = Integer.parseInt(value);
} catch (NumberFormatException e) {
}
try {
level = Integer.parseInt(value);
} catch (NumberFormatException e) {
}
HashMap<Enchantment, Integer> submap = new HashMap<>();
if (enchant != null)
submap.put(enchant, level);

View File

@ -90,13 +90,6 @@ Jobs:
# Item: player_head
# CustomSkull: Notch
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
Enchantments:
- 'DURABILITY:1'
@ -120,8 +113,8 @@ Jobs:
# - 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.
# [amount] is how many times player should perform this action to complete quest
- Break;17-0;300
#- Place;stone,cobblestone;5
- Break;oak_log;300
- Place;stone,cobblestone;5
# Command list to be performed after quest is finished.
# Use [playerName] to insert players name who finished that quest
RewardCommands:
@ -158,16 +151,6 @@ Jobs:
- "Kill 50 zombies"
- "Get 2000 for this!"
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"
Objectives:
- "StripLogs;stripped_birch_log;25"
@ -191,13 +174,11 @@ Jobs:
# https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
#
# 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
# 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 (also case sensitive).
# For custom-kill, it is the name of the job (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.
@ -230,7 +211,7 @@ Jobs:
# you can use minuses to take away money if the player break this block
income: -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:
income: 2.0
points: 1.0
@ -239,7 +220,6 @@ Jobs:
income: 1.0
points: 1.0
experience: 1.0
# you should start material name like this, to detect if that material is exists
white_banner-all:
income: 1.0
points: 1.0
@ -288,15 +268,13 @@ Jobs:
experience: 5.0
# payment for placing a block
Place:
sapling:
income: 1.0
points: 1.0
experience: 1.0
wood:
income: 2.0
points: 2.0
experience: 2.0
# Payment for trading a villager. Checks results only
# You can use list of materials to simplify adding each materials one by one
# Remember that you should separate the income, points and exp with ";"
materials:
- sapling;1.0;1.0;1.0
- wood;2.0;1.0
- stone;0.1
# Payment for trading with a villager. Checks results only
VTrade:
emerald:
income: 1.0
@ -306,21 +284,15 @@ Jobs:
enchanted_book-12:
income: 1.0
experience: 2.0
# killing a mob
# Payment for killing any type of living entity
Kill:
# mob name
Player:
# base income
income: 7.5
# base experience
experience: 7.5
# killing a MythicMob
# Payment for killing a MythicMob
MMKill:
# mob name
CustomNameHere:
# base income
income: 7.5
# base experience
experience: 7.5
# Killing player with certain job
custom-kill:
@ -345,7 +317,7 @@ Jobs:
baked_potato:
income: 5
experience: 5
# Milking cows, only one option is available
# Milking cows
Milk:
Cow:
income: 2.0
@ -464,7 +436,6 @@ Jobs:
experience: 12
# Enchanting items
Enchant:
# You can set item for which player will get money
wood_sword:
income: 1.5
experience: 3.0
@ -517,7 +488,6 @@ Jobs:
level: 0
secNode:
value: true
# The permission node
permission: "aaaaaatest.node2"
# Permission granted when reaching level 10
level: 10
@ -556,37 +526,6 @@ Jobs:
world-blacklist:
- plotworld
- 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
limitedItems:
# Just name, don't have any impact
@ -643,82 +582,19 @@ Jobs:
Id: 17
Data: 2
Break:
#logs - natural; gain income, points, and exp
oak_log:
income: 1.0
points: 1.0
experience: 1.0
spruce_log:
income: 1.0
points: 1.0
experience: 1.0
birch_log:
income: 1.0
points: 1.0
experience: 1.0
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
materials:
- oak_log;1.0;1.0;1.0
- spruce_log;1.0;1.0;1.0
- birch_log;1.0;1.0;1.0
- jungle_log;1.0;1.0;1.0
- acacia_log;1.0;1.0;1.0
- dark_oak_log;1.0;1.0;1.0
- stripped_oak_log;0.75;0.75;0.25
- stripped_spruce_log;0.75;0.75;0.25
- stripped_birch_log;0.75;0.75;0.25
- stripped_jungle_log;0.75;0.75;0.25
- stripped_acacia_log;0.75;0.75;0.25
- stripped_dark_oak_log;0.75;0.75;0.25
Kill:
Player:
income: 7.5
@ -776,28 +652,6 @@ Jobs:
points: 0.25
experience: 0.5
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:
income: 1
points: 1
@ -953,55 +807,6 @@ Jobs:
Gui:
Item: brick_stairs
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:
income: 1.3
points: 1.3
@ -1908,49 +1713,6 @@ Jobs:
points: 5.0
experience: 5.0
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:
income: 1.5
points: 1.5
@ -2076,28 +1838,6 @@ Jobs:
points: 1
experience: 1.0
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:
income: 1
points: 1
@ -3253,73 +2993,18 @@ Jobs:
income: 6.0
points: 6.0
experience: 30.0
# 1.13+: power
# 1.12 and under: arrow_damage
#power-1:
# income: 10.0
# points: 10.0
# experience: 10.0
#arrow_damage-2:
# income: 20.0
# 1.13+: flame
# 1.12 and under: arrow_fire
#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
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 didn't joined any
# When players join any job, they will lose 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
# 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:
fullname: None
shortname: N