修复可能为null的方法调用

This commit is contained in:
17146 2024-05-14 20:42:33 +08:00
parent 7ef3f2c605
commit 14bb0ac8a8

View file

@ -166,8 +166,12 @@ public class TargetModVariables {
}
public static MapVariables get(LevelAccessor world) {
if (world instanceof ServerLevelAccessor serverLevelAcc)
return serverLevelAcc.getLevel().getServer().getLevel(Level.OVERWORLD).getDataStorage().computeIfAbsent(MapVariables::load, MapVariables::new, DATA_NAME);
if (world instanceof ServerLevelAccessor serverLevelAcc) {
var level = serverLevelAcc.getLevel().getServer().getLevel(Level.OVERWORLD);
if (level != null) {
return level.getDataStorage().computeIfAbsent(MapVariables::load, MapVariables::new, DATA_NAME);
}
}
return clientSide;
}
@ -358,10 +362,16 @@ public class TargetModVariables {
NetworkEvent.Context context = contextSupplier.get();
context.enqueueWork(() -> {
context.setPacketHandled(true);
if (context.getDirection().getReceptionSide().isServer() || Minecraft.getInstance().player == null)
if (context.getDirection().getReceptionSide().isServer() || Minecraft.getInstance().player == null) {
return;
}
PlayerVariables variables = Minecraft.getInstance().player.level().getEntity(message.target).getCapability(PLAYER_VARIABLES_CAPABILITY, null).orElse(new PlayerVariables());
var entity = Minecraft.getInstance().player.level().getEntity(message.target);
if (entity == null) {
return;
}
PlayerVariables variables = entity.getCapability(PLAYER_VARIABLES_CAPABILITY, null).orElse(new PlayerVariables());
variables.zoom = message.data.zoom;
variables.zooming = message.data.zooming;
variables.recoil = message.data.recoil;