feat: type filtering for cosmetics
This commit is contained in:
parent
103d277c7e
commit
f731b368c5
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -15,6 +15,7 @@ import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.json.simple.parser.JSONParser;
|
import org.json.simple.parser.JSONParser;
|
||||||
import org.json.simple.parser.ParseException;
|
import org.json.simple.parser.ParseException;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
@ -152,12 +153,20 @@ public class GuiUtil {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemStack getCosmeticMaterial(String type, int position, List<YamlConfiguration> cosmeticList) throws ParseException {
|
public static ItemStack getCosmeticMaterial(String type, int position, List<YamlConfiguration> cosmeticList) throws ParseException {
|
||||||
|
List<YamlConfiguration> processedList = new ArrayList<>();
|
||||||
|
|
||||||
switch (type.toLowerCase()) {
|
switch (type.toLowerCase()) {
|
||||||
case "cosmetic_pet" -> {
|
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);
|
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);
|
cosmeticNBT.applyNBT(cosmeticItem);
|
||||||
|
|
||||||
return cosmeticItem;
|
return cosmeticItem;
|
||||||
|
|
Loading…
Reference in a new issue