Skip to content

Latest commit

 

History

History
34 lines (17 loc) · 1.4 KB

mineCraft开发文档.md

File metadata and controls

34 lines (17 loc) · 1.4 KB

概念

  1. 物理客户端:就是从启动器运行的整个Minecraft程序,包含了所有进程,线程等

  2. 物理服务器:通常被称为专用服务器,指的是你运行server.jar的那个程序,它通常不显示可玩的GUI

  3. 逻辑服务器:其实就是运行游戏的所有逻辑,包含生物的产生,天气,生命,AI等逻辑。

    这东西既可以存在物理服务器中,也可以和逻辑客服端一起存在物理客户端里面。

    作为单人游戏,它总是在一个名字叫Server Thread的线程中运行

  4. 逻辑客户端: 处理用户输入的,并把用户输入传递给逻辑服务器。此外,还接受逻辑服务器的信息,然后展现给玩家。

    它运行在Client Thread,不过它也会派生几个线程去处理其他事情

在程序中如何检测游戏在那一端上面运行?

有一个world.isRemote

如果它为true,意味着world目前在逻辑客户端上运行

如果它为false,意味着world目前在逻辑服务器上运行。

所以,如果在物理服务器中,该值总是包含false。

但是不能简单的认为false就意味着物理服务器,因为对于物理客户端(也就是单人游戏)里面的逻辑服务器,该值也可能为false

如果你要运行游戏逻辑或者其他机制时,请确保该项为false。

比如说放方块会扣血或者用泥土合成钻石

Registries: