[1.20-1.21.5]GlobalShop - Advanced Auction House System for Minecraft | update MySQL icon

[1.20-1.21.5]GlobalShop - Advanced Auction House System for Minecraft | update MySQL -----

简体中文/Tiếng Việt/English/Español/Deutsch/Русский/Português/日本語/Italiano




The fixed price has been changed from having to be greater than the starting price to being greater than or equal to the starting price, so that players can directly list fixed price items
----------, May 22, 2025

add bstats
----------, May 19, 2025

Complete the custom message of message_es.yml
----------, May 16, 2025

Complete the custom message of message_vi.yml
----------, May 15, 2025

Complete the custom message of message_en.yml
----------, May 13, 2025

update Web show item
----------, May 10, 2025

update msg.yml
----------, May 7, 2025

Optimized hologram display reload
----------, Apr 24, 2025

Fixed hud reload removing holographic entities generated by other plugins
----------, Apr 15, 2025

修复了/gs info <玩家名>命令在玩家实际在线但提示不在线的问题。
----------, Apr 14, 2025

1.3.2.8 Update players to view their purchase history
225496B74FEA6835C755A3A060B99CD7.png
----------, Apr 12, 2025

Code (YAML):
# --- START OF FILE message_vi.txt ---

# GlobalShop Tệp cấu hình tin nhắn
# Tệp này chứa cấu hình văn bản cho tất cả các nút GUI và thông báo

# Mã màu tên vật phẩm
item-name-color
: "§f"

# Lời nhắc lệnh menu đăng bán
sell_menu
:
  command_tips
:
    header
: "§7Giữ vật phẩm muốn đăng bán và nhập:"
    usage
: "§7/auction sell <giá khởi điểm> [giá mua ngay] [loại tiền tệ]"
    currency_types
: "§7Loại tiền tệ: §f1=Xu, 2=Point"

gui
:
  titles
:
    # Tiêu đề các giao diện
    sell_menu
: "Đăng bán Vật phẩm"
    search_menu
: "Tìm kiếm Vật phẩm"
    search_result_prefix
: "Kết quả tìm kiếm:"
    search_history_menu
: "Lịch sử tìm kiếm"
    confirm_buy_menu
: "Xác nhận Mua"
    bid_menu
: "Trả giá Mua"
    my_auctions_menu
: "Đấu giá của tôi"
    my_sold_auctions_menu
: "Đấu giá đã bán của tôi"
    mailbox_menu
: "§8Hòm thư Vật phẩm"
    my_mailbox_menu_prefix
: "§eHòm thư Vật phẩm của tôi"
    expired_auctions_menu
: "Đấu giá đã hết hạn của tôi (không ai trả giá)"

  buttons
:
    # Nút chung
    return_main_menu
: "&cQuay lại Menu Chính"
    return_main_menu_desc
: "§7Nhấn để quay lại menu chính"
    return
: "§eQuay lại"
    cancel
: "§cHủy"
    confirm
: "§aXác nhận"
    next_page
: "&eTrang tiếp theo"
    next_page_desc
: "§7Nhấn để xem trang tiếp theo"
    previous_page
: "&eTrang trước"
    previous_page_desc
: "§7Nhấn để xem trang trước"

    # Nút Menu Chính
    search_items
: "§aTìm kiếm Vật phẩm"
    sell_item
: "§aĐăng bán Vật phẩm"
    my_auctions
: "§aĐấu giá của tôi"

    # Nút Menu Tìm kiếm
    search_history
: "§aLịch sử Tìm kiếm"
    clear_search_history
: "§aXóa Lịch sử Tìm kiếm"
    enter_item_name
: "§aNhập Tên Vật phẩm"
    enter_item_name_description
: "§eNhấn vào đây để nhập từ khóa tìm kiếm"
    search_prefix
: "Tìm kiếm: "
    search_history_item_description
: "Nhấn để tìm kiếm bằng từ khóa này"
    clear_search_history_description
: "Nhấn để xóa tất cả lịch sử tìm kiếm"
    new_search
: "§aTìm kiếm Mới"
    new_search_desc
: "§7Nhấn để thực hiện tìm kiếm mới"
    cancel_search
: "Hủy"
    search_history_return
: "§7Nhấn để quay lại giao diện tìm kiếm"
    seller_search
: "§aTìm kiếm Người bán"
    seller_search_desc
: "§7Nhấn để tìm kiếm vật phẩm của người bán cụ thể"

    # Nút Menu Xác nhận Mua
    confirm_buy
: "§aXác nhận Mua"
    cancel_buy
: "§cHủy"

    # Văn bản Giao diện Xác nhận Mua
    confirm_buy_item
: "§eTên vật phẩm: §f%item_name%"
    confirm_buy_price
: "§eGiá mua: §f%price% (Mua ngay)"
    confirm_buy_tip
: "§eNhấn để xác nhận mua vật phẩm này"
    cancel_buy_tip
: "§eNhấn để hủy mua"

    # Nút Menu Đăng bán
    confirm_sell
: "§aXác nhận Đăng bán"
    confirm_sell_description
: "Nhấn để xác nhận đăng bán vật phẩm"
    confirm_sell_description_color
: "§7"

    # Nút Menu Trả giá
    current_bid_amount
: "§eSố tiền trả giá hiện tại"
    increase_bid
: "§aTăng giá +%rate%%"
    confirm_bid
: "§2Xác nhận Trả giá"
    cancel_bid
: "§cHủy Trả giá"

    # Văn bản Giao diện Trả giá
    current_bid_item
: "§7Vật phẩm: §f%item_name%"
    current_bid_original_price
: "§7Giá gốc: §f%price%"
    current_bid_current_price
: "§7Giá hiện tại: §f%price%"
    current_bid_pre_amount
: "§7Số tiền nâng giá trước: §f%price%"
    current_bid_rate
: "§7Mức tăng giá: §f+%rate%%"
    increase_bid_tip
: "§7Nhấn để tăng số tiền trả giá của bạn"
    increase_bid_min
: "§7Tăng giá tối thiểu: §f%price%"
    confirm_bid_tip
: "§7Nhấn để xác nhận số tiền trả giá hiện tại"
    confirm_bid_pre_amount
: "§7Số tiền nâng giá trước: §f%price%"
    confirm_bid_notice1
: "§7Vui lòng nhấp vào nút nâng giá trước"
    confirm_bid_notice2
: "§7Sau đó xác nhận trả giá"
    cancel_bid_tip
: "§7Nhấn để hủy trả giá"
    cancel_bid_return
: "§7và quay lại menu chính"

    # Nút Menu Đấu giá
    sold_items
: "§6Đã bán"
    mailbox
