WorldLoadEvent.java
net.minecraft.client.telemetry.events.WorldLoadEvent
信息
- 全限定名:net.minecraft.client.telemetry.events.WorldLoadEvent
- 类型:public class
- 包:net.minecraft.client.telemetry.events
- 源码路径:src/main/java/net/minecraft/client/telemetry/events/WorldLoadEvent.java
- 起始行号:L15
- 职责:
TODO
字段/常量
-
eventSent- 类型:
boolean - 修饰符:
private - 源码定位:
L16 - 说明:
TODO
- 类型:
-
gameMode- 类型:
TelemetryProperty.GameMode - 修饰符:
private - 源码定位:
L17 - 说明:
TODO
- 类型:
-
serverBrand- 类型:
String - 修饰符:
private - 源码定位:
L18 - 说明:
TODO
- 类型:
-
minigameName- 类型:
String - 修饰符:
private final - 源码定位:
L19 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public WorldLoadEvent(String minigameName) @ L21
- 构造器名:WorldLoadEvent
- 源码定位:L21
- 修饰符:public
参数:
- minigameName: String
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void addProperties(TelemetryPropertyMap.Builder properties) @ L25
- 方法名:addProperties
- 源码定位:L25
- 返回类型:void
- 修饰符:public
参数:
- properties: TelemetryPropertyMap.Builder
说明:
TODO
private TelemetryProperty.ServerType getServerType() @ L33
- 方法名:getServerType
- 源码定位:L33
- 返回类型:TelemetryProperty.ServerType
- 修饰符:private
参数:
- 无
说明:
TODO
public boolean send(TelemetryEventSender eventSender) @ L42
- 方法名:send
- 源码定位:L42
- 返回类型:boolean
- 修饰符:public
参数:
- eventSender: TelemetryEventSender
说明:
TODO
public void setGameMode(GameType type, boolean hardcore) @ L57
- 方法名:setGameMode
- 源码定位:L57
- 返回类型:void
- 修饰符:public
参数:
- type: GameType
- hardcore: boolean
说明:
TODO
public void setServerBrand(String serverBrand) @ L66
- 方法名:setServerBrand
- 源码定位:L66
- 返回类型:void
- 修饰符:public
参数:
- serverBrand: String
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class WorldLoadEvent {
private boolean eventSent;
private TelemetryProperty.@Nullable GameMode gameMode;
private @Nullable String serverBrand;
private final @Nullable String minigameName;
public WorldLoadEvent(@Nullable String minigameName) {
this.minigameName = minigameName;
}
public void addProperties(TelemetryPropertyMap.Builder properties) {
if (this.serverBrand != null) {
properties.put(TelemetryProperty.SERVER_MODDED, !this.serverBrand.equals("vanilla"));
}
properties.put(TelemetryProperty.SERVER_TYPE, this.getServerType());
}
private TelemetryProperty.ServerType getServerType() {
ServerData server = Minecraft.getInstance().getCurrentServer();
if (server != null && server.isRealm()) {
return TelemetryProperty.ServerType.REALM;
} else {
return Minecraft.getInstance().hasSingleplayerServer() ? TelemetryProperty.ServerType.LOCAL : TelemetryProperty.ServerType.OTHER;
}
}
public boolean send(TelemetryEventSender eventSender) {
if (!this.eventSent && this.gameMode != null && this.serverBrand != null) {
this.eventSent = true;
eventSender.send(TelemetryEventType.WORLD_LOADED, properties -> {
properties.put(TelemetryProperty.GAME_MODE, this.gameMode);
if (this.minigameName != null) {
properties.put(TelemetryProperty.REALMS_MAP_CONTENT, this.minigameName);
}
});
return true;
} else {
return false;
}
}
public void setGameMode(GameType type, boolean hardcore) {
this.gameMode = switch (type) {
case SURVIVAL -> hardcore ? TelemetryProperty.GameMode.HARDCORE : TelemetryProperty.GameMode.SURVIVAL;
case CREATIVE -> TelemetryProperty.GameMode.CREATIVE;
case ADVENTURE -> TelemetryProperty.GameMode.ADVENTURE;
case SPECTATOR -> TelemetryProperty.GameMode.SPECTATOR;
};
}
public void setServerBrand(String serverBrand) {
this.serverBrand = serverBrand;
}
}引用的其他类
-
- 引用位置:
方法调用 - 关联成员:
Minecraft.getInstance()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段/返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置: