1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите [Решено] Как получить каждый слот инвенторя игрока

Тема в разделе "Разработка плагинов для новичков", создана пользователем Bezobrazie, 13 июн 2021.

Статус темы:
Закрыта.
  1. Автор темы
    Bezobrazie

    Bezobrazie Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Я хочу получить каждый слот инвенторя игрока чтобы смотреть есть ли у него запрещенные вещи. Есть ли какойто метод для этого чтобы крутить его в цикле и проверить каждый слот? Версия:1.12.2
     
  2. adodvstudios

    adodvstudios Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Jenka20091
    p.getInventory().getItem(слот)
    Возвращает itemstack
     
  3. SaMEC

    SaMEC Старожил Пользователь

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    Не забудь про шалкеры
     
  4. Автор темы
    Bezobrazie

    Bezobrazie Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    А левую руку?
     
  5. Автор темы
    Bezobrazie

    Bezobrazie Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Чтобы использовать предмет он должен быть в инвенторе. Или я чегото не знаю
     
  6. adodvstudios

    adodvstudios Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Jenka20091
    p.getInventory().getItemInMainHand
    Это в правой
    p.getInventory().getItemInOffHand
    Это в левой
     
  7. SaMEC

    SaMEC Старожил Пользователь

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    Шалкер хранит в себе инвентарь, а в инвентаре игрока он считается обычным ItemStack.
    То есть, если слоте игрока лежит шалкер, тебе нужно его открыть и проверить его инвентарь
     
  8. Автор темы
    Bezobrazie

    Bezobrazie Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    дак если предметы в шалкере их нельзя использовать и тем самым они тебе не мешают. +если они будут в шалкере их сначало нужно иуда положить тоесть в инве они 100% появятся. Гм на сервере нет, такчто из гм точно предметы не возьмут. Проверка чисто на то если модератор/админ затупил и выкинул или умер допустим с бедроком.
     
  9. MurlikMurlik

    MurlikMurlik Активный участник Пользователь

    Баллы:
    96
    Получить весь инвентарь, в том числе слоты брони, левой руки и всего остального.
    Код:
    for (ItemStack item : player.getStorageContents()) {
    //Пустой слот является нулем в массиве.
    if (item == null) {
    continue;
    }
    }
     
  10. adodvstudios

    adodvstudios Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Jenka20091
    Пусть он объяснит по лучше.
    Он спросил, как проверить слот инвентаря, я ему дал ответ: p.getInventory().getItem(слот)

    Какие ко мне притензии?
     
  11. Автор темы
    Bezobrazie

    Bezobrazie Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    Хмм а как узнать на каком слоту в данный момент цыкл? Допустим я хочу чтобы это все логировалось и в логах можно было посмотреть в каком слоту лежал предмет.
     
  12. OJIEKCAHDP

    OJIEKCAHDP Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    for(int i = 0; p.getInventory().getStorageContents(). length > i; i++) {
    p.getInventory().getItem(i);

    }
     
Статус темы:
Закрыта.

Поделиться этой страницей