DemoAchievement
基本信息
| 属性 | 值 |
|---|---|
| 类名 | betterachievementsdemo.betterachivements.DemoAchievement |
| 父类 | net.minecraft.stats.Achievement |
| 实现接口 | ICustomBackgroundColour |
| 类型 | 抽象类 |
| 源文件 | src/demo/java/betterachievementsdemo/betterachivements/DemoAchievement.java |
功能
Demo mod 中的示例 Achievement 基类,提供三种构造函数(Item / Block / ItemStack),并自动实现 ICustomBackgroundColour。子类只需提供 recolourBackground 实现即可自定义方框背景色。
注意:包名拼写为
betterachivements(少一个e)—— 这是 mod 自带 demo 的原始拼写错误,与主类betterachievements不同。
构造
| 构造 | 签名 |
|---|---|
(String id, String name, int column, int row, Item item, Achievement parent) |
转发父类 |
(String id, String name, int column, int row, Block block, Achievement parent) |
转发父类 |
(String id, String name, int column, int row, ItemStack itemStack, Achievement parent) |
转发父类 |
使用示例
private static Achievement blue = new DemoAchievement("demo.blue", "Blue", 0, 0, Blocks.wool, null) {
@Override
public int recolourBackground(float greyScale) {
return ColourHelper.blendWithGreyScale(ColourHelper.RGB(0, 0, 255), greyScale);
}
};
private static Achievement red = new DemoAchievement("demo.red", "Red", 2, -1, Blocks.wool, blue) {
@Override
public int recolourBackground(float greyScale) {
return ColourHelper.blendWithGreyScale(ColourHelper.RGB(255, 0, 0), greyScale);
}
};
private static Achievement rainbow = new DemoAchievement("demo.rainbow", "Rainbow", 2, 1, Items.nether_star, red) {
@Override
public int recolourBackground(float greyScale) {
return ColourHelper.blendWithGreyScale(
ColourHelper.getRainbowColour(0.3F, 0.3F, 0.3F, 0, 2, 4, 128, 127, 50),
greyScale);
}
};
注册:
blue.initIndependentStat().registerStat();
red.registerStat();
rainbow.setSpecial().registerStat();
相关条目
- ICustomBackgroundColour - 本类实现的接口
- ColourHelper - 推荐的颜色生成工具
- DemoPage - 同 package 的页类