Package commoble.morered.util

# Class EightGroup

java.lang.Object
commoble.morered.util.EightGroup

public class EightGroup extends Object
The eight-group is the set of eight transformations that can be applied to a block via combinations of rotate() and mirror(). Lots of things can apply rotation, mostly jigsaw structures. Mirror isn't widely used, structure blocks support it but jigsaw structures don't currently mirror structure pieces. We use the eight-group as a blockstate property so blockentities that store positional data can respect structure piece transformations.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final net.minecraft.world.level.block.state.properties.EnumProperty<com.mojang.math.OctahedralGroup>`
`TRANSFORM`

## Constructor Summary

Constructors
Constructor
Description
`EightGroup()`

## Method Summary

Modifier and Type
Method
Description
`static net.minecraft.world.level.block.state.BlockState`
`mirror(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.block.Mirror mirror)`
`static net.minecraft.world.level.block.state.BlockState`
`rotate(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.block.Rotation rotation)`
`static net.minecraft.core.BlockPos`
`transform(net.minecraft.core.BlockPos pos, com.mojang.math.OctahedralGroup group)`

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

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

## Field Details

### TRANSFORM

public static final net.minecraft.world.level.block.state.properties.EnumProperty<com.mojang.math.OctahedralGroup> TRANSFORM

## Constructor Details

### EightGroup

public EightGroup()

## Method Details

### rotate

public static net.minecraft.world.level.block.state.BlockState rotate(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.block.Rotation rotation)

### mirror

public static net.minecraft.world.level.block.state.BlockState mirror(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.block.Mirror mirror)

### transform

public static net.minecraft.core.BlockPos transform(net.minecraft.core.BlockPos pos, com.mojang.math.OctahedralGroup group)

Parameters:
  `pos` - BlockPos to rotate about the origin
  `group` - OctahedralGroup to rotate the pos with
Returns:
  BlockPos rotated by the group