我的世界怎么加石头?

柳境涛柳境涛最佳答案最佳答案

这个问题好,因为我最近正在研究如何添加更多石材,而不是像现在这样只能收集9种(不收集黑石)。首先分享我的最新发现 在forge中,可以通过添加新的数据值来添加新石材 比如我想添加一种名为“青金石”的石块,那么我需要新建一个名为“quartz_crystal”的数据值。然后赋予其正确的数据类型,这里为了简单直接赋值为0和1两个数值。

然后在渲染时进行判断,当这个数据的值为0或者1的时候,就渲染相应的石头,否则正常渲染。这样就实现了通过数据来决定展示什么样子石头的效果了。当然为了识别不同的石头,我们可以为每种新石头建一个数据值,也可以把所有的新石头都放置在一个数据值内,根据后面的编号进行判断。

不过这样引入了一个问题,如果两种石头具有相同的代码,此时应该判断哪个数值大就渲染哪种石头的效果。 另外,除了使用newDataValue功能外,还可以修改已有的数据值,比如在这里我把所有石头的ID号加上1,那么就达到了给所有石头编号的目的(对于已经有ID号的石头无需再修改,因为已经存在的ID会在forge中被忽略,不会重新生成)。

在我的测试中,这种给所有东西编号的方法似乎不如按照每个种类生成一个新ID号的方法效果好,但是这样比较费时费劲而且效果也不如人意,所以我才采用了一种新的方法,就是给所有物体同一个数据值,并加入一些识别条件(在这里是是否为新石头),这样就可以达到根据数据来区分不同物品的效果了。 如果有人感兴趣的话我可以把测试所用的JAR包放出来,以及测试的流程。

我来回答
请发表正能量的言论,文明评论!