/**
* 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 cn.academy.misc.achievements.DispatcherAch;
import cn.academy.misc.achievements.conds.CondItemCrafted;
import cpw.mods.fml.common.gameevent.PlayerEvent.ItemCraftedEvent;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.stats.Achievement;
/**
* @author EAirPeter
*/
public final class AchCrSingle extends AchEvItemCrafted {
public AchCrSingle(String id, int x, int y, Item display, Achievement parent) {
super(id, x, y, display, parent);
}
public AchCrSingle(String id, int x, int y, Block display, Achievement parent) {
super(id, x, y, display, parent);
}
public AchCrSingle(String id, int x, int y, ItemStack display, Achievement parent) {
super(id, x, y, display, parent);
}
private CondItemCrafted cIT = null;
@Override
public void registerAll() {
if (cIT != null)
DispatcherAch.INSTANCE.rgItemCrafted(cIT.item, this);
}
@Override
public void unregisterAll() {
if (cIT != null)
DispatcherAch.INSTANCE.urItemCrafted(cIT.item, this);
}
@Override
public AchCrSingle adItemCrafted(CondItemCrafted cit) {
cIT = cit;
return this;
}
@Override
public boolean accept(ItemCraftedEvent event) {
return cIT.acItemStack(event.crafting);
}
}