-
物理客户端:就是从启动器运行的整个Minecraft程序,包含了所有进程,线程等
-
物理服务器:通常被称为专用服务器,指的是你运行server.jar的那个程序,它通常不显示可玩的GUI
-
逻辑服务器:其实就是运行游戏的所有逻辑,包含生物的产生,天气,生命,AI等逻辑。
这东西既可以存在物理服务器中,也可以和逻辑客服端一起存在物理客户端里面。
作为单人游戏,它总是在一个名字叫
Server Thread
的线程中运行 -
逻辑客户端: 处理用户输入的,并把用户输入传递给逻辑服务器。此外,还接受逻辑服务器的信息,然后展现给玩家。
它运行在
Client Thread
,不过它也会派生几个线程去处理其他事情
在程序中如何检测游戏在那一端上面运行?
有一个world.isRemote
如果它为true,意味着world目前在逻辑客户端上运行
如果它为false,意味着world目前在逻辑服务器上运行。
所以,如果在物理服务器中,该值总是包含false。
但是不能简单的认为false就意味着物理服务器,因为对于物理客户端(也就是单人游戏)里面的逻辑服务器,该值也可能为false
如果你要运行游戏逻辑或者其他机制时,请确保该项为false。
比如说放方块会扣血或者用泥土合成钻石
Registries: