我正在创建一个Mod,我想在指定的坐标上放置一个块,我该怎么做?我正在使用Minecraft Forge 1.7.10。 我检查了Block.class和World.class,但我找不到那样做的东西.. 如果有人可以提供帮助,我将非常感激。 最好,
答案 0 :(得分:3)
有几种World
方法可以设置块。您需要确定的一件事是您需要在mod的服务器端调用它们,而不是在客户端。如果从服务器端调用(使用正确的方法),那么它将自动将块更改发送给所有附近的玩家(并存储块更改)。您可以从服务器端或客户端调用这些方法,但通常您只想从服务器端调用它们(您可以使用isRemote
的{{1}}字段进行检查 - 如果它是真的那么它就是在客户端;你只想在它错误的时候真正做事。有时从客户端和服务器调用是有意义的(EG是一个总是更改块的项目,只是为了让玩家不需要处理延迟),但是你总是想用服务器来改变它
现在,有几种类似World
的方法。你最感兴趣的是setBlock
的4参数方法。此方法采用x,y和z坐标,然后设置setBlock
。如果要添加元数据,则需要使用6参数方法,该方法包含x,y,z,Block
,元数据,然后是Block
参数。这个flags参数做了几件事,但你通常要把它设置为3,这样它就会导致块更新,将更改发送到客户端,并且不会跳过渲染。 4参数方法只调用6参数方法,元数据值为0,标志值为3。
所以:
flags