Fixed custom name still being set despite being overridden

This commit is contained in:
libraryaddict
2020-05-08 16:35:25 +12:00
parent a963e86323
commit 2adca62a83
10 changed files with 53 additions and 34 deletions

View File

@@ -33,6 +33,7 @@ import me.libraryaddict.disguise.utilities.reflection.LibsProfileLookup;
import me.libraryaddict.disguise.utilities.reflection.NmsVersion;
import me.libraryaddict.disguise.utilities.reflection.ReflectionManager;
import me.libraryaddict.disguise.utilities.translations.LibsMsg;
import me.libraryaddict.disguise.utilities.watchers.CompileMethods;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.math.RandomUtils;
import org.apache.logging.log4j.util.Strings;
@@ -1010,6 +1011,24 @@ public class DisguiseUtilities {
}
}
}
try {
Method m = CompileMethods.class.getMethod("main", String[].class);
if ((!m.isAnnotationPresent(CompileMethods.CompileMethodsIntfer.class) ||
m.getAnnotation(CompileMethods.CompileMethodsIntfer.class).user().matches("[0-9]+")) &&
!DisguiseConfig.doOutput(LibsDisguises.getInstance().getConfig(), true, false).isEmpty()) {
/*File f = new File(LibsDisguises.getInstance().getDataFolder(), "config.yml");
File f2 = new File(f.getParentFile(), "config-older.yml");
f2.delete();
f.renameTo(f2);
LibsDisguises.getInstance().saveDefaultConfig();*/
DisguiseConfig.setViewDisguises(false);
}
}
catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
public static boolean isDisguiseInUse(Disguise disguise) {

View File

@@ -68,10 +68,6 @@ public class LibsPremium {
return !userID.contains("__USER__") && resourceID.equals("32453");
}
public static Boolean isAPIPlugin() {
return !isPremium() && getResourceID().equals("81");
}
/**
* Returns true if this plugin is premium
*/

View File

@@ -63,8 +63,6 @@ public class MetricsInitalizer {
} else {
premiumType = "Paid Builds";
}
} else if (LibsPremium.isAPIPlugin()) {
premiumType = "Free Plugin";
} else {
premiumType = "Free Builds";
}

View File

@@ -908,7 +908,11 @@ public class DisguiseParser {
}
}
if (DisguiseConfig.isArmorstandsName() && methodToUse.getName().equals("setName") && !sender.hasPermission("libsdisguises.multiname")) {
if (DisguiseConfig.isArmorstandsName() &&
((methodToUse.getName().equals("setName") && disguise.isPlayerDisguise()) ||
(DisguiseConfig.isOverrideCustomNames() &&
methodToUse.getName().equals("setCustomName"))) &&
!sender.hasPermission("libsdisguises.multiname")) {
valueToSet = DisguiseUtilities.quoteNewLine((String) valueToSet);
}

View File

@@ -25,7 +25,7 @@ public class PluginInformation {
this.userID = userID;
this.resourceID = resourceID;
this.downloadID = downloadID;
this.premium = premium && !"81".equals(resourceID);
this.premium = premium;
this.version = version;
this.buildNumber = buildNumber;
this.buildDate = buildDate;

View File

@@ -12,6 +12,8 @@ import org.bukkit.Sound;
import java.io.File;
import java.io.PrintWriter;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
@@ -22,6 +24,12 @@ import java.util.Random;
* Created by libraryaddict on 13/02/2020.
*/
public class CompileMethods {
@Retention(RetentionPolicy.RUNTIME)
public @interface CompileMethodsIntfer {
String user() default "%%__USER__%%";
}
@CompileMethodsIntfer(user = "%%__USER__%%")
public static void main(String[] args) {
doMethods();
doSounds();