: "§eHòm thư Vật phẩm"
    place_item_here
: "Vui lòng đặt vật phẩm vào đây"

    # Văn bản Giao diện Đấu giá Đã bán
    my_sold_auctions_title
: "§6Đấu giá đã bán của tôi"
    page_info_prefix
: "§eTrang hiện tại: §f"
    sold_items_count_prefix
: "§eĐã bán: §f"
    total_sold_items_count_prefix
: "§eTổng số vật phẩm đã bán: §f"
    total_coins_earned_prefix
: "§eTổng Xu kiếm được: §f"
    total_points_earned_prefix
: "§eTổng Point kiếm được: §f"
    mailbox_description_line1
: "§7Xem hòm thư vật phẩm của bạn"
    mailbox_description_line2
: "§7Chứa các vật phẩm hết hạn, đấu giá thắng và vật phẩm khi túi đồ đầy"

    # Văn bản Giao diện Hòm thư
    mailbox_page_info
: "§eTrang hiện tại: §f"
    mailbox_items_count
: "§eSố lượng vật phẩm: §f"
    mailbox_storage_header
: "§7Nơi này lưu trữ:"
    mailbox_storage_expired
: "§7- Vật phẩm hết hạn chưa bán được"
    mailbox_storage_won
: "§7- Vật phẩm đấu giá thành công"
    mailbox_storage_full
: "§7- Vật phẩm đã mua khi túi đồ đầy"
    mailbox_item_status_pending
: "§eTrạng thái: §fVật phẩm chờ nhận"
    mailbox_item_status_expired
: "§eTrạng thái: §fHết hạn chưa bán"
    mailbox_item_status_other
: "§eTrạng thái: §f"
    mailbox_item_add_time
: "§eThời gian thêm vào: §f"
    mailbox_item_expire_time
: "§eThời gian hết hạn: §f"
    mailbox_item_collect_tip
: "§7Nhấp chuột phải để nhận vật phẩm"

# Cấu hình văn bản tin nhắn
messages
:
  cancel_bid
: "Đã hủy trả giá"
  cancel_search
: "§aĐã hủy tìm kiếm"
  enter_search_keyword
: "§aVui lòng nhập tên vật phẩm cần tìm vào khung chat, hoặc nhập §eHủy §ađể hủy tìm kiếm"
  enter_seller_search
: "§aVui lòng nhập tên người bán cần tìm vào khung chat, hoặc nhập §eHủy §ađể hủy tìm kiếm"
  search_history_cleared
: "§aLịch sử tìm kiếm đã được xóa"
  seller_search_prefix
: "Người bán:"

  # Tin nhắn liên quan đến lệnh
  command
:
    info
:
      usage
: "§cSử dụng: /gs info <tên người chơi>"
    # --- Tin nhắn lệnh quản trị viên MỚI - BẮT ĐẦU ---
    player_not_found
: "§cKhông tìm thấy người chơi: %player_name%"
    # --- Tin nhắn lệnh quản trị viên MỚI - KẾT THÚC ---

  # Tin nhắn liên quan đến đăng bán
  place_item_first
: "§cVui lòng đặt vật phẩm muốn đăng bán vào trước!"
  drag_item_to_center
: "§cVui lòng kéo thả trực tiếp vật phẩm vào ô trung tâm, không sử dụng Shift+Click"
  cant_drag_to_inventory
: "§cKhông thể kéo vật phẩm vào giao diện vật phẩm hết hạn!"
  listing_failed_no_price
: "§cĐăng bán thất bại: thiếu thông tin giá"
  listing_failed_incomplete_price
: "§cĐăng bán thất bại: thông tin giá không đầy đủ"
  listing_failed_price_format
: "§cĐăng bán thất bại: định dạng giá sai"
  price_exceeds_max_limit
: "§cĐăng bán thất bại: giá vượt quá giới hạn tối đa (%max_digits% chữ số)!"
  start_price_greater_than_zero
: "§cGiá khởi điểm phải lớn hơn 0!"
  buy_now_greater_than_start
: "§cGiá mua ngay phải lớn hơn giá khởi điểm!"
  not_enough_money_for_fee
: "§cBạn không có đủ %currency% để trả phí giao dịch!"
  item_listed_success
: "§aĐăng bán vật phẩm thành công!"
  item_listed_success_with_fee
: "§aĐăng bán vật phẩm thành công! §eĐã thu phí giao dịch: §f%fee%"
  item_listed_fail
: "§cĐăng bán vật phẩm thất bại!"
  listing_error
: "§cĐã xảy ra lỗi trong quá trình đăng bán"

  # Tin nhắn liên quan đến trả lại vật phẩm
  item_returned
: "§eVật phẩm đã được trả lại vào túi đồ của bạn"
  inventory_full_drop_item
: "§eTúi đồ đã đầy, vật phẩm đã rơi dưới chân bạn"

  # Tin nhắn liên quan đến giới hạn đăng bán
  max_listings_reached
: "§cBạn đã đạt đến giới hạn số lượng vật phẩm đăng bán tối đa (%max_listings% vật phẩm)!"
  wait_for_items_to_sell
: "§cVui lòng đợi vật phẩm đã đăng bán được bán hoặc hết hạn trước khi thử đăng bán vật phẩm mới."

  # Tin nhắn liên quan đến trả giá
  cancel_bid_operation
: "§cĐã hủy thao tác trả giá"
  bid_info_expired
: "§cThông tin trả giá đã hết hạn, vui lòng chọn lại vật phẩm"
  bid_invalid_amount
: "§cSố tiền không hợp lệ, vui lòng nhập một số."

  # Tin nhắn liên quan đến lệnh trả giá
  bid_usage
: "§cSử dụng: /bid <ID vật phẩm>"
  bid_id_must_be_number
: "§cID vật phẩm phải là một số!"
  bid_invalid_item
: "§cKhông tìm thấy vật phẩm đấu giá hợp lệ, ID: "
  bid_no_permission
: "§cBạn không có quyền tham gia trả giá!"
  bid_own_item
: "§cBạn không thể trả giá cho vật phẩm của chính mình!"
  bid_already_highest
: "§cBạn đã là người trả giá cao nhất hiện tại!"
  bid_opening_menu
: "§aĐang mở giao diện trả giá..."
  bid_error
: "§cĐã xảy ra lỗi trong quá trình trả giá: "
  bid_below_current_price
: "§cGiá đã được cập nhật, giá của bạn thấp hơn giá mới nhất hiện tại, vui lòng trả giá lại!"

  # Tin nhắn liên quan đến mua ngay
  buy_now_not_available
