This commit is contained in:
Ajneb97 2023-09-22 18:39:02 -03:00
parent cc538bb5c1
commit a7f7060666
7 changed files with 69 additions and 38 deletions

View file

@ -37,7 +37,7 @@
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.20.1-R0.1-SNAPSHOT</version>
<version>1.20.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>

View file

@ -18,11 +18,13 @@ import pk.ajneb97.model.internal.UpdateCheckerResult;
import pk.ajneb97.tasks.InventoryUpdateTaskManager;
import pk.ajneb97.tasks.PlayerDataSaveTask;
import pk.ajneb97.versions.NMSManager;
import pk.ajneb97.utils.ServerVersion;
public class PlayerKits2 extends JavaPlugin {
public String version = getDescription().getVersion();
public static String prefix = MessagesManager.getColoredMessage("&8[&bPlayerKits&a²&8] ");
public static String prefix;
public static ServerVersion serverVersion;
private KitItemManager kitItemManager;
private KitsManager kitsManager;
@ -41,6 +43,8 @@ public class PlayerKits2 extends JavaPlugin {
private MySQLConnection mySQLConnection;
public void onEnable(){
setVersion();
setPrefix();
registerCommands();
registerEvents();
@ -105,6 +109,15 @@ public class PlayerKits2 extends JavaPlugin {
playerDataSaveTask.start(configsManager.getMainConfigManager().getConfig().getInt("player_data_save_time"));
}
public void setPrefix(){
prefix = MessagesManager.getColoredMessage("&8[&bPlayerKits&a²&8] ");
}
public void setVersion(){
String packageName = Bukkit.getServer().getClass().getPackage().getName();
serverVersion = ServerVersion.valueOf(packageName.replace("org.bukkit.craftbukkit.", ""));
}
public KitItemManager getKitItemManager() {
return kitItemManager;
}
@ -157,6 +170,7 @@ public class PlayerKits2 extends JavaPlugin {
return verifyManager;
}
public void updateMessage(UpdateCheckerResult result){
if(!result.isError()){
String latestVersion = result.getLatestVersion();

View file

@ -1,6 +1,7 @@
package pk.ajneb97.utils;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@ -94,7 +95,7 @@ public class ItemUtils {
try {
profileField = skullMeta.getClass().getDeclaredField("profile");
profileField.setAccessible(true);
try {
GameProfile gameProfile = (GameProfile) profileField.get(skullMeta);
if(gameProfile != null && gameProfile.getProperties() != null) {
PropertyMap propertyMap = gameProfile.getProperties();
@ -102,16 +103,23 @@ public class ItemUtils {
if(gameProfile.getId() != null) {
id = gameProfile.getId().toString();
}
ServerVersion serverVersion = PlayerKits2.serverVersion;
for(Property p : propertyMap.values()) {
if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_20_R2)){
String pName = (String)p.getClass().getMethod("name").invoke(p);
if(pName.equals("textures")){
texture = (String)p.getClass().getMethod("value").invoke(p);
}
}else{
if(p.getName().equals("textures")) {
texture = p.getValue();
}
}
}
} catch (IllegalArgumentException | IllegalAccessException e) {
e.printStackTrace();
}
} catch (NoSuchFieldException | SecurityException e) {
} catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException
| InvocationTargetException | NoSuchMethodException e) {
e.printStackTrace();
}
@ -148,9 +156,9 @@ public class ItemUtils {
GameProfile profile = null;
if(id == null) {
profile = new GameProfile(UUID.randomUUID(), owner);
profile = new GameProfile(UUID.randomUUID(), owner != null ? owner : "");
}else {
profile = new GameProfile(UUID.fromString(id), owner);
profile = new GameProfile(UUID.fromString(id), owner != null ? owner : "");
}
profile.getProperties().put("textures", new Property("textures", texture));

View file

@ -4,6 +4,7 @@ import org.bukkit.Bukkit;
import org.bukkit.Color;
import org.bukkit.entity.Player;
import pk.ajneb97.PlayerKits2;
import pk.ajneb97.api.PlayerKitsAPI;
import pk.ajneb97.managers.MessagesManager;
import java.util.ArrayList;
@ -11,27 +12,25 @@ import java.util.ArrayList;
public class OtherUtils {
public static boolean isNew() {
if(Bukkit.getVersion().contains("1.16") || Bukkit.getVersion().contains("1.17")
|| Bukkit.getVersion().contains("1.18") || Bukkit.getVersion().contains("1.19")
|| Bukkit.getVersion().contains("1.20")) {
ServerVersion serverVersion = PlayerKits2.serverVersion;
if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_16_R1)){
return true;
}else {
return false;
}
return false;
}
public static boolean isLegacy() {
if(Bukkit.getVersion().contains("1.13") || Bukkit.getVersion().contains("1.14") ||
Bukkit.getVersion().contains("1.15") || isNew()) {
ServerVersion serverVersion = PlayerKits2.serverVersion;
if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_13_R1)) {
return false;
}else {
return true;
}
return true;
}
// 1.20+
public static boolean isTrimNew() {
if(Bukkit.getVersion().contains("1.20")) {
ServerVersion serverVersion = PlayerKits2.serverVersion;
if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_20_R1)) {
return true;
}else {
return false;

View file

@ -1,4 +1,4 @@
package pk.ajneb97.versions;
package pk.ajneb97.utils;
public enum ServerVersion {
v1_8_R1,
@ -23,4 +23,9 @@ public enum ServerVersion {
v1_19_R2,
v1_19_R3,
v1_20_R1,
v1_20_R2;
public boolean serverVersionGreaterEqualThan(ServerVersion version1,ServerVersion version2){
return version1.ordinal() >= version2.ordinal();
}
}

View file

@ -1,7 +1,9 @@
package pk.ajneb97.versions;
import org.bukkit.Bukkit;
import org.bukkit.inventory.ItemStack;
import pk.ajneb97.PlayerKits2;
import pk.ajneb97.utils.ServerVersion;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
@ -9,13 +11,13 @@ import java.util.Set;
public class NMSManager {
private ServerVersion serverVersion;
private Version version;
private ServerVersion serverVersion;
public NMSManager(){
this.version = new Version();
String packageName = Bukkit.getServer().getClass().getPackage().getName();
serverVersion = ServerVersion.valueOf(packageName.replace("org.bukkit.craftbukkit.", ""));
this.serverVersion = PlayerKits2.serverVersion;
try {
//Classes
@ -82,7 +84,8 @@ public class NMSManager {
case v1_19_R1:
case v1_19_R2:
case v1_19_R3: methodName = "t"; break;
case v1_20_R1: methodName = "u"; break;
case v1_20_R1:
case v1_20_R2: methodName = "u"; break;
}
version.addMethod("hasTag",version.getClassRef("ItemStackNMS").getMethod(methodName));
@ -93,7 +96,8 @@ public class NMSManager {
case v1_19_R1:
case v1_19_R2:
case v1_19_R3: methodName = "u"; break;
case v1_20_R1: methodName = "v"; break;
case v1_20_R1:
case v1_20_R2: methodName = "v"; break;
}
version.addMethod("getTag",version.getClassRef("ItemStackNMS").getMethod(methodName));
@ -119,7 +123,8 @@ public class NMSManager {
case v1_19_R1: methodName = "d"; break;
case v1_19_R2:
case v1_19_R3:
case v1_20_R1: methodName = "e"; break;
case v1_20_R1:
case v1_20_R2: methodName = "e"; break;
}
version.addMethod("getKeys",version.getClassRef("NBTTagCompound").getMethod(methodName));
version.addMethod("hasKeyOfType",version.getClassRef("NBTTagCompound").getMethod("b",String.class,int.class));

View file

@ -1,5 +1,5 @@
main: pk.ajneb97.PlayerKits2
version: 1.3.3
version: 1.4.1
name: PlayerKits2
api-version: 1.13
softdepend: [Vault,PlaceholderAPI]