Помогите PAPI JavaScript - количество предметов с ID в инвентаре

ThePrime

Активный участник
Пользователь
Баллы
66
Ник в Minecraft
Isus
Есть JS-плейсхолдер, который подсчитывает количество нужных предметов в инвентаре игрока. (%javascript_amount_STONE%). Но проблема в том, что в 1.12 предметы уникальны по ID, а не NBT, так что начиная от камня и заканчивая андезитом, плейсхолдер считает это как один материал.
Необходимо переделать плейсхолдер так, чтобы можно было передавать в параметры числовой ID и получать количество необходимых предметов именно по нему. К примеру, %javascript_amount_1:3%

Вот сам плейсхолдер:
var player = BukkitPlayer;
var searchItem = null;
var searchName = null;
var amountOfItem = 0;

function checkForItem() {
if (args !== undefined) {
if (args.length >= 1) {
searchItem = args[0].toUpperCase();
searchItem = searchItem.replace("-", "_")
.replace("WOODEN", "WOOD")
.replace("SHOVEL", "SPADE");
};
if (args.length == 2) {
searchName = args[1];
};
};

var itemsInInventory = player.getInventory().getContents();

for (i = 0; i < itemsInInventory.length; i++) {
if (searchName != null) {
if (itemsInInventory != null && itemsInInventory.getType() == searchItem && itemsInInventory.getItemMeta().getDisplayName() == searchName) {
amountOfItem += itemsInInventory.getAmount();
};
}
else if (itemsInInventory != null && itemsInInventory.getType() == searchItem) {
amountOfItem += itemsInInventory.getAmount();
};
};
if (searchItem == null) {
return "&cSyntax: %" + "javascript_[MATERIAL]<,NAME>" + "%";
}
return amountOfItem.toString();
};

checkForItem();
 
Есть JS-плейсхолдер, который подсчитывает количество нужных предметов в инвентаре игрока. (%javascript_amount_STONE%). Но проблема в том, что в 1.12 предметы уникальны по ID, а не NBT, так что начиная от камня и заканчивая андезитом, плейсхолдер считает это как один материал.
Необходимо переделать плейсхолдер так, чтобы можно было передавать в параметры числовой ID и получать количество необходимых предметов именно по нему. К примеру, %javascript_amount_1:3%

Вот сам плейсхолдер:
var player = BukkitPlayer;
var searchItem = null;
var searchName = null;
var amountOfItem = 0;

function checkForItem() {
if (args !== undefined) {
if (args.length >= 1) {
searchItem = args[0].toUpperCase();
searchItem = searchItem.replace("-", "_")
.replace("WOODEN", "WOOD")
.replace("SHOVEL", "SPADE");
};
if (args.length == 2) {
searchName = args[1];
};
};

var itemsInInventory = player.getInventory().getContents();

for (i = 0; i < itemsInInventory.length; i++) {
if (searchName != null) {
if (itemsInInventory != null && itemsInInventory.getType() == searchItem && itemsInInventory.getItemMeta().getDisplayName() == searchName) {
amountOfItem += itemsInInventory.getAmount();
};
}
else if (itemsInInventory != null && itemsInInventory.getType() == searchItem) {
amountOfItem += itemsInInventory.getAmount();
};
};
if (searchItem == null) {
return "&cSyntax: %" + "javascript_[MATERIAL]<,NAME>" + "%";
}
return amountOfItem.toString();
};

checkForItem();
Получай дамаг предмета, ибо зачастую это и есть тот самый суб ид ниже 1.13 версий
 
Назад
Верх Низ