Перейти к содержанию

Scoreboard и "таблицы перевода значений"


Anderos115

Рекомендуемые сообщения

В теме 4 сообщения

Цель такая: Каким-то раком сохранить в предмет число, что бы потом его можно было оттуда вынуть 1 командой.


Да, я знаю что можно просто сделать "таблицу перевода значений"(которые уже составляют 95% моего дп) по типу:

scoreboard players set @a[nbt={SelectedItem:{id:"minecraft:firework_star","minecraft:custom_data":{Tags:["Num_1"]}}}}] M_action 1

scoreboard players set @a[nbt={SelectedItem:{id:"minecraft:firework_star","minecraft:custom_data":{Tags:["Num_3"]}}}}] M_action 2

scoreboard players set @a[nbt={SelectedItem:{id:"minecraft:firework_star","minecraft:custom_data":{Tags:["Num_2"]}}}}] M_action 3

и так далее до немыслимых значений....
Я пытался что-то с прочностью предмета придумать, но без таблицы вынуть не получается.
 

Впрочем, если способа нет, то значит нет, сидим и генерим это чудо питоном(ручками я отказываюсь такое писать, мне недели 3 понадобится)

 

Доп вопрос насчёт этих "таблиц", может что умное подскажите
С attribute напимер или с данными блока(спавнер) такой же прикол творить? Или есть магический трюк по преобразованию и сокращению 10000 строк кода в 1 формулу?

P.S. Всё ещё сижу на 1.21.1, но предложения принимаются с любой версии, так как лично для меня тема оч сложная, и например в инете вообще ничего не нашёл по этому поводу.

Ссылка на комментарий
Поделиться на другие сайты

1.21.4
give @s honeycomb[custom_data={number:1}]
execute as @s run function <функция>with entity @s Inventory[{id:"minecraft:honeycomb"}].components."minecraft:custom_data".
 

и потом через макро в функциях используешь
$say число в предмете $(number)

Ссылка на комментарий
Поделиться на другие сайты

# Выдача предмета
give @p minecraft:firework_star[minecraft:custom_data={action_id:<число>}]

# Получения числа, записываем в скорборд
execute as @a store result score @s <задача> run data get entity @s SelectedItem.components."minecraft:custom_data".action_id

# Запись даты в предмет, полученной с хранилища
item modify entity @p weapon {function:"minecraft:copy_custom_data",source:{type:"minecraft:storage",source:"<хранилище>"},ops:[{source:"<путь_в_хранилище>",target:"action_id",op:"replace"}]}

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, GhostoFBU сказал:

# Выдача предмета
give @p minecraft:firework_star[minecraft:custom_data={action_id:<число>}]

# Получения числа, записываем в скорборд
execute as @a store result score @s <задача> run data get entity @s SelectedItem.components."minecraft:custom_data".action_id

# Запись даты в предмет, полученной с хранилища
item modify entity @p weapon {function:"minecraft:copy_custom_data",source:{type:"minecraft:storage",source:"<хранилище>"},ops:[{source:"<путь_в_хранилище>",target:"action_id",op:"replace"}]}

Именно то, что искал, огромное спасибо

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...