MinecraftGameRuleServiceImpl.java
net.minecraft.server.jsonrpc.internalapi.MinecraftGameRuleServiceImpl
信息
- 全限定名:net.minecraft.server.jsonrpc.internalapi.MinecraftGameRuleServiceImpl
- 类型:public class
- 包:net.minecraft.server.jsonrpc.internalapi
- 源码路径:src/main/java/net/minecraft/server/jsonrpc/internalapi/MinecraftGameRuleServiceImpl.java
- 起始行号:L11
- 实现:MinecraftGameRuleService
- 职责:
TODO
字段/常量
-
server- 类型:
DedicatedServer - 修饰符:
private final - 源码定位:
L12 - 说明:
TODO
- 类型:
-
gameRules- 类型:
GameRules - 修饰符:
private final - 源码定位:
L13 - 说明:
TODO
- 类型:
-
jsonrpcLogger- 类型:
JsonRpcLogger - 修饰符:
private final - 源码定位:
L14 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public MinecraftGameRuleServiceImpl(DedicatedServer server, JsonRpcLogger jsonrpcLogger) @ L16
- 构造器名:MinecraftGameRuleServiceImpl
- 源码定位:L16
- 修饰符:public
参数:
- server: DedicatedServer
- jsonrpcLogger: JsonRpcLogger
说明:
TODO
方法
下面的方法块按源码顺序生成。
public <T> GameRulesService.GameRuleUpdate<T> updateGameRule(GameRulesService.GameRuleUpdate<T> update, ClientInfo clientInfo) @ L22
- 方法名:updateGameRule
- 源码定位:L22
- 返回类型:
GameRulesService.GameRuleUpdate - 修饰符:public
参数:
- update: GameRulesService.GameRuleUpdate
- clientInfo: ClientInfo
说明:
TODO
public <T> GameRulesService.GameRuleUpdate<T> getTypedRule(GameRule<T> gameRule, T value) @ L33
- 方法名:getTypedRule
- 源码定位:L33
- 返回类型:
GameRulesService.GameRuleUpdate - 修饰符:public
参数:
- gameRule: GameRule
- value: T
说明:
TODO
public Stream<GameRule<?>> getAvailableGameRules() @ L38
- 方法名:getAvailableGameRules
- 源码定位:L38
- 返回类型:Stream<GameRule<?>>
- 修饰符:public
参数:
- 无
说明:
TODO
public <T> T getRuleValue(GameRule<T> gameRule) @ L43
- 方法名:getRuleValue
- 源码定位:L43
- 返回类型:
T - 修饰符:public
参数:
- gameRule: GameRule
说明:
TODO
代码
public class MinecraftGameRuleServiceImpl implements MinecraftGameRuleService {
private final DedicatedServer server;
private final GameRules gameRules;
private final JsonRpcLogger jsonrpcLogger;
public MinecraftGameRuleServiceImpl(DedicatedServer server, JsonRpcLogger jsonrpcLogger) {
this.server = server;
this.gameRules = server.getGameRules();
this.jsonrpcLogger = jsonrpcLogger;
}
@Override
public <T> GameRulesService.GameRuleUpdate<T> updateGameRule(GameRulesService.GameRuleUpdate<T> update, ClientInfo clientInfo) {
GameRule<T> gameRule = update.gameRule();
T oldValue = this.gameRules.get(gameRule);
T newValue = update.value();
this.gameRules.set(gameRule, newValue, this.server);
this.jsonrpcLogger
.log(clientInfo, "Game rule '{}' updated from '{}' to '{}'", gameRule.id(), gameRule.serialize(oldValue), gameRule.serialize(newValue));
return update;
}
@Override
public <T> GameRulesService.GameRuleUpdate<T> getTypedRule(GameRule<T> gameRule, T value) {
return new GameRulesService.GameRuleUpdate<>(gameRule, value);
}
@Override
public Stream<GameRule<?>> getAvailableGameRules() {
return this.gameRules.availableRules();
}
@Override
public <T> T getRuleValue(GameRule<T> gameRule) {
return this.gameRules.get(gameRule);
}
}引用的其他类
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/返回值
- 引用位置:
-
- 引用位置:
参数/返回值
- 引用位置:
-
- 引用位置:
字段
- 引用位置: