Package net.commoble.jumbofurnace.jumbo_furnace

# Class MultiBlockHelper

java.lang.Object
net.commoble.jumbofurnace.jumbo_furnace.MultiBlockHelper

public class MultiBlockHelper extends Object

## Field Summary

Fields
Modifier and Type
Field
Description
`static final List<com.mojang.datafixers.util.Pair<net.minecraft.core.BlockPos,net.minecraft.world.level.block.state.BlockState>>`
`NO_SNAPSHOTS`

## Constructor Summary

Constructors
Constructor
Description
`MultiBlockHelper()`

## Method Summary

Modifier and Type
Method
Description
`static boolean`
`canJumboFurnaceFormAt(net.minecraft.world.level.LevelAccessor world, net.minecraft.core.BlockPos corePos, net.minecraft.core.BlockPos placePos)`
Returns whether a jumbo furnace can form around the given core position.
`static boolean`
`canJumboFurnacePlaceAt(net.minecraft.world.level.LevelAccessor world, net.minecraft.core.BlockPos corePos, net.minecraft.world.item.context.BlockPlaceContext useContext)`
Returns whether the world contains sufficiently empty space for a jumbo furnace around the given core position
`static boolean`
`doesPlayerHavePermissionToMakeJumboFurnace(net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> key, net.minecraft.world.level.LevelAccessor world, List<com.mojang.datafixers.util.Pair<net.minecraft.core.BlockPos,net.minecraft.world.level.block.state.BlockState>> pairs, net.minecraft.world.level.block.state.BlockState placedAgainst, net.minecraft.world.entity.Entity entity)`
`static Stream<net.minecraft.core.BlockPos>`
`get3x3CubeAround(net.minecraft.core.BlockPos pos)`
`static List<com.mojang.datafixers.util.Pair<net.minecraft.core.BlockPos,net.minecraft.world.level.block.state.BlockState>>`
`getJumboFurnaceStates(net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> key, net.minecraft.world.level.LevelAccessor world, net.minecraft.core.BlockPos placePos, net.minecraft.world.level.block.state.BlockState againstState, net.minecraft.world.entity.Entity entity)`
Scans the area around the placement position to see if a new jumbo furnace can be formed If it can, returns a list of pairs of -- a block snapshot of the existing block -- the jumbo furnace state that that block should be set to
`static List<com.mojang.datafixers.util.Pair<net.minecraft.core.BlockPos,net.minecraft.world.level.block.state.BlockState>>`
`getStatesForPlacementIfPermitted(net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> key, net.minecraft.world.level.LevelAccessor world, net.minecraft.core.BlockPos corePos, net.minecraft.world.level.block.state.BlockState againstState, net.minecraft.world.entity.Entity placer)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### NO_SNAPSHOTS

public static final List<com.mojang.datafixers.util.Pair<net.minecraft.core.BlockPos,net.minecraft.world.level.block.state.BlockState>> NO_SNAPSHOTS

## Constructor Details

### MultiBlockHelper

public MultiBlockHelper()

## Method Details

### getJumboFurnaceStates

public static List<com.mojang.datafixers.util.Pair<net.minecraft.core.BlockPos,net.minecraft.world.level.block.state.BlockState>> getJumboFurnaceStates(net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> key, net.minecraft.world.level.LevelAccessor world, net.minecraft.core.BlockPos placePos, net.minecraft.world.level.block.state.BlockState againstState, net.minecraft.world.entity.Entity entity)
Scans the area around the placement position to see if a new jumbo furnace can be formed If it can, returns a list of pairs of -- a block snapshot of the existing block -- the jumbo furnace state that that block should be set to

Parameters:
  `world` -
  `placePos` -
Returns:

### canJumboFurnaceFormAt

public static boolean canJumboFurnaceFormAt(net.minecraft.world.level.LevelAccessor world, net.minecraft.core.BlockPos corePos, net.minecraft.core.BlockPos placePos)
Returns whether a jumbo furnace can form around the given core position.

Parameters:
  `world` -
  `corePos` - The core position a jumbo furnace would form around
  `placePos` - The position that a furnace block is about to be placed at
Returns:

### canJumboFurnacePlaceAt

public static boolean canJumboFurnacePlaceAt(net.minecraft.world.level.LevelAccessor world, net.minecraft.core.BlockPos corePos, net.minecraft.world.item.context.BlockPlaceContext useContext)
Returns whether the world contains sufficiently empty space for a jumbo furnace around the given core position

Parameters:
  `world` -
  `corePos` -
Returns:
  true if the 3x3 cube around the position contains replaceable blockstates (air, plants, etc)

### get3x3CubeAround

public static Stream<net.minecraft.core.BlockPos> get3x3CubeAround(net.minecraft.core.BlockPos pos)

### getStatesForPlacementIfPermitted

public static List<com.mojang.datafixers.util.Pair<net.minecraft.core.BlockPos,net.minecraft.world.level.block.state.BlockState>> getStatesForPlacementIfPermitted(net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> key, net.minecraft.world.level.LevelAccessor world, net.minecraft.core.BlockPos corePos, net.minecraft.world.level.block.state.BlockState againstState, net.minecraft.world.entity.Entity placer)

### doesPlayerHavePermissionToMakeJumboFurnace

public static boolean doesPlayerHavePermissionToMakeJumboFurnace(net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> key, net.minecraft.world.level.LevelAccessor world, List<com.mojang.datafixers.util.Pair<net.minecraft.core.BlockPos,net.minecraft.world.level.block.state.BlockState>> pairs, net.minecraft.world.level.block.state.BlockState placedAgainst, net.minecraft.world.entity.Entity entity)