From f6a588370250da2f768591aa8b584f6273861a5f Mon Sep 17 00:00:00 2001 From: Ajneb97 Date: Fri, 22 Dec 2023 10:03:42 -0300 Subject: [PATCH] 1.8.3 --- .../java/pk/ajneb97/managers/KitsManager.java | 2 +- src/main/java/pk/ajneb97/model/Kit.java | 26 +++++++++++----- src/main/java/pk/ajneb97/model/KitAction.java | 5 ++++ .../java/pk/ajneb97/model/item/KitItem.java | 30 ++++++++++++++++++- .../ajneb97/model/item/KitItemBannerData.java | 5 ++++ .../ajneb97/model/item/KitItemBookData.java | 5 ++++ .../model/item/KitItemFireworkData.java | 5 ++++ .../ajneb97/model/item/KitItemPotionData.java | 5 ++++ .../ajneb97/model/item/KitItemSkullData.java | 4 +++ .../ajneb97/model/item/KitItemTrimData.java | 4 +++ src/main/resources/plugin.yml | 2 +- 11 files changed, 83 insertions(+), 10 deletions(-) diff --git a/src/main/java/pk/ajneb97/managers/KitsManager.java b/src/main/java/pk/ajneb97/managers/KitsManager.java index ebed9a3..9162461 100644 --- a/src/main/java/pk/ajneb97/managers/KitsManager.java +++ b/src/main/java/pk/ajneb97/managers/KitsManager.java @@ -241,7 +241,7 @@ public class KitsManager { String id = item.getId(); //Check if the item must be put in the player equipment - if((id.contains("_HELMET") || id.contains("PLAYER_HELMET") || id.contains("SKULL_ITEM")) && itemHelmet == null && (playerInventory.getHelmet() == null + if((id.contains("_HELMET") || id.contains("PLAYER_HEAD") || id.contains("SKULL_ITEM")) && itemHelmet == null && (playerInventory.getHelmet() == null || playerInventory.getHelmet().getType().equals(Material.AIR))){ itemHelmet = item; continue; diff --git a/src/main/java/pk/ajneb97/model/Kit.java b/src/main/java/pk/ajneb97/model/Kit.java index 3b07c47..14a1e26 100644 --- a/src/main/java/pk/ajneb97/model/Kit.java +++ b/src/main/java/pk/ajneb97/model/Kit.java @@ -156,13 +156,25 @@ public class Kit { cooldown = defaultKit.getCooldown(); oneTime = defaultKit.isOneTime(); permissionRequired = defaultKit.isPermissionRequired(); - claimActions = defaultKit.getClaimActions(); - errorActions = defaultKit.getErrorActions(); - displayItemDefault = defaultKit.getDisplayItemDefault(); - displayItemNoPermission = defaultKit.getDisplayItemNoPermission(); - displayItemCooldown = defaultKit.getDisplayItemCooldown(); - displayItemOneTime = defaultKit.getDisplayItemOneTime(); - displayItemOneTimeRequirements = defaultKit.getDisplayItemOneTimeRequirements(); + if(defaultKit.getClaimActions() != null){ + ArrayList actions = new ArrayList<>(); + for(KitAction action : defaultKit.getClaimActions()){ + actions.add(action.clone()); + } + claimActions = actions; + } + if(defaultKit.getErrorActions() != null){ + ArrayList actions = new ArrayList<>(); + for(KitAction action : defaultKit.getErrorActions()){ + actions.add(action.clone()); + } + errorActions = actions; + } + displayItemDefault = defaultKit.getDisplayItemDefault() != null ? defaultKit.getDisplayItemDefault().clone() : null; + displayItemNoPermission = defaultKit.getDisplayItemNoPermission() != null ? defaultKit.getDisplayItemNoPermission().clone() : null; + displayItemCooldown = defaultKit.getDisplayItemCooldown() != null ? defaultKit.getDisplayItemCooldown().clone() : null; + displayItemOneTime = defaultKit.getDisplayItemOneTime() != null ? defaultKit.getDisplayItemOneTime().clone() : null; + displayItemOneTimeRequirements = defaultKit.getDisplayItemOneTimeRequirements() != null ? defaultKit.getDisplayItemOneTimeRequirements().clone() : null; autoArmor = defaultKit.isAutoArmor(); } } diff --git a/src/main/java/pk/ajneb97/model/KitAction.java b/src/main/java/pk/ajneb97/model/KitAction.java index b607719..6683144 100644 --- a/src/main/java/pk/ajneb97/model/KitAction.java +++ b/src/main/java/pk/ajneb97/model/KitAction.java @@ -46,4 +46,9 @@ public class KitAction { public void setCountAsItem(boolean countAsItem) { this.countAsItem = countAsItem; } + + public KitAction clone(){ + KitItem item = displayItem != null ? displayItem.clone() : null; + return new KitAction(action,item,executeBeforeItems,countAsItem); + } } diff --git a/src/main/java/pk/ajneb97/model/item/KitItem.java b/src/main/java/pk/ajneb97/model/item/KitItem.java index 0cfe763..862c170 100644 --- a/src/main/java/pk/ajneb97/model/item/KitItem.java +++ b/src/main/java/pk/ajneb97/model/item/KitItem.java @@ -1,8 +1,9 @@ package pk.ajneb97.model.item; +import java.util.ArrayList; import java.util.List; -public class KitItem { +public class KitItem{ private String id; private int amount; @@ -209,4 +210,31 @@ public class KitItem { } } } + + public KitItem clone(){ + KitItem kitItem = new KitItem(id); + kitItem.setAmount(amount); + kitItem.setName(name); + kitItem.setLore(lore != null ? new ArrayList<>(lore) : null); + kitItem.setDurability(durability); + kitItem.setCustomModelData(customModelData); + kitItem.setEnchants(enchants != null ? new ArrayList<>(enchants) : null); + kitItem.setFlags(flags != null ? new ArrayList<>(flags) : null); + kitItem.setBookEnchants(bookEnchants != null ? new ArrayList<>(bookEnchants) : null); + kitItem.setColor(color); + kitItem.setNbt(nbt != null ? new ArrayList<>(nbt) : null); + kitItem.setAttributes(attributes != null ? new ArrayList<>(attributes) : null); + + kitItem.setSkullData(skullData != null ? skullData.clone() : null); + kitItem.setPotionData(potionData != null ? potionData.clone() : null); + kitItem.setFireworkData(fireworkData != null ? fireworkData.clone() : null); + kitItem.setBannerData(bannerData != null ? bannerData.clone() : null); + kitItem.setBookData(bookData != null ? bookData.clone() : null); + kitItem.setTrimData(trimData != null ? trimData.clone() : null); + + kitItem.setPreviewSlot(previewSlot); + kitItem.setOffhand(offhand); + + return kitItem; + } } diff --git a/src/main/java/pk/ajneb97/model/item/KitItemBannerData.java b/src/main/java/pk/ajneb97/model/item/KitItemBannerData.java index eca4423..2cd91b9 100644 --- a/src/main/java/pk/ajneb97/model/item/KitItemBannerData.java +++ b/src/main/java/pk/ajneb97/model/item/KitItemBannerData.java @@ -1,5 +1,6 @@ package pk.ajneb97.model.item; +import java.util.ArrayList; import java.util.List; public class KitItemBannerData { @@ -23,4 +24,8 @@ public class KitItemBannerData { public void setBaseColor(String baseColor) { this.baseColor = baseColor; } + + public KitItemBannerData clone(){ + return new KitItemBannerData(new ArrayList<>(patterns),baseColor); + } } diff --git a/src/main/java/pk/ajneb97/model/item/KitItemBookData.java b/src/main/java/pk/ajneb97/model/item/KitItemBookData.java index 44e8df2..2460a3e 100644 --- a/src/main/java/pk/ajneb97/model/item/KitItemBookData.java +++ b/src/main/java/pk/ajneb97/model/item/KitItemBookData.java @@ -1,5 +1,6 @@ package pk.ajneb97.model.item; +import java.util.ArrayList; import java.util.List; public class KitItemBookData { @@ -39,4 +40,8 @@ public class KitItemBookData { public void setTitle(String title) { this.title = title; } + + public KitItemBookData clone(){ + return new KitItemBookData(new ArrayList<>(pages),author,generation,title); + } } diff --git a/src/main/java/pk/ajneb97/model/item/KitItemFireworkData.java b/src/main/java/pk/ajneb97/model/item/KitItemFireworkData.java index fc249a8..aa46ac4 100644 --- a/src/main/java/pk/ajneb97/model/item/KitItemFireworkData.java +++ b/src/main/java/pk/ajneb97/model/item/KitItemFireworkData.java @@ -1,5 +1,6 @@ package pk.ajneb97.model.item; +import java.util.ArrayList; import java.util.List; public class KitItemFireworkData { @@ -31,4 +32,8 @@ public class KitItemFireworkData { public void setFireworkPower(int fireworkPower) { this.fireworkPower = fireworkPower; } + + public KitItemFireworkData clone(){ + return new KitItemFireworkData(new ArrayList<>(fireworkRocketEffects),fireworkStarEffect,fireworkPower); + } } diff --git a/src/main/java/pk/ajneb97/model/item/KitItemPotionData.java b/src/main/java/pk/ajneb97/model/item/KitItemPotionData.java index a0b8511..f629e80 100644 --- a/src/main/java/pk/ajneb97/model/item/KitItemPotionData.java +++ b/src/main/java/pk/ajneb97/model/item/KitItemPotionData.java @@ -1,5 +1,6 @@ package pk.ajneb97.model.item; +import java.util.ArrayList; import java.util.List; public class KitItemPotionData { @@ -48,4 +49,8 @@ public class KitItemPotionData { public void setPotionEffects(List potionEffects) { this.potionEffects = potionEffects; } + + public KitItemPotionData clone(){ + return new KitItemPotionData(upgraded,extended,potionType,potionColor,new ArrayList<>(potionEffects)); + } } diff --git a/src/main/java/pk/ajneb97/model/item/KitItemSkullData.java b/src/main/java/pk/ajneb97/model/item/KitItemSkullData.java index 1f70457..0504b90 100644 --- a/src/main/java/pk/ajneb97/model/item/KitItemSkullData.java +++ b/src/main/java/pk/ajneb97/model/item/KitItemSkullData.java @@ -29,4 +29,8 @@ public class KitItemSkullData { public void setId(String id) { this.id = id; } + + public KitItemSkullData clone(){ + return new KitItemSkullData(owner,texture,id); + } } diff --git a/src/main/java/pk/ajneb97/model/item/KitItemTrimData.java b/src/main/java/pk/ajneb97/model/item/KitItemTrimData.java index 1307eba..effd046 100644 --- a/src/main/java/pk/ajneb97/model/item/KitItemTrimData.java +++ b/src/main/java/pk/ajneb97/model/item/KitItemTrimData.java @@ -25,4 +25,8 @@ public class KitItemTrimData { public void setMaterial(String material) { this.material = material; } + + public KitItemTrimData clone(){ + return new KitItemTrimData(pattern,material); + } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 809c680..9299432 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ main: pk.ajneb97.PlayerKits2 -version: 1.8.2 +version: 1.8.3 name: PlayerKits2 api-version: 1.13 softdepend: [Vault,PlaceholderAPI]