feat: type filtering for cosmetics

This commit is contained in:
TheClashFruit 2023-06-20 13:37:41 +02:00
parent 103d277c7e
commit f731b368c5
Signed by: TheClashFruit
GPG key ID: CF4A319B9A73290C
9 changed files with 11 additions and 2 deletions

View file

@ -15,6 +15,7 @@ import org.bukkit.inventory.meta.ItemMeta;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@ -152,12 +153,20 @@ public class GuiUtil {
}
public static ItemStack getCosmeticMaterial(String type, int position, List<YamlConfiguration> cosmeticList) throws ParseException {
List<YamlConfiguration> processedList = new ArrayList<>();
switch (type.toLowerCase()) {
case "cosmetic_pet" -> {
ItemStack cosmeticItem = new ItemStack(Material.valueOf(cosmeticList.get(position).getString("menu.material")));
cosmeticList.forEach(cosmetic -> {
if(Objects.requireNonNull(cosmetic.getString("type")).equalsIgnoreCase("pet")) {
processedList.add(cosmetic);
}
});
ItemStack cosmeticItem = new ItemStack(Material.valueOf(processedList.get(position).getString("menu.material")));
NBTItem cosmeticNBT = new NBTItem(cosmeticItem);
cosmeticNBT.setObject("", new JSONParser().parse(cosmeticList.get(position).getString("menu.data")));
cosmeticNBT.setObject("", new JSONParser().parse(processedList.get(position).getString("menu.data")));
cosmeticNBT.applyNBT(cosmeticItem);
return cosmeticItem;