: "§cVật phẩm này không hỗ trợ mua ngay!"
  buy_now_points_unavailable
: "§cChức năng thanh toán bằng Point không khả dụng!"
  buy_now_not_enough_money
: "§cBạn không có đủ %currency% để mua vật phẩm này! Cần: %amount%"
  buy_now_inventory_full
: "§cTúi đồ của bạn đã đầy, không thể mua vật phẩm!"
  buy_now_success
: "§aMua thành công!"
  buy_now_item
: "§eVật phẩm: %item%"
  buy_now_price
: "§eGiá: %price%"
  buy_now_balance
: "§eSố dư: %amount% %currency%"
  buy_now_inventory_full_mailbox
: "§aTúi đồ của bạn đã đầy, vật phẩm đã được đưa vào hòm thư!"
  buy_now_mailbox_instructions
: "§eSử dụng /auction my để vào hệ thống đấu giá, nhấp vào \"Hòm thư Vật phẩm\ " để nhận"
  buy_now_seller_notification
: "§aVật phẩm của bạn đã được mua ngay!"
  buy_now_seller_income
: "§eThu nhập: %amount%"
  buy_now_seller_balance
: "§eSố dư: %amount% %currency%"
  buy_now_buyer
: "§eNgười mua: %player%"

# Cấu hình tin nhắn hệ thống quảng bá
broadcast
:
  # Văn bản thành phần tương tác
  details_button
: " §6[§eChi tiết§6]"
  no_details_available
: "§cKhông có thông tin chi tiết"

  # Tin nhắn quảng bá đăng bán vật phẩm
  item_listed
:
#    chat: "§6[Nhà Đấu Giá] §e%player% §fđã đăng bán §a%item_name% §fgiá khởi điểm §e%start_price% §fgiá mua ngay §e%buy_now_price%"
    chat
: "§a[§6Nhà Đấu Giá§a] §e%player% §fđã đăng bán §b[§d%item_name%§b]§f*§6%amount%§r"
    bossbar
: "§e%player% §fđã đăng bán §a%item_name% §fgiá khởi điểm §e%start_price% §fgiá mua ngay §e%buy_now_price%"
    title
: "§6Vật phẩm Đăng bán"
    subtitle
: "§e%player% §fđã đăng bán §a%item_name%"
    actionbar
: "§e%player% §fđã đăng bán §a%item_name% §fgiá §e%start_price%"

  # Tin nhắn quảng bá đấu giá thành công
  auction_won
:
    chat
: "§6[Nhà Đấu Giá] §e%buyer% §fđã đấu giá thành công §a%item_name% §fcủa §e%seller% §fvới giá §a%price%"
    bossbar
: "§e%buyer% §fđã đấu giá thành công §a%item_name% §fcủa §e%seller% §fvới giá §a%price%"
    title
: "§6Đấu giá Thành công"
    subtitle
: "§e%buyer% §fđã đấu giá thành công §a%item_name%"
    actionbar
: "§e%buyer% §fđã đấu giá thành công §a%item_name% §fvới giá §a%price%"

  # Tin nhắn quảng bá mua ngay
  buy_now
:
    chat
: "§6[Nhà Đấu Giá] §e%buyer% §fđã mua ngay §a%item_name% §fcủa §e%seller% §fvới giá §a%price%"
    bossbar
: "§e%buyer% §fđã mua ngay §a%item_name% §fcủa §e%seller%"
    title
: "§6Vật phẩm Đã bán"
    subtitle
: "§e%buyer% §fđã mua §a%item_name%"
    actionbar
: "§e%buyer% §fđã mua §a%item_name% §fvới giá §a%price%"

  # Tin nhắn quảng bá xác nhận trả giá
  bid_confirmed
:
    chat
: "§6[Nhà Đấu Giá] §e%bidder% §fđã trả giá §a%price% §fcho §a%item_name%§f, trở thành người trả giá cao nhất"
    bossbar
: "§e%bidder% §fđã trả giá §a%price% §fcho §a%item_name%§f, trở thành người trả giá cao nhất"
    title
: "§6Cập nhật Trả giá"
    subtitle
: "§e%bidder% §ftrở thành người trả giá cao nhất"
    actionbar
: "§e%bidder% §fđã trả giá §a%price% §fcho §a%item_name%"

# Mô tả vật phẩm đấu giá
auction_item
:
  divider
: "§8§m--------------------"
  info_header
: "§6§lThông tin Đấu giá:"
  item_id
: "§eID Vật phẩm: §f%id%"
  currency_type
: "§eLoại tiền tệ: §f%currency%"
  start_price
: "§eGiá khởi điểm: §f%price%"
  current_price
: "§eGiá hiện tại: §f%price%"
  deal_price
: "§eGiá giao dịch: §f%price%"
  buy_now_price
: "§eGiá mua ngay: §f%price%"
  list_time
: "§eThời gian đăng bán: §f%time%"
  remaining_time
: "§eThời gian còn lại: §f%time%"
  seller
: "§eNgười bán: §f%seller%"
  current_bidder
: "§eNgười trả giá hiện tại: §f%bidder%"

  # Gợi ý thao tác cho chủ sở hữu
  owner_tips
:
    header
: "§7Đây là vật phẩm đấu giá của bạn"
    cancel
: "§7Shift + Nhấp chuột phải: §fHủy đăng bán nhanh"

  # Gợi ý thao tác cho người mua
  buyer_tips
:
    bid
: "§7Nhấp chuột trái: §fTham gia trả giá"
    buy
: "§7Nhấp chuột phải: §fMua nhanh"

  # Gợi ý thao tác cho quản trị viên
  admin_tips
:
    header
: "§c§lThao tác Admin:"
    force_cancel
: "§cShift + Nhấp chuột trái: §fBuộc hủy đăng bán vật phẩm này"

  # Chi tiết vật phẩm đấu giá của tôi
  my_auction_start_price
: "§eGiá khởi điểm: §f%price%"
  my_auction_current_price
: "§eGiá hiện tại: §f%price%"
  my_auction_buy_now_price
: "§eGiá mua ngay: §f%price%"
  my_auction_remaining_time
: "§eThời gian còn lại: §f%time%"
  my_auction_current_bidder
: "§eNgười trả giá hiện tại: §f%bidder%"
  my_auction_has_bidder_warning1
: "§c⚠ Đã có người trả giá, không thể hủy đấu giá ⚠"
  my_auction_has_bidder_warning2
: "§cVui lòng đợi đấu giá kết thúc"
  my_auction_cancel_tip
: "§eNhấp chuột phải để hủy đấu giá"

  # Chi tiết vật phẩm đã bán
  sold_item_deal_price
