1.11.1
This commit is contained in:
parent
0d9e82f4fd
commit
7a53bfcec8
11 changed files with 87 additions and 40 deletions
6
pom.xml
6
pom.xml
|
|
@ -9,8 +9,8 @@
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>17</maven.compiler.source>
|
<maven.compiler.source>21</maven.compiler.source>
|
||||||
<maven.compiler.target>17</maven.compiler.target>
|
<maven.compiler.target>21</maven.compiler.target>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
|
|
@ -47,7 +47,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.spigotmc</groupId>
|
<groupId>org.spigotmc</groupId>
|
||||||
<artifactId>spigot-api</artifactId>
|
<artifactId>spigot-api</artifactId>
|
||||||
<version>1.20.2-R0.1-SNAPSHOT</version>
|
<version>1.20.5-R0.1-SNAPSHOT</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
||||||
|
|
@ -301,7 +301,7 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void create(Player player,String[] args,FileConfiguration messagesConfig,MessagesManager msgManager){
|
public void create(Player player,String[] args,FileConfiguration messagesConfig,MessagesManager msgManager){
|
||||||
// /kit create <kit> (optional)<original>
|
// /kit create <kit> (optional)<original/configurable>
|
||||||
if(!PlayerUtils.isPlayerKitsAdmin(player)){
|
if(!PlayerUtils.isPlayerKitsAdmin(player)){
|
||||||
msgManager.sendMessage(player,messagesConfig.getString("noPermissions"),true);
|
msgManager.sendMessage(player,messagesConfig.getString("noPermissions"),true);
|
||||||
return;
|
return;
|
||||||
|
|
@ -313,8 +313,13 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean saveOriginalItems = false;
|
boolean saveOriginalItems = false;
|
||||||
if(args.length >= 3 && args[2].equalsIgnoreCase("original")){
|
if(args.length >= 3){
|
||||||
saveOriginalItems = true;
|
if(args[2].equalsIgnoreCase("original")){
|
||||||
|
saveOriginalItems = true;
|
||||||
|
}else if(!args[2].equalsIgnoreCase("configurable")){
|
||||||
|
msgManager.sendMessage(player,messagesConfig.getString("commandCreateError"),true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
plugin.getKitsManager().createKit(args[1],player,saveOriginalItems);
|
plugin.getKitsManager().createKit(args[1],player,saveOriginalItems);
|
||||||
|
|
@ -416,10 +421,13 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
||||||
}
|
}
|
||||||
}else if(args.length == 3 && PlayerUtils.isPlayerKitsAdmin(sender)){
|
}else if(args.length == 3 && PlayerUtils.isPlayerKitsAdmin(sender)){
|
||||||
if(args[0].equalsIgnoreCase("create")){
|
if(args[0].equalsIgnoreCase("create")){
|
||||||
if(args[2].isEmpty() || "original".startsWith(args[2].toLowerCase())) {
|
commands.add("original");commands.add("configurable");
|
||||||
completions.add("original");
|
for(String c : commands) {
|
||||||
return completions;
|
if(args[2].isEmpty() || c.startsWith(args[2].toLowerCase())) {
|
||||||
|
completions.add(c);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
return completions;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ public class PlayerKits2 extends JavaPlugin {
|
||||||
this.inventoryEditManager = new InventoryEditManager(this);
|
this.inventoryEditManager = new InventoryEditManager(this);
|
||||||
this.kitsManager = new KitsManager(this);
|
this.kitsManager = new KitsManager(this);
|
||||||
this.dependencyManager = new DependencyManager(this);
|
this.dependencyManager = new DependencyManager(this);
|
||||||
this.nmsManager = new NMSManager();
|
this.nmsManager = new NMSManager(this);
|
||||||
this.playerDataManager = new PlayerDataManager(this);
|
this.playerDataManager = new PlayerDataManager(this);
|
||||||
|
|
||||||
this.configsManager = new ConfigsManager(this);
|
this.configsManager = new ConfigsManager(this);
|
||||||
|
|
|
||||||
|
|
@ -215,6 +215,7 @@ public class MySQLConnection {
|
||||||
|
|
||||||
statement.setString(1, player.getName());
|
statement.setString(1, player.getName());
|
||||||
statement.setString(2, player.getUuid());
|
statement.setString(2, player.getUuid());
|
||||||
|
statement.executeUpdate();
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -100,11 +100,9 @@ public class InventoryManager {
|
||||||
for(ItemKitInventory itemInventory : items){
|
for(ItemKitInventory itemInventory : items){
|
||||||
for(int slot : itemInventory.getSlots()){
|
for(int slot : itemInventory.getSlots()){
|
||||||
String type = itemInventory.getType();
|
String type = itemInventory.getType();
|
||||||
if(type != null){
|
if(type != null && type.startsWith("kit: ")){
|
||||||
if(type.startsWith("kit: ")){
|
setKit(type.replace("kit: ",""),inventoryPlayer.getPlayer(),inv,slot,kitsManager
|
||||||
setKit(type.replace("kit: ",""),inventoryPlayer.getPlayer(),inv,slot,kitsManager
|
,playerDataManager,kitItemManager,msgManager);
|
||||||
,playerDataManager,kitItemManager,msgManager);
|
|
||||||
}
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -112,6 +110,9 @@ public class InventoryManager {
|
||||||
|
|
||||||
if(inventoryPlayer.getInventoryName().equals("buy_requirements_inventory")){
|
if(inventoryPlayer.getInventoryName().equals("buy_requirements_inventory")){
|
||||||
inventoryRequirementsManager.configureRequirementsItem(item,inventoryPlayer.getKitName(),inventoryPlayer.getPlayer());
|
inventoryRequirementsManager.configureRequirementsItem(item,inventoryPlayer.getKitName(),inventoryPlayer.getPlayer());
|
||||||
|
if(type != null){
|
||||||
|
item = ItemUtils.setTagStringItem(plugin,item, "playerkits_buy", type);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
String openInventory = itemInventory.getOpenInventory();
|
String openInventory = itemInventory.getOpenInventory();
|
||||||
|
|
@ -204,7 +205,7 @@ public class InventoryManager {
|
||||||
if(buyTag == null){
|
if(buyTag == null){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(buyTag.equals("yes")){
|
if(buyTag.equals("yes") || buyTag.equals("buy_yes")){
|
||||||
inventoryRequirementsManager.requirementsInventoryBuy(inventoryPlayer);
|
inventoryRequirementsManager.requirementsInventoryBuy(inventoryPlayer);
|
||||||
}else{
|
}else{
|
||||||
inventoryRequirementsManager.requirementsInventoryCancel(inventoryPlayer);
|
inventoryRequirementsManager.requirementsInventoryCancel(inventoryPlayer);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
package pk.ajneb97.managers;
|
package pk.ajneb97.managers;
|
||||||
|
|
||||||
import com.destroystokyo.paper.Namespaced;
|
import com.destroystokyo.paper.Namespaced;
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.Color;
|
import org.bukkit.Color;
|
||||||
import org.bukkit.NamespacedKey;
|
import org.bukkit.NamespacedKey;
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
|
|
@ -17,6 +16,7 @@ import pk.ajneb97.model.internal.KitVariable;
|
||||||
import pk.ajneb97.model.item.*;
|
import pk.ajneb97.model.item.*;
|
||||||
import pk.ajneb97.utils.ItemUtils;
|
import pk.ajneb97.utils.ItemUtils;
|
||||||
import pk.ajneb97.utils.OtherUtils;
|
import pk.ajneb97.utils.OtherUtils;
|
||||||
|
import pk.ajneb97.utils.ServerVersion;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
@ -108,11 +108,15 @@ public class KitItemManager {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<String> nbtList = ItemUtils.getNBT(plugin,item);
|
ServerVersion serverVersion = PlayerKits2.serverVersion;
|
||||||
if(!nbtList.isEmpty()) {
|
if(!serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_20_R4)){
|
||||||
kitItem.setNbt(nbtList);
|
List<String> nbtList = ItemUtils.getNBT(plugin,item);
|
||||||
|
if(!nbtList.isEmpty()) {
|
||||||
|
kitItem.setNbt(nbtList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
kitItem.setAttributes(ItemUtils.getAttributes(plugin,item));
|
kitItem.setAttributes(ItemUtils.getAttributes(plugin,item));
|
||||||
kitItem.setSkullData(ItemUtils.getSkullData(item));
|
kitItem.setSkullData(ItemUtils.getSkullData(item));
|
||||||
kitItem.setPotionData(ItemUtils.getPotionData(item));
|
kitItem.setPotionData(ItemUtils.getPotionData(item));
|
||||||
|
|
@ -242,8 +246,11 @@ public class KitItemManager {
|
||||||
List<String> attributes = kitItem.getAttributes();
|
List<String> attributes = kitItem.getAttributes();
|
||||||
item = ItemUtils.setAttributes(plugin,item, attributes);
|
item = ItemUtils.setAttributes(plugin,item, attributes);
|
||||||
|
|
||||||
List<String> nbtList = kitItem.getNbt();
|
ServerVersion serverVersion = PlayerKits2.serverVersion;
|
||||||
item = ItemUtils.setNBT(plugin,item, nbtList);
|
if(!serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_20_R4)){
|
||||||
|
List<String> nbtList = kitItem.getNbt();
|
||||||
|
item = ItemUtils.setNBT(plugin,item, nbtList);
|
||||||
|
}
|
||||||
|
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,8 @@ public enum ServerVersion {
|
||||||
v1_19_R3,
|
v1_19_R3,
|
||||||
v1_20_R1,
|
v1_20_R1,
|
||||||
v1_20_R2,
|
v1_20_R2,
|
||||||
v1_20_R3;
|
v1_20_R3,
|
||||||
|
v1_20_R4;
|
||||||
|
|
||||||
public boolean serverVersionGreaterEqualThan(ServerVersion version1,ServerVersion version2){
|
public boolean serverVersionGreaterEqualThan(ServerVersion version1,ServerVersion version2){
|
||||||
return version1.ordinal() >= version2.ordinal();
|
return version1.ordinal() >= version2.ordinal();
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,12 @@
|
||||||
package pk.ajneb97.versions;
|
package pk.ajneb97.versions;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import org.bukkit.NamespacedKey;
|
||||||
import com.google.gson.JsonArray;
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
import org.bukkit.persistence.PersistentDataContainer;
|
||||||
|
import org.bukkit.persistence.PersistentDataType;
|
||||||
import pk.ajneb97.PlayerKits2;
|
import pk.ajneb97.PlayerKits2;
|
||||||
import pk.ajneb97.utils.ServerVersion;
|
import pk.ajneb97.utils.ServerVersion;
|
||||||
|
|
||||||
import java.io.StringReader;
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
@ -16,11 +15,17 @@ public class NMSManager {
|
||||||
|
|
||||||
private Version version;
|
private Version version;
|
||||||
private ServerVersion serverVersion;
|
private ServerVersion serverVersion;
|
||||||
|
private PlayerKits2 plugin;
|
||||||
|
|
||||||
public NMSManager(){
|
public NMSManager(PlayerKits2 plugin){
|
||||||
|
this.plugin = plugin;
|
||||||
this.version = new Version();
|
this.version = new Version();
|
||||||
this.serverVersion = PlayerKits2.serverVersion;
|
this.serverVersion = PlayerKits2.serverVersion;
|
||||||
|
|
||||||
|
if(serverVersionGreaterEqualThan(ServerVersion.v1_20_R4)){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
//Classes
|
//Classes
|
||||||
version.addClass("CraftItemStack",Class.forName("org.bukkit.craftbukkit."+serverVersion+".inventory.CraftItemStack"));
|
version.addClass("CraftItemStack",Class.forName("org.bukkit.craftbukkit."+serverVersion+".inventory.CraftItemStack"));
|
||||||
|
|
@ -134,17 +139,21 @@ public class NMSManager {
|
||||||
version.addMethod("hasKeyOfType",version.getClassRef("NBTTagCompound").getMethod("b",String.class,int.class));
|
version.addMethod("hasKeyOfType",version.getClassRef("NBTTagCompound").getMethod("b",String.class,int.class));
|
||||||
version.addMethod("parse",version.getClassRef("MojangsonParser").getMethod("a",String.class));
|
version.addMethod("parse",version.getClassRef("MojangsonParser").getMethod("a",String.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} catch (ClassNotFoundException | NoSuchMethodException e) {
|
} catch (ClassNotFoundException | NoSuchMethodException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemStack setTagStringItem(ItemStack item, String key, String value) {
|
public ItemStack setTagStringItem(ItemStack item, String key, String value) {
|
||||||
|
if(serverVersionGreaterEqualThan(ServerVersion.v1_20_R4)){
|
||||||
|
ItemMeta meta = item.getItemMeta();
|
||||||
|
NamespacedKey namespacedKey = new NamespacedKey(plugin, key);
|
||||||
|
PersistentDataContainer p = meta.getPersistentDataContainer();
|
||||||
|
p.set(namespacedKey, PersistentDataType.STRING,value);
|
||||||
|
item.setItemMeta(meta);
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Object newItem = version.getMethodRef("asNMSCopy").invoke(null,item); //ItemStackNMS
|
Object newItem = version.getMethodRef("asNMSCopy").invoke(null,item); //ItemStackNMS
|
||||||
Object compound = getNBTCompound(newItem);
|
Object compound = getNBTCompound(newItem);
|
||||||
|
|
@ -158,6 +167,16 @@ public class NMSManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTagStringItem(ItemStack item,String key) {
|
public String getTagStringItem(ItemStack item,String key) {
|
||||||
|
if(serverVersionGreaterEqualThan(ServerVersion.v1_20_R4)){
|
||||||
|
ItemMeta meta = item.getItemMeta();
|
||||||
|
NamespacedKey namespacedKey = new NamespacedKey(plugin, key);
|
||||||
|
PersistentDataContainer p = meta.getPersistentDataContainer();
|
||||||
|
if(p.has(namespacedKey)){
|
||||||
|
return p.get(namespacedKey,PersistentDataType.STRING);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Object newItem = version.getMethodRef("asNMSCopy").invoke(null,item); //ItemStackNMS
|
Object newItem = version.getMethodRef("asNMSCopy").invoke(null,item); //ItemStackNMS
|
||||||
Object compound = getNBTCompound(newItem);
|
Object compound = getNBTCompound(newItem);
|
||||||
|
|
@ -171,6 +190,18 @@ public class NMSManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemStack removeTagItem(ItemStack item, String key) {
|
public ItemStack removeTagItem(ItemStack item, String key) {
|
||||||
|
if(serverVersionGreaterEqualThan(ServerVersion.v1_20_R4)){
|
||||||
|
ItemMeta meta = item.getItemMeta();
|
||||||
|
NamespacedKey namespacedKey = new NamespacedKey(plugin, key);
|
||||||
|
|
||||||
|
PersistentDataContainer p = meta.getPersistentDataContainer();
|
||||||
|
if(p.has(namespacedKey)){
|
||||||
|
p.remove(namespacedKey);
|
||||||
|
}
|
||||||
|
item.setItemMeta(meta);
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Object newItem = version.getMethodRef("asNMSCopy").invoke(null,item); //ItemStackNMS
|
Object newItem = version.getMethodRef("asNMSCopy").invoke(null,item); //ItemStackNMS
|
||||||
Object compound = getNBTCompound(newItem);
|
Object compound = getNBTCompound(newItem);
|
||||||
|
|
|
||||||
|
|
@ -50,11 +50,9 @@ inventories:
|
||||||
item:
|
item:
|
||||||
id: "RED_STAINED_GLASS_PANE"
|
id: "RED_STAINED_GLASS_PANE"
|
||||||
name: "&cGo Back"
|
name: "&cGo Back"
|
||||||
nbt:
|
type: buy_no
|
||||||
- "playerkits_buy|no"
|
|
||||||
16:
|
16:
|
||||||
item:
|
item:
|
||||||
id: "GREEN_STAINED_GLASS_PANE"
|
id: "GREEN_STAINED_GLASS_PANE"
|
||||||
name: "&aBuy"
|
name: "&aBuy"
|
||||||
nbt:
|
type: buy_yes
|
||||||
- "playerkits_buy|yes"
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ commandGiveError: "&cYou need to use: &7/kit give <kit> <player>"
|
||||||
commandGiveError2: "&cThere was an error giving the kit: &7%error%"
|
commandGiveError2: "&cThere was an error giving the kit: &7%error%"
|
||||||
commandGiveCorrect: "&aKit &7%kit% &agiven to &e%player%&a!"
|
commandGiveCorrect: "&aKit &7%kit% &agiven to &e%player%&a!"
|
||||||
commandClaimError: "&cYou need to use: &7/kit claim <kit>"
|
commandClaimError: "&cYou need to use: &7/kit claim <kit>"
|
||||||
commandCreateError: "&cYou need to use: &7/kit create <name> (optional)original"
|
commandCreateError: "&cYou need to use: &7/kit create <name> (optional)original/configurable"
|
||||||
commandDeleteError: "&cYou need to use: &7/kit delete <name>"
|
commandDeleteError: "&cYou need to use: &7/kit delete <name>"
|
||||||
commandResetError: "&cYou need to use: &7/kit reset <kit> <player>"
|
commandResetError: "&cYou need to use: &7/kit reset <kit> <player>"
|
||||||
commandEditError: "&cYou need to use: &7/kit edit <kit>"
|
commandEditError: "&cYou need to use: &7/kit edit <kit>"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
main: pk.ajneb97.PlayerKits2
|
main: pk.ajneb97.PlayerKits2
|
||||||
version: 1.10.1
|
version: 1.11.1
|
||||||
name: PlayerKits2
|
name: PlayerKits2
|
||||||
api-version: 1.13
|
api-version: 1.13
|
||||||
softdepend: [Vault,PlaceholderAPI]
|
softdepend: [Vault,PlaceholderAPI]
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue