Class MultiblockInteractionHelper

java.lang.Object
com.hbm_m.multiblock.MultiblockInteractionHelper

public final class MultiblockInteractionHelper extends Object
Общий хелпер взаимодействия с мультиблочными структурами. Любые предметы/инструменты, которые должны работать с КОНТРОЛЛЕРОМ структуры (radar linker, детонатор для Fat Man, fluid identifier и т.п.), обязаны прогонять кликнутую позицию через resolveControllerPos(BlockGetter, BlockPos): если клик пришёлся на блок-часть (IMultiblockPart) с известным контроллером, возвращается позиция контроллера, иначе — исходная позиция. Так детонатор, кликнутый по любой части бомбы, взрывает контроллер, а radar linker, кликнутый по любой части пусковой, пишет координаты контроллера.
  • Method Summary

    Modifier and Type
    Method
    Description
    static net.minecraft.world.level.block.entity.BlockEntity
    resolveControllerBlockEntity(net.minecraft.world.level.BlockGetter level, net.minecraft.core.BlockPos pos)
    Возвращает BlockEntity контроллера для кликнутого блока (или BlockEntity самого блока, если он не часть мультиблока).
    static net.minecraft.core.BlockPos
    resolveControllerPos(net.minecraft.world.level.BlockGetter level, net.minecraft.core.BlockPos pos)
    Резолвит позицию контроллера для кликнутого блока.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • resolveControllerPos

      public static net.minecraft.core.BlockPos resolveControllerPos(net.minecraft.world.level.BlockGetter level, net.minecraft.core.BlockPos pos)
      Резолвит позицию контроллера для кликнутого блока.
      Parameters:
      level - мир (клиент или сервер)
      pos - позиция кликнутого блока
      Returns:
      позиция контроллера, если клик по части мультиблока, иначе pos
    • resolveControllerBlockEntity

      @Nullable public static net.minecraft.world.level.block.entity.BlockEntity resolveControllerBlockEntity(net.minecraft.world.level.BlockGetter level, net.minecraft.core.BlockPos pos)
      Возвращает BlockEntity контроллера для кликнутого блока (или BlockEntity самого блока, если он не часть мультиблока).