: "§eGiá giao dịch: §f%price%"
  sold_item_buyer
: "§eNgười mua: §f%buyer%"
  sold_item_sold_time
: "§eThời gian bán: §f%time%"
  sold_item_notice1
: "§cVật phẩm này đã được bán, chỉ để xem"
  sold_item_notice2
: "§cKhông thể lấy lại hoặc bán lại"

# Lời nhắc Menu Đăng bán
sell_menu
:
  command_tips
:
    header
: "§7Giữ vật phẩm muốn đăng bán và nhập:"
    usage
: "§7/auction sell <giá khởi điểm> [giá mua ngay] [loại tiền tệ]"
    currency_types
: "§7Loại tiền tệ: §f1=Xu, 2=Point"

  # Nút tùy chỉnh thời gian đăng bán
  duration_button
:
    title
: "§aTùy chỉnh Thời gian Đăng bán"
    current_setting
: "§7Cài đặt hiện tại: §f%hours% giờ %minutes% phút"
    divider
: "§8§m--------------------"
    left_click
: "§7Nhấp chuột trái: §f+1 phút"
    right_click
: "§7Nhấp chuột phải: §f+1 giờ"
    shift_left_click
: "§7Shift + Trái: §f+10 phút"
    shift_right_click
: "§7Shift + Phải: §f+10 giờ"
    middle_click
: "§7Chuột §bgiữa§7 hoặc phím §bQ§7: §fĐặt lại thời gian tối thiểu"
    min_time
: "§7Thời gian ngắn nhất: §f%hours% giờ"
    max_time
: "§7Thời gian dài nhất: §f%hours% giờ"
    note1
: "§eLưu ý: §fCài đặt thời gian chỉ có hiệu lực sau khi xác nhận đăng bán"
    note2
: "§e       §fKhông hợp lệ khi đăng bán bằng lệnh"

# Hậu tố tiêu đề và dấu phân cách
format
:
  page_separator
: " §7- Trang %page%"

# Nút tăng giá
bid_increase
: "§bNâng giá trước"

# Thông tin Giao diện Đấu giá của tôi
my_auction
:
  page_info
: "§eTrang hiện tại: §f%page%/%total_pages%"
  sold_count
: "§eĐã bán: §f%count%"
  expired_count
: "§eĐã hết hạn: §f%count%"
  listings_count
: "§eSố lượng đăng bán: §f%current%/%max%"
  limit_warning
: "§c⚠ Số lượng đăng bán của bạn sắp đạt đến giới hạn!"

mailbox
:
  # Lọc vật phẩm hòm thư
  mailbox_filter_tags
:
   - "✉"
    - "§8-----------------"
    - "Giá giao dịch"
    - "Thời gian nhận"
    - "Thời gian hủy"
    - "Thời gian mua"
    - "Vật phẩm đấu giá thành công"
    - "Giá hiện tại"

  # Đánh dấu vật phẩm hết hạn trong hòm thư
  expired_auction_tags
:
   - "Hết hạn chưa bán"
    - "AUCTION_EXPIRED"

error_messages
:
  item_not_exists
: "§cVật phẩm không tồn tại hoặc đã được mua!"

# Tin nhắn GuiListener
gui_listener
:
  # Liên quan đến nhận vật phẩm
  collect_success
: "§aĐã nhận vật phẩm thành công, vật phẩm đã được đưa vào túi đồ của bạn."
  collect_fail_inventory_full
: "§eTúi đồ đã đầy, không thể nhận vật phẩm. Vui lòng dọn dẹp túi đồ rồi thử lại."

  # Liên quan đến hủy đấu giá
  cancel_auction_has_bid
: "§cVật phẩm này đã có người trả giá, không thể hủy đấu giá!"
  cancel_auction_success
: "§aĐã hủy đấu giá thành công, vật phẩm đã được trả lại vào túi đồ của bạn."
  cancel_auction_success_inventory_full
: "§eĐã hủy đấu giá thành công, nhưng túi đồ của bạn đã đầy. Vật phẩm đã được lưu vào danh sách chờ nhận, sử dụng /auction collect để nhận."
  cancel_auction_fail
: "§cHủy đấu giá thất bại, vui lòng thử lại sau."

  # Liên quan đến cài đặt thời gian
  reset_duration
: "§eĐã đặt lại thời gian đăng bán về mức tối thiểu!"
  max_duration_limit
: "§cĐã đạt đến giới hạn thời gian đăng bán tối đa!"
  update_duration
: "§aĐã cập nhật thời gian đăng bán thành: §f%hours% giờ %minutes% phút"
  custom_duration_below_min
: "§eThời gian tùy chỉnh thấp hơn giới hạn tối thiểu, đã tự động điều chỉnh về giá trị tối thiểu."
  custom_duration_above_max
: "§eThời gian tùy chỉnh vượt quá giới hạn tối đa, đã tự động điều chỉnh về giá trị tối đa."
  custom_duration_set
: "§aVật phẩm đã được đăng bán, thời gian đăng bán được đặt thành: §f%hours% giờ %minutes% phút"

  # Liên quan đến đăng bán vật phẩm
  points_unavailable
: "§eHệ thống Point không khả dụng, đã tự động chuyển sang sử dụng Xu để đăng bán."
  max_listings_reached_1
: "§cBạn đã đạt đến giới hạn số lượng vật phẩm đăng bán tối đa (%max_listings% vật phẩm)!"
  max_listings_reached_2
: "§cVui lòng đợi vật phẩm đã đăng bán được bán hoặc hết hạn trước khi thử đăng bán vật phẩm mới."

  # Liên quan đến trạng thái vật phẩm
  expired_item
: "§cVật phẩm này đã kết thúc đấu giá!"
  invalid_item
: "§cVật phẩm không tồn tại hoặc đã được mua!"

  # Quyền hạn và giới hạn thao tác
  no_permission
: "§cBạn không có quyền thực hiện thao tác này!"
  owner_bid
: "§cBạn không thể trả giá cho vật phẩm của chính mình!"
  owner_buy
: "§cBạn không thể mua vật phẩm của chính mình!"
  already_highest_bidder
: "§eBạn đã là người trả giá cao nhất hiện tại, có thể tiếp tục tăng giá!"

  # Liên quan đến mua
  no_buy_now_price
: "§cVật phẩm này không có giá mua ngay, không thể mua trực tiếp!"
  not_enough_money
: "§cBạn không có đủ %currency% để thực hiện thao tác này!"
  inventory_full
: "§cTúi đồ của bạn đã đầy, vui lòng dọn dẹp túi đồ trước khi mua vật phẩm!"
  failed_transaction
: "§cTrừ tiền thất bại, vui lòng thử lại!"
  partial_item_saved
