当前位置: 首页 > 知识库问答 >
问题:

仅从库存中删除1项[重复]

东方飞捷
2023-03-14

我尝试只删除 1 个项目,或者当我使用打开的库存单击它时保留项目堆栈,但是,方法:player.getInventory().remove(item),删除库存中的所有类似项目,如何只删除 1 个项目,或 1 个 ItemStack

共有2个答案

彭洲
2023-03-14

您可以使用clear方法:

void clear​(int index)

Clears out a particular slot in the index.

Parameters:
    index - The index to empty. 

使用方法如下:

// removes just a first stack of golden apples

int firstGoldenAppleIndex = player.getInventory().first(Material.GOLDEN_APPLE);
bool foundGoldenApple = firstGoldenAppleIndex != -1;

if (foundGoldenApple) {
  player.getInventory().clear(firstGoldenAppleIndex);
}
西门鹏程
2023-03-14

鉴于缺乏信息,这是我最好的猜测:

player.getInventory().remove(item)

此方法可能会删除清单中的所有项目,当与使用equals()方法作为参数传递的项目相比时,返回true。

所以,你可以尝试两件事:

  1. 在项目参数的类中实现或更改 equals 方法
  2. 在项实例中设置不同的属性值,以便 equals() 不再返回 true。
 类似资料:
  • 我试着查看玩家的物品清单中是否有物品,如果有,就移除其中一个。以下是我现在所拥有的: 它获取他们是否拥有该项目,但不会删除一个。 如何从玩家的库存中移除一件物品?

  • 我正在尝试创建多个文本文件的存档。有时这些文件会更新,当这些文件更新时,我使用 tar 中的 选项将这些文件附加到存档中。 假设我们有两个文件,test1.txt和test2.txt.这些文件被添加到存档test.tar. 用焦油 我得到的如预期: 现在,如果我更新test2.txt,并使用< code > tar-f test.tar-u test 2 . txt 将其添加到存档中。 我希望运行

  • 问题内容: 这可能很简单,这是我的查询: 但这只会删除具有相同u.name和p.pic_id的行中的重复项。我想要这样,如果名称有任何重复,则只剩下其他行。这是一个奇怪的查询,但是总的来说,我如何将不重复项应用于SELECT子句的单个列? 问题答案: 任意选择保留最小的PIC_ID。另外,请避免使用隐式连接语法。

  • 问题内容: 我有一个自定义对象的ArrayList。我要删除重复的条目。 对象具有三个字段:和。如果字幕多次出现,那么我只需要带有thats字幕的第一项(忽略带有该字幕的其余对象)。 问题答案: 您可以使用自定义Comparator将ArrayList的内容放入TreeSet中,如果两个字幕相同,则应返回0。之后,您可以将Set转换为列表,并使列表中没有“重复项”。这是对象的示例,您当然应该使用正

  • 问题内容: 数据库类型为PostGres 8.3。 如果我写了: 我有一些计数超过1的行。如何取出重复的行(我仍然希望每个行都保留1行,而不是+1行…我不想删除所有行。) 例子: 应该变成: 我找到的唯一答案是 在那里,但是我想知道是否可以在没有哈希列的情况下做到这一点。 警告 我没有具有唯一编号的PK,因此无法使用min(…)技术。PK是3个字段。 问题答案: 这是所有表都应具有主键的众多原因之

  • 问题内容: 我有一张桌子,上面有一些ID +标题。我想使title列唯一,但是它已经有60万条记录,其中有些是重复的(有时是几十次)。 如何删除除一个以外的所有重复项,以便之后可以向标题栏添加一个唯一键? 问题答案: 此命令添加唯一键,并删除所有会产生错误的行(由于唯一键)。这将删除重复项。 编辑:请注意,对于某些版本的MySQL ,此命令可能不适用于InnoDB表。解决方法请参阅此帖子。(感谢“