LiteLDev / LeviLamina

A lightweight, modular and versatile mod loader for Minecraft Bedrock Edition, formerly known as LiteLoaderBDS
https://levimc.org/software/levilamina
GNU Lesser General Public License v3.0
1.14k stars 117 forks source link

分开使用pl.giveItem()给予相同物品出現问题 #875

Closed SKSK1 closed 1 year ago

SKSK1 commented 2 years ago

异常模块

ScriptEngine (脚本引擎)

操作系统

Windows 11

LiteLoader 版本

2.8.0 Actions# CMake #18

BDS 版本

1.19.40

发生了什么?

分开使用pl.giveItem()给予玩家相同物品时,只有第一次执行成功 但给予不同物品的话,似乎就没有这个问题 后台无任何报错

复现此问题的步骤

let diamond = mc.newItem('minecraft:diamond',1); //创建一个diamond物品对象 var gave1 = pl.giveItem(diamond); //第一次给予diamond并返回gave1 var gave2 =pl.giveItem(diamond); //第二次给予diamond并返回gave2 pl.tell(String(gave1)); //输出gave1,显示为true,即第一次给予成功 pl.tell(String(gave2)) //输出gave2,显示为true,即第二次给予成功,但玩家实际只收到1颗diamond

有关的日志/输出

插件列表

14:32:03 INFO [Server] 插件列表[5]
14:32:03 INFO [Server] - PermissionAPI [v2.8.0] (PermissionAPI.dll)
14:32:03 INFO [Server]   Builtin & Powerful permission API for LiteLoaderBDS
14:32:03 INFO [Server] - ScriptEngine-QuickJs [v2.8.0] (LiteLoader.Js.dll)
14:32:03 INFO [Server]   Javascript ScriptEngine for LiteLoaderBDS
14:32:03 INFO [Server] - ScriptEngine-NodeJs [v2.8.0] (LiteLoader.NodeJs.dll)
14:32:03 INFO [Server]   Node.js ScriptEngine for LiteLoaderBDS
14:32:03 INFO [Server] - ScriptEngine-Lua [v2.8.0] (LiteLoader.Lua.dll)
14:32:03 INFO [Server]   Lua ScriptEngine for LiteLoaderBDS
14:32:03 INFO [Server] - TEST [v1.0.0] (test.lxl.js)
14:32:03 INFO [Server]
14:32:03 INFO [Server]
14:32:03 INFO [Server]
Redbeanw44602 commented 1 year ago

给予相同物品当然不可行,你可以理解为同一个物品不能出现在背包里两次。 如果你确实要给予玩家相同的物品,请使用 item.clone()