TickRateManager.java

net.minecraft.world.TickRateManager

信息

  • 全限定名:net.minecraft.world.TickRateManager
  • 类型:public class
  • 包:net.minecraft.world
  • 源码路径:src/main/java/net/minecraft/world/TickRateManager.java
  • 起始行号:L7
  • 职责:

    TODO

字段/常量

  • MIN_TICKRATE

    • 类型: float
    • 修饰符: public static final
    • 源码定位: L8
    • 说明:

      TODO

  • tickrate

    • 类型: float
    • 修饰符: protected
    • 源码定位: L9
    • 说明:

      TODO

  • nanosecondsPerTick

    • 类型: long
    • 修饰符: protected
    • 源码定位: L10
    • 说明:

      TODO

  • frozenTicksToRun

    • 类型: int
    • 修饰符: protected
    • 源码定位: L11
    • 说明:

      TODO

  • runGameElements

    • 类型: boolean
    • 修饰符: protected
    • 源码定位: L12
    • 说明:

      TODO

  • isFrozen

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

      TODO

内部类/嵌套类型

构造器

方法

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

public void setTickRate(float rate) @ L15

  • 方法名:setTickRate
  • 源码定位:L15
  • 返回类型:void
  • 修饰符:public

参数:

  • rate: float

说明:

TODO

public float tickrate() @ L20

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

参数:

说明:

TODO

public float millisecondsPerTick() @ L24

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

参数:

说明:

TODO

public long nanosecondsPerTick() @ L28

  • 方法名:nanosecondsPerTick
  • 源码定位:L28
  • 返回类型:long
  • 修饰符:public

参数:

说明:

TODO

public boolean runsNormally() @ L32

  • 方法名:runsNormally
  • 源码定位:L32
  • 返回类型:boolean
  • 修饰符:public

参数:

说明:

TODO

public boolean isSteppingForward() @ L36

  • 方法名:isSteppingForward
  • 源码定位:L36
  • 返回类型:boolean
  • 修饰符:public

参数:

说明:

TODO

public void setFrozenTicksToRun(int timeout) @ L40

  • 方法名:setFrozenTicksToRun
  • 源码定位:L40
  • 返回类型:void
  • 修饰符:public

参数:

  • timeout: int

说明:

TODO

public int frozenTicksToRun() @ L44

  • 方法名:frozenTicksToRun
  • 源码定位:L44
  • 返回类型:int
  • 修饰符:public

参数:

说明:

TODO

public void setFrozen(boolean state) @ L48

  • 方法名:setFrozen
  • 源码定位:L48
  • 返回类型:void
  • 修饰符:public

参数:

  • state: boolean

说明:

TODO

public boolean isFrozen() @ L52

  • 方法名:isFrozen
  • 源码定位:L52
  • 返回类型:boolean
  • 修饰符:public

参数:

说明:

TODO

public void tick() @ L56

  • 方法名:tick
  • 源码定位:L56
  • 返回类型:void
  • 修饰符:public

参数:

说明:

TODO

public boolean isEntityFrozen(Entity entity) @ L63

  • 方法名:isEntityFrozen
  • 源码定位:L63
  • 返回类型:boolean
  • 修饰符:public

参数:

  • entity: Entity

说明:

TODO

代码

public class TickRateManager {
    public static final float MIN_TICKRATE = 1.0F;
    protected float tickrate = 20.0F;
    protected long nanosecondsPerTick = TimeUtil.NANOSECONDS_PER_SECOND / 20L;
    protected int frozenTicksToRun = 0;
    protected boolean runGameElements = true;
    protected boolean isFrozen = false;
 
    public void setTickRate(float rate) {
        this.tickrate = Math.max(rate, 1.0F);
        this.nanosecondsPerTick = (long)((double)TimeUtil.NANOSECONDS_PER_SECOND / this.tickrate);
    }
 
    public float tickrate() {
        return this.tickrate;
    }
 
    public float millisecondsPerTick() {
        return (float)this.nanosecondsPerTick / (float)TimeUtil.NANOSECONDS_PER_MILLISECOND;
    }
 
    public long nanosecondsPerTick() {
        return this.nanosecondsPerTick;
    }
 
    public boolean runsNormally() {
        return this.runGameElements;
    }
 
    public boolean isSteppingForward() {
        return this.frozenTicksToRun > 0;
    }
 
    public void setFrozenTicksToRun(int timeout) {
        this.frozenTicksToRun = timeout;
    }
 
    public int frozenTicksToRun() {
        return this.frozenTicksToRun;
    }
 
    public void setFrozen(boolean state) {
        this.isFrozen = state;
    }
 
    public boolean isFrozen() {
        return this.isFrozen;
    }
 
    public void tick() {
        this.runGameElements = !this.isFrozen || this.frozenTicksToRun > 0;
        if (this.frozenTicksToRun > 0) {
            this.frozenTicksToRun--;
        }
    }
 
    public boolean isEntityFrozen(Entity entity) {
        return !this.runsNormally() && !(entity instanceof Player) && entity.countPlayerPassengers() <= 0;
    }
}

引用的其他类