разные blockpos.

Версия Minecraft
1.16.5
API
Forge
36
2
1
Всем привет!

У меня проблемка есть. И я не знаю как решить?

Суть:

Когда скидываю предмет на определённый блок, срабатывает действие. Но предмет имеет другой blockpos который отличается от позиции блока.

вот код:
Java:
@SubscribeEvent
    public static void Craft(ItemTossEvent event){
        BlockPos minusBlock = new BlockPos((float)event.getEntityItem().getX(), (float)event.getEntityItem().getY()-1, (float)event.getEntityItem().getZ());
        BlockPos Blockpos = new BlockPos((float)event.getEntityItem().getX(), (float)event.getEntityItem().getY(), (float)event.getEntityItem().getZ());
        Item getDropItem = event.getEntityItem().getItem().getItem();
        if (event.getEntity().level.getBlockState(minusBlock) == Blocks.craftingTable.get().defaultBlockState()){
             // действие
        }
 {

Заранее спасибо!
 
Последнее редактирование:
627
72
178
так-то всё нормально. 4 - это высота нижней грани блока, а предмет на картинке у тебя находится примерно на 5.5, соответственно майн и округляет тебе до 5. чтобы код срабатывал только если предмет находится прямо на блоке, можешь использовать метод event.getEntityItem().getBlockStateOn() - он возвращает тебе сразу блокстейт на координатах EntityItem с Y уменьшенным на 1.0E-5 (10 в -5 степени)
 
Сверху