WorldUnloadEvent.java
net.minecraft.client.telemetry.events.WorldUnloadEvent
信息
- 全限定名:net.minecraft.client.telemetry.events.WorldUnloadEvent
- 类型:public class
- 包:net.minecraft.client.telemetry.events
- 源码路径:src/main/java/net/minecraft/client/telemetry/events/WorldUnloadEvent.java
- 起始行号:L13
- 职责:
TODO
字段/常量
-
NOT_TRACKING_TIME- 类型:
int - 修饰符:
private static final - 源码定位:
L14 - 说明:
TODO
- 类型:
-
worldLoadedTime- 类型:
Optional<Instant> - 修饰符:
private - 源码定位:
L15 - 说明:
TODO
- 类型:
-
totalTicks- 类型:
long - 修饰符:
private - 源码定位:
L16 - 说明:
TODO
- 类型:
-
lastGameTime- 类型:
long - 修饰符:
private - 源码定位:
L17 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
public void onPlayerInfoReceived() @ L19
- 方法名:onPlayerInfoReceived
- 源码定位:L19
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public void setTime(long gameTime) @ L26
- 方法名:setTime
- 源码定位:L26
- 返回类型:void
- 修饰符:public
参数:
- gameTime: long
说明:
TODO
private int getTimeInSecondsSinceLoad(Instant loadedTime) @ L34
- 方法名:getTimeInSecondsSinceLoad
- 源码定位:L34
- 返回类型:int
- 修饰符:private
参数:
- loadedTime: Instant
说明:
TODO
public void send(TelemetryEventSender eventSender) @ L39
- 方法名:send
- 源码定位:L39
- 返回类型:void
- 修饰符:public
参数:
- eventSender: TelemetryEventSender
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class WorldUnloadEvent {
private static final int NOT_TRACKING_TIME = -1;
private Optional<Instant> worldLoadedTime = Optional.empty();
private long totalTicks;
private long lastGameTime;
public void onPlayerInfoReceived() {
this.lastGameTime = -1L;
if (this.worldLoadedTime.isEmpty()) {
this.worldLoadedTime = Optional.of(Instant.now());
}
}
public void setTime(long gameTime) {
if (this.lastGameTime != -1L) {
this.totalTicks = this.totalTicks + Math.max(0L, gameTime - this.lastGameTime);
}
this.lastGameTime = gameTime;
}
private int getTimeInSecondsSinceLoad(Instant loadedTime) {
Duration timeBetween = Duration.between(loadedTime, Instant.now());
return (int)timeBetween.toSeconds();
}
public void send(TelemetryEventSender eventSender) {
this.worldLoadedTime.ifPresent(loadedTime -> eventSender.send(TelemetryEventType.WORLD_UNLOADED, properties -> {
properties.put(TelemetryProperty.SECONDS_SINCE_LOAD, this.getTimeInSecondsSinceLoad(loadedTime));
properties.put(TelemetryProperty.TICKS_SINCE_LOAD, (int)this.totalTicks);
}));
}
}引用的其他类
- TelemetryEventSender
- 引用位置:
参数
- 引用位置: