Fixed incorrect awarding of achievements. Closes #613

This commit is contained in:
Adubbz 2016-01-20 14:36:38 +11:00
parent ced045d35d
commit b799ffa725

View file

@ -11,6 +11,7 @@ import java.util.Iterator;
import java.util.Set; import java.util.Set;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
@ -45,8 +46,11 @@ public class AchievementEventHandler
@SubscribeEvent @SubscribeEvent
public void onItemPickup(PlayerEvent.ItemPickupEvent event) public void onItemPickup(PlayerEvent.ItemPickupEvent event)
{ {
Item item = event.pickedUp.getEntityItem().getItem(); ItemStack stack = event.pickedUp.getEntityItem();
Item item = stack.getItem();
Block block = Block.getBlockFromItem(item); Block block = Block.getBlockFromItem(item);
IBlockState state = block != null ? block.getStateFromMeta(stack.getItemDamage()) : null;
EntityPlayer player = event.player; EntityPlayer player = event.player;
if (block != null && block instanceof BlockBOPLog) if (block != null && block instanceof BlockBOPLog)
@ -73,20 +77,20 @@ public class AchievementEventHandler
} }
//Life Finds a Way Achievement //Life Finds a Way Achievement
if (block != null && block == BlockBOPFlower.paging.getBlock(BOPFlowers.MINERS_DELIGHT)) if (block != null && state == BlockBOPFlower.paging.getVariantState(BOPFlowers.MINERS_DELIGHT))
{ {
player.triggerAchievement(BOPAchievements.obtain_miners_delight); player.triggerAchievement(BOPAchievements.obtain_miners_delight);
} }
//Rather Thorny Achievement //Rather Thorny Achievement
if (block != null && block == BlockBOPPlant.paging.getBlock(BOPPlants.THORN)) if (block != null && state == BlockBOPPlant.paging.getVariantState(BOPPlants.THORN))
{ {
player.triggerAchievement(BOPAchievements.obtain_thorn); player.triggerAchievement(BOPAchievements.obtain_thorn);
} }
//I am Become Death Achievement //I am Become Death Achievement
if (block != null && block == BlockBOPFlower.paging.getBlock(BOPFlowers.DEATHBLOOM)) if (block != null && state == BlockBOPFlower.paging.getVariantState(BOPFlowers.DEATHBLOOM))
{ {
player.triggerAchievement(BOPAchievements.obtain_deathbloom); player.triggerAchievement(BOPAchievements.obtain_deathbloom);
} }