2015-04-17 16:53:54 +02:00
|
|
|
package techreborn.achievement;
|
|
|
|
|
|
|
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
|
|
|
import cpw.mods.fml.common.gameevent.PlayerEvent.ItemCraftedEvent;
|
|
|
|
import cpw.mods.fml.common.gameevent.PlayerEvent.ItemPickupEvent;
|
2015-07-02 20:51:24 +02:00
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
import net.minecraft.stats.Achievement;
|
2015-11-08 13:15:45 +01:00
|
|
|
import reborncore.common.achievement.ICraftAchievement;
|
|
|
|
import reborncore.common.achievement.IPickupAchievement;
|
2015-04-17 16:53:54 +02:00
|
|
|
|
|
|
|
public class AchievementTriggerer {
|
2015-04-24 15:20:09 +02:00
|
|
|
|
2015-08-09 12:05:32 +02:00
|
|
|
@SubscribeEvent
|
|
|
|
public void onItemPickedUp(ItemPickupEvent event) {
|
|
|
|
ItemStack stack = event.pickedUp.getEntityItem();
|
|
|
|
if (stack != null && stack.getItem() instanceof IPickupAchievement) {
|
|
|
|
Achievement achievement = ((IPickupAchievement) stack.getItem())
|
|
|
|
.getAchievementOnPickup(stack, event.player, event.pickedUp);
|
|
|
|
if (achievement != null)
|
|
|
|
event.player.addStat(achievement, 1);
|
|
|
|
}
|
|
|
|
}
|
2015-04-17 16:53:54 +02:00
|
|
|
|
2015-08-09 12:05:32 +02:00
|
|
|
@SubscribeEvent
|
|
|
|
public void onItemCrafted(ItemCraftedEvent event) {
|
|
|
|
if (event.crafting != null
|
|
|
|
&& event.crafting.getItem() instanceof ICraftAchievement) {
|
|
|
|
Achievement achievement = ((ICraftAchievement) event.crafting
|
|
|
|
.getItem()).getAchievementOnCraft(event.crafting,
|
|
|
|
event.player, event.craftMatrix);
|
|
|
|
if (achievement != null)
|
|
|
|
event.player.addStat(achievement, 1);
|
|
|
|
}
|
|
|
|
}
|
2015-04-17 16:53:54 +02:00
|
|
|
|
|
|
|
}
|