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