: "§eTúi đồ của bạn đã đầy, một phần vật phẩm đã được lưu vào danh sách chờ nhận, sử dụng /ah collect để nhận"

  # Thông báo mua thành công
  purchase_success
: "§aMua thành công!"
  purchase_item
: "§eVật phẩm: §f%item%"
  purchase_price
: "§eGiá: §f%price%"
  mailbox_full
: "§aMua thành công! §eNhưng túi đồ của bạn đã đầy, vật phẩm đã được gửi vào hòm thư vật phẩm, vui lòng sử dụng /ah my để xem."
  cancel_purchase
: "§cĐã hủy mua"

  # Thông báo bán hàng
  sold_notification
: "§aVật phẩm của bạn đã được mua!"
  seller_fee
: "§ePhí giao dịch: §f%fee%"
  seller_income
: "§eThực nhận: §f%income%"
  buyer
: "§eNgười mua: §f%buyer%"

  # Liên quan đến trả giá
  expired_bid_info
: "§cThông tin trả giá đã hết hạn, vui lòng chọn lại vật phẩm"
  expired_bid
: "§cVật phẩm này đã hết hạn, không thể trả giá!"
  bid_sold
: "§eVật phẩm ID: %id% đã được mua ngay\n§eGiá %price% của bạn đã được hoàn lại"
  bid_outbid
: "§eGiá của bạn đã bị vượt qua! ID Vật phẩm: %id%"
  previous_bid
: "§eGiá %amount% của bạn đã được hoàn lại"
  new_bid
: "§eGiá mới: %amount%"
  incomplete_bid_info
: "§cThông tin trả giá không đầy đủ, vui lòng trả giá lại."
  bid_below_minimum
: "§cGiá trả phải cao hơn giá hiện tại ít nhất %min_bid%!"
  pre_bid
: "§aĐã nâng giá trước! §eNhấp vào nút 'Xác nhận Trả giá' để hoàn tất, hoặc nhấp vào 'Hủy Trả giá' để hủy."
  bid_amount
: "§eSố tiền trả giá dự kiến: §f%amount%"
  bid_accepted
: "§aĐã xác nhận số tiền trả giá hiện tại: §f%amount%"
  bid_success
: "§aTrả giá thành công!"
  bid_item
: "§eID Vật phẩm: §f%id%"
  bid_price
: "§eGiá của bạn: §f%price%"

  # Thông tin số dư
  balance
: "§aSố dư %currency% của bạn: §f%balance%"

  # Thao tác quản trị viên
  refund
: "§eGiá bạn trả cho một vật phẩm đã được hoàn lại vì vật phẩm đó bị quản trị viên buộc hủy đăng bán.\n§eĐã hoàn lại: §f%amount%"
  removed_item
: "§aĐã buộc hủy đăng bán vật phẩm #%id% (Người bán: %seller%)"

# Thêm tin nhắn liên quan đến lệnh
auction_commands
:
  # Tin nhắn thông thường
  player_only
: "§cLệnh này chỉ người chơi mới sử dụng được!"
  unknown_command
: "§cLệnh không xác định! Sử dụng /auction help để xem trợ giúp"
  no_permission
: "§cBạn không có quyền sử dụng lệnh này!"

  # Thông tin gợi ý hoàn thành tab
  tab_completion
:
    sell_price
: "<giá khởi điểm>"
    sell_buynow
: "<giá mua ngay>"
    sell_currency
: "<loại tiền tệ: 1=Xu, 2=Point>"
    search_keyword
: "<từ khóa>"

  # Thông tin trợ giúp
  help
:
    header
: "§6===== Trợ giúp Nhà Đấu Giá ====="
    help
: "§e/auction help - Hiển thị thông tin trợ giúp này"
    open
: "§e/auction open - Mở nhà đấu giá"
    sell
: "§e/auction sell <giá khởi điểm> [giá mua ngay] [loại tiền tệ] - Đăng bán vật phẩm (1=Xu, 2=Point)"
    search
: "§e/auction search <từ khóa> - Tìm kiếm vật phẩm"
    my
: "§e/auction my - Xem đấu giá và hòm thư vật phẩm của tôi"
    collect
: "§e/auction collect - Nhận vật phẩm chờ nhận"
    admin_header
: "§c===== Lệnh Quản trị viên ====="
    reload
: "§e/auction reload - Tải lại tệp cấu hình"
    close
: "§e/auction close - §c[Thử nghiệm] §eBuộc đóng tất cả vật phẩm đấu giá và đánh dấu là hết hạn"
    checkexpired
: "§e/auction checkexpired - Kiểm tra tất cả vật phẩm hết hạn nhưng chưa xử lý"
    info
: "§e/auction info <tên người chơi> - Truy vấn thông tin nhà đấu giá của người chơi"

  # Liên quan đến lệnh thu thập
  collect
:
    success
: "§aĐã mở hòm thư vật phẩm, bạn có thể nhận tất cả vật phẩm chờ nhận tại đây."

  # Liên quan đến lệnh đăng bán
  sell
:
    usage
: "§cSử dụng: /auction sell <giá khởi điểm> <giá mua ngay> [loại tiền tệ]"
    currency_types
: "§cLoại tiền tệ: 1 = Xu, 2 = Point (mặc định là Xu)"
    points_unavailable
: "§cHệ thống Point không khả dụng, máy chủ chưa cài đặt plugin PlayerPoints."
    points_unavailable_solution
: "§cVui lòng sử dụng Xu để đăng bán vật phẩm, hoặc liên hệ quản trị viên máy chủ để được trợ giúp."
    invalid_currency
: "§cLoại tiền tệ không hợp lệ! Sử dụng: 1 = Xu, 2 = Point"
    max_listings_reached
: "§cBạn đã đạt đến giới hạn số lượng vật phẩm đăng bán tối đa (%max_listings% vật phẩm)!"
    wait_for_items_sold
: "§cVui lòng đợi vật phẩm đã đăng bán được bán hoặc hết hạn trước khi thử đăng bán vật phẩm mới."
    start_price_zero
: "§cGiá khởi điểm phải lớn hơn 0!"
    buy_now_less_than_start
: "§cGiá mua ngay phải lớn hơn giá khởi điểm!"
    invalid_price
: "§cVui lòng nhập giá hợp lệ!"

  # Liên quan đến lệnh tìm kiếm
  search
:
    usage
: "§cSử dụng: /auction search <từ khóa>"
    min_length
: "§cTừ khóa tìm kiếm cần ít nhất 2 ký tự!"
    searching
: "§aĐang tìm kiếm: §e%keyword%"

  # Liên quan đến lệnh đóng tất cả đấu giá
  close
