Added stuffs
This commit is contained in:
parent
76f4b5b0d9
commit
bf14e3ebb1
8 changed files with 276 additions and 27 deletions
|
@ -11,20 +11,18 @@ public class AchievementTrigger
|
|||
@SubscribeEvent
|
||||
public void onItemPickedUp(PlayerEvent.ItemPickupEvent event)
|
||||
{
|
||||
ItemStack stack = event.pickedUp.getEntityItem();
|
||||
|
||||
for (Item item : AchievementsRegistry.list)
|
||||
for (Item item : AchievementsRegistry.pickupList)
|
||||
{
|
||||
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)
|
||||
if (stack != null && stack.getItem() == item)
|
||||
{
|
||||
event.player.addStat(achievement, 1);
|
||||
Achievement achievement = AchievementsRegistry.getAchievementForItem(item);
|
||||
|
||||
if (achievement != null)
|
||||
{
|
||||
event.player.addStat(achievement, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -32,13 +30,16 @@ public class AchievementTrigger
|
|||
@SubscribeEvent
|
||||
public void onItemCrafted(PlayerEvent.ItemCraftedEvent event)
|
||||
{
|
||||
if (event.crafting != null && event.crafting.getItem() instanceof ICraftAchievement)
|
||||
for (Item item : AchievementsRegistry.craftinglist)
|
||||
{
|
||||
Achievement achievement = ((ICraftAchievement) event.crafting.getItem()).getAchievementOnCraft(event.crafting, event.player, event.craftMatrix);
|
||||
|
||||
if (achievement != null)
|
||||
if (event.crafting != null && event.crafting.getItem() == item)
|
||||
{
|
||||
event.player.addStat(achievement, 1);
|
||||
Achievement achievement = AchievementsRegistry.getAchievementForItem(event.crafting.getItem());
|
||||
|
||||
if (achievement != null)
|
||||
{
|
||||
event.player.addStat(achievement, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,16 +2,42 @@ package WayofTime.alchemicalWizardry.common.achievements;
|
|||
|
||||
import WayofTime.alchemicalWizardry.ModItems;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.stats.Achievement;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class AchievementsRegistry
|
||||
{
|
||||
public static List<Item> list = new ArrayList();
|
||||
public final static List<Item> craftinglist = new ArrayList();
|
||||
public final static List<Item> pickupList = new ArrayList();
|
||||
|
||||
public void addItemsToList()
|
||||
public static void init()
|
||||
{
|
||||
list.add(ModItems.sacrificialDagger);
|
||||
addItemsToCraftingList();
|
||||
addItemsToPickupList();
|
||||
}
|
||||
|
||||
public static void addItemsToCraftingList()
|
||||
{
|
||||
craftinglist.add(ModItems.sacrificialDagger);
|
||||
}
|
||||
|
||||
public static void addItemsToPickupList()
|
||||
{
|
||||
pickupList.add(ModItems.weakBloodOrb);
|
||||
}
|
||||
|
||||
public static Achievement getAchievementForItem(Item item)
|
||||
{
|
||||
if (item == ModItems.sacrificialDagger)
|
||||
{
|
||||
return ModAchievements.firstPrick;
|
||||
}
|
||||
if (item == ModItems.weakBloodOrb)
|
||||
{
|
||||
return ModAchievements.weakOrb;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,19 +5,23 @@ import cpw.mods.fml.common.FMLCommonHandler;
|
|||
import net.minecraft.stats.Achievement;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import net.minecraftforge.common.AchievementPage;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
|
||||
public class ModAchievements
|
||||
{
|
||||
public static AchievementPage alchemicalWizardryPage;
|
||||
|
||||
public static Achievement firstPrick;
|
||||
public static Achievement weakOrb;
|
||||
|
||||
public static void init()
|
||||
{
|
||||
firstPrick = new AchievementsMod(StatCollector.translateToLocal("achievement.firstPrick"), 0, 0, ModItems.sacrificialDagger, firstPrick);
|
||||
firstPrick = new AchievementsMod(StatCollector.translateToLocal("firstPrick"), 0, 0, ModItems.sacrificialDagger, null);
|
||||
weakOrb = new AchievementsMod(StatCollector.translateToLocal("weakOrb"), 3, 0, ModItems.weakBloodOrb, firstPrick);
|
||||
|
||||
alchemicalWizardryPage = new AchievementPage("AlchemicalWizardry", AchievementsMod.achievements.toArray(new Achievement[AchievementsMod.achievements.size()]));
|
||||
AchievementPage.registerAchievementPage(alchemicalWizardryPage);
|
||||
AchievementsRegistry.init();
|
||||
FMLCommonHandler.instance().bus().register(new AchievementTrigger());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue