Вопрос по выдаче предметов

tushonca

Участник
Регистрация
9 Май 2023
Сообщения
8
Столкнулся с проблемой, надо ставить выдавать блоки по его айди а не по виду блока, не знаю как решить (если просто положить динам.переменную то её и выдает игроку а нужно выдать или просто поставить блок по его айди ). Помогите пожалуйста, заранее спасибо.
 

GromoverGets

Эксперт
Регистрация
2 Май 2023
Сообщения
254
Столкнулся с проблемой, надо ставить выдавать блоки по его айди а не по виду блока, не знаю как решить (если просто положить динам.переменную то её и выдает игроку а нужно выдать или просто поставить блок по его айди ). Помогите пожалуйста, заранее спасибо.
Есть действие в том же разделе "выдать переменную". Оно выдает предмет игроку, если он там содержится
 

tushonca

Участник
Регистрация
9 Май 2023
Сообщения
8
Не получилось опять критует код или я не правильно чтото сделал? ( Идет обрезка коменды ' @give 3 ' вырезаеться весь текст после пробела и он в динам переменой оказывается, и мне этот айди нужно выдать )
 

tushonca

Участник
Регистрация
9 Май 2023
Сообщения
8
Привет, если я не ошибаюсь, ты пытаешься выдать предмет по числовому айди предмета/блока, но так не будет работать, т.к. код к+ работает через ItemStack{<BLOCK> x <COUNT>}, т.к. же можно указать мету, описание и т.д.
  • Если ты хочешь выдать землю, то тебе надо писать "@give DIRT" и выдавать переменную с "ItemStack{DIRT x 1}"
  • Если камень, то @give STONE и выдавать "ItemStack{STONE x 1}"

Тоесть на каждый блок писать свой обработчик и свою выдачу отдельно предмета? Просто не хочу это все писать (
 

GromoverGets

Эксперт
Регистрация
2 Май 2023
Сообщения
254
Тоесть на каждый блок писать свой обработчик и свою выдачу отдельно предмета? Просто не хочу это все писать (
Есть конечно усложнённый вариант, где ты запихиваешь в сохранённый массив по индексу переменные с теми блоками, которые тебе нужны, но тогда а) это муторно и б) отлетают всякие 1:3 айдишники
 

tushonca

Участник
Регистрация
9 Май 2023
Сообщения
8
Есть конечно усложнённый вариант, где ты запихиваешь в сохранённый массив по индексу переменные с теми блоками, которые тебе нужны, но тогда а) это муторно и б) отлетают всякие 1:3 айдишники
Я уже там итак с массивами работал так что эт не проблема, да и мне айдишники 1:3 не нужны мне просто главное получить блок по его айди из чата)
 

GromoverGets

Эксперт
Регистрация
2 Май 2023
Сообщения
254
Я уже там итак с массивами работал так что эт не проблема, да и мне айдишники 1:3 не нужны мне просто главное получить блок по его айди из чата)
ну по сути ты ставишь огромное действие, которое забивает один раз массив нужными айдишниками по нумерации, а потом банально получаешь элемент массива по индексу, который идентичен айди предмета
 

onn512

Эксперт
Регистрация
2 Май 2023
Сообщения
152
б) отлетают всякие 1:3 айдишники
Верим! 112% правды! Но то, что какой-то нн512 с ютуберкой, используя код, сетает как обычным ворлдэдитом (рандомное заполнение блоками), с использованием настоящих айди - это 512% неправда.

А теперь по делу. У нас есть массив с блоками, например:
Код:
1 - КАМЕНЬ,
2 - ДЁРН,
3 - ЗЕМЛЯ,
4 - БУЛЫЖНИК
И у нас есть полученный текст от игрока, например: «1:3».

Нам нужно разделить текст по символу ":", и мы получим массив, где первый элемент - айди блока, а второй - дата блока. Айди парсим и получаем по нему блок из массива с блоками. Дату блока тоже парсим, и полученные переменные пихаем в «Поставить блок» - переменную с блоком, полученным из массива с блоками, в слот для дим. переменной. А переменную с датой блока в слот для даты блока.

Для создания массива с почти всеми основными блоками нужно 7 полных строк кода:1707011730473.png

tushonca написал(а):
надо ставить выдавать блоки
Так тебе ставить или выдавать? Выдавать таким способом увы нельзя, только ставить.


МЛ топ, как всегда. В голосование попадает всё, но только не обновления каких-то слабых мест в коде, например, работа с предметами и инвентарем.
 
Последнее редактирование:

GromoverGets

Эксперт
Регистрация
2 Май 2023
Сообщения
254
Верим! 112% правды! Но то, что какой-то нн512 с ютуберкой, используя код, сетает как обычным ворлдэдитом (рандомное заполнение блоками), с использованием настоящих айди - это 512% неправда.
Так у него команда @give и у него выдача, там разделение как в сете не катит, потому я и написал, что отлетает
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
357
Так у него команда @give и у него выдача, там разделение как в сете не катит, потому я и написал, что отлетает
в чём трабл? ввести @give id:meta, получить предмет из массива под id, и установить в прочность meta
 

GromoverGets

Эксперт
Регистрация
2 Май 2023
Сообщения
254
в чём трабл? ввести @give id:meta, получить предмет из массива под id, и установить в прочность meta
походу давно я IIE не использовал, забыл что в блоках прочность как мета помечается
 

tushonca

Участник
Регистрация
9 Май 2023
Сообщения
8
С массивами можно выделить 5(условно) массива и парсить первую часть смотреть блок , а если есть мета то из другого массива брать блок, но я так и не понял как получить именно блок из этого массива.
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
357
С массивами можно выделить 5(условно) массива и парсить первую часть смотреть блок , а если есть мета то из другого массива брать блок, но я так и не понял как получить именно блок из этого массива.
зачем?
ввести @give id:meta, получить предмет из массива под id, и установить в прочность meta
вот решение
 
Сверху