Class MachineCrystallizerVboRenderer

java.lang.Object
com.hbm_m.client.render.implementations.MachineCrystallizerVboRenderer

public class MachineCrystallizerVboRenderer extends Object
VBO-проход спиннера и baked-жидкости Crystallizer.

Спиннер — MeshRenderCache / instancing. Жидкость с подменой спрайта на блок — вне instancing (как chemplant Fluid), через MachineCrystallizerRenderer.presentDeferredFluids().

  • Field Details

    • SPINNER_CACHE_KEY

      public static final String SPINNER_CACHE_KEY
      See Also:
    • FLUID_MODEL_ID

      public static final net.minecraft.resources.ResourceLocation FLUID_MODEL_ID
    • SPINNER_MODEL_ID

      public static final net.minecraft.resources.ResourceLocation SPINNER_MODEL_ID
  • Constructor Details

    • MachineCrystallizerVboRenderer

      public MachineCrystallizerVboRenderer()
  • Method Details

    • getFluidModel

      @Nullable public static net.minecraft.client.resources.model.BakedModel getFluidModel()
    • getSpinnerModel

      @Nullable public static net.minecraft.client.resources.model.BakedModel getSpinnerModel()
    • collectSpinnerQuads

      public static List<net.minecraft.client.renderer.block.model.BakedQuad> collectSpinnerQuads()
      Квады спиннера (cutout OBJ) для VBO / Iris.
    • collectFluidQuads

      public static List<net.minecraft.client.renderer.block.model.BakedQuad> collectFluidQuads()
      Квады жидкости (translucent OBJ) для deferred baked-прохода.
    • renderSpinner

      public void renderSpinner(com.mojang.blaze3d.vertex.PoseStack poseStack, int packedLight, net.minecraft.core.BlockPos blockPos, @Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, @Nullable net.minecraft.client.renderer.MultiBufferSource bufferSource)
    • scheduleDeferredFluid

      public static void scheduleDeferredFluid(MachineCrystallizerBlockEntity be, com.mojang.blaze3d.vertex.PoseStack poseStack, int packedLight, int packedOverlay, net.minecraft.client.renderer.texture.TextureAtlasSprite sprite, float r, float g, float b)
      Ставит жидкость в очередь до MachineCrystallizerRenderer.presentDeferredFluids(). Caller уже применил applyFacingRotation.
    • drawCrystallizerFluidBaked

      public static void drawCrystallizerFluidBaked(com.mojang.blaze3d.vertex.PoseStack poseStack, net.minecraft.client.renderer.MultiBufferSource bufferSource, int packedLight, int packedOverlay, net.minecraft.client.renderer.texture.TextureAtlasSprite sprite, float r, float g, float b)
    • getFluidSprite

      @Nullable public static net.minecraft.client.renderer.texture.TextureAtlasSprite getFluidSprite(MachineCrystallizerBlockEntity be, net.minecraft.world.level.material.Fluid fluid)
    • getFluidTint

      public static int getFluidTint(MachineCrystallizerBlockEntity be, net.minecraft.world.level.material.Fluid fluid)