添加getEntityAllEffects接口
This commit is contained in:
Vendored
+6
-6
@@ -1097,12 +1097,6 @@ interface Player {
|
|||||||
/** 方块对象 */
|
/** 方块对象 */
|
||||||
block: Block
|
block: Block
|
||||||
): number;
|
): number;
|
||||||
|
|
||||||
/** (GMLIB)玩家是否拥有buff效果 */
|
|
||||||
hasEffect(
|
|
||||||
/** 效果ID */
|
|
||||||
effectId: number
|
|
||||||
): boolean;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Entity {
|
interface Entity {
|
||||||
@@ -1162,6 +1156,12 @@ interface Entity {
|
|||||||
family: string
|
family: string
|
||||||
): boolean;
|
): boolean;
|
||||||
|
|
||||||
|
/** (GMLIB)实体是否拥有buff效果 */
|
||||||
|
hasEffect(
|
||||||
|
/** 效果ID */
|
||||||
|
effectId: number
|
||||||
|
): boolean;
|
||||||
|
|
||||||
/** (GMLIB)获取buff信息 */
|
/** (GMLIB)获取buff信息 */
|
||||||
getEffectInfo(
|
getEffectInfo(
|
||||||
/** 效果ID */
|
/** 效果ID */
|
||||||
|
|||||||
+11
-9
@@ -344,22 +344,24 @@ const GMLIB_API = {
|
|||||||
entityHasFamily: ll.import("GMLIB_API", "entityHasFamily"),
|
entityHasFamily: ll.import("GMLIB_API", "entityHasFamily"),
|
||||||
/** 获取玩家破坏方块所需时间 @type {function(Player,Block):number} */
|
/** 获取玩家破坏方块所需时间 @type {function(Player,Block):number} */
|
||||||
getPlayerDestroyBlockProgress: ll.import("GMLIB_API", "getPlayerDestroyBlockProgress"),
|
getPlayerDestroyBlockProgress: ll.import("GMLIB_API", "getPlayerDestroyBlockProgress"),
|
||||||
/** 获取玩家的buff是否显示 @type {function(Player,number):boolean} */
|
/** 获取实体的buff是否显示 @type {function(Player,number):boolean} */
|
||||||
getEntityEffectVisible: ll.import("GMLIB_API", "getEntityEffectVisible"),
|
getEntityEffectVisible: ll.import("GMLIB_API", "getEntityEffectVisible"),
|
||||||
/** 获取玩家的buff持续时间 @type {function(Player,number):number} */
|
/** 获取实体的buff持续时间 @type {function(Player,number):number} */
|
||||||
getEntityEffectDuration: ll.import("GMLIB_API", "getEntityEffectDuration"),
|
getEntityEffectDuration: ll.import("GMLIB_API", "getEntityEffectDuration"),
|
||||||
/** 获取玩家的buff简单模式下的持续时间 @type {function(Player,number):number} */
|
/** 获取实体的buff简单模式下的持续时间 @type {function(Player,number):number} */
|
||||||
getEntityEffectDurationEasy: ll.import("GMLIB_API", "getEntityEffectDuration"),
|
getEntityEffectDurationEasy: ll.import("GMLIB_API", "getEntityEffectDuration"),
|
||||||
/** 获取玩家的buff困难模式下的持续时间 @type {function(Player,number):number} */
|
/** 获取实体的buff困难模式下的持续时间 @type {function(Player,number):number} */
|
||||||
getEntityEffectDurationHard: ll.import("GMLIB_API", "getEntityEffectDurationHard"),
|
getEntityEffectDurationHard: ll.import("GMLIB_API", "getEntityEffectDurationHard"),
|
||||||
/** 获取玩家的buff普通模式下的持续时间 @type {function(Player,number):number} */
|
/** 获取实体的buff普通模式下的持续时间 @type {function(Player,number):number} */
|
||||||
getEntityEffectDurationNormal: ll.import("GMLIB_API", "getEntityEffectDurationNormal"),
|
getEntityEffectDurationNormal: ll.import("GMLIB_API", "getEntityEffectDurationNormal"),
|
||||||
/** 获取玩家的buff效果等级 @type {function(Player,number):number} */
|
/** 获取实体的buff效果等级 @type {function(Player,number):number} */
|
||||||
getEntityEffectAmplifier: ll.import("GMLIB_API", "getEntityEffectAmplifier"),
|
getEntityEffectAmplifier: ll.import("GMLIB_API", "getEntityEffectAmplifier"),
|
||||||
/** 获取玩家的buff是否为信标给予 @type {function(Player,number):boolean} */
|
/** 获取实体的buff是否为信标给予 @type {function(Player,number):boolean} */
|
||||||
getEntityEffectAmbient: ll.import("GMLIB_API", "getEntityEffectAmbient"),
|
getEntityEffectAmbient: ll.import("GMLIB_API", "getEntityEffectAmbient"),
|
||||||
/** 玩家是否拥有buff效果 @type {function(Player,number):boolean} */
|
/** 实体是否拥有buff效果 @type {function(Player,number):boolean} */
|
||||||
entityHasEffect: ll.import("GMLIB_API", "entityHasEffect"),
|
entityHasEffect: ll.import("GMLIB_API", "entityHasEffect"),
|
||||||
|
/** 获取实体所有buff效果 @type {function(Entity):Array.<number>} */
|
||||||
|
getEntityAllEffects: ll.import("GMLIB_API", "getEntityAllEffects"),
|
||||||
/** 获取游戏难度 @type {function():number} */
|
/** 获取游戏难度 @type {function():number} */
|
||||||
getGameDifficulty: ll.import("GMLIB_API", "getGameDifficulty"),
|
getGameDifficulty: ll.import("GMLIB_API", "getGameDifficulty"),
|
||||||
/** 设置游戏难度 @type {function(difficulty):void} */
|
/** 设置游戏难度 @type {function(difficulty):void} */
|
||||||
@@ -2585,7 +2587,7 @@ LLSE_Player.prototype.getDestroyProgress =
|
|||||||
|
|
||||||
LLSE_Entity.prototype.hasEffect =
|
LLSE_Entity.prototype.hasEffect =
|
||||||
/**
|
/**
|
||||||
* 玩家是否拥有buff效果
|
* 实体是否拥有buff效果
|
||||||
* @param {number} effectId buff效果ID
|
* @param {number} effectId buff效果ID
|
||||||
* @returns {boolean}
|
* @returns {boolean}
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#include "Global.h"
|
#include "Global.h"
|
||||||
#include <regex>
|
#include <regex>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
bool isInteger(const std::string& str) {
|
bool isInteger(const std::string& str) {
|
||||||
std::regex pattern("^[+-]?\\d+$");
|
std::regex pattern("^[+-]?\\d+$");
|
||||||
@@ -935,6 +936,14 @@ void Export_Compatibility_API() {
|
|||||||
RemoteCall::exportAs("GMLIB_API", "entityHasEffect", [](Actor* entity, int effectId) -> int {
|
RemoteCall::exportAs("GMLIB_API", "entityHasEffect", [](Actor* entity, int effectId) -> int {
|
||||||
return entity->hasEffect(*MobEffect::getById(effectId));
|
return entity->hasEffect(*MobEffect::getById(effectId));
|
||||||
});
|
});
|
||||||
|
RemoteCall::exportAs("GMLIB_API", "getEntityAllEffects", [](Actor* entity) -> std::vector<int> {
|
||||||
|
auto effects = entity->getAllEffects();
|
||||||
|
std::vector<int> results = {};
|
||||||
|
for (auto effect : effects) {
|
||||||
|
results.push_back((int)effect.mId);
|
||||||
|
}
|
||||||
|
return results;
|
||||||
|
});
|
||||||
RemoteCall::exportAs("GMLIB_API", "getGameDifficulty", []() -> int {
|
RemoteCall::exportAs("GMLIB_API", "getGameDifficulty", []() -> int {
|
||||||
if (auto level = ll::service::getLevel()) {
|
if (auto level = ll::service::getLevel()) {
|
||||||
return (int)level->getDifficulty();
|
return (int)level->getDifficulty();
|
||||||
|
|||||||
Reference in New Issue
Block a user