:
    starting
: "§eĐang buộc đóng tất cả vật phẩm đấu giá..."
    async_notice
: "§eThao tác này sẽ được thực hiện ngầm trong nền để tránh làm lag máy chủ, vui lòng kiên nhẫn chờ đợi."
    force_close
: "§cNhà đấu giá đã bị quản trị viên buộc đóng!"
    success
: "§aNhà đấu giá của tất cả người chơi đã bị buộc đóng!"

  # Liên quan đến lệnh kiểm tra vật phẩm hết hạn
  checkexpired
:
    player_only
: "§cChỉ người chơi mới có thể thực hiện lệnh này!"
    checking
: "§aĐang kiểm tra tất cả vật phẩm đấu giá, tìm kiếm vật phẩm hết hạn nhưng chưa xử lý..."
    success
: "§aĐã xử lý thành công %count% vật phẩm hết hạn!"
    none
: "§aKhông tìm thấy vật phẩm hết hạn nhưng chưa xử lý."

  # Liên quan đến lệnh tải lại cấu hình
  reload
:
    success
: "§a Cấu hình GlobalShop đã được tải lại!"
    debug_info
: "§eThông tin gỡ lỗi: Khoảng thời gian kiểm tra đã được đặt thành %interval% giây"

# Thêm tin nhắn liên quan đến hòm thư và chi tiết
mailbox_details
:
  # Tin nhắn xử lý vật phẩm hòm thư
  collect_success
: "§aĐã nhận vật phẩm thành công, vật phẩm đã được đưa vào túi đồ của bạn."
  inventory_full
: "§eTúi đồ đã đầy, không thể nhận vật phẩm. Vui lòng dọn dẹp túi đồ rồi thử lại."

  # Tin nhắn hủy đấu giá
  auction_has_bidder
: "§cVật phẩm này đã có người trả giá, không thể hủy đấu giá!"

  # Từ khóa lọc vật phẩm hòm thư
  filter_keywords
:
   - "Giá khởi điểm"
    - "Thời gian"
    - "Trong thời gian đấu giá"
    - "Hệ thống tự động hủy"
    - "✉"
    - "§8-----------------"
    - "Vật phẩm đấu giá thành công"
    - "Giá hiện tại"

# Xem chi tiết vật phẩm
item_details
:
  header
: "§6===== Chi tiết Vật phẩm Đấu giá ====="
  item_name
: "§eVật phẩm: §f%item%"
  start_price
: "§eGiá khởi điểm: §f%price%"
  current_price
: "§eGiá hiện tại: §f%price%"
  buy_now_price
: "§eGiá mua ngay: §f%price%"
  current_bidder
: "§eNgười trả giá hiện tại: §f%bidder%"
  remaining_time
: "§eThời gian còn lại: §f%time%"

# Cấu hình liên quan đến menu trả giá
bid_menu
:
  item_text
: "§7Vật phẩm: §f%item_name%"
  original_price_text
: "§7Giá gốc: §f%price%"
  current_price_text
: "§7Giá hiện tại: §f%price%"
  pre_amount_text
: "§7Số tiền nâng giá trước: §f%price%"
  rate_text
: "§7Mức tăng giá: §f+%rate%%"
  increase_tip
: "§7Nhấn để tăng số tiền trả giá của bạn"
  min_increase_text
: "§7Tăng giá tối thiểu: §f%price%"
  confirm_tip
: "§7Nhấn để xác nhận số tiền trả giá hiện tại"
  confirm_pre_amount_text
: "§7Số tiền nâng giá trước: §f%price%"

# Cấu hình liên quan đến AuctionTask
auction_task
:
  # Tin nhắn đấu giá thành công - Thông báo cho người mua
  buyer_win
:
    success
: "§aVật phẩm bạn đấu giá đã được gửi đến hòm thư vật phẩm!"
    item
: "§eVật phẩm: %item_name%"
    price
: "§eGiá: %price%"
    collect_guide
: "§eSử dụng /auction my để vào hệ thống đấu giá, nhấp vào \"Hòm thư Vật phẩm\ " để nhận"

  # Tin nhắn đấu giá thành công - Thông báo cho người bán
  seller_win
:
    success
: "§aVật phẩm của bạn đã được đấu giá thành công!"
    item
: "§eVật phẩm: %item_name%"
    price
: "§eGiá: %price%"
    income
: "§eThu nhập: %amount%"
    buyer
: "§eNgười mua: %buyer%"
    unknown_buyer
: "Không rõ"

  # Tin nhắn đấu giá thất bại - Thông báo cho người bán
  seller_expired
:
    notice
: "§aVật phẩm đấu giá của bạn đã hết hạn, vật phẩm đã được đưa vào hòm thư vật phẩm!"
    item
: "§eVật phẩm: %item_name%"
    collect_guide
: "§eSử dụng /auction my để vào hệ thống đấu giá, nhấp vào \"Hòm thư Vật phẩm\ " để nhận"

# --- Tin nhắn chức năng truy vấn quản trị viên MỚI --- BẮT ĐẦU ---
admin_info_gui
:
  title
: "Thông tin người chơi: %player_name%"
  item_name
: "§eNgười chơi: §f%player_name%"
  sold_count
: "§eTổng số vật phẩm đã bán: §f%count%"
  purchased_count
: "§eTổng số vật phẩm đã mua: §f%count%"
  earnings_header
: "§6Tổng thu nhập:"
  earnings_vault
: "§7 - Xu: §f%amount%"
  earnings_points
: "§7 - Point: §f%amount%"
  spending_header
: "§cTổng chi tiêu:"
  spending_vault
: "§7 - Xu: §f%amount%"
  spending_points
: "§7 - Point: §f%amount%"
  sales_history_button
: "§6Xem Lịch sử Bán hàng"
  purchase_history_button
: "§bXem Lịch sử Mua hàng"
  sales_history_title
: "§6Lịch sử Bán hàng: %player_name% - Trang %page%"
  purchase_history_title
: "§bLịch sử Mua hàng: %player_name% - Trang %page%"
  back_button_to_player_info
: "§eQuay lại Thông tin người chơi"
  active_auctions
: "§eSố vật phẩm đang đấu giá: §f%count%"

history_item
:
  info_header
: "§6§lBản ghi Giao dịch:"
  sold_time
: "§eThời gian giao dịch: §f%time%"
  buyer
: "§eNgười mua: §f%buyer%"
# --- Tin nhắn chức năng truy vấn quản trị viên MỚI --- KẾT THÚC ---

