From 374e5a29e02b4ef42a6a4d0f324a3ce26a7a6b10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=90=E6=B2=90=E5=91=80?= <163636894+zimuya4153@users.noreply.github.com> Date: Thu, 11 Jul 2024 19:38:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A02=E4=B8=AA=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - getItemRepairCost - setItemRepairCost --- lib/EventAPI-JS.d.ts | 2 -- lib/GMLIB_API-JS.d.ts | 9 +++++++++ lib/GMLIB_API-JS.js | 26 +++++++++++++++++++++++--- src/CompatibilityApi.cpp | 6 ++++++ 4 files changed, 38 insertions(+), 5 deletions(-) diff --git a/lib/EventAPI-JS.d.ts b/lib/EventAPI-JS.d.ts index 897d826..10eb645 100644 --- a/lib/EventAPI-JS.d.ts +++ b/lib/EventAPI-JS.d.ts @@ -1,5 +1,3 @@ -/// - /** 事件监听接口 */ declare class Event { /** 生物捡起物品 */ diff --git a/lib/GMLIB_API-JS.d.ts b/lib/GMLIB_API-JS.d.ts index d08a6e3..18b5fc1 100644 --- a/lib/GMLIB_API-JS.d.ts +++ b/lib/GMLIB_API-JS.d.ts @@ -1202,4 +1202,13 @@ interface Item { /** 锁定模式 */ mode: 0 | 1 | 2 ): void; + + /** (GMLIB)获取物品的惩罚等级 */ + getRepairCost(): number; + + /** (GMLIB)设置物品的惩罚等级 */ + setRepairCost( + /** 要设置的惩罚等级 */ + cost: number + ): void; } \ No newline at end of file diff --git a/lib/GMLIB_API-JS.js b/lib/GMLIB_API-JS.js index fc70b8a..863e5cc 100644 --- a/lib/GMLIB_API-JS.js +++ b/lib/GMLIB_API-JS.js @@ -1,5 +1,3 @@ -/// - /** LRCA导出接口 */ const GMLIB_API = { /** 创建悬浮字 @type {function(FloatPos,string,boolean):number} */ @@ -301,7 +299,11 @@ const GMLIB_API = { /** 获取物品锁定模式 @type {function(Item):number} */ getItemLockMode: ll.import("GMLIB_API", "getItemLockMode"), /** 设置物品锁定模式 @type {function(Item,number):void} */ - setItemLockMode: ll.import("GMLIB_API", "setItemLockMode") + setItemLockMode: ll.import("GMLIB_API", "setItemLockMode"), + /** 获取物品惩罚等级 @type {function(Item):number} */ + getItemRepairCost: ll.import("GMLIB_API", "getItemRepairCost"), + /** 设置物品惩罚等级 @type {function(Item,number):void} */ + setItemRepairCost: ll.import("GMLIB_API", "setItemRepairCost") } /** 静态悬浮字类列表 @type {Map} */ @@ -2281,6 +2283,24 @@ LLSE_Item.prototype.setItemLockMode = GMLIB_API.setItemLockMode(this, mode); } +LLSE_Item.prototype.getRepairCost = + /** + * 获取物品的惩罚等级 + * @returns {number} 惩罚等级 + */ + function () { + return GMLIB_API.getItemRepairCost(this); + } + +LLSE_Item.prototype.setRepairCost = + /** + * 设置物品的惩罚等级 + * @param {number} cost 要设置的惩罚等级 + */ + function (cost) { + return GMLIB_API.setItemRepairCost(this, cost); + } + module.exports = { StaticFloatingText, DynamicFloatingText, diff --git a/src/CompatibilityApi.cpp b/src/CompatibilityApi.cpp index 56ccdd8..4ddfb02 100644 --- a/src/CompatibilityApi.cpp +++ b/src/CompatibilityApi.cpp @@ -798,4 +798,10 @@ void Export_Compatibility_API() { RemoteCall::exportAs("GMLIB_API", "setItemLockMode", [](ItemStack const* item, int value) -> void { ((GMLIB_ItemStack*)item)->setItemLockMode((ItemLockMode)value); }); + RemoteCall::exportAs("GMLIB_API", "getItemRepairCost", [](ItemStack const* item) -> int { + return item->getBaseRepairCost(); + }); + RemoteCall::exportAs("GMLIB_API", "setItemRepairCost", [](ItemStack const* item, int cost) -> void { + ((ItemStackBase*)item)->setRepairCost(cost); + }); } \ No newline at end of file