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

Отслеживание блока на котором лежит предмет


Frame

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

В теме 8 сообщений

Здрасьте гайс,я хочу сделать чтобы когда я кидал пластинку otherside на алмазный блок,этот блок исчезал а пластинка менялось на кастомную  с моей custom model data,это вообще возможно с помощью дата паков?если да,то пожалуйста,кто может распишите как это делается.

P.S я думаю что это можно сделать через комбинацию функции и предиката,типо предикат проверяет положение выброшенной пластинки,а после запускает функцию,я бы сделал сам,но я вообще не понимаю в предикатах.

 

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

{
  "condition": "minecraft:entity_properties",
  "entity": "this",
  "predicate": {
    "type": "minecraft:item",
    "nbt": "{Item:{components:{\"minecraft:custom_data\":{tag:1}}}}",
    "stepping_on": {
      "block": {
        "blocks": "minecraft:diamond_block"
      }
    }
  }
}

execute as @e[type=item] at @s if predicate cobalt:predicate1 run...

наверное как-то в селекторе можно оптимизировать и обойтись без type в предикате

https://misode.github.io/predicate/

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

13 часов назад, Frame сказал:

предикат проверяет положение выброшенной пластинки

Можно без предиката:

#minecraft:tick:
execute as @e[type=minecraft:item] if items entity @s contents minecraft:music_disc_otherside at @s if block ~ ~-0.35 ~ minecraft:diamond_block run function <name>

Функция <name>:
data modify entity @s Item.components."minecraft:custom_data".custom_tag set value 1b
setblock ~ ~-1 ~ minecraft:dirt replace

 

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

А обязательно нужен тег,нельзя использовать custom model data?Если не сложно,распиши как можно приписать тег к предмету.

P.S уже не надо

 

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

В 13.09.2024 в 02:42, Shomen сказал:
{
  "condition": "minecraft:entity_properties",
  "entity": "this",
  "predicate": {
    "type": "minecraft:item",
    "nbt": "{Item:{components:{\"minecraft:custom_data\":{tag:1}}}}",
    "stepping_on": {
      "block": {
        "blocks": "minecraft:diamond_block"
      }
    }
  }
}

execute as @e[type=item] at @s if predicate cobalt:predicate1 run...

наверное как-то в селекторе можно оптимизировать и обойтись без type в предикате

https://misode.github.io/predicate/

на сколько я знаю это можно сдлеать и вот так
{
  "condition": "minecraft:entity_properties",
  "entity": "this",
  "predicate": {
    "stepping_on": {
      "block": {
        "blocks": "minecraft:diamond_block"
      }
    },
    "slots": {
      "container.0": {
        "components": {
          "minecraft:custom_data": "tag:1"
        }
      }
    }
  }
}

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

В 16.09.2024 в 01:12, NecRoZ сказал:

на сколько я знаю это можно сдлеать и вот так
{
  "condition": "minecraft:entity_properties",
  "entity": "this",
  "predicate": {
    "stepping_on": {
      "block": {
        "blocks": "minecraft:diamond_block"
      }
    },
    "slots": {
      "container.0": {
        "components": {
          "minecraft:custom_data": "tag:1"
        }
      }
    }
  }
}

а какой вариант быстрее будет?

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

5 часов назад, Shomen сказал:

а какой вариант быстрее будет?

честно говоря, я не проводил сравнения, но могу предположить что сильной разницы нет, шлавный + моего варианта является более удобное представление

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

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

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

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

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

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

Войти

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

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

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