mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-28 21:47:55 +01:00
96d5e6ca48
Currently includes generated key holder classes for types used in the Registry Modification API
44 lines
2.0 KiB
Diff
44 lines
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Wed, 22 Jul 2015 18:50:41 -0400
|
|
Subject: [PATCH] Add sender name to commands.yml replacement
|
|
|
|
This allows you to use $sender in commands.yml definitions to make
|
|
commands that auto target self.
|
|
|
|
diff --git a/src/main/java/org/bukkit/command/FormattedCommandAlias.java b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
|
|
index a6ad94ef98a1df1d2842635d850bc990b0137849..9d4f553c04784cca63901a56a7aea62a5cae1d72 100644
|
|
--- a/src/main/java/org/bukkit/command/FormattedCommandAlias.java
|
|
+++ b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
|
|
@@ -1,6 +1,9 @@
|
|
package org.bukkit.command;
|
|
|
|
import java.util.ArrayList;
|
|
+import java.util.regex.Matcher; // Paper
|
|
+import java.util.regex.Pattern; // Paper
|
|
+
|
|
import org.bukkit.Bukkit;
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
@@ -19,7 +22,7 @@ public class FormattedCommandAlias extends Command {
|
|
ArrayList<String> commands = new ArrayList<String>();
|
|
for (String formatString : formatStrings) {
|
|
try {
|
|
- commands.add(buildCommand(formatString, args));
|
|
+ commands.add(buildCommand(sender, formatString, args)); // Paper
|
|
} catch (Throwable throwable) {
|
|
if (throwable instanceof IllegalArgumentException) {
|
|
sender.sendMessage(throwable.getMessage());
|
|
@@ -37,7 +40,10 @@ public class FormattedCommandAlias extends Command {
|
|
return result;
|
|
}
|
|
|
|
- private String buildCommand(@NotNull String formatString, @NotNull String[] args) {
|
|
+ private String buildCommand(@NotNull CommandSender sender, @NotNull String formatString, @NotNull String[] args) { // Paper
|
|
+ if (formatString.contains("$sender")) { // Paper
|
|
+ formatString = formatString.replaceAll(Pattern.quote("$sender"), Matcher.quoteReplacement(sender.getName())); // Paper
|
|
+ } // Paper
|
|
int index = formatString.indexOf('$');
|
|
while (index != -1) {
|
|
int start = index;
|