# Cấu hình văn bản tin nhắn (Phần trùng lặp - giữ lại theo cấu trúc gốc)
messages
:
# ... mã hiện có ...
  # --- Tin nhắn lệnh quản trị viên MỚI - BẮT ĐẦU ---
  command
:
    info
:
      usage
: "§cSử dụng: /gs info <tên người chơi>"
    player_not_found
: "§cKhông tìm thấy người chơi: %player_name%"
  # --- Tin nhắn lệnh quản trị viên MỚI - KẾT THÚC ---

# Tin nhắn liên quan đến đăng bán (Phần trùng lặp - giữ lại theo cấu trúc gốc)
place_item_first
: "§cVui lòng đặt vật phẩm muốn đăng bán vào trước!"
# ... mã hiện có ...

# Cấu hình liên quan đến AuctionItem
auction_item_format
:
  time
:
    expired
: "Đã hết hạn"
    day
: "ngày"
    hour
: "giờ"
    minute
: "phút"
    second
: "giây"
    not_sold
: "Chưa bán được"
  display
:
    unknown_item
: "Vật phẩm không xác định"

# --- END OF FILE message_vi.txt ---
----------, Apr 12, 2025

Fixed the issue where the OP would receive 2 duplicate messages
----------, Apr 9, 2025

Please delete the old message.yml and message_en.yml
----------, Apr 8, 2025

1.3.2.3 support 1.20.x-1.21.x
----------, Apr 8, 2025

message.yml
----------, Apr 7, 2025

config.yml add support MySQL
Code (YAML):

# 数据库配置
database
:
  # 数据库类型,支持 sqlite 和 mysql
  type
: sqlite
  # SQLite数据库文件名,存储在plugins/GlobalShop/目录下
  file
: data.db
  # MySQL数据库配置
  mysql
:
    host
: localhost
    port
: 3306
    database
: globalshop
    username
: root
    password
: password
    useSSL
: false
----------, Apr 7, 2025

Add more hardcoded strings to the config file to customize
----------, Apr 6, 2025

Code (YAML):

# AuctionItem related configuration
auction_item_format
:
  time
:
    expired
: "Expired"
    day
: "d"
    hour
: "h"
    minute
: "m"
    second
: "s"
    not_sold
: "Not Sold"
  display
:
    unknown_item
: "Unknown Item"
----------, Apr 6, 2025

保留%item_name% 的DISPLAY自定义颜色
----------, Apr 5, 2025


QQ20250405-041722.png
----------, Apr 4, 2025

QQ20250404-173749.png
----------, Apr 4, 2025

/ah info PLAYER 查询玩家 BUY/SELL记录
----------, Apr 2, 2025

op查看玩家历史销售购买记录
----------, Apr 2, 2025

1.3.0.7 hud优化
----------, Mar 27, 2025

1.3.0.5 移除全部调试信息
----------, Mar 26, 2025

# 广告牌样式 (FIXED, VERTICAL, HORIZONTAL, CENTER)
billboard: "FIXED"
----------, Mar 26, 2025

1.3.0.3 remove debug
----------, Mar 26, 2025



1.2.1.9 增加竞价更新广播
----------, Mar 24, 2025

1.2.1.8 修复一些小BUG
----------, Mar 23, 2025

gx.png

17. 广播系统物品悬停信息完全优化
- 彻底重构悬停显示功能,优化为使用原生Minecraft的HoverEvent机制
- 修复之前临时方案中的渐变色物品被转成白色显示的问题,现可完整保留所有渐变色效果
- 创建新的createItemInfoText方法,确保所有物品信息(名称、数量、LORE)格式完全保留
- 简化broadcastMessage逻辑,更直接地创建悬浮组件,移除不必要的颜色转换代码
- 保留原createHoverTextForEvent方法作为备用方案,确保向下兼容
- 玩家现在可以在聊天框中看到与拍卖行主界面完全一致的物品信息,包括所有渐变色效果
----------, Mar 23, 2025

悬浮窗渐变色
----------, Mar 23, 2025

增加广播信息显示物品复数

a333.png
----------, Mar 23, 2025

fix en locale
----------, Mar 22, 2025

修复TAB补全
----------, Mar 22, 2025

## 最近更新
1. 语言文件系统完善
- 添加了完整的多语言支持系统,新增多种语言文件
- 已完成的语言支持:英语(en)、德语(de)、俄语(ru)、西班牙语(es)、法语(fr)、意大利语(it)、日语(ja)、葡萄牙语(pt)
- 部分完成的语言支持:阿拉伯语(ar)、印地语(hi)
- 所有语言文件均位于`src/main/resources/lang/`目录下
- 每个语言文件包含所有GUI文本、消息提示、错误信息等内容
- 支持中文、英文和多国语言的完整消息配置
- 确保了auction_task部分的多语言支持,移除了硬编码信息

2. AuctionTask拍卖任务硬编码消息重构
- 将AuctionTask.java中的所有硬编码消息迁移至message.yml配置文件
- 在message.yml中新增auction_task部分,包含买家通知、卖家通知和拍卖过期通知等消息
- 在MessageManager中添加对应的消息获取方法,支持动态占位符替换
- 重构通知买家和卖家的消息发送代码,使用MessageManager替代硬编码字符串
- 确保所有消息内容和格式与原始硬编码保持一致,同时支持自定义
- 遵循项目统一规范,避免硬编码字符串,提高代码可维护性和灵活性

3. 自定义上架时间功能
- 新增上架界面中的钟表按钮,允许玩家自定义拍卖持续时间
- 支持多种操作方式:左键+1分钟,右键+1小时,Shift+左键+10分钟,Shift+右键+10小时
- 中键点击可快速重置为最小上架时间
- 自动限制时间范围在config.yml设置的最小和最大限制内
- 上架成功后显示确认信息,提示已设置的持续时间
- 优化UI,按钮提示明确且详细,使用户操作直观简单
----------, Mar 21, 2025

## 最近更新
1. 自定义上架时间功能
- 新增上架界面中的钟表按钮,允许玩家自定义拍卖持续时间
- 支持多种操作方式:左键+1分钟,右键+1小时,Shift+左键+10分钟,Shift+右键+10小时
- 中键点击可快速重置为最小上架时间
- 自动限制时间范围在config.yml设置的最小和最大限制内
- 上架成功后显示确认信息,提示已设置的持续时间
- 优化UI,按钮提示明确且详细,使用户操作直观简单
----------, Mar 21, 2025

## 最近更新
1. 价格输入限制系统
- 添加了价格最大位数限制功能,防止玩家上架超高价格物品
- 在config.yml中添加`economy.max_price_digits`配置项,可自定义价格最大位数
- 使用可靠的数学方法正确计算整数位数,而非字符串分析
- 添加详细的调试输出,方便服务器管理员排查问题
- 超出限制时提供友好错误提示,并支持自定义错误信息

