forked from Minecraft/QoL
parent
364a2a2bb1
commit
b10ea6fdae
|
@ -8,8 +8,10 @@ QoL v1.6
|
||||||
Additions
|
Additions
|
||||||
---------
|
---------
|
||||||
* `Grief Alert`_ - Monitors for actions (starting a fire, dumping lava, or placing TnT) and alerts when encountered
|
* `Grief Alert`_ - Monitors for actions (starting a fire, dumping lava, or placing TnT) and alerts when encountered
|
||||||
|
* `Queue Implementation`_ - Allows the server to run a set of commands on login for player wit specific permissions
|
||||||
|
|
||||||
.. _Grief Alert: https://git.etztech.xyz/Etzelia/QoL/issues/22
|
.. _Grief Alert: https://git.etztech.xyz/Etzelia/QoL/issues/22
|
||||||
|
.. _Queue Implementation: https://git.etztech.xyz/Etzelia/QoL/issues/23
|
||||||
|
|
||||||
Bug Fixes
|
Bug Fixes
|
||||||
---------
|
---------
|
||||||
|
|
|
@ -280,7 +280,7 @@ public class QoL extends JavaPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void runTask(final String command) {
|
public void runTask(final String command) {
|
||||||
Bukkit.getScheduler().runTask(QoL.instance, () -> Bukkit.dispatchCommand(Bukkit.getConsoleSender(), command));
|
Bukkit.getScheduler().runTask(QoL.instance, () -> Bukkit.dispatchCommand(Bukkit.getConsoleSender(), command));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ package xyz.etztech.qol.listeners;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
|
@ -9,6 +10,11 @@ import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
import org.bukkit.event.player.PlayerLoginEvent;
|
import org.bukkit.event.player.PlayerLoginEvent;
|
||||||
import xyz.etztech.qol.QoL;
|
import xyz.etztech.qol.QoL;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class JoinListener implements Listener {
|
public class JoinListener implements Listener {
|
||||||
|
|
||||||
private QoL plugin;
|
private QoL plugin;
|
||||||
|
@ -32,9 +38,22 @@ public class JoinListener implements Listener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, 30); // ~1.5 seconds
|
}, 30); // ~1.5 seconds
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Queue commands
|
||||||
|
List<?> queues = plugin.getConfig().getList("queue");
|
||||||
|
for (int i = 0; i < queues.size(); i++) {
|
||||||
|
try {
|
||||||
|
LinkedHashMap queue = (LinkedHashMap) queues.get(i);
|
||||||
|
String permission = (String) queue.get("permission");
|
||||||
|
if (player.hasPermission(permission)) {
|
||||||
|
for (String command : (List<String>) queue.get("commands")) {
|
||||||
|
plugin.runTask(command.replace("<player>", player.getName()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception ignored) {}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,14 @@ list:
|
||||||
plugins:
|
plugins:
|
||||||
# - QoL
|
# - QoL
|
||||||
|
|
||||||
|
# A list of permissions to check, followed by a list of commands to run on login if a player has the specified permission
|
||||||
|
# Special variables are <player> for the player logging in
|
||||||
|
queue:
|
||||||
|
# - permission: qol.perm
|
||||||
|
# commands:
|
||||||
|
# - msg <player> Command 1
|
||||||
|
# - msg <player> Command 2
|
||||||
|
|
||||||
# A list of commands to send to Discord if anyone uses them
|
# A list of commands to send to Discord if anyone uses them
|
||||||
audit:
|
audit:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
Loading…
Reference in New Issue