feat: add config and run configured command when player kill another player
This commit is contained in:
parent
e8db732958
commit
bbd31e92e2
3 changed files with 18 additions and 2 deletions
|
|
@ -5,6 +5,8 @@ import dev.hrz0.smp4.States.States;
|
|||
import dev.hrz0.smp4.Utilities;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
|
@ -18,10 +20,12 @@ import java.util.logging.Logger;
|
|||
public class DeathListener implements Listener {
|
||||
private final States states;
|
||||
private final Logger logger;
|
||||
private final FileConfiguration config;
|
||||
|
||||
public DeathListener(States states, Logger logger) {
|
||||
public DeathListener(States states, Logger logger, FileConfiguration config) {
|
||||
this.states = states;
|
||||
this.logger = logger;
|
||||
this.config = config;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -57,6 +61,8 @@ public class DeathListener implements Listener {
|
|||
Utilities.setScore(killer, results[1]);
|
||||
|
||||
Utilities.announce(msg);
|
||||
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), config.get("kill-command").toString().replaceAll("<killer>", killer.getName()).replaceAll("<killed>", killed.getName()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import dev.hrz0.smp4.Listeners.JoinListener;
|
|||
import dev.hrz0.smp4.Listeners.WorldSaveListener;
|
||||
import dev.hrz0.smp4.States.States;
|
||||
import dev.hrz0.smp4.States.StatesParser;
|
||||
import org.bukkit.configuration.Configuration;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
|
|
@ -14,6 +16,7 @@ import java.util.logging.Logger;
|
|||
public final class Smp4 extends JavaPlugin {
|
||||
Logger logger;
|
||||
States states;
|
||||
FileConfiguration config;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
|
|
@ -23,6 +26,9 @@ public final class Smp4 extends JavaPlugin {
|
|||
|
||||
logger.info("Initializing SMP4 Plugin...");
|
||||
|
||||
saveDefaultConfig();
|
||||
config = getConfig();
|
||||
|
||||
try {
|
||||
states = States.init(this, logger);
|
||||
} catch (IOException e) {
|
||||
|
|
@ -31,7 +37,7 @@ public final class Smp4 extends JavaPlugin {
|
|||
|
||||
WorldSaveListener worldSaveListener = new WorldSaveListener(this, states);
|
||||
manager.registerEvents(worldSaveListener, this);
|
||||
DeathListener deathListener = new DeathListener(states, logger);
|
||||
DeathListener deathListener = new DeathListener(states, logger, config);
|
||||
manager.registerEvents(deathListener, this);
|
||||
JoinListener joinListener = new JoinListener(states, logger);
|
||||
manager.registerEvents(joinListener, this);
|
||||
|
|
|
|||
4
src/main/resources/config.yml
Normal file
4
src/main/resources/config.yml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# The command to run when a player kill another player.
|
||||
# <killer> and <killed> are replaced by players' name
|
||||
# Don't put / before the command
|
||||
kill-command: msg <killer> You killed <killer> !
|
||||
Loading…
Add table
Add a link
Reference in a new issue