Interface IMBStateSharer

All Known Subinterfaces:
IExpandingMultiblock, IMovableMultiblock, IMultiBlock, IPreviewableMultiblock
All Known Implementing Classes:
AbstractMultiBlock, AbstractStructureMultiBlock, DiamondStructureBlock, SimpleMultiBlock, TestBlock

public interface IMBStateSharer
  • Method Details

    • getSharedStatePropertiesBuilder

      SharedStatePropertiesBuilder getSharedStatePropertiesBuilder()
    • getSharedStateProperties

      default List<PropertyWrapper<?>> getSharedStateProperties()
    • createSharedBlockStates

      default void createSharedBlockStates(SharedStatePropertiesBuilder builder)
      Registers BlockStates to be automatically synced across the whole multiblock
    • setBlockStates

      static <T extends Comparable<T>> void setBlockStates(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, List<PropertyWrapper<?>> stateValuePairs)
      Updates the provided BlockStateProperties for each block in the multiblock
    • setBlockState

      static <T extends Comparable<T>> void setBlockState(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.properties.Property<T> property, T value)
      Updates the provided BlockStateProperty for each block in the multiblock
    • setBlockStates

      static <T extends Comparable<T>> void setBlockStates(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, int flags, List<PropertyWrapper<?>> properties)
      Updates the provided BlockStateProperties for each block in the multiblock
    • shareBlockStates

      default void shareBlockStates(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)