mirror of
https://github.com/YouHaveTrouble/PreventStabby.git
synced 2026-05-11 21:06:55 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b361681600 | |||
| 7ada9eab29 | |||
| 78504ee097 | |||
| 7da6ff0ac9 | |||
| c83888837b |
@@ -6,7 +6,7 @@
|
||||
|
||||
<groupId>me.youhavetrouble</groupId>
|
||||
<artifactId>PreventStabby</artifactId>
|
||||
<version>1.7.1</version>
|
||||
<version>1.8.0</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>PreventStabby</name>
|
||||
@@ -49,6 +49,10 @@
|
||||
<pattern>org.bstats</pattern>
|
||||
<shadedPattern>bstats</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>net.kyori</pattern>
|
||||
<shadedPattern>kyori</shadedPattern>
|
||||
</relocation>
|
||||
</relocations>
|
||||
</configuration>
|
||||
</execution>
|
||||
@@ -130,25 +134,25 @@
|
||||
<dependency>
|
||||
<groupId>net.kyori</groupId>
|
||||
<artifactId>adventure-api</artifactId>
|
||||
<version>4.11.0</version>
|
||||
<version>4.12.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kyori</groupId>
|
||||
<artifactId>adventure-platform-bukkit</artifactId>
|
||||
<version>4.1.1</version>
|
||||
<version>4.2.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kyori</groupId>
|
||||
<artifactId>adventure-text-minimessage</artifactId>
|
||||
<version>4.11.0</version>
|
||||
<version>4.12.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kyori</groupId>
|
||||
<artifactId>adventure-text-serializer-legacy</artifactId>
|
||||
<version>4.11.0</version>
|
||||
<version>4.12.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
||||
@@ -3,7 +3,6 @@ package me.youhavetrouble.preventstabby.commands;
|
||||
import me.youhavetrouble.preventstabby.PreventStabby;
|
||||
import me.youhavetrouble.preventstabby.config.PreventStabbyPermission;
|
||||
import me.youhavetrouble.preventstabby.util.PluginMessages;
|
||||
import net.kyori.adventure.audience.MessageType;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@@ -11,6 +10,12 @@ import org.bukkit.command.CommandSender;
|
||||
public class HelpCommand {
|
||||
public static void help(CommandSender sender, String[] args) {
|
||||
Bukkit.getScheduler().runTaskAsynchronously(PreventStabby.getPlugin(), () -> {
|
||||
|
||||
if (!PreventStabbyPermission.COMMAND_HELP.doesCommandSenderHave(sender)) {
|
||||
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
|
||||
return;
|
||||
}
|
||||
|
||||
Component helpComponent = PluginMessages.MINIMESSAGE
|
||||
.deserialize("<aqua><strikethrough> </strikethrough> PreventStabby Help <strikethrough> </strikethrough>")
|
||||
.append(Component.newline())
|
||||
@@ -23,7 +28,7 @@ public class HelpCommand {
|
||||
.append(Component.newline())
|
||||
.append(PluginMessages.MINIMESSAGE.deserialize("<blue>/pvp <aqua><bold>toggle</bold> <white>- toggles PvP status"));
|
||||
}
|
||||
PreventStabby.getAudiences().sender(sender).sendMessage(helpComponent, MessageType.SYSTEM);
|
||||
PreventStabby.getAudiences().sender(sender).sendMessage(helpComponent);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ public class MainCommand implements TabExecutor {
|
||||
private final HashMap<String, PreventStabbyPermission> subCommands = new HashMap<>();
|
||||
|
||||
public MainCommand() {
|
||||
subCommands.put("help", PreventStabbyPermission.COMMAND);
|
||||
subCommands.put("help", PreventStabbyPermission.COMMAND_HELP);
|
||||
subCommands.put("toggle", PreventStabbyPermission.COMMAND_TOGGLE);
|
||||
subCommands.put("on", PreventStabbyPermission.COMMAND_TOGGLE);
|
||||
subCommands.put("enable", PreventStabbyPermission.COMMAND_TOGGLE);
|
||||
@@ -36,34 +36,35 @@ public class MainCommand implements TabExecutor {
|
||||
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
|
||||
return true;
|
||||
}
|
||||
if (args.length >= 1) {
|
||||
switch (args[0].toLowerCase()) {
|
||||
case "help":
|
||||
HelpCommand.help(sender, args);
|
||||
break;
|
||||
case "toggle":
|
||||
PvpToggleCommand.toggle(sender, args);
|
||||
break;
|
||||
case "on":
|
||||
case "enable":
|
||||
PvpToggleCommand.enable(sender, args);
|
||||
break;
|
||||
case "off":
|
||||
case "disable":
|
||||
PvpToggleCommand.disable(sender, args);
|
||||
break;
|
||||
case "reload":
|
||||
ReloadCommand.reload(sender);
|
||||
break;
|
||||
case "override":
|
||||
GlobalToggleCommand.globalToggle(sender, args);
|
||||
break;
|
||||
default:
|
||||
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_such_command());
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
HelpCommand.help(sender, args);
|
||||
if (args.length == 0) {
|
||||
PvpToggleCommand.toggle(sender, args);
|
||||
return true;
|
||||
}
|
||||
|
||||
switch (args[0].toLowerCase()) {
|
||||
case "help":
|
||||
HelpCommand.help(sender, args);
|
||||
break;
|
||||
case "toggle":
|
||||
PvpToggleCommand.toggle(sender, args);
|
||||
break;
|
||||
case "on":
|
||||
case "enable":
|
||||
PvpToggleCommand.enable(sender, args);
|
||||
break;
|
||||
case "off":
|
||||
case "disable":
|
||||
PvpToggleCommand.disable(sender, args);
|
||||
break;
|
||||
case "reload":
|
||||
ReloadCommand.reload(sender);
|
||||
break;
|
||||
case "override":
|
||||
GlobalToggleCommand.globalToggle(sender, args);
|
||||
break;
|
||||
default:
|
||||
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_such_command());
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ public class PvpToggleCommand {
|
||||
return;
|
||||
}
|
||||
|
||||
if (args.length == 1) {
|
||||
if (args.length <= 1) {
|
||||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
if (CombatTimer.isInCombat(player.getUniqueId())) {
|
||||
@@ -60,12 +60,6 @@ public class PvpToggleCommand {
|
||||
message = PreventStabby.getPlugin().getConfigCache().getPvp_disabled_other();
|
||||
}
|
||||
PluginMessages.sendMessage(sender, PluginMessages.parsePlayerName(player, message));
|
||||
} else {
|
||||
if (PreventStabbyPermission.COMMAND_TOGGLE_OTHERS.doesCommandSenderHave(sender)) {
|
||||
PluginMessages.sendMessage(sender, "Try /pvp toggle <player>");
|
||||
} else {
|
||||
PluginMessages.sendMessage(sender, "Try /pvp toggle");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -8,7 +8,9 @@ public enum PreventStabbyPermission {
|
||||
COMMAND_TOGGLE("command.toggle"),
|
||||
COMMAND_TOGGLE_OTHERS("command.toggle.others"),
|
||||
COMMAND_RELOAD("command.reload"),
|
||||
COMMAND_GLOBAL_TOGGLE("command.toggle.global");
|
||||
COMMAND_GLOBAL_TOGGLE("command.toggle.global"),
|
||||
|
||||
COMMAND_HELP("command.help");
|
||||
|
||||
private final String permission;
|
||||
PreventStabbyPermission(String permission) {
|
||||
|
||||
@@ -37,16 +37,24 @@ public class PlacoholderApiHook extends PlaceholderExpansion {
|
||||
|
||||
@Override
|
||||
public String onRequest(OfflinePlayer player, String params) {
|
||||
if (params.equalsIgnoreCase("combat_time")) {
|
||||
return getCombatTimePlaceholder(player.getUniqueId());
|
||||
switch (params) {
|
||||
case "pvp":
|
||||
if (!player.isOnline()) return String.valueOf(false);
|
||||
return String.valueOf(plugin.getPlayerManager().getPlayer(player.getUniqueId()).isPvpEnabled());
|
||||
case "combat_time":
|
||||
return getCombatTimePlaceholder(player.getUniqueId(), player);
|
||||
case "in_combat":
|
||||
if (!player.isOnline()) return String.valueOf(false);
|
||||
return String.valueOf(plugin.getPlayerManager().getPlayer(player.getUniqueId()).isInCombat());
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
if (params.equalsIgnoreCase("in_combat")) {
|
||||
return String.valueOf(plugin.getPlayerManager().getPlayer(player.getUniqueId()).isInCombat());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private String getCombatTimePlaceholder(UUID uuid) {
|
||||
private String getCombatTimePlaceholder(UUID uuid, OfflinePlayer player) {
|
||||
if (!player.isOnline()) {
|
||||
return legacyComponentSerializer.serialize(PluginMessages.parseMessage(plugin.getConfigCache().getPlaceholder_not_in_combat()));
|
||||
}
|
||||
long seconds = plugin.getPlayerManager().getPlayer(uuid).getCombattime() - Instant.now().getEpochSecond();
|
||||
if (seconds > 0) {
|
||||
String msg = plugin.getConfigCache().getPlaceholder_combat_time();
|
||||
|
||||
@@ -22,15 +22,28 @@ permissions:
|
||||
preventstabby.command:
|
||||
default: true
|
||||
description: Allows usage of /pvp command
|
||||
preventstabby.command.help:
|
||||
default: true
|
||||
description: Allows usage of /pvp help command
|
||||
children:
|
||||
preventstabby.command: true
|
||||
preventstabby.command.toggle:
|
||||
default: true
|
||||
description: Allows usage of /pvp <toggle/enable/disable> command
|
||||
children:
|
||||
preventstabby.command: true
|
||||
preventstabby.command.toggle.others:
|
||||
default: op
|
||||
description: Allows usage of /pvp <toggle/enable/disable> <player> command
|
||||
children:
|
||||
preventstabby.command: true
|
||||
preventstabby.command.toggle.global:
|
||||
default: op
|
||||
description: Allows usage of /pvp override <enabled/disabled/none> command
|
||||
children:
|
||||
preventstabby.command: true
|
||||
preventstabby.command.reload:
|
||||
default: op
|
||||
description: Allows usage of /pvp reload command
|
||||
description: Allows usage of /pvp reload command
|
||||
children:
|
||||
preventstabby.command: true
|
||||
Reference in New Issue
Block a user