目录

简易方块

在上一章中我们讲到了享元模式,它就是在不同的对象中把相同的部分提取出来,这个过程叫做抽象。 作为一个方块,共有的属性可能有大小、生命值、类别、建造消耗等等。另外,还有一个东西叫做方块实体,也就是每一个具体的、存在于游戏当中的方块,它们拥有各自的生命值、消耗器、产出、进度等等。

方块的注册

和上篇教程类似,我们需要先创建一个继承于ContentList的类,我们把它命名为ModBlocks。接下来,在我们的load方法里声明一个静态字段用于存放方块。不要忘记在主类中实例化和调用load方法。 接下来,我们来创造一个方块——铁墙:

public class ModBlocks implements ContentList {
    public static Wall ironWall;  //这里我们先声明他为一个静态字段
    
    @Override
    public void load() {
        ironWall = new Wall("iron-wall");//再次注册并赋值
    }
}

然后我们就可以搞贴图和本地化了。

接下来,我们需要给他添加一点字段来增加功能,如果写过json或js对这些字段一定不陌生,java中字段的添加方式如下:

ironWall = new Wall("iron-wall") {{
        requirements(Category.defense, BuildVisibility.shown, new ItemStack[]{});
        health = 2880;
        size = 2;
        }};
    

你看明白了吗? 这里给一点投机取巧的指导:

没出错的话,打包之后应该就能看到了。

进阶!

用java的意义是什么?当然是达到这个游戏最高的自由度了!如果你只是给方块写几个字段就完毕了,建议回去用json,还能搞到iOS兼容性,岂不美哉?当然,你未必要按我的走,顺从的你想法,一切都只局限于你能否把想法变成现实。 如果你还不会,务必要记住记住:多看 多想 多写

看看排版

任何人记住,在你看到这篇教程之后的五天我就会回来更新,注意,要以你看到这句话的时间为准!我半句假话没有!