From c40d3ce02c5f2297cb55979cd22b75b4fcff0543 Mon Sep 17 00:00:00 2001 From: AEnterprise Date: Sat, 15 Mar 2014 22:03:49 +0100 Subject: [PATCH] Finished the achievements -Moved all achievements to the craftinghandler -Added "Refine and redefine" -Added "Tingly Laser" --- .../assets/buildcraft/lang/en_US.lang | 14 +++++++---- common/buildcraft/BuildCraftCore.java | 6 ++++- common/buildcraft/builders/BlockFiller.java | 7 ------ .../core/utils/CraftingHandler.java | 24 +++++++++++++++++++ .../factory/BlockAutoWorkbench.java | 8 ------- .../buildcraft/factory/BlockMiningWell.java | 4 ---- common/buildcraft/factory/BlockQuarry.java | 4 ---- .../buildcraft/silicon/BlockLaserTable.java | 7 ------ 8 files changed, 38 insertions(+), 36 deletions(-) diff --git a/buildcraft_resources/assets/buildcraft/lang/en_US.lang b/buildcraft_resources/assets/buildcraft/lang/en_US.lang index ee2000d8..6ee15fed 100644 --- a/buildcraft_resources/assets/buildcraft/lang/en_US.lang +++ b/buildcraft_resources/assets/buildcraft/lang/en_US.lang @@ -238,12 +238,16 @@ achievement.diamondGearAchievement.desc=Upgrade a gold gear to a diamond gear achievement.wrenchAchievement=Just hit it! achievement.wrenchAchievement.desc=Make a wrench achievement.aLotOfCraftingAchievement=A lot of crafting -achievement.aLotOfCraftingAchievement.desc=Place a auto workbench in the world +achievement.aLotOfCraftingAchievement.desc=Craft a auto workbench achievement.straightDownAchievement=Straight down -achievement.straightDownAchievement.desc=Place a mining well in the world +achievement.straightDownAchievement.desc=Make a mining well in the world achievement.chunkDestroyerAchievement=Chunk destroyer -achievement.chunkDestroyerAchievement.desc=Place a quarry in the world +achievement.chunkDestroyerAchievement.desc=Craft a quarry achievement.fasterFillingAchievement=Faster filling -achievement.fasterFillingAchievement.desc=Place a filler in the world +achievement.fasterFillingAchievement.desc=Make a filler achievement.timeForSomeLogicAchievement=Time for some logic -achievement.timeForSomeLogicAchievement.desc=Place an assembly table in the world \ No newline at end of file +achievement.timeForSomeLogicAchievement.desc=Craft an assembly table +achievement.refineAndRedefineAchievement=Refine and redefine +achievement.refineAndRedefineAchievement.desc=Make a refinery +achievement.tinglyLaserAchievement=Tingly laser +achievement.tinglyLaserAchievement.desc=Craft a laser \ No newline at end of file diff --git a/common/buildcraft/BuildCraftCore.java b/common/buildcraft/BuildCraftCore.java index 68a919ec..c4984e86 100644 --- a/common/buildcraft/BuildCraftCore.java +++ b/common/buildcraft/BuildCraftCore.java @@ -179,6 +179,8 @@ public class BuildCraftCore extends BuildCraftMod { public static Achievement chunkDestroyerAchievement; public static Achievement fasterFillingAchievement; public static Achievement timeForSomeLogicAchievement; + public static Achievement refineAndRedefineAchievement; + public static Achievement tinglyLaserAchievement; public static AchievementPage BuildcraftAchievements; @EventHandler @@ -380,8 +382,10 @@ public class BuildCraftCore extends BuildCraftMod { chunkDestroyerAchievement = new Achievement("achievement.chunkDestroyer", "chunkDestroyerAchievement", 9, 2, BuildCraftFactory.quarryBlock, diamondGearAchievement).registerStat(); fasterFillingAchievement = new Achievement("achievement.fasterFilling", "fasterFillingAchievement", 7, 2, BuildCraftBuilders.fillerBlock, goldGearAchievement).registerStat(); timeForSomeLogicAchievement = new Achievement("achievement.timeForSomeLogic", "timeForSomeLogicAchievement", 9, -2, BuildCraftSilicon.assemblyTableBlock, diamondGearAchievement).registerStat(); + refineAndRedefineAchievement = new Achievement("achievement.refineAndRedefine", "refineAndRedefineAchievement", 10, 0, BuildCraftFactory.refineryBlock, diamondGearAchievement).registerStat(); + tinglyLaserAchievement = new Achievement("achievement.tinglyLaser", "tinglyLaserAchievement", 11, -2, BuildCraftSilicon.laserBlock ,timeForSomeLogicAchievement).registerStat(); - BuildcraftAchievements = new AchievementPage("Buildcraft", woodenGearAchievement, stoneGearAchievement, ironGearAchievement, goldGearAchievement, diamondGearAchievement, wrenchAchievement, aLotOfCraftingAchievement, straightDownAchievement, chunkDestroyerAchievement, fasterFillingAchievement, timeForSomeLogicAchievement); + BuildcraftAchievements = new AchievementPage("Buildcraft", woodenGearAchievement, stoneGearAchievement, ironGearAchievement, goldGearAchievement, diamondGearAchievement, wrenchAchievement, aLotOfCraftingAchievement, straightDownAchievement, chunkDestroyerAchievement, fasterFillingAchievement, timeForSomeLogicAchievement, refineAndRedefineAchievement, tinglyLaserAchievement); AchievementPage.registerAchievementPage(BuildcraftAchievements); } } diff --git a/common/buildcraft/builders/BlockFiller.java b/common/buildcraft/builders/BlockFiller.java index b743e96b..1219737e 100644 --- a/common/buildcraft/builders/BlockFiller.java +++ b/common/buildcraft/builders/BlockFiller.java @@ -108,11 +108,4 @@ public class BlockFiller extends BlockContainer { textureTopOff = par1IconRegister.registerIcon("buildcraft:blockFillerTopOff"); textureSides = par1IconRegister.registerIcon("buildcraft:blockFillerSides"); } - @Override - public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityliving, ItemStack stack){ - if (entityliving instanceof EntityPlayer){ - EntityPlayer p=(EntityPlayer) entityliving; - p.addStat(BuildCraftCore.fasterFillingAchievement, 1); - } - } } diff --git a/common/buildcraft/core/utils/CraftingHandler.java b/common/buildcraft/core/utils/CraftingHandler.java index a5e47cea..3e4f6dd0 100644 --- a/common/buildcraft/core/utils/CraftingHandler.java +++ b/common/buildcraft/core/utils/CraftingHandler.java @@ -1,10 +1,13 @@ package buildcraft.core.utils; +import net.minecraft.item.Item; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.PlayerEvent; +import buildcraft.BuildCraftBuilders; import buildcraft.BuildCraftCore; import buildcraft.BuildCraftFactory; +import buildcraft.BuildCraftSilicon; public class CraftingHandler { @@ -28,6 +31,27 @@ public class CraftingHandler { if (Event.crafting.getItem().equals(BuildCraftCore.wrenchItem)){ Event.player.addStat(BuildCraftCore.wrenchAchievement, 1); } + if(Event.crafting.getItem().equals(Item.getItemFromBlock(BuildCraftFactory.autoWorkbenchBlock))){ + Event.player.addStat(BuildCraftCore.aLotOfCraftingAchievement, 1); + } + if (Event.crafting.getItem().equals(Item.getItemFromBlock(BuildCraftFactory.miningWellBlock))){ + Event.player.addStat(BuildCraftCore.straightDownAchievement, 1); + } + if (Event.crafting.getItem().equals(Item.getItemFromBlock(BuildCraftFactory.quarryBlock))){ + Event.player.addStat(BuildCraftCore.chunkDestroyerAchievement, 1); + } + if (Event.crafting.getItem().equals(Item.getItemFromBlock(BuildCraftFactory.refineryBlock))){ + Event.player.addStat(BuildCraftCore.refineAndRedefineAchievement, 1); + } + if (Event.crafting.getItem().equals(Item.getItemFromBlock(BuildCraftBuilders.fillerBlock))){ + Event.player.addStat(BuildCraftCore.fasterFillingAchievement, 1); + } + if (Event.crafting.getItem().equals(Item.getItemFromBlock(BuildCraftSilicon.laserBlock))){ + Event.player.addStat(BuildCraftCore.tinglyLaserAchievement, 1); + } + if (Event.crafting.getItem().equals(Item.getItemFromBlock(BuildCraftSilicon.assemblyTableBlock))){ + Event.player.addStat(BuildCraftCore.timeForSomeLogicAchievement, 1); + } } } diff --git a/common/buildcraft/factory/BlockAutoWorkbench.java b/common/buildcraft/factory/BlockAutoWorkbench.java index 8e68cb88..60024c01 100644 --- a/common/buildcraft/factory/BlockAutoWorkbench.java +++ b/common/buildcraft/factory/BlockAutoWorkbench.java @@ -78,12 +78,4 @@ public class BlockAutoWorkbench extends BlockBuildCraft { topTexture = par1IconRegister.registerIcon("buildcraft:autoWorkbench_top"); sideTexture = par1IconRegister.registerIcon("buildcraft:autoWorkbench_side"); } - @Override - public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityliving, ItemStack stack) { - if (entityliving instanceof EntityPlayer){ - EntityPlayer p=(EntityPlayer) entityliving; - p.addStat(BuildCraftCore.aLotOfCraftingAchievement, 1); - } - } - } diff --git a/common/buildcraft/factory/BlockMiningWell.java b/common/buildcraft/factory/BlockMiningWell.java index 0e7cd4a7..67accbe4 100644 --- a/common/buildcraft/factory/BlockMiningWell.java +++ b/common/buildcraft/factory/BlockMiningWell.java @@ -65,10 +65,6 @@ public class BlockMiningWell extends BlockBuildCraft { @Override public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityliving, ItemStack stack) { ForgeDirection orientation = Utils.get2dOrientation(entityliving); - if (entityliving instanceof EntityPlayer){ - EntityPlayer p=(EntityPlayer) entityliving; - p.addStat(BuildCraftCore.straightDownAchievement, 1); - } world.setBlockMetadataWithNotify(i, j, k, orientation.getOpposite().ordinal(),1); } diff --git a/common/buildcraft/factory/BlockQuarry.java b/common/buildcraft/factory/BlockQuarry.java index 0fb29731..16cca4a2 100644 --- a/common/buildcraft/factory/BlockQuarry.java +++ b/common/buildcraft/factory/BlockQuarry.java @@ -52,10 +52,6 @@ public class BlockQuarry extends BlockBuildCraft { @Override public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityliving, ItemStack stack) { super.onBlockPlacedBy(world, i, j, k, entityliving, stack); - if (entityliving instanceof EntityPlayer){ - EntityPlayer p=(EntityPlayer) entityliving; - p.addStat(BuildCraftCore.chunkDestroyerAchievement, 1); - } ForgeDirection orientation = Utils.get2dOrientation(entityliving); diff --git a/common/buildcraft/silicon/BlockLaserTable.java b/common/buildcraft/silicon/BlockLaserTable.java index 5f96f422..819569de 100644 --- a/common/buildcraft/silicon/BlockLaserTable.java +++ b/common/buildcraft/silicon/BlockLaserTable.java @@ -135,11 +135,4 @@ public class BlockLaserTable extends BlockContainer { icons[2][1] = par1IconRegister.registerIcon("buildcraft:integrationtable_top"); icons[2][2] = par1IconRegister.registerIcon("buildcraft:integrationtable_side"); } - @Override - public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityliving, ItemStack stack){ - if (entityliving instanceof EntityPlayer){ - EntityPlayer p=(EntityPlayer) entityliving; - p.addStat(BuildCraftCore.timeForSomeLogicAchievement, 1); - } - } }