Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

为目标选择器添加hasitem参数 #19

Open
xinchenxpc opened this issue Jun 30, 2023 · 0 comments
Open

为目标选择器添加hasitem参数 #19

xinchenxpc opened this issue Jun 30, 2023 · 0 comments

Comments

@xinchenxpc
Copy link

❇ 特性请求

在PNX中为指令的目标选择器添加hasitem参数

以下来自中文Minecraft Wiki

[hasitem={<参数1>=<值1>,<参数2>=<值2>,...}] — 根据指定目标的物品栏过滤目标。
[hasitem=[{<参数A>=<值A>,...},{<参数B>=<值B>,...}]] — 选择所有物品栏满足项目A条件和项目B条件的目标。
根据指定目标的物品栏是否满足条件过滤目标。hasitem参数在一个目标选择器中不能重复使用,但可以在参数中指定多个条件项目。
hasitem给定的值必须用{}框起来,如果条件项目多余一个则必须用,将各个项目隔开,并用[]框起来。
条件项目中可以重复使用相同的参数,但后来添加的参数会覆盖掉之前的,所以它只会使用最后一个参数中的值。
条件项目中所有可用参数:

item
指定要检测的物品,此参数的值必须填入一个有效的物品ID,或一个存在物品形态的有效的方块ID。此参数为必要参数。如果未定义,命令将执行失败。

data
可选,指定要检测的物品的数据值,此参数的值必须是0至32767之间(包含)的整数。如果填入的值无效,可能造成游戏崩溃,如果未定义,则默认为0。
目前不适用于方块类物品。对于方块类物品,data参数的值始终为默认值0,且搜索到的方块类物品的数据值也会自动转换为0。

quantity
可选,限制范围内的所有槽位中符合条件的物品的总和数量,此参数支持使用范围及不等式(=!)。如果未定义,则默认为1..。
当此参数的值为0,则选择所有没有符合条件的物品的目标。当此参数的值为0..,则当前条件项目不做过滤。
物品栏中空气的数量始终是0个。

location
可选,指定要检测的物品栏,此参数的值必须是一个有效的物品栏。如果未定义,则检测目标的所有物品栏。
即便指定目标没有指定的物品栏,当前条件项目仍然会对该目标进行过滤。这意味着如果quantity的值的范围包括0,该目标将被当前条件项目选中。

slot
可选,使用时必须使用location参数,用于指定要检测的槽位范围,此参数支持使用范围及不等式(=!)。如果未定义则默认为slot=0..。

示例:
@e[hasitem={item=apple}] — 选择所有拥有苹果的实体。
@A[hasitem={item=stone,quantity=192,location=slot.hotbar,slot=0..2}] — 选择所有工具栏前3格填满石头的玩家。
@A[hasitem=[{item=diamond,quantity=3..},{item=stick,quantity=2..}]] — 选择所有同时拥有至少3颗钻石和2根木棍的玩家。

📸 截图 / 视频

image

💬 你知道的其他信息

https://www.bilibili.com/read/cv21341805?from=search&spm_id_from=333.337.0.0&jump_opus=1

@CoolLoong CoolLoong transferred this issue from PowerNukkitX/PowerNukkitX Jan 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant