Class BlockStateProviderHelper

java.lang.Object
petrolpark.mc.library.util.BlockStateProviderHelper

public class BlockStateProviderHelper extends Object
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static final <T extends net.neoforged.neoforge.client.model.generators.ModelBuilder<T>>
    T
    cubeColumnSideways(net.neoforged.neoforge.client.model.generators.ModelProvider<T> prov, String name, net.minecraft.resources.ResourceLocation side, net.minecraft.resources.ResourceLocation end)
     
    static final net.neoforged.neoforge.client.model.generators.VariantBlockStateBuilder
    edgeOrientedBlock(net.neoforged.neoforge.client.model.generators.VariantBlockStateBuilder builder, UnaryOperator<net.neoforged.neoforge.client.model.generators.VariantBlockStateBuilder.PartialBlockstate> statePredicate, net.neoforged.neoforge.client.model.generators.ModelFile model)
     
    static net.neoforged.neoforge.client.model.generators.VariantBlockStateBuilder
    edgeOrientedBlock(net.neoforged.neoforge.client.model.generators.VariantBlockStateBuilder builder, net.neoforged.neoforge.client.model.generators.ModelFile model)
     
    static final net.neoforged.neoforge.client.model.generators.VariantBlockStateBuilder
    orientedBlock(net.neoforged.neoforge.client.model.generators.VariantBlockStateBuilder builder, net.neoforged.neoforge.client.model.generators.ModelFile upSouthModel, net.neoforged.neoforge.client.model.generators.ModelFile eastSouthModel)
    Adds a rotated ConfiguredModel for every Orientation, against Orientation.ORIENTATION_PROPERTY, preserving true orientation (front/top are never swapped, unlike edgeOrientedBlock(VariantBlockStateBuilder, ModelFile)).
    static final void
    randomizedRotationAxisBlock(net.neoforged.neoforge.client.model.generators.BlockStateProvider prov, net.minecraft.world.level.block.RotatedPillarBlock block, net.minecraft.resources.ResourceLocation side, net.minecraft.resources.ResourceLocation end)
     
    static final void
    randomizedRotationAxisBlock(net.neoforged.neoforge.client.model.generators.BlockStateProvider prov, net.minecraft.world.level.block.RotatedPillarBlock block, net.neoforged.neoforge.client.model.generators.ModelFile vertical, net.neoforged.neoforge.client.model.generators.ModelFile sideways)
     
    static final void
    randomizedRotationLogBlock(net.neoforged.neoforge.client.model.generators.BlockStateProvider prov, net.minecraft.world.level.block.RotatedPillarBlock block)
     

    Methods inherited from class java.lang.Object

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

    • BlockStateProviderHelper

      public BlockStateProviderHelper()
  • Method Details

    • randomizedRotationLogBlock

      public static final void randomizedRotationLogBlock(net.neoforged.neoforge.client.model.generators.BlockStateProvider prov, net.minecraft.world.level.block.RotatedPillarBlock block)
    • randomizedRotationAxisBlock

      public static final void randomizedRotationAxisBlock(net.neoforged.neoforge.client.model.generators.BlockStateProvider prov, net.minecraft.world.level.block.RotatedPillarBlock block, net.minecraft.resources.ResourceLocation side, net.minecraft.resources.ResourceLocation end)
    • randomizedRotationAxisBlock

      public static final void randomizedRotationAxisBlock(net.neoforged.neoforge.client.model.generators.BlockStateProvider prov, net.minecraft.world.level.block.RotatedPillarBlock block, net.neoforged.neoforge.client.model.generators.ModelFile vertical, net.neoforged.neoforge.client.model.generators.ModelFile sideways)
    • cubeColumnSideways

      public static final <T extends net.neoforged.neoforge.client.model.generators.ModelBuilder<T>> T cubeColumnSideways(net.neoforged.neoforge.client.model.generators.ModelProvider<T> prov, String name, net.minecraft.resources.ResourceLocation side, net.minecraft.resources.ResourceLocation end)
    • edgeOrientedBlock

      public static net.neoforged.neoforge.client.model.generators.VariantBlockStateBuilder edgeOrientedBlock(net.neoforged.neoforge.client.model.generators.VariantBlockStateBuilder builder, net.neoforged.neoforge.client.model.generators.ModelFile model)
      Parameters:
      builder -
      model - east_south-oriented model
    • edgeOrientedBlock

      public static final net.neoforged.neoforge.client.model.generators.VariantBlockStateBuilder edgeOrientedBlock(net.neoforged.neoforge.client.model.generators.VariantBlockStateBuilder builder, UnaryOperator<net.neoforged.neoforge.client.model.generators.VariantBlockStateBuilder.PartialBlockstate> statePredicate, net.neoforged.neoforge.client.model.generators.ModelFile model)
      Parameters:
      builder -
      statePredicate -
      model - east_south-oriented model
    • orientedBlock

      public static final net.neoforged.neoforge.client.model.generators.VariantBlockStateBuilder orientedBlock(net.neoforged.neoforge.client.model.generators.VariantBlockStateBuilder builder, net.neoforged.neoforge.client.model.generators.ModelFile upSouthModel, net.neoforged.neoforge.client.model.generators.ModelFile eastSouthModel)
      Adds a rotated ConfiguredModel for every Orientation, against Orientation.ORIENTATION_PROPERTY, preserving true orientation (front/top are never swapped, unlike edgeOrientedBlock(VariantBlockStateBuilder, ModelFile)).

      upSouthModel must be authored as UP_SOUTH and eastSouthModel as EAST_SOUTH - each orientation's Orientation.blockStateXRotation and Orientation.blockStateYRotation are relative to whichever of those 2 is vertical, so we pick the matching model per orientation.