2. 已售出拍卖界面优化
- 将"我的已售出拍卖"界面的金块按钮更改为金锭按钮,更符合直觉
- 添加总计售出物品数量统计显示,提供更全面的销售信息
- 改进总收益计算逻辑,统计所有页面的售出物品收益
- 完善LORE显示格式,同时展示总计售出数量、总计金币和总计点券收益
- 将所有界面文本移至message.yml配置文件,支持完全自定义
----------, Mar 21, 2025

在我的已售出物品页面增加统计总计赚取金额
----------, Mar 21, 2025

g33.png
## 最近更新
1. 广播系统悬停详细信息优化
- 修复了聊天框中"[详细信息]"显示内容不完整的问题
- 确保聊天框中的物品信息与拍卖行主界面完全一致
- 修复了物品ID不一致的问题(详细信息显示的ID与实际ID不匹配)
- 确保显示完整的物品名称、原版LORE和所有拍卖信息
- 添加了错误处理机制,确保即使生成悬停文本失败也能显示基础信息
- 优化了代码复用,避免重复造轮子

2. 配置重载功能完善
- 全面优化了`/auction reload`命令处理逻辑
- 修复了广播配置变更后不立即生效的问题
- 添加对BroadcastManager和GuiManager的配置重载支持
- 增加调试输出,帮助管理员确认所有配置项是否正确重载
- 确保check_interval等关键配置项修改后立即应用

3. 已售出历史物品界面优化
- 修复了一口价确认购买时已售出历史物品显示起拍价而非实际成交价的问题
- 修复了已售出历史物品显示硬编码结束时间而非实际售出时间的问题
- 确保所有购买途径(直接一口价、确认界面一口价、竞价达到一口价)都正确设置成交价格
- 优化了售出时间显示逻辑,不再回退使用拍卖结束时间
- 提高了交易记录的准确性和用户体验
----------, Mar 19, 2025

本次更新
1. PlayerPoints改为软依赖支持
- 将PlayerPoints从硬依赖改为软依赖,提高插件兼容性
- 在PlayerPoints不可用时自动禁用点券功能
- 完善命令和GUI界面,在PlayerPoints不可用时只显示金币选项
- 对所有点券相关操作添加可用性检查,防止出错
- 优化用户提示信息,清晰告知用户点券功能不可用的情况
----------, Mar 19, 2025

1.1.9.3 修复重复广播提示
----------, Mar 19, 2025

1.1.9.2
----------, Mar 19, 2025

## 最近更新
1. 广播系统消息自定义优化(2025.5)
- 将广播系统的硬编码消息转移到message.yml中,支持完全自定义
- 支持5种不同位置的广播消息格式配置:聊天框、Boss栏、标题、副标题、动作栏
- 每个广播事件(物品上架、竞拍成功、一口价购买)可独立配置消息格式
- 消息配置支持动态reload,无需重启服务器即可生效
- 优化占位符系统,增强广播消息的自定义灵活性

2. GUI竞价系统优化(2025.3)
- 修复了竞价界面预加价按钮导致显示"已取消竞价"的错误提示问题
- 修复了竞价界面点击空位置时出现的空指针异常问题
- 优化了竞价过程中的元数据处理逻辑
- 提高了竞价界面操作的稳定性和用户体验

3. GUI翻页系统优化(2025.3)
- 修复了主拍卖界面下一页按钮无响应问题
- 优化了翻页逻辑,正确保存和传递页码元数据
- 调整每页显示物品数量从42个增加到45个
- 完善了当物品填满时的翻页功能,确保可以无限翻页

4. 管理员强制下架功能修复(2025.3)
- 修复了有人竞价的物品被管理员强制下架后不返回到卖家邮箱的问题
- 改进了物品强制下架的状态处理逻辑,使用CANCELLED状态替代EXPIRED状态
- 优化了竞价退款流程,确保正确退还竞价金额给竞价者
- 添加了更详细的通知信息,通知卖家和竞价者物品已被管理员下架

5. 配置重载功能优化(2025.3)
- 修复了config.yml中check_interval选项修改后无效的问题
- 优化了/auction reload命令的处理逻辑,确保配置重载后能立即应用新设置
- 添加了任务管理功能,支持在不重启服务器的情况下动态调整拍卖检查间隔
- 增加了调试日志输出,帮助管理员确认配置更改是否生效

6. 竞价系统功能优化(2025.4)
- 修复了竞价界面预加价按钮缺少显示当前预加价总额的问题
- 增强了竞价确认功能,确保玩家点击确认后不会显示"已取消竞价操作"的错误提示
- 优化了竞价界面界面元素设计,提高信息可读性
- 完善了竞价系统中的元数据处理逻辑,确保竞价过程流畅稳定
- 修复了重要的竞价差额计算逻辑,确保正确计算和扣除差价金额
----------, Mar 19, 2025

1. 管理员强制下架功能修复(2025.3)
- 修复了有人竞价的物品被管理员强制下架后不返回到卖家邮箱的问题
- 改进了物品强制下架的状态处理逻辑,使用CANCELLED状态替代EXPIRED状态
- 优化了竞价退款流程,确保正确退还竞价金额给竞价者
- 添加了更详细的通知信息,通知卖家和竞价者物品已被管理员下架

2. 配置重载功能优化(2025.3)
- 修复了config.yml中check_interval选项修改后无效的问题
- 优化了/auction reload命令的处理逻辑,确保配置重载后能立即应用新设置
- 添加了任务管理功能,支持在不重启服务器的情况下动态调整拍卖检查间隔
- 增加了调试日志输出,帮助管理员确认配置更改是否生效
----------, Mar 19, 2025

## 最近更新
1. GUI竞价系统优化(1.0.7)
- 修复了竞价界面预加价按钮导致显示"已取消竞价"的错误提示问题
- 修复了竞价界面点击空位置时出现的空指针异常问题
- 优化了竞价过程中的元数据处理逻辑
- 提高了竞价界面操作的稳定性和用户体验
----------, Mar 19, 2025

添加自定义广播
----------, Mar 18, 2025

fixed bug
----------, Mar 18, 2025

退回稳定版本
----------, Mar 18, 2025

add message.yml
----------, Mar 18, 2025

hotfix and up github
----------, Mar 17, 2025

修复大量逻辑性BUG
----------, Mar 15, 2025

Resource Information
Author:
----------
Total Downloads: 1,432
First Release: Mar 15, 2025
Last Update: May 22, 2025
Category: ---------------
All-Time Rating:
3 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings