Package com.hbm_m.multiblock
Class MultiblockInteractionHelper
java.lang.Object
com.hbm_m.multiblock.MultiblockInteractionHelper
Общий хелпер взаимодействия с мультиблочными структурами.
Любые предметы/инструменты, которые должны работать с КОНТРОЛЛЕРОМ структуры
(radar linker, детонатор для Fat Man, fluid identifier и т.п.), обязаны
прогонять кликнутую позицию через
resolveControllerPos(BlockGetter, BlockPos):
если клик пришёлся на блок-часть (IMultiblockPart) с известным контроллером,
возвращается позиция контроллера, иначе — исходная позиция.
Так детонатор, кликнутый по любой части бомбы, взрывает контроллер,
а radar linker, кликнутый по любой части пусковой, пишет координаты контроллера.-
Method Summary
Modifier and TypeMethodDescriptionstatic net.minecraft.world.level.block.entity.BlockEntityresolveControllerBlockEntity(net.minecraft.world.level.BlockGetter level, net.minecraft.core.BlockPos pos) Возвращает BlockEntity контроллера для кликнутого блока (или BlockEntity самого блока, если он не часть мультиблока).static net.minecraft.core.BlockPosresolveControllerPos(net.minecraft.world.level.BlockGetter level, net.minecraft.core.BlockPos pos) Резолвит позицию контроллера для кликнутого блока.
-
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 самого блока, если он не часть мультиблока).
-