mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-16 17:05:20 +01:00
fix some region errors
This commit is contained in:
@@ -6,9 +6,13 @@ import emu.grasscutter.game.entity.EntityMonster;
|
||||
import emu.grasscutter.game.entity.GameEntity;
|
||||
import emu.grasscutter.game.entity.gadget.GadgetWorktop;
|
||||
import emu.grasscutter.game.dungeons.challenge.factory.ChallengeFactory;
|
||||
import emu.grasscutter.game.props.EntityType;
|
||||
import emu.grasscutter.game.quest.enums.QuestState;
|
||||
import emu.grasscutter.game.quest.enums.QuestTrigger;
|
||||
import emu.grasscutter.scripts.data.SceneGroup;
|
||||
import emu.grasscutter.scripts.data.SceneRegion;
|
||||
import emu.grasscutter.server.packet.send.PacketCanUseSkillNotify;
|
||||
import emu.grasscutter.server.packet.send.PacketDungeonShowReminderNotify;
|
||||
import emu.grasscutter.server.packet.send.PacketWorktopOptionNotify;
|
||||
import io.netty.util.concurrent.FastThreadLocal;
|
||||
import org.luaj.vm2.LuaTable;
|
||||
@@ -502,4 +506,47 @@ public class ScriptLib {
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
public int GetEntityType(int entityId){
|
||||
var entity = getSceneScriptManager().getScene().getEntityById(entityId);
|
||||
if(entity == null){
|
||||
return EntityType.None.getValue();
|
||||
}
|
||||
|
||||
return entity.getEntityType();
|
||||
}
|
||||
|
||||
public int GetQuestState(int entityId, int questId){
|
||||
var player = getSceneScriptManager().getScene().getWorld().getHost();
|
||||
|
||||
var quest = player.getQuestManager().getQuestById(questId);
|
||||
if(quest == null){
|
||||
return QuestState.QUEST_STATE_NONE.getValue();
|
||||
}
|
||||
|
||||
return quest.getState().getValue();
|
||||
}
|
||||
|
||||
public int ShowReminder(int reminderId){
|
||||
getSceneScriptManager().getScene().broadcastPacket(new PacketDungeonShowReminderNotify(reminderId));
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int RemoveEntityByConfigId(int groupId, int entityType, int configId){
|
||||
logger.debug("[LUA] Call RemoveEntityByConfigId");
|
||||
|
||||
var entity = getSceneScriptManager().getScene().getEntities().values().stream()
|
||||
.filter(e -> e.getGroupId() == groupId)
|
||||
.filter(e -> e.getEntityType() == entityType)
|
||||
.filter(e -> e.getConfigId() == configId)
|
||||
.findFirst();
|
||||
|
||||
if(entity.isEmpty()){
|
||||
return 1;
|
||||
}
|
||||
|
||||
getSceneScriptManager().getScene().removeEntity(entity.get());
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user