From 311ab89f93558233a40079f7cb16605b141b5346 Mon Sep 17 00:00:00 2001 From: Johann Bernhardt Date: Sun, 12 Dec 2021 19:38:06 +0100 Subject: Move sources and resources --- .../core/handler/AchievementHandler.java | 421 --------------------- 1 file changed, 421 deletions(-) delete mode 100644 src/Java/gtPlusPlus/core/handler/AchievementHandler.java (limited to 'src/Java/gtPlusPlus/core/handler/AchievementHandler.java') diff --git a/src/Java/gtPlusPlus/core/handler/AchievementHandler.java b/src/Java/gtPlusPlus/core/handler/AchievementHandler.java deleted file mode 100644 index fa10f4def3..0000000000 --- a/src/Java/gtPlusPlus/core/handler/AchievementHandler.java +++ /dev/null @@ -1,421 +0,0 @@ -package gtPlusPlus.core.handler; - -import java.util.concurrent.ConcurrentHashMap; - -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.PlayerEvent.ItemCraftedEvent; -import cpw.mods.fml.common.gameevent.PlayerEvent.ItemSmeltedEvent; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.util.GT_Log; -import gregtech.common.items.GT_MetaGenerated_Tool_01; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.block.ModBlocks; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ALLOY; -import gtPlusPlus.core.material.ELEMENT; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; -import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.stats.Achievement; -import net.minecraft.stats.StatBase; -import net.minecraftforge.common.AchievementPage; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.EntityItemPickupEvent; - -public class AchievementHandler { - - public ConcurrentHashMap achievementList = new ConcurrentHashMap(); - public ConcurrentHashMap issuedAchievements = new ConcurrentHashMap(); - - public int adjX = 5; - public int adjY = 9; - - private static final String aBaseAchievementName = "gtpp.start"; - - public AchievementHandler() { - - Logger.INFO("Initializing GT++ achievements"); - GT_Log.out.println("Initializing GT++ achievements"); - - //register first - this.registerAchievement(aBaseAchievementName, 0, 0, MetaGeneratedGregtechTools.INSTANCE.getToolWithStats(MetaGeneratedGregtechTools.ANGLE_GRINDER, 1, Materials.Osmium, Materials.Osmium, null), "", true); - - //Useful Info - boolean cores = CORE.ConfigSwitches.requireControlCores; - if (cores || GregtechMeta_MultiBlockBase.DEBUG_DISABLE_CORES_TEMPORARILY) { - this.registerAchievement("hatch.control", -2, -2, GregtechItemList.Hatch_Control_Core.get(1), aBaseAchievementName, false); - } - this.registerAchievement("hatch.dynamo.buffered", 2, -2, GregtechItemList.Hatch_Buffer_Dynamo_IV.get(1), aBaseAchievementName, false); - //First multi anyone really needs - this.registerAchievement("multi.abs", -4, -2, GregtechItemList.Industrial_AlloyBlastSmelter.get(1), cores ? "hatch.control" : aBaseAchievementName, true); - - //Material Advancement - this.registerAchievement("dust.potin", 0, 2, ALLOY.POTIN.getDust(1), aBaseAchievementName, false); - this.registerAchievement("dust.eglin", 0, 4, ALLOY.EGLIN_STEEL.getDust(1), "dust.potin", false); - this.registerAchievement("dust.staballoy", 0, 6, ALLOY.STABALLOY.getDust(1), "dust.eglin", false); - this.registerAchievement("dust.quantum", 0, 8, ALLOY.QUANTUM.getDust(1), "dust.staballoy", true); - this.registerAchievement("dust.hypogen", 0, 10, ELEMENT.STANDALONE.HYPOGEN.getDust(1), "dust.quantum", true); - - - //Blocks - this.registerAchievement("block.fishtrap", -2, 2, ItemUtils.getSimpleStack(ModBlocks.blockFishTrap), "dust.potin", false); - this.registerAchievement("block.withercage", -2, 4, ItemUtils.getSimpleStack(ModBlocks.blockWitherGuard), "dust.eglin", false); - - - //Machines (-10/-8/-6) - this.registerAchievement("rtg", -16, -10, GregtechItemList.RTG.get(1), aBaseAchievementName, false); - this.registerAchievement("dehydrate", -15, -10, GregtechItemList.GT_Dehydrator_HV.get(1), aBaseAchievementName, false); - this.registerAchievement("semifluid", -14, -10, GregtechItemList.Generator_SemiFluid_HV.get(1), aBaseAchievementName, false); - this.registerAchievement("earlywasher", -13, -10, GregtechItemList.SimpleDustWasher_ULV.get(1), aBaseAchievementName, false); - this.registerAchievement("advancedsteam", -12, -10, GregtechItemList.Boiler_Advanced_MV.get(1), aBaseAchievementName, false); - if (PollutionUtils.isPollutionEnabled()) { - this.registerAchievement("pollutionremoval", -11, -10, GregtechItemList.Pollution_Cleaner_IV.get(1), aBaseAchievementName, false); - } - this.registerAchievement("hiampxform", -10, -10, GregtechItemList.Transformer_HA_HV_MV.get(1), aBaseAchievementName, false); - - - //Multis (-4/-2/0) - this.registerAchievement("multi.pss", -16, -7, GregtechItemList.PowerSubStation.get(1), "multi.abs", false); - this.registerAchievement("multi.cyclo", -15, -7, GregtechItemList.COMET_Cyclotron.get(1), "multi.abs", false); - this.registerAchievement("multi.sifter", -14, -7, GregtechItemList.Industrial_Sifter.get(1), "dust.eglin", false); - this.registerAchievement("multi.cokeoven", -13, -7, GregtechItemList.Industrial_CokeOven.get(1), "multi.abs", false); - this.registerAchievement("multi.boiler.thermal", -12, -7, GregtechItemList.GT4_Thermal_Boiler.get(1), "multi.abs", false); - this.registerAchievement("multi.zhuhai", -11, -7, GregtechItemList.Industrial_FishingPond.get(1), aBaseAchievementName, false); - //this.registerAchievement("rtg", -4, -4, GregtechItemList.RTG.get(1), aBaseAchievementName, false); - - //Casings - this.registerAchievement("casing.abs", 2, -10, GregtechItemList.Casing_Coil_BlastSmelter.get(1), aBaseAchievementName, false); - this.registerAchievement("casing.cyclotron.coil", 3, -10, GregtechItemList.Casing_Cyclotron_Coil.get(1), aBaseAchievementName, false); - this.registerAchievement("casing.multiuse", 4, -10, GregtechItemList.Casing_Multi_Use.get(1), aBaseAchievementName, false); - this.registerAchievement("casing.containment", 5, -10, GregtechItemList.Casing_Containment.get(1), aBaseAchievementName, false); - - - - - - - - - //Radioactive - this.registerAchievement("decay.neptunium238", 11, 8, ItemUtils.getSimpleStack(ModItems.dustNeptunium238), "multi.cyclo", false); - this.registerAchievement("decay.radium226", 12, 8, ItemUtils.getSimpleStack(ModItems.dustRadium226), "multi.cyclo", false); - this.registerAchievement("decay.molybdenum99", 13, 8, ItemUtils.getSimpleStack(ModItems.dustMolybdenum99), "multi.cyclo", false); - this.registerAchievement("decay.technetium99m", 14, 8, ItemUtils.getSimpleStack(ModItems.dustTechnetium99M), "multi.cyclo", false); - this.registerAchievement("decay.technetium99", 15, 8, ItemUtils.getSimpleStack(ModItems.dustTechnetium99), "multi.cyclo", false); - - - - - - - - - - - - - AchievementPage.registerAchievementPage( - new AchievementPage("GT++", (Achievement[]) ((Achievement[]) this.achievementList.values() - .toArray(new Achievement[this.achievementList.size()])))); - MinecraftForge.EVENT_BUS.register(this); - FMLCommonHandler.instance().bus().register(this); - - - } - - public Achievement registerAchievement(String textId, int x, int y, ItemStack icon, Achievement requirement, - boolean special) { - Achievement achievement = new Achievement(textId, textId, this.adjX + x, this.adjY + y, icon, requirement); - if (special) { - achievement.setSpecial(); - } - - achievement.registerStat(); - if (CORE.DEVENV) { - GT_Log.out.println("achievement." + textId + "="); - GT_Log.out.println("achievement." + textId + ".desc="); - } - - this.achievementList.put(textId, achievement); - return achievement; - } - - public Achievement registerAchievement(String textId, int x, int y, ItemStack icon, String requirement, - boolean special) { - Achievement achievement = new Achievement(textId, textId, this.adjX + x, this.adjY + y, icon, - this.getAchievement(requirement)); - if (special) { - achievement.setSpecial(); - } - - achievement.registerStat(); - if (CORE.DEVENV) { - GT_Log.out.println("achievement." + textId + "="); - GT_Log.out.println("achievement." + textId + ".desc="); - } - - this.achievementList.put(textId, achievement); - return achievement; - } - - public void issueAchievement(EntityPlayer entityplayer, String textId) { - if (entityplayer != null) { - entityplayer.triggerAchievement((StatBase) this.achievementList.get(textId)); - } - } - - public Achievement getAchievement(String textId) { - return this.achievementList.containsKey(textId) ? (Achievement) this.achievementList.get(textId) : null; - } - - - /** - * A generic handler that will give an achievement for an item. - * Useful to only write this once, then call it from all handlers. - * @param aStack - The Itemstack to check for achievements. - * @param aPlayer - The player to unlock for. - */ - private void handleAchivement(ItemStack aStack, EntityPlayer aPlayer) { - - if (aPlayer != null && aStack != null) { - /* - * Copy this to all events because I am lazy - Alk 2019 - */ - - //Safe name - String aUnlocalName = ItemUtils.getUnlocalizedItemName(aStack); - - - boolean isValid = false; - //Check if valid name // mod - String aModID = ItemUtils.getModId(aStack); - - if (aModID == null || aModID.length() <= 0 || aModID.isEmpty()) { - return; - } - - if (aModID != null && (ItemUtils.getModId(aStack).equals(CORE.MODID) || ItemUtils.getModId(aStack).equalsIgnoreCase("gregtech"))) { - isValid = true; - } - if (!isValid) { - return; - } - - //Should unlock base achievement from *ANY* GT++ item. (Too lazy to special case GT machineBlocks though) - if (ItemUtils.getModId(aStack).equals(CORE.MODID)) { - this.issueAchievement(aPlayer, aBaseAchievementName); - } - - if (aUnlocalName.contains("item.")) { - aUnlocalName = aUnlocalName.substring(5); - } - else if (aUnlocalName.contains("tile.")) { - aUnlocalName = aUnlocalName.substring(5); - } - - //Logger.INFO("Picked up "+aUnlocalName); - - - /** - * Misc Blocks - */ - - if (aUnlocalName.equals("blockFishTrap")) { - this.issueAchievement(aPlayer, "block.fishtrap"); - } - if (aUnlocalName.equals("blockBlackGate")) { - this.issueAchievement(aPlayer, "block.withercage"); - } - - - /** - * Decayables - */ - if (aUnlocalName.equals("dustNeptunium238")) { - this.issueAchievement(aPlayer, "decay.neptunium238"); - } - else if (aUnlocalName.equals("dustRadium226")) { - this.issueAchievement(aPlayer, "decay.radium226"); - } - else if (aUnlocalName.equals("dustMolybdenum99")) { - this.issueAchievement(aPlayer, "decay.molybdenum99"); - } - else if (aUnlocalName.equals("dustTechnetium99M")) { - this.issueAchievement(aPlayer, "decay.technetium99m"); - } - else if (aUnlocalName.equals("dustTechnetium99")) { - this.issueAchievement(aPlayer, "decay.technetium99"); - } - - /** - * Random Materials worthy of Achievements - */ - else if (aUnlocalName.equals("itemDustPotin")) { - this.issueAchievement(aPlayer, "dust.potin"); - } - else if (aUnlocalName.equals("itemDustEglinSteel")) { - this.issueAchievement(aPlayer, "dust.eglin"); - } - else if (aUnlocalName.equals("itemDustStaballoy")) { - this.issueAchievement(aPlayer, "dust.staballoy"); - } - else if (aUnlocalName.equals("itemDustQuantum")) { - this.issueAchievement(aPlayer, "dust.quantum"); - } - else if (aUnlocalName.equals("itemDustHypogen")) { - this.issueAchievement(aPlayer, "dust.hypogen"); - } - - - - /** - * Machines - */ - - else if (aUnlocalName.startsWith("gt.blockmachines.")) { - - //Readability - String aStartsWith = "gt.blockmachines."; - - /** - * Single Blocks - */ - - //RTG - if (aUnlocalName.startsWith(aStartsWith + "basicgenerator.rtg")) { - this.issueAchievement(aPlayer, "rtg"); - } - //Dehydrator - else if (aUnlocalName.startsWith(aStartsWith + "machine.dehydrator.tier.")) { - this.issueAchievement(aPlayer, "dehydrate"); - } - //SemiFluids - else if (aUnlocalName.startsWith(aStartsWith + "basicgenerator.semifluid.tier.")) { - this.issueAchievement(aPlayer, "semifluid"); - } - //Simple Washer - else if (aUnlocalName.startsWith(aStartsWith + "simplewasher.01.tier.")) { - this.issueAchievement(aPlayer, "earlywasher"); - } - //Advanced Boilers - else if (aUnlocalName.startsWith(aStartsWith + "electricboiler.")) { - this.issueAchievement(aPlayer, "advancedsteam"); - } - //Scrubers - else if (aUnlocalName.startsWith(aStartsWith + "pollutioncleaner.01.tier.")) { - this.issueAchievement(aPlayer, "pollutionremoval"); - } - //High-amp xformers - else if (aUnlocalName.startsWith(aStartsWith + "transformer.ha.tier.")) { - this.issueAchievement(aPlayer, "hiampxform"); - } - //Buffered Dynamos - else if (aUnlocalName.startsWith(aStartsWith + "hatch.dynamo.buffer.tier.")) { - this.issueAchievement(aPlayer, "hatch.dynamo.buffered"); - } - //Control Core Hatch - else if (aUnlocalName.startsWith(aStartsWith + "hatch.control.adv")) { - this.issueAchievement(aPlayer, "hatch.control"); - } - - - - /** - * Multis - */ - - //ABS - else if (aUnlocalName.equals(aStartsWith + "industrialsalloyamelter.controller.tier.single")) { - this.issueAchievement(aPlayer, "multi.abs"); - } - //PSS - else if (aUnlocalName.equals(aStartsWith + "substation.01.input.single")) { - this.issueAchievement(aPlayer, "multi.pss"); - } - //Cyclotron - else if (aUnlocalName.startsWith(aStartsWith + "cyclotron.tier.single")) { - this.issueAchievement(aPlayer, "multi.cyclo"); - } - //Sifter - else if (aUnlocalName.equals(aStartsWith + "industrialsifter.controller.tier.single")) { - this.issueAchievement(aPlayer, "multi.sifter"); - } - //Coke Oven - else if (aUnlocalName.equals(aStartsWith + "industrialcokeoven.controller.tier.single")) { - this.issueAchievement(aPlayer, "multi.cokeoven"); - } - //Thermal Boiler - else if (aUnlocalName.equals(aStartsWith + "gtplusplus.thermal.boiler")) { - this.issueAchievement(aPlayer, "multi.boiler.thermal"); - } - //Zhuhai - else if (aUnlocalName.equals(aStartsWith + "industrial.fishpond.controller.tier.single")) { - this.issueAchievement(aPlayer, "multi.zhuhai"); - } - - } - - /** - * Casings - */ - - else if (aUnlocalName.equals("gtplusplus.blockcasings.14")) { - this.issueAchievement(aPlayer, "casing.abs"); - } - - else if (aUnlocalName.equals("gtplusplus.blockcasings.2.9")) { - this.issueAchievement(aPlayer, "casing.cyclotron.coil"); - } - - else if (aUnlocalName.equals("gtplusplus.blockcasings.3.2")) { - this.issueAchievement(aPlayer, "casing.multiuse"); - } - else if (aUnlocalName.equals("gtplusplus.blockcasings.3.15")) { - this.issueAchievement(aPlayer, "casing.containment"); - } - } - } - - - - - /* - * Handle achievements for all vanilla types of obtianment. - */ - - - - @SubscribeEvent - public void onCrafting(ItemCraftedEvent event) { - EntityPlayer player = event.player; - ItemStack stack = event.crafting; - if (player != null && stack != null) { - handleAchivement(stack, player); - } - } - - @SubscribeEvent - public void onSmelting(ItemSmeltedEvent event) { - EntityPlayer player = event.player; - ItemStack stack = event.smelting; - if (player != null && stack != null) { - handleAchivement(stack, player); - } - } - - @SubscribeEvent - public void onItemPickup(EntityItemPickupEvent event) { - EntityPlayer player = event.entityPlayer; - ItemStack stack = event.item.getEntityItem(); - if (player != null && stack != null) { - handleAchivement(stack, player); - } - } -} \ No newline at end of file -- cgit