Does someone here know how to limit inventory.clear to only clear a certaint amount?
I tried js player.inventory.clear(Item.of(payment.id,amount,nbt)) player.inventory.clear(Ingredient.of(Item.of(payment.id,nbt),amount))
Then I looked at mojand did it for the /clear command, it seems to be```java
private static int clearInventory(CommandSourceStack p_136706_, Collection<ServerPlayer> p_136707_, Predicate<ItemStack> p_136708_, int p_136709_) throws CommandSyntaxException {
int i = 0;
for(ServerPlayer serverplayer : p_136707_) {
i += serverplayer.getInventory().clearOrCountMatchingItems(p_136708_, p_136709_, serverplayer.inventoryMenu.getCraftSlots());
serverplayer.containerMenu.broadcastChanges();
serverplayer.inventoryMenu.slotsChanged(serverplayer.getInventory());
}
if (i == 0) {
if (p_136707_.size() == 1) {
throw ERROR_SINGLE.create(p_136707_.iterator().next().getName());
} else {
throw ERROR_MULTIPLE.create(p_136707_.size());
}
} else {
int j = i;
if (p_136709_ == 0) {
if (p_136707_.size() == 1) {
p_136706_.sendSuccess(() -> Component.translatable("commands.clear.test.single", j, p_136707_.iterator().next().getDisplayName()), true);
} else {
p_136706_.sendSuccess(() -> Component.translatable("commands.clear.test.multiple", j, p_136707_.size()), true);
}
} else if (p_136707_.size() == 1) {
p_136706_.sendSuccess(() -> Component.translatable("commands.clear.success.single", j, p_136707_.iterator().next().getDisplayName()), true);
} else {
p_136706_.sendSuccess(() -> Component.translatable("commands.clear.success.multiple", j, p_136707_.size()), true);
}
return i;
}
}so I triedjs
player.inventory.clearOrCountMatchingItems(Item.of(payment.id,nbt),amount)```
But that tells me it couldn't find the methode
[10:16:58] [ERROR] ! …rhino.EvaluatorException: Can't find method net.minecraft.world.entity.player.Inventory.m_36022_(net.minecraft.world.item.ItemStack,number). (server_scripts:guis.js#2874)```
