diff --git a/lib/GMLIB_API-JS.d.ts b/lib/GMLIB_API-JS.d.ts index 8dfeb69..b21eeff 100644 --- a/lib/GMLIB_API-JS.d.ts +++ b/lib/GMLIB_API-JS.d.ts @@ -1229,4 +1229,13 @@ interface Item { /** 能放置的方块 */ blocks: string[] ): void; + + /** (GMLIB)获取玩家饱食度 */ + getHungry(): number; + + /** (GMLIB)获取玩家盔甲覆盖百分比 */ + getArmorCoverPercentage(): number; + + /** (GMLIB)获取玩家盔甲值 */ + getArmorValue(): number; } \ No newline at end of file diff --git a/lib/GMLIB_API-JS.js b/lib/GMLIB_API-JS.js index 6beaeac..a9d3e1c 100644 --- a/lib/GMLIB_API-JS.js +++ b/lib/GMLIB_API-JS.js @@ -311,7 +311,13 @@ const GMLIB_API = { /** 获取物品冒险模式下能放置在什么方块上 @type {function(Item):Array.} */ getItemCanPlaceOn: ll.import("GMLIB_API", "getItemCanPlaceOn"), /** 设置物品冒险模式下能放置在什么方块上 @type {function(Item,Array.):void} */ - setItemCanPlaceOn: ll.import("GMLIB_API", "setItemCanPlaceOn") + setItemCanPlaceOn: ll.import("GMLIB_API", "setItemCanPlaceOn"), + /** 获取玩家饱食度 @type {function(Player):number} */ + getPlayerHungry: ll.import("GMLIB_API", "getPlayerHungry"), + /** 获取玩家盔甲覆盖百分比 @type {function(Player):number} */ + getPlayerArmorCoverPercentage: ll.import("GMLIB_API", "getPlayerArmorCoverPercentage"), + /** 获取玩家盔甲值 @type {function(Player):number} */ + getPlayerArmorValue: ll.import("GMLIB_API", "getPlayerArmorValue"), } /** 静态悬浮字类列表 @type {Map} */ @@ -2345,6 +2351,33 @@ LLSE_Item.prototype.setCanPlaceOn = GMLIB_API.setItemCanPlaceOn(this, blocks); } +LLSE_Player.prototype.getHungry = + /** + * 获取玩家饱食度 + * @returns {number} + */ + function () { + return GMLIB_API.getPlayerHungry(this) + } + +LLSE_Player.prototype.getArmorCoverPercentage = + /** + * 获取玩家盔甲覆盖百分比 + * @returns {number} + */ + function () { + return GMLIB_API.getPlayerArmorCoverPercentage(this) + } + +LLSE_Player.prototype.getArmorValue = + /** + * 获取玩家盔甲值覆盖百分比 + * @returns {number} + */ + function () { + return GMLIB_API.getPlayerArmorValue(this) + } + module.exports = { StaticFloatingText, DynamicFloatingText, diff --git a/src/CompatibilityApi.cpp b/src/CompatibilityApi.cpp index fb9eea2..9503c39 100644 --- a/src/CompatibilityApi.cpp +++ b/src/CompatibilityApi.cpp @@ -1,4 +1,5 @@ #include "Global.h" +#include "mc/enums/AbilitiesIndex.h" #include #include @@ -833,4 +834,13 @@ void Export_Compatibility_API() { ((GMLIB_ItemStack*)item)->setCanPlaceOn(blocks); } ); + RemoteCall::exportAs("GMLIB_API", "getPlayerHungry", [](Player* player) -> float { + return player->getMutableAttribute(Player::HUNGER)->getCurrentValue(); + }); + RemoteCall::exportAs("GMLIB_API", "getPlayerArmorCoverPercentage", [](Player* player) -> float { + return player->getArmorCoverPercentage(); + }); + RemoteCall::exportAs("GMLIB_API", "getPlayerArmorValue", [](Player* player) -> int { + return player->getArmorValue(); + }); } \ No newline at end of file