Class MachineTurretRenderer

java.lang.Object
com.hbm_m.client.render.implementations.MachineTurretRenderer
All Implemented Interfaces:
net.minecraft.client.renderer.blockentity.BlockEntityRenderer<TurretBaseBlockEntity>

public class MachineTurretRenderer extends Object implements net.minecraft.client.renderer.blockentity.BlockEntityRenderer<TurretBaseBlockEntity>
Generischer BER fuer alle 11 Turret-Varianten (siehe TurretStats): rotiert die "Carriage"/"Pivot"-Gruppe um die Yaw-Achse und die daran haengende Pitch-Gruppe (Kanone/Body/Laeufe) um ihre Achse, jeweils zur clientseitig interpolierten Zielrichtung aus der BlockEntity.

WICHTIG: rendert ausschliesslich ueber MeshRenderCache/SingleMeshVboRenderer (das VBO-System, das auch Radar/Crystallizer/etc. nutzen). Ein direkter bufferSource.getBuffer(...).putBulkData(...)-Ansatz ("Legacy"-Pfad) wurde zuerst probiert, blieb aber mit Embeddium/Sodium unsichtbar - ShaderCompatibilityDetector.useVboGeometry() liefert in diesem Mod IMMER true, der Legacy-Pfad ist toter Code und offenbar nicht Embeddium-kompatibel. Barrel-Spin/Recoil ist bewusst NICHT animiert - siehe TurretStats.

  • Constructor Summary

    Constructors
    Constructor
    Description
    MachineTurretRenderer(net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider.Context context)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    render(TurretBaseBlockEntity be, float partialTick, com.mojang.blaze3d.vertex.PoseStack poseStack, net.minecraft.client.renderer.MultiBufferSource bufferSource, int packedLight, int packedOverlay)
     

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface net.minecraft.client.renderer.blockentity.BlockEntityRenderer

    getViewDistance, shouldRender, shouldRenderOffScreen
  • Constructor Details

    • MachineTurretRenderer

      public MachineTurretRenderer(net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider.Context context)
  • Method Details

    • render

      public void render(TurretBaseBlockEntity be, float partialTick, com.mojang.blaze3d.vertex.PoseStack poseStack, net.minecraft.client.renderer.MultiBufferSource bufferSource, int packedLight, int packedOverlay)
      Specified by:
      render in interface net.minecraft.client.renderer.blockentity.BlockEntityRenderer<TurretBaseBlockEntity>