mirror of
https://github.com/Auxilor/EcoJobs.git
synced 2025-12-20 15:39:26 +00:00
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bd7305fae1 | ||
|
|
25b78106ee | ||
|
|
1b75ba0098 | ||
|
|
b4b235f1b5 | ||
|
|
c7ec273747 | ||
|
|
9991f9b683 | ||
|
|
921f086f49 | ||
|
|
b0c882dc21 | ||
|
|
59a528689d | ||
|
|
16be3a8b69 | ||
|
|
8e1200f293 | ||
|
|
301b4d35f3 | ||
|
|
ff84afdc7d | ||
|
|
0239447b61 | ||
|
|
8b0b2f861f | ||
|
|
d2fd661ba3 | ||
|
|
238962bb4f | ||
|
|
6b7df691de |
@@ -46,8 +46,8 @@ allprojects {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly 'com.willfp:eco:6.37.1'
|
||||
implementation 'com.willfp:libreforge:3.100.0'
|
||||
compileOnly 'com.willfp:eco:6.42.0'
|
||||
implementation 'com.willfp:libreforge:3.107.0'
|
||||
implementation 'org.joml:joml:1.10.4'
|
||||
|
||||
compileOnly 'org.jetbrains:annotations:23.0.0'
|
||||
|
||||
@@ -7,6 +7,11 @@ import org.bukkit.command.CommandSender
|
||||
import org.bukkit.entity.Player
|
||||
|
||||
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>) {
|
||||
player as 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.Menu
|
||||
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.MaskItems
|
||||
import com.willfp.eco.core.items.Items
|
||||
@@ -165,6 +166,7 @@ class JobLevelGUI(
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
setSlot(
|
||||
plugin.configYml.getInt("level-gui.progression-slots.close.location.row"),
|
||||
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.Menu
|
||||
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.MaskItems
|
||||
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
|
||||
column: 2
|
||||
|
||||
# Custom GUI slots; see here for a how-to: https://plugins.auxilor.io/all-plugins/custom-gui-slots
|
||||
custom-slots: []
|
||||
|
||||
level-gui:
|
||||
rows: 6
|
||||
|
||||
@@ -210,6 +213,9 @@ level-gui:
|
||||
row: 6
|
||||
column: 5
|
||||
|
||||
# Custom GUI slots; see here for a how-to: https://plugins.auxilor.io/all-plugins/custom-gui-slots
|
||||
custom-slots: []
|
||||
|
||||
level-up:
|
||||
message:
|
||||
enabled: true
|
||||
@@ -254,7 +260,6 @@ point-names: # If you have point names that look ugly (eg g_souls) then you can
|
||||
|
||||
use-faster-move-trigger: true # Disable if you want move trigger to detect sub-1-block movements
|
||||
raytrace-distance: 80 # The distance that alt_click should check for a location
|
||||
block-item-drop-place-check: true # If the block_item_drop trigger should only fire on naturally placed blocks (prevents dupes)
|
||||
|
||||
potions:
|
||||
icon:
|
||||
|
||||
@@ -20,6 +20,10 @@ messages:
|
||||
unlocked-job: "&fSuccessfully unlocked the %job%&f job for %player%!"
|
||||
cannot-spawn-job: "&cYou already have this job unlocked!"
|
||||
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:
|
||||
title: "Jobs"
|
||||
|
||||
@@ -49,6 +49,8 @@ permissions:
|
||||
ecojobs.command.jobs: true
|
||||
ecojobs.command.unlock: true
|
||||
ecojobs.command.givexp: true
|
||||
ecojobs.command.join: true
|
||||
ecojobs.command.leave: true
|
||||
ecojobs.command.reset: true
|
||||
|
||||
ecojobs.command.reload:
|
||||
@@ -69,6 +71,12 @@ permissions:
|
||||
ecojobs.command.reset:
|
||||
description: Allows the use of /ecojobs reset.
|
||||
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:
|
||||
description: Gives the player 50% more job experience
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#libreforge-updater
|
||||
#Wed Sep 14 15:09:55 BST 2022
|
||||
version=1.4.0
|
||||
#Sun Oct 02 14:57:36 BST 2022
|
||||
version=1.12.0
|
||||
plugin-name=EcoJobs
|
||||
|
||||
Reference in New Issue
Block a user