mirror of
https://github.com/Auxilor/EcoJobs.git
synced 2025-12-20 07:29:20 +00:00
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b9f7d6db42 | ||
|
|
f62476c1d4 | ||
|
|
ca25f78c60 | ||
|
|
765d7ee7e2 | ||
|
|
850e1ec888 | ||
|
|
fe29bb611f | ||
|
|
87c8c6755a | ||
|
|
964d668713 | ||
|
|
d8113c3819 | ||
|
|
2e655ffbb8 | ||
|
|
88a44777e1 | ||
|
|
bd7305fae1 | ||
|
|
25b78106ee | ||
|
|
1b75ba0098 | ||
|
|
b4b235f1b5 | ||
|
|
c7ec273747 | ||
|
|
9991f9b683 | ||
|
|
921f086f49 |
@@ -46,8 +46,8 @@ allprojects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly 'com.willfp:eco:6.37.1'
|
compileOnly 'com.willfp:eco:6.43.6'
|
||||||
implementation 'com.willfp:libreforge:3.105.0'
|
implementation 'com.willfp:libreforge:3.111.0'
|
||||||
implementation 'org.joml:joml:1.10.4'
|
implementation 'org.joml:joml:1.10.4'
|
||||||
|
|
||||||
compileOnly 'org.jetbrains:annotations:23.0.0'
|
compileOnly 'org.jetbrains:annotations:23.0.0'
|
||||||
|
|||||||
@@ -28,6 +28,11 @@ class EcoJobsPlugin : LibReforgePlugin() {
|
|||||||
"job"
|
"job"
|
||||||
) { it.activeJob?.name ?: "" }.register()
|
) { it.activeJob?.name ?: "" }.register()
|
||||||
|
|
||||||
|
PlayerPlaceholder(
|
||||||
|
this,
|
||||||
|
"job_level"
|
||||||
|
) { it.activeJobLevel?.level.toString() ?: "" }.register()
|
||||||
|
|
||||||
PlayerPlaceholder(
|
PlayerPlaceholder(
|
||||||
this,
|
this,
|
||||||
"job_id"
|
"job_id"
|
||||||
|
|||||||
@@ -7,6 +7,11 @@ import org.bukkit.command.CommandSender
|
|||||||
import org.bukkit.entity.Player
|
import org.bukkit.entity.Player
|
||||||
|
|
||||||
class CommandJobs(plugin: EcoPlugin) : PluginCommand(plugin, "jobs", "ecojobs.command.jobs", true) {
|
class CommandJobs(plugin: EcoPlugin) : PluginCommand(plugin, "jobs", "ecojobs.command.jobs", true) {
|
||||||
|
init {
|
||||||
|
this.addSubcommand(CommandJoin(plugin))
|
||||||
|
.addSubcommand(CommandLeave(plugin))
|
||||||
|
}
|
||||||
|
|
||||||
override fun onExecute(player: CommandSender, args: List<String>) {
|
override fun onExecute(player: CommandSender, args: List<String>) {
|
||||||
player as Player
|
player as Player
|
||||||
JobsGUI.open(player)
|
JobsGUI.open(player)
|
||||||
|
|||||||
@@ -0,0 +1,65 @@
|
|||||||
|
package com.willfp.ecojobs.commands
|
||||||
|
|
||||||
|
import com.willfp.eco.core.EcoPlugin
|
||||||
|
import com.willfp.eco.core.command.impl.Subcommand
|
||||||
|
import com.willfp.eco.util.StringUtils
|
||||||
|
import com.willfp.ecojobs.jobs.Jobs
|
||||||
|
import com.willfp.ecojobs.jobs.activeJob
|
||||||
|
import com.willfp.ecojobs.jobs.hasJob
|
||||||
|
import org.bukkit.command.CommandSender
|
||||||
|
import org.bukkit.entity.Player
|
||||||
|
import org.bukkit.util.StringUtil
|
||||||
|
|
||||||
|
class CommandJoin(plugin: EcoPlugin) : Subcommand(plugin, "join", "ecojobs.command.join", true) {
|
||||||
|
override fun onExecute(player: CommandSender, args: List<String>) {
|
||||||
|
player as Player
|
||||||
|
|
||||||
|
if (args.isEmpty()) {
|
||||||
|
player.sendMessage(plugin.langYml.getMessage("needs-job"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
val id = args[0]
|
||||||
|
|
||||||
|
val job = Jobs.getByID(id)
|
||||||
|
|
||||||
|
if (job == null || !player.hasJob(job)) {
|
||||||
|
player.sendMessage(plugin.langYml.getMessage("invalid-job"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.activeJob == job) {
|
||||||
|
player.sendMessage(plugin.langYml.getMessage("job-already-joined"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
player.sendMessage(
|
||||||
|
plugin.langYml.getMessage("joined-job", StringUtils.FormatOption.WITHOUT_PLACEHOLDERS)
|
||||||
|
.replace("%job%", job.name)
|
||||||
|
)
|
||||||
|
player.activeJob = job
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun tabComplete(sender: CommandSender, args: List<String>): List<String> {
|
||||||
|
if (sender !is Player) {
|
||||||
|
return emptyList()
|
||||||
|
}
|
||||||
|
|
||||||
|
val completions = mutableListOf<String>()
|
||||||
|
if (args.isEmpty()) {
|
||||||
|
// Currently, this case is not ever reached
|
||||||
|
return Jobs.values().filter { sender.hasJob(it) }.map { it.id }
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.size == 1) {
|
||||||
|
StringUtil.copyPartialMatches(
|
||||||
|
args[1],
|
||||||
|
Jobs.values().filter { sender.hasJob(it) }.map { it.id },
|
||||||
|
completions
|
||||||
|
)
|
||||||
|
return completions
|
||||||
|
}
|
||||||
|
|
||||||
|
return emptyList()
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package com.willfp.ecojobs.commands
|
||||||
|
|
||||||
|
import com.willfp.eco.core.EcoPlugin
|
||||||
|
import com.willfp.eco.core.command.impl.Subcommand
|
||||||
|
import com.willfp.eco.util.StringUtils
|
||||||
|
import com.willfp.ecojobs.jobs.activeJob
|
||||||
|
import org.bukkit.command.CommandSender
|
||||||
|
import org.bukkit.entity.Player
|
||||||
|
|
||||||
|
class CommandLeave(plugin: EcoPlugin) : Subcommand(plugin, "leave", "ecojobs.command.leave", true) {
|
||||||
|
override fun onExecute(player: CommandSender, args: List<String>) {
|
||||||
|
player as Player
|
||||||
|
|
||||||
|
if (player.activeJob == null) {
|
||||||
|
player.sendMessage(plugin.langYml.getMessage("no-job"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
player.sendMessage(
|
||||||
|
plugin.langYml.getMessage("left-job", StringUtils.FormatOption.WITHOUT_PLACEHOLDERS)
|
||||||
|
.replace("%job%", player.activeJob?.name ?: "")
|
||||||
|
)
|
||||||
|
|
||||||
|
player.activeJob = null
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,6 +4,7 @@ import com.willfp.eco.core.EcoPlugin
|
|||||||
import com.willfp.eco.core.gui.menu
|
import com.willfp.eco.core.gui.menu
|
||||||
import com.willfp.eco.core.gui.menu.Menu
|
import com.willfp.eco.core.gui.menu.Menu
|
||||||
import com.willfp.eco.core.gui.slot
|
import com.willfp.eco.core.gui.slot
|
||||||
|
import com.willfp.eco.core.gui.slot.ConfigSlot
|
||||||
import com.willfp.eco.core.gui.slot.FillerMask
|
import com.willfp.eco.core.gui.slot.FillerMask
|
||||||
import com.willfp.eco.core.gui.slot.MaskItems
|
import com.willfp.eco.core.gui.slot.MaskItems
|
||||||
import com.willfp.eco.core.items.Items
|
import com.willfp.eco.core.items.Items
|
||||||
@@ -165,6 +166,7 @@ class JobLevelGUI(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
setSlot(
|
setSlot(
|
||||||
plugin.configYml.getInt("level-gui.progression-slots.close.location.row"),
|
plugin.configYml.getInt("level-gui.progression-slots.close.location.row"),
|
||||||
plugin.configYml.getInt("level-gui.progression-slots.close.location.column"),
|
plugin.configYml.getInt("level-gui.progression-slots.close.location.column"),
|
||||||
@@ -178,6 +180,14 @@ class JobLevelGUI(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
for (config in plugin.configYml.getSubsections("level-gui.custom-slots")) {
|
||||||
|
setSlot(
|
||||||
|
config.getInt("row"),
|
||||||
|
config.getInt("column"),
|
||||||
|
ConfigSlot(config)
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.willfp.eco.core.config.updating.ConfigUpdater
|
|||||||
import com.willfp.eco.core.gui.menu
|
import com.willfp.eco.core.gui.menu
|
||||||
import com.willfp.eco.core.gui.menu.Menu
|
import com.willfp.eco.core.gui.menu.Menu
|
||||||
import com.willfp.eco.core.gui.slot
|
import com.willfp.eco.core.gui.slot
|
||||||
|
import com.willfp.eco.core.gui.slot.ConfigSlot
|
||||||
import com.willfp.eco.core.gui.slot.FillerMask
|
import com.willfp.eco.core.gui.slot.FillerMask
|
||||||
import com.willfp.eco.core.gui.slot.MaskItems
|
import com.willfp.eco.core.gui.slot.MaskItems
|
||||||
import com.willfp.eco.core.items.Items
|
import com.willfp.eco.core.items.Items
|
||||||
@@ -197,6 +198,14 @@ object JobsGUI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
for (config in plugin.configYml.getSubsections("gui.custom-slots")) {
|
||||||
|
setSlot(
|
||||||
|
config.getInt("row"),
|
||||||
|
config.getInt("column"),
|
||||||
|
ConfigSlot(config)
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -116,6 +116,9 @@ gui:
|
|||||||
row: 4
|
row: 4
|
||||||
column: 2
|
column: 2
|
||||||
|
|
||||||
|
# Custom GUI slots; see here for a how-to: https://plugins.auxilor.io/all-plugins/custom-gui-slots
|
||||||
|
custom-slots: []
|
||||||
|
|
||||||
level-gui:
|
level-gui:
|
||||||
rows: 6
|
rows: 6
|
||||||
|
|
||||||
@@ -210,6 +213,9 @@ level-gui:
|
|||||||
row: 6
|
row: 6
|
||||||
column: 5
|
column: 5
|
||||||
|
|
||||||
|
# Custom GUI slots; see here for a how-to: https://plugins.auxilor.io/all-plugins/custom-gui-slots
|
||||||
|
custom-slots: []
|
||||||
|
|
||||||
level-up:
|
level-up:
|
||||||
message:
|
message:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|||||||
111
eco-core/core-plugin/src/main/resources/jobs/beekeeper.yml
Normal file
111
eco-core/core-plugin/src/main/resources/jobs/beekeeper.yml
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
name: "&#FD9113Beekeeper"
|
||||||
|
description: "&8&oLevelling up by breeding bees, but don't drink any honey!"
|
||||||
|
|
||||||
|
unlocked-by-default: true
|
||||||
|
|
||||||
|
reset-on-quit: false
|
||||||
|
|
||||||
|
join-price: 0
|
||||||
|
leave-price: 0
|
||||||
|
|
||||||
|
level-xp-requirements:
|
||||||
|
- 100
|
||||||
|
- 120
|
||||||
|
- 150
|
||||||
|
- 180
|
||||||
|
- 210
|
||||||
|
- 250
|
||||||
|
- 300
|
||||||
|
- 360
|
||||||
|
- 430
|
||||||
|
- 520
|
||||||
|
- 620
|
||||||
|
- 740
|
||||||
|
- 890
|
||||||
|
- 1000
|
||||||
|
- 1300
|
||||||
|
- 1500
|
||||||
|
- 1900
|
||||||
|
- 2200
|
||||||
|
- 2700
|
||||||
|
- 3200
|
||||||
|
- 3800
|
||||||
|
- 4600
|
||||||
|
- 5500
|
||||||
|
- 6600
|
||||||
|
- 7900
|
||||||
|
- 9500
|
||||||
|
- 11500
|
||||||
|
- 14000
|
||||||
|
- 17000
|
||||||
|
- 19000
|
||||||
|
- 24000
|
||||||
|
- 29000
|
||||||
|
- 34000
|
||||||
|
- 41000
|
||||||
|
- 50000
|
||||||
|
- 60000
|
||||||
|
- 70000
|
||||||
|
- 85000
|
||||||
|
- 100000
|
||||||
|
- 120000
|
||||||
|
- 150000
|
||||||
|
- 180000
|
||||||
|
- 210000
|
||||||
|
- 250000
|
||||||
|
- 300000
|
||||||
|
- 360000
|
||||||
|
- 440000
|
||||||
|
- 580000
|
||||||
|
- 750000
|
||||||
|
|
||||||
|
xp-gain-methods:
|
||||||
|
- trigger: breed
|
||||||
|
multiplier: 20.0
|
||||||
|
filters:
|
||||||
|
entities:
|
||||||
|
- bee
|
||||||
|
conditions: [ ]
|
||||||
|
|
||||||
|
level-placeholders:
|
||||||
|
- id: "money"
|
||||||
|
value: "%level% * 5"
|
||||||
|
|
||||||
|
effects-description:
|
||||||
|
1:
|
||||||
|
- "&8» &8Earn &a$%money%&8 for each bee you breed"
|
||||||
|
|
||||||
|
rewards-description:
|
||||||
|
1:
|
||||||
|
- "&8» &8Earn &a$%money%&8 for each bee you breed"
|
||||||
|
|
||||||
|
level-up-messages:
|
||||||
|
1:
|
||||||
|
- "&8» &8Earn &a$%money%&8 for each bee you breed"
|
||||||
|
|
||||||
|
level-commands: [ ]
|
||||||
|
|
||||||
|
effects:
|
||||||
|
- id: give_money
|
||||||
|
args:
|
||||||
|
amount: "%v% * %level% * 2.0"
|
||||||
|
triggers:
|
||||||
|
- breed
|
||||||
|
filters:
|
||||||
|
entites:
|
||||||
|
- bee
|
||||||
|
|
||||||
|
- id: take_money
|
||||||
|
args:
|
||||||
|
amount: "%v% * %level% * 5.0"
|
||||||
|
triggers:
|
||||||
|
- consume
|
||||||
|
filters:
|
||||||
|
imems:
|
||||||
|
- honey_bottle
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
conditions: [ ]
|
||||||
|
|
||||||
|
icon: player_head texture:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjY0MjgyZWQxOTc4NzQ4YjM5OTUwOTkxNDAwZjBiN2U0YTM5ZjJlN2Q5ZWNlNjA3NmFmNWQxMzUxYzExNzc3ZiJ9fX0=
|
||||||
@@ -89,14 +89,6 @@ effects:
|
|||||||
args:
|
args:
|
||||||
every: "ceil(12 - %level% / 8)"
|
every: "ceil(12 - %level% / 8)"
|
||||||
amount: "1.2 * %level%"
|
amount: "1.2 * %level%"
|
||||||
filters:
|
|
||||||
items:
|
|
||||||
- "*wooden_pickaxe"
|
|
||||||
- "*stone_pickaxe"
|
|
||||||
- "*iron_pickaxe"
|
|
||||||
- "*golden_pickaxe"
|
|
||||||
- "*diamond_pickaxe"
|
|
||||||
- "*netherite_pickaxe"
|
|
||||||
triggers:
|
triggers:
|
||||||
- place_block
|
- place_block
|
||||||
|
|
||||||
|
|||||||
@@ -85,15 +85,15 @@ level-placeholders:
|
|||||||
|
|
||||||
effects-description:
|
effects-description:
|
||||||
1:
|
1:
|
||||||
- "&8» &8Earn &a$%money%&8 for each crop you farm"
|
- "&8» &8Earn &a$%money%&8 for each crop farmed"
|
||||||
|
|
||||||
rewards-description:
|
rewards-description:
|
||||||
1:
|
1:
|
||||||
- "&8» &8Earn &a$%money%&8 for each crop you farm"
|
- "&8» &8Earn &a$%money%&8 for each crop farmed"
|
||||||
|
|
||||||
level-up-messages:
|
level-up-messages:
|
||||||
1:
|
1:
|
||||||
- "&8» &8Earn &a$%money%&8 for each crop you farm"
|
- "&8» &8Earn &a$%money%&8 for each crop farmed"
|
||||||
|
|
||||||
level-commands: [ ]
|
level-commands: [ ]
|
||||||
|
|
||||||
|
|||||||
94
eco-core/core-plugin/src/main/resources/jobs/fisherman.yml
Normal file
94
eco-core/core-plugin/src/main/resources/jobs/fisherman.yml
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
name: "&#adf3fdFisherman"
|
||||||
|
description: "&8&oLevel up by fishing"
|
||||||
|
|
||||||
|
unlocked-by-default: true
|
||||||
|
|
||||||
|
reset-on-quit: false
|
||||||
|
|
||||||
|
join-price: 0
|
||||||
|
leave-price: 0
|
||||||
|
|
||||||
|
level-xp-requirements:
|
||||||
|
- 100
|
||||||
|
- 120
|
||||||
|
- 150
|
||||||
|
- 180
|
||||||
|
- 210
|
||||||
|
- 250
|
||||||
|
- 300
|
||||||
|
- 360
|
||||||
|
- 430
|
||||||
|
- 520
|
||||||
|
- 620
|
||||||
|
- 740
|
||||||
|
- 890
|
||||||
|
- 1000
|
||||||
|
- 1300
|
||||||
|
- 1500
|
||||||
|
- 1900
|
||||||
|
- 2200
|
||||||
|
- 2700
|
||||||
|
- 3200
|
||||||
|
- 3800
|
||||||
|
- 4600
|
||||||
|
- 5500
|
||||||
|
- 6600
|
||||||
|
- 7900
|
||||||
|
- 9500
|
||||||
|
- 11500
|
||||||
|
- 14000
|
||||||
|
- 17000
|
||||||
|
- 19000
|
||||||
|
- 24000
|
||||||
|
- 29000
|
||||||
|
- 34000
|
||||||
|
- 41000
|
||||||
|
- 50000
|
||||||
|
- 60000
|
||||||
|
- 70000
|
||||||
|
- 85000
|
||||||
|
- 100000
|
||||||
|
- 120000
|
||||||
|
- 150000
|
||||||
|
- 180000
|
||||||
|
- 210000
|
||||||
|
- 250000
|
||||||
|
- 300000
|
||||||
|
- 360000
|
||||||
|
- 440000
|
||||||
|
- 580000
|
||||||
|
- 750000
|
||||||
|
|
||||||
|
xp-gain-methods:
|
||||||
|
- trigger: catch_fish
|
||||||
|
multiplier: 20.0
|
||||||
|
conditions: [ ]
|
||||||
|
|
||||||
|
level-placeholders:
|
||||||
|
- id: "money"
|
||||||
|
value: "%level% * 5"
|
||||||
|
|
||||||
|
effects-description:
|
||||||
|
1:
|
||||||
|
- "&8» &8Earn &a$%money%&8 for each fish caught"
|
||||||
|
|
||||||
|
rewards-description:
|
||||||
|
1:
|
||||||
|
- "&8» &8Earn &a$%money%&8 for each fish caught"
|
||||||
|
|
||||||
|
level-up-messages:
|
||||||
|
1:
|
||||||
|
- "&8» &8Earn &a$%money%&8 for each fish caught"
|
||||||
|
|
||||||
|
level-commands: [ ]
|
||||||
|
|
||||||
|
effects:
|
||||||
|
- id: give_money
|
||||||
|
args:
|
||||||
|
amount: "%v% * %level% * 2.0"
|
||||||
|
triggers:
|
||||||
|
- catch_fish
|
||||||
|
|
||||||
|
conditions: [ ]
|
||||||
|
|
||||||
|
icon: player_head texture:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDgwNGU0MmVjOWIwN2ZjZTFjZTAwNThiNzhkZjU3NjNmNmU0MTBkOWNlODJlZjFlYmI5NTk3YTE1MmI2ZDRjOCJ9fX0=
|
||||||
190
eco-core/core-plugin/src/main/resources/jobs/toolsmith.yml
Normal file
190
eco-core/core-plugin/src/main/resources/jobs/toolsmith.yml
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
# The ID of the job is the name of the .yml file,
|
||||||
|
# for example miner.yml has the ID of miner
|
||||||
|
# You can place jobs anywhere in this folder,
|
||||||
|
# including in subfolders if you want to organize your job configs
|
||||||
|
# _example.yml is not loaded.
|
||||||
|
|
||||||
|
# The display name of the job
|
||||||
|
name: "/b3Toolsmith"
|
||||||
|
|
||||||
|
# The description of the job
|
||||||
|
description: "&8&oLevel up by crafting tools"
|
||||||
|
|
||||||
|
# If the job should be unlocked by default
|
||||||
|
unlocked-by-default: true
|
||||||
|
|
||||||
|
# If job progress should be reset when quitting
|
||||||
|
reset-on-quit: false
|
||||||
|
|
||||||
|
# The price to join or leave this job (set to 0 to disable)
|
||||||
|
join-price: 0
|
||||||
|
leave-price: 0
|
||||||
|
|
||||||
|
# The xp requirements for each job level - add new levels by adding more to this list
|
||||||
|
level-xp-requirements:
|
||||||
|
- 100
|
||||||
|
- 120
|
||||||
|
- 150
|
||||||
|
- 180
|
||||||
|
- 210
|
||||||
|
- 250
|
||||||
|
- 300
|
||||||
|
- 360
|
||||||
|
- 430
|
||||||
|
- 520
|
||||||
|
- 620
|
||||||
|
- 740
|
||||||
|
- 890
|
||||||
|
- 1000
|
||||||
|
- 1300
|
||||||
|
- 1500
|
||||||
|
- 1900
|
||||||
|
- 2200
|
||||||
|
- 2700
|
||||||
|
- 3200
|
||||||
|
- 3800
|
||||||
|
- 4600
|
||||||
|
- 5500
|
||||||
|
- 6600
|
||||||
|
- 7900
|
||||||
|
- 9500
|
||||||
|
- 11500
|
||||||
|
- 14000
|
||||||
|
- 17000
|
||||||
|
- 19000
|
||||||
|
- 24000
|
||||||
|
- 29000
|
||||||
|
- 34000
|
||||||
|
- 41000
|
||||||
|
- 50000
|
||||||
|
- 60000
|
||||||
|
- 70000
|
||||||
|
- 85000
|
||||||
|
- 100000
|
||||||
|
- 120000
|
||||||
|
- 150000
|
||||||
|
- 180000
|
||||||
|
- 210000
|
||||||
|
- 250000
|
||||||
|
- 300000
|
||||||
|
- 360000
|
||||||
|
- 440000
|
||||||
|
- 580000
|
||||||
|
- 750000
|
||||||
|
|
||||||
|
# An XP Gain method takes a trigger, a multiplier, conditions, and filters.
|
||||||
|
# The multiplier takes the value produced by the trigger and multiplies it
|
||||||
|
# by some value to calculate the experience that should be given
|
||||||
|
xp-gain-methods:
|
||||||
|
- trigger: craft
|
||||||
|
multiplier: 2
|
||||||
|
conditions: [ ]
|
||||||
|
filters:
|
||||||
|
items:
|
||||||
|
- "*wooden_pickaxe"
|
||||||
|
- "*stone_pickaxe"
|
||||||
|
- "*iron_pickaxe"
|
||||||
|
- "*golden_pickaxe"
|
||||||
|
- "*diamond_pickaxe"
|
||||||
|
- "*netherite_pickaxe"
|
||||||
|
- "*wooden_axe"
|
||||||
|
- "*stone_axe"
|
||||||
|
- "*iron_axe"
|
||||||
|
- "*golden_axe"
|
||||||
|
- "*diamond_axe"
|
||||||
|
- "*netherite_axe"
|
||||||
|
- "*wooden_shovel"
|
||||||
|
- "*stone_shovel"
|
||||||
|
- "*iron_shovel"
|
||||||
|
- "*golden_shovel"
|
||||||
|
- "*diamond_shovel"
|
||||||
|
- "*netherite_shovel"
|
||||||
|
- "*wooden_hoe"
|
||||||
|
- "*stone_hoe"
|
||||||
|
- "*iron_hoe"
|
||||||
|
- "*golden_hoe"
|
||||||
|
- "*diamond_hoe"
|
||||||
|
- "*netherite_hoe"
|
||||||
|
- "*fishing_rod"
|
||||||
|
- "*flint_and_steel"
|
||||||
|
- "*clock"
|
||||||
|
- "*compass"
|
||||||
|
- "*lead"
|
||||||
|
- "*shears"
|
||||||
|
- "*spyglass"
|
||||||
|
|
||||||
|
# Custom placeholders to be used in descriptions,
|
||||||
|
# Don't add % to the IDs, this is done automatically
|
||||||
|
# The value takes a %level% placeholder and is a mathematical expression
|
||||||
|
level-placeholders:
|
||||||
|
- id: "money"
|
||||||
|
value: "%level% * 2"
|
||||||
|
|
||||||
|
# The text shown with the %effects% placeholder
|
||||||
|
# The number dictates the minimum level for this text to show for
|
||||||
|
# Adding new levels will override this text on those levels or above
|
||||||
|
effects-description:
|
||||||
|
1:
|
||||||
|
- "&8» &8Earn &a$%money%&8 for each tool crafted"
|
||||||
|
|
||||||
|
# Same as above, but for %rewards%
|
||||||
|
rewards-description:
|
||||||
|
1:
|
||||||
|
- "&8» &8Earn &a$%money%&8 for each tool crafted"
|
||||||
|
|
||||||
|
# Same as above, but for %level_up_messages%
|
||||||
|
level-up-messages:
|
||||||
|
1:
|
||||||
|
- "&8» &8Earn &a$%money%&8 for each tool crafted"
|
||||||
|
|
||||||
|
# Commands to be sent on levelup, can be formatted two ways:
|
||||||
|
# level:command (e.g. 10:eco give %player% 1000), which would execute that command for level 10
|
||||||
|
# command (e.g. eco give %player% 5000), which would execute that command for all levels
|
||||||
|
level-commands: [ ]
|
||||||
|
|
||||||
|
# The effects for the job, has %level% as a placeholder
|
||||||
|
effects:
|
||||||
|
- id: give_money
|
||||||
|
args:
|
||||||
|
amount: "2 * %level%"
|
||||||
|
filters:
|
||||||
|
items:
|
||||||
|
- "*wooden_pickaxe"
|
||||||
|
- "*stone_pickaxe"
|
||||||
|
- "*iron_pickaxe"
|
||||||
|
- "*golden_pickaxe"
|
||||||
|
- "*diamond_pickaxe"
|
||||||
|
- "*netherite_pickaxe"
|
||||||
|
- "*wooden_axe"
|
||||||
|
- "*stone_axe"
|
||||||
|
- "*iron_axe"
|
||||||
|
- "*golden_axe"
|
||||||
|
- "*diamond_axe"
|
||||||
|
- "*netherite_axe"
|
||||||
|
- "*wooden_shovel"
|
||||||
|
- "*stone_shovel"
|
||||||
|
- "*iron_shovel"
|
||||||
|
- "*golden_shovel"
|
||||||
|
- "*diamond_shovel"
|
||||||
|
- "*netherite_shovel"
|
||||||
|
- "*wooden_hoe"
|
||||||
|
- "*stone_hoe"
|
||||||
|
- "*iron_hoe"
|
||||||
|
- "*golden_hoe"
|
||||||
|
- "*diamond_hoe"
|
||||||
|
- "*netherite_hoe"
|
||||||
|
- "*fishing_rod"
|
||||||
|
- "*flint_and_steel"
|
||||||
|
- "*clock"
|
||||||
|
- "*compass"
|
||||||
|
- "*lead"
|
||||||
|
- "*shears"
|
||||||
|
- "*spyglass"
|
||||||
|
triggers:
|
||||||
|
- craft
|
||||||
|
|
||||||
|
# The conditions for the job, also has %level% as a placeholder
|
||||||
|
conditions: [ ]
|
||||||
|
|
||||||
|
# The icon in GUIs
|
||||||
|
icon: player_head texture:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODk2ZDRjODM4YTE2MDZhYzc1Nzc1NDIzMjA4NjE0OTcwOGI3OWFiYTAxYmU5NTNjNjUzOTkxMDFlODk0M2RhZiJ9fX0=
|
||||||
@@ -20,6 +20,10 @@ messages:
|
|||||||
unlocked-job: "&fSuccessfully unlocked the %job%&f job for %player%!"
|
unlocked-job: "&fSuccessfully unlocked the %job%&f job for %player%!"
|
||||||
cannot-spawn-job: "&cYou already have this job unlocked!"
|
cannot-spawn-job: "&cYou already have this job unlocked!"
|
||||||
invalid-amount: "&cInvalid amount!"
|
invalid-amount: "&cInvalid amount!"
|
||||||
|
no-job: "&cYou don't have a job!"
|
||||||
|
joined-job: "&fYou have joined the %job%&f job!"
|
||||||
|
left-job: "&fYou have left the %job%&f job!"
|
||||||
|
job-already-joined: "&cYou already have this job!"
|
||||||
|
|
||||||
menu:
|
menu:
|
||||||
title: "Jobs"
|
title: "Jobs"
|
||||||
|
|||||||
@@ -49,6 +49,8 @@ permissions:
|
|||||||
ecojobs.command.jobs: true
|
ecojobs.command.jobs: true
|
||||||
ecojobs.command.unlock: true
|
ecojobs.command.unlock: true
|
||||||
ecojobs.command.givexp: true
|
ecojobs.command.givexp: true
|
||||||
|
ecojobs.command.join: true
|
||||||
|
ecojobs.command.leave: true
|
||||||
ecojobs.command.reset: true
|
ecojobs.command.reset: true
|
||||||
|
|
||||||
ecojobs.command.reload:
|
ecojobs.command.reload:
|
||||||
@@ -69,6 +71,12 @@ permissions:
|
|||||||
ecojobs.command.reset:
|
ecojobs.command.reset:
|
||||||
description: Allows the use of /ecojobs reset.
|
description: Allows the use of /ecojobs reset.
|
||||||
default: op
|
default: op
|
||||||
|
ecojobs.command.join:
|
||||||
|
description: Allows the use of /jobs join.
|
||||||
|
default: true
|
||||||
|
ecojobs.command.leave:
|
||||||
|
description: Allows the use of /jobs leave.
|
||||||
|
default: true
|
||||||
|
|
||||||
ecojobs.xpmultiplier.50percent:
|
ecojobs.xpmultiplier.50percent:
|
||||||
description: Gives the player 50% more job experience
|
description: Gives the player 50% more job experience
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#libreforge-updater
|
#libreforge-updater
|
||||||
#Mon Sep 26 14:41:23 BST 2022
|
#Sun Oct 09 15:02:04 BST 2022
|
||||||
version=1.8.0
|
version=1.16.0
|
||||||
plugin-name=EcoJobs
|
plugin-name=EcoJobs
|
||||||
|
|||||||
Reference in New Issue
Block a user