diff --git a/src/main/java/com/gamingmesh/jobs/Jobs.java b/src/main/java/com/gamingmesh/jobs/Jobs.java index d14e5a65..d0a8fa50 100644 --- a/src/main/java/com/gamingmesh/jobs/Jobs.java +++ b/src/main/java/com/gamingmesh/jobs/Jobs.java @@ -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); diff --git a/src/main/java/com/gamingmesh/jobs/Placeholders/Placeholder.java b/src/main/java/com/gamingmesh/jobs/Placeholders/Placeholder.java index 1452c487..eca17c56 100644 --- a/src/main/java/com/gamingmesh/jobs/Placeholders/Placeholder.java +++ b/src/main/java/com/gamingmesh/jobs/Placeholders/Placeholder.java @@ -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: diff --git a/src/main/java/com/gamingmesh/jobs/Placeholders/PlaceholderAPIHook.java b/src/main/java/com/gamingmesh/jobs/Placeholders/PlaceholderAPIHook.java index e0b89c78..be12d5bf 100644 --- a/src/main/java/com/gamingmesh/jobs/Placeholders/PlaceholderAPIHook.java +++ b/src/main/java/com/gamingmesh/jobs/Placeholders/PlaceholderAPIHook.java @@ -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 + "%"); } diff --git a/src/main/java/com/gamingmesh/jobs/commands/JobsCommands.java b/src/main/java/com/gamingmesh/jobs/commands/JobsCommands.java index 25c16b0d..347094cd 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/JobsCommands.java +++ b/src/main/java/com/gamingmesh/jobs/commands/JobsCommands.java @@ -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); } /** diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/browse.java b/src/main/java/com/gamingmesh/jobs/commands/list/browse.java index ec799f3d..fd73f3fa 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/browse.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/browse.java @@ -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())); diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/editjobs.java b/src/main/java/com/gamingmesh/jobs/commands/list/editjobs.java index 02a02eb6..9d5b6cb7 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/editjobs.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/editjobs.java @@ -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; } diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/editquests.java b/src/main/java/com/gamingmesh/jobs/commands/list/editquests.java index 0c4dfec5..6fda3a62 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/editquests.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/editquests.java @@ -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; } } diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/gtop.java b/src/main/java/com/gamingmesh/jobs/commands/list/gtop.java index 718e18d3..b70e440d 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/gtop.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/gtop.java @@ -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; } } diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/placeholders.java b/src/main/java/com/gamingmesh/jobs/commands/list/placeholders.java index e8e45591..6fb7afd5 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/placeholders.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/placeholders.java @@ -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; } } diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/top.java b/src/main/java/com/gamingmesh/jobs/commands/list/top.java index 0fa2bb19..445da694 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/top.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/top.java @@ -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 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; } diff --git a/src/main/java/com/gamingmesh/jobs/config/ConfigManager.java b/src/main/java/com/gamingmesh/jobs/config/ConfigManager.java index c6c79f09..ddc93be9 100644 --- a/src/main/java/com/gamingmesh/jobs/config/ConfigManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/ConfigManager.java @@ -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 = 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"); diff --git a/src/main/java/com/gamingmesh/jobs/config/GeneralConfigManager.java b/src/main/java/com/gamingmesh/jobs/config/GeneralConfigManager.java index c862a381..c66828ff 100644 --- a/src/main/java/com/gamingmesh/jobs/config/GeneralConfigManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/GeneralConfigManager.java @@ -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 submap = new HashMap<>(); if (enchant != null) submap.put(enchant, level); diff --git a/src/main/resources/jobConfig.yml b/src/main/resources/jobConfig.yml index f6fcfb3d..ad8882e5 100644 --- a/src/main/resources/jobConfig.yml +++ b/src/main/resources/jobConfig.yml @@ -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