/**
* Copyright (c) Lambda Innovation, 2013-2016
* This file is part of the AcademyCraft mod.
* https://github.com/LambdaInnovation/AcademyCraft
* Licensed under GPLv3, see project root for more information.
*/
package cn.academy.misc.achievements.aches;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.stats.Achievement;
import java.util.HashMap;
/**
* @author EAirPeter
*/
public abstract class ACAchievement extends Achievement {
//Ach
//AchEv
protected ACAchievement(String id, int x, int y, Item display, Achievement parent) {
this(id, x, y, new ItemStack(display), parent);
}
protected ACAchievement(String id, int x, int y, Block display, Achievement parent) {
this(id, x, y, new ItemStack(display), parent);
}
protected ACAchievement(String id, int x, int y, ItemStack display, Achievement parent) {
super("achievement.ac_" + id, "ac_" + id, x, y, display, parent);
if (parent == null)
initIndependentStat();
registerStat();
map.put(id, this);
}
public abstract void registerAll();
public abstract void unregisterAll();
private static HashMap<String, ACAchievement> map = new HashMap<String, ACAchievement>();
/**
* Get the achievement according to the id
* @param id The id
* @return The achievement according to the id
*/
public static ACAchievement getById(String id) {
return map.get(id);
}
}