3.x 重要概念
是的,端位就是这么重要、
端位
端位分为四种,分别有不同的作用:
- 物理客户端
- 物理服务端
- 逻辑客户端
- 逻辑服务端
物理端位
物理端位我们现在没接触过,这里简单说明,物理服务端就指的是你开的客户端,物理服务端指的就是你打开的服务端的那个命令行。
但是要注意,物理客户端的操作(如Minecraft.getInstance().<...>
这样的有被@OnlyIn(Dist.CLIENT)
注释的方法)禁止在物理服务端执行,这会导致服务器的崩溃,反之亦然。
逻辑服务端位
逻辑服务端负责整个游戏的运行逻辑,包括生物生成、天气、系统消息等等。它可以和逻辑客户端一起在物理客户端中运行。
逻辑客户端端位
逻辑客户端始终在Render Thread
线程中运行,从名字上也能看出,逻辑客户端只负责渲染的操作。(一般也会负责处理音频)
但是逻辑客户端不负责任何游戏运行逻辑相关的内容,同时它会接收逻辑服务端的信息。
这样你应该能理解了,为什么如果在逻辑客户端处理对实体的操作会导致游戏出问题。