From 09add3e8ac3be54b1e6c068e87d4fb5143c6d785 Mon Sep 17 00:00:00 2001 From: Dream-Master Date: Tue, 21 Jun 2016 18:50:29 +0200 Subject: even with Blood asp experimental branch --- .../loaders/load/GT_CoverBehaviorLoader.java | 10 + .../java/gregtech/loaders/load/GT_FuelLoader.java | 34 + .../gregtech/loaders/load/GT_ItemIterator.java | 264 +++ .../gregtech/loaders/load/GT_SonictronLoader.java | 155 ++ .../gregtech/loaders/misc/GT_Achievements.java | 520 ++++++ .../gregtech/loaders/misc/GT_BeeDefinition.java | 748 +++++++++ src/main/java/gregtech/loaders/misc/GT_Bees.java | 24 + .../gregtech/loaders/misc/GT_BranchDefinition.java | 105 ++ .../java/gregtech/loaders/misc/GT_CoverLoader.java | 23 + .../loaders/misc/OreProcessingConfiguration.java | 58 + .../loaders/oreprocessing/ProcessingAll.java | 16 + .../loaders/oreprocessing/ProcessingArrows.java | 45 + .../loaders/oreprocessing/ProcessingBattery.java | 21 + .../loaders/oreprocessing/ProcessingBeans.java | 19 + .../loaders/oreprocessing/ProcessingBlock.java | 73 + .../loaders/oreprocessing/ProcessingBolt.java | 20 + .../loaders/oreprocessing/ProcessingCell.java | 90 + .../oreprocessing/ProcessingCellPlasma.java | 23 + .../loaders/oreprocessing/ProcessingCircuit.java | 39 + .../oreprocessing/ProcessingCompressed.java | 23 + .../loaders/oreprocessing/ProcessingCrafting.java | 53 + .../loaders/oreprocessing/ProcessingCrop.java | 46 + .../ProcessingCrushedCentrifuged.java | 20 + .../oreprocessing/ProcessingCrushedPurified.java | 22 + .../oreprocessing/ProcessingCrystallized.java | 21 + .../loaders/oreprocessing/ProcessingDirty.java | 36 + .../loaders/oreprocessing/ProcessingDust.java | 188 +++ .../oreprocessing/ProcessingDustImpure.java | 64 + .../loaders/oreprocessing/ProcessingDustSmall.java | 31 + .../loaders/oreprocessing/ProcessingDustTiny.java | 36 + .../loaders/oreprocessing/ProcessingDye.java | 31 + .../loaders/oreprocessing/ProcessingFoil.java | 18 + .../loaders/oreprocessing/ProcessingFood.java | 35 + .../loaders/oreprocessing/ProcessingGear.java | 21 + .../loaders/oreprocessing/ProcessingGearSmall.java | 19 + .../loaders/oreprocessing/ProcessingGem.java | 55 + .../oreprocessing/ProcessingGemChipped.java | 21 + .../oreprocessing/ProcessingGemExquisite.java | 22 + .../loaders/oreprocessing/ProcessingGemFlawed.java | 22 + .../oreprocessing/ProcessingGemFlawless.java | 22 + .../loaders/oreprocessing/ProcessingIngot1.java | 62 + .../loaders/oreprocessing/ProcessingIngot2.java | 21 + .../loaders/oreprocessing/ProcessingIngot3.java | 21 + .../loaders/oreprocessing/ProcessingIngot4.java | 21 + .../loaders/oreprocessing/ProcessingIngot5.java | 21 + .../loaders/oreprocessing/ProcessingIngotHot.java | 18 + .../loaders/oreprocessing/ProcessingItem.java | 53 + .../loaders/oreprocessing/ProcessingLeaves.java | 14 + .../loaders/oreprocessing/ProcessingLens.java | 19 + .../loaders/oreprocessing/ProcessingLog.java | 102 ++ .../loaders/oreprocessing/ProcessingNugget.java | 32 + .../loaders/oreprocessing/ProcessingOre.java | 122 ++ .../loaders/oreprocessing/ProcessingOrePoor.java | 41 + .../oreprocessing/ProcessingOreSmelting.java | 44 + .../loaders/oreprocessing/ProcessingPipeLarge.java | 23 + .../oreprocessing/ProcessingPipeMedium.java | 23 + .../oreprocessing/ProcessingPipeRestrictive.java | 18 + .../loaders/oreprocessing/ProcessingPipeSmall.java | 23 + .../loaders/oreprocessing/ProcessingPlank.java | 61 + .../loaders/oreprocessing/ProcessingPlate1.java | 96 ++ .../loaders/oreprocessing/ProcessingPlate2.java | 31 + .../loaders/oreprocessing/ProcessingPlate3.java | 32 + .../loaders/oreprocessing/ProcessingPlate4.java | 29 + .../loaders/oreprocessing/ProcessingPlate5.java | 27 + .../loaders/oreprocessing/ProcessingPlate9.java | 20 + .../oreprocessing/ProcessingPlateAlloy.java | 27 + .../loaders/oreprocessing/ProcessingPure.java | 22 + .../loaders/oreprocessing/ProcessingRecycling.java | 21 + .../loaders/oreprocessing/ProcessingSand.java | 23 + .../loaders/oreprocessing/ProcessingSaplings.java | 20 + .../loaders/oreprocessing/ProcessingShaping.java | 122 ++ .../loaders/oreprocessing/ProcessingSlab.java | 20 + .../loaders/oreprocessing/ProcessingStick.java | 23 + .../loaders/oreprocessing/ProcessingStickLong.java | 23 + .../loaders/oreprocessing/ProcessingStone.java | 98 ++ .../oreprocessing/ProcessingStoneCobble.java | 24 + .../oreprocessing/ProcessingStoneVarious.java | 28 + .../oreprocessing/ProcessingToolHeadArrow.java | 19 + .../oreprocessing/ProcessingToolHeadAxe.java | 17 + .../oreprocessing/ProcessingToolHeadBuzzSaw.java | 20 + .../oreprocessing/ProcessingToolHeadChainsaw.java | 26 + .../oreprocessing/ProcessingToolHeadDrill.java | 30 + .../oreprocessing/ProcessingToolHeadFile.java | 21 + .../oreprocessing/ProcessingToolHeadHammer.java | 44 + .../oreprocessing/ProcessingToolHeadHoe.java | 17 + .../oreprocessing/ProcessingToolHeadPickaxe.java | 17 + .../oreprocessing/ProcessingToolHeadPlow.java | 17 + .../oreprocessing/ProcessingToolHeadSaw.java | 17 + .../oreprocessing/ProcessingToolHeadSense.java | 17 + .../oreprocessing/ProcessingToolHeadShovel.java | 17 + .../oreprocessing/ProcessingToolHeadSword.java | 17 + .../ProcessingToolHeadUniversalSpade.java | 18 + .../oreprocessing/ProcessingToolHeadWrench.java | 30 + .../oreprocessing/ProcessingTransforming.java | 43 + .../loaders/oreprocessing/ProcessingWax.java | 18 + .../loaders/oreprocessing/ProcessingWire01.java | 52 + .../loaders/oreprocessing/ProcessingWire02.java | 46 + .../loaders/oreprocessing/ProcessingWire04.java | 45 + .../loaders/oreprocessing/ProcessingWire08.java | 45 + .../loaders/oreprocessing/ProcessingWire12.java | 44 + .../loaders/oreprocessing/ProcessingWire16.java | 27 + .../loaders/postload/GT_BlockResistanceLoader.java | 49 + .../loaders/postload/GT_BookAndLootLoader.java | 133 ++ .../loaders/postload/GT_CraftingRecipeLoader.java | 712 ++++++++ .../gregtech/loaders/postload/GT_CropLoader.java | 71 + .../postload/GT_ItemMaxStacksizeLoader.java | 78 + .../loaders/postload/GT_MachineRecipeLoader.java | 1736 ++++++++++++++++++++ .../loaders/postload/GT_MinableRegistrator.java | 14 + .../postload/GT_RecyclerBlacklistLoader.java | 56 + .../loaders/postload/GT_ScrapboxDropLoader.java | 103 ++ .../loaders/postload/GT_UUMRecipeLoader.java | 7 + .../loaders/postload/GT_Worldgenloader.java | 134 ++ .../preload/GT_Loader_CircuitBehaviors.java | 22 + .../loaders/preload/GT_Loader_ItemData.java | 176 ++ .../preload/GT_Loader_Item_Block_And_Fluid.java | 692 ++++++++ .../preload/GT_Loader_MetaTileEntities.java | 1303 +++++++++++++++ .../loaders/preload/GT_Loader_OreDictionary.java | 204 +++ .../loaders/preload/GT_Loader_OreProcessing.java | 102 ++ 118 files changed, 10774 insertions(+) create mode 100644 src/main/java/gregtech/loaders/load/GT_CoverBehaviorLoader.java create mode 100644 src/main/java/gregtech/loaders/load/GT_FuelLoader.java create mode 100644 src/main/java/gregtech/loaders/load/GT_ItemIterator.java create mode 100644 src/main/java/gregtech/loaders/load/GT_SonictronLoader.java create mode 100644 src/main/java/gregtech/loaders/misc/GT_Achievements.java create mode 100644 src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java create mode 100644 src/main/java/gregtech/loaders/misc/GT_Bees.java create mode 100644 src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java create mode 100644 src/main/java/gregtech/loaders/misc/GT_CoverLoader.java create mode 100644 src/main/java/gregtech/loaders/misc/OreProcessingConfiguration.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingAll.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingBattery.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingBeans.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingBolt.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCellPlasma.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCircuit.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCompressed.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedCentrifuged.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedPurified.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingDustImpure.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingDustSmall.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingDustTiny.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingGear.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingGearSmall.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingGemChipped.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingGemExquisite.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingGemFlawed.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingGemFlawless.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot1.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot2.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot3.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot4.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot5.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingIngotHot.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingItem.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingLeaves.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingNugget.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeLarge.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeMedium.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeRestrictive.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeSmall.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPlank.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate1.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate2.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate3.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate4.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate5.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate9.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPlateAlloy.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingRecycling.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingStone.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingStoneCobble.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingStoneVarious.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadArrow.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadAxe.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadBuzzSaw.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadChainsaw.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadDrill.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadFile.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadHammer.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadHoe.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadPickaxe.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadPlow.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadSaw.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadSense.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadShovel.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadSword.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadUniversalSpade.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadWrench.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingWax.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingWire01.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingWire02.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingWire04.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingWire08.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingWire12.java create mode 100644 src/main/java/gregtech/loaders/oreprocessing/ProcessingWire16.java create mode 100644 src/main/java/gregtech/loaders/postload/GT_BlockResistanceLoader.java create mode 100644 src/main/java/gregtech/loaders/postload/GT_BookAndLootLoader.java create mode 100644 src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java create mode 100644 src/main/java/gregtech/loaders/postload/GT_CropLoader.java create mode 100644 src/main/java/gregtech/loaders/postload/GT_ItemMaxStacksizeLoader.java create mode 100644 src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java create mode 100644 src/main/java/gregtech/loaders/postload/GT_MinableRegistrator.java create mode 100644 src/main/java/gregtech/loaders/postload/GT_RecyclerBlacklistLoader.java create mode 100644 src/main/java/gregtech/loaders/postload/GT_ScrapboxDropLoader.java create mode 100644 src/main/java/gregtech/loaders/postload/GT_UUMRecipeLoader.java create mode 100644 src/main/java/gregtech/loaders/postload/GT_Worldgenloader.java create mode 100644 src/main/java/gregtech/loaders/preload/GT_Loader_CircuitBehaviors.java create mode 100644 src/main/java/gregtech/loaders/preload/GT_Loader_ItemData.java create mode 100644 src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java create mode 100644 src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java create mode 100644 src/main/java/gregtech/loaders/preload/GT_Loader_OreDictionary.java create mode 100644 src/main/java/gregtech/loaders/preload/GT_Loader_OreProcessing.java (limited to 'src/main/java/gregtech/loaders') diff --git a/src/main/java/gregtech/loaders/load/GT_CoverBehaviorLoader.java b/src/main/java/gregtech/loaders/load/GT_CoverBehaviorLoader.java new file mode 100644 index 0000000000..64b088cac0 --- /dev/null +++ b/src/main/java/gregtech/loaders/load/GT_CoverBehaviorLoader.java @@ -0,0 +1,10 @@ +package gregtech.loaders.load; + +import gregtech.api.util.GT_Log; + +public class GT_CoverBehaviorLoader + implements Runnable { + public void run() { + GT_Log.out.println("GT_Mod: Adding Cover Behaviors"); + } +} diff --git a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java new file mode 100644 index 0000000000..27ebd1389a --- /dev/null +++ b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java @@ -0,0 +1,34 @@ +package gregtech.loaders.load; + +import gregtech.GT_Mod; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_Log; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Recipe; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +public class GT_FuelLoader + implements Runnable { + public void run() { + GT_Log.out.println("GT_Mod: Initializing various Fuels."); + ItemList.sNitricAcid = GT_Mod.gregtechproxy.addFluid("nitricacid", "Nitric acid ", null, 1, 295); + ItemList.sBlueVitriol = GT_Mod.gregtechproxy.addFluid("solution.bluevitriol", "Blue Vitriol water solution", null, 1, 295); + ItemList.sNickelSulfate = GT_Mod.gregtechproxy.addFluid("solution.nickelsulfate", "Nickel sulfate water solution", null, 1, 295); + new GT_Recipe(new ItemStack(Items.lava_bucket), new ItemStack(Blocks.obsidian), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Electrum, 1L), 30, 2); + + GT_Recipe.GT_Recipe_Map.sSmallNaquadahReactorFuels.addRecipe(true, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.NaquadahEnriched, 1L)}, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L)}, null, null, null, 0, 0, 25000); + GT_Recipe.GT_Recipe_Map.sLargeNaquadahReactorFuels.addRecipe(true, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.NaquadahEnriched, 1L)}, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Naquadah, 1L)}, null, null, null, 0, 0, 200000); + GT_Recipe.GT_Recipe_Map.sFluidNaquadahReactorFuels.addRecipe(true, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.cell, Materials.NaquadahEnriched, 1L)}, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1L)}, null, null, null, 0, 0, 200000); + + GT_Values.RA.addFuel(GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1L, 4), null, 4, 5); + GT_Values.RA.addFuel(new ItemStack(Items.experience_bottle, 1), null, 10, 5); + GT_Values.RA.addFuel(new ItemStack(Items.ghast_tear, 1), null, 50, 5); + GT_Values.RA.addFuel(new ItemStack(Blocks.beacon, 1), null, Materials.NetherStar.mFuelPower * 2, Materials.NetherStar.mFuelType); + } +} diff --git a/src/main/java/gregtech/loaders/load/GT_ItemIterator.java b/src/main/java/gregtech/loaders/load/GT_ItemIterator.java new file mode 100644 index 0000000000..651b8e86d6 --- /dev/null +++ b/src/main/java/gregtech/loaders/load/GT_ItemIterator.java @@ -0,0 +1,264 @@ +package gregtech.loaders.load; + +import buildcraft.api.tools.IToolWrench; +import gregtech.api.GregTech_API; +import gregtech.api.enums.*; +import gregtech.api.items.GT_Generic_Item; +import gregtech.api.util.GT_Log; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; +import mods.railcraft.api.core.items.IToolCrowbar; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.IFluidContainerItem; + +import java.util.Iterator; + +public class GT_ItemIterator + implements Runnable { + public void run() { + GT_Log.out.println("GT_Mod: Scanning for certain kinds of compatible Machineblocks."); + ItemStack tStack2; + ItemStack tStack; + if (null != (tStack = GT_ModHandler.getRecipeOutput(new ItemStack[]{tStack2 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 1L), tStack2, tStack2, tStack2, null, tStack2, tStack2, tStack2, tStack2}))) { + GT_ModHandler.addPulverisationRecipe(tStack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bronze, 8L), null, 0, false); + GT_ModHandler.addSmeltingRecipe(tStack, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 8L)); + } + if (null != (tStack = GT_ModHandler.getRecipeOutput(new ItemStack[]{tStack2 = GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Bronze, 1L), tStack2, tStack2, tStack2, null, tStack2, tStack2, tStack2, tStack2}))) { + GT_OreDictUnificator.registerOre(OreDictNames.craftingRawMachineTier00, tStack); + GT_ModHandler.addPulverisationRecipe(tStack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bronze, 8L), null, 0, false); + GT_ModHandler.addSmeltingRecipe(tStack, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 8L)); + } + ItemStack tStack3; + if (null != (tStack = GT_ModHandler.getRecipeOutput(new ItemStack[]{tStack2 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L), tStack3 = new ItemStack(Blocks.glass, 1, 0), tStack2, tStack3, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Gold, 1L), tStack3, tStack2, tStack3, tStack2}))) { + GT_ModHandler.addPulverisationRecipe(tStack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1L), 0, false); + } + if (null != (tStack = GT_ModHandler.getRecipeOutput(new ItemStack[]{tStack2 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), tStack3 = new ItemStack(Blocks.glass, 1, 0), tStack2, tStack3, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Gold, 1L), tStack3, tStack2, tStack3, tStack2}))) { + GT_ModHandler.addPulverisationRecipe(tStack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1L), 0, false); + } + GT_Log.out.println("GT_Mod: Registering various Tools to be usable on GregTech Machines"); + GregTech_API.registerScrewdriver(GT_ModHandler.getRecipeOutput(new ItemStack[]{null, new ItemStack(Items.iron_ingot, 1), null, new ItemStack(Items.stick, 1)})); + GregTech_API.registerScrewdriver(GT_ModHandler.getRecipeOutput(new ItemStack[]{new ItemStack(Items.iron_ingot, 1), null, null, null, new ItemStack(Items.stick, 1)})); + + GT_Log.out.println("GT_Mod: Adding Food Recipes to the Automatic Canning Machine. (also during the following Item Iteration)"); + GT_Values.RA.addCannerRecipe(new ItemStack(Items.rotten_flesh, 1, 32767), ItemList.IC2_Food_Can_Empty.get(4L, new Object[0]), ItemList.IC2_Food_Can_Spoiled.get(4L, new Object[0]), null, 200, 1); + GT_Values.RA.addCannerRecipe(new ItemStack(Items.spider_eye, 1, 32767), ItemList.IC2_Food_Can_Empty.get(2L, new Object[0]), ItemList.IC2_Food_Can_Spoiled.get(2L, new Object[0]), null, 100, 1); + GT_Values.RA.addCannerRecipe(ItemList.Food_Poisonous_Potato.get(1L, new Object[0]), ItemList.IC2_Food_Can_Empty.get(2L, new Object[0]), ItemList.IC2_Food_Can_Spoiled.get(2L, new Object[0]), null, 100, 1); + GT_Values.RA.addCannerRecipe(new ItemStack(Items.cake, 1, 32767), ItemList.IC2_Food_Can_Empty.get(12L, new Object[0]), ItemList.IC2_Food_Can_Filled.get(12L, new Object[0]), null, 600, 1); + GT_Values.RA.addCannerRecipe(new ItemStack(Items.mushroom_stew, 1, 32767), ItemList.IC2_Food_Can_Empty.get(6L, new Object[0]), ItemList.IC2_Food_Can_Filled.get(6L, new Object[0]), new ItemStack(Items.bowl, 1), 300, 1); + + GT_Log.out.println("GT_Mod: Scanning ItemList."); + + Iterator tIterator = Item.itemRegistry.iterator(); + while (tIterator.hasNext()) { + Object tObject; + if (((tObject = tIterator.next()) != null) && ((tObject instanceof Item)) && (!(tObject instanceof GT_Generic_Item))) { + Item tItem = (Item) tObject; + String tName; + if ((tName = tItem.getUnlocalizedName()) != null) { + try { + if ((tItem instanceof IToolCrowbar)) { + if ((!tItem.isDamageable()) && (!GT_ModHandler.isElectricItem(new ItemStack(tItem, 1, 0)))) { + if ((GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.disabledrecipes, "infiniteDurabilityRCCrowbars", false)) && + (GT_ModHandler.removeRecipeByOutput(new ItemStack(tItem, 1, 32767)))) { + GT_Log.out.println("GT_Mod: Removed infinite RC Crowbar: " + tName); + } + } else if (GregTech_API.registerCrowbar(new ItemStack(tItem, 1, 32767))) { + GT_Log.out.println("GT_Mod: Registered valid RC Crowbar: " + tName); + } + } + } catch (Throwable e) { + } + try { + if ((tItem instanceof IToolWrench)) { + if ((!tItem.isDamageable()) && (!GT_ModHandler.isElectricItem(new ItemStack(tItem, 1, 0)))) { + if ((GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.disabledrecipes, "infiniteDurabilityBCWrenches", false)) && + (GT_ModHandler.removeRecipeByOutput(new ItemStack(tItem, 1, 32767)))) { + GT_Log.out.println("GT_Mod: Removed infinite BC Wrench: " + tName); + } + } else if (GregTech_API.registerWrench(new ItemStack(tItem, 1, 32767))) { + GT_Log.out.println("GT_Mod: Registered valid BC Wrench: " + tName); + } + } + } catch (Throwable e) { + } + Block tBlock = GT_Utility.getBlockFromStack(new ItemStack(tItem, 1, 0)); + if (tBlock != null) { + if (tName.endsWith("beehives")) { + tBlock.setHarvestLevel("scoop", 0); + gregtech.common.tools.GT_Tool_Scoop.sBeeHiveMaterial = tBlock.getMaterial(); + } + if (OrePrefixes.stone.mDefaultStackSize < tItem.getItemStackLimit(new ItemStack(tItem, 1, 0))) { + try { + if ((tBlock.isReplaceableOreGen(GT_Values.DW, 0, 0, 0, Blocks.stone)) || (tBlock.isReplaceableOreGen(GT_Values.DW, 0, 0, 0, Blocks.netherrack)) || (tBlock.isReplaceableOreGen(GT_Values.DW, 0, 0, 0, Blocks.end_stone))) { + tItem.setMaxStackSize(OrePrefixes.stone.mDefaultStackSize); + } + } catch (Throwable e) { + e.printStackTrace(GT_Log.err); + } + } + } + if (((tItem instanceof ItemFood)) && (tItem != ItemList.IC2_Food_Can_Filled.getItem()) && (tItem != ItemList.IC2_Food_Can_Spoiled.getItem())) { + int tFoodValue = ((ItemFood) tItem).func_150905_g(new ItemStack(tItem, 1, 0)); + if (tFoodValue > 0) { + GT_Values.RA.addCannerRecipe(new ItemStack(tItem, 1, 32767), ItemList.IC2_Food_Can_Empty.get(tFoodValue, new Object[0]), ItemList.IC2_Food_Can_Filled.get(tFoodValue, new Object[0]), GT_Utility.getContainerItem(new ItemStack(tItem, 1, 0), true), tFoodValue * 100, 1); + } + } + if ((tItem instanceof IFluidContainerItem)) { + GT_OreDictUnificator.addToBlacklist(new ItemStack(tItem, 1, 32767)); + } + if ((tName.equals("item.ItemSensorLocationCard")) || (tName.equals("item.ItemEnergySensorLocationCard")) || (tName.equals("item.ItemEnergyArrayLocationCard")) || (tName.equals("item.ItemTextCard"))) { + GT_Values.RA.addAssemblerRecipe(new ItemStack(tItem, 1, 32767), null, ItemList.Circuit_Basic.get(2L, new Object[0]), 200, 32); + } + if (tName.equals("item.ItemTimeCard")) { + GT_Values.RA.addAssemblerRecipe(new ItemStack(tItem, 1, 32767), null, ItemList.Circuit_Basic.get(1L, new Object[0]), 100, 32); + } + if (tName.equals("tile.ArsMagica:ore_vinteum")) { + GT_OreDictUnificator.set(OrePrefixes.ore, Materials.Vinteum, new ItemStack(tItem, 1, 0)); + } + if (tName.equals("item.ArsMagica:purified_vinteum")) { + GT_Values.RA.addFuel(new ItemStack(tItem, 1, 0), null, 256, 5); + } + if ((tName.equals("item.fieryBlood")) || (tName.equals("item.fieryTears"))) { + GT_Values.RA.addFuel(new ItemStack(tItem, 1, 0), null, 2048, 5); + } + if (tName.equals("tile.TFRoots")) { + GT_ModHandler.addPulverisationRecipe(new ItemStack(tItem, 1, 0), new ItemStack(Items.stick, 2), new ItemStack(Items.stick, 1), 30); + GT_ModHandler.addSawmillRecipe(new ItemStack(tItem, 1, 0), new ItemStack(Items.stick, 4), new ItemStack(Items.stick, 2)); + GT_Values.RA.addFuel(new ItemStack(tItem, 1, 1), new ItemStack(Items.stick, 4), 32, 5); + } + if (tName.equals("item.tconstruct.manual")) { + GT_OreDictUnificator.registerOre("bookTinkersManual", new ItemStack(tItem, 1, 32767)); + } + if (tName.equals("item.ArsMagica:spell_parchment")) { + GT_OreDictUnificator.registerOre("paperArsSpellParchment", new ItemStack(tItem, 1, 32767)); + } + if (tName.equals("item.ArsMagica:spell_recipe")) { + GT_OreDictUnificator.registerOre("paperArsSpellRecipe", new ItemStack(tItem, 1, 32767)); + } + if (tName.equals("item.ArsMagica:spell_book")) { + GT_OreDictUnificator.registerOre("bookArsSpells", new ItemStack(tItem, 1, 32767)); + } + if (tName.equals("item.myst.page")) { + GT_OreDictUnificator.registerOre("paperMystcraft", new ItemStack(tItem, 1, 32767)); + } + if (tName.equals("item.myst.agebook")) { + GT_OreDictUnificator.registerOre("bookMystcraftAge", new ItemStack(tItem, 1, 32767)); + } + if (tName.equals("item.myst.linkbook")) { + GT_OreDictUnificator.registerOre("bookMystcraftLink", new ItemStack(tItem, 1, 32767)); + } + if (tName.equals("item.myst.notebook")) { + GT_OreDictUnificator.registerOre("bookNotes", new ItemStack(tItem, 1, 32767)); + } + if (tName.equals("item.itemManuelBook")) { + GT_OreDictUnificator.registerOre("bookWritten", new ItemStack(tItem, 1, 0)); + } + if (tName.equals("item.blueprintItem")) { + GT_OreDictUnificator.registerOre("paperBlueprint", new ItemStack(tItem, 1, 32767)); + } + if (tName.equals("item.ccprintout")) { + GT_OreDictUnificator.registerOre("paperWritten", new ItemStack(tItem, 1, 0)); + GT_OreDictUnificator.registerOre("paperWritten", new ItemStack(tItem, 1, 1)); + GT_OreDictUnificator.registerOre("bookWritten", new ItemStack(tItem, 1, 2)); + } + if (tName.equals("item.blueprintItem")) { + GT_OreDictUnificator.registerOre("paperBlueprint", new ItemStack(tItem, 1, 32767)); + } + if (tName.equals("item.wirelessmap")) { + GT_OreDictUnificator.registerOre("paperMap", new ItemStack(tItem, 1, 32767)); + } + if (tName.equals("item.ItemResearchNotes")) { + GT_OreDictUnificator.registerOre("paperResearch", new ItemStack(tItem, 1, 32767)); + } + if (tName.equals("item.ItemThaumonomicon")) { + GT_OreDictUnificator.registerOre("bookThaumonomicon", new ItemStack(tItem, 1, 32767)); + } + if (tName.equals("item.ligniteCoal")) { + GT_OreDictUnificator.set(OrePrefixes.gem, Materials.Lignite, new ItemStack(tItem, 1, 0)); + } + if ((tName.equals("tile.extrabiomes.redrock")) || (tName.equals("tile.bop.redRocks"))) { + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Redrock, new ItemStack(tItem, 1, 0)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Redrock, new ItemStack(tItem, 1, 1)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Redrock, new ItemStack(tItem, 1, 2)); + } + if (tName.equals("tile.rpstone")) { + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Marble, new ItemStack(tItem, 1, 0)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Basalt, new ItemStack(tItem, 1, 1)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Marble, new ItemStack(tItem, 1, 2)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Basalt, new ItemStack(tItem, 1, 3)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Basalt, new ItemStack(tItem, 1, 4)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Basalt, new ItemStack(tItem, 1, 5)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Basalt, new ItemStack(tItem, 1, 6)); + } + if (/**(tName.equals("tile.sedimentaryStone")) ||**/ ((tName.equals("tile.igneousStone")) || (tName.equals("tile.igneousStoneBrick")) || (tName.equals("tile.igneousCobblestone")))) { + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(tItem, 1, 0)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(tItem, 1, 1)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Rhyolite, new ItemStack(tItem, 1, 2)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Andesite, new ItemStack(tItem, 1, 3)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Gabbro, new ItemStack(tItem, 1, 4)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Basalt, new ItemStack(tItem, 1, 5)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Komatiite, new ItemStack(tItem, 1, 6)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Dacite, new ItemStack(tItem, 1, 7)); + + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteRed, new ItemStack(tItem, 1, 8)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.GraniteBlack, new ItemStack(tItem, 1, 9)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Rhyolite, new ItemStack(tItem, 1, 10)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Andesite, new ItemStack(tItem, 1, 11)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Gabbro, new ItemStack(tItem, 1, 12)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Basalt, new ItemStack(tItem, 1, 13)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Komatiite, new ItemStack(tItem, 1, 14)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Dacite, new ItemStack(tItem, 1, 15)); + } + if ((tName.equals("tile.metamorphicStone")) || (tName.equals("tile.metamorphicStoneBrick")) || (tName.equals("tile.metamorphicCobblestone"))) { + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Gneiss, new ItemStack(tItem, 1, 0)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Eclogite, new ItemStack(tItem, 1, 1)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Marble, new ItemStack(tItem, 1, 2)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Quartzite, new ItemStack(tItem, 1, 3)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Blueschist, new ItemStack(tItem, 1, 4)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Greenschist, new ItemStack(tItem, 1, 5)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Soapstone, new ItemStack(tItem, 1, 6)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Migmatite, new ItemStack(tItem, 1, 7)); + + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Gneiss, new ItemStack(tItem, 1, 8)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Eclogite, new ItemStack(tItem, 1, 9)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Marble, new ItemStack(tItem, 1, 10)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Quartzite, new ItemStack(tItem, 1, 11)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Blueschist, new ItemStack(tItem, 1, 12)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Greenschist, new ItemStack(tItem, 1, 13)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Soapstone, new ItemStack(tItem, 1, 14)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Migmatite, new ItemStack(tItem, 1, 15)); + } + if (tName.equals("tile.blockCosmeticSolid")) { + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Obsidian, new ItemStack(tItem, 1, 0)); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Obsidian, new ItemStack(tItem, 1, 1)); + GT_OreDictUnificator.registerOre(OrePrefixes.block, Materials.Thaumium, new ItemStack(tItem, 1, 4)); + } + if (tName.equals("tile.enderchest")) { + GT_OreDictUnificator.registerOre(OreDictNames.enderChest, new ItemStack(tItem, 1, 32767)); + } + if (tName.equals("tile.autoWorkbenchBlock")) { + GT_OreDictUnificator.registerOre(OreDictNames.craftingWorkBench, new ItemStack(tItem, 1, 0)); + } + if (tName.equals("tile.pumpBlock")) { + GT_OreDictUnificator.registerOre(OreDictNames.craftingPump, new ItemStack(tItem, 1, 0)); + if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.disabledrecipes, "BCPump", false)) { + GT_ModHandler.removeRecipeByOutput(new ItemStack(tItem, 1, 0)); + } + } + if (tName.equals("tile.tankBlock")) { + GT_OreDictUnificator.registerOre(OreDictNames.craftingTank, new ItemStack(tItem, 1, 0)); + } + if (tName.equals("item.drawplateDiamond")) { + GT_OreDictUnificator.registerOre(ToolDictNames.craftingToolDrawplate, new ItemStack(tItem, 1, 32767)); + } + } + } + } + } +} diff --git a/src/main/java/gregtech/loaders/load/GT_SonictronLoader.java b/src/main/java/gregtech/loaders/load/GT_SonictronLoader.java new file mode 100644 index 0000000000..cd3f7c0bad --- /dev/null +++ b/src/main/java/gregtech/loaders/load/GT_SonictronLoader.java @@ -0,0 +1,155 @@ +package gregtech.loaders.load; + +import gregtech.GT_Mod; +import gregtech.api.util.GT_Log; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +public class GT_SonictronLoader + implements Runnable { + public void run() { + GT_Log.out.println("GT_Mod: Loading Sonictron Sounds"); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.iron_block, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("note.harp"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(25)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.gold_block, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("note.pling"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(25)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.stone, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("note.bd"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(25)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.log, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("note.bassattack"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(25)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.planks, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("note.bass"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(25)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.glass, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("note.hat"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(25)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.sand, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("note.snare"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(25)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.record_cat, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("streaming."); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(12)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.tnt, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.explode"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(3)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.fire, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("fire.fire"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.flint_and_steel, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("fire.ignite"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.lava, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("liquid.lavapop"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.water, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("liquid.water"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.water_bucket, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("liquid.splash"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.lava_bucket, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.fizz"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.portal, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("portal.portal"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.end_portal, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("portal.travel"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.end_portal_frame, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("portal.trigger"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.glass_pane, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.glass"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.ender_pearl, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.orb"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.ender_eye, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.levelup"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.stone_button, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.click"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.cobblestone, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("damage.fallbig"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.dirt, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("damage.fallsmall"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.iron_sword, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("damage.hurtflesh"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.diamond_sword, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.hurt"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.bow, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.bow"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.arrow, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.drr"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.fishing_rod, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.bowhit"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.iron_shovel, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.break"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.bucket, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.breath"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.potionitem, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.drink"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.glass_bottle, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.burp"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.ender_chest == null ? Blocks.obsidian : Blocks.ender_chest, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.chestopen"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.chest, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.chestclosed"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.iron_door, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.door_open"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.wooden_door, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.door_close"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Items.porkchop, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("random.eat"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.wool, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("step.cloth"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.grass, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("step.grass"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.gravel, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("step.gravel"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.snow, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("step.snow"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.piston, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("tile.piston.out"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.sticky_piston, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("tile.piston.in"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.mossy_cobblestone, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("ambient.cave.cave"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.lapis_block, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("ambient.weather.rain"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + GT_Mod.gregtechproxy.mSoundItems.add(new ItemStack(Blocks.diamond_block, 1)); + GT_Mod.gregtechproxy.mSoundNames.add("ambient.weather.thunder"); + GT_Mod.gregtechproxy.mSoundCounts.add(Integer.valueOf(1)); + } +} diff --git a/src/main/java/gregtech/loaders/misc/GT_Achievements.java b/src/main/java/gregtech/loaders/misc/GT_Achievements.java new file mode 100644 index 0000000000..87e18a98f1 --- /dev/null +++ b/src/main/java/gregtech/loaders/misc/GT_Achievements.java @@ -0,0 +1,520 @@ +package gregtech.loaders.misc; + +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.Loader; +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.GT_Mod; +import gregtech.api.GregTech_API; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.objects.ItemData; +import gregtech.api.util.GT_Log; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.common.items.GT_MetaGenerated_Tool_01; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.stats.Achievement; +import net.minecraft.stats.AchievementList; +import net.minecraft.stats.StatBase; +import net.minecraftforge.common.AchievementPage; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.player.EntityItemPickupEvent; +import net.minecraftforge.fluids.FluidStack; +import thaumcraft.api.ThaumcraftApiHelper; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +public class GT_Achievements { + + public static List oreList = new ArrayList(); + public static List oreStats = new ArrayList(); + public static int oreReg = -1; + public HashMap achievementList; + public HashMap issuedAchievements; + public int adjX = 5; + public int adjY = 9; + + public GT_Achievements() { + this.achievementList = new HashMap(); + this.issuedAchievements = new HashMap(); + for (int i = 0; i < oreList.size(); i++) { + if (GT_Values.D1 && this.achievementList.get(oreList.get(i).name()) == null) { + GT_Log.out.println("achievement." + oreList.get(i).name() + "=Find " + oreList.get(i).name() + " Ore"); + + StringBuilder dimensions = new StringBuilder(); + boolean isFirst = true; + if(oreStats.get(i)[3] == 1) { + dimensions.append("Overworld"); + isFirst = false; + } + if(oreStats.get(i)[4] == 1) { + if(!isFirst) dimensions.append("/"); + dimensions.append("Nether"); + isFirst = false; + } + if(oreStats.get(i)[5] == 1) { + if(!isFirst) dimensions.append("/"); + dimensions.append("End"); + isFirst = false; + } + GT_Log.out.println("achievement." + oreList.get(i).name() + ".desc=Height: " + (oreStats.get(i)[0]) + "-" + (oreStats.get(i)[1]) + ", Chance: " + (oreStats.get(i)[2]) + ", " + dimensions.toString()); + } + registerOreAchievement(oreList.get(i)); + } + registerAchievement("flintpick", 0, 0, GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(2, 1, Materials.Flint, Materials.Wood, null), "", false); + registerAchievement("crops", -4, 0, GT_ModHandler.getIC2Item("crop", 1L), "flintpick", false); + registerAchievement("havestlead", -4, 2, ItemList.Crop_Drop_Plumbilia.get(1, new Object[]{}), "crops", false); + registerAchievement("havestcopper", -2, 1, ItemList.Crop_Drop_Coppon.get(1, new Object[]{}), "crops", false); + registerAchievement("havesttin", -2, -1, ItemList.Crop_Drop_Tine.get(1, new Object[]{}), "crops", false); + registerAchievement("havestoil", -4, -4, ItemList.Crop_Drop_OilBerry.get(1, new Object[]{}), "crops", false); + registerAchievement("havestiron", -2, -3, ItemList.Crop_Drop_Ferru.get(1, new Object[]{}), "crops", false); + registerAchievement("havestgold", -2, -6, ItemList.Crop_Drop_Aurelia.get(1, new Object[]{}), "havestiron", false); + registerAchievement("havestsilver", -4, -5, ItemList.Crop_Drop_Argentia.get(1, new Object[]{}), "havestiron", false); + registerAchievement("havestemeralds", -2, -8, ItemList.Crop_Drop_BobsYerUncleRanks.get(1, new Object[]{}), "havestgold", false); + + registerAchievement("tools", 0, 4, GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(12, 1, Materials.Iron, Materials.Wood, null), "flintpick", false); + registerAchievement("driltime", 2, 4, GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(100, 1, Materials.BlueSteel, Materials.StainlessSteel, null), "tools", false); + registerAchievement("brrrr", 2, 6, GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(110, 1, Materials.BlueSteel, Materials.StainlessSteel, null), "driltime", false); + registerAchievement("highpowerdrill", 3, 5, GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(104, 1, Materials.TungstenSteel, Materials.TungstenSteel, null), "driltime", false); + registerAchievement("hammertime", 3, 7, GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(130, 1, Materials.TungstenSteel, Materials.TungstenSteel, null), "highpowerdrill", false); + registerAchievement("repair", 4, 5, ItemList.Machine_HV_Disassembler.get(1, new Object[]{}), "highpowerdrill", false); + + registerAchievement("unitool", -2, 4, GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(32, 1, Materials.Steel, Materials.Iron, null), "tools", false); + registerAchievement("recycling", -4, 4, ItemList.Machine_LV_ArcFurnace.get(1, new Object[]{}), "unitool", false); + + registerAchievement("crushed", 0, 6, GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Tin, 1L), "tools", false); + registerAchievement("cleandust", 0, 10, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), "crushed", false); + registerAchievement("washing", -2, 6, GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Iron, 1L), "crushed", false); + registerAchievement("spinit", -4, 6, GT_OreDictUnificator.get(OrePrefixes.crushedCentrifuged, Materials.Redstone, 1L), "crushed", false); + registerAchievement("newfuel", -4, 8, ItemList.ThoriumCell_4.get(1, new Object[]{}), "spinit", false); + registerAchievement("newmetal", -4, 10, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lutetium, 1L), "newfuel", false); + registerAchievement("reflect", -2, 9, ItemList.Neutron_Reflector.get(1, new Object[]{}), "newfuel", false); + + registerAchievement("bronze", 2, 0, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bronze, 1L), "flintpick", false); + registerAchievement("simplyeco", 2, 2, ItemList.Machine_Bronze_Boiler_Solar.get(1, new Object[]{}), "bronze", false); + registerAchievement("firststeam", 2, -2, ItemList.Machine_Bronze_Boiler.get(1, new Object[]{}), "bronze", false); + registerAchievement("alloysmelter", 2, -4, ItemList.Machine_Bronze_AlloySmelter.get(1, new Object[]{}), "firststeam", false); + registerAchievement("macerator", 0, -2, ItemList.Machine_Bronze_Macerator.get(1, new Object[]{}), "firststeam", false); + registerAchievement("extract", 0, -4, ItemList.Machine_Bronze_Extractor.get(1, new Object[]{}), "alloysmelter", false); + + registerAchievement("smallparts", 0, -8, ItemList.Circuit_Primitive.get(1, new Object[]{}), "extract", false); + registerAchievement("bettercircuits", 0, -10, ItemList.Circuit_Good.get(1, new Object[]{}), "smallparts", false); + registerAchievement("stepforward", -2, -10, ItemList.Circuit_Advanced.get(1, new Object[]{}), "bettercircuits", false); + registerAchievement("energyflow", -4, -10, ItemList.Circuit_Master.get(1, new Object[]{}), "stepforward", false); + registerAchievement("orbs", -6, -10, ItemList.Energy_LapotronicOrb.get(1, new Object[]{}), "energyflow", false); + registerAchievement("thatspower", -8, -10, ItemList.Energy_LapotronicOrb2.get(1, new Object[]{}), "orbs", false); + registerAchievement("datasaving", -2, -12, ItemList.Tool_DataOrb.get(1, new Object[]{}), "stepforward", false); + registerAchievement("superbuffer", 0, -12, ItemList.Automation_SuperBuffer_LV.get(1, new Object[]{}), "datasaving", false); + registerAchievement("newstorage", -2, -14, ItemList.Quantum_Chest_HV.get(1, new Object[]{}), "superbuffer", false); + registerAchievement("whereistheocean", 2, -14, ItemList.Quantum_Tank_IV.get(1, new Object[]{}), "superbuffer", false); + registerAchievement("luck", 2, -6, ItemList.ZPM.get(1, new Object[]{}), "", false); + + registerAchievement("steel", 4, 0, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), "bronze", false); + registerAchievement("highpressure", 4, 2, ItemList.Machine_Steel_Boiler.get(1, new Object[]{}), "steel", false); + registerAchievement("extremepressure", 4, 4, ItemList.Machine_Multi_LargeBoiler_Steel.get(1, new Object[]{}), "highpressure", false); + registerAchievement("cheapermac", 6, 1, ItemList.Machine_LV_Hammer.get(1, new Object[]{}), "steel", false); + registerAchievement("complexalloys", 6, 3, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.BlueSteel, 1L), "cheapermac", false); + + registerAchievement("magneticiron", 4, -2, GT_OreDictUnificator.get(OrePrefixes.stick, Materials.IronMagnetic, 1L), "steel", false); + registerAchievement("lvmotor", 4, -6, ItemList.Electric_Motor_LV.get(1, new Object[]{}), "magneticiron", false); + registerAchievement("pumpcover", 2, -8, ItemList.Electric_Pump_LV.get(1, new Object[]{}), "lvmotor", false); + registerAchievement("closeit", 2, -10, ItemList.Cover_Shutter.get(1, new Object[]{}), "pumpcover", false); + registerAchievement("slurp", 2, -12, ItemList.Pump_HV.get(1, new Object[]{}), "closeit", false); + registerAchievement("transport", 4, -10, ItemList.Conveyor_Module_LV.get(1, new Object[]{}), "lvmotor", false); + registerAchievement("manipulation", 4, -12, ItemList.Cover_Controller.get(1, new Object[]{}), "transport", false); + registerAchievement("buffer", 4, -14, ItemList.Automation_ChestBuffer_LV.get(1, new Object[]{}), "manipulation", false); + registerAchievement("complexmachines", 6, -9, ItemList.Robot_Arm_LV.get(1, new Object[]{}), "lvmotor", false); + registerAchievement("avengers", 8, -11, ItemList.Machine_LV_Assembler.get(1, new Object[]{}), "complexmachines", false); + registerAchievement("filterregula