This allows you to use $sender in commands.yml definitions to make commands that auto target self.
		
			
				
	
	
		
			43 lines
		
	
	
		
			No EOL
		
	
	
		
			2 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			No EOL
		
	
	
		
			2 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | 
						|
--- a/src/main/java/org/bukkit/command/FormattedCommandAlias.java
 | 
						|
+++ b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
 | 
						|
@@ -0,0 +0,0 @@ package org.bukkit.command;
 | 
						|
 
 | 
						|
 import java.util.ArrayList;
 | 
						|
 import java.util.logging.Level;
 | 
						|
+import java.util.regex.Matcher;
 | 
						|
+import java.util.regex.Pattern;
 | 
						|
 
 | 
						|
 import org.bukkit.Bukkit;
 | 
						|
 import org.bukkit.entity.Player;
 | 
						|
@@ -0,0 +0,0 @@ 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());
 | 
						|
@@ -0,0 +0,0 @@ public class FormattedCommandAlias extends Command {
 | 
						|
         return result;
 | 
						|
     }
 | 
						|
 
 | 
						|
-    private String buildCommand(String formatString, String[] args) {
 | 
						|
+    private String buildCommand(CommandSender sender, String formatString, 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;
 | 
						|
--
 |