EnderDragonRenderState.java

net.minecraft.client.renderer.entity.state.EnderDragonRenderState

信息

  • 全限定名:net.minecraft.client.renderer.entity.state.EnderDragonRenderState
  • 类型:public class
  • 包:net.minecraft.client.renderer.entity.state
  • 源码路径:src/main/java/net/minecraft/client/renderer/entity/state/EnderDragonRenderState.java
  • 起始行号:L10
  • 继承:EntityRenderState
  • 职责:

    TODO

字段/常量

  • flapTime

    • 类型: float
    • 修饰符: public
    • 源码定位: L11
    • 说明:

      TODO

  • deathTime

    • 类型: float
    • 修饰符: public
    • 源码定位: L12
    • 说明:

      TODO

  • hasRedOverlay

    • 类型: boolean
    • 修饰符: public
    • 源码定位: L13
    • 说明:

      TODO

  • beamOffset

    • 类型: Vec3
    • 修饰符: public
    • 源码定位: L14
    • 说明:

      TODO

  • isLandingOrTakingOff

    • 类型: boolean
    • 修饰符: public
    • 源码定位: L15
    • 说明:

      TODO

  • isSitting

    • 类型: boolean
    • 修饰符: public
    • 源码定位: L16
    • 说明:

      TODO

  • distanceToEgg

    • 类型: double
    • 修饰符: public
    • 源码定位: L17
    • 说明:

      TODO

  • partialTicks

    • 类型: float
    • 修饰符: public
    • 源码定位: L18
    • 说明:

      TODO

  • flightHistory

    • 类型: DragonFlightHistory
    • 修饰符: public final
    • 源码定位: L19
    • 说明:

      TODO

内部类/嵌套类型

构造器

方法

下面的方法块按源码顺序生成。

public DragonFlightHistory.Sample getHistoricalPos(int delay) @ L21

  • 方法名:getHistoricalPos
  • 源码定位:L21
  • 返回类型:DragonFlightHistory.Sample
  • 修饰符:public

参数:

  • delay: int

说明:

TODO

public float getHeadPartYOffset(int part, DragonFlightHistory.Sample bodyPos, DragonFlightHistory.Sample partPos) @ L25

  • 方法名:getHeadPartYOffset
  • 源码定位:L25
  • 返回类型:float
  • 修饰符:public

参数:

  • part: int
  • bodyPos: DragonFlightHistory.Sample
  • partPos: DragonFlightHistory.Sample

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public class EnderDragonRenderState extends EntityRenderState {
    public float flapTime;
    public float deathTime;
    public boolean hasRedOverlay;
    public @Nullable Vec3 beamOffset;
    public boolean isLandingOrTakingOff;
    public boolean isSitting;
    public double distanceToEgg;
    public float partialTicks;
    public final DragonFlightHistory flightHistory = new DragonFlightHistory();
 
    public DragonFlightHistory.Sample getHistoricalPos(int delay) {
        return this.flightHistory.get(delay, this.partialTicks);
    }
 
    public float getHeadPartYOffset(int part, DragonFlightHistory.Sample bodyPos, DragonFlightHistory.Sample partPos) {
        double result;
        if (this.isLandingOrTakingOff) {
            result = part / Math.max(this.distanceToEgg / 4.0, 1.0);
        } else if (this.isSitting) {
            result = part;
        } else if (part == 6) {
            result = 0.0;
        } else {
            result = partPos.y() - bodyPos.y();
        }
 
        return (float)result;
    }
}

引用的其他类