commit
fd0ba44834
7 changed files with 122 additions and 2 deletions
|
@ -69,6 +69,7 @@ import WayofTime.alchemicalWizardry.common.LifeBucketHandler;
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssence;
|
import WayofTime.alchemicalWizardry.common.LifeEssence;
|
||||||
import WayofTime.alchemicalWizardry.common.ModLivingDropsEvent;
|
import WayofTime.alchemicalWizardry.common.ModLivingDropsEvent;
|
||||||
import WayofTime.alchemicalWizardry.common.NewPacketHandler;
|
import WayofTime.alchemicalWizardry.common.NewPacketHandler;
|
||||||
|
import WayofTime.alchemicalWizardry.common.achievements.ModAchievements;
|
||||||
import WayofTime.alchemicalWizardry.common.alchemy.CombinedPotionRegistry;
|
import WayofTime.alchemicalWizardry.common.alchemy.CombinedPotionRegistry;
|
||||||
import WayofTime.alchemicalWizardry.common.block.ArmourForge;
|
import WayofTime.alchemicalWizardry.common.block.ArmourForge;
|
||||||
import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.UpgradedAltars;
|
import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.UpgradedAltars;
|
||||||
|
@ -545,6 +546,7 @@ public class AlchemicalWizardry
|
||||||
MinecraftForge.EVENT_BUS.register(eventHook);
|
MinecraftForge.EVENT_BUS.register(eventHook);
|
||||||
NewPacketHandler.INSTANCE.ordinal();
|
NewPacketHandler.INSTANCE.ordinal();
|
||||||
ClientToServerPacketHandler.init();
|
ClientToServerPacketHandler.init();
|
||||||
|
ModAchievements.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -1574,7 +1576,7 @@ public class AlchemicalWizardry
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
strLine = strLine.replace('”', '"').replace('“','"').replace("…", "...").replace('’', '\'').replace('–', '-');
|
strLine = strLine.replace('', '"').replace('','"').replace("
", "...").replace('', '\'').replace('', '-');
|
||||||
|
|
||||||
if(Minecraft.getMinecraft() != null && Minecraft.getMinecraft().fontRenderer != null)
|
if(Minecraft.getMinecraft() != null && Minecraft.getMinecraft().fontRenderer != null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
package WayofTime.alchemicalWizardry.common.achievements;
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||||
|
import cpw.mods.fml.common.gameevent.PlayerEvent;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.stats.Achievement;
|
||||||
|
|
||||||
|
public class AchievementTrigger
|
||||||
|
{
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onItemPickedUp(PlayerEvent.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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onItemCrafted(PlayerEvent.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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
package WayofTime.alchemicalWizardry.common.achievements;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.stats.Achievement;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class AchievementsMod extends Achievement
|
||||||
|
{
|
||||||
|
public static List<Achievement> achievements = new ArrayList();
|
||||||
|
|
||||||
|
public AchievementsMod(String name, int x, int y, ItemStack icon, Achievement parent)
|
||||||
|
{
|
||||||
|
super("achievement.alchemicalwizardry:" + name, "alchemicalwizardry:" + name, x, y, icon, parent);
|
||||||
|
achievements.add(this);
|
||||||
|
registerStat();
|
||||||
|
}
|
||||||
|
|
||||||
|
public AchievementsMod(String name, int x, int y, Item icon, Achievement parent)
|
||||||
|
{
|
||||||
|
this(name, x, y, new ItemStack(icon), parent);
|
||||||
|
}
|
||||||
|
|
||||||
|
public AchievementsMod(String name, int x, int y, Block icon, Achievement parent)
|
||||||
|
{
|
||||||
|
this(name, x, y, new ItemStack(icon), parent);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
package WayofTime.alchemicalWizardry.common.achievements;
|
||||||
|
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.inventory.IInventory;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.stats.Achievement;
|
||||||
|
|
||||||
|
public interface ICraftAchievement
|
||||||
|
{
|
||||||
|
public Achievement getAchievementOnCraft(ItemStack stack, EntityPlayer player, IInventory matrix);
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
package WayofTime.alchemicalWizardry.common.achievements;
|
||||||
|
|
||||||
|
import net.minecraft.entity.item.EntityItem;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.stats.Achievement;
|
||||||
|
|
||||||
|
public interface IPickupAchievement
|
||||||
|
{
|
||||||
|
public Achievement getAchievementOnPickup(ItemStack stack, EntityPlayer player, EntityItem item);
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
package WayofTime.alchemicalWizardry.common.achievements;
|
||||||
|
|
||||||
|
import WayofTime.alchemicalWizardry.ModItems;
|
||||||
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
|
import net.minecraft.stats.Achievement;
|
||||||
|
import net.minecraft.util.StatCollector;
|
||||||
|
import net.minecraftforge.common.AchievementPage;
|
||||||
|
|
||||||
|
public class ModAchievements
|
||||||
|
{
|
||||||
|
public static AchievementPage alchemicalWizardryPage;
|
||||||
|
|
||||||
|
public static Achievement firstPrick;
|
||||||
|
|
||||||
|
public static void init()
|
||||||
|
{
|
||||||
|
firstPrick = new AchievementsMod(StatCollector.translateToLocal("achievement.firstPrick"), 0, 0, ModItems.sacrificialDagger, firstPrick);
|
||||||
|
|
||||||
|
alchemicalWizardryPage = new AchievementPage("AlchemicalWizardry", AchievementsMod.achievements.toArray(new Achievement[AchievementsMod.achievements.size()]));
|
||||||
|
AchievementPage.registerAchievementPage(alchemicalWizardryPage);
|
||||||
|
FMLCommonHandler.instance().bus().register(new AchievementTrigger());
|
||||||
|
}
|
||||||
|
}
|
|
@ -415,3 +415,6 @@ message.ritualdemonportal.missingjar=A jar on one of the pillars appears to be m
|
||||||
message.tanksegmenter.nowhas=Tank now has
|
message.tanksegmenter.nowhas=Tank now has
|
||||||
message.tanksegmenter.setto=Tank Segmenter now set to:
|
message.tanksegmenter.setto=Tank Segmenter now set to:
|
||||||
message.tanksegmenter.tankssetto=tank(s) set to:
|
message.tanksegmenter.tankssetto=tank(s) set to:
|
||||||
|
|
||||||
|
#Achievements
|
||||||
|
achievement.firstPrick=Your first prick!
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue