Move bad command registration workaround into SMP#dispatch
Fixes GH-274
This commit is contained in:
parent
4cfcd525c4
commit
2304826f19
3 changed files with 27 additions and 26 deletions
|
@ -1,4 +1,4 @@
|
|||
From b005a8e4ac2677606ef91377f4b4d66bc869b0ad Mon Sep 17 00:00:00 2001
|
||||
From 68eaefeb0f88b94668bf7b5a6ac302b3b753cb89 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 29 Feb 2016 18:48:17 -0600
|
||||
Subject: [PATCH] Timings v2
|
||||
|
@ -2873,7 +2873,7 @@ index 69720e9..f82cbaf 100644
|
|||
* Sends the component to the player
|
||||
*
|
||||
diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java
|
||||
index 0ba9b1c..b2684fc 100644
|
||||
index 0ba9b1c..548d570 100644
|
||||
--- a/src/main/java/org/bukkit/command/Command.java
|
||||
+++ b/src/main/java/org/bukkit/command/Command.java
|
||||
@@ -31,7 +31,8 @@ public abstract class Command {
|
||||
|
@ -2902,18 +2902,6 @@ index 0ba9b1c..b2684fc 100644
|
|||
this.label = name;
|
||||
return true;
|
||||
}
|
||||
@@ -247,6 +246,11 @@ public abstract class Command {
|
||||
public boolean register(CommandMap commandMap) {
|
||||
if (allowChangesFrom(commandMap)) {
|
||||
this.commandMap = commandMap;
|
||||
+ // Paper start - Some plugins do things the wrong way, try and account for that
|
||||
+ if (this.timings == null) {
|
||||
+ this.timings = co.aikar.timings.TimingsManager.getCommandTiming(null, this);
|
||||
+ }
|
||||
+ // Paper end
|
||||
return true;
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/command/FormattedCommandAlias.java b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
|
||||
index 3f07d7f..f89ad07 100644
|
||||
--- a/src/main/java/org/bukkit/command/FormattedCommandAlias.java
|
||||
|
@ -2937,7 +2925,7 @@ index 3f07d7f..f89ad07 100644
|
|||
return i >= j && i <= k;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
index a08a49d..a300ae7 100644
|
||||
index a08a49d..d1a047a 100644
|
||||
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
@@ -31,7 +31,7 @@ public class SimpleCommandMap implements CommandMap {
|
||||
|
@ -2957,6 +2945,19 @@ index a08a49d..a300ae7 100644
|
|||
label = label.toLowerCase().trim();
|
||||
fallbackPrefix = fallbackPrefix.toLowerCase().trim();
|
||||
boolean registered = register(label, command, false, fallbackPrefix);
|
||||
@@ -135,6 +136,12 @@ public class SimpleCommandMap implements CommandMap {
|
||||
return false;
|
||||
}
|
||||
|
||||
+ // Paper start - Plugins do weird things to workaround normal registration
|
||||
+ if (target.timings == null) {
|
||||
+ target.timings = co.aikar.timings.TimingsManager.getCommandTiming(null, target);
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
try {
|
||||
target.timings.startTiming(); // Spigot
|
||||
// Note: we don't return the result of target.execute as thats success / failure, we return handled (true) or not handled (false)
|
||||
diff --git a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java b/src/main/java/org/bukkit/command/defaults/TimingsCommand.java
|
||||
deleted file mode 100644
|
||||
index fc59aa3..0000000
|
||||
|
@ -3595,5 +3596,5 @@ index 8d98297..7e89b97 100644
|
|||
- }
|
||||
}
|
||||
--
|
||||
2.8.1
|
||||
2.8.2
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue