// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: define.proto

package io.grasscutter.net.proto.define;

public interface SceneEntityInfoOrBuilder extends
    // @@protoc_insertion_point(interface_extends:SceneEntityInfo)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <code>.EntityClientData entity_client_data = 19;</code>
   * @return Whether the entityClientData field is set.
   */
  boolean hasEntityClientData();
  /**
   * <code>.EntityClientData entity_client_data = 19;</code>
   * @return The entityClientData.
   */
  io.grasscutter.net.proto.define.EntityClientData getEntityClientData();
  /**
   * <code>.EntityClientData entity_client_data = 19;</code>
   */
  io.grasscutter.net.proto.define.EntityClientDataOrBuilder getEntityClientDataOrBuilder();

  /**
   * <code>repeated string tag_list = 22;</code>
   * @return A list containing the tagList.
   */
  java.util.List<java.lang.String>
      getTagListList();
  /**
   * <code>repeated string tag_list = 22;</code>
   * @return The count of tagList.
   */
  int getTagListCount();
  /**
   * <code>repeated string tag_list = 22;</code>
   * @param index The index of the element to return.
   * @return The tagList at the given index.
   */
  java.lang.String getTagList(int index);
  /**
   * <code>repeated string tag_list = 22;</code>
   * @param index The index of the value to return.
   * @return The bytes of the tagList at the given index.
   */
  com.google.protobuf.ByteString
      getTagListBytes(int index);

  /**
   * <code>.MotionInfo motion_info = 4;</code>
   * @return Whether the motionInfo field is set.
   */
  boolean hasMotionInfo();
  /**
   * <code>.MotionInfo motion_info = 4;</code>
   * @return The motionInfo.
   */
  io.grasscutter.net.proto.define.MotionInfo getMotionInfo();
  /**
   * <code>.MotionInfo motion_info = 4;</code>
   */
  io.grasscutter.net.proto.define.MotionInfoOrBuilder getMotionInfoOrBuilder();

  /**
   * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair> 
      getAnimatorParaListList();
  /**
   * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
   */
  io.grasscutter.net.proto.define.AnimatorParameterValueInfoPair getAnimatorParaList(int index);
  /**
   * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
   */
  int getAnimatorParaListCount();
  /**
   * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.AnimatorParameterValueInfoPairOrBuilder> 
      getAnimatorParaListOrBuilderList();
  /**
   * <code>repeated .AnimatorParameterValueInfoPair animator_para_list = 9;</code>
   */
  io.grasscutter.net.proto.define.AnimatorParameterValueInfoPairOrBuilder getAnimatorParaListOrBuilder(
      int index);

  /**
   * <code>repeated .PropPair prop_list = 5;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.PropPair> 
      getPropListList();
  /**
   * <code>repeated .PropPair prop_list = 5;</code>
   */
  io.grasscutter.net.proto.define.PropPair getPropList(int index);
  /**
   * <code>repeated .PropPair prop_list = 5;</code>
   */
  int getPropListCount();
  /**
   * <code>repeated .PropPair prop_list = 5;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.PropPairOrBuilder> 
      getPropListOrBuilderList();
  /**
   * <code>repeated .PropPair prop_list = 5;</code>
   */
  io.grasscutter.net.proto.define.PropPairOrBuilder getPropListOrBuilder(
      int index);

  /**
   * <code>repeated .ServerBuff server_buff_list = 23;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.ServerBuff> 
      getServerBuffListList();
  /**
   * <code>repeated .ServerBuff server_buff_list = 23;</code>
   */
  io.grasscutter.net.proto.define.ServerBuff getServerBuffList(int index);
  /**
   * <code>repeated .ServerBuff server_buff_list = 23;</code>
   */
  int getServerBuffListCount();
  /**
   * <code>repeated .ServerBuff server_buff_list = 23;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.ServerBuffOrBuilder> 
      getServerBuffListOrBuilderList();
  /**
   * <code>repeated .ServerBuff server_buff_list = 23;</code>
   */
  io.grasscutter.net.proto.define.ServerBuffOrBuilder getServerBuffListOrBuilder(
      int index);

  /**
   * <code>string name = 3;</code>
   * @return The name.
   */
  java.lang.String getName();
  /**
   * <code>string name = 3;</code>
   * @return The bytes for name.
   */
  com.google.protobuf.ByteString
      getNameBytes();

  /**
   * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.EntityEnvironmentInfo> 
      getEntityEnvironmentInfoListList();
  /**
   * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
   */
  io.grasscutter.net.proto.define.EntityEnvironmentInfo getEntityEnvironmentInfoList(int index);
  /**
   * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
   */
  int getEntityEnvironmentInfoListCount();
  /**
   * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.EntityEnvironmentInfoOrBuilder> 
      getEntityEnvironmentInfoListOrBuilderList();
  /**
   * <code>repeated .EntityEnvironmentInfo entity_environment_info_list = 20;</code>
   */
  io.grasscutter.net.proto.define.EntityEnvironmentInfoOrBuilder getEntityEnvironmentInfoListOrBuilder(
      int index);

  /**
   * <code>.EntityAuthorityInfo entity_authority_info = 21;</code>
   * @return Whether the entityAuthorityInfo field is set.
   */
  boolean hasEntityAuthorityInfo();
  /**
   * <code>.EntityAuthorityInfo entity_authority_info = 21;</code>
   * @return The entityAuthorityInfo.
   */
  io.grasscutter.net.proto.define.EntityAuthorityInfo getEntityAuthorityInfo();
  /**
   * <code>.EntityAuthorityInfo entity_authority_info = 21;</code>
   */
  io.grasscutter.net.proto.define.EntityAuthorityInfoOrBuilder getEntityAuthorityInfoOrBuilder();

  /**
   * <code>repeated .FightPropPair fight_prop_list = 6;</code>
   */
  java.util.List<io.grasscutter.net.proto.define.FightPropPair> 
      getFightPropListList();
  /**
   * <code>repeated .FightPropPair fight_prop_list = 6;</code>
   */
  io.grasscutter.net.proto.define.FightPropPair getFightPropList(int index);
  /**
   * <code>repeated .FightPropPair fight_prop_list = 6;</code>
   */
  int getFightPropListCount();
  /**
   * <code>repeated .FightPropPair fight_prop_list = 6;</code>
   */
  java.util.List<? extends io.grasscutter.net.proto.define.FightPropPairOrBuilder> 
      getFightPropListOrBuilderList();
  /**
   * <code>repeated .FightPropPair fight_prop_list = 6;</code>
   */
  io.grasscutter.net.proto.define.FightPropPairOrBuilder getFightPropListOrBuilder(
      int index);

  /**
   * <code>uint32 life_state = 7;</code>
   * @return The lifeState.
   */
  int getLifeState();

  /**
   * <code>uint32 last_move_scene_time_ms = 17;</code>
   * @return The lastMoveSceneTimeMs.
   */
  int getLastMoveSceneTimeMs();

  /**
   * <code>uint32 last_move_reliable_seq = 18;</code>
   * @return The lastMoveReliableSeq.
   */
  int getLastMoveReliableSeq();

  /**
   * <code>.ProtEntityType entity_type = 1;</code>
   * @return The enum numeric value on the wire for entityType.
   */
  int getEntityTypeValue();
  /**
   * <code>.ProtEntityType entity_type = 1;</code>
   * @return The entityType.
   */
  io.grasscutter.net.proto.define.ProtEntityType getEntityType();

  /**
   * <code>.SceneNpcInfo npc = 12;</code>
   * @return Whether the npc field is set.
   */
  boolean hasNpc();
  /**
   * <code>.SceneNpcInfo npc = 12;</code>
   * @return The npc.
   */
  io.grasscutter.net.proto.define.SceneNpcInfo getNpc();
  /**
   * <code>.SceneNpcInfo npc = 12;</code>
   */
  io.grasscutter.net.proto.define.SceneNpcInfoOrBuilder getNpcOrBuilder();

  /**
   * <code>.SceneGadgetInfo gadget = 13;</code>
   * @return Whether the gadget field is set.
   */
  boolean hasGadget();
  /**
   * <code>.SceneGadgetInfo gadget = 13;</code>
   * @return The gadget.
   */
  io.grasscutter.net.proto.define.SceneGadgetInfo getGadget();
  /**
   * <code>.SceneGadgetInfo gadget = 13;</code>
   */
  io.grasscutter.net.proto.define.SceneGadgetInfoOrBuilder getGadgetOrBuilder();

  /**
   * <code>.SceneMonsterInfo monster = 11;</code>
   * @return Whether the monster field is set.
   */
  boolean hasMonster();
  /**
   * <code>.SceneMonsterInfo monster = 11;</code>
   * @return The monster.
   */
  io.grasscutter.net.proto.define.SceneMonsterInfo getMonster();
  /**
   * <code>.SceneMonsterInfo monster = 11;</code>
   */
  io.grasscutter.net.proto.define.SceneMonsterInfoOrBuilder getMonsterOrBuilder();

  /**
   * <code>.NAPNKPIHEBF avatar = 10;</code>
   * @return Whether the avatar field is set.
   */
  boolean hasAvatar();
  /**
   * <code>.NAPNKPIHEBF avatar = 10;</code>
   * @return The avatar.
   */
  io.grasscutter.net.proto.define.NAPNKPIHEBF getAvatar();
  /**
   * <code>.NAPNKPIHEBF avatar = 10;</code>
   */
  io.grasscutter.net.proto.define.NAPNKPIHEBFOrBuilder getAvatarOrBuilder();

  /**
   * <code>uint32 entity_id = 2;</code>
   * @return The entityId.
   */
  int getEntityId();

  public io.grasscutter.net.proto.define.SceneEntityInfo.JKPMLNNECOKCase getJKPMLNNECOKCase();
}
