This commit is contained in:
Ajneb97 2025-04-13 11:25:59 -04:00
parent f50e282982
commit e01da5489c
9 changed files with 37 additions and 22 deletions

View file

@ -147,6 +147,7 @@ public class KitsConfigManager {
config.set("clear_inventory",kit.isClearInventory());
config.set("custom_permission",kit.getCustomPermission());
config.set("save_original_items",kit.isSaveOriginalItems());
config.set("allow_placeholders_on_original_items",kit.isAllowPlaceholdersOnOriginalItems());
KitItemManager kitItemManager = plugin.getKitItemManager();
int currentPos = 1;
@ -237,6 +238,7 @@ public class KitsConfigManager {
boolean oneTime = config.contains(mainPath+"one_time") ? config.getBoolean(mainPath+"one_time") : false;
boolean clearInventory = config.contains(mainPath+"clear_inventory") ? config.getBoolean(mainPath+"clear_inventory") : false;
boolean saveOriginalItems = config.contains(mainPath+"save_original_items") ? config.getBoolean(mainPath+"save_original_items") : false;
boolean allowPlaceholdersOnOriginalItems = config.contains(mainPath+"allow_placeholders_on_original_items") ? config.getBoolean(mainPath+"allow_placeholders_on_original_items") : false;
ArrayList<KitItem> items = new ArrayList<>();
if(config.contains(mainPath+"items")){
@ -287,6 +289,7 @@ public class KitsConfigManager {
kit.setDisplayItemOneTimeRequirements(displayItemOneTimeRequirements);
kit.setRequirements(kitRequirements);
kit.setSaveOriginalItems(saveOriginalItems);
kit.setAllowPlaceholdersOnOriginalItems(allowPlaceholdersOnOriginalItems);
return kit;
}

View file

@ -107,7 +107,7 @@ public class InventoryManager {
continue;
}
ItemStack item = kitItemManager.createItemFromKitItem(itemInventory.getItem(),inventoryPlayer.getPlayer());
ItemStack item = kitItemManager.createItemFromKitItem(itemInventory.getItem(),inventoryPlayer.getPlayer(),null);
if(inventoryPlayer.getInventoryName().equals("buy_requirements_inventory")){
inventoryRequirementsManager.configureRequirementsItem(item,inventoryPlayer.getKitName(),inventoryPlayer.getPlayer());
@ -173,7 +173,7 @@ public class InventoryManager {
int slot = 0;
for(KitItem kitItem : allItems){
ItemStack item = kitItemManager.createItemFromKitItem(kitItem,inventoryPlayer.getPlayer());
ItemStack item = kitItemManager.createItemFromKitItem(kitItem,inventoryPlayer.getPlayer(),kit);
if(kitItem.getPreviewSlot() != -1){
inv.setItem(kitItem.getPreviewSlot(),item);
}else{
@ -344,7 +344,7 @@ public class InventoryManager {
kitItem = kit.getDisplayItemDefault();
}
ItemStack item = kitItemManager.createItemFromKitItem(kitItem,player);
ItemStack item = kitItemManager.createItemFromKitItem(kitItem,player,kit);
kitItemManager.replaceVariables(item,variablesToReplace);
item = ItemUtils.setTagStringItem(plugin,item, "playerkits_kit", kitName);

View file

@ -13,6 +13,7 @@ import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.LeatherArmorMeta;
import org.bukkit.inventory.meta.components.CustomModelDataComponent;
import pk.ajneb97.PlayerKits2;
import pk.ajneb97.model.Kit;
import pk.ajneb97.model.internal.KitVariable;
import pk.ajneb97.model.item.*;
import pk.ajneb97.utils.ItemUtils;
@ -177,21 +178,23 @@ public class KitItemManager {
return kitItem;
}
public ItemStack createItemFromKitItem(KitItem kitItem,Player player){
public ItemStack createItemFromKitItem(KitItem kitItem, Player player, Kit kit){
if(kitItem.getOriginalItem() != null){
ItemStack item = kitItem.getOriginalItem().clone();
// Placeholders on original item
ItemMeta meta = item.getItemMeta();
if(meta.hasDisplayName()){
String name = OtherUtils.replaceGlobalVariables(meta.getDisplayName(),player,plugin);
meta.setDisplayName(name);
if(kit.isAllowPlaceholdersOnOriginalItems()){
// Placeholders on original item
ItemMeta meta = item.getItemMeta();
if(meta.hasDisplayName()){
String name = OtherUtils.replaceGlobalVariables(meta.getDisplayName(),player,plugin);
meta.setDisplayName(name);
}
if(meta.hasLore()){
List<String> lore = meta.getLore();
lore.replaceAll(text -> OtherUtils.replaceGlobalVariables(text, player, plugin));
meta.setLore(lore);
}
item.setItemMeta(meta);
}
if(meta.hasLore()){
List<String> lore = meta.getLore();
lore.replaceAll(text -> OtherUtils.replaceGlobalVariables(text, player, plugin));
meta.setLore(lore);
}
item.setItemMeta(meta);
return item;
}
@ -334,7 +337,7 @@ public class KitItemManager {
if(flags != null) {
for(String flag : flags) {
if (flag.equals("HIDE_ATTRIBUTES") && plugin.getDependencyManager().isPaper() &&
serverVersion.serverVersionGreaterEqualThan(serverVersion, ServerVersion.v1_21_R1)) {
serverVersion.serverVersionGreaterEqualThan(serverVersion, ServerVersion.v1_20_R4)) {
//Fix PAPER HIDE_ATTRIBUTES
ItemUtils.addDummyAttribute(meta,plugin);
}

View file

@ -302,7 +302,7 @@ public class KitsManager {
//Give kit items
for(KitItem kitItem : items){
ItemStack item = kitItemManager.createItemFromKitItem(kitItem,player);
ItemStack item = kitItemManager.createItemFromKitItem(kitItem,player,kit);
if(itemHelmet != null && kitItem.equals(itemHelmet)){
playerInventory.setHelmet(item);

View file

@ -97,7 +97,7 @@ public class InventoryEditDisplayManager {
new InventoryItem(inv, 26, Material.EMERALD_BLOCK).name("&6&lSave Item").lore(lore).ready();
if(kitItem != null && kitItem.getId() != null){
inv.setItem(13,plugin.getKitItemManager().createItemFromKitItem(kitItem, inventoryPlayer.getPlayer()));
inv.setItem(13,plugin.getKitItemManager().createItemFromKitItem(kitItem, inventoryPlayer.getPlayer(), kit));
}
inventoryPlayer.getPlayer().openInventory(inv);

View file

@ -70,7 +70,7 @@ public class InventoryEditKitItemsManager {
KitItemManager kitItemManager = plugin.getKitItemManager();
int slot = 0;
for(KitItem kitItem : items){
ItemStack item = kitItemManager.createItemFromKitItem(kitItem, null); //Player null means variables will be showed
ItemStack item = kitItemManager.createItemFromKitItem(kitItem, null, kit); //Player null means variables will be showed
int finalSlot = kitItem.getPreviewSlot() != -1 ? kitItem.getPreviewSlot() : slot;

View file

@ -51,7 +51,7 @@ public class InventoryEditPositionManager {
if(kit == null){
continue;
}
ItemStack item = kitItemManager.createItemFromKitItem(kit.getDisplayItemDefault(),null);
ItemStack item = kitItemManager.createItemFromKitItem(kit.getDisplayItemDefault(),null,kit);
//Check if it is the same kit
if(kitName.equals(inventoryPlayer.getKitName())){
ItemMeta meta = item.getItemMeta();
@ -77,7 +77,7 @@ public class InventoryEditPositionManager {
continue;
}
ItemStack item = kitItemManager.createItemFromKitItem(itemInventory.getItem(),inventoryPlayer.getPlayer());
ItemStack item = kitItemManager.createItemFromKitItem(itemInventory.getItem(),inventoryPlayer.getPlayer(),null);
String openInventory = itemInventory.getOpenInventory();
if(openInventory != null) {
item = ItemUtils.setTagStringItem(plugin,item, "playerkits_open_inventory", openInventory);

View file

@ -17,6 +17,7 @@ public class Kit {
private ArrayList<KitAction> claimActions;
private ArrayList<KitAction> errorActions;
private boolean saveOriginalItems;
private boolean allowPlaceholdersOnOriginalItems;
private KitItem displayItemDefault;
private KitItem displayItemNoPermission;
@ -172,6 +173,14 @@ public class Kit {
this.clearInventory = clearInventory;
}
public boolean isAllowPlaceholdersOnOriginalItems() {
return allowPlaceholdersOnOriginalItems;
}
public void setAllowPlaceholdersOnOriginalItems(boolean allowPlaceholdersOnOriginalItems) {
this.allowPlaceholdersOnOriginalItems = allowPlaceholdersOnOriginalItems;
}
public boolean playerHasPermission(CommandSender player){
if(permissionRequired){
if(customPermission != null){

View file

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