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