1.12.1
This commit is contained in:
parent
eba91312f3
commit
d6b889788b
7 changed files with 50 additions and 24 deletions
|
|
@ -118,10 +118,16 @@ public class PlayerKits2 extends JavaPlugin {
|
|||
|
||||
public void setVersion(){
|
||||
String packageName = Bukkit.getServer().getClass().getPackage().getName();
|
||||
String bukkitVersion = Bukkit.getServer().getBukkitVersion();
|
||||
if(bukkitVersion.contains("1.20.5") || bukkitVersion.contains("1.20.6")){
|
||||
String bukkitVersion = Bukkit.getServer().getBukkitVersion().split("-")[0];
|
||||
switch(bukkitVersion){
|
||||
case "1.20.5":
|
||||
case "1.20.6":
|
||||
serverVersion = ServerVersion.v1_20_R4;
|
||||
}else{
|
||||
break;
|
||||
case "1.21":
|
||||
serverVersion = ServerVersion.v1_21_R1;
|
||||
break;
|
||||
default:
|
||||
serverVersion = ServerVersion.valueOf(packageName.replace("org.bukkit.craftbukkit.", ""));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -185,7 +185,7 @@ public class MySQLConnection {
|
|||
}.runTaskAsynchronously(plugin);
|
||||
}
|
||||
|
||||
public void createPlayer(PlayerData player){
|
||||
public void createPlayer(PlayerData player,SimpleCallback callback){
|
||||
new BukkitRunnable(){
|
||||
@Override
|
||||
public void run() {
|
||||
|
|
@ -197,6 +197,13 @@ public class MySQLConnection {
|
|||
statement.setString(1, player.getUuid());
|
||||
statement.setString(2, player.getName());
|
||||
statement.executeUpdate();
|
||||
|
||||
new BukkitRunnable(){
|
||||
@Override
|
||||
public void run() {
|
||||
callback.onDone();
|
||||
}
|
||||
}.runTask(plugin);
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
|
|
|||
6
src/main/java/pk/ajneb97/database/SimpleCallback.java
Normal file
6
src/main/java/pk/ajneb97/database/SimpleCallback.java
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
package pk.ajneb97.database;
|
||||
|
||||
public interface SimpleCallback {
|
||||
|
||||
void onDone();
|
||||
}
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
package pk.ajneb97.managers;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.Player;
|
||||
|
|
@ -37,6 +39,7 @@ public class KitItemManager {
|
|||
kitItem.setDurability(item.getDurability());
|
||||
}
|
||||
|
||||
ServerVersion serverVersion = PlayerKits2.serverVersion;
|
||||
if(item.hasItemMeta()) {
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
if(meta.hasDisplayName()) {
|
||||
|
|
@ -52,7 +55,12 @@ public class KitItemManager {
|
|||
if(meta.hasEnchants()) {
|
||||
List<String> enchants = new ArrayList<String>();
|
||||
for(Map.Entry<Enchantment,Integer> entry : meta.getEnchants().entrySet()){
|
||||
String enchant = entry.getKey().getName();
|
||||
String enchant;
|
||||
if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_21_R1)){
|
||||
enchant = entry.getKey().getKey().getKey().toUpperCase();
|
||||
}else{
|
||||
enchant = entry.getKey().getName();
|
||||
}
|
||||
int level = entry.getValue();
|
||||
enchants.add(enchant+";"+level);
|
||||
}
|
||||
|
|
@ -81,7 +89,14 @@ public class KitItemManager {
|
|||
Map<Enchantment, Integer> enchants = meta2.getStoredEnchants();
|
||||
List<String> enchantsList = new ArrayList<String>();
|
||||
for (Map.Entry<Enchantment, Integer> entry : enchants.entrySet()) {
|
||||
enchantsList.add(entry.getKey().getName()+";"+entry.getValue().intValue());
|
||||
String enchant;
|
||||
if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_21_R1)){
|
||||
enchant = entry.getKey().getKey().getKey().toUpperCase();
|
||||
}else{
|
||||
enchant = entry.getKey().getName();
|
||||
}
|
||||
int level = entry.getValue();
|
||||
enchantsList.add(enchant+";"+level);
|
||||
}
|
||||
if(!enchantsList.isEmpty()) {
|
||||
kitItem.setBookEnchants(enchantsList);
|
||||
|
|
@ -89,7 +104,6 @@ public class KitItemManager {
|
|||
}
|
||||
}
|
||||
|
||||
ServerVersion serverVersion = PlayerKits2.serverVersion;
|
||||
if(!serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_20_R4)){
|
||||
List<String> nbtList = ItemUtils.getNBT(plugin,item);
|
||||
if(!nbtList.isEmpty()) {
|
||||
|
|
@ -150,7 +164,8 @@ public class KitItemManager {
|
|||
for(int i=0;i<enchants.size();i++) {
|
||||
String[] sep = enchants.get(i).split(";");
|
||||
String enchantName = sep[0];
|
||||
int enchantLevel = Integer.valueOf(sep[1]);
|
||||
int enchantLevel = Integer.parseInt(sep[1]);
|
||||
|
||||
meta.addEnchant(Enchantment.getByName(enchantName), enchantLevel, true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -154,7 +154,6 @@ public class PlayerDataManager {
|
|||
String uuid = player.getUniqueId().toString();
|
||||
mySQLConnection.getPlayer(uuid, playerData -> {
|
||||
removePlayerByUUID(uuid); //Remove data if already exists
|
||||
boolean firstJoin = false;
|
||||
if(playerData != null) {
|
||||
players.add(playerData);
|
||||
//Update name if different
|
||||
|
|
@ -163,34 +162,26 @@ public class PlayerDataManager {
|
|||
mySQLConnection.updatePlayerName(playerData);
|
||||
}
|
||||
}else {
|
||||
firstJoin = true;
|
||||
playerData = new PlayerData(player.getName(),uuid);
|
||||
players.add(playerData);
|
||||
|
||||
//Create if it doesn't exist
|
||||
mySQLConnection.createPlayer(playerData);
|
||||
}
|
||||
if(firstJoin){
|
||||
plugin.getKitsManager().giveFirstJoinKit(player);
|
||||
mySQLConnection.createPlayer(playerData, () -> plugin.getKitsManager().giveFirstJoinKit(player));
|
||||
}
|
||||
});
|
||||
}else{
|
||||
boolean firstJoin = false;
|
||||
PlayerData playerData = getPlayerByUUID(player.getUniqueId().toString());
|
||||
if(playerData == null){
|
||||
firstJoin = true;
|
||||
playerData = new PlayerData(player.getName(),player.getUniqueId().toString());
|
||||
playerData.setModified(true);
|
||||
players.add(playerData);
|
||||
plugin.getKitsManager().giveFirstJoinKit(player);
|
||||
}else{
|
||||
if(playerData.getName() == null || !playerData.getName().equals(player.getName())){
|
||||
playerData.setName(player.getName());
|
||||
playerData.setModified(true);
|
||||
}
|
||||
}
|
||||
|
||||
if(firstJoin){
|
||||
plugin.getKitsManager().giveFirstJoinKit(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,8 @@ public enum ServerVersion {
|
|||
v1_20_R1,
|
||||
v1_20_R2,
|
||||
v1_20_R3,
|
||||
v1_20_R4;
|
||||
v1_20_R4,
|
||||
v1_21_R1;
|
||||
|
||||
public boolean serverVersionGreaterEqualThan(ServerVersion version1,ServerVersion version2){
|
||||
return version1.ordinal() >= version2.ordinal();
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
main: pk.ajneb97.PlayerKits2
|
||||
version: 1.11.4
|
||||
version: 1.12.1
|
||||
name: PlayerKits2
|
||||
api-version: 1.13
|
||||
softdepend: [Vault,PlaceholderAPI]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue