{
  "__defaultLanguage": "en",
  "aris.append_file(string,string)": { "displayName": "Append File", "description": "Append a UTF-8 string to a file. Parent directories are created as needed." },
  "aris.check_version(string)": "Check Version",
  "aris.create_directory(string)": { "displayName": "Create Directory", "description": "Create a directory, including any required parent directories. Returns true if created." },
  "aris.delete_file(string)": { "displayName": "Delete File", "description": "Delete a file or (recursively) a directory. Returns true on success." },
  "aris.file_size(string)": { "displayName": "File Size", "description": "Get the size of a file in bytes. Returns -1 if the file does not exist." },
  "aris.is_directory(string)": { "displayName": "Is Directory", "description": "Returns true if the path exists and is a directory." },
  "aris.is_file_exists(string)": { "displayName": "Is File Exists", "description": "Returns true if the path exists on disk." },
  "aris.list_files(string)": { "displayName": "List Files", "description": "List the immediate children of a directory. Returns a Lua table (1-indexed) of file names.\n Returns an empty table if the path is not a directory or is not readable." },
  "aris.log_debug(string)": "Log Debug",
  "aris.log_error(string)": "Log Error",
  "aris.log_info(string)": "Log Info",
  "aris.log_warn(string)": "Log Warn",
  "aris.read_file(string)": { "displayName": "Read File", "description": "Read the entire contents of a file as a UTF-8 string.\n Path is resolved relative to the base directory\n (gamedir on client, server working directory on a dedicated server)." },
  "aris.write_file(string,string)": { "displayName": "Write File", "description": "Write a UTF-8 string to a file, overwriting any existing content. Parent directories are created as needed." },
  "client.clear_opened_hud()": { "displayName": "Clear Opened Hud", "description": "모든 열려있는 HUD를 닫습니다." },
  "client.close_screen()": { "displayName": "Close Screen", "description": "Closes the current Minecraft screen (sets it to null)." },
  "client.create_area_builder()": { "displayName": "Create Area Builder", "description": "Creates a new [AreaBuilder] instance to construct complex areas." },
  "client.create_checkbox_renderer(boolean)": { "displayName": "Create Checkbox Renderer", "description": "Creates a toggleable checkbox component.\n @param checked The initial checked state." },
  "client.create_clickable(function,me.ddayo.aris.math.Area)": { "displayName": "Create Clickable", "description": "Creates an invisible clickable component defined by a custom [Area].\n @param onClick The Lua function to execute when clicked.\n @param area The definition of the clickable area." },
  "client.create_clickable(function,number,number,number,number)": { "displayName": "Create Clickable", "description": "Creates an invisible clickable component defined by a rectangle.\n @param onClick The Lua function to execute when clicked.\n @param x The x-coordinate of the rectangle.\n @param y The y-coordinate of the rectangle.\n @param width The width of the rectangle.\n @param height The height of the rectangle." },
  "client.create_color_renderer(number)": { "displayName": "Create Color Renderer", "description": "Creates a solid color rectangle component using a packed color value.\n @param color The ARGB color value." },
  "client.create_color_renderer(number,number,number,number)": { "displayName": "Create Color Renderer", "description": "Creates a solid color rectangle component.\n @param r Red component (0-255).\n @param g Green component (0-255).\n @param b Blue component (0-255).\n @param a Alpha component (0-255)." },
  "client.create_component()": { "displayName": "Create Component", "description": "Creates a basic, empty component container." },
  "client.create_default_text_renderer(string,number)": { "displayName": "Create Default Text Renderer", "description": "Creates a text label component using the default Minecraft font.\n @param text The string to display.\n @param color The integer color of the text." },
  "client.create_hud()": { "displayName": "Create Hud", "description": "HUD를 생성합니다." },
  "client.create_image_renderer(me.ddayo.aris.client.gui.ImageResource)": { "displayName": "Create Image Renderer", "description": "Creates a component that renders a specific image resource.\n @param res The [ImageResource] loaded via `load_image`." },
  "client.create_item_renderer(me.ddayo.aris.engine.wrapper.LuaItemStack)": { "displayName": "Create Item Renderer", "description": "Creates a component that renders a Minecraft item stack.\n @param item The item stack to render." },
  "client.create_keybinding(string,number,string)": { "displayName": "Create Keybinding", "description": "새로운 조작키를 추가합니다.\n @param key key 이름\n @param code keycode, https://www.glfw.org/docs/3.3/group__keys.html 에서 찾을 수 있습니다.\n @param category key 카테고리" },
  "client.create_particle_info(string)": "Create Particle Info",
  "client.create_point(number,number)": { "displayName": "Create Point", "description": "Creates a 2D [Point] object.\n @param x The x-coordinate.\n @param y The y-coordinate." },
  "client.create_point(number,number,number)": { "displayName": "Create Point", "description": "Creates a 3D [Point3] object.\n @param x The x-coordinate.\n @param y The y-coordinate.\n @param z The z-coordinate." },
  "client.create_rect_component()": { "displayName": "Create Rect Component", "description": "Creates a basic component container with rectangular properties (width/height)." },
  "client.create_text_input_renderer(me.ddayo.aris.client.gui.FontResource,string,number)": { "displayName": "Create Text Input Renderer", "description": "Creates an editable single-line text input component.\n @param font The [FontResource] used to render the text.\n @param text The initial text content.\n @param color The integer color of the text." },
  "client.create_text_renderer(me.ddayo.aris.client.gui.FontResource,string,number)": { "displayName": "Create Text Renderer", "description": "Creates a text label component using the default Minecraft font.\n @param text The string to display.\n @param color The integer color of the text." },
  "client.create_window()": { "displayName": "Create Window", "description": "Creates a new [ScreenRenderer] to manage a custom GUI screen." },
  "client.get_inventory_item(number)": { "displayName": "Get Inventory Item", "description": "현재 플레이어 인벤토리의 특정 슬롯에 있는 아이템을 가져옵니다.\n @param slot 슬롯 번호 (0부터 시작)" },
  "client.get_inventory_size()": { "displayName": "Get Inventory Size", "description": "현재 플레이어 인벤토리의 슬롯 개수를 가져옵니다." },
  "client.get_keybinding(string)": { "displayName": "Get Keybinding", "description": "Retrieves a Minecraft key binding by its internal name.\n @param of The name of the key binding to find.\n @return A [LuaKeyBinding] wrapper if found, or null." },
  "client.get_player_pitch()": "Get Player Pitch",
  "client.get_player_x()": { "displayName": "Get Player X", "description": "현재 플레이어의 x좌표를 구합니다." },
  "client.get_player_y()": { "displayName": "Get Player Y", "description": "현재 플레이어의 y좌표를 구합니다." },
  "client.get_player_yaw()": "Get Player Yaw",
  "client.get_player_z()": "Get Player Z",
  "client.get_selected_slot()": { "displayName": "Get Selected Slot", "description": "현재 선택된(들고 있는) 핫바 슬롯 번호를 가져옵니다." },
  "client.invoke_command(string)": { "displayName": "Invoke Command", "description": "채팅창에 /command를 입력하는 것과 동일합니다.\n @param command 실행할 커멘드" },
  "client.is_key_pressed(number)": { "displayName": "Is Key Pressed", "description": "특정 키가 눌린 상태인지 검사합니다.\n 이 함수는 씹힐 위험이 있으니, 사용을 지양하세요.\n @param key 눌려져있는지 확인할 키" },
  "client.item_used_duration()": { "displayName": "Item Used Duration", "description": "플레이어가 얼마나 오랫동안 아이템을 사용했는지(charging)\n @return 플레이어가 차징한 시간(tick)" },
  "client.iter_inventory(function)": { "displayName": "Iter Inventory", "description": "현재 플레이어 인벤토리의 모든 슬롯을 순회합니다.\n @param fn 각 슬롯에 대해 실행할 콜백 (slot: Int, item: ItemStack) -> void" },
  "client.load_font(string,number)": { "displayName": "Load Font", "description": "Loads a font resource\n @param path The relative path to the font file\n @param size Expected size to render" },
  "client.load_font(string,number,number)": { "displayName": "Load Font", "description": "Loads a font resource\n @param path The relative path to the font file\n @param size Expected size to render\n @param oversample The depth of resolution sampling.(4.0f is recommended and this is the default)" },
  "client.load_image(string)": { "displayName": "Load Image", "description": "Loads an image resource from a file path.\n @param path The relative path to the image file.\n @return The loaded [ImageResource]." },
  "client.load_image(string,string)": { "displayName": "Load Image", "description": "Loads an image resource (alias overload).\n @param name Unused parameter (legacy or alias).\n @param path The relative path to the image file." },
  "client.play_sound(string)": { "displayName": "Play Sound", "description": "`sounds.json`에 정의된 Minecraft 소리 이벤트를 클라이언트 플레이어의 현재 위치에서 재생합니다.\n @param id 소리 이벤트 id. 예: `minecraft:block.note_block.pling`" },
  "client.play_sound(string,number,number)": { "displayName": "Play Sound", "description": "`sounds.json`에 정의된 Minecraft 소리 이벤트를 클라이언트 플레이어의 현재 위치에서 재생합니다.\n @param id 소리 이벤트 id. 예: `minecraft:block.note_block.pling`\n @param volume 소리 크기\n @param pitch 소리 높낮이" },
  "client.play_sound_at(string,number,number,number,number,number)": { "displayName": "Play Sound At", "description": "`sounds.json`에 정의된 Minecraft 소리 이벤트를 지정한 위치에서 재생합니다.\n @param id 소리 이벤트 id. 예: `minecraft:block.note_block.pling`\n @param x x좌표\n @param y y좌표\n @param z z좌표\n @param volume 소리 크기\n @param pitch 소리 높낮이" },
  "client.play_sound_raw(string)": { "displayName": "Play Sound Raw", "description": "`aris.init.sound.client.register_sound_raw`로 등록한 raw 소리를 재생합니다.\n @param id raw 소리 이벤트 id. 예: `aris:alert`" },
  "client.play_sound_raw(string,number,number)": { "displayName": "Play Sound Raw", "description": "`aris.init.sound.client.register_sound_raw`로 등록한 raw 소리를 재생합니다.\n @param id raw 소리 이벤트 id. 예: `aris:alert`\n @param volume 소리 크기\n @param pitch 소리 높낮이" },
  "client.play_sound_raw_at(string,number,number,number,number,number)": { "displayName": "Play Sound Raw At", "description": "`aris.init.sound.client.register_sound_raw`로 등록한 raw 소리를 지정한 위치에서 재생합니다.\n @param id raw 소리 이벤트 id. 예: `aris:alert`\n @param x x좌표\n @param y y좌표\n @param z z좌표\n @param volume 소리 크기\n @param pitch 소리 높낮이" },
  "client.register_sound(string)": { "displayName": "Register Sound", "description": "Minecraft 리소스팩의 `sounds.json`에 정의된 소리 이벤트를 등록합니다.\n @param id 소리 이벤트 id. 예: `aris:alert`" },
  "client.register_sound_raw(string,string)": { "displayName": "Register Sound Raw", "description": "`sounds.json` 없이 재생할 raw OGG 소리 이벤트를 등록합니다.\n @param id 등록할 소리 이벤트 id. 예: `aris:alert`\n @param path `assets/sounds` 아래의 상대 경로. 예: `alert.ogg`" },
  "client.register_sound_raw(string,string,boolean)": { "displayName": "Register Sound Raw", "description": "`sounds.json` 없이 재생할 raw OGG 소리 이벤트를 등록합니다.\n @param id 등록할 소리 이벤트 id. 예: `aris:alert`\n @param path `assets/sounds` 아래의 상대 경로. 예: `alert.ogg`\n @param stream 소리를 메모리에 한 번에 올리지 않고 스트리밍할지 여부" },
  "client.remote_number_data(string)": { "displayName": "Remote Number Data", "description": "서버로부터 전송받은 정수 데이터를 가져옵니다." },
  "client.remote_string_data(string)": { "displayName": "Remote String Data", "description": "서버로부터 전송받은 문자열 데이터를 가져옵니다." },
  "client.remove_item_data(string)": { "displayName": "Remove Item Data", "description": "서버로부터 전송받은 아이템 데이터를 가져옵니다." },
  "client.send_system_message(string)": { "displayName": "Send System Message", "description": "채팅창에 새로운 텍스트를 추가합니다.\n @param message 추가할 메시지" },
  "client.target_crosshair_entity(number)": "Target Crosshair Entity",
  "command.create_command(string)": { "displayName": "Create Command", "description": "새로운 명령어를 추가합니다.\n @of 추가할 명령어 이름" },
  "command.entities_arg(string)": { "displayName": "Entities Arg", "description": "여러 엔티티 selector 인수를 추가합니다.\n @of 추가할 엔티티 목록 인수 이름\n @return 여기에서 획득한 값을 커멘드 핸들러에 append해야합니다." },
  "command.entity_arg(string)": { "displayName": "Entity Arg", "description": "단일 엔티티 selector 인수를 추가합니다.\n @of 추가할 엔티티 인수 이름\n @return 여기에서 획득한 값을 커멘드 핸들러에 append해야합니다." },
  "command.float_arg(string)": { "displayName": "Float Arg", "description": "실수 인수를 추가합니다.\n @of 추가할 실수 인수 이름\n @return 여기에서 획득한 값을 커멘드 핸들러에 append해야합니다." },
  "command.integer_arg(string)": { "displayName": "Integer Arg", "description": "정수 인수를 추가합니다.\n @of 추가할 정수 인수 이름\n @return 여기에서 획득한 값을 커멘드 핸들러에 append해야합니다." },
  "command.player_arg(string)": { "displayName": "Player Arg", "description": "플레이어 인수를 추가합니다.\n @of 추가할 플레이어 인수 이름\n @return 여기에서 획득한 값을 커멘드 핸들러에 append해야합니다." },
  "command.players_arg(string)": { "displayName": "Players Arg", "description": "여러 플레이어 selector 인수를 추가합니다.\n @of 추가할 플레이어 목록 인수 이름\n @return 여기에서 획득한 값을 커멘드 핸들러에 append해야합니다." },
  "command.string_arg(string)": { "displayName": "String Arg", "description": "문자열 인수를 추가합니다.\n @of 추가할 문자열 인수 이름\n @return 여기에서 획득한 값을 커멘드 핸들러에 append해야합니다." },
  "command.sub_command(string)": { "displayName": "Sub Command", "description": "하위 커멘드를 추가합니다.\n @of 추가할 커멘드 이름\n @return 여기에서 획득한 값을 커멘드 핸들러에 append해야합니다." },
  "command.suggested_string_arg(string,string)": { "displayName": "Suggested String Arg", "description": "자동완성 리스트를 사용하는 문자열 인수를 추가합니다.\n @param of 추가할 문자열 인수 이름\n @param list 자동완성에 사용할 리스트 id\n @return 여기에서 획득한 값을 커멘드 핸들러에 append해야합니다." },
  "command.suggested_word_arg(string,string)": { "displayName": "Suggested Word Arg", "description": "자동완성 리스트를 사용하는 word 인수를 추가합니다.\n @param of 추가할 word 인수 이름\n @param list 자동완성에 사용할 리스트 id\n @return 여기에서 획득한 값을 커멘드 핸들러에 append해야합니다." },
  "command.word_arg(string)": { "displayName": "Word Arg", "description": "Word 인수를 추가합니다.\n @of 추가할 word 인수 이름\n @return 여기에서 획득한 값을 커멘드 핸들러에 append해야합니다." },
  "game.create_effect_builder(string)": "Create Effect Builder",
  "game.create_effect_builder(string,string)": "Create Effect Builder",
  "game.create_item(string)": { "displayName": "Create Item", "description": "아이템 ID로 ItemStack을 생성합니다. (수량 1)\n @param id 아이템 ID (예: \"minecraft:diamond\")" },
  "game.create_item(string,number)": { "displayName": "Create Item", "description": "아이템 ID로 ItemStack을 생성합니다.\n @param id 아이템 ID (예: \"minecraft:diamond\")\n @param count 수량" },
  "game.dispatch_command(string)": { "displayName": "Dispatch Command", "description": "서버 콘솔에서 커멘드를 실행합니다.\n @param command 실행할 명령어" },
  "game.entity_type_of(string)": "Entity Type Of",
  "game.get_selector_one(string)": { "displayName": "Get Selector One", "description": "마인크래프트 selector 문자열의 첫 번째 엔티티를 가져옵니다.\n 결과가 없으면 null을 반환합니다.\n @param selector selector 문자열 (예: \"@p\")" },
  "game.get_selector_one_from(me.ddayo.aris.engine.wrapper.LuaEntity,string)": { "displayName": "Get Selector One From", "description": "특정 엔티티를 실행 주체로 사용해 selector 문자열의 첫 번째 엔티티를 가져옵니다.\n 결과가 없으면 null을 반환합니다.\n @param source selector의 @s, 상대 좌표, 거리 조건 기준이 되는 엔티티\n @param selector selector 문자열 (예: \"@s\")" },
  "game.iter_players(function)": { "displayName": "Iter Players", "description": "모든 플레이어를 한번씩 callback으로 넘겨줍니다.\n 플레이어 리스트에서 for문을 돌리는 것과 유사합니다.\n @param fn callback" },
  "game.iter_selector(string,function)": { "displayName": "Iter Selector", "description": "마인크래프트 selector 문자열로 엔티티를 찾아 순회합니다.\n 기본 실행 주체는 서버 콘솔입니다. @s 또는 상대 좌표가 필요한 경우 iter_selector_from을 사용하세요.\n @param selector selector 문자열 (예: \"@e[type=minecraft:zombie,limit=5]\")\n @param fn 각 엔티티에 대해 실행할 콜백" },
  "game.iter_selector_from(me.ddayo.aris.engine.wrapper.LuaEntity,string,function)": { "displayName": "Iter Selector From", "description": "특정 엔티티를 실행 주체로 사용해 마인크래프트 selector 문자열로 엔티티를 찾아 순회합니다.\n @param source selector의 @s, 상대 좌표, 거리 조건 기준이 되는 엔티티\n @param selector selector 문자열 (예: \"@e[distance=..10]\")\n @param fn 각 엔티티에 대해 실행할 콜백" },
  "game.summon_entity(me.ddayo.aris.engine.wrapper.LuaEntityType,me.ddayo.aris.engine.wrapper.LuaServerWorld,me.ddayo.aris.math.Point3)": "Summon Entity",
  "hook.add_c2s_packet_handler(string,function)": { "displayName": "Add C2s Packet Handler", "description": "패킷이 클라이언트로부터 전송됐을때 실행할 함수를 지정합니다.\n @param id 패킷 id\n @param func 실행할 함수" },
  "hook.add_on_block_break(function)": { "displayName": "Add On Block Break", "description": "플레이어가 블록을 파괴하기 직전에 실행할 함수를 추가합니다.\n event:cancel()을 호출하면 블록 파괴를 취소합니다.\n @param f 실행할 함수 (LuaBlockEvent를 인자로 받음)" },
  "hook.add_on_block_left_click(function)": { "displayName": "Add On Block Left Click", "description": "플레이어가 블록을 좌클릭했을 때 실행할 함수를 추가합니다.\n event:cancel()을 호출하면 블록 파괴 시작을 취소합니다.\n @param f 실행할 함수 (LuaBlockEvent를 인자로 받음)" },
  "hook.add_on_block_place(function)": { "displayName": "Add On Block Place", "description": "플레이어가 블록을 설치하려고 할 때 실행할 함수를 추가합니다.\n event:cancel()을 호출하면 블록 설치를 취소합니다.\n @param f 실행할 함수 (LuaBlockEvent를 인자로 받음)" },
  "hook.add_on_block_right_click(function)": { "displayName": "Add On Block Right Click", "description": "플레이어가 블록을 우클릭했을 때 실행할 함수를 추가합니다.\n event:cancel()을 호출하면 블록 상호작용을 취소합니다.\n @param f 실행할 함수 (LuaBlockEvent를 인자로 받음)" },
  "hook.add_on_chat(function)": { "displayName": "Add On Chat", "description": "플레이어가 채팅을 보냈을 때 실행할 함수를 추가합니다.\n event:cancel()을 호출하면 채팅 전송을 취소합니다.\n @param f 실행할 함수 (LuaChatEvent를 인자로 받음)" },
  "hook.add_on_entity_attack(function)": { "displayName": "Add On Entity Attack", "description": "플레이어가 엔티티를 공격하려고 할 때 실행할 함수를 추가합니다.\n event:cancel()을 호출하면 엔티티 공격을 취소합니다.\n @param f 실행할 함수 (LuaEntityInteractEvent를 인자로 받음)" },
  "hook.add_on_entity_damaged(function)": { "displayName": "Add On Entity Damaged", "description": "엔티티가 데미지를 입었을 때 실행할 함수\n event:cancel()을 호출하면 데미지를 취소합니다.\n @param f 실행할 함수 (LuaEntityDamagedEvent를 인자로 받음)" },
  "hook.add_on_entity_interact(function)": { "displayName": "Add On Entity Interact", "description": "플레이어가 엔티티를 우클릭했을 때 실행할 함수를 추가합니다.\n event:cancel()을 호출하면 엔티티 상호작용을 취소합니다.\n @param f 실행할 함수 (LuaEntityInteractEvent를 인자로 받음)" },
  "hook.add_on_item_consume(function)": { "displayName": "Add On Item Consume", "description": "플레이어가 아이템 소비를 완료했을 때 실행할 함수를 추가합니다.\n @param f 실행할 함수 (LuaItemConsumeEvent를 인자로 받음)" },
  "hook.add_on_item_move(function)": { "displayName": "Add On Item Move", "description": "아이템 이동 시 실행할 함수를 추가합니다.\n 컨테이너 클릭, 아이템 드롭, 아이템 줍기 등을 감지합니다.\n event:cancel()을 호출하면 이동을 취소합니다.\n @param f 실행할 함수 (LuaItemMoveEvent를 인자로 받음)" },
  "hook.add_on_left_click(function)": { "displayName": "Add On Left Click", "description": "플레이어가 임의의 위치를 좌클릭시 실행할 함수\n @param f 실행할 함수 (LuaLeftClickEvent를 인자로 받음)" },
  "hook.add_on_player_death(function)": { "displayName": "Add On Player Death", "description": "플레이어가 사망했을 때 실행할 함수를 추가합니다.\n @param f 실행할 함수 (LuaPlayerEvent를 인자로 받음)" },
  "hook.add_on_player_respawn(function)": { "displayName": "Add On Player Respawn", "description": "플레이어가 리스폰했을 때 실행할 함수를 추가합니다.\n @param f 실행할 함수 (LuaPlayerEvent를 인자로 받음)" },
  "hook.add_on_right_click(function)": { "displayName": "Add On Right Click", "description": "플레이어가 임의의 위치를 우클릭시 실행할 함수\n @param f 실행할 함수 (LuaRightClickEvent를 인자로 받음)" },
  "hook.add_on_use_item(string,function)": { "displayName": "Add On Use Item", "description": "추가한 아이템을 사용했을때 실행할 함수를 추가합니다.\n @param item 아이템 id\n @param func 실행할 함수 (LuaUseItemEvent를 인자로 받음)" },
  "hook.add_s2c_packet_handler(string,function)": { "displayName": "Add S2c Packet Handler", "description": "패킷이 서버로부터 전송됐을때 실행할 함수를 지정합니다.\n @param id 패킷 id\n @param func 실행할 함수" },
  "hook.add_tick(function)": { "displayName": "Add Tick", "description": "매 틱마다 실행할 함수를 추가합니다.\n @param f 실행할 함수" },
  "hook.add_tick_hook(function)": { "displayName": "Add Tick Hook", "description": "매 틱마다 실행할 함수를 추가합니다.\n @param f 실행할 함수" },
  "hook.clear_on_block_break()": { "displayName": "Clear On Block Break", "description": "블록 파괴 훅을 초기화합니다." },
  "hook.clear_on_block_left_click()": { "displayName": "Clear On Block Left Click", "description": "블록 좌클릭 훅을 초기화합니다." },
  "hook.clear_on_block_place()": { "displayName": "Clear On Block Place", "description": "블록 설치 훅을 초기화합니다." },
  "hook.clear_on_block_right_click()": { "displayName": "Clear On Block Right Click", "description": "블록 우클릭 훅을 초기화합니다." },
  "hook.clear_on_chat()": { "displayName": "Clear On Chat", "description": "채팅 훅을 초기화합니다." },
  "hook.clear_on_entity_attack()": { "displayName": "Clear On Entity Attack", "description": "엔티티 공격 훅을 초기화합니다." },
  "hook.clear_on_entity_interact()": { "displayName": "Clear On Entity Interact", "description": "엔티티 우클릭 훅을 초기화합니다." },
  "hook.clear_on_item_consume()": { "displayName": "Clear On Item Consume", "description": "아이템 소비 훅을 초기화합니다." },
  "hook.clear_on_item_move()": { "displayName": "Clear On Item Move", "description": "아이템 이동 훅을 초기화합니다." },
  "hook.clear_on_left_click()": { "displayName": "Clear On Left Click", "description": "플레이어가 임의의 위치를 좌클릭시 실행할 훅 초기화" },
  "hook.clear_on_player_death()": { "displayName": "Clear On Player Death", "description": "플레이어 사망 훅을 초기화합니다." },
  "hook.clear_on_player_respawn()": { "displayName": "Clear On Player Respawn", "description": "플레이어 리스폰 훅을 초기화합니다." },
  "hook.clear_on_right_click()": { "displayName": "Clear On Right Click", "description": "플레이어가 임의의 위치를 우클릭시 실행할 훅 초기화" },
  "hook.clear_on_use_item(string)": { "displayName": "Clear On Use Item", "description": "add_on_use_item을 통해 등록한 함수들을 초기화합니다.\n @param item 초기화할 아이템" },
  "hook.clear_tick(function)": { "displayName": "Clear Tick", "description": "매 틱마다 실행할 함수를 초기화합니다." },
  "hook.clear_tick_hook(function)": { "displayName": "Clear Tick Hook", "description": "매 틱마다 실행할 함수를 초기화합니다." },
  "hook.on_engine_dispose(function)": { "displayName": "On Engine Dispose", "description": "엔진이 폐기될 때 실행할 함수를 추가합니다.\n\n - in-game / client-main 엔진: 엔진이 dispose될 때(예: `/aris reload`, 게임 퇴장) 실행됩니다.\n - init / client-init 엔진: 초기화 단계가 끝난 직후 실행됩니다.\n\n 엔진이 폐기되는 중에 동기적으로 실행되므로 정리(cleanup) 용도로 사용하세요.\n 이 콜백 안에서는 task_yield 등으로 yield할 수 없습니다.\n @param f 실행할 함수" },
  "hook.on_key_pressed(string,function)": { "displayName": "On Key Pressed", "description": "새로 추가한 조작키를 실행할때 실행될 함수를 지정합니다.\n @param key 누를 키\n @param function 실행할 함수" },
  "hook.on_player_join_server(function)": { "displayName": "On Player Join Server", "description": "플레이어가 서버에 접속했을 때 실행할 함수를 추가합니다.\n\n 엔진이 리로드(`/aris reload`)되면 새 엔진에서 이 함수가 다시 실행됩니다.\n 이때 리로드 시점에 이미 접속해 있던 모든 플레이어에 대해서도 호출되므로,\n 스크립트 입장에서 리로드는 새로 시작하는 것과 동일하게 취급됩니다.\n @param f 실행할 함수 (접속한 LuaServerPlayer를 인자로 받음)" },
  "hook.on_player_leave_server(function)": { "displayName": "On Player Leave Server", "description": "플레이어가 서버에서 나갔을 때 실행할 함수를 추가합니다.\n\n 엔진이 리로드(`/aris reload`)되면 폐기되는 엔진에서 이 함수가 실행됩니다.\n 이때 리로드 시점에 이미 접속해 있던 모든 플레이어에 대해서도 호출되므로,\n 스크립트가 정리(cleanup) 작업을 수행할 수 있습니다.\n @param f 실행할 함수 (나간 LuaServerPlayer를 인자로 받음)" },
  "hook.register_endpoint(string,function)": { "displayName": "Register Endpoint", "description": "명령어를 입력했을때 실행할 함수를 지정합니다.\n @param of 명령어 id\n @param func 실행할 함수" },
  "init.create_item(string)": { "displayName": "Create Item", "description": "새로운 아이템을 추가합니다.\n @param key 추가할 아이템 id" },
  "init.create_particle(string)": "Create Particle",
  "math.create_point(number,number)": { "displayName": "Create Point", "description": "Create point object (x, y)\n @return Point(x, y)" },
  "math.create_point(number,number,number)": { "displayName": "Create Point", "description": "Create point object (x, y, z)\n @return Point3(x, y, z)" },
  "math.create_rect_area(me.ddayo.aris.math.Point,me.ddayo.aris.math.Point)": { "displayName": "Create Rect Area", "description": "@return createRect(min(p1.x, p2.x), min(p1.y, p2.y), abs(p1.x - p2.x), abs(p1.y - p2.y))" },
  "math.create_rect_area(number,number,number,number)": { "displayName": "Create Rect Area", "description": "@param x x of left-top point\n @param y y of left-top point\n @param width width of the area\n @param height height of the area\n @return Area(x with y, x with (y + height), (x + width) with (y + height), (x + width) with y)" },
  "me.ddayo.aris.client.gui.BaseComponent": "BaseComponent",
  "me.ddayo.aris.client.gui.BaseComponent:add_child(me.ddayo.aris.client.gui.BaseComponent)": { "displayName": "Add Child", "description": "Adds a child component to this component.\n The child moves relative to this parent.\n\n @param child The component to add." },
  "me.ddayo.aris.client.gui.BaseComponent:add_render_hook(function)": { "displayName": "Add Render Hook", "description": "Adds a hook function to be invoked on each frame during rendering.\n\n @param fn The Lua function to call. (scaled_mouse_x, scaled_mouse_y, tick_delta) -> void" },
  "me.ddayo.aris.client.gui.BaseComponent:add_tick_hook(function)": "Add Tick Hook",
  "me.ddayo.aris.client.gui.BaseComponent:clear_child()": { "displayName": "Clear Child", "description": "Removes all child components from this component." },
  "me.ddayo.aris.client.gui.BaseComponent:clear_render_hook()": { "displayName": "Clear Render Hook", "description": "Clears all registered render hooks." },
  "me.ddayo.aris.client.gui.BaseComponent:clear_tick_hook()": "Clear Tick Hook",
  "me.ddayo.aris.client.gui.BaseComponent:get_anchor_x()": { "displayName": "Get Anchor X", "description": "The X coordinate of the anchor point (pivot) relative to the component's origin.\n Rotation and scaling occur around this point." },
  "me.ddayo.aris.client.gui.BaseComponent:get_anchor_y()": { "displayName": "Get Anchor Y", "description": "The Y coordinate of the anchor point (pivot) relative to the component's origin.\n Rotation and scaling occur around this point." },
  "me.ddayo.aris.client.gui.BaseComponent:get_global_coordinate(number,number)": { "displayName": "Get Global Coordinate", "description": "Converts a local coordinate (relative to this component) to global screen coordinates.\n @param lx Local X coordinate\n @param ly Local Y coordinate\n @return global_x, global_y" },
  "me.ddayo.aris.client.gui.BaseComponent:get_is_active()": { "displayName": "Get Is Active", "description": "Controls whether the component accepts interactions (like clicks)." },
  "me.ddayo.aris.client.gui.BaseComponent:get_is_scale_rate_fixed()": { "displayName": "Get Is Scale Rate Fixed", "description": "Determines if the scale rate is locked.\n If true, [xScale] and [yScale] cannot be modified individually." },
  "me.ddayo.aris.client.gui.BaseComponent:get_is_visible()": { "displayName": "Get Is Visible", "description": "Controls whether the component is rendered." },
  "me.ddayo.aris.client.gui.BaseComponent:get_local_coordinate(number,number)": { "displayName": "Get Local Coordinate", "description": "Recursively calculates the local mouse position by traversing up to the root parent.\n This converts global screen coordinates to coordinates relative to this component.\n @param mx Global X coordinate\n @param my Global Y coordinate\n @return local_x, local_y" },
  "me.ddayo.aris.client.gui.BaseComponent:get_parent()": { "displayName": "Get Parent", "description": "The parent component of this component, or null if it has no parent.\n This property cannot be set from Lua." },
  "me.ddayo.aris.client.gui.BaseComponent:get_rotation()": { "displayName": "Get Rotation", "description": "The rotation of the component in degrees." },
  "me.ddayo.aris.client.gui.BaseComponent:get_scale()": { "displayName": "Get Scale", "description": "A utility property to set or get uniform scaling for both X and Y axes.\n Getting this property asserts that [xScale] equals [yScale]." },
  "me.ddayo.aris.client.gui.BaseComponent:get_scale_x()": { "displayName": "Get Scale X", "description": "The scale factor on the X axis.\n @throws AssertionError if [isScaleRateFixed] is true." },
  "me.ddayo.aris.client.gui.BaseComponent:get_scale_y()": { "displayName": "Get Scale Y", "description": "The scale factor on the Y axis.\n @throws AssertionError if [isScaleRateFixed] is true." },
  "me.ddayo.aris.client.gui.BaseComponent:get_x()": { "displayName": "Get X", "description": "The X coordinate of the component's position." },
  "me.ddayo.aris.client.gui.BaseComponent:get_y()": { "displayName": "Get Y", "description": "The Y coordinate of the component's position." },
  "me.ddayo.aris.client.gui.BaseComponent:remove_child(me.ddayo.aris.client.gui.BaseComponent)": { "displayName": "Remove Child", "description": "Removes a specific child component.\n\n @param child The component to remove." },
  "me.ddayo.aris.client.gui.BaseComponent:set_anchor_x(number)": { "displayName": "Set Anchor X", "description": "The X coordinate of the anchor point (pivot) relative to the component's origin.\n Rotation and scaling occur around this point." },
  "me.ddayo.aris.client.gui.BaseComponent:set_anchor_y(number)": { "displayName": "Set Anchor Y", "description": "The Y coordinate of the anchor point (pivot) relative to the component's origin.\n Rotation and scaling occur around this point." },
  "me.ddayo.aris.client.gui.BaseComponent:set_is_active(boolean)": { "displayName": "Set Is Active", "description": "Controls whether the component accepts interactions (like clicks)." },
  "me.ddayo.aris.client.gui.BaseComponent:set_is_visible(boolean)": { "displayName": "Set Is Visible", "description": "Controls whether the component is rendered." },
  "me.ddayo.aris.client.gui.BaseComponent:set_rotation(number)": { "displayName": "Set Rotation", "description": "The rotation of the component in degrees." },
  "me.ddayo.aris.client.gui.BaseComponent:set_scale(number)": { "displayName": "Set Scale", "description": "A utility property to set or get uniform scaling for both X and Y axes.\n Getting this property asserts that [xScale] equals [yScale]." },
  "me.ddayo.aris.client.gui.BaseComponent:set_scale_x(number)": { "displayName": "Set Scale X", "description": "The scale factor on the X axis.\n @throws AssertionError if [isScaleRateFixed] is true." },
  "me.ddayo.aris.client.gui.BaseComponent:set_scale_y(number)": { "displayName": "Set Scale Y", "description": "The scale factor on the Y axis.\n @throws AssertionError if [isScaleRateFixed] is true." },
  "me.ddayo.aris.client.gui.BaseComponent:set_x(number)": { "displayName": "Set X", "description": "The X coordinate of the component's position." },
  "me.ddayo.aris.client.gui.BaseComponent:set_y(number)": { "displayName": "Set Y", "description": "The Y coordinate of the component's position." },
  "me.ddayo.aris.client.gui.BaseRectComponent": "BaseRectComponent",
  "me.ddayo.aris.client.gui.BaseRectComponent:get_fixed_height()": { "displayName": "Get Fixed Height", "description": "The internal reference height (e.g., texture height).\n Changing this recalculates [yScale] to maintain visual [height]." },
  "me.ddayo.aris.client.gui.BaseRectComponent:get_fixed_width()": { "displayName": "Get Fixed Width", "description": "The internal reference width (e.g., texture width).\n Changing this recalculates [xScale] to maintain visual [width]." },
  "me.ddayo.aris.client.gui.BaseRectComponent:get_height()": { "displayName": "Get Height", "description": "The visual height of the component.\n Setting this updates [yScale] based on [fixedHeight]." },
  "me.ddayo.aris.client.gui.BaseRectComponent:get_width()": { "displayName": "Get Width", "description": "The visual width of the component.\n Setting this updates [xScale] based on [fixedWidth]." },
  "me.ddayo.aris.client.gui.BaseRectComponent:set_fixed_height(number)": { "displayName": "Set Fixed Height", "description": "The internal reference height (e.g., texture height).\n Changing this recalculates [yScale] to maintain visual [height]." },
  "me.ddayo.aris.client.gui.BaseRectComponent:set_fixed_width(number)": { "displayName": "Set Fixed Width", "description": "The internal reference width (e.g., texture width).\n Changing this recalculates [xScale] to maintain visual [width]." },
  "me.ddayo.aris.client.gui.BaseRectComponent:set_height(number)": { "displayName": "Set Height", "description": "The visual height of the component.\n Setting this updates [yScale] based on [fixedHeight]." },
  "me.ddayo.aris.client.gui.BaseRectComponent:set_width(number)": { "displayName": "Set Width", "description": "The visual width of the component.\n Setting this updates [xScale] based on [fixedWidth]." },
  "me.ddayo.aris.client.gui.FontResource": "FontResource",
  "me.ddayo.aris.client.gui.HudRenderer": "HudRenderer",
  "me.ddayo.aris.client.gui.HudRenderer:close_hud()": { "displayName": "Close Hud", "description": "Unregisters this renderer from the in-game HUD engine." },
  "me.ddayo.aris.client.gui.HudRenderer:open_hud()": { "displayName": "Open Hud", "description": "Registers this renderer to the in-game HUD engine, making it visible on the HUD." },
  "me.ddayo.aris.client.gui.ImageResource": "ImageResource",
  "me.ddayo.aris.client.gui.ScreenRenderer": "ScreenRenderer",
  "me.ddayo.aris.client.gui.ScreenRenderer:clear_close_hook()": { "displayName": "Clear Close Hook", "description": "Removes the currently assigned close hook, disabling the callback." },
  "me.ddayo.aris.client.gui.ScreenRenderer:clear_key_down_hook()": { "displayName": "Clear Key Down Hook", "description": "Removes the currently assigned key down hook, disabling the callback." },
  "me.ddayo.aris.client.gui.ScreenRenderer:clear_key_up_hook()": { "displayName": "Clear Key Up Hook", "description": "Removes the currently assigned key up hook, disabling the callback." },
  "me.ddayo.aris.client.gui.ScreenRenderer:close()": { "displayName": "Close", "description": "Closes the current screen if it is this component." },
  "me.ddayo.aris.client.gui.ScreenRenderer:get_can_exit_with_esc()": { "displayName": "Get Can Exit With Esc", "description": "Determines if the screen can be closed by pressing the Escape key." },
  "me.ddayo.aris.client.gui.ScreenRenderer:get_window_height()": { "displayName": "Get Window Height", "description": "The actual height of the game window.\n This property is read-only in Lua." },
  "me.ddayo.aris.client.gui.ScreenRenderer:get_window_width()": { "displayName": "Get Window Width", "description": "The actual width of the game window.\n This property is read-only in Lua." },
  "me.ddayo.aris.client.gui.ScreenRenderer:open()": { "displayName": "Open", "description": "Opens this component as the current Minecraft screen (GUI).\n Replaces the current screen." },
  "me.ddayo.aris.client.gui.ScreenRenderer:set_can_exit_with_esc(boolean)": { "displayName": "Set Can Exit With Esc", "description": "Determines if the screen can be closed by pressing the Escape key." },
  "me.ddayo.aris.client.gui.ScreenRenderer:set_close_hook(function)": { "displayName": "Set Close Hook", "description": "Sets the Lua function to be called when the screen is closed.\n\n The Lua function receives no arguments.\n\n @param fn The Lua function to serve as the callback." },
  "me.ddayo.aris.client.gui.ScreenRenderer:set_key_down_hook(function)": { "displayName": "Set Key Down Hook", "description": "Sets the Lua function to be called when a keyboard key is pressed (key down).\n\n The Lua function will receive the following arguments:\n 1. `keyCode` (Int): The unique ID of the key (GLFW key constant, e.g., 256 for ESC).\n 2. `scanCode` (Int): The platform-specific hardware scancode of the key.\n 3. `modifiers` (Int): A bitmask representing modifier keys held down (Shift, Ctrl, Alt, etc.).\n\n @param fn The Lua function to serve as the callback." },
  "me.ddayo.aris.client.gui.ScreenRenderer:set_key_up_hook(function)": { "displayName": "Set Key Up Hook", "description": "Sets the Lua function to be called when a keyboard key is released (key up).\n\n The Lua function will receive the following arguments:\n 1. `keyCode` (Int): The unique ID of the key (GLFW key constant).\n 2. `scanCode` (Int): The platform-specific hardware scancode of the key.\n 3. `modifiers` (Int): A bitmask representing modifier keys held down (Shift, Ctrl, Alt, etc.).\n\n @param fn The Lua function to serve as the callback." },
  "me.ddayo.aris.client.gui.element.ScriptCheckboxRenderer": "ScriptCheckboxRenderer",
  "me.ddayo.aris.client.gui.element.ScriptCheckboxRenderer:clear_change_hook()": { "displayName": "Clear Change Hook", "description": "Removes the currently assigned change hook." },
  "me.ddayo.aris.client.gui.element.ScriptCheckboxRenderer:get_background_color()": { "displayName": "Get Background Color", "description": "Background fill color (ARGB). Alpha 0 disables the background." },
  "me.ddayo.aris.client.gui.element.ScriptCheckboxRenderer:get_border_color()": { "displayName": "Get Border Color", "description": "Border color (ARGB)." },
  "me.ddayo.aris.client.gui.element.ScriptCheckboxRenderer:get_border_width()": { "displayName": "Get Border Width", "description": "Thickness of the box border. Set to 0 to disable." },
  "me.ddayo.aris.client.gui.element.ScriptCheckboxRenderer:get_check_color()": { "displayName": "Get Check Color", "description": "Color (ARGB) of the check mark drawn when checked." },
  "me.ddayo.aris.client.gui.element.ScriptCheckboxRenderer:get_is_checked()": { "displayName": "Get Is Checked", "description": "Whether the checkbox is currently checked." },
  "me.ddayo.aris.client.gui.element.ScriptCheckboxRenderer:get_size()": { "displayName": "Get Size", "description": "The side length of the checkbox box." },
  "me.ddayo.aris.client.gui.element.ScriptCheckboxRenderer:set_background_color(number)": { "displayName": "Set Background Color", "description": "Background fill color (ARGB). Alpha 0 disables the background." },
  "me.ddayo.aris.client.gui.element.ScriptCheckboxRenderer:set_border_color(number)": { "displayName": "Set Border Color", "description": "Border color (ARGB)." },
  "me.ddayo.aris.client.gui.element.ScriptCheckboxRenderer:set_border_width(number)": { "displayName": "Set Border Width", "description": "Thickness of the box border. Set to 0 to disable." },
  "me.ddayo.aris.client.gui.element.ScriptCheckboxRenderer:set_change_hook(function)": { "displayName": "Set Change Hook", "description": "Sets the Lua function called when the checked state is toggled by a click.\n The callback receives the new checked state (Boolean)." },
  "me.ddayo.aris.client.gui.element.ScriptCheckboxRenderer:set_check_color(number)": { "displayName": "Set Check Color", "description": "Color (ARGB) of the check mark drawn when checked." },
  "me.ddayo.aris.client.gui.element.ScriptCheckboxRenderer:set_is_checked(boolean)": { "displayName": "Set Is Checked", "description": "Whether the checkbox is currently checked." },
  "me.ddayo.aris.client.gui.element.ScriptCheckboxRenderer:set_size(number)": { "displayName": "Set Size", "description": "The side length of the checkbox box." },
  "me.ddayo.aris.client.gui.element.ScriptColorRenderer": "ScriptColorRenderer",
  "me.ddayo.aris.client.gui.element.ScriptColorRenderer:get_a()": { "displayName": "Get A", "description": "The alpha component of the color (0-255)." },
  "me.ddayo.aris.client.gui.element.ScriptColorRenderer:get_b()": { "displayName": "Get B", "description": "The blue component of the color (0-255)." },
  "me.ddayo.aris.client.gui.element.ScriptColorRenderer:get_color()": { "displayName": "Get Color", "description": "The full color value packed into a Long (ARGB format).\n Setting this updates [r], [g], [b], and [a]." },
  "me.ddayo.aris.client.gui.element.ScriptColorRenderer:get_g()": { "displayName": "Get G", "description": "The green component of the color (0-255)." },
  "me.ddayo.aris.client.gui.element.ScriptColorRenderer:get_r()": { "displayName": "Get R", "description": "The red component of the color (0-255)." },
  "me.ddayo.aris.client.gui.element.ScriptColorRenderer:set_a(number)": { "displayName": "Set A", "description": "The alpha component of the color (0-255)." },
  "me.ddayo.aris.client.gui.element.ScriptColorRenderer:set_b(number)": { "displayName": "Set B", "description": "The blue component of the color (0-255)." },
  "me.ddayo.aris.client.gui.element.ScriptColorRenderer:set_color(number)": { "displayName": "Set Color", "description": "The full color value packed into a Long (ARGB format).\n Setting this updates [r], [g], [b], and [a]." },
  "me.ddayo.aris.client.gui.element.ScriptColorRenderer:set_g(number)": { "displayName": "Set G", "description": "The green component of the color (0-255)." },
  "me.ddayo.aris.client.gui.element.ScriptColorRenderer:set_r(number)": { "displayName": "Set R", "description": "The red component of the color (0-255)." },
  "me.ddayo.aris.client.gui.element.ScriptDefaultTextRenderer": "ScriptDefaultTextRenderer",
  "me.ddayo.aris.client.gui.element.ScriptDefaultTextRenderer:get_color()": { "displayName": "Get Color", "description": "The text color." },
  "me.ddayo.aris.client.gui.element.ScriptDefaultTextRenderer:get_text()": { "displayName": "Get Text", "description": "The text string to display." },
  "me.ddayo.aris.client.gui.element.ScriptDefaultTextRenderer:set_color(number)": { "displayName": "Set Color", "description": "The text color." },
  "me.ddayo.aris.client.gui.element.ScriptDefaultTextRenderer:set_text(string)": { "displayName": "Set Text", "description": "The text string to display." },
  "me.ddayo.aris.client.gui.element.ScriptImageRenderer": "ScriptImageRenderer",
  "me.ddayo.aris.client.gui.element.ScriptImageRenderer:crop_uv1(number,number)": { "displayName": "Crop Uv1", "description": "Crops the image UV from the top-left (UV1) side, adjusting position and size to match visual changes." },
  "me.ddayo.aris.client.gui.element.ScriptImageRenderer:crop_uv2(number,number)": { "displayName": "Crop Uv2", "description": "Crops the image UV from the bottom-right (UV2) side, adjusting size to match." },
  "me.ddayo.aris.client.gui.element.ScriptImageRenderer:get_image()": { "displayName": "Get Image", "description": "The image resource to be rendered." },
  "me.ddayo.aris.client.gui.element.ScriptImageRenderer:get_uv1()": { "displayName": "Get Uv1", "description": "Returns the UV coordinates of the first corner.\n @return MultiReturn(u, v)" },
  "me.ddayo.aris.client.gui.element.ScriptImageRenderer:get_uv2()": { "displayName": "Get Uv2", "description": "Returns the UV coordinates of the second corner.\n @return MultiReturn(u, v)" },
  "me.ddayo.aris.client.gui.element.ScriptImageRenderer:set_image(me.ddayo.aris.client.gui.ImageResource)": { "displayName": "Set Image", "description": "The image resource to be rendered." },
  "me.ddayo.aris.client.gui.element.ScriptImageRenderer:set_uv1(number,number)": { "displayName": "Set Uv1", "description": "Sets the UV coordinates for the first corner." },
  "me.ddayo.aris.client.gui.element.ScriptImageRenderer:set_uv2(number,number)": { "displayName": "Set Uv2", "description": "Sets the UV coordinates for the second corner." },
  "me.ddayo.aris.client.gui.element.ScriptItemRenderer": "ScriptItemRenderer",
  "me.ddayo.aris.client.gui.element.ScriptItemRenderer:get_display_tooltip()": { "displayName": "Get Display Tooltip", "description": "Whether to render the item's tooltip when the cursor hovers over it." },
  "me.ddayo.aris.client.gui.element.ScriptItemRenderer:get_item()": { "displayName": "Get Item", "description": "The Minecraft item to render, wrapped for Lua access." },
  "me.ddayo.aris.client.gui.element.ScriptItemRenderer:set_display_tooltip(boolean)": { "displayName": "Set Display Tooltip", "description": "Whether to render the item's tooltip when the cursor hovers over it." },
  "me.ddayo.aris.client.gui.element.ScriptItemRenderer:set_item(me.ddayo.aris.engine.wrapper.LuaItemStack)": { "displayName": "Set Item", "description": "The Minecraft item to render, wrapped for Lua access." },
  "me.ddayo.aris.client.gui.element.ScriptMouseHandlerRenderer": "ScriptMouseHandlerRenderer",
  "me.ddayo.aris.client.gui.element.ScriptMouseHandlerRenderer:clear_mouse_down_hook()": { "displayName": "Clear Mouse Down Hook", "description": "Removes the currently assigned mouse down hook, disabling the callback." },
  "me.ddayo.aris.client.gui.element.ScriptMouseHandlerRenderer:clear_mouse_drag_hook()": { "displayName": "Clear Mouse Drag Hook", "description": "Removes the currently assigned mouse drag hook, disabling the callback." },
  "me.ddayo.aris.client.gui.element.ScriptMouseHandlerRenderer:clear_mouse_up_hook()": { "displayName": "Clear Mouse Up Hook", "description": "Removes the currently assigned mouse up hook, disabling the callback." },
  "me.ddayo.aris.client.gui.element.ScriptMouseHandlerRenderer:get_area()": { "displayName": "Get Area", "description": "The area within which clicks are detected." },
  "me.ddayo.aris.client.gui.element.ScriptMouseHandlerRenderer:set_area(me.ddayo.aris.math.Area)": { "displayName": "Set Area", "description": "The area within which clicks are detected." },
  "me.ddayo.aris.client.gui.element.ScriptMouseHandlerRenderer:set_mouse_down_hook(function)": { "displayName": "Set Mouse Down Hook", "description": "Sets the Lua function to be called when a mouse button is pressed (mouse down) within the component's area.\n\n The Lua function will receive the following arguments:\n 1. `mx` (Double): The X coordinate of the mouse cursor.\n 2. `my` (Double): The Y coordinate of the mouse cursor.\n 3. `button` (Int): The index of the mouse button pressed.\n\n @param fn The Lua function to serve as the callback." },
  "me.ddayo.aris.client.gui.element.ScriptMouseHandlerRenderer:set_mouse_drag_hook(function)": { "displayName": "Set Mouse Drag Hook", "description": "Sets the Lua function to be called when the mouse is dragged within the component's area.\n\n The Lua function will receive the following arguments:\n 1. `mx` (Double): The X coordinate of the mouse cursor.\n 2. `my` (Double): The Y coordinate of the mouse cursor.\n 3. `button` (Int): The index of the mouse button being held.\n\n @param fn The Lua function to serve as the callback." },
  "me.ddayo.aris.client.gui.element.ScriptMouseHandlerRenderer:set_mouse_up_hook(function)": { "displayName": "Set Mouse Up Hook", "description": "Sets the Lua function to be called when a mouse button is released (mouse up) within the component's area.\n\n The Lua function will receive the following arguments:\n 1. `mx` (Double): The X coordinate of the mouse cursor.\n 2. `my` (Double): The Y coordinate of the mouse cursor.\n 3. `button` (Int): The index of the mouse button pressed.\n\n @param fn The Lua function to serve as the callback." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer": "ScriptTextInputRenderer",
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:clear_change_hook()": { "displayName": "Clear Change Hook", "description": "Removes the currently assigned change hook." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:clear_enter_hook()": { "displayName": "Clear Enter Hook", "description": "Removes the currently assigned enter hook." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:clear_focus_hook()": { "displayName": "Clear Focus Hook", "description": "Removes the currently assigned focus hook." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_background_color()": { "displayName": "Get Background Color", "description": "Background fill color (ARGB). Alpha 0 disables the background." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_border_color()": { "displayName": "Get Border Color", "description": "Border color (ARGB) used when the field is not focused." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_border_width()": { "displayName": "Get Border Width", "description": "Thickness of the box border. Set to 0 to disable." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_color()": { "displayName": "Get Color", "description": "The color of the text (RGB, optionally ARGB)." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_focused_border_color()": { "displayName": "Get Focused Border Color", "description": "Border color (ARGB) used when the field is focused." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_font()": { "displayName": "Get Font", "description": "Font to use for rendering the text." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_height()": { "displayName": "Get Height", "description": "The height of the input box." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_is_editable()": { "displayName": "Get Is Editable", "description": "Whether the field is editable. When false, the field can still be focused but ignores edits." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_is_focused()": { "displayName": "Get Is Focused", "description": "Whether the field currently has keyboard focus. Read-only in Lua; use `set_focused`." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_max_length()": { "displayName": "Get Max Length", "description": "The maximum number of characters allowed." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_padding()": { "displayName": "Get Padding", "description": "Horizontal/vertical inner padding between the box border and the text." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_placeholder()": { "displayName": "Get Placeholder", "description": "Placeholder text shown while the field is empty." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_placeholder_color()": { "displayName": "Get Placeholder Color", "description": "Color of the placeholder text." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_selected_text()": { "displayName": "Get Selected Text", "description": "Returns the currently selected substring (empty if there is no selection)." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_selection_color()": { "displayName": "Get Selection Color", "description": "Color (ARGB) of the text selection highlight." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_text()": { "displayName": "Get Text", "description": "The current text content. Setting this from Lua clamps the cursor/selection." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_text_scale()": { "displayName": "Get Text Scale", "description": "Scale factor applied to the rendered text (the font is otherwise drawn at its native ~9px size)." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:get_width()": { "displayName": "Get Width", "description": "The width of the input box." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_background_color(number)": { "displayName": "Set Background Color", "description": "Background fill color (ARGB). Alpha 0 disables the background." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_border_color(number)": { "displayName": "Set Border Color", "description": "Border color (ARGB) used when the field is not focused." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_border_width(number)": { "displayName": "Set Border Width", "description": "Thickness of the box border. Set to 0 to disable." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_change_hook(function)": { "displayName": "Set Change Hook", "description": "Sets the Lua function called whenever the text content changes.\n The callback receives the new text (String)." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_color(number)": { "displayName": "Set Color", "description": "The color of the text (RGB, optionally ARGB)." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_enter_hook(function)": { "displayName": "Set Enter Hook", "description": "Sets the Lua function called when Enter is pressed while focused.\n The callback receives the current text (String)." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_focus_hook(function)": { "displayName": "Set Focus Hook", "description": "Sets the Lua function called when focus is gained or lost.\n The callback receives the new focus state (Boolean)." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_focused(boolean)": { "displayName": "Set Focused", "description": "Sets the focus state programmatically." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_focused_border_color(number)": { "displayName": "Set Focused Border Color", "description": "Border color (ARGB) used when the field is focused." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_font(me.ddayo.aris.client.gui.FontResource)": { "displayName": "Set Font", "description": "Font to use for rendering the text." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_height(number)": { "displayName": "Set Height", "description": "The height of the input box." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_is_editable(boolean)": { "displayName": "Set Is Editable", "description": "Whether the field is editable. When false, the field can still be focused but ignores edits." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_max_length(number)": { "displayName": "Set Max Length", "description": "The maximum number of characters allowed." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_padding(number)": { "displayName": "Set Padding", "description": "Horizontal/vertical inner padding between the box border and the text." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_placeholder(string)": { "displayName": "Set Placeholder", "description": "Placeholder text shown while the field is empty." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_placeholder_color(number)": { "displayName": "Set Placeholder Color", "description": "Color of the placeholder text." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_selection_color(number)": { "displayName": "Set Selection Color", "description": "Color (ARGB) of the text selection highlight." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_text(string)": { "displayName": "Set Text", "description": "The current text content. Setting this from Lua clamps the cursor/selection." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_text_scale(number)": { "displayName": "Set Text Scale", "description": "Scale factor applied to the rendered text (the font is otherwise drawn at its native ~9px size)." },
  "me.ddayo.aris.client.gui.element.ScriptTextInputRenderer:set_width(number)": { "displayName": "Set Width", "description": "The width of the input box." },
  "me.ddayo.aris.client.gui.element.ScriptTextRenderer": "ScriptTextRenderer",
  "me.ddayo.aris.client.gui.element.ScriptTextRenderer:get_color()": { "displayName": "Get Color", "description": "The text color." },
  "me.ddayo.aris.client.gui.element.ScriptTextRenderer:get_font()": { "displayName": "Get Font", "description": "Font to use" },
  "me.ddayo.aris.client.gui.element.ScriptTextRenderer:get_text()": { "displayName": "Get Text", "description": "The text string to display." },
  "me.ddayo.aris.client.gui.element.ScriptTextRenderer:set_color(number)": { "displayName": "Set Color", "description": "The text color." },
  "me.ddayo.aris.client.gui.element.ScriptTextRenderer:set_font(me.ddayo.aris.client.gui.FontResource)": { "displayName": "Set Font", "description": "Font to use" },
  "me.ddayo.aris.client.gui.element.ScriptTextRenderer:set_text(string)": { "displayName": "Set Text", "description": "The text string to display." },
  "me.ddayo.aris.engine.client.wrapper.LuaKeyBinding": "LuaKeyBinding",
  "me.ddayo.aris.engine.client.wrapper.LuaKeyBinding:consume()": "Consume",
  "me.ddayo.aris.engine.client.wrapper.LuaKeyBinding:get_is_down()": "Get Is Down",
  "me.ddayo.aris.engine.command.AbstractCommandHandler": "AbstractCommandHandler",
  "me.ddayo.aris.engine.command.AbstractCommandHandler:append(me.ddayo.aris.engine.command.AbstractCommandHandler)": "Append",
  "me.ddayo.aris.engine.command.AbstractCommandHandler:set_endpoint(string)": { "displayName": "Set Endpoint", "description": "여기에서 설정한 id를 register_endpoint를 통해 등록할 수 있습니다.\n @param of endpoint id" },
  "me.ddayo.aris.engine.command.AbstractCommandHandler:set_suggestion_list(string)": { "displayName": "Set Suggestion List", "description": "이 인수의 자동완성 리스트를 설정합니다.\n @param of 자동완성에 사용할 리스트 id" },
  "me.ddayo.aris.engine.networking.AbstractPackableData": "AbstractPackableData",
  "me.ddayo.aris.engine.networking.C2SPacketDeclaration": "C2SPacketDeclaration",
  "me.ddayo.aris.engine.networking.PacketDeclaration": "PacketDeclaration",
  "me.ddayo.aris.engine.networking.PacketDeclaration.Builder": "Builder",
  "me.ddayo.aris.engine.networking.PacketDeclaration.Builder:append_float(string,number)": { "displayName": "Append Float", "description": "실수 인자를 패킷에 추가합니다.\n @param id 패킷에 첨부할 실수의 이름\n @param of 추가할 실수" },
  "me.ddayo.aris.engine.networking.PacketDeclaration.Builder:append_int(string,number)": { "displayName": "Append Int", "description": "정수 인자를 패킷에 추가합니다.\n @param id 패킷에 첨부할 정수의 이름\n @param of 추가할 정수" },
  "me.ddayo.aris.engine.networking.PacketDeclaration.Builder:append_itemstack(string,me.ddayo.aris.engine.wrapper.LuaItemStack)": { "displayName": "Append Itemstack", "description": "아이템 스택 인자를 패킷에 추가합니다.\n @param id 패킷에 첨부할 아이템 스택의 이름\n @param of 추가할 아이템 스택" },
  "me.ddayo.aris.engine.networking.PacketDeclaration.Builder:append_string(string,string)": { "displayName": "Append String", "description": "문자열 인자를 패킷에 추가합니다.\n @param id 패킷에 첨부할 문자열의 이름\n @param of 추가할 문자열" },
  "me.ddayo.aris.engine.networking.PacketDeclaration:append(me.ddayo.aris.engine.networking.AbstractPackableData)": { "displayName": "Append", "description": "패킷에 인자를 추가합니다.\n @param packet 추가할 패킷 인자" },
  "me.ddayo.aris.engine.networking.S2CPacketDeclaration": "S2CPacketDeclaration",
  "me.ddayo.aris.engine.wrapper.LuaBlockEvent": "LuaBlockEvent",
  "me.ddayo.aris.engine.wrapper.LuaBlockEvent:cancel()": { "displayName": "Cancel", "description": "이벤트를 취소합니다." },
  "me.ddayo.aris.engine.wrapper.LuaBlockEvent:get_action()": "Get Action",
  "me.ddayo.aris.engine.wrapper.LuaBlockEvent:get_block_id()": "Get Block Id",
  "me.ddayo.aris.engine.wrapper.LuaBlockEvent:get_face()": "Get Face",
  "me.ddayo.aris.engine.wrapper.LuaBlockEvent:get_hand()": "Get Hand",
  "me.ddayo.aris.engine.wrapper.LuaBlockEvent:get_player()": "Get Player",
  "me.ddayo.aris.engine.wrapper.LuaBlockEvent:get_x()": "Get X",
  "me.ddayo.aris.engine.wrapper.LuaBlockEvent:get_y()": "Get Y",
  "me.ddayo.aris.engine.wrapper.LuaBlockEvent:get_z()": "Get Z",
  "me.ddayo.aris.engine.wrapper.LuaChatEvent": "LuaChatEvent",
  "me.ddayo.aris.engine.wrapper.LuaChatEvent:cancel()": { "displayName": "Cancel", "description": "채팅 전송을 취소합니다." },
  "me.ddayo.aris.engine.wrapper.LuaChatEvent:get_message()": "Get Message",
  "me.ddayo.aris.engine.wrapper.LuaChatEvent:get_player()": { "displayName": "Get Player", "description": "채팅을 보낸 플레이어" },
  "me.ddayo.aris.engine.wrapper.LuaDamageSource": "LuaDamageSource",
  "me.ddayo.aris.engine.wrapper.LuaDamageSource:get_amount()": "Get Amount",
  "me.ddayo.aris.engine.wrapper.LuaDamageSource:get_causing()": "Get Causing",
  "me.ddayo.aris.engine.wrapper.LuaDamageSource:get_direct()": "Get Direct",
  "me.ddayo.aris.engine.wrapper.LuaDamageSource:get_id()": "Get Id",
  "me.ddayo.aris.engine.wrapper.LuaDamageSource:get_isDirect()": "Get IsDirect",
  "me.ddayo.aris.engine.wrapper.LuaDamageSource:set_amount(number)": "Set Amount",
  "me.ddayo.aris.engine.wrapper.LuaEntity": "LuaEntity",
  "me.ddayo.aris.engine.wrapper.LuaEntity:add_damage(number)": { "displayName": "Add Damage", "description": "엔티티에 특정 데미지를 줄 수 있습니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntity:add_velocity(number,number,number)": { "displayName": "Add Velocity", "description": "엔티티에 속도를 설정합니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntity:add_velocity_relative(number,number,number)": { "displayName": "Add Velocity Relative", "description": "엔티티가 바라보는 방향을 기준으로 속도를 설정합니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntity:get_custom_name()": { "displayName": "Get Custom Name", "description": "엔티티의 커스텀 이름을 설정하거나 가져올 수 있습니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntity:get_display_name()": { "displayName": "Get Display Name", "description": "엔티티의 표시된 이름을 가져옵니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntity:get_entity_type()": { "displayName": "Get Entity Type", "description": "엔티티의 타입 객체를 가져옵니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntity:get_name()": { "displayName": "Get Name", "description": "엔티티의 이름을 가져옵니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntity:get_server_world()": { "displayName": "Get Server World", "description": "엔티티의 world를 가져옵니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntity:get_type()": { "displayName": "Get Type", "description": "엔티티의 타입 ID를 가져옵니다. (예: \"minecraft:zombie\")" },
  "me.ddayo.aris.engine.wrapper.LuaEntity:get_uuid()": { "displayName": "Get Uuid", "description": "엔티티의 uuid를 가져옵니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntity:get_x()": { "displayName": "Get X", "description": "플레이어의 X좌표를 가져오거나 설정할 수 있습니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntity:get_y()": { "displayName": "Get Y", "description": "엔티티의 Y좌표를 가져오거나 설정할 수 있습니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntity:get_z()": { "displayName": "Get Z", "description": "엔티티의 Z좌표를 가져오거나 설정할 수 있습니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntity:iter_entities_nearby(function,number,boolean)": { "displayName": "Iter Entities Nearby", "description": "주변 엔티티를 순회합니다.\n @param fn 각 엔티티에 대해 실행할 콜백\n @param radius 탐색 반경\n @param includeSelf 자기 자신을 포함할지 여부" },
  "me.ddayo.aris.engine.wrapper.LuaEntity:move_delta(number,number,number)": { "displayName": "Move Delta", "description": "엔티티를 특정 상대적인 위치로 텔레포트 시킵니다.\n @param x 이동시킬 x좌표의 상대적인 값\n @param y 이동시킬 y좌표의 상대적인 값\n @param z 이동시킬 z좌표의 상대적인 값" },
  "me.ddayo.aris.engine.wrapper.LuaEntity:move_delta_relative(number,number,number)": { "displayName": "Move Delta Relative", "description": "엔티티를 바라보는 위치를 기준으로 하는 상대적인 위치로 텔레포트 시킵니다.\n @param x 앞으로 이동할 칸수\n @param y 위로 이동할 칸수\n @param z 옆으로 이동할 칸수(+는 오른쪽을 의미)" },
  "me.ddayo.aris.engine.wrapper.LuaEntity:move_to(number,number,number)": { "displayName": "Move To", "description": "엔티티를 특정 위치로 텔레포트 시킵니다.\n @param x 이동시킬 x좌표\n @param y 이동시킬 y좌표\n @param z 이동시킬 z좌표" },
  "me.ddayo.aris.engine.wrapper.LuaEntity:remove()": { "displayName": "Remove", "description": "엔티티를 월드에서 즉시 제거합니다. (사망 애니메이션 없음, 드롭 없음)" },
  "me.ddayo.aris.engine.wrapper.LuaEntity:set_custom_name(string)": { "displayName": "Set Custom Name", "description": "엔티티의 커스텀 이름을 설정하거나 가져올 수 있습니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntity:set_x(number)": { "displayName": "Set X", "description": "플레이어의 X좌표를 가져오거나 설정할 수 있습니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntity:set_y(number)": { "displayName": "Set Y", "description": "엔티티의 Y좌표를 가져오거나 설정할 수 있습니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntity:set_z(number)": { "displayName": "Set Z", "description": "엔티티의 Z좌표를 가져오거나 설정할 수 있습니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntityDamagedEvent": "LuaEntityDamagedEvent",
  "me.ddayo.aris.engine.wrapper.LuaEntityDamagedEvent:cancel()": { "displayName": "Cancel", "description": "데미지 이벤트를 취소합니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntityDamagedEvent:get_damage()": { "displayName": "Get Damage", "description": "데미지 정보. amount를 수정하면 데미지가 변경됩니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntityDamagedEvent:get_target()": { "displayName": "Get Target", "description": "데미지를 받은 엔티티" },
  "me.ddayo.aris.engine.wrapper.LuaEntityInteractEvent": "LuaEntityInteractEvent",
  "me.ddayo.aris.engine.wrapper.LuaEntityInteractEvent:cancel()": { "displayName": "Cancel", "description": "이벤트를 취소합니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntityInteractEvent:get_action()": "Get Action",
  "me.ddayo.aris.engine.wrapper.LuaEntityInteractEvent:get_hand()": "Get Hand",
  "me.ddayo.aris.engine.wrapper.LuaEntityInteractEvent:get_player()": { "displayName": "Get Player", "description": "이벤트를 발생시킨 플레이어" },
  "me.ddayo.aris.engine.wrapper.LuaEntityInteractEvent:get_target()": { "displayName": "Get Target", "description": "상호작용 대상 엔티티" },
  "me.ddayo.aris.engine.wrapper.LuaEntityList": "LuaEntityList",
  "me.ddayo.aris.engine.wrapper.LuaEntityList:get(number)": { "displayName": "Get", "description": "selector 결과에서 1부터 시작하는 index의 엔티티를 가져옵니다.\n 범위를 벗어나면 null을 반환합니다.\n @param index 1부터 시작하는 index" },
  "me.ddayo.aris.engine.wrapper.LuaEntityList:get_size()": { "displayName": "Get Size", "description": "selector 결과 엔티티 수를 가져옵니다." },
  "me.ddayo.aris.engine.wrapper.LuaEntityList:iter(function)": { "displayName": "Iter", "description": "selector 결과의 모든 엔티티를 순회합니다.\n @param fn 각 엔티티에 대해 실행할 콜백" },
  "me.ddayo.aris.engine.wrapper.LuaEntityType": "LuaEntityType",
  "me.ddayo.aris.engine.wrapper.LuaItemConsumeEvent": "LuaItemConsumeEvent",
  "me.ddayo.aris.engine.wrapper.LuaItemConsumeEvent:get_item()": { "displayName": "Get Item", "description": "소비가 완료된 아이템" },
  "me.ddayo.aris.engine.wrapper.LuaItemConsumeEvent:get_player()": { "displayName": "Get Player", "description": "아이템을 소비한 플레이어" },
  "me.ddayo.aris.engine.wrapper.LuaItemMoveEvent": "LuaItemMoveEvent",
  "me.ddayo.aris.engine.wrapper.LuaItemMoveEvent:cancel()": { "displayName": "Cancel", "description": "이벤트를 취소합니다." },
  "me.ddayo.aris.engine.wrapper.LuaItemMoveEvent:get_item()": { "displayName": "Get Item", "description": "이동 대상 아이템" },
  "me.ddayo.aris.engine.wrapper.LuaItemMoveEvent:get_player()": { "displayName": "Get Player", "description": "이벤트를 발생시킨 플레이어" },
  "me.ddayo.aris.engine.wrapper.LuaItemMoveEvent:get_type()": { "displayName": "Get Type", "description": "이동 유형: \"container_click\", \"drop\", \"pickup\"" },
  "me.ddayo.aris.engine.wrapper.LuaItemStack": "LuaItemStack",
  "me.ddayo.aris.engine.wrapper.LuaItemStack:get_count()": { "displayName": "Get Count", "description": "해당 ItemStack의 수량을 설정하거나 가져옵니다." },
  "me.ddayo.aris.engine.wrapper.LuaItemStack:get_data()": { "displayName": "Get Data", "description": "해당 아이템의 custom NBT data를 읽고 씁니다." },
  "me.ddayo.aris.engine.wrapper.LuaItemStack:get_display_name()": { "displayName": "Get Display Name", "description": "해당 아이템의 표기된 이름을 가져옵니다." },
  "me.ddayo.aris.engine.wrapper.LuaItemStack:get_name()": { "displayName": "Get Name", "description": "해당 아이템의 기본 이름을 가져옵니다." },
  "me.ddayo.aris.engine.wrapper.LuaItemStack:set_count(number)": { "displayName": "Set Count", "description": "해당 ItemStack의 수량을 설정하거나 가져옵니다." },
  "me.ddayo.aris.engine.wrapper.LuaItemStack:set_data(me.ddayo.aris.engine.wrapper.LuaNBTCompound)": { "displayName": "Set Data", "description": "해당 아이템의 custom NBT data를 읽고 씁니다." },
  "me.ddayo.aris.engine.wrapper.LuaLeftClickEvent": "LuaLeftClickEvent",
  "me.ddayo.aris.engine.wrapper.LuaLeftClickEvent:get_player()": { "displayName": "Get Player", "description": "좌클릭한 플레이어" },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity": "LuaLivingEntity",
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:add_effect(me.ddayo.aris.engine.wrapper.LuaMobEffectInstance)": { "displayName": "Add Effect", "description": "엔티티에 상태 효과를 추가합니다." },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:clear_effect()": { "displayName": "Clear Effect", "description": "엔티티의 모든 상태 효과를 제거합니다." },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:clear_equipment(string)": { "displayName": "Clear Equipment", "description": "장비 슬롯의 아이템을 제거합니다.\n 슬롯: mainhand, offhand, head, chest, legs, feet" },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:clear_inventory()": { "displayName": "Clear Inventory", "description": "엔티티의 모든 아이템을 제거합니다." },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:get_equipment(string)": { "displayName": "Get Equipment", "description": "장비 슬롯의 아이템을 가져옵니다.\n 슬롯: mainhand, offhand, head, chest, legs, feet" },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:get_health()": { "displayName": "Get Health", "description": "엔티티의 현재 체력을 가져오거나 설정합니다." },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:get_max_health()": { "displayName": "Get Max Health", "description": "엔티티의 최대 체력을 가져옵니다." },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:get_pitch()": { "displayName": "Get Pitch", "description": "엔티티의 pitch(상하 회전)를 가져오거나 설정합니다." },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:get_slot(number)": { "displayName": "Get Slot", "description": "슬롯 번호로 아이템을 가져옵니다.\n @param slot 슬롯 번호" },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:get_yaw()": { "displayName": "Get Yaw", "description": "엔티티의 yaw(좌우 회전)를 가져오거나 설정합니다." },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:give_item(me.ddayo.aris.engine.wrapper.LuaItemStack)": { "displayName": "Give Item", "description": "엔티티에 아이템을 추가합니다. 이미 같은 아이템이 있으면 수량을 합칩니다.\n @param item 추가할 아이템\n @return 성공 여부" },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:give_item(string,number)": { "displayName": "Give Item", "description": "아이템 ID와 수량으로 엔티티에 아이템을 추가합니다.\n @param id 아이템 ID (예: \"minecraft:diamond\")\n @param count 수량\n @return 성공 여부" },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:remove_effect(string)": { "displayName": "Remove Effect", "description": "엔티티의 특정 상태 효과를 제거합니다.\n @param of 효과 ID (예: \"minecraft:speed\")" },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:remove_effect(string,string)": { "displayName": "Remove Effect", "description": "엔티티의 특정 상태 효과를 제거합니다.\n @param ns 네임스페이스\n @param of 효과 이름" },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:remove_item(string,number)": { "displayName": "Remove Item", "description": "엔티티의 슬롯에서 특정 아이템을 제거합니다. 수량이 부족하면 제거하지 않고 false를 반환합니다.\n @param id 아이템 ID (예: \"minecraft:diamond\")\n @param count 제거할 수량\n @return 성공 여부" },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:set_equipment(string,me.ddayo.aris.engine.wrapper.LuaItemStack)": { "displayName": "Set Equipment", "description": "장비 슬롯에 아이템을 설정합니다.\n 슬롯: mainhand, offhand, head, chest, legs, feet" },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:set_health(number)": { "displayName": "Set Health", "description": "엔티티의 현재 체력을 가져오거나 설정합니다." },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:set_pitch(number)": { "displayName": "Set Pitch", "description": "엔티티의 pitch(상하 회전)를 가져오거나 설정합니다." },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:set_slot(number,me.ddayo.aris.engine.wrapper.LuaItemStack)": { "displayName": "Set Slot", "description": "슬롯 번호로 아이템을 설정합니다.\n @param slot 슬롯 번호\n @param item 설정할 아이템" },
  "me.ddayo.aris.engine.wrapper.LuaLivingEntity:set_yaw(number)": { "displayName": "Set Yaw", "description": "엔티티의 yaw(좌우 회전)를 가져오거나 설정합니다." },
  "me.ddayo.aris.engine.wrapper.LuaMobEffectInstance": "LuaMobEffectInstance",
  "me.ddayo.aris.engine.wrapper.LuaMobEffectInstance:get_ambient()": { "displayName": "Get Ambient", "description": "거품 표시 여부" },
  "me.ddayo.aris.engine.wrapper.LuaMobEffectInstance:get_amplifier()": "Get Amplifier",
  "me.ddayo.aris.engine.wrapper.LuaMobEffectInstance:get_duration()": { "displayName": "Get Duration", "description": "Duration(tick)" },
  "me.ddayo.aris.engine.wrapper.LuaMobEffectInstance:get_showIcon()": "Get ShowIcon",
  "me.ddayo.aris.engine.wrapper.LuaMobEffectInstance:get_visible()": "Get Visible",
  "me.ddayo.aris.engine.wrapper.LuaMobEffectInstance:set_ambient(boolean)": { "displayName": "Set Ambient", "description": "거품 표시 여부" },
  "me.ddayo.aris.engine.wrapper.LuaMobEffectInstance:set_amplifier(number)": "Set Amplifier",
  "me.ddayo.aris.engine.wrapper.LuaMobEffectInstance:set_duration(number)": { "displayName": "Set Duration", "description": "Duration(tick)" },
  "me.ddayo.aris.engine.wrapper.LuaMobEffectInstance:set_showIcon(boolean)": "Set ShowIcon",
  "me.ddayo.aris.engine.wrapper.LuaMobEffectInstance:set_visible(boolean)": "Set Visible",
  "me.ddayo.aris.engine.wrapper.LuaNBTCompound": "LuaNBTCompound",
  "me.ddayo.aris.engine.wrapper.LuaNBTCompound:apply_entity(me.ddayo.aris.engine.wrapper.LuaEntity)": { "displayName": "Apply Entity", "description": "Apply(overwrite) current NBT into entity" },
  "me.ddayo.aris.engine.wrapper.LuaNBTCompound:into_item_stack()": { "displayName": "Into Item Stack", "description": "Convert NBT into item stack" },
  "me.ddayo.aris.engine.wrapper.LuaNBTCompound:into_string()": { "displayName": "Into String", "description": "Convert NBT into JSON string" },
  "me.ddayo.aris.engine.wrapper.LuaNBTCompound:into_table()": { "displayName": "Into Table", "description": "Convert NBT into Lua Table" },
  "me.ddayo.aris.engine.wrapper.LuaNBTCompound:place_block_entity(me.ddayo.aris.engine.wrapper.LuaServerWorld)": "Place Block Entity",
  "me.ddayo.aris.engine.wrapper.LuaNBTCompound:place_block_state(me.ddayo.aris.engine.wrapper.LuaServerWorld,number,number,number)": { "displayName": "Place Block State", "description": "Place block with this NBT at provided position\n If exists then it replaces\n @return is successful" },
  "me.ddayo.aris.engine.wrapper.LuaNBTCompound:spawn_entity(me.ddayo.aris.engine.wrapper.LuaServerWorld)": { "displayName": "Spawn Entity", "description": "Spawn entity with this NBT" },
  "me.ddayo.aris.engine.wrapper.LuaPlayerEntity": "LuaPlayerEntity",
  "me.ddayo.aris.engine.wrapper.LuaPlayerEntity:get_is_running()": { "displayName": "Get Is Running", "description": "플레이어가 달리고 있는지 여부를 가져옵니다." },
  "me.ddayo.aris.engine.wrapper.LuaPlayerEntity:get_is_sneaking()": { "displayName": "Get Is Sneaking", "description": "플레이어가 웅크리고 있는지 여부를 가져옵니다." },
  "me.ddayo.aris.engine.wrapper.LuaPlayerEntity:get_main_hand_item()": { "displayName": "Get Main Hand Item", "description": "플레이어의 오른손의 아이템을 가져옵니다." },
  "me.ddayo.aris.engine.wrapper.LuaPlayerEvent": "LuaPlayerEvent",
  "me.ddayo.aris.engine.wrapper.LuaPlayerEvent:get_action()": "Get Action",
  "me.ddayo.aris.engine.wrapper.LuaPlayerEvent:get_player()": { "displayName": "Get Player", "description": "이벤트를 발생시킨 플레이어" },
  "me.ddayo.aris.engine.wrapper.LuaRightClickEvent": "LuaRightClickEvent",
  "me.ddayo.aris.engine.wrapper.LuaRightClickEvent:get_player()": { "displayName": "Get Player", "description": "우클릭한 플레이어" },
  "me.ddayo.aris.engine.wrapper.LuaServerPlayer": "LuaServerPlayer",
  "me.ddayo.aris.engine.wrapper.LuaServerPlayer:get_main_hand_item()": "Get Main Hand Item",
  "me.ddayo.aris.engine.wrapper.LuaServerPlayer:is_op()": { "displayName": "Is Op", "description": "플레이어가 OP 권한을 가지고 있는지 확인합니다.\n @return OP인 경우 true, 아닌 경우 false" },
  "me.ddayo.aris.engine.wrapper.LuaServerPlayer:iter_player_nearby(function,number,boolean)": { "displayName": "Iter Player Nearby", "description": "플레이어로부터 유클리드 거리(직선거리) 기준 특정 거리 이내인 플레이어를 탐색합니다.\n @param fn callback\n @param lnt 플레이어로부터의 거리\n @param includeSelf true인 경우 자기 자신을 포함하고, false인 경우 제외합니다.\n @see aris.game.iter_players" },
  "me.ddayo.aris.engine.wrapper.LuaServerPlayer:send_message(net.minecraft.network.chat.Component)": "Send Message",
  "me.ddayo.aris.engine.wrapper.LuaServerPlayer:send_message_text(string)": { "displayName": "Send Message Text", "description": "채팅으로 텍스트 메시지를 전송\n @param msg 전송할 텍스트" },
  "me.ddayo.aris.engine.wrapper.LuaServerPlayer:set_main_hand_item(me.ddayo.aris.engine.wrapper.LuaItemStack)": "Set Main Hand Item",
  "me.ddayo.aris.engine.wrapper.LuaServerWorld": "LuaServerWorld",
  "me.ddayo.aris.engine.wrapper.LuaUseItemEvent": "LuaUseItemEvent",
  "me.ddayo.aris.engine.wrapper.LuaUseItemEvent:get_item()": { "displayName": "Get Item", "description": "사용한 아이템" },
  "me.ddayo.aris.engine.wrapper.LuaUseItemEvent:get_player()": { "displayName": "Get Player", "description": "아이템을 사용한 플레이어" },
  "me.ddayo.aris.luagen.CoroutineProvider.CoroutineReturn": "CoroutineReturn",
  "me.ddayo.aris.luagen.CoroutineProvider.CoroutineReturn:finished()": "Finished",
  "me.ddayo.aris.luagen.CoroutineProvider.CoroutineReturn:is_break()": "Is Break",
  "me.ddayo.aris.luagen.CoroutineProvider.CoroutineReturn:value()": "Value",
  "me.ddayo.aris.luagen.CoroutineProvider.LuaCoroutineIntegration": "LuaCoroutineIntegration",
  "me.ddayo.aris.luagen.CoroutineProvider.LuaCoroutineIntegration:next_iter()": "Next Iter",
  "me.ddayo.aris.luagen.LuaEngine.LuaCodeTask": "LuaCodeTask",
  "me.ddayo.aris.luagen.LuaEngine.LuaTask": "LuaTask",
  "me.ddayo.aris.luagen.LuaEngine.LuaTask:get_task_name()": "Get Task Name",
  "me.ddayo.aris.luagen.LuaMultiReturn": "LuaMultiReturn",
  "me.ddayo.aris.math.Area": "Area",
  "me.ddayo.aris.math.Area:center()": "Center",
  "me.ddayo.aris.math.Area:into_string()": "Into String",
  "me.ddayo.aris.math.Area:is_in(me.ddayo.aris.math.Point)": "Is In",
  "me.ddayo.aris.math.Area:times(number)": "Times",
  "me.ddayo.aris.math.AreaBuilder": "AreaBuilder",
  "me.ddayo.aris.math.AreaBuilder:append(me.ddayo.aris.math.Point)": { "displayName": "Append", "description": "Append the point that constructs node of the area" },
  "me.ddayo.aris.math.AreaBuilder:build()": "Build",
  "me.ddayo.aris.math.Point": "Point",
  "me.ddayo.aris.math.Point3": "Point3",
  "me.ddayo.aris.math.Point3:center(me.ddayo.aris.math.Point3)": "Center",
  "me.ddayo.aris.math.Point3:div(number)": "Div",
  "me.ddayo.aris.math.Point3:get_x()": "Get X",
  "me.ddayo.aris.math.Point3:get_y()": "Get Y",
  "me.ddayo.aris.math.Point3:get_z()": "Get Z",
  "me.ddayo.aris.math.Point3:into_string()": "Into String",
  "me.ddayo.aris.math.Point3:minus(me.ddayo.aris.math.Point3)": "Minus",
  "me.ddayo.aris.math.Point3:plus(me.ddayo.aris.math.Point3)": "Plus",
  "me.ddayo.aris.math.Point3:set_x(number)": "Set X",
  "me.ddayo.aris.math.Point3:set_y(number)": "Set Y",
  "me.ddayo.aris.math.Point3:set_z(number)": "Set Z",
  "me.ddayo.aris.math.Point:center(me.ddayo.aris.math.Point)": "Center",
  "me.ddayo.aris.math.Point:div(number)": "Div",
  "me.ddayo.aris.math.Point:get_x()": "Get X",
  "me.ddayo.aris.math.Point:get_y()": "Get Y",
  "me.ddayo.aris.math.Point:into_string()": "Into String",
  "me.ddayo.aris.math.Point:minus(me.ddayo.aris.math.Point)": "Minus",
  "me.ddayo.aris.math.Point:plus(me.ddayo.aris.math.Point)": "Plus",
  "me.ddayo.aris.math.Point:set_x(number)": "Set X",
  "me.ddayo.aris.math.Point:set_y(number)": "Set Y",
  "me.ddayo.aris.particle.ParticleInfo": "ParticleInfo",
  "me.ddayo.aris.particle.ParticleInfo:get_b()": "Get B",
  "me.ddayo.aris.particle.ParticleInfo:get_enable_random_movement()": "Get Enable Random Movement",
  "me.ddayo.aris.particle.ParticleInfo:get_friction()": "Get Friction",
  "me.ddayo.aris.particle.ParticleInfo:get_g()": "Get G",
  "me.ddayo.aris.particle.ParticleInfo:get_has_physics()": "Get Has Physics",
  "me.ddayo.aris.particle.ParticleInfo:get_lifetime()": "Get Lifetime",
  "me.ddayo.aris.particle.ParticleInfo:get_quadSize()": "Get QuadSize",
  "me.ddayo.aris.particle.ParticleInfo:get_r()": "Get R",
  "me.ddayo.aris.particle.ParticleInfo:set_b(number)": "Set B",
  "me.ddayo.aris.particle.ParticleInfo:set_enable_random_movement(boolean)": "Set Enable Random Movement",
  "me.ddayo.aris.particle.ParticleInfo:set_friction(number)": "Set Friction",
  "me.ddayo.aris.particle.ParticleInfo:set_g(number)": "Set G",
  "me.ddayo.aris.particle.ParticleInfo:set_has_physics(boolean)": "Set Has Physics",
  "me.ddayo.aris.particle.ParticleInfo:set_lifetime(number)": "Set Lifetime",
  "me.ddayo.aris.particle.ParticleInfo:set_quadSize(number)": "Set QuadSize",
  "me.ddayo.aris.particle.ParticleInfo:set_r(number)": "Set R",
  "nbt.from_block_entity(me.ddayo.aris.engine.wrapper.LuaServerWorld,number,number,number)": { "displayName": "From Block Entity", "description": "Get NBT of block entity at specific position\n @param level server level for target block entity\n @param x x position for target block entity\n @param y y position for target block entity\n @param z z position for target block entity\n @return full nbt object of provided location. Nil if not exists." },
  "nbt.from_block_state(me.ddayo.aris.engine.wrapper.LuaServerWorld,number,number,number)": { "displayName": "From Block State", "description": "Get NBT of block state at specific position\n @param level server level for target block state\n @param x x position for target block state\n @param y y position for target block state\n @param z z position for target block state\n @return full nbt object of provided location" },
  "nbt.from_entity(me.ddayo.aris.engine.wrapper.LuaEntity)": { "displayName": "From Entity", "description": "Get NBT of entity\n @param entity entity to get nbt\n @return full nbt object of entity" },
  "nbt.from_item_stack(me.ddayo.aris.engine.wrapper.LuaItemStack)": { "displayName": "From Item Stack", "description": "Get NBT of item stack\n @param stack item stack to get nbt\n @return full nbt object of item stack" },
  "nbt.from_string(string)": { "displayName": "From String", "description": "Converts string into NBT\n @param string nbt string to convert into nbt\n @return nbt object of provided string" },
  "nbt.from_table(any)": { "displayName": "From Table", "description": "Converts Lua Table into NBT Compound" },
  "net.minecraft.network.chat.Component": "Component",
  "networking.create_c2s_packet(string)": { "displayName": "Create C2s Packet", "description": "패킷을 새로 생성합니다.\n @param _id 패킷 id\n @return 생성된 패킷 정의 Builder" },
  "networking.create_c2s_packet_builder(string)": { "displayName": "Create C2s Packet Builder", "description": "서버로 전송할 패킷을 설정하는 빌더(builder)를 만듭니다.\n @param of 전송할 패킷의 id" },
  "networking.create_s2c_packet(string)": { "displayName": "Create S2c Packet", "description": "패킷을 새로 생성합니다.\n @param _id 패킷 id\n @return 생성된 패킷 정의 Builder" },
  "networking.create_s2c_packet_builder(string)": { "displayName": "Create S2c Packet Builder", "description": "클라이언트로 전송할 패킷을 설정하는 빌더(builder)를 만듭니다.\n @param of 전송할 패킷의 id" },
  "networking.float_arg(string)": { "displayName": "Float Arg", "description": "실수 인자를 패킷에 추가합니다.\n @param of 패킷에 첨부할 실수의 이름\n @return 이 함수로 획득한 값을 패킷에 append할 수 있습니다." },
  "networking.integer_arg(string)": { "displayName": "Integer Arg", "description": "정수 인자를 패킷에 추가합니다.\n @param of 패킷에 첨부할 정수의 이름\n @return 이 함수로 획득한 값을 패킷에 append할 수 있습니다." },
  "networking.itemstack_arg(string)": { "displayName": "Itemstack Arg", "description": "아이템 스택 인자를 패킷에 추가합니다. (S2C/C2S 모두 지원)\n @param of 패킷에 첨부할 아이템 스택의 이름\n @return 이 함수로 획득한 값을 패킷에 append할 수 있습니다." },
  "networking.send_c2s_packet(me.ddayo.aris.engine.networking.PacketDeclaration.Builder)": { "displayName": "Send C2s Packet", "description": "서버로 주어진 패킷을 전송합니다.\n @param packet 패킷" },
  "networking.send_s2c_packet(me.ddayo.aris.engine.wrapper.LuaServerPlayer,me.ddayo.aris.engine.networking.PacketDeclaration.Builder)": { "displayName": "Send S2c Packet", "description": "클라이언트로 주어진 패킷을 전송합니다.\n @param player 타겟 플레이어\n @param packet 패킷" },
  "networking.string_arg(string)": { "displayName": "String Arg", "description": "문자열 인자를 패킷에 추가합니다.\n @param of 패킷에 첨부할 문자열의 이름\n @return 이 함수로 획득한 값을 패킷에 append할 수 있습니다." },
  "parse.from_json(string)": { "displayName": "From Json", "description": "Parse a JSON string into a Lua table." },
  "parse.from_toml(string)": { "displayName": "From Toml", "description": "Parse a TOML string into a Lua table." },
  "parse.from_yaml(string)": { "displayName": "From Yaml", "description": "Parse a YAML string into a Lua table." },
  "party.iroiro.luajava.value.LuaValue": "LuaValue",
  "suggestion.clear_list(string)": { "displayName": "Clear List", "description": "명령어 자동완성 리스트를 비웁니다.\n @param id 자동완성 리스트 id" },
  "suggestion.set_list(string,any)": { "displayName": "Set List", "description": "명령어 자동완성 리스트를 설정합니다.\n @param id 자동완성 리스트 id\n @param values 자동완성 후보 문자열 배열(table)" },
  "table": "table",
  "world.get_end()": "Get End",
  "world.get_nether()": "Get Nether",
  "world.get_overworld()": "Get Overworld",
  "world.get_world(string)": "Get World"
}
