From 766aa180aeef777962b43f8ed68cc540ae6791c6 Mon Sep 17 00:00:00 2001 From: Tombenpotter Date: Sat, 27 Sep 2014 22:54:43 +0200 Subject: [PATCH] 991 files modified. GG ME. Still not done though This is the first commit of the rewrite. A lot has been done, but it's not over. --- Changelog.txt | 13 + build.gradle | 4 +- capes/Thumbs.db | Bin 18432 -> 18432 bytes gradle/wrapper/gradle-wrapper.jar | Bin 50514 -> 51017 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- src/api/java/ic2/api/Direction.class | Bin 3515 -> 0 bytes src/api/java/ic2/api/crops/CropCard.class | Bin 5118 -> 0 bytes src/api/java/ic2/api/crops/Crops.class | Bin 1239 -> 0 bytes src/api/java/ic2/api/energy/IEnergyNet.class | Bin 500 -> 0 bytes .../ic2/api/energy/prefab/BasicSink.class | Bin 5683 -> 0 bytes .../ic2/api/energy/prefab/BasicSource.class | Bin 5518 -> 0 bytes .../api/energy/tile/IEnergyConductor.class | Bin 434 -> 0 bytes .../ic2/api/energy/tile/IEnergySource.class | Bin 230 -> 0 bytes src/api/java/ic2/api/item/ElectricItem.class | Bin 1682 -> 0 bytes src/api/java/ic2/api/item/ElectricItem.java | 108 ------ .../ic2/api/item/ICustomElectricItem.class | Bin 448 -> 0 bytes .../ic2/api/item/ICustomElectricItem.java | 67 ---- .../ic2/api/item/IElectricItemManager.class | Bin 586 -> 0 bytes src/api/java/ic2/api/reactor/IC2Reactor.class | Bin 1469 -> 0 bytes src/api/java/ic2/api/reactor/IC2Reactor.java | 34 -- src/api/java/ic2/api/reactor/IReactor.class | Bin 694 -> 0 bytes .../ic2/api/reactor/IReactorChamber.class | Bin 179 -> 0 bytes .../java/ic2/api/recipe/RecipeOutput.class | Bin 1017 -> 0 bytes src/api/java/ic2/api/recipe/Recipes.class | Bin 979 -> 0 bytes src/main/java/baubles/api/BaublesApi.java | 31 +- src/main/java/baubles/api/package-info.java | 2 +- .../client/CapeEventHandler.java | 147 -------- .../common/TileEntityRegistry.java | 49 --- .../common/blocks/BlockEMTSolars.java | 176 ---------- .../common/blocks/BlockEMTSolars2.java | 99 ------ .../armor/boots/ItemNanoBootsTraveller.java | 103 ------ .../boots/ItemQuantumBootsTraveller.java | 103 ------ .../armor/goggles/ItemElectricGoggles.java | 73 ---- .../goggles/ItemQuantumThaumicHelmet.java | 246 -------------- .../items/tools/ItemDiamondChainsaw.java | 107 ------ .../items/tools/ItemOmnitoolDiamond.java | 117 ------- .../items/tools/ItemOmnitoolThaumium.java | 117 ------- .../items/tools/ItemStreamChainsaw.java | 200 ----------- .../common/lib/TextHelper.java | 40 --- .../common/recipes/EMTPostInitRecipes.java | 312 ----------------- .../common/tile/TileEntityArborGenerator.java | 62 ---- .../common/tile/TileEntityAuramGenerator.java | 72 ---- .../common/tile/TileEntityIgnisGenerator.java | 72 ---- .../tile/TileEntityPotentiaGenerator.java | 74 ---- .../common/tile/slot/SlotWandOnly.java | 41 --- .../tile/solars/TileEntityAirSolar.java | 120 ------- .../solars/TileEntityCompressedSolar.java | 118 ------- .../tile/solars/TileEntityDarkSolar.java | 117 ------- .../tile/solars/TileEntityDoubleAirSolar.java | 120 ------- .../TileEntityDoubleCompressedSolar.java | 118 ------- .../solars/TileEntityDoubleDarkSolar.java | 117 ------- .../solars/TileEntityDoubleEarthSolar.java | 120 ------- .../solars/TileEntityDoubleFireSolar.java | 119 ------- .../solars/TileEntityDoubleOrderSolar.java | 117 ------- .../solars/TileEntityDoubleWaterSolar.java | 118 ------- .../tile/solars/TileEntityEarthSolar.java | 120 ------- .../tile/solars/TileEntityFireSolar.java | 119 ------- .../tile/solars/TileEntityTripleAirSolar.java | 120 ------- .../TileEntityTripleCompressedSolar.java | 118 ------- .../solars/TileEntityTripleDarkSolar.java | 117 ------- .../solars/TileEntityTripleEarthSolar.java | 120 ------- .../solars/TileEntityTripleFireSolar.java | 119 ------- .../solars/TileEntityTripleOrderSolar.java | 117 ------- .../solars/TileEntityTripleWaterSolar.java | 118 ------- .../tile/solars/TileEntityWaterSolar.java | 118 ------- src/main/java/ic2/api/Direction.class | Bin 0 -> 3644 bytes src/{api => main}/java/ic2/api/Direction.java | 41 +-- .../java/ic2/api/crops/BaseSeed.class | Bin .../java/ic2/api/crops/BaseSeed.java | 0 src/main/java/ic2/api/crops/CropCard.class | Bin 0 -> 5235 bytes .../java/ic2/api/crops/CropCard.java | 80 ++--- src/main/java/ic2/api/crops/Crops.class | Bin 0 -> 1223 bytes .../java/ic2/api/crops/Crops.java | 31 +- .../java/ic2/api/crops/ICropTile.class | Bin 1037 -> 1102 bytes .../java/ic2/api/crops/ICropTile.java | 75 +++-- .../java/ic2/api/crops/package-info.class | Bin .../java/ic2/api/crops/package-info.java | 0 .../java/ic2/api/energy/EnergyNet.class | Bin .../java/ic2/api/energy/EnergyNet.java | 2 +- src/main/java/ic2/api/energy/IEnergyNet.class | Bin 0 -> 727 bytes .../java/ic2/api/energy/IEnergyNet.java | 30 +- src/main/java/ic2/api/energy/NodeStats.class | Bin 0 -> 675 bytes src/main/java/ic2/api/energy/NodeStats.java | 25 ++ .../api/energy/event/EnergyTileEvent.class | Bin .../ic2/api/energy/event/EnergyTileEvent.java | 2 +- .../energy/event/EnergyTileLoadEvent.class | Bin .../api/energy/event/EnergyTileLoadEvent.java | 2 +- .../energy/event/EnergyTileUnloadEvent.class | Bin .../energy/event/EnergyTileUnloadEvent.java | 2 +- .../ic2/api/energy/event/package-info.class | Bin .../ic2/api/energy/event/package-info.java | 0 .../java/ic2/api/energy/package-info.class | Bin .../java/ic2/api/energy/package-info.java | 0 .../ic2/api/energy/prefab/BasicSink.class | Bin 0 -> 5524 bytes .../java/ic2/api/energy/prefab/BasicSink.java | 16 +- .../ic2/api/energy/prefab/BasicSource.class | Bin 0 -> 5601 bytes .../ic2/api/energy/prefab/BasicSource.java | 34 +- .../ic2/api/energy/prefab/package-info.class | Bin .../ic2/api/energy/prefab/package-info.java | 0 .../ic2/api/energy/tile/IEnergyAcceptor.class | Bin .../ic2/api/energy/tile/IEnergyAcceptor.java | 2 +- .../api/energy/tile/IEnergyConductor.class | Bin 0 -> 428 bytes .../ic2/api/energy/tile/IEnergyConductor.java | 8 +- .../ic2/api/energy/tile/IEnergyEmitter.class | Bin .../ic2/api/energy/tile/IEnergyEmitter.java | 2 +- .../ic2/api/energy/tile/IEnergySink.class | Bin 316 -> 306 bytes .../java/ic2/api/energy/tile/IEnergySink.java | 33 +- .../ic2/api/energy/tile/IEnergySource.class | Bin 0 -> 260 bytes .../ic2/api/energy/tile/IEnergySource.java | 12 +- .../ic2/api/energy/tile/IEnergyTile.class | Bin .../java/ic2/api/energy/tile/IEnergyTile.java | 2 +- .../ic2/api/energy/tile/IHeatSource.class | Bin .../java/ic2/api/energy/tile/IHeatSource.java | 3 +- .../ic2/api/energy/tile/IKineticSource.class | Bin 0 -> 305 bytes .../ic2/api/energy/tile/IKineticSource.java | 22 ++ .../ic2/api/energy/tile/IMetaDelegate.class | Bin .../ic2/api/energy/tile/IMetaDelegate.java | 6 +- .../ic2/api/energy/tile/package-info.class | Bin .../ic2/api/energy/tile/package-info.java | 0 .../java/ic2/api/energy/usage.txt | 2 +- .../event/LaserEvent$LaserExplodesEvent.class | Bin .../LaserEvent$LaserHitsBlockEvent.class | Bin .../LaserEvent$LaserHitsEntityEvent.class | Bin .../event/LaserEvent$LaserShootEvent.class | Bin .../java/ic2/api/event/LaserEvent.class | Bin .../java/ic2/api/event/LaserEvent.java | 0 .../java/ic2/api/event/PaintEvent.class | Bin .../java/ic2/api/event/PaintEvent.java | 0 .../java/ic2/api/event/RetextureEvent.class | Bin .../java/ic2/api/event/RetextureEvent.java | 0 .../java/ic2/api/event/package-info.class | Bin .../java/ic2/api/event/package-info.java | 0 .../ic2/api/info/IEnergyValueProvider.class | Bin 195 -> 195 bytes .../ic2/api/info/IEnergyValueProvider.java | 5 +- .../ic2/api/info/IFuelValueProvider.class | Bin .../java/ic2/api/info/IFuelValueProvider.java | 0 .../java/ic2/api/info/Info.class | Bin src/{api => main}/java/ic2/api/info/Info.java | 0 .../java/ic2/api/info/package-info.class | Bin .../java/ic2/api/info/package-info.java | 0 src/main/java/ic2/api/item/ElectricItem.class | Bin 0 -> 1407 bytes src/main/java/ic2/api/item/ElectricItem.java | 59 ++++ .../api/item/IBackupElectricItemManager.class | Bin 0 -> 241 bytes .../api/item/IBackupElectricItemManager.java | 12 + .../ic2/api/item/IBlockCuttingBlade.class | Bin 0 -> 158 bytes .../java/ic2/api/item/IBlockCuttingBlade.java | 6 + .../java/ic2/api/item/IBoxable.class | Bin .../java/ic2/api/item/IBoxable.java | 0 .../java/ic2/api/item/IC2Items.class | Bin 1797 -> 1797 bytes .../java/ic2/api/item/IC2Items.java | 27 +- .../java/ic2/api/item/IDebuggable.class | Bin .../java/ic2/api/item/IDebuggable.java | 1 - .../java/ic2/api/item/IElectricItem.class | Bin 395 -> 431 bytes .../java/ic2/api/item/IElectricItem.java | 4 +- .../ic2/api/item/IElectricItemManager.class | Bin 0 -> 627 bytes .../ic2/api/item/IElectricItemManager.java | 23 +- .../java/ic2/api/item/IItemHudInfo.class | Bin .../java/ic2/api/item/IItemHudInfo.java | 2 - .../java/ic2/api/item/IKineticWindRotor.class | Bin 0 -> 318 bytes .../java/ic2/api/item/IKineticWindRotor.java | 15 + .../java/ic2/api/item/IMetalArmor.class | Bin .../java/ic2/api/item/IMetalArmor.java | 0 .../ic2/api/item/ISpecialElectricItem.class | Bin .../ic2/api/item/ISpecialElectricItem.java | 0 .../java/ic2/api/item/ITerraformingBP.class | Bin .../java/ic2/api/item/ITerraformingBP.java | 3 +- .../java/ic2/api/item/ItemWrapper.class | Bin 2443 -> 2451 bytes .../java/ic2/api/item/ItemWrapper.java | 0 .../java/ic2/api/item/package-info.class | Bin .../java/ic2/api/item/package-info.java | 0 ...NetworkClientTileEntityEventListener.class | Bin ...INetworkClientTileEntityEventListener.java | 0 .../api/network/INetworkDataProvider.class | Bin .../ic2/api/network/INetworkDataProvider.java | 0 .../network/INetworkItemEventListener.class | Bin .../network/INetworkItemEventListener.java | 0 .../INetworkTileEntityEventListener.class | Bin .../INetworkTileEntityEventListener.java | 0 .../api/network/INetworkUpdateListener.class | Bin .../api/network/INetworkUpdateListener.java | 0 .../java/ic2/api/network/NetworkHelper.class | Bin .../java/ic2/api/network/NetworkHelper.java | 2 +- .../java/ic2/api/network/package-info.class | Bin .../java/ic2/api/network/package-info.java | 0 .../java/ic2/api/package-info.class | Bin .../java/ic2/api/package-info.java | 0 src/main/java/ic2/api/reactor/IReactor.class | Bin 0 -> 794 bytes .../java/ic2/api/reactor/IReactor.java | 20 ++ .../ic2/api/reactor/IReactorChamber.class | Bin 0 -> 214 bytes .../java/ic2/api/reactor/IReactorChamber.java | 7 + .../ic2/api/reactor/IReactorComponent.class | Bin .../ic2/api/reactor/IReactorComponent.java | 9 +- .../java/ic2/api/reactor/package-info.class | Bin .../java/ic2/api/reactor/package-info.java | 0 .../ICannerBottleRecipeManager$Input.class | Bin .../recipe/ICannerBottleRecipeManager.class | Bin .../recipe/ICannerBottleRecipeManager.java | 0 .../ICannerEnrichRecipeManager$Input.class | Bin .../recipe/ICannerEnrichRecipeManager.class | Bin .../recipe/ICannerEnrichRecipeManager.java | 0 .../api/recipe/ICraftingRecipeManager.class | Bin .../api/recipe/ICraftingRecipeManager.java | 0 .../IFluidHeatManager$BurnProperty.class | Bin 0 -> 540 bytes .../ic2/api/recipe/IFluidHeatManager.class | Bin 0 -> 581 bytes .../ic2/api/recipe/IFluidHeatManager.java | 32 ++ .../ic2/api/recipe/ILiquidAcceptManager.class | Bin .../ic2/api/recipe/ILiquidAcceptManager.java | 0 .../ic2/api/recipe/IListRecipeManager.class | Bin .../ic2/api/recipe/IListRecipeManager.java | 0 .../api/recipe/IMachineRecipeManager.class | Bin .../ic2/api/recipe/IMachineRecipeManager.java | 0 .../java/ic2/api/recipe/IPatternStorage.class | Bin .../java/ic2/api/recipe/IPatternStorage.java | 0 .../java/ic2/api/recipe/IRecipeInput.class | Bin .../java/ic2/api/recipe/IRecipeInput.java | 0 .../ic2/api/recipe/IScrapboxManager.class | Bin .../java/ic2/api/recipe/IScrapboxManager.java | 0 .../ISemiFluidFuelManager$BurnProperty.class | Bin .../api/recipe/ISemiFluidFuelManager.class | Bin .../ic2/api/recipe/ISemiFluidFuelManager.java | 0 .../recipe/RecipeInputFluidContainer.class | Bin .../api/recipe/RecipeInputFluidContainer.java | 0 .../ic2/api/recipe/RecipeInputItemStack.class | Bin .../ic2/api/recipe/RecipeInputItemStack.java | 0 .../ic2/api/recipe/RecipeInputOreDict.class | Bin 2799 -> 2803 bytes .../ic2/api/recipe/RecipeInputOreDict.java | 0 .../java/ic2/api/recipe/RecipeOutput.class | Bin 0 -> 1740 bytes .../java/ic2/api/recipe/RecipeOutput.java | 7 + src/main/java/ic2/api/recipe/Recipes.class | Bin 0 -> 1090 bytes .../java/ic2/api/recipe/Recipes.java | 5 +- .../java/ic2/api/recipe/package-info.class | Bin .../java/ic2/api/recipe/package-info.java | 0 .../ic2/api/tile/ExplosionWhitelist.class | Bin .../java/ic2/api/tile/ExplosionWhitelist.java | 0 .../java/ic2/api/tile/IEnergyStorage.class | Bin .../java/ic2/api/tile/IEnergyStorage.java | 0 .../java/ic2/api/tile/IWrenchable.class | Bin .../java/ic2/api/tile/IWrenchable.java | 0 .../java/ic2/api/tile/package-info.class | Bin .../java/ic2/api/tile/package-info.java | 0 .../java/ic2/api/util/IKeyboard.class | Bin .../java/ic2/api/util/IKeyboard.java | 0 .../java/ic2/api/util/Keys.class | Bin src/{api => main}/java/ic2/api/util/Keys.java | 0 .../java/ic2/api/util/package-info.class | Bin .../java/ic2/api/util/package-info.java | 0 .../emt/ElectroMagicTools.java} | 54 +-- .../emt}/client/gui/GuiEtherealMacerator.java | 10 +- .../gui/GuiIndustrialWandRecharger.java | 10 +- .../emt/client/gui/config}/EMTGuiConfig.java | 24 +- .../emt/client/gui/config}/EMTGuiFactory.java | 3 +- .../container/ContainerEtheralMacerator.java | 4 +- .../ContainerIndustrialWandRecharge.java | 4 +- .../emt}/client/model/ModelWings.java | 2 +- .../emt}/client/renderer/RenderArcher.java | 2 +- .../emt}/client/renderer/RenderLaser.java | 8 +- .../emt/common/commands/CommandOutputs.java | 86 +++++ .../module/base}/EMTEntityRegistry.java | 11 +- .../module/base}/entities/EntityArcher.java | 3 +- .../module/base}/entities/EntityLaser.java | 18 +- .../module/base}/items/ItemEMTBaubles.java | 22 +- .../module/base}/items/ItemEMTItems.java | 42 +-- .../module/base/items}/ItemFeatherWing.java | 19 +- .../base/items}/ItemTaintedThorHammer.java | 10 +- .../items}/ItemThaumiumReinforcedWing.java | 32 +- .../module/base/items}/ItemThorHammer.java | 10 +- .../base}/items/foci/ItemBaseFocus.java | 4 +- .../base}/items/foci/ItemChristmasFocus.java | 26 +- .../base}/items/foci/ItemExplosionFocus.java | 8 +- .../base}/items/foci/ItemShieldFocus.java | 28 +- .../base}/tile/TileEntityPortableNode.java | 2 +- .../module/ic2/IC2ModuleBlockRegistry.java} | 16 +- .../module/ic2/IC2ModuleItemRegistry.java} | 81 +++-- .../common/module/ic2/IC2ModuleResearch.java} | 136 ++++---- .../module/ic2/IC2ModuleTERegistry.java | 76 +++++ .../common/module/ic2}/blocks/BlockEMT.java | 4 +- .../module/ic2}/blocks/BlockEMTMachines.java | 36 +- .../module/ic2/blocks/BlockEMTSolars.java | 191 +++++++++++ .../module/ic2/blocks/BlockEMTSolars2.java | 103 ++++++ .../ic2/blocks/BlockEssentiaGenerator.java | 68 ++++ .../ic2}/blocks/BlockEssentiaGenerators.java | 45 ++- .../module/ic2}/blocks/BlockPortableNode.java | 14 +- .../module/ic2}/blocks/BlockShield.java | 17 +- .../ic2}/items/ItemElectricScribingTools.java | 8 +- .../boots/ItemElectricBootsTraveller.java | 209 +++++------- .../armor/boots/ItemNanoBootsTraveller.java | 53 +++ .../boots/ItemQuantumBootsTraveller.java | 61 ++++ .../armor/goggles/ItemElectricGoggles.java} | 196 +++++------ .../items/armor/goggles/ItemNanoGoggles.java} | 53 +-- .../armor/goggles/ItemQuantumGoggles.java | 105 ++++++ .../goggles/ItemSolarHelmetRevealing.java | 165 ++------- .../ic2}/items/armor/wings/ItemNanoWing.java | 143 ++++---- .../items/armor/wings/ItemQuantumWing.java | 69 ++++ .../items/blocks/ItemBlockEMTMachines.java | 2 +- .../ic2}/items/blocks/ItemBlockEMTSolars.java | 4 +- .../items/blocks/ItemBlockEMTSolars2.java | 4 +- .../blocks/ItemBlockEssentiaGenerator.java | 20 ++ .../blocks/ItemBlockEssentiaGenerators.java | 14 +- .../ic2}/items/foci/ItemChargeFocus.java | 13 +- .../items/foci/ItemWandChargingFocus.java | 9 +- .../items/tools/ItemElectricHoeGrowth.java | 29 +- .../items/tools}/ItemElectricThorHammer.java | 96 +++--- .../tools/chainsaws/ItemDiamondChainsaw.java} | 137 ++++---- .../tools/chainsaws/ItemStreamChainsaw.java | 107 ++++++ .../tools/chainsaws/ItemThaumiumChainsaw.java | 64 ++++ .../tools/drills}/ItemRockbreakerDrill.java | 114 +------ .../tools/drills}/ItemThaumiumDrill.java | 102 +++--- .../tools/omnitools/ItemOmnitoolDiamond.java | 73 ++++ .../tools/omnitools}/ItemOmnitoolIron.java | 98 +++--- .../tools/omnitools/ItemOmnitoolThaumium.java | 74 ++++ .../module/ic2}/recipes/EMTInitRecipes.java | 32 +- .../ic2/recipes/EMTPostInitRecipes.java | 315 ++++++++++++++++++ .../ic2}/recipes/UuMInfusionRecipes.java | 4 +- .../module/ic2}/tile/TileEntityEMT.java | 2 +- .../tile/TileEntityEtherealMacerator.java | 9 +- .../TileEntityIndustrialWandRecharge.java | 11 +- .../generators/TileEntityAerGenerator.java | 10 + .../generators/TileEntityArborGenerator.java | 21 ++ .../generators/TileEntityAuramGenerator.java | 20 ++ .../generators/TileEntityBaseGenerator.java | 65 ++++ .../TileEntityEssentiaGenerator.java | 73 ++++ .../generators/TileEntityIgnisGenerator.java | 21 ++ .../TileEntityPotentiaGenerator.java | 21 ++ .../ic2/tile/solars/TileEntitySolarBase.java} | 53 ++- .../tile/solars/air/TileEntityAirSolar.java | 39 +++ .../solars/air/TileEntityDoubleAirSolar.java | 29 ++ .../solars/air/TileEntityTripleAirSolar.java | 29 ++ .../compressed/TileEntityCompressedSolar.java | 30 ++ .../TileEntityDoubleCompressedSolar.java | 30 ++ .../TileEntityTripleCompressedSolar.java | 30 ++ .../tile/solars/dark/TileEntityDarkSolar.java | 37 ++ .../dark/TileEntityDoubleDarkSolar.java | 29 ++ .../dark/TileEntityTripleDarkSolar.java | 29 ++ .../earth/TileEntityDoubleEarthSolar.java | 29 ++ .../solars/earth/TileEntityEarthSolar.java | 39 +++ .../earth/TileEntityTripleEarthSolar.java | 29 ++ .../fire/TileEntityDoubleFireSolar.java | 29 ++ .../tile/solars/fire/TileEntityFireSolar.java | 47 +++ .../fire/TileEntityTripleFireSolar.java | 29 ++ .../order/TileEntityDoubleOrderSolar.java | 29 ++ .../solars/order/TileEntityOrderSolar.java | 37 ++ .../order/TileEntityTripleOrderSolar.java | 29 ++ .../water/TileEntityDoubleWaterSolar.java | 29 ++ .../water/TileEntityTripleWaterSolar.java | 29 ++ .../solars/water/TileEntityWaterSolar.java | 37 ++ .../module/vanilla/VanillaBlocksRegistry.java | 8 + .../module/vanilla/VanillaItemsRegistry.java | 8 + .../vanilla/VanillaRecipesRegistry.java | 8 + .../module/vanilla/items/ItemCrafting.java | 16 + .../emt/common/util}/Config.java | 49 ++- .../emt/common/util}/CraftingAspects.java | 3 +- .../emt/common/util}/CreativeTab.java | 5 +- .../common/util}/DungeonChestGenerator.java | 8 +- .../emt/common/util}/EMTEventHandler.java | 11 +- .../emt/common/util}/EMTResearchItem.java | 2 +- .../emt/common/util/EssentiasOutputs.java | 39 +++ .../emt/common/util/RegistryHandler.java | 33 ++ .../emt/common/util}/ResearchAspects.java | 3 +- .../emt/common/util/TextHelper.java | 33 ++ .../emt/proxies}/ClientProxy.java | 11 +- .../emt/proxies}/CommonProxy.java | 24 +- src/main/resources/Thumbs.db | Bin 0 -> 3584 bytes .../blocks/essentiagenerator/Thumbs.db | Bin 4608 -> 0 bytes .../lang/en_US.lang | 19 +- .../lang/zh_CN.lang | 0 .../textures/blocks/Thumbs.db | Bin 11264 -> 11264 bytes .../blocks/essentiagenerator/Thumbs.db | Bin 0 -> 28160 bytes .../blocks/essentiagenerator/aerfront.png} | Bin .../blocks/essentiagenerator/arborfront.png | Bin .../essentiagenerator/arborfront_alt.png | Bin .../blocks/essentiagenerator/auramfront.png | Bin .../essentiagenerator/auramfront_alt.png | Bin .../blocks/essentiagenerator/front_alt.png | Bin .../blocks/essentiagenerator/ignisfront.png | Bin .../essentiagenerator/ignisfront_alt.png | Bin .../essentiagenerator/potentiafront.png | Bin .../essentiagenerator/potentiafront_alt.png | Bin .../blocks/essentiagenerator/saxumfront.png | Bin .../essentiagenerator/saxumfront_alt.png | Bin .../blocks/essentiagenerator/side.png | Bin .../blocks/essentiagenerator/top.png} | Bin .../blocks/essentiagenerator/top_aer.png} | Bin .../blocks/essentiagenerator/top_arbor.png | Bin .../blocks/essentiagenerator/top_auram.png | Bin .../blocks/essentiagenerator/top_ignis.png | Bin .../blocks/essentiagenerator/top_potentia.png | Bin .../textures/blocks/machines/Thumbs.db | Bin 33280 -> 33280 bytes .../textures/blocks/machines/bottom.png | Bin .../blocks/machines/etherealmacerator.png | Bin .../machines/etherealmaceratorfront.png | Bin .../machines/etherealmaceratorfront_alt.png | Bin .../machines/etherealmaceratorfront_alt2.png | Bin .../machines/etherealmaceratorfront_alt3.png | Bin .../machines/etherealmaceratorfront_alt4.png | Bin .../machines/etherealmaceratorfrontactive.png | Bin .../etherealmaceratorfrontactive_alt.png | Bin .../etherealmaceratorfrontactive_alt2.png | Bin .../etherealmaceratorfrontactive_alt3.png | Bin .../etherealmaceratorfrontactive_alt4.png | Bin .../blocks/machines/etherealmaceratortop.png | Bin .../machines/etherealmaceratortop_alt.png | Bin .../machines/etherealmaceratortopactive.png | Bin .../etherealmaceratortopactive_alt.png | Bin .../textures/blocks/machines/side.png | Bin .../textures/blocks/machines/top.png | Bin .../textures/blocks/machines/top_alt.png | Bin .../textures/blocks/machines/top_alt2.png | Bin .../textures/blocks/machines/wandcharger.png | Bin .../textures/blocks/portablenode.png | Bin .../textures/blocks/raindispeller.png | Bin .../textures/blocks/shield.png | Bin .../textures/blocks/solars/Thumbs.db | Bin 4608 -> 4608 bytes .../textures/blocks/solars/air/Thumbs.db | Bin .../textures/blocks/solars/air/airbottom.png | Bin .../textures/blocks/solars/air/airside.png | Bin .../blocks/solars/air/doublesolartop.png | Bin .../textures/blocks/solars/air/solartop.png | Bin .../blocks/solars/air/triplesolartop.png | Bin .../textures/blocks/solars/bottom.png | Bin .../textures/blocks/solars/dark/Thumbs.db | Bin .../blocks/solars/dark/darkbottom.png | Bin .../textures/blocks/solars/dark/darkside.png | Bin .../blocks/solars/dark/doublesolartop.png | Bin .../textures/blocks/solars/dark/solartop.png | Bin .../blocks/solars/dark/triplesolartop.png | Bin .../textures/blocks/solars/doublesolartop.png | Bin .../blocks/solars/earth/doublesolartop.png | Bin .../blocks/solars/earth/earthbottom.png | Bin .../blocks/solars/earth/earthside.png | Bin .../textures/blocks/solars/earth/solartop.png | Bin .../blocks/solars/earth/triplesolartop.png | Bin .../blocks/solars/fire/doublesolartop.png | Bin .../blocks/solars/fire/firebottom.png | Bin .../textures/blocks/solars/fire/fireside.png | Bin .../textures/blocks/solars/fire/solartop.png | Bin .../blocks/solars/fire/triplesolartop.png | Bin .../textures/blocks/solars/order/Thumbs.db | Bin .../blocks/solars/order/doublesolartop.png | Bin .../blocks/solars/order/orderbottom.png | Bin .../blocks/solars/order/orderside.png | Bin .../textures/blocks/solars/order/solartop.png | Bin .../blocks/solars/order/triplesolartop.png | Bin .../textures/blocks/solars/side.png | Bin .../textures/blocks/solars/solartop.png | Bin .../textures/blocks/solars/triplesolartop.png | Bin .../textures/blocks/solars/water/Thumbs.db | Bin .../blocks/solars/water/doublesolartop.png | Bin .../textures/blocks/solars/water/solartop.png | Bin .../blocks/solars/water/triplesolartop.png | Bin .../blocks/solars/water/waterbottom.png | Bin .../blocks/solars/water/waterside.png | Bin .../textures/guis/Thumbs.db | Bin 5632 -> 5632 bytes .../textures/guis/etherealmacerator.png | Bin .../textures/guis/wandcharger.png | Bin .../textures/items/OLDlightningsummoner.png | Bin .../textures/items/Thumbs.db | Bin 4096 -> 4096 bytes .../textures/items/armoreumaker.png | Bin .../textures/items/cardboard.png | Bin .../textures/items/chainsaw.png | Bin .../textures/items/chargefocus.png | Bin .../textures/items/chargefocus.png.mcmeta | 0 .../textures/items/christmasfocus.png | Bin .../textures/items/clusteruranium.png | Bin .../textures/items/crushedamber.png | Bin .../textures/items/crushedcinnabar.png | Bin .../textures/items/denseironsheet.png | Bin .../textures/items/diamondchainsaw.png | Bin .../textures/items/diamondchainsaw_16X.png | Bin .../textures/items/diamonddrill_16X.png | Bin .../textures/items/diamondomnitool.png | Bin .../textures/items/diamondomnitool_16X.png | Bin .../textures/items/diamondomnitool_alt.png | Bin .../textures/items/drill.png | Bin .../textures/items/ducttape.png | Bin .../textures/items/electricboots.png | Bin .../textures/items/electricboots_ALT.png | Bin .../textures/items/electricgoggles.png | Bin .../textures/items/electricgoggles_alt.png | Bin .../textures/items/electrichoe_16X.png | Bin .../textures/items/electrichoegrowth.png | Bin .../textures/items/electrichoegrowth_16X.png | Bin .../textures/items/electrichoegrowth_32x.png | Bin .../textures/items/electrichoegrowth_alt.png | Bin .../items/electrichoegrowth_alt32x.png | Bin .../textures/items/explosionfocus.png | Bin .../textures/items/feathercarboardwing.png | Bin .../textures/items/feathercardboardwing.png | Bin .../textures/items/feathermesh.png | Bin .../textures/items/featherwings.png | Bin .../textures/items/featherwings_flat.png | Bin .../textures/items/glue.png | Bin .../textures/items/glueball.png | Bin .../items/hammer/electricthorhammer.png | Bin .../hammer/electricthorhammer.png.mcmeta | 0 .../items/hammer/electricthorhammer_alt.png | Bin .../items/hammer/hammerStages/electric01.png | Bin .../items/hammer/hammerStages/electric02.png | Bin .../items/hammer/hammerStages/electric03.png | Bin .../items/hammer/hammerStages/electric04.png | Bin .../items/hammer/taintedthorhammer.png | Bin .../items/hammer/taintedthorhammer.png.mcmeta | 0 .../items/hammer/taintedthorhammer_long.png | Bin .../items/hammer/taintedthorhammer_short.png | Bin .../textures/items/hammer/thorhammer.png | Bin .../textures/items/inventoryeumaker.png | Bin .../textures/items/ironomnitool.png | Bin .../textures/items/ironomnitool_16X.png | Bin .../textures/items/lightningsummoner.png | Bin .../textures/items/lightningsummoner_alt.png | Bin .../textures/items/nanobootstravel.png | Bin .../textures/items/nanothaumichelmet.png | Bin .../textures/items/nanothaumichelmet_alt.png | Bin .../textures/items/nanowings.png | Bin .../textures/items/onering.png | Bin .../textures/items/purifiedamber.png | Bin .../textures/items/purifiedcinnabar.png | Bin .../textures/items/quantumbootstravel.png | Bin .../textures/items/quantumthaumichelmet.png | Bin .../items/quantumthaumichelmet_alt.png | Bin .../textures/items/quantumwings.png | Bin .../textures/items/rockbreakerdrill.png | Bin .../textures/items/rockbreakerdrill_16X.png | Bin .../textures/items/rubberball.png | Bin .../textures/items/shieldfocus.png | Bin .../textures/items/shieldfocus_alt.png | Bin .../textures/items/solarrevealinghelmet.png | Bin .../items/solarrevealinghelmet_alt.png | Bin .../items/solarrevealinghelmet_alt2.png | Bin .../items/solarrevealinghelmet_alt3.png | Bin .../textures/items/streamchainsaw.png | Bin .../textures/items/streamchainsaw.png.mcmeta | 0 .../textures/items/taintedfeather.png | Bin .../textures/items/thaumiumWing.png | Bin .../textures/items/thaumiumchainsaw.png | Bin .../textures/items/thaumiumchainsaw_16X.png | Bin .../textures/items/thaumiumchainsaw_alt.png | Bin .../textures/items/thaumiumdrill.png | Bin .../textures/items/thaumiumdrill_16X.png | Bin .../textures/items/thaumiumdrill_alt.png | Bin .../textures/items/thaumiumdrill_alt2.png | Bin .../textures/items/thaumiumomnitool.png | Bin .../textures/items/thaumiumomnitool_16X.png | Bin .../textures/items/thaumiumomnitool_alt.png | Bin .../textures/items/thaumiumomnitool_alt2.png | Bin .../textures/items/thaumiumplate.png | Bin .../textures/items/thaumiumwings.png | Bin .../textures/items/wandchargefocus.png | Bin .../textures/items/wings_random.png | Bin .../textures/items/wings_random2.png | Bin .../textures/misc/Thumbs.db | Bin 16896 -> 16896 bytes .../textures/misc/emt.png | Bin .../textures/misc/thaumiumplaterecipe.png | Bin .../textures/models/Thumbs.db | Bin 9728 -> 9728 bytes .../textures/models/electricboots.png | Bin .../textures/models/electricgoggles.png | Bin .../textures/models/featherwing.png | Bin .../textures/models/featherwing_noString.png | Bin .../textures/models/lasermodel.png | Bin .../textures/models/nanobootstravel.png | Bin .../textures/models/nanowing.png | Bin .../textures/models/quantumbootstravel.png | Bin .../textures/models/quantumwing.png | Bin .../textures/models/scaryhelmet.png | Bin .../textures/models/solarrevealinghelmet.png | Bin .../textures/models/thaumicnanohelmet.png | Bin .../textures/models/thaumicquantumhelmet.png | Bin .../textures/models/thaumiumwing.png | Bin src/main/resources/emt.png | Bin 0 -> 907 bytes src/main/resources/mcmod.info | 10 +- 569 files changed, 4065 insertions(+), 6321 deletions(-) delete mode 100644 src/api/java/ic2/api/Direction.class delete mode 100644 src/api/java/ic2/api/crops/CropCard.class delete mode 100644 src/api/java/ic2/api/crops/Crops.class delete mode 100644 src/api/java/ic2/api/energy/IEnergyNet.class delete mode 100644 src/api/java/ic2/api/energy/prefab/BasicSink.class delete mode 100644 src/api/java/ic2/api/energy/prefab/BasicSource.class delete mode 100644 src/api/java/ic2/api/energy/tile/IEnergyConductor.class delete mode 100644 src/api/java/ic2/api/energy/tile/IEnergySource.class delete mode 100644 src/api/java/ic2/api/item/ElectricItem.class delete mode 100644 src/api/java/ic2/api/item/ElectricItem.java delete mode 100644 src/api/java/ic2/api/item/ICustomElectricItem.class delete mode 100644 src/api/java/ic2/api/item/ICustomElectricItem.java delete mode 100644 src/api/java/ic2/api/item/IElectricItemManager.class delete mode 100644 src/api/java/ic2/api/reactor/IC2Reactor.class delete mode 100644 src/api/java/ic2/api/reactor/IC2Reactor.java delete mode 100644 src/api/java/ic2/api/reactor/IReactor.class delete mode 100644 src/api/java/ic2/api/reactor/IReactorChamber.class delete mode 100644 src/api/java/ic2/api/recipe/RecipeOutput.class delete mode 100644 src/api/java/ic2/api/recipe/Recipes.class delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/CapeEventHandler.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/TileEntityRegistry.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTSolars.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTSolars2.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemNanoBootsTraveller.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemQuantumBootsTraveller.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemElectricGoggles.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemQuantumThaumicHelmet.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemDiamondChainsaw.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolDiamond.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolThaumium.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemStreamChainsaw.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/TextHelper.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/EMTPostInitRecipes.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityArborGenerator.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityAuramGenerator.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityIgnisGenerator.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityPotentiaGenerator.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/slot/SlotWandOnly.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityAirSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityCompressedSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDarkSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleAirSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleCompressedSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleDarkSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleEarthSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleFireSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleOrderSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleWaterSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityEarthSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityFireSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleAirSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleCompressedSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleDarkSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleEarthSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleFireSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleOrderSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleWaterSolar.java delete mode 100644 src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityWaterSolar.java create mode 100644 src/main/java/ic2/api/Direction.class rename src/{api => main}/java/ic2/api/Direction.java (78%) rename src/{api => main}/java/ic2/api/crops/BaseSeed.class (100%) rename src/{api => main}/java/ic2/api/crops/BaseSeed.java (100%) create mode 100644 src/main/java/ic2/api/crops/CropCard.class rename src/{api => main}/java/ic2/api/crops/CropCard.java (86%) create mode 100644 src/main/java/ic2/api/crops/Crops.class rename src/{api => main}/java/ic2/api/crops/Crops.java (83%) rename src/{api => main}/java/ic2/api/crops/ICropTile.class (63%) rename src/{api => main}/java/ic2/api/crops/ICropTile.java (91%) rename src/{api => main}/java/ic2/api/crops/package-info.class (100%) rename src/{api => main}/java/ic2/api/crops/package-info.java (100%) rename src/{api => main}/java/ic2/api/energy/EnergyNet.class (100%) rename src/{api => main}/java/ic2/api/energy/EnergyNet.java (80%) create mode 100644 src/main/java/ic2/api/energy/IEnergyNet.class rename src/{api => main}/java/ic2/api/energy/IEnergyNet.java (71%) create mode 100644 src/main/java/ic2/api/energy/NodeStats.class create mode 100644 src/main/java/ic2/api/energy/NodeStats.java rename src/{api => main}/java/ic2/api/energy/event/EnergyTileEvent.class (100%) rename src/{api => main}/java/ic2/api/energy/event/EnergyTileEvent.java (82%) rename src/{api => main}/java/ic2/api/energy/event/EnergyTileLoadEvent.class (100%) rename src/{api => main}/java/ic2/api/energy/event/EnergyTileLoadEvent.java (89%) rename src/{api => main}/java/ic2/api/energy/event/EnergyTileUnloadEvent.class (100%) rename src/{api => main}/java/ic2/api/energy/event/EnergyTileUnloadEvent.java (89%) rename src/{api => main}/java/ic2/api/energy/event/package-info.class (100%) rename src/{api => main}/java/ic2/api/energy/event/package-info.java (100%) rename src/{api => main}/java/ic2/api/energy/package-info.class (100%) rename src/{api => main}/java/ic2/api/energy/package-info.java (100%) create mode 100644 src/main/java/ic2/api/energy/prefab/BasicSink.class rename src/{api => main}/java/ic2/api/energy/prefab/BasicSink.java (96%) create mode 100644 src/main/java/ic2/api/energy/prefab/BasicSource.class rename src/{api => main}/java/ic2/api/energy/prefab/BasicSource.java (93%) rename src/{api => main}/java/ic2/api/energy/prefab/package-info.class (100%) rename src/{api => main}/java/ic2/api/energy/prefab/package-info.java (100%) rename src/{api => main}/java/ic2/api/energy/tile/IEnergyAcceptor.class (100%) rename src/{api => main}/java/ic2/api/energy/tile/IEnergyAcceptor.java (88%) create mode 100644 src/main/java/ic2/api/energy/tile/IEnergyConductor.class rename src/{api => main}/java/ic2/api/energy/tile/IEnergyConductor.java (84%) rename src/{api => main}/java/ic2/api/energy/tile/IEnergyEmitter.class (100%) rename src/{api => main}/java/ic2/api/energy/tile/IEnergyEmitter.java (89%) rename src/{api => main}/java/ic2/api/energy/tile/IEnergySink.class (53%) rename src/{api => main}/java/ic2/api/energy/tile/IEnergySink.java (61%) create mode 100644 src/main/java/ic2/api/energy/tile/IEnergySource.class rename src/{api => main}/java/ic2/api/energy/tile/IEnergySource.java (66%) rename src/{api => main}/java/ic2/api/energy/tile/IEnergyTile.class (100%) rename src/{api => main}/java/ic2/api/energy/tile/IEnergyTile.java (68%) rename src/{api => main}/java/ic2/api/energy/tile/IHeatSource.class (100%) rename src/{api => main}/java/ic2/api/energy/tile/IHeatSource.java (89%) create mode 100644 src/main/java/ic2/api/energy/tile/IKineticSource.class create mode 100644 src/main/java/ic2/api/energy/tile/IKineticSource.java rename src/{api => main}/java/ic2/api/energy/tile/IMetaDelegate.class (100%) rename src/{api => main}/java/ic2/api/energy/tile/IMetaDelegate.java (81%) rename src/{api => main}/java/ic2/api/energy/tile/package-info.class (100%) rename src/{api => main}/java/ic2/api/energy/tile/package-info.java (100%) rename src/{api => main}/java/ic2/api/energy/usage.txt (98%) rename src/{api => main}/java/ic2/api/event/LaserEvent$LaserExplodesEvent.class (100%) rename src/{api => main}/java/ic2/api/event/LaserEvent$LaserHitsBlockEvent.class (100%) rename src/{api => main}/java/ic2/api/event/LaserEvent$LaserHitsEntityEvent.class (100%) rename src/{api => main}/java/ic2/api/event/LaserEvent$LaserShootEvent.class (100%) rename src/{api => main}/java/ic2/api/event/LaserEvent.class (100%) rename src/{api => main}/java/ic2/api/event/LaserEvent.java (100%) rename src/{api => main}/java/ic2/api/event/PaintEvent.class (100%) rename src/{api => main}/java/ic2/api/event/PaintEvent.java (100%) rename src/{api => main}/java/ic2/api/event/RetextureEvent.class (100%) rename src/{api => main}/java/ic2/api/event/RetextureEvent.java (100%) rename src/{api => main}/java/ic2/api/event/package-info.class (100%) rename src/{api => main}/java/ic2/api/event/package-info.java (100%) rename src/{api => main}/java/ic2/api/info/IEnergyValueProvider.class (95%) rename src/{api => main}/java/ic2/api/info/IEnergyValueProvider.java (66%) rename src/{api => main}/java/ic2/api/info/IFuelValueProvider.class (100%) rename src/{api => main}/java/ic2/api/info/IFuelValueProvider.java (100%) rename src/{api => main}/java/ic2/api/info/Info.class (100%) rename src/{api => main}/java/ic2/api/info/Info.java (100%) rename src/{api => main}/java/ic2/api/info/package-info.class (100%) rename src/{api => main}/java/ic2/api/info/package-info.java (100%) create mode 100644 src/main/java/ic2/api/item/ElectricItem.class create mode 100644 src/main/java/ic2/api/item/ElectricItem.java create mode 100644 src/main/java/ic2/api/item/IBackupElectricItemManager.class create mode 100644 src/main/java/ic2/api/item/IBackupElectricItemManager.java create mode 100644 src/main/java/ic2/api/item/IBlockCuttingBlade.class create mode 100644 src/main/java/ic2/api/item/IBlockCuttingBlade.java rename src/{api => main}/java/ic2/api/item/IBoxable.class (100%) rename src/{api => main}/java/ic2/api/item/IBoxable.java (100%) rename src/{api => main}/java/ic2/api/item/IC2Items.class (96%) rename src/{api => main}/java/ic2/api/item/IC2Items.java (98%) rename src/{api => main}/java/ic2/api/item/IDebuggable.class (100%) rename src/{api => main}/java/ic2/api/item/IDebuggable.java (99%) rename src/{api => main}/java/ic2/api/item/IElectricItem.class (59%) rename src/{api => main}/java/ic2/api/item/IElectricItem.java (92%) create mode 100644 src/main/java/ic2/api/item/IElectricItemManager.class rename src/{api => main}/java/ic2/api/item/IElectricItemManager.java (80%) rename src/{api => main}/java/ic2/api/item/IItemHudInfo.class (100%) rename src/{api => main}/java/ic2/api/item/IItemHudInfo.java (99%) create mode 100644 src/main/java/ic2/api/item/IKineticWindRotor.class create mode 100644 src/main/java/ic2/api/item/IKineticWindRotor.java rename src/{api => main}/java/ic2/api/item/IMetalArmor.class (100%) rename src/{api => main}/java/ic2/api/item/IMetalArmor.java (100%) rename src/{api => main}/java/ic2/api/item/ISpecialElectricItem.class (100%) rename src/{api => main}/java/ic2/api/item/ISpecialElectricItem.java (100%) rename src/{api => main}/java/ic2/api/item/ITerraformingBP.class (100%) rename src/{api => main}/java/ic2/api/item/ITerraformingBP.java (95%) rename src/{api => main}/java/ic2/api/item/ItemWrapper.class (81%) rename src/{api => main}/java/ic2/api/item/ItemWrapper.java (100%) rename src/{api => main}/java/ic2/api/item/package-info.class (100%) rename src/{api => main}/java/ic2/api/item/package-info.java (100%) rename src/{api => main}/java/ic2/api/network/INetworkClientTileEntityEventListener.class (100%) rename src/{api => main}/java/ic2/api/network/INetworkClientTileEntityEventListener.java (100%) rename src/{api => main}/java/ic2/api/network/INetworkDataProvider.class (100%) rename src/{api => main}/java/ic2/api/network/INetworkDataProvider.java (100%) rename src/{api => main}/java/ic2/api/network/INetworkItemEventListener.class (100%) rename src/{api => main}/java/ic2/api/network/INetworkItemEventListener.java (100%) rename src/{api => main}/java/ic2/api/network/INetworkTileEntityEventListener.class (100%) rename src/{api => main}/java/ic2/api/network/INetworkTileEntityEventListener.java (100%) rename src/{api => main}/java/ic2/api/network/INetworkUpdateListener.class (100%) rename src/{api => main}/java/ic2/api/network/INetworkUpdateListener.java (100%) rename src/{api => main}/java/ic2/api/network/NetworkHelper.class (100%) rename src/{api => main}/java/ic2/api/network/NetworkHelper.java (98%) rename src/{api => main}/java/ic2/api/network/package-info.class (100%) rename src/{api => main}/java/ic2/api/network/package-info.java (100%) rename src/{api => main}/java/ic2/api/package-info.class (100%) rename src/{api => main}/java/ic2/api/package-info.java (100%) create mode 100644 src/main/java/ic2/api/reactor/IReactor.class rename src/{api => main}/java/ic2/api/reactor/IReactor.java (88%) create mode 100644 src/main/java/ic2/api/reactor/IReactorChamber.class rename src/{api => main}/java/ic2/api/reactor/IReactorChamber.java (66%) rename src/{api => main}/java/ic2/api/reactor/IReactorComponent.class (100%) rename src/{api => main}/java/ic2/api/reactor/IReactorComponent.java (95%) rename src/{api => main}/java/ic2/api/reactor/package-info.class (100%) rename src/{api => main}/java/ic2/api/reactor/package-info.java (100%) rename src/{api => main}/java/ic2/api/recipe/ICannerBottleRecipeManager$Input.class (100%) rename src/{api => main}/java/ic2/api/recipe/ICannerBottleRecipeManager.class (100%) rename src/{api => main}/java/ic2/api/recipe/ICannerBottleRecipeManager.java (100%) rename src/{api => main}/java/ic2/api/recipe/ICannerEnrichRecipeManager$Input.class (100%) rename src/{api => main}/java/ic2/api/recipe/ICannerEnrichRecipeManager.class (100%) rename src/{api => main}/java/ic2/api/recipe/ICannerEnrichRecipeManager.java (100%) rename src/{api => main}/java/ic2/api/recipe/ICraftingRecipeManager.class (100%) rename src/{api => main}/java/ic2/api/recipe/ICraftingRecipeManager.java (100%) create mode 100644 src/main/java/ic2/api/recipe/IFluidHeatManager$BurnProperty.class create mode 100644 src/main/java/ic2/api/recipe/IFluidHeatManager.class create mode 100644 src/main/java/ic2/api/recipe/IFluidHeatManager.java rename src/{api => main}/java/ic2/api/recipe/ILiquidAcceptManager.class (100%) rename src/{api => main}/java/ic2/api/recipe/ILiquidAcceptManager.java (100%) rename src/{api => main}/java/ic2/api/recipe/IListRecipeManager.class (100%) rename src/{api => main}/java/ic2/api/recipe/IListRecipeManager.java (100%) rename src/{api => main}/java/ic2/api/recipe/IMachineRecipeManager.class (100%) rename src/{api => main}/java/ic2/api/recipe/IMachineRecipeManager.java (100%) rename src/{api => main}/java/ic2/api/recipe/IPatternStorage.class (100%) rename src/{api => main}/java/ic2/api/recipe/IPatternStorage.java (100%) rename src/{api => main}/java/ic2/api/recipe/IRecipeInput.class (100%) rename src/{api => main}/java/ic2/api/recipe/IRecipeInput.java (100%) rename src/{api => main}/java/ic2/api/recipe/IScrapboxManager.class (100%) rename src/{api => main}/java/ic2/api/recipe/IScrapboxManager.java (100%) rename src/{api => main}/java/ic2/api/recipe/ISemiFluidFuelManager$BurnProperty.class (100%) rename src/{api => main}/java/ic2/api/recipe/ISemiFluidFuelManager.class (100%) rename src/{api => main}/java/ic2/api/recipe/ISemiFluidFuelManager.java (100%) rename src/{api => main}/java/ic2/api/recipe/RecipeInputFluidContainer.class (100%) rename src/{api => main}/java/ic2/api/recipe/RecipeInputFluidContainer.java (100%) rename src/{api => main}/java/ic2/api/recipe/RecipeInputItemStack.class (100%) rename src/{api => main}/java/ic2/api/recipe/RecipeInputItemStack.java (100%) rename src/{api => main}/java/ic2/api/recipe/RecipeInputOreDict.class (84%) rename src/{api => main}/java/ic2/api/recipe/RecipeInputOreDict.java (100%) create mode 100644 src/main/java/ic2/api/recipe/RecipeOutput.class rename src/{api => main}/java/ic2/api/recipe/RecipeOutput.java (80%) create mode 100644 src/main/java/ic2/api/recipe/Recipes.class rename src/{api => main}/java/ic2/api/recipe/Recipes.java (92%) rename src/{api => main}/java/ic2/api/recipe/package-info.class (100%) rename src/{api => main}/java/ic2/api/recipe/package-info.java (100%) rename src/{api => main}/java/ic2/api/tile/ExplosionWhitelist.class (100%) rename src/{api => main}/java/ic2/api/tile/ExplosionWhitelist.java (100%) rename src/{api => main}/java/ic2/api/tile/IEnergyStorage.class (100%) rename src/{api => main}/java/ic2/api/tile/IEnergyStorage.java (100%) rename src/{api => main}/java/ic2/api/tile/IWrenchable.class (100%) rename src/{api => main}/java/ic2/api/tile/IWrenchable.java (100%) rename src/{api => main}/java/ic2/api/tile/package-info.class (100%) rename src/{api => main}/java/ic2/api/tile/package-info.java (100%) rename src/{api => main}/java/ic2/api/util/IKeyboard.class (100%) rename src/{api => main}/java/ic2/api/util/IKeyboard.java (100%) rename src/{api => main}/java/ic2/api/util/Keys.class (100%) rename src/{api => main}/java/ic2/api/util/Keys.java (100%) rename src/{api => main}/java/ic2/api/util/package-info.class (100%) rename src/{api => main}/java/ic2/api/util/package-info.java (100%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/ElectricMagicTools.java => tombenpotter/emt/ElectroMagicTools.java} (62%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools => tombenpotter/emt}/client/gui/GuiEtherealMacerator.java (79%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools => tombenpotter/emt}/client/gui/GuiIndustrialWandRecharger.java (79%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/client/gui => tombenpotter/emt/client/gui/config}/EMTGuiConfig.java (74%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/client/gui/config}/EMTGuiFactory.java (81%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/tile => tombenpotter/emt/client/gui}/container/ContainerEtheralMacerator.java (95%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/tile => tombenpotter/emt/client/gui}/container/ContainerIndustrialWandRecharge.java (94%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools => tombenpotter/emt}/client/model/ModelWings.java (95%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools => tombenpotter/emt}/client/renderer/RenderArcher.java (92%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools => tombenpotter/emt}/client/renderer/RenderLaser.java (92%) create mode 100644 src/main/java/tombenpotter/emt/common/commands/CommandOutputs.java rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/base}/EMTEntityRegistry.java (82%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/base}/entities/EntityArcher.java (98%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/base}/entities/EntityLaser.java (93%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/base}/items/ItemEMTBaubles.java (84%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/base}/items/ItemEMTItems.java (80%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings => tombenpotter/emt/common/module/base/items}/ItemFeatherWing.java (77%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer => tombenpotter/emt/common/module/base/items}/ItemTaintedThorHammer.java (87%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings => tombenpotter/emt/common/module/base/items}/ItemThaumiumReinforcedWing.java (69%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer => tombenpotter/emt/common/module/base/items}/ItemThorHammer.java (90%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/base}/items/foci/ItemBaseFocus.java (96%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/base}/items/foci/ItemChristmasFocus.java (70%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/base}/items/foci/ItemExplosionFocus.java (86%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/base}/items/foci/ItemShieldFocus.java (69%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/base}/tile/TileEntityPortableNode.java (93%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/BlockRegistry.java => tombenpotter/emt/common/module/ic2/IC2ModuleBlockRegistry.java} (75%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/ItemRegistry.java => tombenpotter/emt/common/module/ic2/IC2ModuleItemRegistry.java} (61%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/ThaumonomiconResearch.java => tombenpotter/emt/common/module/ic2/IC2ModuleResearch.java} (71%) create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleTERegistry.java rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/blocks/BlockEMT.java (93%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/blocks/BlockEMTMachines.java (71%) create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTSolars.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTSolars2.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEssentiaGenerator.java rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/blocks/BlockEssentiaGenerators.java (58%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/blocks/BlockPortableNode.java (84%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/blocks/BlockShield.java (84%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/items/ItemElectricScribingTools.java (90%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/items/armor/boots/ItemElectricBootsTraveller.java (64%) create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemNanoBootsTraveller.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemQuantumBootsTraveller.java rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemQuantumWing.java => tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemElectricGoggles.java} (59%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemNanoThaumicHelmet.java => tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemNanoGoggles.java} (62%) create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemQuantumGoggles.java rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/items/armor/goggles/ItemSolarHelmetRevealing.java (56%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/items/armor/wings/ItemNanoWing.java (74%) create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/items/armor/wings/ItemQuantumWing.java rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/items/blocks/ItemBlockEMTMachines.java (95%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/items/blocks/ItemBlockEMTSolars.java (97%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/items/blocks/ItemBlockEMTSolars2.java (95%) create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEssentiaGenerator.java rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/items/blocks/ItemBlockEssentiaGenerators.java (81%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/items/foci/ItemChargeFocus.java (84%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/items/foci/ItemWandChargingFocus.java (86%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/items/tools/ItemElectricHoeGrowth.java (84%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer => tombenpotter/emt/common/module/ic2/items/tools}/ItemElectricThorHammer.java (91%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemThaumiumChainsaw.java => tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemDiamondChainsaw.java} (84%) create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemStreamChainsaw.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemThaumiumChainsaw.java rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/items/tools => tombenpotter/emt/common/module/ic2/items/tools/drills}/ItemRockbreakerDrill.java (74%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/items/tools => tombenpotter/emt/common/module/ic2/items/tools/drills}/ItemThaumiumDrill.java (89%) create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolDiamond.java rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/items/tools => tombenpotter/emt/common/module/ic2/items/tools/omnitools}/ItemOmnitoolIron.java (90%) create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolThaumium.java rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/recipes/EMTInitRecipes.java (58%) create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/recipes/EMTPostInitRecipes.java rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/recipes/UuMInfusionRecipes.java (97%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/tile/TileEntityEMT.java (95%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/tile/TileEntityEtherealMacerator.java (97%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/module/ic2}/tile/TileEntityIndustrialWandRecharge.java (93%) create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityAerGenerator.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityArborGenerator.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityAuramGenerator.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityBaseGenerator.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityEssentiaGenerator.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityIgnisGenerator.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityPotentiaGenerator.java rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityOrderSolar.java => tombenpotter/emt/common/module/ic2/tile/solars/TileEntitySolarBase.java} (55%) create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityAirSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityDoubleAirSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityTripleAirSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityCompressedSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityDoubleCompressedSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityTripleCompressedSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityDarkSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityDoubleDarkSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityTripleDarkSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityDoubleEarthSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityEarthSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityTripleEarthSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityDoubleFireSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityFireSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityTripleFireSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityDoubleOrderSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityOrderSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityTripleOrderSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityDoubleWaterSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityTripleWaterSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityWaterSolar.java create mode 100644 src/main/java/tombenpotter/emt/common/module/vanilla/VanillaBlocksRegistry.java create mode 100644 src/main/java/tombenpotter/emt/common/module/vanilla/VanillaItemsRegistry.java create mode 100644 src/main/java/tombenpotter/emt/common/module/vanilla/VanillaRecipesRegistry.java create mode 100644 src/main/java/tombenpotter/emt/common/module/vanilla/items/ItemCrafting.java rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/util}/Config.java (90%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/lib => tombenpotter/emt/common/util}/CraftingAspects.java (98%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/util}/CreativeTab.java (85%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/util}/DungeonChestGenerator.java (54%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/util}/EMTEventHandler.java (82%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/common/util}/EMTResearchItem.java (97%) create mode 100644 src/main/java/tombenpotter/emt/common/util/EssentiasOutputs.java create mode 100644 src/main/java/tombenpotter/emt/common/util/RegistryHandler.java rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common/lib => tombenpotter/emt/common/util}/ResearchAspects.java (97%) create mode 100644 src/main/java/tombenpotter/emt/common/util/TextHelper.java rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/client => tombenpotter/emt/proxies}/ClientProxy.java (68%) rename src/main/java/{electricMagicTools/tombenpotter/electricmagictools/common => tombenpotter/emt/proxies}/CommonProxy.java (72%) create mode 100644 src/main/resources/Thumbs.db delete mode 100644 src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/Thumbs.db rename src/main/resources/assets/{electricmagictools => electromagictools}/lang/en_US.lang (97%) rename src/main/resources/assets/{electricmagictools => electromagictools}/lang/zh_CN.lang (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/Thumbs.db (98%) create mode 100644 src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/Thumbs.db rename src/main/resources/assets/{electricmagictools/textures/blocks/essentiagenerator/front.png => electromagictools/textures/blocks/essentiagenerator/aerfront.png} (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/essentiagenerator/arborfront.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/essentiagenerator/arborfront_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/essentiagenerator/auramfront.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/essentiagenerator/auramfront_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/essentiagenerator/front_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/essentiagenerator/ignisfront.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/essentiagenerator/ignisfront_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/essentiagenerator/potentiafront.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/essentiagenerator/potentiafront_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/essentiagenerator/saxumfront.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/essentiagenerator/saxumfront_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/essentiagenerator/side.png (100%) rename src/main/resources/assets/{electricmagictools/textures/blocks/essentiagenerator/top_saxum.png => electromagictools/textures/blocks/essentiagenerator/top.png} (100%) rename src/main/resources/assets/{electricmagictools/textures/blocks/essentiagenerator/top.png => electromagictools/textures/blocks/essentiagenerator/top_aer.png} (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/essentiagenerator/top_arbor.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/essentiagenerator/top_auram.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/essentiagenerator/top_ignis.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/essentiagenerator/top_potentia.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/Thumbs.db (94%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/bottom.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/etherealmacerator.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/etherealmaceratorfront.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/etherealmaceratorfront_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/etherealmaceratorfront_alt2.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/etherealmaceratorfront_alt3.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/etherealmaceratorfront_alt4.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/etherealmaceratorfrontactive.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/etherealmaceratorfrontactive_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/etherealmaceratorfrontactive_alt2.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/etherealmaceratorfrontactive_alt3.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/etherealmaceratorfrontactive_alt4.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/etherealmaceratortop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/etherealmaceratortop_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/etherealmaceratortopactive.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/etherealmaceratortopactive_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/side.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/top.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/top_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/top_alt2.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/machines/wandcharger.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/portablenode.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/raindispeller.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/shield.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/Thumbs.db (95%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/air/Thumbs.db (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/air/airbottom.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/air/airside.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/air/doublesolartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/air/solartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/air/triplesolartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/bottom.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/dark/Thumbs.db (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/dark/darkbottom.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/dark/darkside.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/dark/doublesolartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/dark/solartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/dark/triplesolartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/doublesolartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/earth/doublesolartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/earth/earthbottom.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/earth/earthside.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/earth/solartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/earth/triplesolartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/fire/doublesolartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/fire/firebottom.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/fire/fireside.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/fire/solartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/fire/triplesolartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/order/Thumbs.db (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/order/doublesolartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/order/orderbottom.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/order/orderside.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/order/solartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/order/triplesolartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/side.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/solartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/triplesolartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/water/Thumbs.db (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/water/doublesolartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/water/solartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/water/triplesolartop.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/water/waterbottom.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/blocks/solars/water/waterside.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/guis/Thumbs.db (97%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/guis/etherealmacerator.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/guis/wandcharger.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/OLDlightningsummoner.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/Thumbs.db (96%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/armoreumaker.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/cardboard.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/chainsaw.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/chargefocus.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/chargefocus.png.mcmeta (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/christmasfocus.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/clusteruranium.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/crushedamber.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/crushedcinnabar.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/denseironsheet.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/diamondchainsaw.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/diamondchainsaw_16X.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/diamonddrill_16X.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/diamondomnitool.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/diamondomnitool_16X.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/diamondomnitool_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/drill.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/ducttape.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/electricboots.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/electricboots_ALT.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/electricgoggles.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/electricgoggles_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/electrichoe_16X.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/electrichoegrowth.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/electrichoegrowth_16X.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/electrichoegrowth_32x.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/electrichoegrowth_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/electrichoegrowth_alt32x.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/explosionfocus.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/feathercarboardwing.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/feathercardboardwing.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/feathermesh.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/featherwings.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/featherwings_flat.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/glue.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/glueball.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/hammer/electricthorhammer.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/hammer/electricthorhammer.png.mcmeta (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/hammer/electricthorhammer_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/hammer/hammerStages/electric01.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/hammer/hammerStages/electric02.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/hammer/hammerStages/electric03.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/hammer/hammerStages/electric04.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/hammer/taintedthorhammer.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/hammer/taintedthorhammer.png.mcmeta (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/hammer/taintedthorhammer_long.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/hammer/taintedthorhammer_short.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/hammer/thorhammer.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/inventoryeumaker.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/ironomnitool.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/ironomnitool_16X.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/lightningsummoner.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/lightningsummoner_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/nanobootstravel.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/nanothaumichelmet.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/nanothaumichelmet_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/nanowings.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/onering.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/purifiedamber.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/purifiedcinnabar.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/quantumbootstravel.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/quantumthaumichelmet.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/quantumthaumichelmet_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/quantumwings.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/rockbreakerdrill.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/rockbreakerdrill_16X.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/rubberball.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/shieldfocus.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/shieldfocus_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/solarrevealinghelmet.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/solarrevealinghelmet_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/solarrevealinghelmet_alt2.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/solarrevealinghelmet_alt3.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/streamchainsaw.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/streamchainsaw.png.mcmeta (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/taintedfeather.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/thaumiumWing.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/thaumiumchainsaw.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/thaumiumchainsaw_16X.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/thaumiumchainsaw_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/thaumiumdrill.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/thaumiumdrill_16X.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/thaumiumdrill_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/thaumiumdrill_alt2.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/thaumiumomnitool.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/thaumiumomnitool_16X.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/thaumiumomnitool_alt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/thaumiumomnitool_alt2.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/thaumiumplate.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/thaumiumwings.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/wandchargefocus.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/wings_random.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/items/wings_random2.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/misc/Thumbs.db (98%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/misc/emt.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/misc/thaumiumplaterecipe.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/models/Thumbs.db (98%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/models/electricboots.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/models/electricgoggles.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/models/featherwing.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/models/featherwing_noString.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/models/lasermodel.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/models/nanobootstravel.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/models/nanowing.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/models/quantumbootstravel.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/models/quantumwing.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/models/scaryhelmet.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/models/solarrevealinghelmet.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/models/thaumicnanohelmet.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/models/thaumicquantumhelmet.png (100%) rename src/main/resources/assets/{electricmagictools => electromagictools}/textures/models/thaumiumwing.png (100%) create mode 100644 src/main/resources/emt.png diff --git a/Changelog.txt b/Changelog.txt index 7aaebd3..22a98b2 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,6 +1,19 @@ Changelog of the mod : Electric Magic Tools, a Thaumcraft 4/Industrial-Craft 2 addon -------------------------------------------------------------------------------------------------------------------------------------------------------- +Version 1.1.4 : +Updated to Minecraft version 1.7.10. +Rewrote and improved the Essentia Generator code. It's now very easy to add new ones. +Rewrote and improved the Solar Panel code. It's now very easy to add new ones. +Rewrote and improved the Drill, Chainsaw, Omnitool, Boot, Goggle and Wing code. It's now very easy to add new ones, as well as way more efficient. +Refractored a lot of the code in preparation for the modules. +Added a new Essentia Generator, the Aer Generator. +Added a tooltip to the current Essentia Generators, saying they will be removed in future versions. +Added an Essentia Generator, alongisde with a dynamic system calculating outputs linked to different essentias. Change the values of the primals in the config, and there is even a maximum cap! + +Version 1.1.3 : +Added a logo to the mcmod.info, and fixed the version tag. + Version 1.1.2 : Fixed the Shield Block being broken by the wither. Added Config GUIs. Regenerating the config file is HIGLY reccomended. diff --git a/build.gradle b/build.gradle index bd8a4f4..69840b3 100644 --- a/build.gradle +++ b/build.gradle @@ -17,12 +17,12 @@ buildscript { apply plugin: 'forge' -version = "1.1.2" +version = "1.7.10-1.1.4Beta3" group= "" archivesBaseName = "ElectroMagicTools" minecraft { - version = "1.7.2-10.12.2.1147" + version = "1.7.10-10.13.0.1208" assetDir = "eclipse/assets" } diff --git a/capes/Thumbs.db b/capes/Thumbs.db index e07e3ac7d6cb29270f08de612b9b1224249c30ef..7922399214ea45808c9d4071e8d448995464d0aa 100644 GIT binary patch delta 35 rcmZpez}PT>aYGIZTY*X&v&q@bMJ)F;IDSvP_xf~0@XO5+x+|mr{CE#| delta 28 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%0A`3;a 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 UFo_-vTpnOKhXa$yss0-AKkzv|fB*mh delta 24379 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 T%6hzr7Z~g60GL8qN51lJ-H{(j diff --git a/src/api/java/ic2/api/crops/CropCard.class b/src/api/java/ic2/api/crops/CropCard.class deleted file mode 100644 index 170afedb59e8d0d4e74482b76dfe550764b59539..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5118 zcmbVPS$h-L8Ges6T5OM3Fos}O+r>6EN}aGIgaF=%h=CLnQXp+IlE(I6X{3xsW@($G zDe0CbrF)?pTT2&0ois6ZXlQ%W_G$k^+uL5G7ro3wm-n0*3t7m9r{dw9nX|m#_r2dX z{_}s{y9J;RzpX|mUX0?UYHYyEQG7OnSE>=hi*oo}6ldi8Y80QB`(KFQi&dPz6vdb2 z`)g5rMee^|gE#Qi8l1(~qWHSp`G$P?W_ag6$J9^0eM{R(iQ%39I46JS<R;uw5%-9=7sUB5m%r?W}9KR@Uat^&`pLiC89^%E!hs>6l}tje?z= zFrC<_l`;?5=~DyN(xJ95SehK+{MzX`~MujwRpyMa`YCsM_)oE7=z_a#k$qWOMo00LKBtNl}hw8yVhS z+SxU7+?Xjx!`0^xD$f~ zM+L7y>mtHQbtGxndw6B>gGU7#PMFsCgd4ZV80B_SdS=bS(8I&S(vi`LLdHs2E(1&q zlN7r^ztR!B95gI?KT7c=BhQ6uN8-~_$w`6Xg`vwBBO38zxwLVLejQS8PpOyfT~s^l zZ3uMV|2?uuwffB`3}?z@T&1{>qAT_omOU_G(0CQLG)PMrdA>yG1-U8k$ijM;yPA=j ziN!gn>|jPNks-r?-aW=p_GK^bmVQ#2Hpk{jQ%a7SW@=8!#e7fgqf#J`ll;c4y23eXGQH9vaA| z(=4>v#VM=oG7rJ?uIGJ$Rf`@~#YToz*vdacgITPpTAXwBC=E`UUhdS+70*qwUg~%d zAEj@1rxR&olCN>>6@WlXc{S}XSZS6O9ar#Ufk4k%9Y4V~hJ25XCqbf@FVuH*bfKG` zXAOT;CVMO)DU@n#(y>)x@Zk!sM(|S|Kf})>_=S#Zc$1hhS@`o_#q)~)a}RFH+2cBf zFs$P`eyL+x4sYRY9lyexIws`sjvU^V!whZ+bj;VyBh=5M5o?OgqMtFY*>0==DgH;ucSkWVu6BFNbp(w!JH^t>cGZ zC%^G%woC)g8~IktxrhIIO>9C8Yxu}K*F|sD(;6bqNQ}d+TZD&=H4X* z))SIIk&9SWdQbs{=YV>p?m=aKAB_gd3z4`+^rD$OtsrY_$k`)2F-l9GCJ~<`1qrUa zLW?9-5A((fJjQ=Jh(xP=i{;bf*h!m1cnQ0(n;a#u-apsRlPeIujk*X10=MPY+~9{0 z(c5U_6B%duQOxhb6KZDNR5ME%ytkWt*1Qk>UDRqjTD#vt?XAn$ zBIi~uwb3V`sg6wXU_Ga%1`e$=Xe6hzXbNETOh8=y?;mAMc%&>NHZX}AWUvf21~|u& zQ--hQnOd47jSNWnMZ@=EKMqhwX=D{>U9I?#-megt0#D&%z8x0vB+iD7vsfbd=SQRW zpbWW!keHTF-kO%`yW_cPb?r3y{IpVRnFmu;X9Et>d!9NP0xcC&MBq?`*j`#5+pj7K zUV7Y#?Wb{=_|h3WC|ep)MT(mn@u!Jvd?`(iH%e5jDymrJsYt&+gOBruz!4nvA&>ID z^g^_~BhjKIUMokOR){hTd8UXM^^KNm$MCFDDvD3=NybW)Vf-wUP~bVr^He{;Gg9>i zk78z6M7s(tDCK$4;8lp5B^ERkgO}LN(W$9vJdoLl+QfueFDQ zkFWBnYbSLpC(jO@39=Y`(0+$HRSiTfbWw+TQIA!E{uhl(rEZE?<5MV|v9)OCR^QBe z_9;nbK-GmhX!>n5us8@wC{@jpP*33_>_w8uj*V1t71MPVtJSzhjce7oPGA=6!~8m% z7fE7u3D+G(B|3^+=kS6rX0y6UAC~n%(OCk)KRjg*O`TM0xZHQf79V^;}AB{d3|^4WNvvvgcz&+pN84mCZ$L)#46ua)G#N*(beB4Qu? ze?UQdDce|NsnKVNKsbSuzPE#5xCorOx6#K+6s~0S>0-S~5nDz{yC26FvC<2dbExwo zreXO4HB5|^NNF$X-tOz(Pt-7itAo4v#}+=tj_bu`ALYq!p6J`?V6J?mEX~CW3e{^4 ObCp=IDaio+%>MwkPA2&P diff --git a/src/api/java/ic2/api/crops/Crops.class b/src/api/java/ic2/api/crops/Crops.class deleted file mode 100644 index e0c5d9aec90d832f5375fea982e7e60809add604..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1239 zcma)5ZBG+H5T1oXu@pfN5y2M_u?NB?Bqk;pqg2sLE|5^t5Bh1lHcY)s{?T5J=Iav}#$zKj|)7|dV#H4Hv7 zm^jn&rE4I@43_&7QVvrdl4&?0KT|pA=Y4(5f81VN;}-NqdFDw8%}_&G*XUTfX|Kr5 z3jYEO{t=aluN=3iW3*_w!!Itk$iq+?ed>#L(|6tMUap-=v8gge-StLm;|f*kfyGF6 zPIzkKj31;4sU;%U@{sfzD#l%%bSbK#W0B<4KM$@X`*yEK;k%uE8VxE)7;hVU<)cs+ zR2n9?61SC~f=V$q>qp{PRACs(45ls^D|#x=;EB*}zS}xN>B_LqVEwPDxVD)Y1pn<& zT7UtXd;kVFpaes-s?wT5Bs)SoPRIy{R=xrIN{ay^0ulV-I8?}b2O_|zcP~-z!dMS) z6*vh~1>WxAG~6lnGjO+uvjyIRxdP|met{3*At^s1?J>dy`Y$3ph9$b<2`tm`06Z;h Q4JHUHM7RmhVEpy$Z&}+_?*IS* diff --git a/src/api/java/ic2/api/energy/IEnergyNet.class b/src/api/java/ic2/api/energy/IEnergyNet.class deleted file mode 100644 index 5eab95db1ce271d9e3a6d2a58e90eba1434a0cff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 500 zcma)3!A`da6G%Ll@~DgLuGwrQ#6R=k2l!FOZ8aef z4_w|PZ)av_cE7$qJ^@TH_Hp53L>Lxq=d$EjS!uU~IJj4AMI{yICR_wY($*$E6DI2$%a7vs%5dB8=VoQE%8JMptvmuBsQLVM^%FbZv4@ z-187d>F>=`wm0kSEhAjZd?K<}DY%U!b_8eIP(+!jLOd+iu4|7#=(v9ax*p*K9^kNx VUW-0XTRi*2J_e3SICryy;SbZtm}CF| diff --git a/src/api/java/ic2/api/energy/prefab/BasicSink.class b/src/api/java/ic2/api/energy/prefab/BasicSink.class deleted file mode 100644 index c3cf20479beabcd0da6cce4b795b6d8e49e19bfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5683 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 diff --git a/src/api/java/ic2/api/energy/tile/IEnergySource.class b/src/api/java/ic2/api/energy/tile/IEnergySource.class deleted file mode 100644 index b149043ffbb41031d7a59c5e933d058e48771369..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmaKnK?;IU5QhIz)3So-2DQ>n4?Kegty~1{Upk6n7LQla)mn6b4i!C<7HwJ#1K59{?guJ@_8R9wvlY$vQ0xR-7j-tMW#$gD@uexsul}a)LPA8MZy1RmSV8VZwaV zr#)NM@*)X~DvN|XRf0dugf^=95zWa?6^(35k?w2GG-3H?EICwKvvLUp%amFGXwPETil{`&p{z%m{sVPL^PFK(x>2uqne$}B0ftjyg6 zRuZ_!kZ`%jOCn&HwxzRd@gr%;P`Flpqb!^-kWQXXuj@gp49S3hYMdD2PoyWqrwq|- zuD}pm_xA)t+LoSpQ+0Pmu)}xD7bXD}3b?P3@|KZVe_>sP&yfl+2Gl&TGbvgG-J z*a^5-*%yH=U8w?!480ZUR?9pjHpv&_C=d?q_ZUXr6NYp}K~^NmTk||W1c5-yua zB9*{>6IU=~Vp5qYOq-a&0~1+1qz7sn?9(s|eXaL-yL(6z&oJ2*-syk9knf^1-&ttA z@3uUaUg0BHEY1D1ocnG1|p2u0nBxeu~lrt%iEoa|p!F5_tTd3D8hA2t1=z5l`t3 z)X)<>qkc;lAFhWr)u$TjJL#LjYy*CaI-t5?YWRg3;;}RMMU6jEk89$a&F-4GiCa{? sQ>83&jY{jZHigXBkcgr+4M}|^X^;;8Ax4#;uPjk*e=PcnkSBuq-}6~ulK=n! diff --git a/src/api/java/ic2/api/item/ElectricItem.java b/src/api/java/ic2/api/item/ElectricItem.java deleted file mode 100644 index 511220f..0000000 --- a/src/api/java/ic2/api/item/ElectricItem.java +++ /dev/null @@ -1,108 +0,0 @@ -package ic2.api.item; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; - -/** - * Allows for charging, discharging and using electric items (IElectricItem). - * - * The charge or remaining capacity of an item can be determined by calling charge/discharge with - * ignoreTransferLimit and simulate set to true. - */ -public final class ElectricItem { - /** - * IElectricItemManager to use for interacting with IElectricItem ItemStacks. - * - * This manager will act as a gateway and delegate the tasks to the final implementation - * (rawManager or a custom one) as necessary. - */ - public static IElectricItemManager manager; - - /** - * Standard IElectricItemManager implementation, only call it directly from another - * IElectricItemManager. Use manager instead. - */ - public static IElectricItemManager rawManager; - - /** - * Charge an item with a specified amount of energy - * - * @param itemStack electric item's stack - * @param amount amount of energy to charge in EU - * @param tier tier of the charging device, has to be at least as high as the item to charge - * @param ignoreTransferLimit ignore the transfer limit specified by getTransferLimit() - * @param simulate don't actually change the item, just determine the return value - * @return Energy transferred into the electric item - * - * @deprecated use manager.charge() instead - */ - @Deprecated - public static int charge(ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate) { - return manager.charge(itemStack, amount, tier, ignoreTransferLimit, simulate); - } - - /** - * Discharge an item by a specified amount of energy - * - * @param itemStack electric item's stack - * @param amount amount of energy to charge in EU - * @param tier tier of the discharging device, has to be at least as high as the item to discharge - * @param ignoreTransferLimit ignore the transfer limit specified by getTransferLimit() - * @param simulate don't actually discharge the item, just determine the return value - * @return Energy retrieved from the electric item - * - * @deprecated use manager.discharge() instead - */ - @Deprecated - public static int discharge(ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate) { - return manager.discharge(itemStack, amount, tier, ignoreTransferLimit, simulate); - } - - /** - * Determine if the specified electric item has at least a specific amount of EU. - * This is supposed to be used in the item code during operation, for example if you want to implement your own electric item. - * BatPacks are not taken into account. - * - * @param itemStack electric item's stack - * @param amount minimum amount of energy required - * @return true if there's enough energy - * - * @deprecated use manager.canUse() instead - */ - @Deprecated - public static boolean canUse(ItemStack itemStack, int amount) { - return manager.canUse(itemStack, amount); - } - - /** - * Try to retrieve a specific amount of energy from an Item, and if applicable, a BatPack. - * This is supposed to be used in the item code during operation, for example if you want to implement your own electric item. - * - * @param itemStack electric item's stack - * @param amount amount of energy to discharge in EU - * @param player player holding the item - * @return true if the operation succeeded - * - * @deprecated use manager.use() instead - */ - @Deprecated - public static boolean use(ItemStack itemStack, int amount, EntityPlayer player) { - return manager.use(itemStack, amount, player); - } - - /** - * Charge an item from the BatPack a player is wearing. - * This is supposed to be used in the item code during operation, for example if you want to implement your own electric item. - * use() already contains this functionality. - * - * @param itemStack electric item's stack - * @param player player holding the item - * - * @deprecated use manager.chargeFromArmor() instead - */ - @Deprecated - public static void chargeFromArmor(ItemStack itemStack, EntityPlayer player) { - manager.chargeFromArmor(itemStack, player); - } -} - diff --git a/src/api/java/ic2/api/item/ICustomElectricItem.class b/src/api/java/ic2/api/item/ICustomElectricItem.class deleted file mode 100644 index 9c5ac7293427c011b77fd070f0a854c8f5de572c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 448 zcmaiwOH0E*6ot=iV`A&8J`i=Kf?ziWy6sA;LZBd+>Y}^pbZn<4Ga;Gie{lD6{M|s4 U6?JTIuVE8gJb`U4pXnXo8%}$AS^xk5 diff --git a/src/api/java/ic2/api/item/ICustomElectricItem.java b/src/api/java/ic2/api/item/ICustomElectricItem.java deleted file mode 100644 index 9f4b1a6..0000000 --- a/src/api/java/ic2/api/item/ICustomElectricItem.java +++ /dev/null @@ -1,67 +0,0 @@ -package ic2.api.item; - -import net.minecraft.item.ItemStack; - -/** - * Provides the ability to store energy on the implementing item. - * - * This interface is a special version of IElectricItem which delegates the implementation of - * charge(), discharge() and canUse() to the implementing Item. - * - * The default implementation (when not using ICustomElectricItem) does the following: - * - store and retrieve the charge - * - handle charging, taking amount, tier, transfer limit, canProvideEnergy and simulate into account - * - replace item IDs if appropriate (getChargedItemId() and getEmptyItemId()) - * - update and manage the damage value for the visual charge indicator - * - * @note ICustomElectricItem must not call the ElectricItem methods charge, discharge or canUse - * - * @deprecated Use ISpecialElectricItem instead. - */ -@Deprecated -public interface ICustomElectricItem extends IElectricItem { - /** - * Charge an item with a specified amount of energy - * - * @param itemStack electric item's stack - * @param amount amount of energy to charge in EU - * @param tier tier of the charging device, has to be at least as high as the item to charge - * @param ignoreTransferLimit ignore the transfer limit specified by getTransferLimit() - * @param simulate don't actually change the item, just determine the return value - * @return Energy transferred into the electric item - */ - public int charge(ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate); - - /** - * Discharge an item by a specified amount of energy - * - * @param itemStack electric item's stack - * @param amount amount of energy to charge in EU - * @param tier tier of the discharging device, has to be at least as high as the item to discharge - * @param ignoreTransferLimit ignore the transfer limit specified by getTransferLimit() - * @param simulate don't actually discharge the item, just determine the return value - * @return Energy retrieved from the electric item - */ - public int discharge(ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate); - - /** - * Determine if the specified electric item has at least a specific amount of EU. - * This is supposed to be used in the item code during operation, for example if you want to implement your own electric item. - * BatPacks are not taken into account. - * - * @param itemStack electric item's stack - * @param amount minimum amount of energy required - * @return true if there's enough energy - */ - public boolean canUse(ItemStack itemStack, int amount); - - /** - * Determine whether to show the charge tool tip with NEI or other means. - * - * Return false if IC2's handler is incompatible, you want to implement your own or you don't - * want to display the charge at all. - * - * @return true to show the tool tip (x/y EU) - */ - public boolean canShowChargeToolTip(ItemStack itemStack); -} diff --git a/src/api/java/ic2/api/item/IElectricItemManager.class b/src/api/java/ic2/api/item/IElectricItemManager.class deleted file mode 100644 index 283ea77b95bc7ae003b6b932ce749bd1f88fc6fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 586 zcma)(y-ve06orpVNoe^ge+y%gkm!P?tepV0!cq}K3PUzyOmIn@%5^L8Y79I84~4i1 zK}ZNGEIzV)&UdfxegAlU0}$ab#D0hahCn?@muiNS(}~rd=f-N~zoTZVlUP6 zP>3WM2!_ssS$tb`+arCn@Rx`pjZchI9Gap`Pf?-LeGt04dY diff --git a/src/api/java/ic2/api/reactor/IC2Reactor.class b/src/api/java/ic2/api/reactor/IC2Reactor.class deleted file mode 100644 index 700015447b104c9cc33869d0c452368efdd77f42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1469 zcmah}-%}Gw5dJ2CY*-eFK_DV`a-tYOvWj==8PD@X&`1OYFN2p`|F;w;Xkk<;_9CeEX1;DUkQOzgu&1HWtiB@=((vWYodNn>8m3u#<6 za7|!H`6{UXeN|5~tOZMv<0%;k94tSOkEHEMziJ2SzNehfUT~FHDGH=6xV{@+6iDVL z*9E%fY855WUv_=96m4&+U`=j%)MU#wM|$fraP_*S>&)7+?h;)(^lX>r zW>=abUG!E}IDdON3hPlA`zZ+sLJoF>wYC-19&2RU_pOG~d3ZzCV=tsYz$C;?DrJ@D z4&*00POgT5>sPg#dedM@ZpZPqbKWya)*n^{20Bi+KuI)%GFNL+;HU*xC*0r8p`f8G zjNp)k91aQ$e~EoLa=nTQEF4GP!gVYP^c0+0pbA8>P)6Rs4GT+Hwr~@-46ImK#TsL2 zBkfTjFw)kpM1JUQtNAC6s)ugP*J0eI#kU#PL98<$3x8_2e_7bT5do{f0u@>XvTz4? zSqq{FWZK@AHy^M$1opR8d$gxyy{`O7`OvStIluaKaXXux{5_!j#%=&%3Z7&7zB=i3xhu zTAT0KZVWbkkK-u!kMTEm>G;8`CLO10c5l7HVVls?mjGy*9M7RvUNlej&!K|lof_fc68sa0y49sw+ Iz;y!l|FULP761SM diff --git a/src/api/java/ic2/api/reactor/IC2Reactor.java b/src/api/java/ic2/api/reactor/IC2Reactor.java deleted file mode 100644 index 78d5a9f..0000000 --- a/src/api/java/ic2/api/reactor/IC2Reactor.java +++ /dev/null @@ -1,34 +0,0 @@ -package ic2.api.reactor; - -import java.lang.reflect.Field; - -public class IC2Reactor { - private static Field energyGeneratorNuclear; - - public static int getEUOutput() { - try { - if (energyGeneratorNuclear == null) energyGeneratorNuclear = Class.forName(getPackage() + ".core.IC2").getDeclaredField("energyGeneratorNuclear"); - - return energyGeneratorNuclear.getInt(null); - } catch (Throwable e) { - throw new RuntimeException(e); - } - } - - /** - * Get the base IC2 package name, used internally. - * - * @return IC2 package name, if unable to be determined defaults to ic2 - */ - private static String getPackage() { - Package pkg = IC2Reactor.class.getPackage(); - - if (pkg != null) { - String packageName = pkg.getName(); - - return packageName.substring(0, packageName.length() - ".baubles.api.reactor".length()); - } - - return "ic2"; - } -} diff --git a/src/api/java/ic2/api/reactor/IReactor.class b/src/api/java/ic2/api/reactor/IReactor.class deleted file mode 100644 index 561dd2d87873d092414bed971dfd9c453d61389e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 694 zcmZWn$xg#C6dXgLv}K2~?;w$0u*8)ULam4d0s#Vvn@QYan#Psuu>2YaK7fxxytpoh za>?YqnR#3C{qy++;1~x*>=m)kP-#hft$WHUoiZE-wTo0*-chNHjA&Y(S(Wg!=PYfX zX>DSa3M+dj3=`yg&?bo)HvgI4a)LXWq(zdROJNyCgIY*&Zx9!Puy#)g5yyQ&o*+e; z9GBv~pDUC6FQ|~T-ci0@)mN@Jn=-POI#x|3jqB53sQNy`Y$0gmU6;swBSmDjsi)Gk zKCUv`&1lLJ^%%V8S}Ii{ZD?iZl<2)642Q3zh~v57){3Z2JC~^Uz_3q-p{ow*-4Wz_ zH_@?l)6;nQhq+Tx`-TqAFx53W&LY{L)M*~+PPaNUk!+|WmxO+sqZjci7*uaLVVWeSXH{ pEan_Pj|GQ|KCWWP#miW6xQaE0>)3F(>FaG_nfgc5Ph4ZN#nRADG)wOp|p^s6{eLqrK$u)NJv&IHKCWDHjW#%O&rTvBlXBn z;!qWF;0N%d5N{nC1s@1pW@lz+-n^Ne{qghLcK|zRSSVnnh&&z{v1;Klo>BL$M99NBXOQ6_R{XptC@&#U|u6NzQ*UnG{z8A?;?HCm2Jw;nf z@4U6g^u?jCWlw4;u$GDry4pE-)9J|m{%9DE;-JU){H_X=-V=CLpC6v0(`px54b0(simI8z^u-R5wO~$IP&~=%FL}gJBt@) zKWyBuY#@WabJ#ueJuQ%}8&;ExWb#6Aex(( z$TYVuk^MqfmMOq8a+DTjiEyUBCHlbclceD$ZqXtDZu3SYT8)tz+@WqyJtcZ3RPN$4 xQSR}^5O9fOkgVqB)>q`NuwZH%`lf1zvO=`#OigQA)0)<_P{VyjbM#5}!(U;$^ppSq diff --git a/src/api/java/ic2/api/recipe/Recipes.class b/src/api/java/ic2/api/recipe/Recipes.class deleted file mode 100644 index 242aef2896ae45871b2359cd2a8f40d736c4e94b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 979 zcmZ`%+iuf95S>kPX-rDmP)fN|pcg>GQeQzxG&Be)1*t*p^JFtgwq1Lz^|~sb#S;<_ zd;lMX7(3gG995R)>>SUTotd4#|9<}gfL+)LU;#E8u+@NV0nG>{S#-t<*y<~}8)BkD zOHw5iemOunRWThF?g7R)A^VO+bnYz5LKH|7C6>}O&k#t8omJy(LIM^!%MYoE`PGOV z>anpA*?rb#BNa~sbgt3e%(*%8&}dzdfw6RqDHp@Cmc%$FyJwu!e9xP?vb)#*muvUp z{n#owy;(f_Ulz9`bdK!DDA8)H^3Il0X)zg^^H0_!sep~SVg^3oYJ4jfgW1z4Pqj*& zfERPRKJ(@KFO|nrG(II(;KiAE8yb@5!p0Dz0_CT&wSb z7c3Z<%u4F1JV(p(Z%^g52I^Po^;JPE%IPe?l0fC?`>zzQ^>3N=18 zq3*HaanWPbW8m?Y$Ck$>kGG*+ fake = Class.forName("baubles.common.lib.PlayerHandler"); getBaubles = fake.getMethod("getPlayerBaubles", EntityPlayer.class); } + ot = (IInventory) getBaubles.invoke(null, player); - } catch(Exception ex) { + } + catch(Exception ex) + { FMLLog.warning("[Baubles API] Could not invoke baubles.common.lib.PlayerHandler method getPlayerBaubles"); } + return ot; } diff --git a/src/main/java/baubles/api/package-info.java b/src/main/java/baubles/api/package-info.java index 9fe5323..f4314ee 100644 --- a/src/main/java/baubles/api/package-info.java +++ b/src/main/java/baubles/api/package-info.java @@ -1,3 +1,3 @@ -@API(apiVersion = "1.0.0.16", owner = "Baubles", provides = "Baubles|API") +@API(apiVersion = "1.7.10-1.0.1.5", owner = "Baubles", provides = "Baubles|API") package baubles.api; import cpw.mods.fml.common.API; \ No newline at end of file diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/CapeEventHandler.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/CapeEventHandler.java deleted file mode 100644 index e927735..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/CapeEventHandler.java +++ /dev/null @@ -1,147 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.client; - -import cpw.mods.fml.common.Loader; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.relauncher.ReflectionHelper; -import net.minecraft.client.entity.AbstractClientPlayer; -import net.minecraft.client.renderer.ThreadDownloadImageData; -import net.minecraftforge.client.event.RenderPlayerEvent; - -import javax.swing.*; -import java.awt.*; -import java.awt.image.BufferedImage; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.HashMap; - -public class CapeEventHandler { - private final String serverLocation = "https://raw.github.com/Tombenpotter/Electro-Magic-Tools/master/capes.txt"; - private final int timeout = 1000; - - private static final Graphics TEST_GRAPHICS = new BufferedImage(128, 128, BufferedImage.TYPE_INT_RGB).getGraphics(); - private HashMap cloaks = new HashMap(); - private ArrayList capePlayers = new ArrayList(); - - public static CapeEventHandler instance; - - public CapeEventHandler() { - buildCloakURLDatabase(); - instance = this; - } - - @SubscribeEvent - public void onPreRenderSpecials(RenderPlayerEvent.Specials.Pre event) { - if (Loader.isModLoaded("shadersmod")) { - return; - } - if (event.entityPlayer instanceof AbstractClientPlayer) { - AbstractClientPlayer abstractClientPlayer = (AbstractClientPlayer) event.entityPlayer; - - if (!capePlayers.contains(abstractClientPlayer)) { - String cloakURL = cloaks.get(event.entityPlayer.getCommandSenderName()); - - if (cloakURL == null) { - return; - } - - capePlayers.add(abstractClientPlayer); - - ReflectionHelper.setPrivateValue(ThreadDownloadImageData.class, abstractClientPlayer.getTextureCape(), false, new String[]{"textureUploaded", "field_110559_g"}); - - new Thread(new CloakThread(abstractClientPlayer, cloakURL)).start(); - event.renderCape = true; - } - } - } - - public void buildCloakURLDatabase() { - URL url; - try { - url = new URL(serverLocation); - URLConnection con = url.openConnection(); - con.setConnectTimeout(timeout); - con.setReadTimeout(timeout); - InputStream io = con.getInputStream(); - BufferedReader br = new BufferedReader(new InputStreamReader(io)); - - String str; - int linetracker = 1; - while ((str = br.readLine()) != null) { - if (!str.startsWith("--")) { - if (str.contains(":")) { - String nick = str.substring(0, str.indexOf(":")); - String link = str.substring(str.indexOf(":") + 1); - new Thread(new CloakPreload(link)).start(); - cloaks.put(nick, link); - } else { - System.err.println("[Electro-Magic Tools] [skins.txt] Syntax error on line " + linetracker + ": " + str); - } - } - linetracker++; - } - - br.close(); - } catch (MalformedURLException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private class CloakThread implements Runnable { - AbstractClientPlayer abstractClientPlayer; - String cloakURL; - - public CloakThread(AbstractClientPlayer player, String cloak) { - abstractClientPlayer = player; - cloakURL = cloak; - } - - @Override - public void run() { - try { - Image cape = new ImageIcon(new URL(cloakURL)).getImage(); - BufferedImage bo = new BufferedImage(cape.getWidth(null), cape.getHeight(null), BufferedImage.TYPE_INT_ARGB); - bo.getGraphics().drawImage(cape, 0, 0, null); - - ReflectionHelper.setPrivateValue(ThreadDownloadImageData.class, abstractClientPlayer.getTextureCape(), bo, new String[]{"bufferedImage", "field_110560_d"}); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - } - } - - private class CloakPreload implements Runnable { - String cloakURL; - - public CloakPreload(String link) { - cloakURL = link; - } - - @Override - public void run() { - try { - TEST_GRAPHICS.drawImage(new ImageIcon(new URL(cloakURL)).getImage(), 0, 0, null); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - } - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/TileEntityRegistry.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/TileEntityRegistry.java deleted file mode 100644 index b837fbe..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/TileEntityRegistry.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; - -import cpw.mods.fml.common.registry.GameRegistry; - -public class TileEntityRegistry { - - public static void registerEMTTileEntites() { - - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityPotentiaGenerator.class, "tileentityessentiagenerator"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityIgnisGenerator.class, "tileentityignisgenerator"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityAuramGenerator.class, "tileentityauramgenerator"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityArborGenerator.class, "tileentityarborgenerator"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityIndustrialWandRecharge.class, "tileentityindustrialwandrecharge"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityCompressedSolar.class, "tileentitycompressedsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityDoubleCompressedSolar.class, "tileentitydoublecompressedsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityTripleCompressedSolar.class, "tileentitytriplecompressedsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEtherealMacerator.class, "tileentityetherealmacerator"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityWaterSolar.class, "tileentitywatersolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityDoubleWaterSolar.class, "tileentitydoublewatersolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityTripleWaterSolar.class, "tileentitytriplewatersolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityDarkSolar.class, "tileentitydarksolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityDoubleDarkSolar.class, "tileentitydoubledarksolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityTripleDarkSolar.class, "tileentitytripledarksolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityOrderSolar.class, "tileentityordersolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityDoubleOrderSolar.class, "tileentitydoubleordersolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityTripleOrderSolar.class, "tileentitytripleordersolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityFireSolar.class, "tileentityfiresolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityDoubleFireSolar.class, "tileentitydoublefiresolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityTripleFireSolar.class, "tileentitytriplefiresolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityAirSolar.class, "tileentityairsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityDoubleAirSolar.class, "tileentitydoubleairsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityTripleAirSolar.class, "tileentitytripleairsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityEarthSolar.class, "tileentityearthsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityDoubleEarthSolar.class, "tileentitydoubleearthsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityTripleEarthSolar.class, "tileentitytripleearthsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityPortableNode.class, "tileentityportablenode"); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTSolars.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTSolars.java deleted file mode 100644 index 90067fd..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTSolars.java +++ /dev/null @@ -1,176 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.blocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.*; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -import java.util.List; - -public class BlockEMTSolars extends BlockEMT { - - public BlockEMTSolars() { - super(Material.iron); - this.setCreativeTab(CreativeTab.tabTombenpotter); - this.setHardness(4.0F); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister ri) { - this.top[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/solartop"); - this.top[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/doublesolartop"); - this.top[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/triplesolartop"); - this.top[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/solartop"); - this.top[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/doublesolartop"); - this.top[5] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/triplesolartop"); - this.top[6] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/solartop"); - this.top[7] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/doublesolartop"); - this.top[8] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/triplesolartop"); - this.top[9] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/solartop"); - this.top[10] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/doublesolartop"); - this.top[11] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/triplesolartop"); - this.top[12] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/solartop"); - this.top[13] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/doublesolartop"); - this.top[14] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/triplesolartop"); - this.top[15] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/solartop"); - - this.bottom[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/bottom"); - this.bottom[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/bottom"); - this.bottom[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/bottom"); - this.bottom[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterbottom"); - this.bottom[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterbottom"); - this.bottom[5] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterbottom"); - this.bottom[6] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkbottom"); - this.bottom[7] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkbottom"); - this.bottom[8] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkbottom"); - this.bottom[9] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderbottom"); - this.bottom[10] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderbottom"); - this.bottom[11] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderbottom"); - this.bottom[12] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/firebottom"); - this.bottom[13] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/firebottom"); - this.bottom[14] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/firebottom"); - this.bottom[15] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airbottom"); - - this.frontOff[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/side"); - this.frontOff[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/side"); - this.frontOff[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/side"); - this.frontOff[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterside"); - this.frontOff[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterside"); - this.frontOff[5] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterside"); - this.frontOff[6] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkside"); - this.frontOff[7] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkside"); - this.frontOff[8] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkside"); - this.frontOff[9] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderside"); - this.frontOff[10] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderside"); - this.frontOff[11] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderside"); - this.frontOff[12] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/fireside"); - this.frontOff[13] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/fireside"); - this.frontOff[14] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/fireside"); - this.frontOff[15] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airside"); - - this.side[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/side"); - this.side[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/side"); - this.side[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/side"); - this.side[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterside"); - this.side[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterside"); - this.side[5] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterside"); - this.side[6] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkside"); - this.side[7] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkside"); - this.side[8] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkside"); - this.side[9] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderside"); - this.side[10] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderside"); - this.side[11] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderside"); - this.side[12] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/fireside"); - this.side[13] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/fireside"); - this.side[14] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/fireside"); - this.side[15] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airside"); - } - - @SideOnly(Side.CLIENT) - @SuppressWarnings({"unchecked", "rawtypes"}) - public void getSubBlocks(Item id, CreativeTabs tab, List list) { - for (int i = 0; i <= 15; i++) { - list.add(new ItemStack(id, 1, i)); - } - } - - @Override - public TileEntity createTileEntity(World world, int meta) { - if (meta == 0) { - return new TileEntityCompressedSolar(); - } - if (meta == 1) { - return new TileEntityDoubleCompressedSolar(); - } - if (meta == 2) { - return new TileEntityTripleCompressedSolar(); - } - if (meta == 3) { - return new TileEntityWaterSolar(); - } - if (meta == 4) { - return new TileEntityDoubleWaterSolar(); - } - if (meta == 5) { - return new TileEntityTripleWaterSolar(); - } - if (meta == 6) { - return new TileEntityDarkSolar(); - } - if (meta == 7) { - return new TileEntityDoubleDarkSolar(); - } - if (meta == 8) { - return new TileEntityTripleDarkSolar(); - } - if (meta == 9) { - return new TileEntityOrderSolar(); - } - if (meta == 10) { - return new TileEntityDoubleOrderSolar(); - } - if (meta == 11) { - return new TileEntityTripleOrderSolar(); - } - if (meta == 12) { - return new TileEntityFireSolar(); - } - if (meta == 13) { - return new TileEntityDoubleFireSolar(); - } - if (meta == 14) { - return new TileEntityTripleFireSolar(); - } - if (meta == 15) { - return new TileEntityAirSolar(); - } - return super.createTileEntity(world, meta); - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) { - world.removeTileEntity(x, y, z); - super.breakBlock(world, x, y, z, par5, par6); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTSolars2.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTSolars2.java deleted file mode 100644 index 8c5f5f4..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTSolars2.java +++ /dev/null @@ -1,99 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.blocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.*; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -import java.util.List; - -public class BlockEMTSolars2 extends BlockEMT { - - public BlockEMTSolars2() { - super(Material.iron); - this.setCreativeTab(CreativeTab.tabTombenpotter); - this.setHardness(4.0F); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister ri) { - this.top[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/doublesolartop"); - this.top[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/triplesolartop"); - this.top[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/solartop"); - this.top[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/doublesolartop"); - this.top[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/triplesolartop"); - - this.bottom[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airbottom"); - this.bottom[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airbottom"); - this.bottom[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthbottom"); - this.bottom[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthbottom"); - this.bottom[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthbottom"); - - this.frontOff[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airside"); - this.frontOff[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airside"); - this.frontOff[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthside"); - this.frontOff[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthside"); - this.frontOff[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthside"); - - this.side[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airside"); - this.side[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airside"); - this.side[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthside"); - this.side[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthside"); - this.side[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthside"); - } - - @SideOnly(Side.CLIENT) - @SuppressWarnings({"unchecked", "rawtypes"}) - public void getSubBlocks(Item id, CreativeTabs tab, List list) { - for (int i = 0; i <= 4; i++) { - list.add(new ItemStack(id, 1, i)); - } - } - - @Override - public TileEntity createTileEntity(World world, int meta) { - if (meta == 0) { - return new TileEntityDoubleAirSolar(); - } - if (meta == 1) { - return new TileEntityTripleAirSolar(); - } - if (meta == 2) { - return new TileEntityEarthSolar(); - } - if (meta == 3) { - return new TileEntityDoubleEarthSolar(); - } - if (meta == 4) { - return new TileEntityTripleEarthSolar(); - } - return super.createTileEntity(world, meta); - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) { - world.removeTileEntity(x, y, z); - super.breakBlock(world, x, y, z, par5, par6); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemNanoBootsTraveller.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemNanoBootsTraveller.java deleted file mode 100644 index b3eb1b6..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemNanoBootsTraveller.java +++ /dev/null @@ -1,103 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - * - * Attention: this class originally belongs to the ThaumicTinkerer mod. - * All I did was modifying it to fulfill my needs. - * - * ThaumicTinkerer is Open Source and distributed under a - * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License - * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) - * - * http://www.minecraftforum.net/topic/1813058- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.boots; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; -import thaumcraft.api.aspects.Aspect; - -import java.util.List; - -public class ItemNanoBootsTraveller extends ItemElectricBootsTraveller { - - public int maxCharge = 500000; - - public ItemNanoBootsTraveller(int par3, int par4) { - super(par3, par4); - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":nanobootstravel"); - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/nanobootstravel.png"; - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 4; - } - - @Override - void tickPlayer(EntityPlayer player) { - if (player.worldObj.isRemote) - player.stepHeight = player.isSneaking() ? 0.5F : 1F; - if ((player.onGround || player.capabilities.isFlying) && player.moveForward > 0F) - player.moveFlying(0F, 1F, (float) (player.capabilities.isFlying ? 0.075F : Config.nanoBootsSpeed)); - player.jumpMovementFactor = player.isSprinting() ? 0.05F : 0.04F; - player.fallDistance = 0F; - } - - @SubscribeEvent - @Override - public void onPlayerJump(LivingJumpEvent event) { - if (event.entityLiving instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) event.entityLiving; - boolean hasArmor = player.getCurrentArmor(0) != null && player.getCurrentArmor(0).getItem() == this; - - if (hasArmor) { - player.motionY += Config.nanoBootsJump; - } - } - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 1000; - } - - public int getEnergyPerDamage() { - return 200; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 4%"); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemQuantumBootsTraveller.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemQuantumBootsTraveller.java deleted file mode 100644 index f63b0ba..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemQuantumBootsTraveller.java +++ /dev/null @@ -1,103 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - * - * Attention: this class originally belongs to the ThaumicTinkerer mod. - * All I did was modifying it to fulfill my needs. - * - * ThaumicTinkerer is Open Source and distributed under a - * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License - * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) - * - * http://www.minecraftforum.net/topic/1813058- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.boots; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; -import thaumcraft.api.aspects.Aspect; - -import java.util.List; - -public class ItemQuantumBootsTraveller extends ItemElectricBootsTraveller { - - public int maxCharge = 1000000; - - public ItemQuantumBootsTraveller(int par3, int par4) { - super(par3, par4); - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":quantumbootstravel"); - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/quantumbootstravel.png"; - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 5; - } - - @Override - void tickPlayer(EntityPlayer player) { - if (player.worldObj.isRemote) - player.stepHeight = player.isSneaking() ? 0.5F : 1F; - if ((player.onGround || player.capabilities.isFlying) && player.moveForward > 0F) - player.moveFlying(0F, 1F, (float) (player.capabilities.isFlying ? 0.075F : Config.quantumBootsSpeed)); - player.jumpMovementFactor = player.isSprinting() ? 0.05F : 0.04F; - player.fallDistance = 0F; - } - - @SubscribeEvent - @Override - public void onPlayerJump(LivingJumpEvent event) { - if (event.entityLiving instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) event.entityLiving; - boolean hasArmor = player.getCurrentArmor(0) != null && player.getCurrentArmor(0).getItem() == this; - - if (hasArmor) { - player.motionY += Config.quantumBootsJump; - } - } - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 1000; - } - - public int getEnergyPerDamage() { - return 200; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 5%"); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemElectricGoggles.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemElectricGoggles.java deleted file mode 100644 index 6819205..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemElectricGoggles.java +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.goggles; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import thaumcraft.api.aspects.Aspect; - -import java.util.List; - -public class ItemElectricGoggles extends ItemQuantumThaumicHelmet { - - public int maxCharge = 10000; - - public ItemElectricGoggles(int par3, int par4) { - super(par3, par4); - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":electricgoggles"); - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/electricgoggles.png"; - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 5; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - public int getEnergyPerDamage() { - return 100; - } - - @Override - public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 10; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 5%"); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemQuantumThaumicHelmet.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemQuantumThaumicHelmet.java deleted file mode 100644 index 11b2712..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemQuantumThaumicHelmet.java +++ /dev/null @@ -1,246 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.goggles; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import ic2.api.item.ElectricItem; -import ic2.api.item.IElectricItem; -import ic2.api.item.IMetalArmor; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraftforge.common.ISpecialArmor; -import thaumcraft.api.IGoggles; -import thaumcraft.api.IVisDiscountGear; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.nodes.IRevealer; - -import java.util.*; - -public class ItemQuantumThaumicHelmet extends ItemArmor implements IElectricItem, IVisDiscountGear, IGoggles, IRevealer, IMetalArmor, ISpecialArmor { - @SuppressWarnings({"unchecked", "rawtypes"}) - private static final Map potionCost = new HashMap(); - - public ItemQuantumThaumicHelmet(int par3, int par4) { - super(ArmorMaterial.DIAMOND, par3, par4); - this.setCreativeTab(CreativeTab.tabTombenpotter); - this.setMaxDamage(27); - this.setMaxStackSize(1); - - potionCost.put(Integer.valueOf(Potion.poison.id), Integer.valueOf(10000)); - potionCost.put(Integer.valueOf(Potion.wither.id), Integer.valueOf(15000)); - potionCost.put(Integer.valueOf(Potion.confusion.id), Integer.valueOf(5000)); - } - - public int maxCharge = 10000000; - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":quantumthaumichelmet"); - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/thaumicquantumhelmet.png"; - } - - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 2; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @Override - public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { - int refill = player.getAir(); - if (ElectricItem.manager.canUse(itemStack, 1000) && refill < 100) { - player.setAir(refill + 200); - ElectricItem.manager.use(itemStack, 1000, null); - } - - Iterator i$ = (new LinkedList(player.getActivePotionEffects())).iterator(); - do { - if (!i$.hasNext()) { - break; - } - { - PotionEffect effect = (PotionEffect) i$.next(); - int id = effect.getPotionID(); - Integer cost = (Integer) potionCost.get(Integer.valueOf(id)); - if (cost != null) { - cost = Integer.valueOf(cost.intValue() * (effect.getAmplifier() + 1)); - if (ElectricItem.manager.canUse(itemStack, cost.intValue())) { - ElectricItem.manager.use(itemStack, cost.intValue(), null); - ItemStack milk = (new ItemStack(Items.milk_bucket)); - player.curePotionEffects(milk); - } - } - } - } while (true); - - if (Config.nightVisionOff == false) { - if (ElectricItem.manager.canUse(itemStack, 1 / 1000)) { - int x = MathHelper.floor_double(player.posX); - int z = MathHelper.floor_double(player.posZ); - int y = MathHelper.floor_double(player.posY); - int lightlevel = player.worldObj.getBlockLightValue(x, y, z); - if (lightlevel >= 0) - player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 300, -3)); - ElectricItem.manager.use(itemStack, 1 / 1000, player); - } else { - player.addPotionEffect(new PotionEffect(Potion.blindness.id, 300, 0, true)); - } - } - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 10000; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } - } - - @Override - public boolean isRepairable() { - return false; - } - - @Override - public int getItemEnchantability() { - if (Config.enchanting == false) { - return 0; - } else { - return 4; - } - } - - @Override - public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { - if (Config.enchanting == false) { - return false; - } else { - return true; - } - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 8%"); - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 8; - } - - @Override - public boolean showNodes(ItemStack itemstack, EntityLivingBase player) { - return true; - } - - @Override - public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player) { - return true; - } - - @Override - public boolean isMetalArmor(ItemStack itemstack, EntityPlayer player) { - return true; - } - - @Override - public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) { - if (source.isUnblockable()) { - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, 0.0D, 0); - } else { - double absorptionRatio = getBaseAbsorptionRatio() * getDamageAbsorptionRatio(); - int energyPerDamage = getEnergyPerDamage(); - int damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage; - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, absorptionRatio, damageLimit); - } - } - - @Override - public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { - if (ElectricItem.manager.getCharge(armor) >= getEnergyPerDamage()) { - return (int) Math.round(20D * getBaseAbsorptionRatio() * getDamageAbsorptionRatio()); - } else { - return 0; - } - } - - @Override - public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { - ElectricItem.manager.discharge(stack, damage * getEnergyPerDamage(), 0x7fffffff, true, false); - } - - public double getDamageAbsorptionRatio() { - return 1.1000000000000001D; - } - - public int getEnergyPerDamage() { - return 10000; - } - - private double getBaseAbsorptionRatio() { - return 0.14999999999999999D; - } - - @Override - public Item getChargedItem(ItemStack itemStack) { - return this; - } - - @Override - public Item getEmptyItem(ItemStack itemStack) { - return this; - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemDiamondChainsaw.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemDiamondChainsaw.java deleted file mode 100644 index 8e146bd..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemDiamondChainsaw.java +++ /dev/null @@ -1,107 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import ic2.api.item.ElectricItem; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; - -import java.util.List; - -public class ItemDiamondChainsaw extends ItemThaumiumChainsaw { - - public int maxCharge = 40000; - private final int cost = 200; - private final int hitCost = 300; - - public ItemDiamondChainsaw() { - super(); - this.efficiencyOnProperMaterial = 16F; - this.setCreativeTab(CreativeTab.tabTombenpotter); - this.setMaxDamage(27); - this.setMaxStackSize(1); - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":diamondchainsaw"); - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 300; - } - - @Override - public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int par4, int par5, int par6, EntityLivingBase entityLiving) { - ElectricItem.manager.use(stack, cost, entityLiving); - return true; - } - - @Override - public boolean canHarvestBlock(Block block, ItemStack stack) { - return Items.diamond_axe.canHarvestBlock(block, stack) || Items.diamond_sword.canHarvestBlock(block, stack); - } - - @Override - public float getDigSpeed(ItemStack stack, Block block, int meta) { - if (!ElectricItem.manager.canUse(stack, cost)) { - return 1.0F; - } - - if (Items.wooden_axe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_sword.getDigSpeed(stack, block, meta) > 1.0F) { - return efficiencyOnProperMaterial; - } else { - return super.getDigSpeed(stack, block, meta); - } - } - - @Override - public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { - if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { - entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 12F); - } - return false; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolDiamond.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolDiamond.java deleted file mode 100644 index d83422f..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolDiamond.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import ic2.api.item.ElectricItem; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; - -import java.util.List; - -public class ItemOmnitoolDiamond extends ItemOmnitoolIron { - - public int maxCharge = 70000; - private int cost; - private final int hitCost = 250; - - public ItemOmnitoolDiamond() { - super(); - this.efficiencyOnProperMaterial = 16F; - this.setCreativeTab(CreativeTab.tabTombenpotter); - this.setMaxStackSize(1); - if (Config.toolsInBore == false) { - this.setMaxDamage(27); - } else { - this.setMaxDamage(350); - } - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":diamondomnitool"); - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 400; - } - - @Override - public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int par4, int par5, int par6, EntityLivingBase entityLiving) { - if (Config.toolsInBore == false) { - cost = 200; - } else { - cost = 1; - } - ElectricItem.manager.use(stack, cost, entityLiving); - return true; - } - - @Override - public boolean canHarvestBlock(Block block, ItemStack stack) { - return Items.diamond_axe.canHarvestBlock(block, stack) || Items.diamond_sword.canHarvestBlock(block, stack) || Items.diamond_pickaxe.canHarvestBlock(block, stack) || Items.diamond_shovel.canHarvestBlock(block, stack) || Items.shears.canHarvestBlock(block, stack); - } - - @Override - public float getDigSpeed(ItemStack stack, Block block, int meta) { - if (!ElectricItem.manager.canUse(stack, cost)) { - return 1.0F; - } - - if (Items.wooden_axe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_sword.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_pickaxe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_shovel.getDigSpeed(stack, block, meta) > 1.0F || Items.shears.getDigSpeed(stack, block, meta) > 1.0F) { - return efficiencyOnProperMaterial; - } else { - return super.getDigSpeed(stack, block, meta); - } - } - - @Override - public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { - if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { - entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 10F); - } - return false; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolThaumium.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolThaumium.java deleted file mode 100644 index 4e9796b..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolThaumium.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import ic2.api.item.ElectricItem; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; - -import java.util.List; - -public class ItemOmnitoolThaumium extends ItemOmnitoolDiamond { - - public int maxCharge = 140000; - private int cost; - private final int hitCost = 650; - - public ItemOmnitoolThaumium() { - super(); - this.efficiencyOnProperMaterial = 21F; - this.setCreativeTab(CreativeTab.tabTombenpotter); - this.setMaxStackSize(1); - if (Config.toolsInBore == false) { - this.setMaxDamage(27); - } else { - this.setMaxDamage(467); - } - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":thaumiumomnitool"); - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 800; - } - - @Override - public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int par4, int par5, int par6, EntityLivingBase entityLiving) { - if (Config.toolsInBore == false) { - cost = 300; - } else { - cost = 1; - } - ElectricItem.manager.use(stack, cost, entityLiving); - return true; - } - - @Override - public boolean canHarvestBlock(Block block, ItemStack stack) { - return Items.diamond_axe.canHarvestBlock(block, stack) || Items.diamond_sword.canHarvestBlock(block, stack) || Items.diamond_pickaxe.canHarvestBlock(block, stack) || Items.diamond_shovel.canHarvestBlock(block, stack) || Items.shears.canHarvestBlock(block, stack); - } - - @Override - public float getDigSpeed(ItemStack stack, Block block, int meta) { - if (!ElectricItem.manager.canUse(stack, cost)) { - return 1.0F; - } - - if (Items.wooden_axe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_sword.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_pickaxe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_shovel.getDigSpeed(stack, block, meta) > 1.0F || Items.shears.getDigSpeed(stack, block, meta) > 1.0F) { - return efficiencyOnProperMaterial; - } else { - return super.getDigSpeed(stack, block, meta); - } - } - - @Override - public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { - if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { - entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 10F); - } - return false; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemStreamChainsaw.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemStreamChainsaw.java deleted file mode 100644 index ff0415c..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemStreamChainsaw.java +++ /dev/null @@ -1,200 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - * - * This class originally belongs to Azanor, but with his permission I took it, and modified it to make it work as I wanted to. - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; - -import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import ic2.api.item.ElectricItem; -import ic2.api.item.IElectricItem; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemAxe; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import thaumcraft.common.Thaumcraft; -import thaumcraft.common.lib.Utils; -import thaumcraft.common.lib.network.fx.PacketFXBlockBubble; - -import java.awt.*; -import java.util.ArrayList; -import java.util.List; - -public class ItemStreamChainsaw extends ItemAxe implements IElectricItem { - - boolean alternateServer; - boolean alternateClient; - @SuppressWarnings("rawtypes") - public static ArrayList oreDictLogs = new ArrayList(); - public int maxCharge = 900000; - private final int cost = 400; - private final int hitCost = 500; - - public ItemStreamChainsaw() { - super(ToolMaterial.EMERALD); - this.efficiencyOnProperMaterial = 25F; - alternateServer = false; - alternateClient = false; - setCreativeTab(CreativeTab.tabTombenpotter); - this.maxStackSize = 1; - this.setMaxDamage(27); - } - - public EnumAction getItemUseAction(ItemStack itemstack) { - return EnumAction.bow; - } - - public boolean onItemUse(ItemStack itemstack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10) { - Block bi = world.getBlock(x, y, z); - if ((!player.isSneaking()) && (Utils.isWoodLog(world, x, y, z))) { - if (!world.isRemote) { - if (Utils.breakFurthestBlock(world, x, y, z, bi, player)) { - world.playSoundEffect(x, y, z, "thaumcraft:bubble", 0.15F, 1.0F); - ElectricItem.manager.use(itemstack, cost, player); - this.alternateServer = (!this.alternateServer); - } - } else { - player.swingItem(); - ElectricItem.manager.use(itemstack, cost, player); - this.alternateClient = (!this.alternateClient); - } - } - return super.onItemUse(itemstack, player, world, x, y, z, par7, par8, par9, par10); - } - - public boolean onBlockStartBreak(ItemStack itemstack, int x, int y, int z, EntityPlayer player) { - World world = player.worldObj; - Block bi = world.getBlock(x, y, z); - if ((!player.isSneaking()) && (Utils.isWoodLog(world, x, y, z))) { - if (!world.isRemote) { - Utils.breakFurthestBlock(world, x, y, z, bi, player); - Thaumcraft.packetPipeline.sendToAllAround(new PacketFXBlockBubble(x, y, z, new Color(0.33F, 0.33F, 1.0F).getRGB()), new NetworkRegistry.TargetPoint(world.provider.dimensionId, x, y, z, 32.0D)); - - world.playSoundEffect(x, y, z, "thaumcraft:bubble", 0.15F, 1.0F); - } - ElectricItem.manager.use(itemstack, cost, player); - return true; - } - return super.onBlockStartBreak(itemstack, x, y, z, player); - } - - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 3; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 900; - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":streamchainsaw"); - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } - } - - @Override - public boolean canHarvestBlock(Block block, ItemStack stack) { - return Items.diamond_axe.canHarvestBlock(block, stack) || Items.diamond_sword.canHarvestBlock(block, stack); - } - - @Override - public float getDigSpeed(ItemStack stack, Block block, int meta) { - if (!ElectricItem.manager.canUse(stack, cost)) { - return 1.0F; - } - - if (Items.wooden_axe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_sword.getDigSpeed(stack, block, meta) > 1.0F) { - return efficiencyOnProperMaterial; - } else { - return super.getDigSpeed(stack, block, meta); - } - } - - @Override - public boolean isRepairable() { - return false; - } - - @Override - public int getItemEnchantability() { - if (Config.enchanting == false) { - return 0; - } else { - return 4; - } - } - - @Override - public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { - if (Config.enchanting == false) { - return false; - } else { - return true; - } - } - - @Override - public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { - if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { - entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 12F); - } - return false; - } - - @Override - public Item getChargedItem(ItemStack itemStack) { - return this; - } - - @Override - public Item getEmptyItem(ItemStack itemStack) { - return this; - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/TextHelper.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/TextHelper.java deleted file mode 100644 index dafb750..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/TextHelper.java +++ /dev/null @@ -1,40 +0,0 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.lib; - -public class TextHelper { - - /** - * Color Coding * - */ - public static String black = "�0"; - public static String darkBlue = "�1"; - public static String darkGreen = "�2"; - public static String darkAqua = "�3"; - public static String darkRed = "�4"; - public static String darkPurple = "�5"; - public static String gold = "�6"; - public static String gray = "�7"; - public static String darkGray = "�8"; - public static String blue = "�9"; - public static String green = "�a"; - public static String aqua = "�b"; - public static String red = "�c"; - public static String lightPurple = "�d"; - public static String yellow = "�e"; - public static String white = "�f"; - - /** - * Text Formating * - */ - public static String obfuscated = "�k"; - public static String bold = "�l"; - public static String strikethrough = "�m"; - public static String underline = "�n"; - public static String italics = "�o"; - public static String resetFormatting = "�r"; - - /** - * Useful Tooltips * - */ - public static String shiftForMoreInfo = darkGreen + italics + "Press Shift for more information"; - -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/EMTPostInitRecipes.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/EMTPostInitRecipes.java deleted file mode 100644 index fe8ec8b..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/EMTPostInitRecipes.java +++ /dev/null @@ -1,312 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.recipes; - -import cpw.mods.fml.common.FMLLog; -import cpw.mods.fml.common.registry.GameRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.ItemRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.lib.CraftingAspects; -import ic2.api.item.IC2Items; -import ic2.api.recipe.IRecipeInput; -import ic2.api.recipe.RecipeInputItemStack; -import ic2.api.recipe.Recipes; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.IRecipe; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.oredict.OreDictionary; -import thaumcraft.api.ThaumcraftApi; -import thaumcraft.api.crafting.CrucibleRecipe; -import thaumcraft.api.crafting.InfusionRecipe; -import thaumcraft.api.crafting.ShapedArcaneRecipe; -import thaumcraft.api.crafting.ShapelessArcaneRecipe; -import thaumcraft.common.config.ConfigBlocks; -import thaumcraft.common.config.ConfigItems; - -import java.util.Iterator; - -public class EMTPostInitRecipes { - - public static void add() { - - /** Infusion Recipes **/ - - thaumiumDrill = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Drill", new ItemStack(ItemRegistry.thaumiumDrill), 5, CraftingAspects.thaumiumDrillCrafting, new ItemStack(IC2Items.getItem("diamondDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(Items.diamond), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("denseplateiron")}); - - thaumiumChainsaw = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Chainsaw", new ItemStack(ItemRegistry.thaumiumChainsaw), 5, CraftingAspects.thaumiumChainsawCrafting, new ItemStack(ItemRegistry.diamondChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(Items.diamond), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("denseplateiron")}); - - thaumicQuantumHelmet = ThaumcraftApi.addInfusionCraftingRecipe("Quantum Goggles of Revealing", new ItemStack(ItemRegistry.quantumThaumicHelmet), 6, CraftingAspects.thaumicQuantumHelmetCrafting, new ItemStack(ItemRegistry.nanoThaumicHelmet, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(Items.milk_bucket), new ItemStack(IC2Items.getItem("quantumHelmet").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("advancedCircuit")}); - - thaumicNanoHelmet = ThaumcraftApi.addInfusionCraftingRecipe("Nanosuit Goggles of Revealing", new ItemStack(ItemRegistry.nanoThaumicHelmet), 5, CraftingAspects.thaumicNanoHelmetCrafting, new ItemStack(ItemRegistry.electricGoggles, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(Items.gold_ingot), new ItemStack(IC2Items.getItem("nanoHelmet").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("carbonPlate"), IC2Items.getItem("electronicCircuit")}); - - thaumiumOmnitool = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Omnitool", new ItemStack(ItemRegistry.thaumiumOmnitool), 6, CraftingAspects.thaumiumOmnitoolCrafting, new ItemStack(ItemRegistry.thaumiumChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(ItemRegistry.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("carbonPlate"), IC2Items.getItem("plateobsidian")}); - - diamondOmnitoolToThaumium = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Omnitool", new ItemStack(ItemRegistry.thaumiumOmnitool), 6, CraftingAspects.thaumiumOmnitoolCrafting, new ItemStack(ItemRegistry.diamondOmnitool, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Blocks.diamond_block), new ItemStack(ConfigBlocks.blockMetalDevice, 1, 9), new ItemStack(ConfigBlocks.blockMetalDevice, 1, 9), new ItemStack(IC2Items.getItem("energyCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("carbonPlate"), IC2Items.getItem("advancedCircuit")}); - - explosionFocus = ThaumcraftApi.addInfusionCraftingRecipe("Explosion Focus", new ItemStack(ItemRegistry.explosionFocus), 6, CraftingAspects.laserFocusCrafting, new ItemStack(ConfigItems.itemFocusHellbat, 1), new ItemStack[]{new ItemStack(IC2Items.getItem("miningLaser").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.arrow), new ItemStack(Items.gunpowder), new ItemStack(Items.firework_charge), new ItemStack(ConfigItems.itemResource, 1, 1)}); - - shieldFocus = ThaumcraftApi.addInfusionCraftingRecipe("Shield Focus", new ItemStack(ItemRegistry.shieldFocus), 4, CraftingAspects.shieldFocusCrafting, new ItemStack(ConfigItems.itemFocusPortableHole, 1), new ItemStack[]{IC2Items.getItem("reinforcedStone"), IC2Items.getItem("reinforcedGlass"), IC2Items.getItem("reinforcedStone"), IC2Items.getItem("reinforcedGlass"), new ItemStack(Blocks.soul_sand), new ItemStack(Blocks.obsidian), new ItemStack(Blocks.obsidian)}); - - potentiaGenerator = ThaumcraftApi.addInfusionCraftingRecipe("Potentia Generator", new ItemStack(BlockRegistry.essentiaGens, 1, 0), 6, CraftingAspects.potentiaGeneratorCrafting, IC2Items.getItem("semifluidGenerator"), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(ConfigItems.itemFocusTrade), new ItemStack(Blocks.hopper), new ItemStack(ConfigBlocks.blockJar), IC2Items.getItem("mvTransformer"), IC2Items.getItem("advancedMachine"), IC2Items.getItem("orewashingplant"), IC2Items.getItem("scrap")}); - - streamChainsaw = ThaumcraftApi.addInfusionCraftingRecipe("Chainsaw of the Stream", new ItemStack(ItemRegistry.streamChainsaw), 6, CraftingAspects.streamChaisnawCrafting, new ItemStack(ItemRegistry.thaumiumChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.water_bucket), new ItemStack(ConfigItems.itemAxeElemental), new ItemStack(ConfigBlocks.blockMagicalLog), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("compressedPlantBall"), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("overclockerUpgrade")}); - - rockbreakerDrill = ThaumcraftApi.addInfusionCraftingRecipe("Drill of the Rockbreaker", new ItemStack(ItemRegistry.rockbreakerDrill), 6, CraftingAspects.rockbreakerDrillCrafting, new ItemStack(ItemRegistry.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.flint_and_steel), new ItemStack(Items.fire_charge), new ItemStack(ConfigItems.itemPickElemental), new ItemStack(ConfigItems.itemShovelElemental), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("reinforcedStone"), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("overclockerUpgrade")}); - - thorHammer = ThaumcraftApi.addInfusionCraftingRecipe("Mjolnir", new ItemStack(ItemRegistry.thorHammer), 7, CraftingAspects.thorHammerCrafting, new ItemStack(ItemRegistry.taintedThorHammer, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(ItemRegistry.itemEMTItems, 1, 6), new ItemStack(ItemRegistry.itemEMTItems, 1, 6), new ItemStack(ConfigItems.itemSwordElemental), new ItemStack(ConfigItems.itemResource, 1, 1), new ItemStack(ConfigItems.itemFocusShock), IC2Items.getItem("rubber")}); - - superchargedThorHammer = ThaumcraftApi.addInfusionCraftingRecipe("Supercharged Mjolnir", new ItemStack(ItemRegistry.electricThorHammer), 10, CraftingAspects.superchargedThorHammerCrafting, new ItemStack(ItemRegistry.thorHammer, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(ItemRegistry.itemEMTItems, 1, 6), new ItemStack(ItemRegistry.itemEMTItems, 1, 6), new ItemStack(Blocks.web), new ItemStack(ConfigItems.itemFocusHellbat), new ItemStack(ConfigItems.itemSwordElemental), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), new ItemStack(IC2Items.getItem("nanoSaber").getItem(), 1, OreDictionary.WILDCARD_VALUE)}); - - wandRecharger = ThaumcraftApi.addInfusionCraftingRecipe("Industrial Wand Charging Station", new ItemStack(BlockRegistry.emtMachines, 1, 0), 6, CraftingAspects.wandCharger, new ItemStack(ConfigBlocks.blockStoneDevice, 1, 5), new ItemStack[]{IC2Items.getItem("replicator"), IC2Items.getItem("iridiumPlate"), new ItemStack(Blocks.diamond_block), new ItemStack(ConfigItems.itemShard, 1, 5), new ItemStack(ConfigBlocks.blockJar)}); - - solarHelmetRevealing = ThaumcraftApi.addInfusionCraftingRecipe("Solar Helmet of Revealing", new ItemStack(ItemRegistry.solarHelmetRevealing), 5, CraftingAspects.solarHelmetRevealing, new ItemStack(ItemRegistry.quantumThaumicHelmet, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(BlockRegistry.emtSolars, 1, 1), IC2Items.getItem("glassFiberCableItem"), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemShard, 1, 4)}); - - electricBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe("Electric Boots of the Traveller", new ItemStack(ItemRegistry.electricBootsTraveller), 2, CraftingAspects.electricBootsTravel, new ItemStack(ConfigItems.itemBootsTraveller), new ItemStack[]{new ItemStack(Items.diamond), IC2Items.getItem("elemotor"), IC2Items.getItem("coil"), IC2Items.getItem("hazmatBoots"), new ItemStack(IC2Items.getItem("advBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE)}); - - nanoBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe("Nano Boots of the Traveller", new ItemStack(ItemRegistry.nanoBootsTraveller), 2, CraftingAspects.nanoBootsTravel, new ItemStack(ItemRegistry.electricBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(IC2Items.getItem("nanoBoots").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("energyCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE)}); - - quantumBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe("Quantum Boots of the Traveller", new ItemStack(ItemRegistry.quantumBootsTraveller), 2, CraftingAspects.quantumBootsTravel, new ItemStack(ItemRegistry.nanoBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Blocks.diamond_block), new ItemStack(IC2Items.getItem("quantumBoots").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("iridiumPlate")}); - - etheralProcessor = ThaumcraftApi.addInfusionCraftingRecipe("Etheral Processor", new ItemStack(BlockRegistry.emtMachines, 1, 1), 3, CraftingAspects.etherealProcessor, IC2Items.getItem("macerator"), new ItemStack[]{IC2Items.getItem("electroFurnace"), new ItemStack(ConfigBlocks.blockMetalDevice, 1, 9), new ItemStack(Blocks.end_stone), new ItemStack(Blocks.end_stone), new ItemStack(Blocks.iron_block), new ItemStack(Blocks.iron_block), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5)}); - - tripleCompressedSolar = ThaumcraftApi.addInfusionCraftingRecipe("Compressed Solars", new ItemStack(BlockRegistry.emtSolars, 1, 2), 2, CraftingAspects.compressedSolars, new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack[]{new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1)}); - - electricHoeGrowth = ThaumcraftApi.addInfusionCraftingRecipe("Electric Hoe of Growth", new ItemStack(ItemRegistry.electricHoeGrowth), 4, CraftingAspects.electricHoeGrowth, new ItemStack(ConfigItems.itemHoeElemental), new ItemStack[]{new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("electricHoe").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.dye, 1, 15), IC2Items.getItem("elemotor"), IC2Items.getItem("coil"), new ItemStack(Blocks.sapling, 1, OreDictionary.WILDCARD_VALUE)}); - - chargeFocus = ThaumcraftApi.addInfusionCraftingRecipe("Wand Focus: Charging", new ItemStack(ItemRegistry.chargeFocus), 4, CraftingAspects.chargeFocus, new ItemStack(IC2Items.getItem("advBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{IC2Items.getItem("generator"), IC2Items.getItem("batBox"), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ConfigItems.itemShard, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemShard, 1, OreDictionary.WILDCARD_VALUE)}); - - wandChargeFocus = ThaumcraftApi.addInfusionCraftingRecipe("Wand Focus: Wand Charging", new ItemStack(ItemRegistry.wandChargeFocus), 5, CraftingAspects.wandChargeFocus, new ItemStack(BlockRegistry.emtMachines, 1, 0), new ItemStack[]{new ItemStack(ItemRegistry.chargeFocus), new ItemStack(IC2Items.getItem("energyPack").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate")}); - - inventoryChargingRing = ThaumcraftApi.addInfusionCraftingRecipe("Inventory Charging Ring", new ItemStack(ItemRegistry.emtBauble, 1, 1), 6, CraftingAspects.inventoryChargingRing, new ItemStack(ConfigItems.itemBaubleBlanks, 1, 1), new ItemStack[]{new ItemStack(ItemRegistry.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("generator"), IC2Items.getItem("geothermalGenerator"), IC2Items.getItem("waterMill"), IC2Items.getItem("solarPanel"), IC2Items.getItem("windMill"), IC2Items.getItem("nuclearReactor")}); - - armorChargingRing = ThaumcraftApi.addInfusionCraftingRecipe("Armor Charging Ring", new ItemStack(ItemRegistry.emtBauble, 1, 0), 6, CraftingAspects.armorChargingRing, new ItemStack(ConfigItems.itemBaubleBlanks, 1, 1), new ItemStack[]{new ItemStack(ItemRegistry.electricBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("generator"), IC2Items.getItem("geothermalGenerator"), IC2Items.getItem("waterMill"), IC2Items.getItem("solarPanel"), IC2Items.getItem("windMill"), IC2Items.getItem("nuclearReactor")}); - - nanoWings = ThaumcraftApi.addInfusionCraftingRecipe("Nanosuit Wings", new ItemStack(ItemRegistry.nanoWing), 4, CraftingAspects.nanoWing, new ItemStack(ItemRegistry.thaumiumWing), new ItemStack[]{IC2Items.getItem("carbonPlate"), IC2Items.getItem("carbonPlate"), IC2Items.getItem("carbonPlate"), new ItemStack(IC2Items.getItem("nanoBodyarmor").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemResource, 1, 1)}); - - quantumWings = ThaumcraftApi.addInfusionCraftingRecipe("Quantum Wings", new ItemStack(ItemRegistry.quantumWing), 6, CraftingAspects.quantumWing, new ItemStack(ItemRegistry.nanoWing, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), new ItemStack(IC2Items.getItem("quantumBodyarmor").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemResource, 1, 1)}); - - /** Arcane Worktable Recipes **/ - - diamondOmnitool = ThaumcraftApi.addShapelessArcaneCraftingRecipe("Diamond Omnitool", new ItemStack(ItemRegistry.diamondOmnitool), CraftingAspects.diamondOmnitoolCrafting, new ItemStack(ItemRegistry.diamondChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("diamondDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE)); - - ironOmnitoolToDiamond = ThaumcraftApi.addArcaneCraftingRecipe("Diamond Omnitool", new ItemStack(ItemRegistry.diamondOmnitool), CraftingAspects.diamondOmnitoolCrafting, "XAX", "XBX", "XAX", 'X', new ItemStack(Items.diamond), 'A', IC2Items.getItem("advancedCircuit"), 'B', new ItemStack(ItemRegistry.ironOmnitool, 1, OreDictionary.WILDCARD_VALUE)); - - christmasFocus = ThaumcraftApi.addArcaneCraftingRecipe("Kris-tmas Focus", new ItemStack(ItemRegistry.christmasFocus), CraftingAspects.christmasFocusCrafting, "XYX", "YZY", "XYX", 'X', new ItemStack(Blocks.snow), 'Y', new ItemStack(Blocks.pumpkin), 'Z', new ItemStack(ConfigItems.itemFocusFrost)); - - electricGoggles = ThaumcraftApi.addArcaneCraftingRecipe("Electric Goggles", new ItemStack(ItemRegistry.electricGoggles), CraftingAspects.electricGogglesCrafting, " Y ", "AZA", "BXB", 'Z', new ItemStack(ConfigItems.itemGoggles), 'X', IC2Items.getItem("electronicCircuit"), 'Y', new ItemStack(Items.diamond_helmet), 'A', new ItemStack(IC2Items.getItem("chargedReBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'B', Items.repeater); - - shieldBlock = ThaumcraftApi.addArcaneCraftingRecipe("Shield Blocks", new ItemStack(BlockRegistry.shield, 8), CraftingAspects.shieldBlockCrafting, "XYX", "X X", "XYX", 'X', new ItemStack(Blocks.glass), 'Y', new ItemStack(Blocks.obsidian)); - - tinyUranium = ThaumcraftApi.addShapelessArcaneCraftingRecipe("Tiny Uranium", new ItemStack(IC2Items.getItem("smallUran235").getItem(), 7), CraftingAspects.tinyUraniumCrafting, IC2Items.getItem("Uran238")); - - compressedSolar = ThaumcraftApi.addArcaneCraftingRecipe("Compressed Solars", new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.compressedSolars, "XXX", "XXX", "XXX", 'X', IC2Items.getItem("solarPanel")); - - doubleCompressedSolar = ThaumcraftApi.addArcaneCraftingRecipe("Compressed Solars", new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.compressedSolars, "XXX", "XXX", "XXX", 'X', new ItemStack(BlockRegistry.emtSolars, 1, 0)); - - electricScribingTools = ThaumcraftApi.addArcaneCraftingRecipe("Electric Scribing Tools", new ItemStack(ItemRegistry.electricScribingTools), CraftingAspects.electricScribingTools, "YXY", "XZX", "YXY", 'Y', IC2Items.getItem("electronicCircuit"), 'X', new ItemStack(ConfigItems.itemInkwell), 'Z', new ItemStack(IC2Items.getItem("energyCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE)); - - thaumiumWing = ThaumcraftApi.addArcaneCraftingRecipe("Thaumium Reinforced Wings", new ItemStack(ItemRegistry.itemEMTItems, 1, 15), CraftingAspects.thaumiumWing, "XYZ", "XYZ", "XYZ", 'X', new ItemStack(ItemRegistry.itemEMTItems, 1, 14), 'Y', new ItemStack(ItemRegistry.itemEMTItems, 1, 5), 'Z', new ItemStack(ItemRegistry.itemEMTItems, 1, 13)); - - thaumiumWings = ThaumcraftApi.addArcaneCraftingRecipe("Thaumium Reinforced Wings", new ItemStack(ItemRegistry.thaumiumWing), CraftingAspects.thaumiumWing, "XX", 'X', new ItemStack(ItemRegistry.itemEMTItems, 1, 15)); - - /** Crucible Recipes **/ - - ignisGenerator = ThaumcraftApi.addCrucibleRecipe("Ignis Generator", new ItemStack(BlockRegistry.essentiaGens, 1, 1), new ItemStack(BlockRegistry.essentiaGens, 1, 0), CraftingAspects.ignisGeneratorCrafting); - - auramGenerator = ThaumcraftApi.addCrucibleRecipe("Auram Generator", new ItemStack(BlockRegistry.essentiaGens, 1, 2), new ItemStack(BlockRegistry.essentiaGens, 1, 0), CraftingAspects.auramGeneratorCrafting); - - arborGenerator = ThaumcraftApi.addCrucibleRecipe("Arbor Generator", new ItemStack(BlockRegistry.essentiaGens, 1, 3), new ItemStack(BlockRegistry.essentiaGens, 1, 0), CraftingAspects.arborGeneratorCrafting); - - waterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 3), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.waterSolars); - - doubleWaterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 4), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.waterSolars); - - tripleWaterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 5), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.waterSolars); - - darkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 6), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.darkSolars); - - doubleDarkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 7), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.darkSolars); - - tripleDarkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 8), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.darkSolars); - - orderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 9), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.orderSolars); - - doubleOrderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 10), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.orderSolars); - - tripleOrderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 11), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.orderSolars); - - fireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 12), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.fireSolars); - - doubleFireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 13), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.fireSolars); - - tripleFireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 14), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.fireSolars); - - airSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 15), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.airSolars); - - doubleAirSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 0), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.airSolars); - - tripleAirSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.airSolars); - - earthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 2), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.earthSolars); - - doubleEarthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 3), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.earthSolars); - - tripleEarthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 4), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.earthSolars); - - portableNode = ThaumcraftApi.addCrucibleRecipe("Portable Node", new ItemStack(BlockRegistry.portableNode), new ItemStack(ConfigItems.itemJarFilled), CraftingAspects.portableNode); - - /** IC2 Stuff related recipes **/ - - /* Ore Clusters Macerator Recipes */ - ItemStack ironClusterRecipe = IC2Items.getItem("smallIronDust").copy(); - ironClusterRecipe.stackSize = 22; - Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 16)), null, ironClusterRecipe); - - ItemStack goldClusterRecipe = IC2Items.getItem("smallGoldDust").copy(); - goldClusterRecipe.stackSize = 22; - Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 31)), null, goldClusterRecipe); - - ItemStack copperClusterRecipe = IC2Items.getItem("smallCopperDust").copy(); - copperClusterRecipe.stackSize = 22; - Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 17)), null, copperClusterRecipe); - - ItemStack tinClusterRecipe = IC2Items.getItem("smallTinDust").copy(); - tinClusterRecipe.stackSize = 22; - Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 18)), null, tinClusterRecipe); - - ItemStack silverClusterRecipe = IC2Items.getItem("smallSilverDust").copy(); - silverClusterRecipe.stackSize = 22; - Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 19)), null, silverClusterRecipe); - - ItemStack leadClusterRecipe = IC2Items.getItem("smallLeadDust").copy(); - leadClusterRecipe.stackSize = 22; - Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 20)), null, leadClusterRecipe); - - /* Thaumium Plates Recipes */ - thaumiumPlate = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.itemEMTItems, 1, 5), "X", "Y", "Z", 'Y', new ItemStack(ConfigItems.itemResource, 1, 2), 'X', new ItemStack(IC2Items.getItem("ForgeHammer").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'Z', new ItemStack(Blocks.obsidian)); - Recipes.metalformerRolling.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemResource, 1, 2)), null, new ItemStack(ItemRegistry.itemEMTItems, 1, 5)); - - /* Iron Sheet Recipe */ - Recipes.metalformerRolling.addRecipe(new RecipeInputItemStack(IC2Items.getItem("denseplateiron")), null, new ItemStack(ItemRegistry.itemEMTItems, 1, 13)); - - /* Ore Processing for Amber and Cinnabar */ - if (Config.removeAmberAndCinnabarMacerating == true) { - for (Iterator it = Recipes.macerator.getRecipes().keySet().iterator(); it.hasNext(); ) { - IRecipeInput input = it.next(); - if (input.matches(new ItemStack(ConfigBlocks.blockCustomOre, 1, 7))) { - it.remove(); - FMLLog.info("[EMT] Electro-Magic Tools : Removing conflicting amber macerating recipe(s)"); - } - } - - for (Iterator it = Recipes.macerator.getRecipes().keySet().iterator(); it.hasNext(); ) { - IRecipeInput input = it.next(); - if (input.matches(new ItemStack(ConfigBlocks.blockCustomOre, 1, 0))) { - it.remove(); - FMLLog.info("[EMT] Electro-Magic Tools : Removing Conflicting cinnabar macerating recipe(s)"); - } - } - } - ItemStack crushedAmberRecipe = new ItemStack(ItemRegistry.itemEMTItems, 1, 1); - crushedAmberRecipe.stackSize = 2; - Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigBlocks.blockCustomOre, 1, 7)), null, crushedAmberRecipe); - - ItemStack crushedCinnabarRecipe = new ItemStack(ItemRegistry.itemEMTItems, 1, 3); - crushedCinnabarRecipe.stackSize = 2; - Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigBlocks.blockCustomOre, 1, 0)), null, crushedCinnabarRecipe); - - NBTTagCompound waterAmount = new NBTTagCompound(); - waterAmount.setInteger("amount", 1000); - - ItemStack smallCopperDust = IC2Items.getItem("smallCopperDust"); - smallCopperDust.stackSize = 2; - ItemStack smallTinDust = IC2Items.getItem("smallTinDust"); - smallCopperDust.stackSize = 2; - - Recipes.oreWashing.addRecipe(new RecipeInputItemStack(new ItemStack(ItemRegistry.itemEMTItems, 1, 1)), waterAmount, new ItemStack[]{new ItemStack(ItemRegistry.itemEMTItems, 1, 2), smallCopperDust, IC2Items.getItem("stoneDust")}); - Recipes.oreWashing.addRecipe(new RecipeInputItemStack(new ItemStack(ItemRegistry.itemEMTItems, 1, 3)), waterAmount, new ItemStack[]{new ItemStack(ItemRegistry.itemEMTItems, 1, 4), smallTinDust, IC2Items.getItem("stoneDust")}); - - NBTTagCompound heatAmount = new NBTTagCompound(); - heatAmount.setInteger("minHeat", 1000); - - Recipes.centrifuge.addRecipe(new RecipeInputItemStack(new ItemStack(ItemRegistry.itemEMTItems, 1, 2)), heatAmount, new ItemStack[]{IC2Items.getItem("smallCopperDust"), new ItemStack(ConfigItems.itemResource, 1, 6)}); - Recipes.centrifuge.addRecipe(new RecipeInputItemStack(new ItemStack(ItemRegistry.itemEMTItems, 1, 4)), heatAmount, new ItemStack[]{IC2Items.getItem("smallTinDust"), new ItemStack(ConfigItems.itemResource, 1, 3)}); - } - - public static InfusionRecipe thaumiumDrill; - public static InfusionRecipe thaumiumChainsaw; - public static InfusionRecipe thaumicQuantumHelmet; - public static InfusionRecipe thaumiumOmnitool; - public static InfusionRecipe thaumicNanoHelmet; - public static InfusionRecipe explosionFocus; - public static InfusionRecipe shieldFocus; - public static InfusionRecipe potentiaGenerator; - public static InfusionRecipe streamChainsaw; - public static InfusionRecipe rockbreakerDrill; - public static InfusionRecipe thorHammer; - public static InfusionRecipe superchargedThorHammer; - public static InfusionRecipe wandRecharger; - public static InfusionRecipe solarHelmetRevealing; - public static InfusionRecipe electricBootsTravel; - public static InfusionRecipe nanoBootsTravel; - public static InfusionRecipe quantumBootsTravel; - public static InfusionRecipe diamondOmnitoolToThaumium; - public static InfusionRecipe etheralProcessor; - public static InfusionRecipe tripleCompressedSolar; - public static InfusionRecipe electricHoeGrowth; - public static InfusionRecipe chargeFocus; - public static InfusionRecipe wandChargeFocus; - public static InfusionRecipe inventoryChargingRing; - public static InfusionRecipe armorChargingRing; - public static InfusionRecipe nanoWings; - public static InfusionRecipe quantumWings; - - public static ShapelessArcaneRecipe diamondOmnitool; - public static ShapelessArcaneRecipe tinyUranium; - public static ShapedArcaneRecipe christmasFocus; - public static ShapedArcaneRecipe electricGoggles; - public static ShapedArcaneRecipe shieldBlock; - public static ShapedArcaneRecipe compressedSolar; - public static ShapedArcaneRecipe doubleCompressedSolar; - public static ShapedArcaneRecipe ironOmnitoolToDiamond; - public static ShapedArcaneRecipe electricScribingTools; - public static ShapedArcaneRecipe thaumiumWing; - public static ShapedArcaneRecipe thaumiumWings; - - public static CrucibleRecipe ignisGenerator; - public static CrucibleRecipe auramGenerator; - public static CrucibleRecipe arborGenerator; - public static CrucibleRecipe waterSolar; - public static CrucibleRecipe doubleWaterSolar; - public static CrucibleRecipe tripleWaterSolar; - public static CrucibleRecipe darkSolar; - public static CrucibleRecipe doubleDarkSolar; - public static CrucibleRecipe tripleDarkSolar; - public static CrucibleRecipe orderSolar; - public static CrucibleRecipe doubleOrderSolar; - public static CrucibleRecipe tripleOrderSolar; - public static CrucibleRecipe fireSolar; - public static CrucibleRecipe doubleFireSolar; - public static CrucibleRecipe tripleFireSolar; - public static CrucibleRecipe airSolar; - public static CrucibleRecipe doubleAirSolar; - public static CrucibleRecipe tripleAirSolar; - public static CrucibleRecipe earthSolar; - public static CrucibleRecipe doubleEarthSolar; - public static CrucibleRecipe tripleEarthSolar; - public static CrucibleRecipe portableNode; - - public static IRecipe thaumiumPlate; -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityArborGenerator.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityArborGenerator.java deleted file mode 100644 index b3f949e..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityArborGenerator.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile; - -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import ic2.api.energy.prefab.BasicSource; -import net.minecraftforge.common.util.ForgeDirection; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.common.lib.events.EssentiaHandler; - -public class TileEntityArborGenerator extends TileEntityEMT { - int x; - int y; - int z; - public ForgeDirection orientation; - public static int waitTime; - - public TileEntityArborGenerator() { - orientation = ForgeDirection.getOrientation(1); - waitTime = 30; - } - - private BasicSource energySource = new BasicSource(this, 1000000000, 3); - - @Override - public void updateEntity() { - energySource.updateEntity(); - - if (waitTime > 0) { - waitTime--; - } - - if (waitTime <= 0) { - if ((!this.worldObj.isRemote) && (EssentiaHandler.drainEssentia(this, Aspect.TREE, ForgeDirection.UNKNOWN, 8))) { - energySource.addEnergy(Config.arborGenOutput); - } - waitTime = Config.essentiaGeneratorsDelay; - - } - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - onChunkUnload(); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityAuramGenerator.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityAuramGenerator.java deleted file mode 100644 index 487eadf..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityAuramGenerator.java +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile; - -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import ic2.api.energy.prefab.BasicSource; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.common.lib.events.EssentiaHandler; - -public class TileEntityAuramGenerator extends TileEntityEMT { - int x; - int y; - int z; - public ForgeDirection orientation; - public static int waitTime; - private BasicSource energySource = new BasicSource(this, 1000000000, 3); - - public TileEntityAuramGenerator() { - orientation = ForgeDirection.getOrientation(1); - waitTime = 30; - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - - if (waitTime > 0) { - waitTime--; - } - - if (waitTime <= 0) { - if ((!this.worldObj.isRemote) && (EssentiaHandler.drainEssentia(this, Aspect.AURA, ForgeDirection.UNKNOWN, 8))) { - energySource.addEnergy(Config.auramGenOutput); - } - waitTime = Config.essentiaGeneratorsDelay; - } - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void readFromNBT(NBTTagCompound tag) { - super.readFromNBT(tag); - energySource.readFromNBT(tag); - } - - @Override - public void writeToNBT(NBTTagCompound tag) { - super.writeToNBT(tag); - energySource.writeToNBT(tag); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityIgnisGenerator.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityIgnisGenerator.java deleted file mode 100644 index ae38e06..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityIgnisGenerator.java +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile; - -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import ic2.api.energy.prefab.BasicSource; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.common.lib.events.EssentiaHandler; - -public class TileEntityIgnisGenerator extends TileEntityEMT { - int x; - int y; - int z; - public ForgeDirection orientation; - public static int waitTime; - private BasicSource energySource = new BasicSource(this, 1000000000, 3); - - public TileEntityIgnisGenerator() { - orientation = ForgeDirection.getOrientation(1); - waitTime = 30; - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - - if (waitTime > 0) { - waitTime--; - } - - if (waitTime <= 0) { - if ((!this.worldObj.isRemote) && (EssentiaHandler.drainEssentia(this, Aspect.FIRE, ForgeDirection.UNKNOWN, 8))) { - energySource.addEnergy(6000); - } - waitTime = Config.essentiaGeneratorsDelay; - } - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void readFromNBT(NBTTagCompound tag) { - super.readFromNBT(tag); - energySource.readFromNBT(tag); - } - - @Override - public void writeToNBT(NBTTagCompound tag) { - super.writeToNBT(tag); - energySource.writeToNBT(tag); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityPotentiaGenerator.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityPotentiaGenerator.java deleted file mode 100644 index 3aaa7b7..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityPotentiaGenerator.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile; - -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import ic2.api.energy.prefab.BasicSource; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.common.lib.events.EssentiaHandler; - -public class TileEntityPotentiaGenerator extends TileEntityEMT { - int x; - int y; - int z; - public ForgeDirection orientation; - public static int waitTime; - - public TileEntityPotentiaGenerator() { - orientation = ForgeDirection.getOrientation(1); - waitTime = 30; - } - - private BasicSource energySource = new BasicSource(this, 1000000000, 3); - - @Override - public void updateEntity() { - energySource.updateEntity(); - - if (waitTime > 0) { - waitTime--; - } - - if (waitTime <= 0) { - if ((!this.worldObj.isRemote) && (EssentiaHandler.drainEssentia(this, Aspect.ENERGY, ForgeDirection.UNKNOWN, 8))) { - energySource.addEnergy(Config.potentiaGenOutput); - } - waitTime = Config.essentiaGeneratorsDelay; - } - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - onChunkUnload(); - } - - @Override - public void readFromNBT(NBTTagCompound tag) { - super.readFromNBT(tag); - energySource.readFromNBT(tag); - } - - @Override - public void writeToNBT(NBTTagCompound tag) { - super.writeToNBT(tag); - energySource.writeToNBT(tag); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/slot/SlotWandOnly.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/slot/SlotWandOnly.java deleted file mode 100644 index 0dd28d9..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/slot/SlotWandOnly.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.slot; - -import electricMagicTools.tombenpotter.electricmagictools.common.tile.container.ContainerIndustrialWandRecharge; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; -import thaumcraft.common.items.wands.ItemWandCasting; - -public class SlotWandOnly extends Slot { - final ContainerIndustrialWandRecharge charger; - - public SlotWandOnly(ContainerIndustrialWandRecharge indCharger, IInventory inv, int par3, int par4, int par5) { - super(inv, par3, par4, par5); - this.charger = indCharger; - } - - @Override - public boolean isItemValid(ItemStack par1ItemStack) { - if (!(par1ItemStack.getItem() instanceof ItemWandCasting)) - return false; - - ItemWandCasting wand = (ItemWandCasting) par1ItemStack.getItem(); - return wand.getCap(par1ItemStack).getBaseCostModifier() <= 1F; - } - - @Override - public int getSlotStackLimit() { - return 1; - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityAirSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityAirSolar.java deleted file mode 100644 index 86d2d17..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityAirSolar.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityAirSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 1); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityAirSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible && this.yCoord >= 160) { - energySource.addEnergy(Config.compressedSolarOutput * 2.5); - } else if (theSunIsVisible) { - energySource.addEnergy(Config.compressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 15); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityCompressedSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityCompressedSolar.java deleted file mode 100644 index 10ed374..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityCompressedSolar.java +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityCompressedSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 1); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityCompressedSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible) { - energySource.addEnergy(Config.compressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 0); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDarkSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDarkSolar.java deleted file mode 100644 index 940c436..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDarkSolar.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityDarkSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 1); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityDarkSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - if (worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord) && worldObj.isDaytime() == false && worldObj.isRaining() == false && worldObj.isThundering() == false) { - energySource.addEnergy(Config.compressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 6); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleAirSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleAirSolar.java deleted file mode 100644 index ec493bf..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleAirSolar.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityDoubleAirSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 2); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityDoubleAirSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible && this.yCoord >= 160) { - energySource.addEnergy(Config.doubleCompressedSolarOutput * 2.5); - } else if (theSunIsVisible) { - energySource.addEnergy(Config.doubleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars2, 1, 0); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleCompressedSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleCompressedSolar.java deleted file mode 100644 index a6f1312..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleCompressedSolar.java +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityDoubleCompressedSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 2); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityDoubleCompressedSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible) { - energySource.addEnergy(Config.doubleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 1); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleDarkSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleDarkSolar.java deleted file mode 100644 index ddf5c57..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleDarkSolar.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityDoubleDarkSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 2); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityDoubleDarkSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - if (worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord) && worldObj.isDaytime() == false && worldObj.isRaining() == false && worldObj.isThundering() == false) { - energySource.addEnergy(Config.doubleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 7); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleEarthSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleEarthSolar.java deleted file mode 100644 index 904664d..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleEarthSolar.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityDoubleEarthSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 2); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityDoubleEarthSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible && this.yCoord <= 10) { - energySource.addEnergy(Config.doubleCompressedSolarOutput * 2.5); - } else if (theSunIsVisible) { - energySource.addEnergy(Config.doubleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars2, 1, 3); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleFireSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleFireSolar.java deleted file mode 100644 index cb37253..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleFireSolar.java +++ /dev/null @@ -1,119 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityDoubleFireSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 3); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - - public TileEntityDoubleFireSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - initialized = true; - } - - if (worldObj.provider.dimensionId == -1) { - energySource.addEnergy(Config.doubleCompressedSolarOutput * 2); - } else { - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible) { - energySource.addEnergy(Config.doubleCompressedSolarOutput); - } - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 13); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleOrderSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleOrderSolar.java deleted file mode 100644 index 160b93e..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleOrderSolar.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityDoubleOrderSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 3); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityDoubleOrderSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - if (theSunIsVisible) { - energySource.addEnergy(Config.doubleCompressedSolarOutput * 3); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 10); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleWaterSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleWaterSolar.java deleted file mode 100644 index 2ea705b..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleWaterSolar.java +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityDoubleWaterSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 2); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityDoubleWaterSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (worldObj.isRaining() && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord) || worldObj.isThundering() && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord)) { - energySource.addEnergy(Config.doubleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 4); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityEarthSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityEarthSolar.java deleted file mode 100644 index 897d0aa..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityEarthSolar.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityEarthSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 1); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityEarthSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible && this.yCoord <= 10) { - energySource.addEnergy(Config.compressedSolarOutput * 2.5); - } else if (theSunIsVisible) { - energySource.addEnergy(Config.compressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars2, 1, 2); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityFireSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityFireSolar.java deleted file mode 100644 index 88255d4..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityFireSolar.java +++ /dev/null @@ -1,119 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityFireSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 1); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - - public TileEntityFireSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - initialized = true; - } - - if (worldObj.provider.dimensionId == -1) { - energySource.addEnergy(Config.compressedSolarOutput * 2); - } else { - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible) { - energySource.addEnergy(Config.compressedSolarOutput); - } - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 12); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleAirSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleAirSolar.java deleted file mode 100644 index 6ae2066..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleAirSolar.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityTripleAirSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 1000000, 5); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityTripleAirSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible && this.yCoord >= 160) { - energySource.addEnergy(Config.tripleCompressedSolarOutput * 2.5); - } else if (theSunIsVisible) { - energySource.addEnergy(Config.tripleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars2, 1, 1); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleCompressedSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleCompressedSolar.java deleted file mode 100644 index 19fe8c8..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleCompressedSolar.java +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityTripleCompressedSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 1000000, 3); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityTripleCompressedSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible) { - energySource.addEnergy(Config.tripleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 2); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleDarkSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleDarkSolar.java deleted file mode 100644 index 150fb18..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleDarkSolar.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityTripleDarkSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 1000000, 3); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityTripleDarkSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - if (worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord) && worldObj.isDaytime() == false && worldObj.isRaining() == false && worldObj.isThundering() == false) { - energySource.addEnergy(Config.tripleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 8); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleEarthSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleEarthSolar.java deleted file mode 100644 index d144022..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleEarthSolar.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityTripleEarthSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 1000000, 5); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityTripleEarthSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible && this.yCoord <= 10) { - energySource.addEnergy(Config.tripleCompressedSolarOutput * 2.5); - } else if (theSunIsVisible) { - energySource.addEnergy(Config.tripleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars2, 1, 4); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleFireSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleFireSolar.java deleted file mode 100644 index 51db66e..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleFireSolar.java +++ /dev/null @@ -1,119 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityTripleFireSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 1000000, 5); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - - public TileEntityTripleFireSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - initialized = true; - } - - if (worldObj.provider.dimensionId == -1) { - energySource.addEnergy(Config.tripleCompressedSolarOutput * 2); - } else { - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible) { - energySource.addEnergy(Config.tripleCompressedSolarOutput); - } - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 14); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleOrderSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleOrderSolar.java deleted file mode 100644 index d805045..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleOrderSolar.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityTripleOrderSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 1000000, 5); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityTripleOrderSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - if (theSunIsVisible) { - energySource.addEnergy(Config.tripleCompressedSolarOutput * 3); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 11); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleWaterSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleWaterSolar.java deleted file mode 100644 index 8c0f498..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleWaterSolar.java +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityTripleWaterSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 1000000, 3); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityTripleWaterSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (worldObj.isRaining() && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord) || worldObj.isThundering() && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord)) { - energySource.addEnergy(Config.tripleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 5); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityWaterSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityWaterSolar.java deleted file mode 100644 index 8c7c2dc..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityWaterSolar.java +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityWaterSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 1); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityWaterSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (worldObj.isRaining() && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord) || worldObj.isThundering() && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord)) { - energySource.addEnergy(Config.compressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 3); - } -} diff --git a/src/main/java/ic2/api/Direction.class b/src/main/java/ic2/api/Direction.class new file mode 100644 index 0000000000000000000000000000000000000000..9377993096c313361c53c27b9bc69fea24947f82 GIT binary patch literal 3644 zcmb7G`&$&}6@EYVGPBF5fMNn-iW(}H$QGiBg0&`!aT5fSRm@`AIxGW@?(S@dS%UVG zn%>)_O-gU+{hHp=maGP7Oxyg_ANnu#dD^~bn6R_U<}rn5&i9@9&UwH0JLi07_Fw;b z`|kjT@lFC!d@2bS3mQf=cu5SQEMieso=;#2HyddK9vT#d; zZ}MUiU%(edd`ZKXHGD7@i-#y3U%mX23+yeiXgC(({&0s4+? z_+1^tqI^$yd|$_58GoSTh>Wl4ctpk@>UdPfAL%$Mwb-wt|q~al2@HCxqYD<#gYaLe#rzlYb&(&lgRv>=G%`D+}A^ zT&Iw+XRRqYq9CLjlZr0TNI|8^L43|Q?!2`bYlYLj<3-C$6&Qe=YtDIdvYyI0g@RK| zl|4J3s`YrEvqzX1h1CCv#dBmlGk5)*Sqj3{YL-g*8yB1lcHSB*dbW2%VZ4rFimWWl zUrbf)NUY`{?_E!`PtMZk)!D}!~emySKPfllFZ^c|L@nKxlO_os3aoky!NYmvsn}dd*X)t-Oc~#~uFI`-;+y&XNw{dke zdrqi`SXwL-jgC@p3N4;fn|y^K0@a-Jp7o-jAJ653LhlJ5yjU(AZ*Y-LumL19PT9>_ zXP9V(?VIH~C^yl-s5HV613$+v6k4}55CbRiO9Nv#W8j#W{>s3w@w9>8z&7wCp3?BT zf#2eH27Zro2L2%8k0LJNSp(N#GmHk_z@H5K8Gm7usy2YlY$w@)H16So#Z{u!o;$b{&;IN1zA|4U(sEDH?j^m>YXqDU;lc3O1lhRbE+!SKD zyi;Trb}{o+zsZ?v?AFZGk#Orel{Xg_Mnh(s{j%yQJJRn^&6fA7B39+aiKiweFY!a5 zvEc2ZnO8VagVFfHD>O68{w*bEg}wC!96l|1#g|UWjpF3Sdy|{NqVyIYpR&jwJ;WR0A$v35%xGfCWJN(aKeQgBnrR!{QAC-^Sc1CQ{wb{Z= zX?zO9vQrJedlkg!$szub7~)SP{bUD!COr&rWZC;8E8ibk{Qk)L_eWjf32DJC-GQde*{e%Z+9ZvzmC|uh>Al~ zjl<)7V+78paN1vIf1;IaIfMxR0j+P}7L{PVM~zt7sm$1B1^tKHFEZqn_eXA9eSJLvUK~hv!91 z5l%^u-hfpjgw?p;a{QfSHqtejjqaVy#@eHkBe9McdAG#!&kgpkq4mn-z&}wO=!iuI zJ7Q5jvB6cey@tzmuXe7C#P6a#dl$R2Yq+oN{#A64W#=92Sw&adUaEp2^9THSG&C2? zu2p|4kF`pPPW{Plo>jslahar56|2<7kA zT|~2O2O?{D@HTpU<-<{5Ip{0BF<jtDrBFjaM*`$!ZlG%4GElQkmOO>-flRXwm>S8qR*`obSLk>_jK-$3b+l$?aqF W>EW$y#!W0R${Wp~2#2;!DE$xjbxpbe literal 0 HcmV?d00001 diff --git a/src/api/java/ic2/api/Direction.java b/src/main/java/ic2/api/Direction.java similarity index 78% rename from src/api/java/ic2/api/Direction.java rename to src/main/java/ic2/api/Direction.java index 64350dd..f0c687b 100644 --- a/src/api/java/ic2/api/Direction.java +++ b/src/main/java/ic2/api/Direction.java @@ -12,41 +12,39 @@ public enum Direction { /** * -X */ - XN(0), + XN, /** * +X */ - XP(1), + XP, /** * -Y */ - YN(2), //MC-Code starts with 0 here + YN, //MC-Code starts with 0 here /** * +Y */ - YP(3), // 1... + YP, // 1... /** * -Z */ - ZN(4), + ZN, /** * +Z */ - ZP(5); + ZP; - Direction(int dir1) { - this.dir = dir1; + public static Direction fromSideValue(int side) { + return directions[(side + 2) % 6]; } - /*public CoordinateTuple ApplyToCoordinates(CoordinateTuple coordinates) { - CoordinateTuple ret = new CoordinateTuple(coordinates); + public static Direction fromForgeDirection(ForgeDirection dir) { + if (dir == ForgeDirection.UNKNOWN) return null; - ret.coords[dir/2] += GetSign(); - - return ret; - }*/ + return fromSideValue(dir.ordinal()); + } /** * Get the tile entity next to a tile entity following this direction. @@ -70,7 +68,7 @@ public enum Direction { public TileEntity applyTo(World world, int x, int y, int z) { int coords[] = { x, y, z }; - coords[dir/2] += getSign(); + coords[ordinal() / 2] += getSign(); if (world != null && world.blockExists(coords[0], coords[1], coords[2])) { try { @@ -89,13 +87,7 @@ public enum Direction { * @return Inverse direction */ public Direction getInverse() { - int inverseDir = dir - getSign(); - - for (Direction direction : directions) { - if (direction.dir == inverseDir) return direction; - } - - return this; + return directions[ordinal() ^ 1]; } /** @@ -104,7 +96,7 @@ public enum Direction { * @return Minecraft side value */ public int toSideValue() { - return (dir + 4) % 6; + return (ordinal() + 4) % 6; } /** @@ -113,14 +105,13 @@ public enum Direction { * @return -1 if the direction is negative, +1 if the direction is positive */ private int getSign() { - return (dir % 2) * 2 - 1; + return (ordinal() % 2) * 2 - 1; } public ForgeDirection toForgeDirection() { return ForgeDirection.getOrientation(toSideValue()); } - private int dir; public static final Direction[] directions = Direction.values(); } diff --git a/src/api/java/ic2/api/crops/BaseSeed.class b/src/main/java/ic2/api/crops/BaseSeed.class similarity index 100% rename from src/api/java/ic2/api/crops/BaseSeed.class rename to src/main/java/ic2/api/crops/BaseSeed.class diff --git a/src/api/java/ic2/api/crops/BaseSeed.java b/src/main/java/ic2/api/crops/BaseSeed.java similarity index 100% rename from src/api/java/ic2/api/crops/BaseSeed.java rename to src/main/java/ic2/api/crops/BaseSeed.java diff --git a/src/main/java/ic2/api/crops/CropCard.class b/src/main/java/ic2/api/crops/CropCard.class new file mode 100644 index 0000000000000000000000000000000000000000..542b9b664ee103b38723ffa7dcad3af723227380 GIT binary patch literal 5235 zcmbVPX?GOI6}>gPq}B?Oz=%~+kc6ahWCOM_n>H9C7BdPC5C^wrT2iB#o=H!S0B6Aq z+3YwW&I(B!7RO{E7;hr71F^p(IXU?si9a|$z#+@6>eetCMuL;!P}N=a>eYMqy?0;h zum5@P7Jxo{Scwii8^LpxSdZr;cp;24l?dWlIeaaGugm!x5qwkbe=Cd^D>%Ot!MEl6 z%MpA>?tixmXYsu%yn^pX@B_K?L;3Qf(Dr|htDk)PabP=d3~m4Docx`aOFxmrIXS4; zpUS77$>HZ=yjqD?{GtLEaIuoZr7$js@tQ!yF-|&p+sFy5I67h(PBd*=M#9#|ooL=M zQ_)x~k+HT2EI*jH95ZbkGIQow%GhaH8Ao@_jK!1dMiSW*(R3!6i;kyLQQJuAc`Gq# z*wMI|H1=DmQ&bR~)>C;yVAZ0+6bucF#D?~b^5JpQGM#M#{*KN=0)c@{lILqjXyCql zdd#p#by_0OFp^2=sYAML%6D%u;7pn{ZP|#K=!@!EGn%k7*<5sh%Sj zqjTiAKCMSnx-}7vJGN;}a92y3xkP5#u#IH@DGDczTtc9+BUV;g@T!J#YJ@2uVst@w z9DyZA%gI#79X&C%SI;Wb!`KWDsm)!pu2_9nadP zI`c?JN%kaCreQfu1}jMr?WmV%ZbBXOj&G5H)l8>|9LVb5`)(w6!Ob7D$hcwyBg{!$zDN3$vY z6r(bv-VUgjEuAzw?7}wb*Hy{YKh!4)U~>;eq)yXfoGasWIAORoQ$0try^>coJcv&dq}V{;no&bfYuJl@0uX2}rQQC# znIc(ecpX;+eBEm_{0fh-6uLF+#~!lzLJdkoC%PDVlKo?n2cu&WLup5^hRsR`A700= z!}yJc-{NW*zteCHZ%}7cc8HwIV{Vr?_F!+;n$Qr#9u3#=riQoV@HXDj@Gjoaa9j>E za=0Of-(yyweZFn;Kprut*;V?PTqcenCDW}!r!%$$yva((TNNxx^M8+lUPQ5$k1Rxv zecX(4W(^|Pbpzr}KKSqu$B*i+%-L1a!&xfvH~6k|Dps+& zNQK{3LD9#s#XTz4!cSv?GhH+A@9q8*BHg#nBh(PMzT!Lvy8V6ox^D$9V)Oe59=?H4 z&kVv15f0sfK8`b};C|>Lnv3@e z;xu+(CovksI!~^jlFJdgjhZk9e7EIi-{2<@k=tnH6Aukxn4=8WCeA+2zQ9#E7R742 zGN8%bEnMrvF6@S2)JS0}dY{3Fn#sLtCY@4~zyUnLv+|BBG*TMBr;9PEx(V%FR0p=U zbiIS>TbHp(&MkrD1`o)F8lp|XT22jh99m{j&$!H@!H4)6pSbehKg+ywfo-C0Ad4#4 zXhIGHoMXr<+t*O0nvh7Kq>p25T;p4VD&?#0BOQDHI)QTpo6wTNumMN3Ec*SZDLK%$B1vfW)8B)uh zC&Bcof~-M6yNx=Mgph#J)GrcH*WknKYqFTyH_*hDEZbSEQsZhhu2JJ!fmy5z@pEq; z!HTvbtlJAlw0lMf5?Ri>W}`aE7?$)?(OaZ~f11jE%AY8xa0+E#2)U}3BAyo;i*%F= zdH&vJY%5Yx&W!2%Fk`q#M>#W2;G~Df)0}1C>bpNg>p4_)e}L8*v|TOY0aZHU0K(!4 z#y_r9yQN!SK&jqCiHdLv&v?=HL)23Lm+tNKu_A-ZIsN4VZ;=*Mmb7_!d=V?$bUB9_ zH)HCSEx={MEV`wwV0)WqyX;>f_*eON@Gm!fg&oe#%Rb&Gzn>y+p`EqzsS+|1Ii=NY P5_60!@Kv7h;q?Cilz2H` literal 0 HcmV?d00001 diff --git a/src/api/java/ic2/api/crops/CropCard.java b/src/main/java/ic2/api/crops/CropCard.java similarity index 86% rename from src/api/java/ic2/api/crops/CropCard.java rename to src/main/java/ic2/api/crops/CropCard.java index 31c79d9..0c804e1 100644 --- a/src/api/java/ic2/api/crops/CropCard.java +++ b/src/main/java/ic2/api/crops/CropCard.java @@ -15,8 +15,7 @@ import cpw.mods.fml.relauncher.SideOnly; * * Any crop extending this can be registered using registerCrop to be added into the game. */ -public abstract class CropCard -{ +public abstract class CropCard { /** * Plant name. Will be displayed to the player. * @@ -29,7 +28,7 @@ public abstract class CropCard * * @return Your name */ - public String discoveredBy() {return "Alblaka";} + public String discoveredBy() {return "IC2 Team";} /** * Description of your plant. Keep it short, a few characters per line for up to two lines. @@ -38,15 +37,12 @@ public abstract class CropCard * @param i line to get, starting from 0 * @return The line */ - public String desc(int i) - { + public String desc(int i) { String[] att = attributes(); - if (att == null || att.length==0) return ""; - if (i == 0) - { + if (att == null || att.length == 0) return ""; + if (i == 0) { String s = att[0]; - if (att.length >= 2) - { + if (att.length >= 2) { s+=", "+att[1]; if (att.length >= 3) s+=","; } @@ -58,6 +54,15 @@ public abstract class CropCard return s; } + /** + * * + * @param crop reference to ICropTile + * @return roots lengt use in isBlockBelow + */ + public int getrootslength(ICropTile crop){ + return 1; + } + /** * Tier of the plant. Ranges from 1 to 16, 0 is Weed. * Valuable and powerful crops have higher tiers, useless and weak ones have lower tiers. @@ -137,8 +142,7 @@ public abstract class CropCard * Amount of growth points needed to increase the plant's size. * Default is 200 * tier. */ - public int growthDuration(ICropTile crop) - { + public int growthDuration(ICropTile crop) { return tier()*200; } @@ -171,8 +175,7 @@ public abstract class CropCard * @param air air quality, influences by open gardens and less crops surrounding this one * @return 0-30 */ - public int weightInfluences(ICropTile crop, float humidity, float nutrients, float air) - { + public int weightInfluences(ICropTile crop, float humidity, float nutrients, float air) { return (int) (humidity+nutrients+air); } @@ -182,8 +185,7 @@ public abstract class CropCard * * @param crop crop to crossbreed with */ - public boolean canCross(ICropTile crop) - { + public boolean canCross(ICropTile crop) { return crop.getSize() >= 3; } @@ -198,11 +200,19 @@ public abstract class CropCard * @param player player rightclicking the crop * @return Whether the plant has changed */ - public boolean rightclick(ICropTile crop, EntityPlayer player) - { + public boolean rightclick(ICropTile crop, EntityPlayer player) { return crop.harvest(true); } + /** + * Use in Crop Havester with insert Cropnalyzer to get best Output. + * + * @param crop reference to ICropTile + * @return need crop size for best output. + */ + + public abstract int getOptimalHavestSize(ICropTile crop); + /** * Check whether the crop can be harvested. * @@ -217,8 +227,7 @@ public abstract class CropCard * * @return Chance to drop the gains */ - public float dropGainChance() - { + public float dropGainChance() { float base = 1F; for (int i = 0; i < tier(); i++) {base*=0.95;} return base; @@ -252,8 +261,7 @@ public abstract class CropCard * @param player player leftclicked the crop * @return Whether the plant has changed */ - public boolean leftclick(ICropTile crop, EntityPlayer player) - { + public boolean leftclick(ICropTile crop, EntityPlayer player) { return crop.pick(true); } @@ -264,8 +272,7 @@ public abstract class CropCard * @param crop reference to ICropTile * @return Chance to drop the seeds */ - public float dropSeedChance(ICropTile crop) - { + public float dropSeedChance(ICropTile crop) { if (crop.getSize() == 1) return 0; float base = 0.5F; if (crop.getSize() == 2) base/=2F; @@ -281,8 +288,7 @@ public abstract class CropCard * @param crop reference to ICropTile * @return Seeds */ - public ItemStack getSeeds(ICropTile crop) - { + public ItemStack getSeeds(ICropTile crop) { return crop.generateSeeds(crop.getID(), crop.getGrowth(), crop.getGain(), crop.getResistance(), crop.getScanLevel()); } @@ -291,7 +297,7 @@ public abstract class CropCard * * @param crop reference to ICropTile */ - public void onNeighbourChange(ICropTile crop){ + public void onNeighbourChange(ICropTile crop) { // } @@ -300,14 +306,14 @@ public abstract class CropCard * * @return Whether the crop should emit redstone */ - public int emitRedstone(ICropTile crop){return 0;} + public int emitRedstone(ICropTile crop) {return 0;} /** * Called when the crop is destroyed. * * @param crop reference to ICropTile */ - public void onBlockDestroyed(ICropTile crop){ + public void onBlockDestroyed(ICropTile crop) { // } @@ -326,11 +332,9 @@ public abstract class CropCard * @param entity entity colliding * @return Whether trampling calculation should happen, return false if the plant is no longer valid. */ - public boolean onEntityCollision(ICropTile crop, Entity entity) - { - if (entity instanceof EntityLivingBase) - { - return ((EntityLivingBase)entity).isSprinting(); + public boolean onEntityCollision(ICropTile crop, Entity entity) { + if (entity instanceof EntityLivingBase) { + return ((EntityLivingBase) entity).isSprinting(); } return false; } @@ -353,9 +357,8 @@ public abstract class CropCard * @param crop reference to ICropTile * @return Whether the plant spreads weed */ - public boolean isWeed(ICropTile crop) - { - return crop.getSize()>=2 && (crop.getID()==0 || crop.getGrowth()>=24); + public boolean isWeed(ICropTile crop) { + return crop.getSize() >= 2 && (crop.getID() == 0 || crop.getGrowth() >= 24); } @@ -364,8 +367,7 @@ public abstract class CropCard * * @return ID of this CropCard or -1 if it's not registered */ - public final int getId() - { + public final int getId() { return Crops.instance.getIdFor(this); } diff --git a/src/main/java/ic2/api/crops/Crops.class b/src/main/java/ic2/api/crops/Crops.class new file mode 100644 index 0000000000000000000000000000000000000000..4a75ce5d7ab7cc2a61b59ebd51dccc48566e761a GIT binary patch literal 1223 zcmb7D-%k`V5T3%p;c*IrfC&Bo5pO|hLVPeeW0X^LlMN&s;X$8z-Qg(iwwG=fyg$n) z6CeBo{G*K1WiKWOsFz%)o&COVW;)X!KfiqkfKA{v7>1wf zi=N`rnqJ0Rer+-seWA2+FBuFsf&&JXmWc^H5h;y3dD=m{FFFZ%rXnLnav-eo=h9hm zM=E15E8=)dnG|*ItU~RwEu-_S3QtLJzuzNzJ=7X)D-l_S#CX<-G&-JA6lukwJ2bY7 zT$(gBnio=Ulyu5yVf!myp&9z@W(I+d@>Ipj^@}*<@1lD@aQQ?^|N6Nw{M6Va<{b|? z3-b>3mdLOfgl8%{Wd%hJrOG&|`|FBS<`^tAf{z#6WlPwYuCs2jOE4;x2p)VHG-xwe zy!2}rd|)s+(DE6!5n~3c=L=E}Qy$XNc0zt?hW_WdKIh-G=YOFE=dv6ysh~L;AnV#a zOOf`9+N|)6Vep5jOnmRTMIEC>%N>4pxkVm^(&#fT+NSU0{9dk|O7TEtil*tc*2Wd8 zG#bm1?49z|#2G(K6H-e=uH_NwwN;F}I_XnZBPSxsX{_#D3HIaNio&-$`}7p(Lc)04 z*ejbtQ&4N0+)CV5e(Gz*Gub#6C!!9cP-QTE!84*(c?3^{?(*HvF-lj34F((kH{%R~ zemXRG<`wHv}ZH5R41n|xYsL|>P1b}f*uh8tm zWMOZXb_%A8^R3d(z-)1zgWIK@FYFyyDC{EKE$ltGPs$HS`#RYr`Y$6qgcS<$2v*5G U1dofgL5TpR!U*^TZoHcR1tu|3-T(jq literal 0 HcmV?d00001 diff --git a/src/api/java/ic2/api/crops/Crops.java b/src/main/java/ic2/api/crops/Crops.java similarity index 83% rename from src/api/java/ic2/api/crops/Crops.java rename to src/main/java/ic2/api/crops/Crops.java index 53cc323..b49a5a6 100644 --- a/src/api/java/ic2/api/crops/Crops.java +++ b/src/main/java/ic2/api/crops/Crops.java @@ -15,27 +15,30 @@ import net.minecraftforge.common.BiomeDictionary.Type; public abstract class Crops { public static Crops instance; - /** - * Adds a crop humidity and nutrient biome bonus. - * - * 0 indicates no bonus and negative values indicate a penalty. - * - * @param biome Biome to apply the bonus in - * @param humidityBonus Humidity stat bonus - * @param nutrientsBonus Nutrient stat bonus - */ - public abstract void addBiomeBonus(BiomeGenBase biome, int humidityBonus, int nutrientsBonus); + + + /** - * Adds a crop humidity and nutrient biome bonus. + * Adds a crop nutrient biome bonus. * - * 0 indicates no bonus and negative values indicate a penalty. + * +10/-10 0 indicates no bonus and negative values indicate a penalty. + * + * @param type Forge biome type to apply the bonus in + * @param nutrientsBonus Nutrient stat bonus + */ + public abstract void addBiomenutrientsBonus(Type type, int nutrientsBonus); + + /** + * Adds a crop humidity biome bonus. + * + * +10/-10 0 indicates no bonus and negative values indicate a penalty. * * @param type Forge biome type to apply the bonus in * @param humidityBonus Humidity stat bonus - * @param nutrientsBonus Nutrient stat bonus */ - public abstract void addBiomeBonus(Type type, int humidityBonus, int nutrientsBonus); + public abstract void addBiomehumidityBonus(Type type, int humidityBonus); + /** * Gets the humidity bonus for a biome. diff --git a/src/api/java/ic2/api/crops/ICropTile.class b/src/main/java/ic2/api/crops/ICropTile.class similarity index 63% rename from src/api/java/ic2/api/crops/ICropTile.class rename to src/main/java/ic2/api/crops/ICropTile.class index 45a360796dd837585b51e366bfa35daa0bdec309..a7e6c5b7396c3e80c846975d743c3efd7ead4645 100644 GIT binary patch delta 103 zcmeC>IL9Gy>ff$?3=9lL45sW1#_S9x8wHe@Bn2}Pi^@`qOX3qtOY(CQOHxx98I&}l xG@~a^V^WxG#B_sEVKO)KQ&nvS1{OvJ9R>)k%b*A5>oXVtO=M&+1d>b)MgWWE6;}WN delta 65 zcmX@d(aRxl>ff$?3=9lL494sXhU^SR8wHe@CTBCFk&J-8`Cvj{B))fmlGBc%$9-Q8A&ue6%r#IE)3r&oy_@@ zjr|}9x(Bc!E;=sX$@CeNNq3AQex51K;O$WLZ`!{0Lg^TJq|#JLo)Lo&?TaTgMn)*v zKX#U;^{7mk_!4!z^;2OC&KY!$o2u(ED0#S|wxQ#-A2M>B;-grLS%L#8N!(7fX3!cf z!`F}}p^W*CLknr_4>8H)3rYqRyC*fr2`LbLaO6lM5%qYu5*(c+{wqP9>LhuuHmHYM zrBi{l|9mH~E-YdnEZ{0E;&lV^H&L06a7fo=Pz!z*HAZu5-7sh$wA&Ss=+5xnY)Pjn zFkq0QZw64zGdO`f0OeCCxLkxYLeCvuqFA8nvO_BWB2~C>6*Z{4d?WN=L}2aRuQ C0@Pao literal 0 HcmV?d00001 diff --git a/src/api/java/ic2/api/energy/IEnergyNet.java b/src/main/java/ic2/api/energy/IEnergyNet.java similarity index 71% rename from src/api/java/ic2/api/energy/IEnergyNet.java rename to src/main/java/ic2/api/energy/IEnergyNet.java index ec709e2..8f656e5 100644 --- a/src/api/java/ic2/api/energy/IEnergyNet.java +++ b/src/main/java/ic2/api/energy/IEnergyNet.java @@ -8,7 +8,7 @@ import net.minecraftforge.common.util.ForgeDirection; /** * Interface representing the methods provided by the global EnergyNet class. * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public interface IEnergyNet { /** @@ -42,8 +42,10 @@ public interface IEnergyNet { * @note call this twice with x ticks delay to get the avg. emitted power p = (call2 - call1) / x EU/tick * * @param tileEntity energy emitter + * @deprecated Discontinued, use getNodeStats instead. */ - long getTotalEnergyEmitted(TileEntity tileEntity); + @Deprecated + double getTotalEnergyEmitted(TileEntity tileEntity); /** * determine how much energy has been sunken by the EnergySink specified @@ -51,8 +53,20 @@ public interface IEnergyNet { * @note call this twice with x ticks delay to get the avg. sunken power p = (call2 - call1) / x EU/tick * * @param tileEntity energy emitter + * @deprecated Discontinued, use getNodeStats instead. */ - long getTotalEnergySunken(TileEntity tileEntity); + @Deprecated + double getTotalEnergySunken(TileEntity tileEntity); + + /** + * Retrieve statistics for the tile entity specified. + * + * The statistics apply to the last simulated tick. + * + * @param te Tile entity to check. + * @return Statistics for the tile entity. + */ + NodeStats getNodeStats(TileEntity te); /** * Determine the typical power used by the specific tier, e.g. 128 eu/t for tier 2. @@ -60,5 +74,13 @@ public interface IEnergyNet { * @param tier tier * @return power in eu/t */ - int getPowerFromTier(int tier); + double getPowerFromTier(int tier); + + /** + * Determine minimum tier required to handle the specified power, e.g. tier 2 for 128 eu/t. + * + * @param power in eu/t + * @return tier + */ + int getTierFromPower(double power); } diff --git a/src/main/java/ic2/api/energy/NodeStats.class b/src/main/java/ic2/api/energy/NodeStats.class new file mode 100644 index 0000000000000000000000000000000000000000..eceb34029f314b4b047f8061329202be61ca273d GIT binary patch literal 675 zcmZ`#%TB^T6g@**%A*2;AmS^ogf48tR^vuAF(I(Pupe-OLrQB(A@Qq>iNwT(AK*tB z?+nO-;O0Kg%z4aw|9pM{XyP=3B&umxI8ddg%At)T8^;VO5r}B?avw0T7DIZuc4skz zJrDhuj|4;VN(M5%rlHCqBENeMD)N1J|V?+IOKkxM^f!8(2Sqt zl%dv^!=}fdrMGnPIwaDIc|5&j$c{vOyUt?N8(cV*8X3nOfQ^8LvbgSYi_M{ zG3ImbAd3?RHc}4Ks$`I2sQ%~9P*5z-=fTM94#r|gucrikoY7Y$=@Si@N{uE{3F=Oo zx>IyGVA!E;LN{&dW%mQjJzpT1fdBvi literal 0 HcmV?d00001 diff --git a/src/main/java/ic2/api/energy/NodeStats.java b/src/main/java/ic2/api/energy/NodeStats.java new file mode 100644 index 0000000..db33da7 --- /dev/null +++ b/src/main/java/ic2/api/energy/NodeStats.java @@ -0,0 +1,25 @@ +package ic2.api.energy; + +public class NodeStats { + public NodeStats(double energyIn, double energyOut, double voltage) { + this.energyIn = energyIn; + this.energyOut = energyOut; + this.voltage = voltage; + } + + public double getEnergyIn() { + return energyIn; + } + + public double getEnergyOut() { + return energyOut; + } + + public double getVoltage() { + return voltage; + } + + protected double energyIn; + protected double energyOut; + protected double voltage; +} diff --git a/src/api/java/ic2/api/energy/event/EnergyTileEvent.class b/src/main/java/ic2/api/energy/event/EnergyTileEvent.class similarity index 100% rename from src/api/java/ic2/api/energy/event/EnergyTileEvent.class rename to src/main/java/ic2/api/energy/event/EnergyTileEvent.class diff --git a/src/api/java/ic2/api/energy/event/EnergyTileEvent.java b/src/main/java/ic2/api/energy/event/EnergyTileEvent.java similarity index 82% rename from src/api/java/ic2/api/energy/event/EnergyTileEvent.java rename to src/main/java/ic2/api/energy/event/EnergyTileEvent.java index 03d6868..2182e49 100644 --- a/src/api/java/ic2/api/energy/event/EnergyTileEvent.java +++ b/src/main/java/ic2/api/energy/event/EnergyTileEvent.java @@ -9,7 +9,7 @@ import ic2.api.energy.tile.IEnergyTile; /** * Base class for energy net events, don't use it directly. * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public class EnergyTileEvent extends WorldEvent { public final IEnergyTile energyTile; diff --git a/src/api/java/ic2/api/energy/event/EnergyTileLoadEvent.class b/src/main/java/ic2/api/energy/event/EnergyTileLoadEvent.class similarity index 100% rename from src/api/java/ic2/api/energy/event/EnergyTileLoadEvent.class rename to src/main/java/ic2/api/energy/event/EnergyTileLoadEvent.class diff --git a/src/api/java/ic2/api/energy/event/EnergyTileLoadEvent.java b/src/main/java/ic2/api/energy/event/EnergyTileLoadEvent.java similarity index 89% rename from src/api/java/ic2/api/energy/event/EnergyTileLoadEvent.java rename to src/main/java/ic2/api/energy/event/EnergyTileLoadEvent.java index b3fcbb5..bf019ae 100644 --- a/src/api/java/ic2/api/energy/event/EnergyTileLoadEvent.java +++ b/src/main/java/ic2/api/energy/event/EnergyTileLoadEvent.java @@ -16,7 +16,7 @@ import ic2.api.energy.tile.IEnergyTile; * your own energy grid implementation if you need to. It's not required if you * always lookup energy paths on demand. * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public class EnergyTileLoadEvent extends EnergyTileEvent { public EnergyTileLoadEvent(IEnergyTile energyTile1) { diff --git a/src/api/java/ic2/api/energy/event/EnergyTileUnloadEvent.class b/src/main/java/ic2/api/energy/event/EnergyTileUnloadEvent.class similarity index 100% rename from src/api/java/ic2/api/energy/event/EnergyTileUnloadEvent.class rename to src/main/java/ic2/api/energy/event/EnergyTileUnloadEvent.class diff --git a/src/api/java/ic2/api/energy/event/EnergyTileUnloadEvent.java b/src/main/java/ic2/api/energy/event/EnergyTileUnloadEvent.java similarity index 89% rename from src/api/java/ic2/api/energy/event/EnergyTileUnloadEvent.java rename to src/main/java/ic2/api/energy/event/EnergyTileUnloadEvent.java index 4bcc3a4..2b22ae3 100644 --- a/src/api/java/ic2/api/energy/event/EnergyTileUnloadEvent.java +++ b/src/main/java/ic2/api/energy/event/EnergyTileUnloadEvent.java @@ -17,7 +17,7 @@ import ic2.api.energy.tile.IEnergyTile; * your own energy grid implementation if you need to. It's not required if you * always lookup energy paths on demand. * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public class EnergyTileUnloadEvent extends EnergyTileEvent { public EnergyTileUnloadEvent(IEnergyTile energyTile1) { diff --git a/src/api/java/ic2/api/energy/event/package-info.class b/src/main/java/ic2/api/energy/event/package-info.class similarity index 100% rename from src/api/java/ic2/api/energy/event/package-info.class rename to src/main/java/ic2/api/energy/event/package-info.class diff --git a/src/api/java/ic2/api/energy/event/package-info.java b/src/main/java/ic2/api/energy/event/package-info.java similarity index 100% rename from src/api/java/ic2/api/energy/event/package-info.java rename to src/main/java/ic2/api/energy/event/package-info.java diff --git a/src/api/java/ic2/api/energy/package-info.class b/src/main/java/ic2/api/energy/package-info.class similarity index 100% rename from src/api/java/ic2/api/energy/package-info.class rename to src/main/java/ic2/api/energy/package-info.class diff --git a/src/api/java/ic2/api/energy/package-info.java b/src/main/java/ic2/api/energy/package-info.java similarity index 100% rename from src/api/java/ic2/api/energy/package-info.java rename to src/main/java/ic2/api/energy/package-info.java diff --git a/src/main/java/ic2/api/energy/prefab/BasicSink.class b/src/main/java/ic2/api/energy/prefab/BasicSink.class new file mode 100644 index 0000000000000000000000000000000000000000..b0b895ce08c74517c0b1f0242022fa36dce9cd87 GIT binary patch literal 5524 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 0 && limit < amount) amount = limit; - amount = ElectricItem.manager.discharge(stack, amount, tier, limit > 0, false); + amount = ElectricItem.manager.discharge(stack, amount, tier, limit > 0, true, false); energyStored += amount; @@ -347,20 +345,20 @@ public class BasicSink extends TileEntity implements IEnergySink { } @Override - public double demandedEnergyUnits() { + public double getDemandedEnergy() { return Math.max(0, capacity - energyStored); } @Override - public double injectEnergyUnits(ForgeDirection directionFrom, double amount) { + public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage) { energyStored += amount; return 0; } @Override - public int getMaxSafeInput() { - return EnergyNet.instance.getPowerFromTier(tier); + public int getSinkTier() { + return tier; } // << energy net interface diff --git a/src/main/java/ic2/api/energy/prefab/BasicSource.class b/src/main/java/ic2/api/energy/prefab/BasicSource.class new file mode 100644 index 0000000000000000000000000000000000000000..164213b2c6374ebd4c8f35f686458dbfed330fa9 GIT binary patch literal 5601 zcmb7HYj_-08Gg@RGTF^ErJ>Vwn=J(NsAr{hs zcmiKFaKymZ3>;Nx7`ID~S5`Q?-*d`V(e<2M$sQ?NWw+q)z%3uNhPdq2%Pxh+oIP&m zxUHai6cT0EDRJ4SkR11?Wo#;= zlF**M^}8vl+s``+3;PLi$7FHXDGk}f1@5%;`#HO?+b+5C9d0JdWA21Pd%v6OwCr)$ z3P4%oC1=DQwzk?6Zf?+@Eae>PWCTXIKp|Dpj_ahT#(BYD+0Gppu*Ws)z;@Jfay)OB zL%S%%GlH?v_xgRC>MEpNZ^|yXLPHk5*F84r9oXd+cubp=96P_Q=knbupX>ZPY1uS6xiCdbl?c-AiP81dTz$A?n}C?=P$Y3QZ|D2~U_e}134vj%&kK7(SIOrBr|6a^0_}%v+h8bWFG9H9Y1HgSfmx8k3aUx%$LvvNkt9Z593egf&tuRPtooKtF3PGiJN(tTes5dv^?7y>-{1LPuTW>f{>>Twv*p z**ZBvpldU=fe?+UA;y>Pl~W}Lh%HGxg?J1XC$k+hNMtju$$RfZV{7tJzC>n_%q~gHpds6u zoPlwa*W%d1@l4HPgb+q?8eA;Fe!j;KU;_$-S;SV-Ttq<>gKqS2mQ^odE4|uAfHA## z8=)u2qg^^2Z*1r8dcZ?2~9b3?n;> z)Ewlr7C4P2T&v-k0c{9R#FASRH`!k~Zsx{gL?#UP1q^qcKzbHUvoH^%?*tYcLU)!Y ziCHwyV4+?n5zl z&9HC_EpjVub{mFpJNEKVmsmA`y)Obg3H1*iE9uT5@Gi~*JVjw=&Em<5)L9k<_?-78!!r zFpKp^d4=Ielby{gTeuEV;92gyz}@GN;wneNW4LPTO^gf)rv|ZZBv^Ij zQ7I%|)=c_dl4LYkDbcPy83?~q4 zUPcU~7z>fy!MGOxZtQpwDOQlfNX8#OhHQuE#a}}_{uDY`&NYV2C^2N3iOxtcCF2rJ zQ8XPe)wx)$EM(OM8cpEtja4)o*^u^A_G-qkST=BX8i_O=zAnC5LiGSkTwE9V3;7j< z?kqOURhYnOmms0KB8IM{Sb?CxK1XNsvd3A$ugmh>T9%iQ<>pglIbN4#q?!jPd&si) z6j{EP)h|$d6Acp+4YD1xIIk9FAH(%>%`+$j(QplFYCRj2>T|bhx$hwNo&PuY36yE) z&BVN!vjlf6QB!QxRhnxM60vGX#4s7YJz|)`H1$?|22?8S#xU9B;UEENoWS|D>2^)T zzGgMu4px)DoApQ#H3f+zL0qe}gR~lnDBVKCuX{{}04x Bus{F+ literal 0 HcmV?d00001 diff --git a/src/api/java/ic2/api/energy/prefab/BasicSource.java b/src/main/java/ic2/api/energy/prefab/BasicSource.java similarity index 93% rename from src/api/java/ic2/api/energy/prefab/BasicSource.java rename to src/main/java/ic2/api/energy/prefab/BasicSource.java index 5829d8e..011e8cd 100644 --- a/src/api/java/ic2/api/energy/prefab/BasicSource.java +++ b/src/main/java/ic2/api/energy/prefab/BasicSource.java @@ -88,7 +88,6 @@ import ic2.api.item.ElectricItem; * @endcode */ public class BasicSource extends TileEntity implements IEnergySource { - // ********************************** // *** Methods for use by the mod *** // ********************************** @@ -98,14 +97,15 @@ public class BasicSource extends TileEntity implements IEnergySource { * * @param parent1 Base TileEntity represented by this energy source. * @param capacity1 Maximum amount of eu to store. - * @param tier1 IC2 tier, 1=LV, 2=MV, ... + * @param tier1 IC2 tier, 1 = LV, 2 = MV, ... */ - public BasicSource(TileEntity parent1, int capacity1, int tier1) { - int power = EnergyNet.instance.getPowerFromTier(tier1); + public BasicSource(TileEntity parent1, double capacity1, int tier1) { + double power = EnergyNet.instance.getPowerFromTier(tier1); this.parent = parent1; this.capacity = capacity1 < power ? power : capacity1; this.tier = tier1; + this.power = power; } // in-world te forwards >> @@ -205,7 +205,7 @@ public class BasicSource extends TileEntity implements IEnergySource { * * @return Capacity in EU. */ - public int getCapacity() { + public double getCapacity() { return capacity; } @@ -214,9 +214,7 @@ public class BasicSource extends TileEntity implements IEnergySource { * * @param capacity1 Capacity in EU. */ - public void setCapacity(int capacity1) { - int power = EnergyNet.instance.getPowerFromTier(tier); - + public void setCapacity(double capacity1) { if (capacity1 < power) capacity1 = power; this.capacity = capacity1; @@ -237,11 +235,12 @@ public class BasicSource extends TileEntity implements IEnergySource { * @param tier1 IC2 Tier. */ public void setTier(int tier1) { - int power = EnergyNet.instance.getPowerFromTier(tier1); + double power = EnergyNet.instance.getPowerFromTier(tier1); if (capacity < power) capacity = power; this.tier = tier1; + this.power = power; } @@ -299,7 +298,7 @@ public class BasicSource extends TileEntity implements IEnergySource { public boolean charge(ItemStack stack) { if (stack == null || !Info.isIc2Available()) return false; - int amount = ElectricItem.manager.charge(stack, (int) energyStored, tier, false, false); + double amount = ElectricItem.manager.charge(stack, energyStored, tier, false, false); energyStored -= amount; @@ -350,12 +349,7 @@ public class BasicSource extends TileEntity implements IEnergySource { @Override public double getOfferedEnergy() { - int power = EnergyNet.instance.getPowerFromTier(tier); - - if (energyStored >= power) { - return power; - } - return 0; + return Math.min(energyStored, power); } @Override @@ -363,13 +357,19 @@ public class BasicSource extends TileEntity implements IEnergySource { energyStored -= amount; } + @Override + public int getSourceTier() { + return tier; + } + // << energy net interface public final TileEntity parent; - protected int capacity; + protected double capacity; protected int tier; + protected double power; protected double energyStored; protected boolean addedToEnet; } diff --git a/src/api/java/ic2/api/energy/prefab/package-info.class b/src/main/java/ic2/api/energy/prefab/package-info.class similarity index 100% rename from src/api/java/ic2/api/energy/prefab/package-info.class rename to src/main/java/ic2/api/energy/prefab/package-info.class diff --git a/src/api/java/ic2/api/energy/prefab/package-info.java b/src/main/java/ic2/api/energy/prefab/package-info.java similarity index 100% rename from src/api/java/ic2/api/energy/prefab/package-info.java rename to src/main/java/ic2/api/energy/prefab/package-info.java diff --git a/src/api/java/ic2/api/energy/tile/IEnergyAcceptor.class b/src/main/java/ic2/api/energy/tile/IEnergyAcceptor.class similarity index 100% rename from src/api/java/ic2/api/energy/tile/IEnergyAcceptor.class rename to src/main/java/ic2/api/energy/tile/IEnergyAcceptor.class diff --git a/src/api/java/ic2/api/energy/tile/IEnergyAcceptor.java b/src/main/java/ic2/api/energy/tile/IEnergyAcceptor.java similarity index 88% rename from src/api/java/ic2/api/energy/tile/IEnergyAcceptor.java rename to src/main/java/ic2/api/energy/tile/IEnergyAcceptor.java index d413a38..1735ff5 100644 --- a/src/api/java/ic2/api/energy/tile/IEnergyAcceptor.java +++ b/src/main/java/ic2/api/energy/tile/IEnergyAcceptor.java @@ -10,7 +10,7 @@ import net.minecraftforge.common.util.ForgeDirection; * @see IEnergySink * @see IEnergyConductor * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public interface IEnergyAcceptor extends IEnergyTile { /** diff --git a/src/main/java/ic2/api/energy/tile/IEnergyConductor.class b/src/main/java/ic2/api/energy/tile/IEnergyConductor.class new file mode 100644 index 0000000000000000000000000000000000000000..4b2c8f5af36b17430dcb6e5323dc3dd00d228cca GIT binary patch literal 428 zcmaKo&q~8U5XQf0YgX%@riv%^q8{|(Lf@cjg@WKg@V?y+AvMj0&8Fh3_22{eP~vVH zEGm?R{TP1V%zVt}*YX3v07n8nfmom~a7gGU?CwlHt+Y!`{%FdQ(7w99C!BdQ&dVxO zfsAst$@_3p8e4>#aQchiT2`-9^VS#%C+oq+{-d$wxmoafe!caD&|85flCgyDv#G4+ zhcsit@pu*Fhu_T9LJ=-gJ&>wMCD%En^KSXqONfJ8W-3qQ(`3fl5iT}#4z=dOg%IZ( sT%&pF9NUOMX!+Mh$6q??5VjBjUPYtZjqWts#cs{_g8J@#|F>}P4L6i_y#N3J literal 0 HcmV?d00001 diff --git a/src/api/java/ic2/api/energy/tile/IEnergyConductor.java b/src/main/java/ic2/api/energy/tile/IEnergyConductor.java similarity index 84% rename from src/api/java/ic2/api/energy/tile/IEnergyConductor.java rename to src/main/java/ic2/api/energy/tile/IEnergyConductor.java index 0a841f5..08dab88 100644 --- a/src/api/java/ic2/api/energy/tile/IEnergyConductor.java +++ b/src/main/java/ic2/api/energy/tile/IEnergyConductor.java @@ -4,7 +4,7 @@ package ic2.api.energy.tile; * Tile entities which conduct energy pulses without buffering (mostly cables) have to implement this * interface. * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public interface IEnergyConductor extends IEnergyAcceptor, IEnergyEmitter { /** @@ -19,7 +19,7 @@ public interface IEnergyConductor extends IEnergyAcceptor, IEnergyEmitter { * * @return Insulation energy absorption in EU */ - int getInsulationEnergyAbsorption(); + double getInsulationEnergyAbsorption(); /** * Amount of energy the insulation will handle before it is destroyed. @@ -27,14 +27,14 @@ public interface IEnergyConductor extends IEnergyAcceptor, IEnergyEmitter { * * @return Insulation-destroying energy in EU */ - int getInsulationBreakdownEnergy(); + double getInsulationBreakdownEnergy(); /** * Amount of energy the conductor will handle before it melts. * * @return Conductor-destroying energy in EU */ - int getConductorBreakdownEnergy(); + double getConductorBreakdownEnergy(); /** * Remove the conductor's insulation if the insulation breakdown energy was exceeded. diff --git a/src/api/java/ic2/api/energy/tile/IEnergyEmitter.class b/src/main/java/ic2/api/energy/tile/IEnergyEmitter.class similarity index 100% rename from src/api/java/ic2/api/energy/tile/IEnergyEmitter.class rename to src/main/java/ic2/api/energy/tile/IEnergyEmitter.class diff --git a/src/api/java/ic2/api/energy/tile/IEnergyEmitter.java b/src/main/java/ic2/api/energy/tile/IEnergyEmitter.java similarity index 89% rename from src/api/java/ic2/api/energy/tile/IEnergyEmitter.java rename to src/main/java/ic2/api/energy/tile/IEnergyEmitter.java index 69ea41f..013865e 100644 --- a/src/api/java/ic2/api/energy/tile/IEnergyEmitter.java +++ b/src/main/java/ic2/api/energy/tile/IEnergyEmitter.java @@ -10,7 +10,7 @@ import net.minecraftforge.common.util.ForgeDirection; * @see IEnergySource * @see IEnergyConductor * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public interface IEnergyEmitter extends IEnergyTile { /** diff --git a/src/api/java/ic2/api/energy/tile/IEnergySink.class b/src/main/java/ic2/api/energy/tile/IEnergySink.class similarity index 53% rename from src/api/java/ic2/api/energy/tile/IEnergySink.class rename to src/main/java/ic2/api/energy/tile/IEnergySink.class index b1ad970ed195d138a36c564e4c0906d45fbfcf12..bcb05cee7a3ae96c354b2abbce5720b606ae05f9 100644 GIT binary patch delta 79 zcmdnPw25hgsGVSXYKco~Zem_aYKm)KYEgP6BLlOBrVAqjH&7-xGcP+NGqngT=E=yw YlbM&5np^@?Xfn~wkl97kW#Yuu0JW(XfdBvi delta 89 zcmdnQw1;VesG)F5YHng)N@|L0UTRT#WoTYzNiib>vxcS%BZFXOURG*y35tyI#9%`y ckR*S4YKd=RMQ~zTs%Kt7X$e@9=fw8a0QqMd<^TWy diff --git a/src/api/java/ic2/api/energy/tile/IEnergySink.java b/src/main/java/ic2/api/energy/tile/IEnergySink.java similarity index 61% rename from src/api/java/ic2/api/energy/tile/IEnergySink.java rename to src/main/java/ic2/api/energy/tile/IEnergySink.java index b1bce6c..4ae8e79 100644 --- a/src/api/java/ic2/api/energy/tile/IEnergySink.java +++ b/src/main/java/ic2/api/energy/tile/IEnergySink.java @@ -5,21 +5,30 @@ import net.minecraftforge.common.util.ForgeDirection; /** * Allows a tile entity (mostly a machine) to receive energy. * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public interface IEnergySink extends IEnergyAcceptor { /** * Determine how much energy the sink accepts. * - * This value is unrelated to getMaxSafeInput(). - * * Make sure that injectEnergy() does accepts energy if demandsEnergy() returns anything > 0. * * @note Modifying the energy net from this method is disallowed. * * @return max accepted input in eu */ - double demandedEnergyUnits(); + double getDemandedEnergy(); + + /** + * Determine the tier of this energy sink. + * 1 = LV, 2 = MV, 3 = HV, 4 = EV etc. + * + * @note Modifying the energy net from this method is disallowed. + * @note Return Integer.MAX_VALUE to allow any voltage. + * + * @return tier of this energy sink + */ + int getSinkTier(); /** * Transfer energy to the sink. @@ -31,20 +40,6 @@ public interface IEnergySink extends IEnergyAcceptor { * @param amount energy to be transferred * @return Energy not consumed (leftover) */ - double injectEnergyUnits(ForgeDirection directionFrom, double amount); - - /** - * Determine the amount of eu which can be safely injected into the specific energy sink without exploding. - * - * Typical values are 32 for LV, 128 for MV, 512 for HV and 2048 for EV. A value of Integer.MAX_VALUE indicates no - * limit. - * - * This value is unrelated to demandsEnergy(). - * - * @note Modifying the energy net from this method is disallowed. - * - * @return max safe input in eu - */ - int getMaxSafeInput(); + double injectEnergy(ForgeDirection directionFrom, double amount, double voltage); } diff --git a/src/main/java/ic2/api/energy/tile/IEnergySource.class b/src/main/java/ic2/api/energy/tile/IEnergySource.class new file mode 100644 index 0000000000000000000000000000000000000000..41ca6cff4a692202e1cf28888067c0857dab97b1 GIT binary patch literal 260 zcmaKnO%4G;5QSfvq5Ts#U}ZKsaRww-7R0{Ilt~LiI*quRg#$R0C^NCJv8bx#)%Q}b zp0E1@z!)8crb0`hP3WfV7uzj6PNo^V^hOAV(S%S>oVk9ba5#z9gqFa|N}{HYck&KcT&#`UjLCA5`y6mg>c3$FV02{@A7m>pi;) cfl!hP;v|&68?}2v{=7_#>y+4FwsGr2 zDQtaRd&f=GisvnvX%HLLyXi|oc)Yepc>C{G(T)w*z6n<5S_xrXEIP*yzV6JoAv~$g v*?cH>=A5*IFPnr>+vUo*l2`A$WIG@bdg&QJuTQu^A4vBWgG2~f%W-!GmSS8` literal 0 HcmV?d00001 diff --git a/src/main/java/ic2/api/energy/tile/IKineticSource.java b/src/main/java/ic2/api/energy/tile/IKineticSource.java new file mode 100644 index 0000000..a651408 --- /dev/null +++ b/src/main/java/ic2/api/energy/tile/IKineticSource.java @@ -0,0 +1,22 @@ +package ic2.api.energy.tile; + +import net.minecraftforge.common.util.ForgeDirection; + +public interface IKineticSource { + /* + * Return max kinetic energy transmission peer Tick (only theoretical bandwidth not available amount) + */ + int maxrequestkineticenergyTick(ForgeDirection directionFrom); + + /* + * @param requested amount of kinetic energy to transfer + * + * @return transmitted amount of kineticenergy + * + * example: You Request 100 units of kinetic energy but the Source have only 50 units left + * + * requestkineticenergy(100) : return 50 : so 50 units of kinetic energy remove from KineticSource + */ + + int requestkineticenergy(ForgeDirection directionFrom, int requestkineticenergy); +} diff --git a/src/api/java/ic2/api/energy/tile/IMetaDelegate.class b/src/main/java/ic2/api/energy/tile/IMetaDelegate.class similarity index 100% rename from src/api/java/ic2/api/energy/tile/IMetaDelegate.class rename to src/main/java/ic2/api/energy/tile/IMetaDelegate.class diff --git a/src/api/java/ic2/api/energy/tile/IMetaDelegate.java b/src/main/java/ic2/api/energy/tile/IMetaDelegate.java similarity index 81% rename from src/api/java/ic2/api/energy/tile/IMetaDelegate.java rename to src/main/java/ic2/api/energy/tile/IMetaDelegate.java index abc1666..f7319d0 100644 --- a/src/api/java/ic2/api/energy/tile/IMetaDelegate.java +++ b/src/main/java/ic2/api/energy/tile/IMetaDelegate.java @@ -20,13 +20,15 @@ import net.minecraft.tileentity.TileEntity; * IEnergyEmitter) and mandatory position (x, y, z, World) data. * If the connectivity data on the sub tile is missing, the meta delegate is queried instead. * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public interface IMetaDelegate extends IEnergyTile { /** * Get the sub-TileEntities belonging to this Meta TileEntity. * - * @note the list has to be consistent between the EnergyNet Load and Unload events. + * @note The list has to be consistent between the EnergyNet Load and Unload events. + * @note The list must have at least 1 element. + * @note The parent te implementing IMetaDelegate isn't automatically included. * * @return sub-TileEntity array */ diff --git a/src/api/java/ic2/api/energy/tile/package-info.class b/src/main/java/ic2/api/energy/tile/package-info.class similarity index 100% rename from src/api/java/ic2/api/energy/tile/package-info.class rename to src/main/java/ic2/api/energy/tile/package-info.class diff --git a/src/api/java/ic2/api/energy/tile/package-info.java b/src/main/java/ic2/api/energy/tile/package-info.java similarity index 100% rename from src/api/java/ic2/api/energy/tile/package-info.java rename to src/main/java/ic2/api/energy/tile/package-info.java diff --git a/src/api/java/ic2/api/energy/usage.txt b/src/main/java/ic2/api/energy/usage.txt similarity index 98% rename from src/api/java/ic2/api/energy/usage.txt rename to src/main/java/ic2/api/energy/usage.txt index 8e57f4f..49bd995 100644 --- a/src/api/java/ic2/api/energy/usage.txt +++ b/src/main/java/ic2/api/energy/usage.txt @@ -139,6 +139,6 @@ distribution rules or to use energy networks provided by other mods, you can reg tile events and use the interfaces to handle the energy distribution yourself. It's no longer required to use conversion blocks. -IC2's EnergyNet itself is built on top of the baubles.api events and interfaces, providing their default +IC2's EnergyNet itself is built on top of the api events and interfaces, providing their default use case. diff --git a/src/api/java/ic2/api/event/LaserEvent$LaserExplodesEvent.class b/src/main/java/ic2/api/event/LaserEvent$LaserExplodesEvent.class similarity index 100% rename from src/api/java/ic2/api/event/LaserEvent$LaserExplodesEvent.class rename to src/main/java/ic2/api/event/LaserEvent$LaserExplodesEvent.class diff --git a/src/api/java/ic2/api/event/LaserEvent$LaserHitsBlockEvent.class b/src/main/java/ic2/api/event/LaserEvent$LaserHitsBlockEvent.class similarity index 100% rename from src/api/java/ic2/api/event/LaserEvent$LaserHitsBlockEvent.class rename to src/main/java/ic2/api/event/LaserEvent$LaserHitsBlockEvent.class diff --git a/src/api/java/ic2/api/event/LaserEvent$LaserHitsEntityEvent.class b/src/main/java/ic2/api/event/LaserEvent$LaserHitsEntityEvent.class similarity index 100% rename from src/api/java/ic2/api/event/LaserEvent$LaserHitsEntityEvent.class rename to src/main/java/ic2/api/event/LaserEvent$LaserHitsEntityEvent.class diff --git a/src/api/java/ic2/api/event/LaserEvent$LaserShootEvent.class b/src/main/java/ic2/api/event/LaserEvent$LaserShootEvent.class similarity index 100% rename from src/api/java/ic2/api/event/LaserEvent$LaserShootEvent.class rename to src/main/java/ic2/api/event/LaserEvent$LaserShootEvent.class diff --git a/src/api/java/ic2/api/event/LaserEvent.class b/src/main/java/ic2/api/event/LaserEvent.class similarity index 100% rename from src/api/java/ic2/api/event/LaserEvent.class rename to src/main/java/ic2/api/event/LaserEvent.class diff --git a/src/api/java/ic2/api/event/LaserEvent.java b/src/main/java/ic2/api/event/LaserEvent.java similarity index 100% rename from src/api/java/ic2/api/event/LaserEvent.java rename to src/main/java/ic2/api/event/LaserEvent.java diff --git a/src/api/java/ic2/api/event/PaintEvent.class b/src/main/java/ic2/api/event/PaintEvent.class similarity index 100% rename from src/api/java/ic2/api/event/PaintEvent.class rename to src/main/java/ic2/api/event/PaintEvent.class diff --git a/src/api/java/ic2/api/event/PaintEvent.java b/src/main/java/ic2/api/event/PaintEvent.java similarity index 100% rename from src/api/java/ic2/api/event/PaintEvent.java rename to src/main/java/ic2/api/event/PaintEvent.java diff --git a/src/api/java/ic2/api/event/RetextureEvent.class b/src/main/java/ic2/api/event/RetextureEvent.class similarity index 100% rename from src/api/java/ic2/api/event/RetextureEvent.class rename to src/main/java/ic2/api/event/RetextureEvent.class diff --git a/src/api/java/ic2/api/event/RetextureEvent.java b/src/main/java/ic2/api/event/RetextureEvent.java similarity index 100% rename from src/api/java/ic2/api/event/RetextureEvent.java rename to src/main/java/ic2/api/event/RetextureEvent.java diff --git a/src/api/java/ic2/api/event/package-info.class b/src/main/java/ic2/api/event/package-info.class similarity index 100% rename from src/api/java/ic2/api/event/package-info.class rename to src/main/java/ic2/api/event/package-info.class diff --git a/src/api/java/ic2/api/event/package-info.java b/src/main/java/ic2/api/event/package-info.java similarity index 100% rename from src/api/java/ic2/api/event/package-info.java rename to src/main/java/ic2/api/event/package-info.java diff --git a/src/api/java/ic2/api/info/IEnergyValueProvider.class b/src/main/java/ic2/api/info/IEnergyValueProvider.class similarity index 95% rename from src/api/java/ic2/api/info/IEnergyValueProvider.class rename to src/main/java/ic2/api/info/IEnergyValueProvider.class index ca596728b75ac91747c344c7fec0c0aebf911621..abe05e1c2e82dd94791e27a89ab7de5fb5ed7843 100644 GIT binary patch delta 11 ScmX@ic$jg53!}?K*E#?gu>m*E#?g#RK~Q diff --git a/src/api/java/ic2/api/info/IEnergyValueProvider.java b/src/main/java/ic2/api/info/IEnergyValueProvider.java similarity index 66% rename from src/api/java/ic2/api/info/IEnergyValueProvider.java rename to src/main/java/ic2/api/info/IEnergyValueProvider.java index 50e84e6..1e7b2cc 100644 --- a/src/api/java/ic2/api/info/IEnergyValueProvider.java +++ b/src/main/java/ic2/api/info/IEnergyValueProvider.java @@ -7,8 +7,11 @@ public interface IEnergyValueProvider { * Determine the energy value for a single item in the supplied stack. * The value is used by most machines in the discharge slot. * + * This only applies to basic single use items, others are to be queried + * through e.g. ElectricItem.manager.getCharge(). + * * @param itemStack ItemStack containing the item to evaluate. * @return energy in EU */ - int getEnergyValue(ItemStack itemStack); + double getEnergyValue(ItemStack itemStack); } diff --git a/src/api/java/ic2/api/info/IFuelValueProvider.class b/src/main/java/ic2/api/info/IFuelValueProvider.class similarity index 100% rename from src/api/java/ic2/api/info/IFuelValueProvider.class rename to src/main/java/ic2/api/info/IFuelValueProvider.class diff --git a/src/api/java/ic2/api/info/IFuelValueProvider.java b/src/main/java/ic2/api/info/IFuelValueProvider.java similarity index 100% rename from src/api/java/ic2/api/info/IFuelValueProvider.java rename to src/main/java/ic2/api/info/IFuelValueProvider.java diff --git a/src/api/java/ic2/api/info/Info.class b/src/main/java/ic2/api/info/Info.class similarity index 100% rename from src/api/java/ic2/api/info/Info.class rename to src/main/java/ic2/api/info/Info.class diff --git a/src/api/java/ic2/api/info/Info.java b/src/main/java/ic2/api/info/Info.java similarity index 100% rename from src/api/java/ic2/api/info/Info.java rename to src/main/java/ic2/api/info/Info.java diff --git a/src/api/java/ic2/api/info/package-info.class b/src/main/java/ic2/api/info/package-info.class similarity index 100% rename from src/api/java/ic2/api/info/package-info.class rename to src/main/java/ic2/api/info/package-info.class diff --git a/src/api/java/ic2/api/info/package-info.java b/src/main/java/ic2/api/info/package-info.java similarity index 100% rename from src/api/java/ic2/api/info/package-info.java rename to src/main/java/ic2/api/info/package-info.java diff --git a/src/main/java/ic2/api/item/ElectricItem.class b/src/main/java/ic2/api/item/ElectricItem.class new file mode 100644 index 0000000000000000000000000000000000000000..be926067550b2d7ce764f495e3d74f985a79ac2f GIT binary patch literal 1407 zcmb7E+fvg|6kR8632npuqCiCukQNFN5EWZdaCD|K1s`y5-Ez&6p1D^v4cD=Z46Th? zP)Z=;$mexSpfe|pr`7$sT@mQc?#X9Tuew%I&sr6i3E?fPU`w~^m;$L2pVKEO*L}Ft zh*yc!mbPrmT@?t#6Wap8yX8DFyRw#TZdOY<(|IU!MS6O(WkVLXrDJ(^-5GRuEfzS^ z%GgXrh5^Scuxit(74o~!WV|&kb9SL#Wr=@|reX!tJ;9cVXKmBfOYF;VhM*mDF(BboL$bDZ+71spX(?+p=8j-DX)iKQb zmZyDBv!e6fFlgw!UXIN6+&2FS509O;I$1{#q0JSQVw)36C3mDr&Uyeqz* z0)z3y={l>sva)HuAR`BtIYHYu`j6wAF?k_(rJXODoYnEa&A|>9c-=K#{{XLa2RgY6 zqsxB}dy0ci(x;#gLGF1FTnFjV`4)VKW)30V`XT4Iw)xH|&U3HT0x*POT49VJMvs@g zLO?G$`VPv>5dsPxH6SAV2uvY@%S|v*R(HXN8O6mq%qvC)=$j+V5rP8Q*&~DmUL(d$ zo4{wN8%YwhEA)ku2XB6U6$eZRz^k>FEr9~W`0tBjiGRCgpKy%dW31jIR9N>VjA7ib zcaHlB=1lU@5crO;imB0WjB01G$I?vr4Y0e92tPhVYo1X`grO`n4JFAjWA AyZ`_I literal 0 HcmV?d00001 diff --git a/src/main/java/ic2/api/item/ElectricItem.java b/src/main/java/ic2/api/item/ElectricItem.java new file mode 100644 index 0000000..19e5fc1 --- /dev/null +++ b/src/main/java/ic2/api/item/ElectricItem.java @@ -0,0 +1,59 @@ +package ic2.api.item; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.item.ItemStack; + +/** + * Allows for charging, discharging and using electric items (IElectricItem). + */ +public final class ElectricItem { + /** + * IElectricItemManager to use for interacting with IElectricItem ItemStacks. + * + * This manager will act as a gateway and delegate the tasks to the final implementation + * (rawManager or a custom one) as necessary. + */ + public static IElectricItemManager manager; + + /** + * Standard IElectricItemManager implementation, only call it directly from another + * IElectricItemManager. Use manager instead. + */ + public static IElectricItemManager rawManager; + + /** + * Register an electric item manager for items not implementing IElectricItem. + * + * This method is only designed for special purposes, implementing IElectricItem or + * ISpecialElectricItem instead of using this is faster. + * + * Managers used with ISpecialElectricItem shouldn't be registered. + * + * @param manager Manager to register. + */ + public static void registerBackupManager(IBackupElectricItemManager manager) { + backupManagers.add(manager); + } + + /** + * Get the electric item manager suitable for the supplied item stack. + * + * This method is for internal use only. + * + * @param stack ItemStack to be handled. + * @return First suitable electric item manager. + */ + public static IBackupElectricItemManager getBackupManager(ItemStack stack) { + for (IBackupElectricItemManager manager : backupManagers) { + if (manager.handles(stack)) return manager; + } + + return null; + } + + + private static final List backupManagers = new ArrayList(); +} + diff --git a/src/main/java/ic2/api/item/IBackupElectricItemManager.class b/src/main/java/ic2/api/item/IBackupElectricItemManager.class new file mode 100644 index 0000000000000000000000000000000000000000..fc7f1ad23a6e5659818e779d524c95e50f79e38c GIT binary patch literal 241 zcmZ`!%MJlS5UgeykBdJLCtOUjS2qcXggCglwb9nBH8yMbI0ql#qr`0DBH_@LPNk~4 z>-oAr0K{l3G!&W&ErL3*+huYg^acwjUZ1QJQ}Etv>*b{90oI<)aXj1*TI=(*Ffy~5 z5W4e8;IH{K6XOeOO6igvCsK@3zA>S1O{_V$pQyibLZ>w7j9sEv+ce~bf4uG9&H TN|MG+xFt=v!#Sb=&2v(H22 literal 0 HcmV?d00001 diff --git a/src/main/java/ic2/api/item/IBackupElectricItemManager.java b/src/main/java/ic2/api/item/IBackupElectricItemManager.java new file mode 100644 index 0000000..2ae254a --- /dev/null +++ b/src/main/java/ic2/api/item/IBackupElectricItemManager.java @@ -0,0 +1,12 @@ +package ic2.api.item; + +import net.minecraft.item.ItemStack; + +/** + * This interface specifies a manager applicable to items not implementing IElectricItem. + * + * The manager implementing this has to be registered with ElectricItem.registerBackupManager(). + */ +public interface IBackupElectricItemManager extends IElectricItemManager { + boolean handles(ItemStack stack); +} diff --git a/src/main/java/ic2/api/item/IBlockCuttingBlade.class b/src/main/java/ic2/api/item/IBlockCuttingBlade.class new file mode 100644 index 0000000000000000000000000000000000000000..8654649e7e6d85e2ac5b5fce6e8977824b84828a GIT binary patch literal 158 zcmX^0Z`VEs1_mPrPId-%b_Nbc2JZCKl8nTnl)Tj9VnzmL4NXr*2Cm@z(xT*4x6GVW zMh0 metadata 0 block, no resin spot -> metadata 0 or 1 block, wet resin spot -> metadata 2-5 (according to the side) block, dry resin spot -> metadata 8-11 (wet state + 6) rubberWood; - rubberLeaves; // Rubber Leaves block, currently not meta sensitive, meta in ItemStack set to 0, null with enableWorldGenTreeRubber=false - rubberSapling; // Rubber Sapling block, currently not meta sensitive, meta in ItemStack set to 0, null with enableWorldGenTreeRubber=false + rubberLeaves; // Rubber Leaves block, currently not meta sensitive, meta in ItemStack set to 0, null with enableWorldGenTreeRubber = false + rubberSapling; // Rubber Sapling block, currently not meta sensitive, meta in ItemStack set to 0, null with enableWorldGenTreeRubber = false resinSheet; // Resin Sheet block, currently not meta sensitive rubberTrampoline; // Rubber Trampoline block, meta reflects internal state, meta in ItemStack set to 0 @@ -152,11 +152,11 @@ public final class IC2Items { luminator; // Passive (dark) Luminator block, meta = facing activeLuminator; // Active (bright) Luminator block, meta = facing centrifuge; // Centrifuge block, meta sensitive - metalformer; // MetalFormer block ,meta sensitive - orewashingplant; // Ore Wasching Plant,Meta sensitive - patternstorage; // Pattern Storage,Meta sensitive - scanner; // Scanner,Meta sensitive - replicator; // Replicator,Meta sensitive + metalformer; // MetalFormer block , meta sensitive + orewashingplant; // Ore Wasching Plant, Meta sensitive + patternstorage; // Pattern Storage, Meta sensitive + scanner; // Scanner, Meta sensitive + replicator; // Replicator, Meta sensitive miningPipe; // Mining Pipe block, currently not meta sensitive, meta in ItemStack set to 0 miningPipeTip; // Mining Pipe Tip block, currently not meta sensitive, meta in ItemStack set to 0 @@ -538,7 +538,6 @@ public final class IC2Items { denseplateobsidian; // Metal dense plate item, meta sensitive - // upgrade modules overclockerUpgrade; // overclocker upgrade item, meta sensitive transformerUpgrade; // transformer upgrade item, meta sensitive @@ -588,7 +587,7 @@ public final class IC2Items { if (pkg != null) { String packageName = pkg.getName(); - return packageName.substring(0, packageName.length() - ".baubles.api.item".length()); + return packageName.substring(0, packageName.length() - ".api.item".length()); } return "ic2"; diff --git a/src/api/java/ic2/api/item/IDebuggable.class b/src/main/java/ic2/api/item/IDebuggable.class similarity index 100% rename from src/api/java/ic2/api/item/IDebuggable.class rename to src/main/java/ic2/api/item/IDebuggable.class diff --git a/src/api/java/ic2/api/item/IDebuggable.java b/src/main/java/ic2/api/item/IDebuggable.java similarity index 99% rename from src/api/java/ic2/api/item/IDebuggable.java rename to src/main/java/ic2/api/item/IDebuggable.java index b1fa66b..404c7eb 100644 --- a/src/api/java/ic2/api/item/IDebuggable.java +++ b/src/main/java/ic2/api/item/IDebuggable.java @@ -1,7 +1,6 @@ package ic2.api.item; - /** * Allows a tile entity to output a debug message when the debugItem is used on it. * Suggestions by Myrathi diff --git a/src/api/java/ic2/api/item/IElectricItem.class b/src/main/java/ic2/api/item/IElectricItem.class similarity index 59% rename from src/api/java/ic2/api/item/IElectricItem.class rename to src/main/java/ic2/api/item/IElectricItem.class index 056f0d430bd2ab4aea55de275be89e576c760ca6..a49d1839e58ec8a9911bbba6399d169ced46a16d 100644 GIT binary patch delta 69 zcmeBXUe7FW>ff$?3=9lL41(+o{Ok+@69ta)xiB)Yr>B;LWTqA|GAK@rR$%m;_+XkS XHvff$?3=9lL3B;LWTqBPW?`Hr%E`dM!pOkQ P0Hhfh8F+vs69X>*)Ex^I diff --git a/src/api/java/ic2/api/item/IElectricItem.java b/src/main/java/ic2/api/item/IElectricItem.java similarity index 92% rename from src/api/java/ic2/api/item/IElectricItem.java rename to src/main/java/ic2/api/item/IElectricItem.java index 2cba11e..5525e00 100644 --- a/src/api/java/ic2/api/item/IElectricItem.java +++ b/src/main/java/ic2/api/item/IElectricItem.java @@ -35,7 +35,7 @@ public interface IElectricItem { * * @return Maximum charge energy */ - int getMaxCharge(ItemStack itemStack); + double getMaxCharge(ItemStack itemStack); /** * Get the item's tier, lower tiers can't send energy to higher ones. @@ -50,6 +50,6 @@ public interface IElectricItem { * * @return Transfer limit */ - int getTransferLimit(ItemStack itemStack); + double getTransferLimit(ItemStack itemStack); } diff --git a/src/main/java/ic2/api/item/IElectricItemManager.class b/src/main/java/ic2/api/item/IElectricItemManager.class new file mode 100644 index 0000000000000000000000000000000000000000..978eb9147f0ce600a2623c5d997d99aac731137d GIT binary patch literal 627 zcma)4O;5r=6r4qD1wX*AgGWp>a&Z%`oKPS(!FVWo=xtrsy4Y^XvXJ=KJop3rQO4JT zF)=3P^5(EJ^WMC-pI`4E06IAKap>cS!ILk-#){$WVq}!#sWwVl@$9&ED&+x{&PM|>YsedIPKo} zpn#EHXcJ$Fnd;__jb*~2&C;GtGs|#O;=Zo=14EsbG0w7Ntfvf}65sY{A{K%t!o)mu zmWJ$-LzvC2R70Im?vr4UC`nH;Kh~`~JyFt7HB{WN7|2xO<$ClgGeN op>G2CRoX790O2OQ0)1>1SVO(QZR`}di@gFHXp)j)pK1jM-_bI-xBvhE literal 0 HcmV?d00001 diff --git a/src/api/java/ic2/api/item/IElectricItemManager.java b/src/main/java/ic2/api/item/IElectricItemManager.java similarity index 80% rename from src/api/java/ic2/api/item/IElectricItemManager.java rename to src/main/java/ic2/api/item/IElectricItemManager.java index 88eab75..5de43d7 100644 --- a/src/api/java/ic2/api/item/IElectricItemManager.java +++ b/src/main/java/ic2/api/item/IElectricItemManager.java @@ -19,7 +19,7 @@ import net.minecraft.item.ItemStack; */ public interface IElectricItemManager { /** - * Charge an item with a specified amount of energy + * Charge an item with a specified amount of energy. * * @param itemStack electric item's stack * @param amount amount of energy to charge in EU @@ -28,27 +28,28 @@ public interface IElectricItemManager { * @param simulate don't actually change the item, just determine the return value * @return Energy transferred into the electric item */ - int charge(ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate); + double charge(ItemStack stack, double amount, int tier, boolean ignoreTransferLimit, boolean simulate); /** * Discharge an item by a specified amount of energy * * @param itemStack electric item's stack - * @param amount amount of energy to charge in EU + * @param amount amount of energy to discharge in EU * @param tier tier of the discharging device, has to be at least as high as the item to discharge * @param ignoreTransferLimit ignore the transfer limit specified by getTransferLimit() + * @param externally use the supplied item externally, i.e. to power something else as if it was a battery * @param simulate don't actually discharge the item, just determine the return value * @return Energy retrieved from the electric item */ - int discharge(ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate); + double discharge(ItemStack stack, double amount, int tier, boolean ignoreTransferLimit, boolean externally, boolean simulate); /** - * Determine the charge level for the specified item + * Determine the charge level for the specified item. * * @param itemStack ItemStack containing the electric item * @return charge level in EU */ - int getCharge(ItemStack itemStack); + double getCharge(ItemStack stack); /** * Determine if the specified electric item has at least a specific amount of EU. @@ -59,7 +60,7 @@ public interface IElectricItemManager { * @param amount minimum amount of energy required * @return true if there's enough energy */ - boolean canUse(ItemStack itemStack, int amount); + boolean canUse(ItemStack stack, double amount); /** * Try to retrieve a specific amount of energy from an Item, and if applicable, a BatPack. @@ -70,7 +71,7 @@ public interface IElectricItemManager { * @param entity entity holding the item * @return true if the operation succeeded */ - boolean use(ItemStack itemStack, int amount, EntityLivingBase entity); + boolean use(ItemStack stack, double amount, EntityLivingBase entity); /** * Charge an item from the BatPack a player is wearing. @@ -80,7 +81,7 @@ public interface IElectricItemManager { * @param itemStack electric item's stack * @param entity entity holding the item */ - void chargeFromArmor(ItemStack itemStack, EntityLivingBase entity); + void chargeFromArmor(ItemStack stack, EntityLivingBase entity); /** * Get the tool tip to display for electric items. @@ -88,5 +89,7 @@ public interface IElectricItemManager { * @param itemStack ItemStack to determine the tooltip for * @return tool tip string or null for none */ - String getToolTip(ItemStack itemStack); + String getToolTip(ItemStack stack); + + // TODO: add tier getter } diff --git a/src/api/java/ic2/api/item/IItemHudInfo.class b/src/main/java/ic2/api/item/IItemHudInfo.class similarity index 100% rename from src/api/java/ic2/api/item/IItemHudInfo.class rename to src/main/java/ic2/api/item/IItemHudInfo.class diff --git a/src/api/java/ic2/api/item/IItemHudInfo.java b/src/main/java/ic2/api/item/IItemHudInfo.java similarity index 99% rename from src/api/java/ic2/api/item/IItemHudInfo.java rename to src/main/java/ic2/api/item/IItemHudInfo.java index fe6ec0f..da97318 100644 --- a/src/api/java/ic2/api/item/IItemHudInfo.java +++ b/src/main/java/ic2/api/item/IItemHudInfo.java @@ -5,7 +5,6 @@ import java.util.List; import net.minecraft.item.ItemStack; public interface IItemHudInfo { - /* Add Info to Nano- and Quantum-Suit Helm Hud for itemStack @@ -22,5 +21,4 @@ public interface IItemHudInfo { */ public List getHudInfo(ItemStack itemStack); - } diff --git a/src/main/java/ic2/api/item/IKineticWindRotor.class b/src/main/java/ic2/api/item/IKineticWindRotor.class new file mode 100644 index 0000000000000000000000000000000000000000..684dd536e041168aef8c77a97e6365d104d6833e GIT binary patch literal 318 zcmZXQ!Ab)`5JYQYlGVhh2zvBta&aJ6uM!9bgpJ^Nob;|8c4uVlmH2BO`~W{n>|JsZ zFJ17ct}gof=kp7|9H$v38BPqwCCMGTnuLQX%ZP+PiLz@ zVrvfMlPknF!j;YGEjG#1Dtadz!>z$Y6R0TIGX?+ACv8#TGfrQ&K{0`0dD?NrvLx| literal 0 HcmV?d00001 diff --git a/src/main/java/ic2/api/item/IKineticWindRotor.java b/src/main/java/ic2/api/item/IKineticWindRotor.java new file mode 100644 index 0000000..62f1fdc --- /dev/null +++ b/src/main/java/ic2/api/item/IKineticWindRotor.java @@ -0,0 +1,15 @@ +package ic2.api.item; + +import net.minecraft.util.ResourceLocation; + +public interface IKineticWindRotor { + public int getDiameter(); + + public ResourceLocation getRotorRenderTexture(); + + public float getefficiency(); + + int getminWindStrength(); + + int getmaxWindStrength(); +} diff --git a/src/api/java/ic2/api/item/IMetalArmor.class b/src/main/java/ic2/api/item/IMetalArmor.class similarity index 100% rename from src/api/java/ic2/api/item/IMetalArmor.class rename to src/main/java/ic2/api/item/IMetalArmor.class diff --git a/src/api/java/ic2/api/item/IMetalArmor.java b/src/main/java/ic2/api/item/IMetalArmor.java similarity index 100% rename from src/api/java/ic2/api/item/IMetalArmor.java rename to src/main/java/ic2/api/item/IMetalArmor.java diff --git a/src/api/java/ic2/api/item/ISpecialElectricItem.class b/src/main/java/ic2/api/item/ISpecialElectricItem.class similarity index 100% rename from src/api/java/ic2/api/item/ISpecialElectricItem.class rename to src/main/java/ic2/api/item/ISpecialElectricItem.class diff --git a/src/api/java/ic2/api/item/ISpecialElectricItem.java b/src/main/java/ic2/api/item/ISpecialElectricItem.java similarity index 100% rename from src/api/java/ic2/api/item/ISpecialElectricItem.java rename to src/main/java/ic2/api/item/ISpecialElectricItem.java diff --git a/src/api/java/ic2/api/item/ITerraformingBP.class b/src/main/java/ic2/api/item/ITerraformingBP.class similarity index 100% rename from src/api/java/ic2/api/item/ITerraformingBP.class rename to src/main/java/ic2/api/item/ITerraformingBP.class diff --git a/src/api/java/ic2/api/item/ITerraformingBP.java b/src/main/java/ic2/api/item/ITerraformingBP.java similarity index 95% rename from src/api/java/ic2/api/item/ITerraformingBP.java rename to src/main/java/ic2/api/item/ITerraformingBP.java index 58f7e2f..59b46ba 100644 --- a/src/api/java/ic2/api/item/ITerraformingBP.java +++ b/src/main/java/ic2/api/item/ITerraformingBP.java @@ -5,8 +5,7 @@ import net.minecraft.world.World; /** * Allows an item to act as a terraformer blueprint. */ -public interface ITerraformingBP -{ +public interface ITerraformingBP { /** * Get the energy consumption per operation of the blueprint. * diff --git a/src/api/java/ic2/api/item/ItemWrapper.class b/src/main/java/ic2/api/item/ItemWrapper.class similarity index 81% rename from src/api/java/ic2/api/item/ItemWrapper.class rename to src/main/java/ic2/api/item/ItemWrapper.class index 30dd16e141592ee187c8544f49e7d43f38ca1ac1..7c6a6de707f846c8ca7a2fad53baf7a0e17558e5 100644 GIT binary patch delta 67 zcmeAco-Di}nVs>#y4<)d0$B RF=#MoGng^xO#Z|%69Cm`4MP9` delta 59 zcmbO%+%3EznVoUZJW Izc^+B0EZ3?hyVZp diff --git a/src/api/java/ic2/api/item/ItemWrapper.java b/src/main/java/ic2/api/item/ItemWrapper.java similarity index 100% rename from src/api/java/ic2/api/item/ItemWrapper.java rename to src/main/java/ic2/api/item/ItemWrapper.java diff --git a/src/api/java/ic2/api/item/package-info.class b/src/main/java/ic2/api/item/package-info.class similarity index 100% rename from src/api/java/ic2/api/item/package-info.class rename to src/main/java/ic2/api/item/package-info.class diff --git a/src/api/java/ic2/api/item/package-info.java b/src/main/java/ic2/api/item/package-info.java similarity index 100% rename from src/api/java/ic2/api/item/package-info.java rename to src/main/java/ic2/api/item/package-info.java diff --git a/src/api/java/ic2/api/network/INetworkClientTileEntityEventListener.class b/src/main/java/ic2/api/network/INetworkClientTileEntityEventListener.class similarity index 100% rename from src/api/java/ic2/api/network/INetworkClientTileEntityEventListener.class rename to src/main/java/ic2/api/network/INetworkClientTileEntityEventListener.class diff --git a/src/api/java/ic2/api/network/INetworkClientTileEntityEventListener.java b/src/main/java/ic2/api/network/INetworkClientTileEntityEventListener.java similarity index 100% rename from src/api/java/ic2/api/network/INetworkClientTileEntityEventListener.java rename to src/main/java/ic2/api/network/INetworkClientTileEntityEventListener.java diff --git a/src/api/java/ic2/api/network/INetworkDataProvider.class b/src/main/java/ic2/api/network/INetworkDataProvider.class similarity index 100% rename from src/api/java/ic2/api/network/INetworkDataProvider.class rename to src/main/java/ic2/api/network/INetworkDataProvider.class diff --git a/src/api/java/ic2/api/network/INetworkDataProvider.java b/src/main/java/ic2/api/network/INetworkDataProvider.java similarity index 100% rename from src/api/java/ic2/api/network/INetworkDataProvider.java rename to src/main/java/ic2/api/network/INetworkDataProvider.java diff --git a/src/api/java/ic2/api/network/INetworkItemEventListener.class b/src/main/java/ic2/api/network/INetworkItemEventListener.class similarity index 100% rename from src/api/java/ic2/api/network/INetworkItemEventListener.class rename to src/main/java/ic2/api/network/INetworkItemEventListener.class diff --git a/src/api/java/ic2/api/network/INetworkItemEventListener.java b/src/main/java/ic2/api/network/INetworkItemEventListener.java similarity index 100% rename from src/api/java/ic2/api/network/INetworkItemEventListener.java rename to src/main/java/ic2/api/network/INetworkItemEventListener.java diff --git a/src/api/java/ic2/api/network/INetworkTileEntityEventListener.class b/src/main/java/ic2/api/network/INetworkTileEntityEventListener.class similarity index 100% rename from src/api/java/ic2/api/network/INetworkTileEntityEventListener.class rename to src/main/java/ic2/api/network/INetworkTileEntityEventListener.class diff --git a/src/api/java/ic2/api/network/INetworkTileEntityEventListener.java b/src/main/java/ic2/api/network/INetworkTileEntityEventListener.java similarity index 100% rename from src/api/java/ic2/api/network/INetworkTileEntityEventListener.java rename to src/main/java/ic2/api/network/INetworkTileEntityEventListener.java diff --git a/src/api/java/ic2/api/network/INetworkUpdateListener.class b/src/main/java/ic2/api/network/INetworkUpdateListener.class similarity index 100% rename from src/api/java/ic2/api/network/INetworkUpdateListener.class rename to src/main/java/ic2/api/network/INetworkUpdateListener.class diff --git a/src/api/java/ic2/api/network/INetworkUpdateListener.java b/src/main/java/ic2/api/network/INetworkUpdateListener.java similarity index 100% rename from src/api/java/ic2/api/network/INetworkUpdateListener.java rename to src/main/java/ic2/api/network/INetworkUpdateListener.java diff --git a/src/api/java/ic2/api/network/NetworkHelper.class b/src/main/java/ic2/api/network/NetworkHelper.class similarity index 100% rename from src/api/java/ic2/api/network/NetworkHelper.class rename to src/main/java/ic2/api/network/NetworkHelper.class diff --git a/src/api/java/ic2/api/network/NetworkHelper.java b/src/main/java/ic2/api/network/NetworkHelper.java similarity index 98% rename from src/api/java/ic2/api/network/NetworkHelper.java rename to src/main/java/ic2/api/network/NetworkHelper.java index af38928..5f9138d 100644 --- a/src/api/java/ic2/api/network/NetworkHelper.java +++ b/src/main/java/ic2/api/network/NetworkHelper.java @@ -165,7 +165,7 @@ public final class NetworkHelper { if (pkg != null) { String packageName = pkg.getName(); - return packageName.substring(0, packageName.length() - ".baubles.api.network".length()); + return packageName.substring(0, packageName.length() - ".api.network".length()); } return "ic2"; diff --git a/src/api/java/ic2/api/network/package-info.class b/src/main/java/ic2/api/network/package-info.class similarity index 100% rename from src/api/java/ic2/api/network/package-info.class rename to src/main/java/ic2/api/network/package-info.class diff --git a/src/api/java/ic2/api/network/package-info.java b/src/main/java/ic2/api/network/package-info.java similarity index 100% rename from src/api/java/ic2/api/network/package-info.java rename to src/main/java/ic2/api/network/package-info.java diff --git a/src/api/java/ic2/api/package-info.class b/src/main/java/ic2/api/package-info.class similarity index 100% rename from src/api/java/ic2/api/package-info.class rename to src/main/java/ic2/api/package-info.class diff --git a/src/api/java/ic2/api/package-info.java b/src/main/java/ic2/api/package-info.java similarity index 100% rename from src/api/java/ic2/api/package-info.java rename to src/main/java/ic2/api/package-info.java diff --git a/src/main/java/ic2/api/reactor/IReactor.class b/src/main/java/ic2/api/reactor/IReactor.class new file mode 100644 index 0000000000000000000000000000000000000000..06917a9daa90fb4b08b9486ef9b32a590e4fba65 GIT binary patch literal 794 zcmZWnO>Yx15PdF7(k*RGi2debdvbdQSm*R_{m8krfi@D-0-!#V@Q8vSL!c0z+70SK>SJzxVH0h?$AY~x12PR!qo`CAb;u@(5+ vxD#+Y#$D`$_%3z>-oyQX5AZPH9v%gJ9P2*8euxin81Si&Y0_u(UBmO=0!qEv literal 0 HcmV?d00001 diff --git a/src/api/java/ic2/api/reactor/IReactor.java b/src/main/java/ic2/api/reactor/IReactor.java similarity index 88% rename from src/api/java/ic2/api/reactor/IReactor.java rename to src/main/java/ic2/api/reactor/IReactor.java index f1d21a7..55191cc 100644 --- a/src/api/java/ic2/api/reactor/IReactor.java +++ b/src/main/java/ic2/api/reactor/IReactor.java @@ -93,6 +93,13 @@ public interface IReactor { */ public float getReactorEnergyOutput(); + /** + * Get the reactor's energy output. + * + * @return Energy output, multiplied with base EU/t value and MainConfig.get().getFloat("balance/energy/generator/nuclear") + */ + public double getReactorEUEnergyOutput(); + /** * Add's the given amount of energy to the Reactor's output. * @@ -135,4 +142,17 @@ public interface IReactor { * @return Whether the reactor is active */ public boolean produceEnergy(); + + /** + * Set Redstone Signal without direct contact + * + */ + + public void setRedstoneSignal(boolean redstone); + + /** + * @return true if the reactor is FluidCooled + */ + + public boolean isFluidCooled(); } diff --git a/src/main/java/ic2/api/reactor/IReactorChamber.class b/src/main/java/ic2/api/reactor/IReactorChamber.class new file mode 100644 index 0000000000000000000000000000000000000000..e0e206c46f250daf8b321b9d10839b71b3e38caf GIT binary patch literal 214 zcmZ{eu?oU46h-f=wb8mLI0~-qVxX&|AP9nB!NDz!p{CSU(&)!I_yK;Dm|`8BE}VDX z<-XpJCx8Sah9N^p2yYHVGpROgi_34U~p z53VMyZ$_%ME)`+=`&pgEB~xZmh`S)n|5bMyVcd$m6jjc5S)rs22n5e920Wk8gAcgu LBXESkT8_a7H260Y literal 0 HcmV?d00001 diff --git a/src/api/java/ic2/api/reactor/IReactorChamber.java b/src/main/java/ic2/api/reactor/IReactorChamber.java similarity index 66% rename from src/api/java/ic2/api/reactor/IReactorChamber.java rename to src/main/java/ic2/api/reactor/IReactorChamber.java index 1b9f2c9..4611a6a 100644 --- a/src/api/java/ic2/api/reactor/IReactorChamber.java +++ b/src/main/java/ic2/api/reactor/IReactorChamber.java @@ -10,4 +10,11 @@ public interface IReactorChamber { * @return The reactor */ public IReactor getReactor(); + + /** + * Set Redstone Signal without direct contact + * + */ + + public void setRedstoneSignal(boolean redstone); } diff --git a/src/api/java/ic2/api/reactor/IReactorComponent.class b/src/main/java/ic2/api/reactor/IReactorComponent.class similarity index 100% rename from src/api/java/ic2/api/reactor/IReactorComponent.class rename to src/main/java/ic2/api/reactor/IReactorComponent.class diff --git a/src/api/java/ic2/api/reactor/IReactorComponent.java b/src/main/java/ic2/api/reactor/IReactorComponent.java similarity index 95% rename from src/api/java/ic2/api/reactor/IReactorComponent.java rename to src/main/java/ic2/api/reactor/IReactorComponent.java index 77fbacd..84e011c 100644 --- a/src/api/java/ic2/api/reactor/IReactorComponent.java +++ b/src/main/java/ic2/api/reactor/IReactorComponent.java @@ -10,8 +10,7 @@ import net.minecraft.item.ItemStack; * All IC2 ReactorComponents implement and use this Interface * */ -public interface IReactorComponent -{ +public interface IReactorComponent { /** * Called by reactor upon iterating through it's inventory (every cycle). * Perform all necessary calculation/interaction here @@ -20,9 +19,9 @@ public interface IReactorComponent * @param yourStack Reference to the specific instance of iterated ItemStack * @param x X-coordinate of the stack in the grid * @param y Y-coordinate of the stack in the grid - * @param heatrun every Stack will cycle 2 time (true,false) first run for heat, sec for Eu calculation + * @param heatrun every Stack will cycle 2 time (true, false) first run for heat, sec for Eu calculation */ - public void processChamber(IReactor reactor, ItemStack yourStack, int x, int y,boolean heatrun); + public void processChamber(IReactor reactor, ItemStack yourStack, int x, int y, boolean heatrun); /** * Can be called by Uranium-Components who attempt to generate energy by pulsing to other components. @@ -37,7 +36,7 @@ public interface IReactorComponent * @param heatrun true for only create heat not EU, false for only EU not heat * @return true if this component reacts to the pulse (and pulse is therefore meant to produce heat) */ - public boolean acceptUraniumPulse(IReactor reactor, ItemStack yourStack, ItemStack pulsingStack, int youX, int youY, int pulseX, int pulseY,boolean heatrun); + public boolean acceptUraniumPulse(IReactor reactor, ItemStack yourStack, ItemStack pulsingStack, int youX, int youY, int pulseX, int pulseY, boolean heatrun); /** * Called by components to determine whether your component can be heated. diff --git a/src/api/java/ic2/api/reactor/package-info.class b/src/main/java/ic2/api/reactor/package-info.class similarity index 100% rename from src/api/java/ic2/api/reactor/package-info.class rename to src/main/java/ic2/api/reactor/package-info.class diff --git a/src/api/java/ic2/api/reactor/package-info.java b/src/main/java/ic2/api/reactor/package-info.java similarity index 100% rename from src/api/java/ic2/api/reactor/package-info.java rename to src/main/java/ic2/api/reactor/package-info.java diff --git a/src/api/java/ic2/api/recipe/ICannerBottleRecipeManager$Input.class b/src/main/java/ic2/api/recipe/ICannerBottleRecipeManager$Input.class similarity index 100% rename from src/api/java/ic2/api/recipe/ICannerBottleRecipeManager$Input.class rename to src/main/java/ic2/api/recipe/ICannerBottleRecipeManager$Input.class diff --git a/src/api/java/ic2/api/recipe/ICannerBottleRecipeManager.class b/src/main/java/ic2/api/recipe/ICannerBottleRecipeManager.class similarity index 100% rename from src/api/java/ic2/api/recipe/ICannerBottleRecipeManager.class rename to src/main/java/ic2/api/recipe/ICannerBottleRecipeManager.class diff --git a/src/api/java/ic2/api/recipe/ICannerBottleRecipeManager.java b/src/main/java/ic2/api/recipe/ICannerBottleRecipeManager.java similarity index 100% rename from src/api/java/ic2/api/recipe/ICannerBottleRecipeManager.java rename to src/main/java/ic2/api/recipe/ICannerBottleRecipeManager.java diff --git a/src/api/java/ic2/api/recipe/ICannerEnrichRecipeManager$Input.class b/src/main/java/ic2/api/recipe/ICannerEnrichRecipeManager$Input.class similarity index 100% rename from src/api/java/ic2/api/recipe/ICannerEnrichRecipeManager$Input.class rename to src/main/java/ic2/api/recipe/ICannerEnrichRecipeManager$Input.class diff --git a/src/api/java/ic2/api/recipe/ICannerEnrichRecipeManager.class b/src/main/java/ic2/api/recipe/ICannerEnrichRecipeManager.class similarity index 100% rename from src/api/java/ic2/api/recipe/ICannerEnrichRecipeManager.class rename to src/main/java/ic2/api/recipe/ICannerEnrichRecipeManager.class diff --git a/src/api/java/ic2/api/recipe/ICannerEnrichRecipeManager.java b/src/main/java/ic2/api/recipe/ICannerEnrichRecipeManager.java similarity index 100% rename from src/api/java/ic2/api/recipe/ICannerEnrichRecipeManager.java rename to src/main/java/ic2/api/recipe/ICannerEnrichRecipeManager.java diff --git a/src/api/java/ic2/api/recipe/ICraftingRecipeManager.class b/src/main/java/ic2/api/recipe/ICraftingRecipeManager.class similarity index 100% rename from src/api/java/ic2/api/recipe/ICraftingRecipeManager.class rename to src/main/java/ic2/api/recipe/ICraftingRecipeManager.class diff --git a/src/api/java/ic2/api/recipe/ICraftingRecipeManager.java b/src/main/java/ic2/api/recipe/ICraftingRecipeManager.java similarity index 100% rename from src/api/java/ic2/api/recipe/ICraftingRecipeManager.java rename to src/main/java/ic2/api/recipe/ICraftingRecipeManager.java diff --git a/src/main/java/ic2/api/recipe/IFluidHeatManager$BurnProperty.class b/src/main/java/ic2/api/recipe/IFluidHeatManager$BurnProperty.class new file mode 100644 index 0000000000000000000000000000000000000000..6367f30bfd08e07ee3460375cd91fd9b94bc23df GIT binary patch literal 540 zcmb7B%Sr=55Ukle*2LAAs4*r{6gu#821wYF}5Ipz+ zew0{4JO~~{2D-ayx@(G_kI%Pv03B==kwdkBEY@tOxv0Bn2;}8slExDO5eQ`Om1LPe z(y^W#3*=fsusa~%O>UJysjp*oo<0thxt7C-Or@WMG8#yuE&e96lY2cD@J><_Uz%j3 z%;cFch+}2CksOZ|Z~eXwJH8xg->6WJlppk>RNtP`z?qEYoiaN==MM$knbQN>vNoBE zS4nC@)zj8W^_Rf@gM5-63TS%B!}Tx+*Tsgw-oKs}Sh7NXB;z~(V)&p!t|-&8d)fL+ z2;1CsjvwHlY(20lTN}*WIIR^K=ZS9Ekzp>iUm@C!DV%n5ip&cs2OeXELO_jionv(@ kqJaf6TeC6ZG7$yX=~C2I%d8xp6(R?#SYoyhT8$D4Us_{xS^xk5 literal 0 HcmV?d00001 diff --git a/src/main/java/ic2/api/recipe/IFluidHeatManager.class b/src/main/java/ic2/api/recipe/IFluidHeatManager.class new file mode 100644 index 0000000000000000000000000000000000000000..30a7fee0ddb2b88ae21510bdbcd7477423882e0d GIT binary patch literal 581 zcmb7CT}uK%6g{Kns#$8EuR%TNLk;+91QkdND@8`{(|TP-wsD=E4f<<6^aJ`)(RCwA zg`$Vcotbm*x#u3{?fvByKo`3nS{}AMY*oyfify0d-RjDC(v3Pqv!fs?arsF%;{JTRKj)Dp^l7lnI(a{ zW&Ct?iGK(U1^}uJ literal 0 HcmV?d00001 diff --git a/src/main/java/ic2/api/recipe/IFluidHeatManager.java b/src/main/java/ic2/api/recipe/IFluidHeatManager.java new file mode 100644 index 0000000..7ddecdc --- /dev/null +++ b/src/main/java/ic2/api/recipe/IFluidHeatManager.java @@ -0,0 +1,32 @@ +package ic2.api.recipe; + +import java.util.Map; + +import net.minecraftforge.fluids.Fluid; + + +public interface IFluidHeatManager extends ILiquidAcceptManager { + /** + * Add a new fluid to the Fluid Heat Generator. + * + * @param fluidName the fluid to burn + * @param amount amount of fluid to consume per tick + * @param heat amount of heat generated per tick + */ + void addFluid(String fluidName, int amount, int heat); + + BurnProperty getBurnProperty(Fluid fluid); + + Map getBurnProperties(); + + + public static class BurnProperty { + public BurnProperty(int amount1, int heat1) { + this.amount = amount1; + this.heat = heat1; + } + + public final int amount; + public final int heat; + } +} diff --git a/src/api/java/ic2/api/recipe/ILiquidAcceptManager.class b/src/main/java/ic2/api/recipe/ILiquidAcceptManager.class similarity index 100% rename from src/api/java/ic2/api/recipe/ILiquidAcceptManager.class rename to src/main/java/ic2/api/recipe/ILiquidAcceptManager.class diff --git a/src/api/java/ic2/api/recipe/ILiquidAcceptManager.java b/src/main/java/ic2/api/recipe/ILiquidAcceptManager.java similarity index 100% rename from src/api/java/ic2/api/recipe/ILiquidAcceptManager.java rename to src/main/java/ic2/api/recipe/ILiquidAcceptManager.java diff --git a/src/api/java/ic2/api/recipe/IListRecipeManager.class b/src/main/java/ic2/api/recipe/IListRecipeManager.class similarity index 100% rename from src/api/java/ic2/api/recipe/IListRecipeManager.class rename to src/main/java/ic2/api/recipe/IListRecipeManager.class diff --git a/src/api/java/ic2/api/recipe/IListRecipeManager.java b/src/main/java/ic2/api/recipe/IListRecipeManager.java similarity index 100% rename from src/api/java/ic2/api/recipe/IListRecipeManager.java rename to src/main/java/ic2/api/recipe/IListRecipeManager.java diff --git a/src/api/java/ic2/api/recipe/IMachineRecipeManager.class b/src/main/java/ic2/api/recipe/IMachineRecipeManager.class similarity index 100% rename from src/api/java/ic2/api/recipe/IMachineRecipeManager.class rename to src/main/java/ic2/api/recipe/IMachineRecipeManager.class diff --git a/src/api/java/ic2/api/recipe/IMachineRecipeManager.java b/src/main/java/ic2/api/recipe/IMachineRecipeManager.java similarity index 100% rename from src/api/java/ic2/api/recipe/IMachineRecipeManager.java rename to src/main/java/ic2/api/recipe/IMachineRecipeManager.java diff --git a/src/api/java/ic2/api/recipe/IPatternStorage.class b/src/main/java/ic2/api/recipe/IPatternStorage.class similarity index 100% rename from src/api/java/ic2/api/recipe/IPatternStorage.class rename to src/main/java/ic2/api/recipe/IPatternStorage.class diff --git a/src/api/java/ic2/api/recipe/IPatternStorage.java b/src/main/java/ic2/api/recipe/IPatternStorage.java similarity index 100% rename from src/api/java/ic2/api/recipe/IPatternStorage.java rename to src/main/java/ic2/api/recipe/IPatternStorage.java diff --git a/src/api/java/ic2/api/recipe/IRecipeInput.class b/src/main/java/ic2/api/recipe/IRecipeInput.class similarity index 100% rename from src/api/java/ic2/api/recipe/IRecipeInput.class rename to src/main/java/ic2/api/recipe/IRecipeInput.class diff --git a/src/api/java/ic2/api/recipe/IRecipeInput.java b/src/main/java/ic2/api/recipe/IRecipeInput.java similarity index 100% rename from src/api/java/ic2/api/recipe/IRecipeInput.java rename to src/main/java/ic2/api/recipe/IRecipeInput.java diff --git a/src/api/java/ic2/api/recipe/IScrapboxManager.class b/src/main/java/ic2/api/recipe/IScrapboxManager.class similarity index 100% rename from src/api/java/ic2/api/recipe/IScrapboxManager.class rename to src/main/java/ic2/api/recipe/IScrapboxManager.class diff --git a/src/api/java/ic2/api/recipe/IScrapboxManager.java b/src/main/java/ic2/api/recipe/IScrapboxManager.java similarity index 100% rename from src/api/java/ic2/api/recipe/IScrapboxManager.java rename to src/main/java/ic2/api/recipe/IScrapboxManager.java diff --git a/src/api/java/ic2/api/recipe/ISemiFluidFuelManager$BurnProperty.class b/src/main/java/ic2/api/recipe/ISemiFluidFuelManager$BurnProperty.class similarity index 100% rename from src/api/java/ic2/api/recipe/ISemiFluidFuelManager$BurnProperty.class rename to src/main/java/ic2/api/recipe/ISemiFluidFuelManager$BurnProperty.class diff --git a/src/api/java/ic2/api/recipe/ISemiFluidFuelManager.class b/src/main/java/ic2/api/recipe/ISemiFluidFuelManager.class similarity index 100% rename from src/api/java/ic2/api/recipe/ISemiFluidFuelManager.class rename to src/main/java/ic2/api/recipe/ISemiFluidFuelManager.class diff --git a/src/api/java/ic2/api/recipe/ISemiFluidFuelManager.java b/src/main/java/ic2/api/recipe/ISemiFluidFuelManager.java similarity index 100% rename from src/api/java/ic2/api/recipe/ISemiFluidFuelManager.java rename to src/main/java/ic2/api/recipe/ISemiFluidFuelManager.java diff --git a/src/api/java/ic2/api/recipe/RecipeInputFluidContainer.class b/src/main/java/ic2/api/recipe/RecipeInputFluidContainer.class similarity index 100% rename from src/api/java/ic2/api/recipe/RecipeInputFluidContainer.class rename to src/main/java/ic2/api/recipe/RecipeInputFluidContainer.class diff --git a/src/api/java/ic2/api/recipe/RecipeInputFluidContainer.java b/src/main/java/ic2/api/recipe/RecipeInputFluidContainer.java similarity index 100% rename from src/api/java/ic2/api/recipe/RecipeInputFluidContainer.java rename to src/main/java/ic2/api/recipe/RecipeInputFluidContainer.java diff --git a/src/api/java/ic2/api/recipe/RecipeInputItemStack.class b/src/main/java/ic2/api/recipe/RecipeInputItemStack.class similarity index 100% rename from src/api/java/ic2/api/recipe/RecipeInputItemStack.class rename to src/main/java/ic2/api/recipe/RecipeInputItemStack.class diff --git a/src/api/java/ic2/api/recipe/RecipeInputItemStack.java b/src/main/java/ic2/api/recipe/RecipeInputItemStack.java similarity index 100% rename from src/api/java/ic2/api/recipe/RecipeInputItemStack.java rename to src/main/java/ic2/api/recipe/RecipeInputItemStack.java diff --git a/src/api/java/ic2/api/recipe/RecipeInputOreDict.class b/src/main/java/ic2/api/recipe/RecipeInputOreDict.class similarity index 84% rename from src/api/java/ic2/api/recipe/RecipeInputOreDict.class rename to src/main/java/ic2/api/recipe/RecipeInputOreDict.class index a068e8fc910c8113d815716b38ae62bd047cb17d..2280e6e0bce073763d77077624d983f2886dfe22 100644 GIT binary patch delta 42 wcmaDa`dM^CFel@~$swE(;!+H33=9m03>*wb3}Or>K$a*wb3}Or>K$hv|!<+_;0K}3AH~;_u diff --git a/src/api/java/ic2/api/recipe/RecipeInputOreDict.java b/src/main/java/ic2/api/recipe/RecipeInputOreDict.java similarity index 100% rename from src/api/java/ic2/api/recipe/RecipeInputOreDict.java rename to src/main/java/ic2/api/recipe/RecipeInputOreDict.java diff --git a/src/main/java/ic2/api/recipe/RecipeOutput.class b/src/main/java/ic2/api/recipe/RecipeOutput.class new file mode 100644 index 0000000000000000000000000000000000000000..48a57872c7d28876dc3921b2d81ce502d6c793c1 GIT binary patch literal 1740 zcmb7FNmCO+6#hC1nPeEYu!uV?k5_VML4$Q@dwgWDCTuqijrH8bCYDAsMwO1xa156TeO`O zY0ghCE%DVEw^DU|r$qX_!@O3rJtRZC74z&r;NEXZXG;|o z%>He3sLs+YN>4be41MX*F#TojteT-zbwb`M*DDxJD^R`Y`krN95vm3~&3Qehy3oL0 zj2qaEJ(M8>H&I|14B9imo!V%V%bw?Y26keXfqo2Vm@_bs1!caEVaKLL$Yk0V<&y0Y zpT)3}j_TP=&!Xj%GA8aM`%VfSB3uc2sQ33q5_Ha#q?JhCmxFtl|nes6S!&cLcM zXhg?y9m$15J=dRZ%3p|?8>I;dJq0#Xp2we(YMj^9oHC50@BhK5bqth2wQ4&wQb(Je z)Qj|c-Rjw*@@>)IAl2k@OLj@WYcnk~WtwT4ijrLuo?U8Gj)p<{^g!)!599RF>Z7k* z6g{eppwiJTf{aN-2(FmTS{R?7u z*U|PZGxh=TO!fn`Hvzy9tpjMIRee9(3AO_V(22w7q8%6tA#o6g=tkfeCJHP#jgV!8 zGy$U_86?ROlBB?X5?EA2TEnP@49UVU#_)_tXURg5E)c#Vt!KuvACXu`Qt^tAU&Saw zYYIv9HgVA#T=WJP9V0kO+Dx@;9eFXh1L-f&DfIS~v4)P!duVIuOm&6lxH@;!c?~_U z8-C+KG&=&HVPxsL&jgNBc|ztBffn)WMQRPbFQCO items1) { + assert !items1.contains(null); + this.metadata = metadata1; this.items = items1; } @@ -16,6 +18,11 @@ public final class RecipeOutput { this(metadata1, Arrays.asList(items1)); } + @Override + public String toString() { + return "ROutput<"+items+","+metadata+">"; + } + public final List items; public final NBTTagCompound metadata; } diff --git a/src/main/java/ic2/api/recipe/Recipes.class b/src/main/java/ic2/api/recipe/Recipes.class new file mode 100644 index 0000000000000000000000000000000000000000..559ffe86538a8a6271ee6f9efd10918472acd264 GIT binary patch literal 1090 zcmZ`&+iuf95FMwvG;T`T5K6g|7D_J&OML|)(a-==3Q~jG=kaEfY`gYa>vdH=izg%= z_y9f%F?O~|WUI2YXXnhEnVs?O-+#aV0Kg%GOp1m?Z8f7utN_c z;c3o9#Jw*k$R;A>r-9Ix=Tq4P%Y{dsXSz_is5K_taUq@AtCOk?D$>yKJR zu>+mLVFor}KHK%1!5m3smr}&Wf$f5>Pkg@qOnE*LhEJ6)4zH$hRQ^>VO;_V69c(^T zE9Qad$wUl4aT?}r*JE%K)l0aXx6sOzpE;TZ^;V(yENZT-z7wG^?;Tj$-8*xj+*L#R zhs{3S!LLc+bNwCt^sl!1ilID1EmGT(Wit`fi|z$lRsFW&>3Ae}VIp dh!SkmS|vJd;RUUYY+r$wutOHz8(K@S`yUR39GU getConfigElements() { @@ -23,6 +23,7 @@ public class EMTGuiConfig extends GuiConfig { list.add(new DummyConfigElement.DummyCategoryElement("General Config", "emt.config.general", GeneralEntry.class)); list.add(new DummyConfigElement.DummyCategoryElement("Values Config", "emt.config.valuezs", ValuesEntry.class)); list.add(new DummyConfigElement.DummyCategoryElement("Research Disabling Config", "emt.config.research.disable", ResearchEntry.class)); + list.add(new DummyConfigElement.DummyCategoryElement("Essentia Generator Outputs", "emt.config.outputs", OutputsEntry.class)); return list; } @@ -70,4 +71,19 @@ public class EMTGuiConfig extends GuiConfig { GuiConfig.getAbridgedConfigPath("emt/config/research")); } } + + public static class OutputsEntry extends GuiConfigEntries.CategoryEntry { + public OutputsEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement prop) { + super(owningScreen, owningEntryList, prop); + } + + @Override + protected GuiScreen buildChildScreen() { + return new GuiConfig(this.owningScreen, + (new ConfigElement(Config.config.getCategory(Config.CATEGORY_OUTPUTS))).getChildElements(), + this.owningScreen.modID, Configuration.CATEGORY_GENERAL, this.configElement.requiresWorldRestart() || this.owningScreen.allRequireWorldRestart, + this.configElement.requiresMcRestart() || this.owningScreen.allRequireMcRestart, + GuiConfig.getAbridgedConfigPath("emt/config/outputs")); + } + } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTGuiFactory.java b/src/main/java/tombenpotter/emt/client/gui/config/EMTGuiFactory.java similarity index 81% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTGuiFactory.java rename to src/main/java/tombenpotter/emt/client/gui/config/EMTGuiFactory.java index e14ff4f..2b94c07 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTGuiFactory.java +++ b/src/main/java/tombenpotter/emt/client/gui/config/EMTGuiFactory.java @@ -1,7 +1,6 @@ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.client.gui.config; import cpw.mods.fml.client.IModGuiFactory; -import electricMagicTools.tombenpotter.electricmagictools.client.gui.EMTGuiConfig; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/container/ContainerEtheralMacerator.java b/src/main/java/tombenpotter/emt/client/gui/container/ContainerEtheralMacerator.java similarity index 95% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/container/ContainerEtheralMacerator.java rename to src/main/java/tombenpotter/emt/client/gui/container/ContainerEtheralMacerator.java index c05122b..7978aaa 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/container/ContainerEtheralMacerator.java +++ b/src/main/java/tombenpotter/emt/client/gui/container/ContainerEtheralMacerator.java @@ -9,9 +9,9 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.container; +package tombenpotter.emt.client.gui.container; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEtherealMacerator; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEtherealMacerator; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/container/ContainerIndustrialWandRecharge.java b/src/main/java/tombenpotter/emt/client/gui/container/ContainerIndustrialWandRecharge.java similarity index 94% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/container/ContainerIndustrialWandRecharge.java rename to src/main/java/tombenpotter/emt/client/gui/container/ContainerIndustrialWandRecharge.java index 17af69d..f83fb12 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/container/ContainerIndustrialWandRecharge.java +++ b/src/main/java/tombenpotter/emt/client/gui/container/ContainerIndustrialWandRecharge.java @@ -9,9 +9,9 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.container; +package tombenpotter.emt.client.gui.container; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityIndustrialWandRecharge; +import tombenpotter.emt.common.module.ic2.tile.TileEntityIndustrialWandRecharge; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/model/ModelWings.java b/src/main/java/tombenpotter/emt/client/model/ModelWings.java similarity index 95% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/model/ModelWings.java rename to src/main/java/tombenpotter/emt/client/model/ModelWings.java index 71f225c..10974e7 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/model/ModelWings.java +++ b/src/main/java/tombenpotter/emt/client/model/ModelWings.java @@ -1,4 +1,4 @@ -package electricMagicTools.tombenpotter.electricmagictools.client.model; +package tombenpotter.emt.client.model; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelRenderer; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/renderer/RenderArcher.java b/src/main/java/tombenpotter/emt/client/renderer/RenderArcher.java similarity index 92% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/renderer/RenderArcher.java rename to src/main/java/tombenpotter/emt/client/renderer/RenderArcher.java index e701fdf..916d58f 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/renderer/RenderArcher.java +++ b/src/main/java/tombenpotter/emt/client/renderer/RenderArcher.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.client.renderer; +package tombenpotter.emt.client.renderer; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/renderer/RenderLaser.java b/src/main/java/tombenpotter/emt/client/renderer/RenderLaser.java similarity index 92% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/renderer/RenderLaser.java rename to src/main/java/tombenpotter/emt/client/renderer/RenderLaser.java index a17a5ec..9339f07 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/renderer/RenderLaser.java +++ b/src/main/java/tombenpotter/emt/client/renderer/RenderLaser.java @@ -9,10 +9,10 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.client.renderer; +package tombenpotter.emt.client.renderer; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.entities.EntityLaser; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.base.entities.EntityLaser; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.Render; import net.minecraft.entity.Entity; @@ -22,7 +22,7 @@ import org.lwjgl.opengl.GL12; public class RenderLaser extends Render { - private static final ResourceLocation laserTexture = new ResourceLocation(ElectricMagicTools.texturePath, "textures/models/lasermodel.png"); + private static final ResourceLocation laserTexture = new ResourceLocation(ElectroMagicTools.texturePath, "textures/models/lasermodel.png"); public void renderArrow(EntityLaser entityLaser, double par2, double par4, double par6, float par8, float par9) { diff --git a/src/main/java/tombenpotter/emt/common/commands/CommandOutputs.java b/src/main/java/tombenpotter/emt/common/commands/CommandOutputs.java new file mode 100644 index 0000000..4c7442e --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/commands/CommandOutputs.java @@ -0,0 +1,86 @@ +package tombenpotter.emt.common.commands; + +import net.minecraft.command.CommandBase; +import net.minecraft.command.ICommand; +import net.minecraft.command.ICommandSender; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.nbt.NBTTagString; +import thaumcraft.api.aspects.Aspect; +import tombenpotter.emt.common.util.EssentiasOutputs; + +import java.util.Collection; +import java.util.List; + +public class CommandOutputs extends CommandBase { + + public String text; + + @Override + public String getCommandName() { + return "emt_outputs"; + } + + @Override + public String getCommandUsage(ICommandSender p_71518_1_) { + return "/emt_outputs"; + } + + @Override + public boolean canCommandSenderUseCommand(ICommandSender par1iCommandSender) { + return true; + } + + @Override + public List addTabCompletionOptions(ICommandSender command, String[] stringArray) { + return null; + } + + @Override + public int compareTo(Object object) { + if (object instanceof ICommand) { + return this.compareTo((ICommand) object); + } else { + return 0; + } + } + + + @Override + public void processCommand(ICommandSender command, String[] astring) { + text = "EU Ouput per Essentia: "; + Collection aspectCollection = Aspect.aspects.values(); + for (Aspect aspect : aspectCollection) { + String text2 = addStrings(text, (aspect.getTag() + ": " + String.valueOf(EssentiasOutputs.outputs.get(aspect.getTag())) + "\n")); + text = text2; + } + addOutputsBook("Essentia Outputs Book", text, command, astring); + } + + public void addOutputsBook(String title, String text, ICommandSender command, String[] astring) { + ItemStack book = new ItemStack(Items.written_book); + book.setTagInfo("author", new NBTTagString("Tombenpotter")); + book.setTagInfo("title", new NBTTagString(title)); + NBTTagCompound nbttagcompound = book.getTagCompound(); + NBTTagList bookPages = new NBTTagList(); + + bookPages.appendTag(new NBTTagString(text.substring(0, 237))); + bookPages.appendTag(new NBTTagString(text.substring(237, 476))); + bookPages.appendTag(new NBTTagString(text.substring(476, 709))); + bookPages.appendTag(new NBTTagString(text.substring(709))); + + nbttagcompound.setTag("pages", bookPages); + + System.out.println(text.length()); + + if (!command.getEntityWorld().getPlayerEntityByName(command.getCommandSenderName()).inventory.addItemStackToInventory(book)) + command.getEntityWorld().getPlayerEntityByName(command.getCommandSenderName()).entityDropItem(book, 0); + } + + public String addStrings(String string1, String string2) { + String result = string1 + string2; + return result; + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTEntityRegistry.java b/src/main/java/tombenpotter/emt/common/module/base/EMTEntityRegistry.java similarity index 82% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTEntityRegistry.java rename to src/main/java/tombenpotter/emt/common/module/base/EMTEntityRegistry.java index acfec60..cf874fb 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTEntityRegistry.java +++ b/src/main/java/tombenpotter/emt/common/module/base/EMTEntityRegistry.java @@ -9,15 +9,16 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.module.base; import cpw.mods.fml.common.registry.EntityRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.entities.EntityArcher; -import electricMagicTools.tombenpotter.electricmagictools.common.entities.EntityLaser; +import tombenpotter.emt.common.module.base.entities.EntityArcher; +import tombenpotter.emt.common.module.base.entities.EntityLaser; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityList.EntityEggInfo; import net.minecraft.entity.EntityLiving; +import tombenpotter.emt.ElectroMagicTools; public class EMTEntityRegistry { @@ -43,8 +44,8 @@ public class EMTEntityRegistry { public static void registerEMTEntities() { - EntityRegistry.registerModEntity(EntityLaser.class, "entityLaser", entityIDs++, ElectricMagicTools.instance, 80, 3, true); - EntityRegistry.registerModEntity(EntityArcher.class, "entityArcher", entityIDs++, ElectricMagicTools.instance, 80, 3, true); + EntityRegistry.registerModEntity(EntityLaser.class, "entityLaser", entityIDs++, ElectroMagicTools.instance, 80, 3, true); + EntityRegistry.registerModEntity(EntityArcher.class, "entityArcher", entityIDs++, ElectroMagicTools.instance, 80, 3, true); registerEntityEgg(ARCHER_CLASS, 0x99111F, 0xE5685); } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/entities/EntityArcher.java b/src/main/java/tombenpotter/emt/common/module/base/entities/EntityArcher.java similarity index 98% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/entities/EntityArcher.java rename to src/main/java/tombenpotter/emt/common/module/base/entities/EntityArcher.java index a2b5265..73b07bc 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/entities/EntityArcher.java +++ b/src/main/java/tombenpotter/emt/common/module/base/entities/EntityArcher.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.entities; +package tombenpotter.emt.common.module.base.entities; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -120,7 +120,6 @@ public class EntityArcher extends EntitySnowman implements IExtendedEntityProper @Override public void loadNBTData(NBTTagCompound compound) { - } @Override diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/entities/EntityLaser.java b/src/main/java/tombenpotter/emt/common/module/base/entities/EntityLaser.java similarity index 93% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/entities/EntityLaser.java rename to src/main/java/tombenpotter/emt/common/module/base/entities/EntityLaser.java index 870cbb4..f60c68c 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/entities/EntityLaser.java +++ b/src/main/java/tombenpotter/emt/common/module/base/entities/EntityLaser.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.entities; +package tombenpotter.emt.common.module.base.entities; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -157,7 +157,7 @@ public class EntityLaser extends Entity implements IProjectile { block.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); AxisAlignedBB axisalignedbb = block.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.inGround = true; } } @@ -166,7 +166,7 @@ public class EntityLaser extends Entity implements IProjectile { i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.inGround = true; } @@ -191,14 +191,14 @@ public class EntityLaser extends Entity implements IProjectile { } } else { ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31, false); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); if (movingobjectposition != null) { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + vec3 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemEMTBaubles.java b/src/main/java/tombenpotter/emt/common/module/base/items/ItemEMTBaubles.java similarity index 84% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemEMTBaubles.java rename to src/main/java/tombenpotter/emt/common/module/base/items/ItemEMTBaubles.java index 85a0ae1..668a333 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemEMTBaubles.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/ItemEMTBaubles.java @@ -1,13 +1,13 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.items; +package tombenpotter.emt.common.module.base.items; import baubles.api.BaubleType; import baubles.api.IBauble; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.lib.TextHelper; +import tombenpotter.emt.common.util.Config; +import tombenpotter.emt.common.util.CreativeTab; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.TextHelper; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.client.renderer.texture.IIconRegister; @@ -65,9 +65,9 @@ public class ItemEMTBaubles extends Item implements IBauble { @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister ri) { - this.icon[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":armoreumaker"); - this.icon[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":inventoryeumaker"); - this.icon[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":onering"); + this.icon[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":armoreumaker"); + this.icon[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":inventoryeumaker"); + this.icon[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":onering"); } @SideOnly(Side.CLIENT) @@ -111,7 +111,7 @@ public class ItemEMTBaubles extends Item implements IBauble { for (int i = 0; i < ((EntityPlayer) player).inventory.armorInventory.length; i++) { if (energyLeft > 0) { if ((((EntityPlayer) player).inventory.armorInventory[i] != null) && (((EntityPlayer) player).inventory.armorInventory[i].getItem() instanceof IElectricItem)) { - int sentPacket = ElectricItem.manager.charge(((EntityPlayer) player).inventory.armorInventory[i], energyLeft, 4, false, false); + double sentPacket = ElectricItem.manager.charge(((EntityPlayer) player).inventory.armorInventory[i], energyLeft, 4, false, false); energyLeft -= sentPacket; } } @@ -126,7 +126,7 @@ public class ItemEMTBaubles extends Item implements IBauble { for (int i = 0; i < ((EntityPlayer) player).inventory.mainInventory.length; i++) { if (energyLeft > 0) { if ((((EntityPlayer) player).inventory.mainInventory[i] != null) && (((EntityPlayer) player).inventory.mainInventory[i].getItem() instanceof IElectricItem)) { - int sentPacket = ElectricItem.manager.charge(((EntityPlayer) player).inventory.mainInventory[i], energyLeft, 4, false, false); + double sentPacket = ElectricItem.manager.charge(((EntityPlayer) player).inventory.mainInventory[i], energyLeft, 4, false, false); energyLeft -= sentPacket; } } @@ -150,7 +150,7 @@ public class ItemEMTBaubles extends Item implements IBauble { } if (corruption == 0) - ((EntityPlayer) player).addChatMessage(new ChatComponentText(TextHelper.darkPurple + "You have worn the Ring. Your soul has now been forever " + TextHelper.darkPurple + "tainted. " + TextHelper.darkRed + TextHelper.italics + "Beware of wearing the ring. The tainting will only " + TextHelper.darkRed + TextHelper.italics + "increase, and strange things will start happening.")); + ((EntityPlayer) player).addChatMessage(new ChatComponentText(TextHelper.PURPLE + "You have worn the Ring. Your soul has now been forever " + TextHelper.PURPLE + "tainted. " + TextHelper.RED + TextHelper.ITALIC + "Beware of wearing the ring. The tainting will only " + TextHelper.RED + TextHelper.ITALIC + "increase, and strange things will start happening.")); if (corruption > 6000 && corruption < 24000 && random.nextInt(2000) == 0) player.addPotionEffect(new PotionEffect(Potion.blindness.id, 500, 2, false)); diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemEMTItems.java b/src/main/java/tombenpotter/emt/common/module/base/items/ItemEMTItems.java similarity index 80% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemEMTItems.java rename to src/main/java/tombenpotter/emt/common/module/base/items/ItemEMTItems.java index 0ac6a04..8be8270 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemEMTItems.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/ItemEMTItems.java @@ -9,12 +9,12 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items; +package tombenpotter.emt.common.module.base.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.CreativeTab; +import tombenpotter.emt.ElectroMagicTools; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; @@ -126,22 +126,22 @@ public class ItemEMTItems extends Item { @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister ri) { - this.icon[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":clusteruranium"); - this.icon[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":crushedamber"); - this.icon[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":purifiedamber"); - this.icon[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":crushedcinnabar"); - this.icon[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":purifiedcinnabar"); - this.icon[5] = ri.registerIcon(ElectricMagicTools.texturePath + ":thaumiumplate"); - this.icon[6] = ri.registerIcon(ElectricMagicTools.texturePath + ":lightningsummoner"); - this.icon[7] = ri.registerIcon(ElectricMagicTools.texturePath + ":feathermesh"); - this.icon[8] = ri.registerIcon(ElectricMagicTools.texturePath + ":glue"); - this.icon[9] = ri.registerIcon(ElectricMagicTools.texturePath + ":ducttape"); - this.icon[10] = ri.registerIcon(ElectricMagicTools.texturePath + ":rubberball"); - this.icon[11] = ri.registerIcon(ElectricMagicTools.texturePath + ":cardboard"); - this.icon[12] = ri.registerIcon(ElectricMagicTools.texturePath + ":feathercarboardwing"); - this.icon[13] = ri.registerIcon(ElectricMagicTools.texturePath + ":denseironsheet"); - this.icon[14] = ri.registerIcon(ElectricMagicTools.texturePath + ":taintedfeather"); - this.icon[15] = ri.registerIcon(ElectricMagicTools.texturePath + ":thaumiumWing"); + this.icon[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":clusteruranium"); + this.icon[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":crushedamber"); + this.icon[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":purifiedamber"); + this.icon[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":crushedcinnabar"); + this.icon[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":purifiedcinnabar"); + this.icon[5] = ri.registerIcon(ElectroMagicTools.texturePath + ":thaumiumplate"); + this.icon[6] = ri.registerIcon(ElectroMagicTools.texturePath + ":lightningsummoner"); + this.icon[7] = ri.registerIcon(ElectroMagicTools.texturePath + ":feathermesh"); + this.icon[8] = ri.registerIcon(ElectroMagicTools.texturePath + ":glue"); + this.icon[9] = ri.registerIcon(ElectroMagicTools.texturePath + ":ducttape"); + this.icon[10] = ri.registerIcon(ElectroMagicTools.texturePath + ":rubberball"); + this.icon[11] = ri.registerIcon(ElectroMagicTools.texturePath + ":cardboard"); + this.icon[12] = ri.registerIcon(ElectroMagicTools.texturePath + ":feathercarboardwing"); + this.icon[13] = ri.registerIcon(ElectroMagicTools.texturePath + ":denseironsheet"); + this.icon[14] = ri.registerIcon(ElectroMagicTools.texturePath + ":taintedfeather"); + this.icon[15] = ri.registerIcon(ElectroMagicTools.texturePath + ":thaumiumWing"); } @SideOnly(Side.CLIENT) @@ -205,8 +205,8 @@ public class ItemEMTItems extends Item { public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5) { super.onUpdate(stack, world, entity, par4, par5); - if ((!entity.worldObj.isRemote) && ((stack.getItemDamage() == 14)) && ((entity instanceof EntityLivingBase)) && (!((EntityLivingBase) entity).isEntityUndead()) && (!((EntityLivingBase) entity).isPotionActive(Config.potionFluxTaintID)) && (world.rand.nextInt(4321) <= stack.stackSize)) { - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Config.potionFluxTaintID, 120, 0, false)); + if ((!entity.worldObj.isRemote) && ((stack.getItemDamage() == 14)) && ((entity instanceof EntityLivingBase)) && (!((EntityLivingBase) entity).isEntityUndead()) && (!((EntityLivingBase) entity).isPotionActive(Config.potionTaintPoisonID)) && (world.rand.nextInt(4321) <= stack.stackSize)) { + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Config.potionTaintPoisonID, 120, 0, false)); if ((entity instanceof EntityPlayer)) { InventoryHelper.consumeInventoryItem((EntityPlayer) entity, stack.getItem(), stack.getItemDamage()); } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemFeatherWing.java b/src/main/java/tombenpotter/emt/common/module/base/items/ItemFeatherWing.java similarity index 77% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemFeatherWing.java rename to src/main/java/tombenpotter/emt/common/module/base/items/ItemFeatherWing.java index 45b8691..569ae71 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemFeatherWing.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/ItemFeatherWing.java @@ -1,10 +1,8 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.wings; +package tombenpotter.emt.common.module.base.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.client.model.ModelWings; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.client.model.ModelWings; import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.texture.IIconRegister; @@ -14,12 +12,15 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import net.minecraftforge.common.util.EnumHelper; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; public class ItemFeatherWing extends ItemArmor { - public ItemFeatherWing() { - super(EnumHelper.addArmorMaterial("EMTWINGFEATHER", 1, new int[]{2, 2, 2, 2}, 6), 7, 1); + public int visDiscount = 0; + + public ItemFeatherWing(ArmorMaterial material, int par3, int par4) { + super(material, par3, par4); this.setMaxStackSize(1); this.setMaxDamage(120); this.setCreativeTab(CreativeTab.tabTombenpotter); @@ -29,13 +30,13 @@ public class ItemFeatherWing extends ItemArmor { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":featherwings"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":featherwings"); } @Override @SideOnly(Side.CLIENT) public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/featherwing.png"; + return ElectroMagicTools.texturePath + ":textures/models/featherwing.png"; } @Override diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemTaintedThorHammer.java b/src/main/java/tombenpotter/emt/common/module/base/items/ItemTaintedThorHammer.java similarity index 87% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemTaintedThorHammer.java rename to src/main/java/tombenpotter/emt/common/module/base/items/ItemTaintedThorHammer.java index 797583b..2f02827 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemTaintedThorHammer.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/ItemTaintedThorHammer.java @@ -9,11 +9,11 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools.hammer; +package tombenpotter.emt.common.module.base.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.ElectroMagicTools; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -27,15 +27,13 @@ import java.util.List; public class ItemTaintedThorHammer extends ItemThorHammer { public ItemTaintedThorHammer() { - super(); this.setMaxDamage(1000); - // OreDictionary.registerOre("craftingToolForgeHammer", this); } @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":hammer/taintedthorhammer"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":hammer/taintedthorhammer"); } @Override @@ -51,7 +49,7 @@ public class ItemTaintedThorHammer extends ItemThorHammer { if (player.capabilities.isCreativeMode) { return itemstack; } else { - itemstack.damageItem(40, player); + itemstack.damageItem(20, player); return itemstack; } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemThaumiumReinforcedWing.java b/src/main/java/tombenpotter/emt/common/module/base/items/ItemThaumiumReinforcedWing.java similarity index 69% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemThaumiumReinforcedWing.java rename to src/main/java/tombenpotter/emt/common/module/base/items/ItemThaumiumReinforcedWing.java index 7a724b5..1dd2f9c 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemThaumiumReinforcedWing.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/ItemThaumiumReinforcedWing.java @@ -1,62 +1,54 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.wings; +package tombenpotter.emt.common.module.base.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.client.model.ModelWings; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import thaumcraft.api.IRepairable; import thaumcraft.api.IVisDiscountGear; import thaumcraft.api.aspects.Aspect; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.base.items.ItemFeatherWing; +import tombenpotter.emt.common.util.CreativeTab; import java.util.List; -public class ItemThaumiumReinforcedWing extends ItemArmor implements IVisDiscountGear, IRepairable { +public class ItemThaumiumReinforcedWing extends ItemFeatherWing implements IVisDiscountGear, IRepairable { - public ItemThaumiumReinforcedWing() { - super(ArmorMaterial.IRON, 7, 1); + public ItemThaumiumReinforcedWing(ArmorMaterial material, int par3, int par4) { + super(material, par3, par4); this.setMaxStackSize(1); this.setMaxDamage(250); this.setCreativeTab(CreativeTab.tabTombenpotter); this.isDamageable(); + visDiscount = 4; } @Override public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 4; + return visDiscount; } @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":thaumiumwings"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":thaumiumwings"); } @Override @SideOnly(Side.CLIENT) public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/thaumiumwing.png"; - } - - @Override - @SideOnly(Side.CLIENT) - public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { - return new ModelWings(); + return ElectroMagicTools.texturePath + ":textures/models/thaumiumwing.png"; } @SuppressWarnings({"unchecked", "rawtypes"}) @Override public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 4"); + list.add("Vis discount: " + String.valueOf(visDiscount) + "%"); } @Override diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemThorHammer.java b/src/main/java/tombenpotter/emt/common/module/base/items/ItemThorHammer.java similarity index 90% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemThorHammer.java rename to src/main/java/tombenpotter/emt/common/module/base/items/ItemThorHammer.java index ac887ee..651d73f 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemThorHammer.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/ItemThorHammer.java @@ -9,12 +9,10 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools.hammer; +package tombenpotter.emt.common.module.base.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -29,6 +27,8 @@ import net.minecraft.util.MovingObjectPosition.MovingObjectType; import net.minecraft.util.Vec3; import net.minecraft.world.World; import thaumcraft.api.IRepairable; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; import java.util.List; @@ -37,7 +37,6 @@ public class ItemThorHammer extends ItemSword implements IRepairable { public ItemThorHammer() { super(ToolMaterial.EMERALD); this.setCreativeTab(CreativeTab.tabTombenpotter); - this.setMaxStackSize(1); this.setMaxDamage(2000); // OreDictionary.registerOre("craftingToolForgeHammer", this); } @@ -45,7 +44,7 @@ public class ItemThorHammer extends ItemSword implements IRepairable { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":hammer/thorhammer"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":hammer/thorhammer"); } @Override @@ -98,7 +97,6 @@ public class ItemThorHammer extends ItemSword implements IRepairable { return true; } - @SuppressWarnings({"rawtypes", "unchecked"}) @Override public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { list.add("The Hammer of Thor"); diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemBaseFocus.java b/src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemBaseFocus.java similarity index 96% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemBaseFocus.java rename to src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemBaseFocus.java index b14447a..d06ce81 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemBaseFocus.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemBaseFocus.java @@ -9,9 +9,9 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.foci; +package tombenpotter.emt.common.module.base.items.foci; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; +import tombenpotter.emt.common.util.CreativeTab; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemChristmasFocus.java b/src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemChristmasFocus.java similarity index 70% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemChristmasFocus.java rename to src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemChristmasFocus.java index c8097c0..35f1afd 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemChristmasFocus.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemChristmasFocus.java @@ -9,11 +9,10 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.foci; +package tombenpotter.emt.common.module.base.items.foci; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.monster.EntitySnowman; import net.minecraft.entity.player.EntityPlayer; @@ -23,6 +22,7 @@ import net.minecraft.world.World; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; import thaumcraft.common.items.wands.ItemWandCasting; +import tombenpotter.emt.ElectroMagicTools; public class ItemChristmasFocus extends ItemBaseFocus { @@ -40,7 +40,7 @@ public class ItemChristmasFocus extends ItemBaseFocus { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":christmasfocus"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":christmasfocus"); } @Override @@ -54,15 +54,21 @@ public class ItemChristmasFocus extends ItemBaseFocus { } @Override - public ItemStack onFocusRightClick(ItemStack itemstack, World world, EntityPlayer player, MovingObjectPosition movingobjectposition) { + public ItemStack onFocusRightClick(ItemStack itemstack, World world, EntityPlayer player, MovingObjectPosition mop) { ItemWandCasting wand = (ItemWandCasting) itemstack.getItem(); - if (wand.consumeAllVis(itemstack, player, getVisCost(), true, true)) { - if (!world.isRemote) { - EntitySnowman snowman; - snowman = new EntitySnowman(world); - snowman.setPosition(player.posX + 2, player.posY + 1, player.posZ + 2); - world.spawnEntityInWorld(snowman); + if ((mop != null) && (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)) { + int x = mop.blockX; + int y = mop.blockY + 1; + int z = mop.blockZ; + if (wand.consumeAllVis(itemstack, player, getVisCost(), true, true)) { + if (!world.isRemote) { + EntitySnowman snowman; + snowman = new EntitySnowman(world); + snowman.setPosition(x, y, z); + world.spawnEntityInWorld(snowman); + } } + player.swingItem(); } return itemstack; } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemExplosionFocus.java b/src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemExplosionFocus.java similarity index 86% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemExplosionFocus.java rename to src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemExplosionFocus.java index 5e3386a..aedd710 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemExplosionFocus.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemExplosionFocus.java @@ -9,12 +9,10 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.foci; +package tombenpotter.emt.common.module.base.items.foci; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.entities.EntityLaser; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -23,6 +21,8 @@ import net.minecraft.world.World; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; import thaumcraft.common.items.wands.ItemWandCasting; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.base.entities.EntityLaser; public class ItemExplosionFocus extends ItemBaseFocus { @@ -35,7 +35,7 @@ public class ItemExplosionFocus extends ItemBaseFocus { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":explosionfocus"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":explosionfocus"); } @Override diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemShieldFocus.java b/src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemShieldFocus.java similarity index 69% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemShieldFocus.java rename to src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemShieldFocus.java index d1e039b..4b4d64e 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemShieldFocus.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemShieldFocus.java @@ -9,12 +9,10 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.foci; +package tombenpotter.emt.common.module.base.items.foci; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -24,6 +22,8 @@ import net.minecraft.world.World; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; import thaumcraft.common.items.wands.ItemWandCasting; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; public class ItemShieldFocus extends ItemBaseFocus { @@ -36,7 +36,7 @@ public class ItemShieldFocus extends ItemBaseFocus { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":shieldfocus"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":shieldfocus"); } @Override @@ -73,18 +73,18 @@ public class ItemShieldFocus extends ItemBaseFocus { // Player Level if (player.worldObj.isAirBlock(x + 1, y, z) && player.worldObj.isAirBlock(x - 1, y, z) && player.worldObj.isAirBlock(x, y, z + 1) && player.worldObj.isAirBlock(x, y, z - 1)) { - player.worldObj.setBlock(x + 1, y, z, BlockRegistry.shield); - player.worldObj.setBlock(x - 1, y, z, BlockRegistry.shield); - player.worldObj.setBlock(x, y, z + 1, BlockRegistry.shield); - player.worldObj.setBlock(x, y, z - 1, BlockRegistry.shield); + player.worldObj.setBlock(x + 1, y, z, IC2ModuleBlockRegistry.shield); + player.worldObj.setBlock(x - 1, y, z, IC2ModuleBlockRegistry.shield); + player.worldObj.setBlock(x, y, z + 1, IC2ModuleBlockRegistry.shield); + player.worldObj.setBlock(x, y, z - 1, IC2ModuleBlockRegistry.shield); } // Above the player if (player.worldObj.isAirBlock(x + 1, y + 1, z) && player.worldObj.isAirBlock(x - 1, y + 1, z) && player.worldObj.isAirBlock(x, y + 1, z + 1) && player.worldObj.isAirBlock(x, y + 1, z - 1)) { - player.worldObj.setBlock(x + 1, y + 1, z, BlockRegistry.shield); - player.worldObj.setBlock(x - 1, y + 1, z, BlockRegistry.shield); - player.worldObj.setBlock(x, y + 1, z + 1, BlockRegistry.shield); - player.worldObj.setBlock(x, y + 1, z - 1, BlockRegistry.shield); + player.worldObj.setBlock(x + 1, y + 1, z, IC2ModuleBlockRegistry.shield); + player.worldObj.setBlock(x - 1, y + 1, z, IC2ModuleBlockRegistry.shield); + player.worldObj.setBlock(x, y + 1, z + 1, IC2ModuleBlockRegistry.shield); + player.worldObj.setBlock(x, y + 1, z - 1, IC2ModuleBlockRegistry.shield); } } @@ -97,7 +97,7 @@ public class ItemShieldFocus extends ItemBaseFocus { int z = MathHelper.floor_double(player.posZ); // Player Level - if ((player.worldObj.getBlock(x + 1, y, z) == BlockRegistry.shield) && (player.worldObj.getBlock(x - 1, y, z) == BlockRegistry.shield) && (player.worldObj.getBlock(x, y, z + 1) == BlockRegistry.shield) && (player.worldObj.getBlock(x, y, z - 1) == BlockRegistry.shield)) { + if ((player.worldObj.getBlock(x + 1, y, z) == IC2ModuleBlockRegistry.shield) && (player.worldObj.getBlock(x - 1, y, z) == IC2ModuleBlockRegistry.shield) && (player.worldObj.getBlock(x, y, z + 1) == IC2ModuleBlockRegistry.shield) && (player.worldObj.getBlock(x, y, z - 1) == IC2ModuleBlockRegistry.shield)) { player.worldObj.setBlockToAir(x + 1, y, z); player.worldObj.setBlockToAir(x - 1, y, z); player.worldObj.setBlockToAir(x, y, z + 1); @@ -105,7 +105,7 @@ public class ItemShieldFocus extends ItemBaseFocus { } // Above the player - if ((player.worldObj.getBlock(x + 1, y + 1, z) == BlockRegistry.shield) && (player.worldObj.getBlock(x - 1, y + 1, z) == BlockRegistry.shield) && (player.worldObj.getBlock(x, y + 1, z + 1) == BlockRegistry.shield) && (player.worldObj.getBlock(x, y + 1, z - 1) == BlockRegistry.shield)) { + if ((player.worldObj.getBlock(x + 1, y + 1, z) == IC2ModuleBlockRegistry.shield) && (player.worldObj.getBlock(x - 1, y + 1, z) == IC2ModuleBlockRegistry.shield) && (player.worldObj.getBlock(x, y + 1, z + 1) == IC2ModuleBlockRegistry.shield) && (player.worldObj.getBlock(x, y + 1, z - 1) == IC2ModuleBlockRegistry.shield)) { player.worldObj.setBlockToAir(x + 1, y + 1, z); player.worldObj.setBlockToAir(x - 1, y + 1, z); player.worldObj.setBlockToAir(x, y + 1, z + 1); diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityPortableNode.java b/src/main/java/tombenpotter/emt/common/module/base/tile/TileEntityPortableNode.java similarity index 93% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityPortableNode.java rename to src/main/java/tombenpotter/emt/common/module/base/tile/TileEntityPortableNode.java index f7a83c3..2c73a5c 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityPortableNode.java +++ b/src/main/java/tombenpotter/emt/common/module/base/tile/TileEntityPortableNode.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile; +package tombenpotter.emt.common.module.base.tile; import thaumcraft.api.nodes.NodeModifier; import thaumcraft.api.nodes.NodeType; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/BlockRegistry.java b/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleBlockRegistry.java similarity index 75% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/BlockRegistry.java rename to src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleBlockRegistry.java index 9927f87..b2460ba 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/BlockRegistry.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleBlockRegistry.java @@ -9,31 +9,30 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.module.ic2; import cpw.mods.fml.common.registry.GameRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.blocks.*; -import electricMagicTools.tombenpotter.electricmagictools.common.items.blocks.ItemBlockEMTMachines; -import electricMagicTools.tombenpotter.electricmagictools.common.items.blocks.ItemBlockEMTSolars; -import electricMagicTools.tombenpotter.electricmagictools.common.items.blocks.ItemBlockEMTSolars2; -import electricMagicTools.tombenpotter.electricmagictools.common.items.blocks.ItemBlockEssentiaGenerators; import net.minecraft.block.Block; +import tombenpotter.emt.common.module.ic2.blocks.*; +import tombenpotter.emt.common.module.ic2.items.blocks.*; -public class BlockRegistry { +public class IC2ModuleBlockRegistry { public static Block essentiaGens; public static Block shield; public static Block emtSolars; public static Block emtMachines; public static Block emtSolars2; public static Block portableNode; + public static Block essentiaGenerator; - public static void registerEMTBlocks() { + public static void registerBlocks() { shield = new BlockShield().setBlockName("shield"); portableNode = new BlockPortableNode().setBlockName("portablenode"); emtSolars = new BlockEMTSolars().setBlockName("emtsolars"); essentiaGens = new BlockEssentiaGenerators().setBlockName("essentiaGens"); emtMachines = new BlockEMTMachines().setBlockName("emtmachines"); emtSolars2 = new BlockEMTSolars2().setBlockName("emtsolars2"); + essentiaGenerator = new BlockEssentiaGenerator().setBlockName("essentiaGenerator"); GameRegistry.registerBlock(shield, "Shield Block"); GameRegistry.registerBlock(portableNode, "Portable Node"); @@ -41,5 +40,6 @@ public class BlockRegistry { GameRegistry.registerBlock(essentiaGens, ItemBlockEssentiaGenerators.class, "Essentia Generators"); GameRegistry.registerBlock(emtMachines, ItemBlockEMTMachines.class, "EMT Machines"); GameRegistry.registerBlock(emtSolars2, ItemBlockEMTSolars2.class, "EMT Solars 2"); + GameRegistry.registerBlock(essentiaGenerator, ItemBlockEssentiaGenerator.class, "Essentia Generator"); } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/ItemRegistry.java b/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleItemRegistry.java similarity index 61% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/ItemRegistry.java rename to src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleItemRegistry.java index 97b8658..9902468 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/ItemRegistry.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleItemRegistry.java @@ -9,31 +9,46 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.module.ic2; import cpw.mods.fml.common.registry.GameRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.items.ItemEMTBaubles; -import electricMagicTools.tombenpotter.electricmagictools.common.items.ItemEMTItems; -import electricMagicTools.tombenpotter.electricmagictools.common.items.ItemElectricScribingTools; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.boots.ItemElectricBootsTraveller; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.boots.ItemNanoBootsTraveller; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.boots.ItemQuantumBootsTraveller; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.goggles.ItemElectricGoggles; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.goggles.ItemNanoThaumicHelmet; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.goggles.ItemQuantumThaumicHelmet; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.goggles.ItemSolarHelmetRevealing; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.wings.ItemFeatherWing; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.wings.ItemNanoWing; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.wings.ItemQuantumWing; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.wings.ItemThaumiumReinforcedWing; -import electricMagicTools.tombenpotter.electricmagictools.common.items.foci.*; -import electricMagicTools.tombenpotter.electricmagictools.common.items.tools.*; -import electricMagicTools.tombenpotter.electricmagictools.common.items.tools.hammer.ItemElectricThorHammer; -import electricMagicTools.tombenpotter.electricmagictools.common.items.tools.hammer.ItemTaintedThorHammer; -import electricMagicTools.tombenpotter.electricmagictools.common.items.tools.hammer.ItemThorHammer; import net.minecraft.item.Item; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; +import net.minecraftforge.common.util.EnumHelper; +import thaumcraft.api.ThaumcraftApi; +import tombenpotter.emt.common.module.base.items.ItemEMTBaubles; +import tombenpotter.emt.common.module.base.items.ItemEMTItems; +import tombenpotter.emt.common.module.base.items.foci.ItemChristmasFocus; +import tombenpotter.emt.common.module.base.items.foci.ItemExplosionFocus; +import tombenpotter.emt.common.module.base.items.foci.ItemShieldFocus; +import tombenpotter.emt.common.module.ic2.items.ItemElectricScribingTools; +import tombenpotter.emt.common.module.ic2.items.armor.boots.ItemElectricBootsTraveller; +import tombenpotter.emt.common.module.ic2.items.armor.boots.ItemNanoBootsTraveller; +import tombenpotter.emt.common.module.ic2.items.armor.boots.ItemQuantumBootsTraveller; +import tombenpotter.emt.common.module.ic2.items.armor.goggles.ItemElectricGoggles; +import tombenpotter.emt.common.module.ic2.items.armor.goggles.ItemNanoGoggles; +import tombenpotter.emt.common.module.ic2.items.armor.goggles.ItemQuantumGoggles; +import tombenpotter.emt.common.module.ic2.items.armor.goggles.ItemSolarHelmetRevealing; +import tombenpotter.emt.common.module.base.items.ItemFeatherWing; +import tombenpotter.emt.common.module.ic2.items.armor.wings.ItemNanoWing; +import tombenpotter.emt.common.module.ic2.items.armor.wings.ItemQuantumWing; +import tombenpotter.emt.common.module.base.items.ItemThaumiumReinforcedWing; +import tombenpotter.emt.common.module.ic2.items.foci.*; +import tombenpotter.emt.common.module.ic2.items.tools.ItemElectricHoeGrowth; +import tombenpotter.emt.common.module.ic2.items.tools.chainsaws.ItemDiamondChainsaw; +import tombenpotter.emt.common.module.ic2.items.tools.chainsaws.ItemStreamChainsaw; +import tombenpotter.emt.common.module.ic2.items.tools.chainsaws.ItemThaumiumChainsaw; +import tombenpotter.emt.common.module.ic2.items.tools.drills.ItemRockbreakerDrill; +import tombenpotter.emt.common.module.ic2.items.tools.drills.ItemThaumiumDrill; +import tombenpotter.emt.common.module.ic2.items.tools.ItemElectricThorHammer; +import tombenpotter.emt.common.module.base.items.ItemTaintedThorHammer; +import tombenpotter.emt.common.module.base.items.ItemThorHammer; +import tombenpotter.emt.common.module.ic2.items.tools.omnitools.ItemOmnitoolDiamond; +import tombenpotter.emt.common.module.ic2.items.tools.omnitools.ItemOmnitoolIron; +import tombenpotter.emt.common.module.ic2.items.tools.omnitools.ItemOmnitoolThaumium; -public class ItemRegistry { +public class IC2ModuleItemRegistry { public static Item thaumiumDrill; public static Item thaumiumChainsaw; @@ -67,22 +82,24 @@ public class ItemRegistry { public static Item nanoWing; public static Item quantumWing; - public static void registerEMTItems() { + public static ItemArmor.ArmorMaterial featherWingMaterial = EnumHelper.addArmorMaterial("FEATEHRWiNG", 1, new int[]{2, 2, 2, 2}, 6); + + public static void registerItems() { thaumiumDrill = new ItemThaumiumDrill().setUnlocalizedName("thaumiumdrill"); thaumiumChainsaw = new ItemThaumiumChainsaw().setUnlocalizedName("thaumiumchainsaw"); - quantumThaumicHelmet = new ItemQuantumThaumicHelmet(3, 0).setUnlocalizedName("quantumthaumichelmet"); + quantumThaumicHelmet = new ItemQuantumGoggles(ItemArmor.ArmorMaterial.DIAMOND, 3, 0).setUnlocalizedName("quantumthaumichelmet"); diamondChainsaw = new ItemDiamondChainsaw().setUnlocalizedName("diamondchainsaw"); ironOmnitool = new ItemOmnitoolIron().setUnlocalizedName("ironomnitool"); diamondOmnitool = new ItemOmnitoolDiamond().setUnlocalizedName("diamondomnitool"); thaumiumOmnitool = new ItemOmnitoolThaumium().setUnlocalizedName("thaumiumomnitool"); - nanoThaumicHelmet = new ItemNanoThaumicHelmet(3, 0).setUnlocalizedName("nanothaumichelmet"); + nanoThaumicHelmet = new ItemNanoGoggles(ItemArmor.ArmorMaterial.DIAMOND, 3, 0).setUnlocalizedName("nanothaumichelmet"); explosionFocus = new ItemExplosionFocus().setUnlocalizedName("laserfocus"); christmasFocus = new ItemChristmasFocus().setUnlocalizedName("christmasfocus"); shieldFocus = new ItemShieldFocus().setUnlocalizedName("shieldfocus"); - electricGoggles = new ItemElectricGoggles(3, 0).setUnlocalizedName("electricgoggles"); + electricGoggles = new ItemElectricGoggles(ItemArmor.ArmorMaterial.IRON, 3, 0).setUnlocalizedName("electricgoggles"); streamChainsaw = new ItemStreamChainsaw().setUnlocalizedName("streamchainsaw"); rockbreakerDrill = new ItemRockbreakerDrill().setUnlocalizedName("rockbreakerdrill"); - solarHelmetRevealing = new ItemSolarHelmetRevealing(3, 0).setUnlocalizedName("solarhelmetrevealing"); + solarHelmetRevealing = new ItemSolarHelmetRevealing(ItemArmor.ArmorMaterial.DIAMOND, 3, 0).setUnlocalizedName("solarhelmetrevealing"); thorHammer = new ItemThorHammer().setUnlocalizedName("hammerthor"); taintedThorHammer = new ItemTaintedThorHammer().setUnlocalizedName("taintedthorhammer"); electricThorHammer = new ItemElectricThorHammer().setUnlocalizedName("electricthorhammer"); @@ -95,10 +112,10 @@ public class ItemRegistry { chargeFocus = new ItemChargeFocus().setUnlocalizedName("chargefocus"); emtBauble = new ItemEMTBaubles().setUnlocalizedName("emtbauble"); wandChargeFocus = new ItemWandChargingFocus().setUnlocalizedName("wandchargefocus"); - featherWing = new ItemFeatherWing().setUnlocalizedName("featherwing"); - thaumiumWing = new ItemThaumiumReinforcedWing().setUnlocalizedName("thaumiumwing"); - nanoWing = new ItemNanoWing().setUnlocalizedName("nanowing"); - quantumWing = new ItemQuantumWing().setUnlocalizedName("quantumwing"); + featherWing = new ItemFeatherWing(featherWingMaterial, 7, 1).setUnlocalizedName("featherwing"); + thaumiumWing = new ItemThaumiumReinforcedWing(ThaumcraftApi.armorMatThaumium, 7, 1).setUnlocalizedName("thaumiumwing"); + nanoWing = new ItemNanoWing(ItemArmor.ArmorMaterial.DIAMOND, 7, 1).setUnlocalizedName("nanowing"); + quantumWing = new ItemQuantumWing(ItemArmor.ArmorMaterial.DIAMOND, 7, 1).setUnlocalizedName("quantumwing"); GameRegistry.registerItem(thaumiumDrill, "Thaumium Drill"); GameRegistry.registerItem(thaumiumChainsaw, "Thaumium Chainsaw"); @@ -132,4 +149,8 @@ public class ItemRegistry { GameRegistry.registerItem(nanoWing, "Nanosuit Wing"); GameRegistry.registerItem(quantumWing, "Quantum Wing"); } + + public static ItemStack armorEuMaker = new ItemStack(emtBauble, 1, 0); + public static ItemStack inventoryEuMaker = new ItemStack(emtBauble, 1, 1); + public static ItemStack oneRing = new ItemStack(emtBauble, 1, 2); } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/ThaumonomiconResearch.java b/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleResearch.java similarity index 71% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/ThaumonomiconResearch.java rename to src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleResearch.java index e76b6b8..66ca9d0 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/ThaumonomiconResearch.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleResearch.java @@ -9,12 +9,12 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.module.ic2; -import electricMagicTools.tombenpotter.electricmagictools.common.lib.ResearchAspects; -import electricMagicTools.tombenpotter.electricmagictools.common.recipes.EMTInitRecipes; -import electricMagicTools.tombenpotter.electricmagictools.common.recipes.EMTPostInitRecipes; -import electricMagicTools.tombenpotter.electricmagictools.common.recipes.UuMInfusionRecipes; +import tombenpotter.emt.common.util.EMTResearchItem; +import tombenpotter.emt.common.module.ic2.recipes.EMTInitRecipes; +import tombenpotter.emt.common.module.ic2.recipes.EMTPostInitRecipes; +import tombenpotter.emt.common.module.ic2.recipes.UuMInfusionRecipes; import ic2.api.item.IC2Items; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; @@ -22,12 +22,14 @@ import thaumcraft.api.aspects.AspectList; import thaumcraft.api.research.ResearchCategories; import thaumcraft.api.research.ResearchItem; import thaumcraft.api.research.ResearchPage; +import tombenpotter.emt.common.util.ResearchAspects; +import tombenpotter.emt.common.util.Config; -public class ThaumonomiconResearch { +public class IC2ModuleResearch { public static void addResearchTab() { ResourceLocation background = new ResourceLocation("thaumcraft", "textures/gui/gui_researchback.png"); - ResearchCategories.registerCategory("EMT", new ResourceLocation("electricmagictools:textures/misc/emt.png"), background); + ResearchCategories.registerCategory("EMT", new ResourceLocation("electromagictools:textures/misc/emt.png"), background); } public static void addResearch() { @@ -37,15 +39,15 @@ public class ThaumonomiconResearch { /** Research that can't be disabled **/ text = "1"; - research = new EMTResearchItem("Electric Magic Tools", "EMT", new AspectList(), 0, 0, 0, new ResourceLocation("electricmagictools:textures/misc/emt.png")).setRound().setAutoUnlock().registerResearchItem(); + research = new EMTResearchItem("Electric Magic Tools", "EMT", new AspectList(), 0, 0, 0, new ResourceLocation("electromagictools:textures/misc/emt.png")).setRound().setAutoUnlock().registerResearchItem(); research.setPages(new ResearchPage(text)); text = "1"; - research = new EMTResearchItem("Diamond Chainsaw", "EMT", new AspectList(), 5, -6, 0, new ItemStack(ItemRegistry.diamondChainsaw)).setRound().setAutoUnlock().registerResearchItem(); + research = new EMTResearchItem("Diamond Chainsaw", "EMT", new AspectList(), 5, -6, 0, new ItemStack(IC2ModuleItemRegistry.diamondChainsaw)).setRound().setAutoUnlock().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTInitRecipes.diamondChainsaw)); text = "1"; - research = new EMTResearchItem("Thaumium Plate", "EMT", new AspectList(), 6, -6, 0, new ItemStack(ItemRegistry.itemEMTItems, 1, 5)).setRound().setAutoUnlock().registerResearchItem(); + research = new EMTResearchItem("Thaumium Plate", "EMT", new AspectList(), 6, -6, 0, new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5)).setRound().setAutoUnlock().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.thaumiumPlate)); text = "1"; @@ -53,44 +55,44 @@ public class ThaumonomiconResearch { research.setPages(new ResearchPage(text)); text = "1"; - research = new EMTResearchItem("The Legend", "EMT", new AspectList(), 5, -5, 0, new ItemStack(ItemRegistry.taintedThorHammer)).setRound().setAutoUnlock().registerResearchItem(); + research = new EMTResearchItem("The Legend", "EMT", new AspectList(), 5, -5, 0, new ItemStack(IC2ModuleItemRegistry.taintedThorHammer)).setRound().setAutoUnlock().registerResearchItem(); research.setPages(new ResearchPage(text)); text = "1"; - research = new EMTResearchItem("Lightning Summoner", "EMT", new AspectList(), 6, -5, 0, new ItemStack(ItemRegistry.itemEMTItems, 1, 6)).setRound().setAutoUnlock().registerResearchItem(); + research = new EMTResearchItem("Lightning Summoner", "EMT", new AspectList(), 6, -5, 0, new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 6)).setRound().setAutoUnlock().registerResearchItem(); research.setPages(new ResearchPage(text)); text = "1"; - research = new EMTResearchItem("The One Ring", "EMT", new AspectList(), 6, -7, 0, new ItemStack(ItemRegistry.emtBauble, 1, 2)).setRound().setAutoUnlock().registerResearchItem(); + research = new EMTResearchItem("The One Ring", "EMT", new AspectList(), 6, -7, 0, new ItemStack(IC2ModuleItemRegistry.emtBauble, 1, 2)).setRound().setAutoUnlock().registerResearchItem(); research.setPages(new ResearchPage(text)); text = "1"; - research = new EMTResearchItem("Feather Wings", "EMT", new AspectList(), 0, 2, 0, new ItemStack(ItemRegistry.featherWing)).setRound().setAutoUnlock().registerResearchItem(); + research = new EMTResearchItem("Feather Wings", "EMT", new AspectList(), 0, 2, 0, new ItemStack(IC2ModuleItemRegistry.featherWing)).setRound().setAutoUnlock().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTInitRecipes.rubberBall), new ResearchPage(EMTInitRecipes.ductTape), new ResearchPage(EMTInitRecipes.featherMesh), new ResearchPage(EMTInitRecipes.cardboard), new ResearchPage(EMTInitRecipes.featherWing), new ResearchPage(EMTInitRecipes.featherWings)); /** Research that can be disabled **/ if (Config.thaumiumDrillResearch == false) { text = "1"; - research = new EMTResearchItem("Thaumium Drill", "EMT", ResearchAspects.thaumiumDrillResearch, -1, -2, 1, new ItemStack(ItemRegistry.thaumiumDrill)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Thaumium Drill", "EMT", ResearchAspects.thaumiumDrillResearch, -1, -2, 1, new ItemStack(IC2ModuleItemRegistry.thaumiumDrill)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.thaumiumDrill)); } if (Config.thaumiumChainsawResearch == false) { text = "1"; - research = new EMTResearchItem("Thaumium Chainsaw", "EMT", ResearchAspects.thaumiumChainsawResearch, -2, -2, 1, new ItemStack(ItemRegistry.thaumiumChainsaw)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Thaumium Chainsaw", "EMT", ResearchAspects.thaumiumChainsawResearch, -2, -2, 1, new ItemStack(IC2ModuleItemRegistry.thaumiumChainsaw)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.thaumiumChainsaw)); } if (Config.electricGooglesResearch == false) { text = "1"; - research = new EMTResearchItem("Electric Goggles", "EMT", ResearchAspects.electricGogglesResearch, 1, -2, 1, new ItemStack(ItemRegistry.electricGoggles)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Electric Goggles", "EMT", ResearchAspects.electricGogglesResearch, 1, -2, 1, new ItemStack(IC2ModuleItemRegistry.electricGoggles)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.electricGoggles)); } if (Config.electricGooglesResearch == false) { if (Config.nanoGooglesResearch == false) { text = "1"; - research = new EMTResearchItem("Nanosuit Goggles of Revealing", "EMT", ResearchAspects.thaumicNanoHelmet, 2, -2, 2, new ItemStack(ItemRegistry.nanoThaumicHelmet)).setParents("Electric Goggles").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Nanosuit Goggles of Revealing", "EMT", ResearchAspects.thaumicNanoHelmet, 2, -2, 2, new ItemStack(IC2ModuleItemRegistry.nanoThaumicHelmet)).setParents("Electric Goggles").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.thaumicNanoHelmet)); } } @@ -99,7 +101,7 @@ public class ThaumonomiconResearch { if (Config.nanoGooglesResearch == false) { if (Config.quantumGooglesResearch == false) { text = "1"; - research = new EMTResearchItem("Quantum Goggles of Revealing", "EMT", ResearchAspects.thaumicQuantumHelmet, 3, -2, 3, new ItemStack(ItemRegistry.quantumThaumicHelmet)).setParents("Nanosuit Goggles of Revealing").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Quantum Goggles of Revealing", "EMT", ResearchAspects.thaumicQuantumHelmet, 3, -2, 3, new ItemStack(IC2ModuleItemRegistry.quantumThaumicHelmet)).setParents("Nanosuit Goggles of Revealing").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.thaumicQuantumHelmet)); } } @@ -107,14 +109,14 @@ public class ThaumonomiconResearch { if (Config.ironOmnitoolResearch == false) { text = "1"; - research = new EMTResearchItem("Iron Omnitool", "EMT", new AspectList(), -2, 0, 0, new ItemStack(ItemRegistry.ironOmnitool)).setParents("Electric Magic Tools").setRound().setAutoUnlock().registerResearchItem(); + research = new EMTResearchItem("Iron Omnitool", "EMT", new AspectList(), -2, 0, 0, new ItemStack(IC2ModuleItemRegistry.ironOmnitool)).setParents("Electric Magic Tools").setRound().setAutoUnlock().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTInitRecipes.ironOmnitool)); } if (Config.ironOmnitoolResearch == false) { if (Config.diamondOmnitoolResearch == false) { text = "1"; - research = new EMTResearchItem("Diamond Omnitool", "EMT", ResearchAspects.diamondOmnitoolResearch, -4, 0, 1, new ItemStack(ItemRegistry.diamondOmnitool)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Diamond Omnitool", "EMT", ResearchAspects.diamondOmnitoolResearch, -4, 0, 1, new ItemStack(IC2ModuleItemRegistry.diamondOmnitool)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.diamondOmnitool), new ResearchPage(EMTPostInitRecipes.ironOmnitoolToDiamond)); } } @@ -122,47 +124,47 @@ public class ThaumonomiconResearch { if (Config.thaumiumDrillResearch == false && Config.thaumiumChainsawResearch == false) { if (Config.thaumiumOmnitoolResearch == false) { text = "1"; - research = new EMTResearchItem("Thaumium Omnitool", "EMT", ResearchAspects.thaumiumOmnitoolResearch, -6, 0, 2, new ItemStack(ItemRegistry.thaumiumOmnitool)).setParentsHidden("Thaumium Drill", "Thaumium Chainsaw").setParents("Diamond Omnitool").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Thaumium Omnitool", "EMT", ResearchAspects.thaumiumOmnitoolResearch, -6, 0, 2, new ItemStack(IC2ModuleItemRegistry.thaumiumOmnitool)).setParentsHidden("Thaumium Drill", "Thaumium Chainsaw").setParents("Diamond Omnitool").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.thaumiumOmnitool), new ResearchPage(EMTPostInitRecipes.diamondOmnitoolToThaumium)); } } if (Config.explosionFocusResearch == false) { text = "1"; - research = new EMTResearchItem("Explosion Focus", "EMT", ResearchAspects.laserFocusResearch, 2, 3, 2, new ItemStack(ItemRegistry.explosionFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Explosion Focus", "EMT", ResearchAspects.laserFocusResearch, 2, 3, 2, new ItemStack(IC2ModuleItemRegistry.explosionFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.explosionFocus)); } if (Config.christmasFocusResearch == false) { text = "1"; - research = new EMTResearchItem("Kris-tmas Focus", "EMT", ResearchAspects.christmasFocusResearch, 3, 3, 1, new ItemStack(ItemRegistry.christmasFocus)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Kris-tmas Focus", "EMT", ResearchAspects.christmasFocusResearch, 3, 3, 1, new ItemStack(IC2ModuleItemRegistry.christmasFocus)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.christmasFocus)); } if (Config.shieldFocusResearch == false) { text = "1"; - research = new EMTResearchItem("Shield Focus", "EMT", ResearchAspects.shieldFocusResearch, 4, 3, 2, new ItemStack(ItemRegistry.shieldFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Shield Focus", "EMT", ResearchAspects.shieldFocusResearch, 4, 3, 2, new ItemStack(IC2ModuleItemRegistry.shieldFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.shieldFocus)); } if (Config.shieldFocusResearch == false) { if (Config.shieldBlockResearch == false) { text = "1"; - research = new EMTResearchItem("Shield Block", "EMT", ResearchAspects.shieldBlockResearch, 4, 5, 1, new ItemStack(BlockRegistry.shield)).setSecondary().setParents("Shield Focus").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Shield Block", "EMT", ResearchAspects.shieldBlockResearch, 4, 5, 1, new ItemStack(IC2ModuleBlockRegistry.shield)).setSecondary().setParents("Shield Focus").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.shieldBlock)); } } if (Config.potentiaGeneratorResearch == false) { text = "1"; - research = new EMTResearchItem("Potentia Generator", "EMT", ResearchAspects.potentiaGeneratorResearch, -2, 3, 3, new ItemStack(BlockRegistry.essentiaGens, 1, 0)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Potentia Generator", "EMT", ResearchAspects.potentiaGeneratorResearch, -2, 3, 3, new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 0)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.potentiaGenerator)); } if (Config.potentiaGeneratorResearch == false) { if (Config.ignisGeneratorResearch == false) { text = "1"; - research = new EMTResearchItem("Ignis Generator", "EMT", ResearchAspects.ignisGeneratorResearch, -3, 4, 1, new ItemStack(BlockRegistry.essentiaGens, 1, 1)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Ignis Generator", "EMT", ResearchAspects.ignisGeneratorResearch, -3, 4, 1, new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 1)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.ignisGenerator)); } } @@ -170,7 +172,7 @@ public class ThaumonomiconResearch { if (Config.potentiaGeneratorResearch == false) { if (Config.auramGeneratorResearch == false) { text = "1"; - research = new EMTResearchItem("Auram Generator", "EMT", ResearchAspects.auramGeneratorResearch, -1, 4, 1, new ItemStack(BlockRegistry.essentiaGens, 1, 2)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Auram Generator", "EMT", ResearchAspects.auramGeneratorResearch, -1, 4, 1, new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 2)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.auramGenerator)); } } @@ -178,23 +180,31 @@ public class ThaumonomiconResearch { if (Config.potentiaGeneratorResearch == false) { if (Config.arborGeneratorResearch == false) { text = "1"; - research = new EMTResearchItem("Arbor Generator", "EMT", ResearchAspects.arborGeneratorResearch, -2, 5, 1, new ItemStack(BlockRegistry.essentiaGens, 1, 3)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Arbor Generator", "EMT", ResearchAspects.arborGeneratorResearch, -2, 5, 1, new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 3)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.arborGenerator)); } } - // if(Config.potentiaGeneratorResearch == false) { - // if(Config.wandChargingSationResearch = false) { - text = "1"; - research = new EMTResearchItem("Industrial Wand Charging Station", "EMT", ResearchAspects.wandCharger, -4, 2, 3, new ItemStack(BlockRegistry.emtMachines, 1, 0)).setParents("Potentia Generator").registerResearchItem(); - research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.wandRecharger)); - // } - // } + if (Config.potentiaGeneratorResearch == false) { + if (Config.aerGeneratorResearch == false) { + text = "1"; + research = new EMTResearchItem("Aer Generator", "EMT", ResearchAspects.aerGenerator, -2, 6, 1, new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 4)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem(); + research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.aerGenerator)); + } + } + + if (Config.potentiaGeneratorResearch == false) { + if (Config.wandChargingSationResearch == false) { + text = "1"; + research = new EMTResearchItem("Industrial Wand Charging Station", "EMT", ResearchAspects.wandCharger, -4, 2, 3, new ItemStack(IC2ModuleBlockRegistry.emtMachines, 1, 0)).setParents("Potentia Generator").registerResearchItem(); + research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.wandRecharger)); + } + } if (Config.thaumiumChainsawResearch == false) { if (Config.streamChainsawResearch == false) { text = "1"; - research = new EMTResearchItem("Chainsaw of the Stream", "EMT", ResearchAspects.streamChainsawResearch, -3, -4, 3, new ItemStack(ItemRegistry.streamChainsaw)).setParents("Thaumium Chainsaw").registerResearchItem(); + research = new EMTResearchItem("Chainsaw of the Stream", "EMT", ResearchAspects.streamChainsawResearch, -3, -4, 3, new ItemStack(IC2ModuleItemRegistry.streamChainsaw)).setParents("Thaumium Chainsaw").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.streamChainsaw)); } } @@ -202,7 +212,7 @@ public class ThaumonomiconResearch { if (Config.thaumiumDrillResearch == false) { if (Config.rockbreakerDrillResearch == false) { text = "1"; - research = new EMTResearchItem("Drill of the Rockbreaker", "EMT", ResearchAspects.rockbreakerDrillResearch, 0, -4, 3, new ItemStack(ItemRegistry.rockbreakerDrill)).setParents("Thaumium Drill").registerResearchItem(); + research = new EMTResearchItem("Drill of the Rockbreaker", "EMT", ResearchAspects.rockbreakerDrillResearch, 0, -4, 3, new ItemStack(IC2ModuleItemRegistry.rockbreakerDrill)).setParents("Thaumium Drill").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.rockbreakerDrill)); } } @@ -215,42 +225,42 @@ public class ThaumonomiconResearch { if (Config.thorHammerResearch == false) { text = "1"; - research = new EMTResearchItem("Mjolnir", "EMT", ResearchAspects.thorHammerResearch, -5, 5, 3, new ItemStack(ItemRegistry.thorHammer)).setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Mjolnir", "EMT", ResearchAspects.thorHammerResearch, -5, 5, 3, new ItemStack(IC2ModuleItemRegistry.thorHammer)).setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.thorHammer)); } if (Config.thorHammerResearch == false) { if (Config.superchargedThorHammerResearch == false) { text = "1"; - research = new EMTResearchItem("Supercharged Mjolnir", "EMT", ResearchAspects.superchargedThorHammerResearch, -6, 6, 3, new ItemStack(ItemRegistry.electricThorHammer)).setParents("Mjolnir").registerResearchItem(); + research = new EMTResearchItem("Supercharged Mjolnir", "EMT", ResearchAspects.superchargedThorHammerResearch, -6, 6, 3, new ItemStack(IC2ModuleItemRegistry.electricThorHammer)).setParents("Mjolnir").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.superchargedThorHammer)); } } if (Config.compressedSolarsResearch == false) { text = "1"; - research = new EMTResearchItem("Compressed Solars", "EMT", ResearchAspects.compressedSolars, -4, -5, 2, new ItemStack(BlockRegistry.emtSolars)).setParentsHidden("Potentia Generator").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Compressed Solars", "EMT", ResearchAspects.compressedSolars, -4, -5, 2, new ItemStack(IC2ModuleBlockRegistry.emtSolars)).setParentsHidden("Potentia Generator").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.compressedSolar), new ResearchPage(EMTPostInitRecipes.doubleCompressedSolar), new ResearchPage(EMTPostInitRecipes.tripleCompressedSolar)); } if (Config.compressedSolarsResearch == false) { if (Config.solarHelmetResearch == false) { text = "1"; - research = new EMTResearchItem("Solar Helmet of Revealing", "EMT", ResearchAspects.solarHelmetRevealing, -2, -5, 1, new ItemStack(ItemRegistry.solarHelmetRevealing)).setSecondary().setParents("Compressed Solars").setParentsHidden("Quantum Goggles of Revealing").registerResearchItem(); + research = new EMTResearchItem("Solar Helmet of Revealing", "EMT", ResearchAspects.solarHelmetRevealing, -2, -5, 1, new ItemStack(IC2ModuleItemRegistry.solarHelmetRevealing)).setSecondary().setParents("Compressed Solars").setParentsHidden("Quantum Goggles of Revealing").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.solarHelmetRevealing)); } } if (Config.electricBootsResearch == false) { text = "1"; - research = new EMTResearchItem("Electric Boots of the Traveller", "EMT", ResearchAspects.electricBootsTravel, 2, 0, 1, new ItemStack(ItemRegistry.electricBootsTraveller)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Electric Boots of the Traveller", "EMT", ResearchAspects.electricBootsTravel, 2, 0, 1, new ItemStack(IC2ModuleItemRegistry.electricBootsTraveller)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.electricBootsTravel)); } if (Config.electricBootsResearch == false) { if (Config.nanoBootsResearch == false) { text = "1"; - research = new EMTResearchItem("Nano Boots of the Traveller", "EMT", ResearchAspects.nanoBootsTravel, 4, 0, 2, new ItemStack(ItemRegistry.nanoBootsTraveller)).setParents("Electric Boots of the Traveller").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Nano Boots of the Traveller", "EMT", ResearchAspects.nanoBootsTravel, 4, 0, 2, new ItemStack(IC2ModuleItemRegistry.nanoBootsTraveller)).setParents("Electric Boots of the Traveller").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.nanoBootsTravel)); } } @@ -259,7 +269,7 @@ public class ThaumonomiconResearch { if (Config.nanoBootsResearch == false) { if (Config.quantumBootsResearch == false) { text = "1"; - research = new EMTResearchItem("Quantum Boots of the Traveller", "EMT", ResearchAspects.quantumBootsTravel, 6, 0, 3, new ItemStack(ItemRegistry.quantumBootsTraveller)).setParents("Nano Boots of the Traveller").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Quantum Boots of the Traveller", "EMT", ResearchAspects.quantumBootsTravel, 6, 0, 3, new ItemStack(IC2ModuleItemRegistry.quantumBootsTraveller)).setParents("Nano Boots of the Traveller").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.quantumBootsTravel)); } } @@ -267,20 +277,20 @@ public class ThaumonomiconResearch { if (Config.electricScribingToolsResearch == false) { text = "1"; - research = new EMTResearchItem("Electric Scribing Tools", "EMT", ResearchAspects.electricScribingTools, -6, -5, 1, new ItemStack(ItemRegistry.electricScribingTools)).setSecondary().setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Electric Scribing Tools", "EMT", ResearchAspects.electricScribingTools, -6, -5, 1, new ItemStack(IC2ModuleItemRegistry.electricScribingTools)).setSecondary().setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.electricScribingTools)); } if (Config.etherealProcessorResearch == false) { text = "1"; - research = new EMTResearchItem("Etheral Processor", "EMT", ResearchAspects.etherealProcessor, -1, 2, 2, new ItemStack(BlockRegistry.emtMachines, 1, 1)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Etheral Processor", "EMT", ResearchAspects.etherealProcessor, -1, 2, 2, new ItemStack(IC2ModuleBlockRegistry.emtMachines, 1, 1)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.etheralProcessor)); } if (Config.compressedSolarsResearch == false) { if (Config.waterSolarsResearch == false) { text = "1"; - research = new EMTResearchItem("Water Infused Solar Panels", "EMT", ResearchAspects.waterSolars, -7, -7, 1, new ItemStack(BlockRegistry.emtSolars, 1, 3)).setSecondary().setParents("Compressed Solars").registerResearchItem(); + research = new EMTResearchItem("Water Infused Solar Panels", "EMT", ResearchAspects.waterSolars, -7, -7, 1, new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 3)).setSecondary().setParents("Compressed Solars").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.waterSolar), new ResearchPage(EMTPostInitRecipes.doubleWaterSolar), new ResearchPage(EMTPostInitRecipes.tripleWaterSolar)); } @@ -289,7 +299,7 @@ public class ThaumonomiconResearch { if (Config.compressedSolarsResearch == false) { if (Config.darkSolarsResearch == false) { text = "1"; - research = new EMTResearchItem("Entropy Infused Solar Panels", "EMT", ResearchAspects.darkSolars, -8, -6, 1, new ItemStack(BlockRegistry.emtSolars, 1, 6)).setSecondary().setParents("Compressed Solars").registerResearchItem(); + research = new EMTResearchItem("Entropy Infused Solar Panels", "EMT", ResearchAspects.darkSolars, -8, -6, 1, new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 6)).setSecondary().setParents("Compressed Solars").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.darkSolar), new ResearchPage(EMTPostInitRecipes.doubleDarkSolar), new ResearchPage(EMTPostInitRecipes.tripleDarkSolar)); } } @@ -297,7 +307,7 @@ public class ThaumonomiconResearch { if (Config.compressedSolarsResearch == false) { if (Config.orderSolarsResearch == false) { text = "1"; - research = new EMTResearchItem("Order Infused Solar Panels", "EMT", ResearchAspects.orderSolars, -6, -8, 1, new ItemStack(BlockRegistry.emtSolars, 1, 9)).setSecondary().setParents("Compressed Solars").registerResearchItem(); + research = new EMTResearchItem("Order Infused Solar Panels", "EMT", ResearchAspects.orderSolars, -6, -8, 1, new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 9)).setSecondary().setParents("Compressed Solars").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.orderSolar), new ResearchPage(EMTPostInitRecipes.doubleOrderSolar), new ResearchPage(EMTPostInitRecipes.tripleOrderSolar)); } } @@ -305,7 +315,7 @@ public class ThaumonomiconResearch { if (Config.compressedSolarsResearch == false) { if (Config.fireSolarsResearch == false) { text = "1"; - research = new EMTResearchItem("Fire Infused Solar Panels", "EMT", ResearchAspects.fireSolars, -5, -7, 1, new ItemStack(BlockRegistry.emtSolars, 1, 12)).setSecondary().setParents("Compressed Solars").registerResearchItem(); + research = new EMTResearchItem("Fire Infused Solar Panels", "EMT", ResearchAspects.fireSolars, -5, -7, 1, new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 12)).setSecondary().setParents("Compressed Solars").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.fireSolar), new ResearchPage(EMTPostInitRecipes.doubleFireSolar), new ResearchPage(EMTPostInitRecipes.tripleFireSolar)); } } @@ -313,7 +323,7 @@ public class ThaumonomiconResearch { if (Config.compressedSolarsResearch == false) { if (Config.airSolarsResearch == false) { text = "1"; - research = new EMTResearchItem("Air Infused Solar Panels", "EMT", ResearchAspects.airSolars, -4, -6, 1, new ItemStack(BlockRegistry.emtSolars, 1, 15)).setSecondary().setParents("Compressed Solars").registerResearchItem(); + research = new EMTResearchItem("Air Infused Solar Panels", "EMT", ResearchAspects.airSolars, -4, -6, 1, new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 15)).setSecondary().setParents("Compressed Solars").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.airSolar), new ResearchPage(EMTPostInitRecipes.doubleAirSolar), new ResearchPage(EMTPostInitRecipes.tripleAirSolar)); } } @@ -321,7 +331,7 @@ public class ThaumonomiconResearch { if (Config.compressedSolarsResearch == false) { if (Config.earthSolarsResearch == false) { text = "1"; - research = new EMTResearchItem("Earth Infused Solar Panels", "EMT", ResearchAspects.earthSolars, -6, -7, 1, new ItemStack(BlockRegistry.emtSolars2, 1, 2)).setSecondary().setParents("Compressed Solars").registerResearchItem(); + research = new EMTResearchItem("Earth Infused Solar Panels", "EMT", ResearchAspects.earthSolars, -6, -7, 1, new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 2)).setSecondary().setParents("Compressed Solars").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.earthSolar), new ResearchPage(EMTPostInitRecipes.doubleEarthSolar), new ResearchPage(EMTPostInitRecipes.tripleEarthSolar)); } } @@ -335,55 +345,55 @@ public class ThaumonomiconResearch { if (Config.portableNodeResarch == false) { text = "1"; - research = new EMTResearchItem("Portable Node", "EMT", ResearchAspects.portableNode, 2, 5, 3, new ItemStack(BlockRegistry.portableNode)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Portable Node", "EMT", ResearchAspects.portableNode, 2, 5, 3, new ItemStack(IC2ModuleBlockRegistry.portableNode)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.portableNode)); } if (Config.electricHoeGrowthResearch == false) { text = "1"; - research = new EMTResearchItem("Electric Hoe of Growth", "EMT", ResearchAspects.electricHoeGrowth, -1, -4, 2, new ItemStack(ItemRegistry.electricHoeGrowth)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Electric Hoe of Growth", "EMT", ResearchAspects.electricHoeGrowth, -1, -4, 2, new ItemStack(IC2ModuleItemRegistry.electricHoeGrowth)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.electricHoeGrowth)); } if (Config.chargeFocusResearch == false) { text = "1"; - research = new EMTResearchItem("Wand Focus: Charging", "EMT", ResearchAspects.chargeFocus, 5, 3, 2, new ItemStack(ItemRegistry.chargeFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Wand Focus: Charging", "EMT", ResearchAspects.chargeFocus, 5, 3, 2, new ItemStack(IC2ModuleItemRegistry.chargeFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.chargeFocus)); } if (Config.wandChargeFocusResearch == false) { text = "1"; - research = new EMTResearchItem("Wand Focus: Wand Charging", "EMT", ResearchAspects.wandChargeFocus, 7, 3, 3, new ItemStack(ItemRegistry.wandChargeFocus)).setParents("Wand Focus: Charging").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Wand Focus: Wand Charging", "EMT", ResearchAspects.wandChargeFocus, 7, 3, 3, new ItemStack(IC2ModuleItemRegistry.wandChargeFocus)).setParents("Wand Focus: Charging").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.wandChargeFocus)); } if (Config.inventoryChargingRing == false) { text = "1"; - research = new EMTResearchItem("Inventory Charging Ring", "EMT", ResearchAspects.inventoryChargingRing, 0, -5, 3, new ItemStack(ItemRegistry.emtBauble, 1, 1)).setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Inventory Charging Ring", "EMT", ResearchAspects.inventoryChargingRing, 0, -5, 3, new ItemStack(IC2ModuleItemRegistry.emtBauble, 1, 1)).setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.inventoryChargingRing)); } if (Config.armorChargingRing == false) { text = "1"; - research = new EMTResearchItem("Armor Charging Ring", "EMT", ResearchAspects.armorChargingRing, 0, -7, 3, new ItemStack(ItemRegistry.emtBauble, 1, 0)).setSecondary().setParents("Inventory Charging Ring").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Armor Charging Ring", "EMT", ResearchAspects.armorChargingRing, 0, -7, 3, new ItemStack(IC2ModuleItemRegistry.emtBauble, 1, 0)).setSecondary().setParents("Inventory Charging Ring").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.armorChargingRing)); } if (Config.thaumiumWingResearch == false) { text = "1"; - research = new EMTResearchItem("Thaumium Reinforced Wings", "EMT", ResearchAspects.thaumiumWing, 0, 4, 0, new ItemStack(ItemRegistry.thaumiumWing)).setSecondary().setParents("Feather Wings").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Thaumium Reinforced Wings", "EMT", ResearchAspects.thaumiumWing, 0, 4, 0, new ItemStack(IC2ModuleItemRegistry.thaumiumWing)).setSecondary().setParents("Feather Wings").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.thaumiumWing), new ResearchPage(EMTPostInitRecipes.thaumiumWings)); } if (Config.nanoWingResearch == false) { text = "1"; - research = new EMTResearchItem("Nanosuit Wings", "EMT", ResearchAspects.nanoWing, 0, 6, 2, new ItemStack(ItemRegistry.nanoWing)).setParents("Thaumium Reinforced Wings").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Nanosuit Wings", "EMT", ResearchAspects.nanoWing, 0, 6, 2, new ItemStack(IC2ModuleItemRegistry.nanoWing)).setParents("Thaumium Reinforced Wings").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.nanoWings)); } if (Config.quantumWingsResearch == false) { text = "1"; - research = new EMTResearchItem("Quantum Wings", "EMT", ResearchAspects.quantumWing, 0, 8, 3, new ItemStack(ItemRegistry.quantumWing)).setParents("Nanosuit Wings").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Quantum Wings", "EMT", ResearchAspects.quantumWing, 0, 8, 3, new ItemStack(IC2ModuleItemRegistry.quantumWing)).setParents("Nanosuit Wings").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.quantumWings)); } } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleTERegistry.java b/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleTERegistry.java new file mode 100644 index 0000000..97c864f --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleTERegistry.java @@ -0,0 +1,76 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2; + +import cpw.mods.fml.common.registry.GameRegistry; +import tombenpotter.emt.common.module.base.tile.TileEntityPortableNode; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEtherealMacerator; +import tombenpotter.emt.common.module.ic2.tile.TileEntityIndustrialWandRecharge; +import tombenpotter.emt.common.module.ic2.tile.generators.*; +import tombenpotter.emt.common.module.ic2.tile.solars.air.TileEntityAirSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.air.TileEntityDoubleAirSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.air.TileEntityTripleAirSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.compressed.TileEntityCompressedSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.compressed.TileEntityDoubleCompressedSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.compressed.TileEntityTripleCompressedSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.dark.TileEntityDarkSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.dark.TileEntityDoubleDarkSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.dark.TileEntityTripleDarkSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.earth.TileEntityDoubleEarthSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.earth.TileEntityEarthSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.earth.TileEntityTripleEarthSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.fire.TileEntityDoubleFireSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.fire.TileEntityFireSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.fire.TileEntityTripleFireSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.order.TileEntityDoubleOrderSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.order.TileEntityOrderSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.order.TileEntityTripleOrderSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.water.TileEntityDoubleWaterSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.water.TileEntityTripleWaterSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.water.TileEntityWaterSolar; + +public class IC2ModuleTERegistry { + + public static void registerTEs() { + + GameRegistry.registerTileEntity(TileEntityPotentiaGenerator.class, "tileentitypotentiagenerator"); + GameRegistry.registerTileEntity(TileEntityIgnisGenerator.class, "tileentityignisgenerator"); + GameRegistry.registerTileEntity(TileEntityAuramGenerator.class, "tileentityauramgenerator"); + GameRegistry.registerTileEntity(TileEntityArborGenerator.class, "tileentityarborgenerator"); + GameRegistry.registerTileEntity(TileEntityAerGenerator.class, "tileentityaergenerator"); + GameRegistry.registerTileEntity(TileEntityIndustrialWandRecharge.class, "tileentityindustrialwandrecharge"); + GameRegistry.registerTileEntity(TileEntityCompressedSolar.class, "tileentitycompressedsolar"); + GameRegistry.registerTileEntity(TileEntityDoubleCompressedSolar.class, "tileentitydoublecompressedsolar"); + GameRegistry.registerTileEntity(TileEntityTripleCompressedSolar.class, "tileentitytriplecompressedsolar"); + GameRegistry.registerTileEntity(TileEntityEtherealMacerator.class, "tileentityetherealmacerator"); + GameRegistry.registerTileEntity(TileEntityWaterSolar.class, "tileentitywatersolar"); + GameRegistry.registerTileEntity(TileEntityDoubleWaterSolar.class, "tileentitydoublewatersolar"); + GameRegistry.registerTileEntity(TileEntityTripleWaterSolar.class, "tileentitytriplewatersolar"); + GameRegistry.registerTileEntity(TileEntityDarkSolar.class, "tileentitydarksolar"); + GameRegistry.registerTileEntity(TileEntityDoubleDarkSolar.class, "tileentitydoubledarksolar"); + GameRegistry.registerTileEntity(TileEntityTripleDarkSolar.class, "tileentitytripledarksolar"); + GameRegistry.registerTileEntity(TileEntityOrderSolar.class, "tileentityordersolar"); + GameRegistry.registerTileEntity(TileEntityDoubleOrderSolar.class, "tileentitydoubleordersolar"); + GameRegistry.registerTileEntity(TileEntityTripleOrderSolar.class, "tileentitytripleordersolar"); + GameRegistry.registerTileEntity(TileEntityFireSolar.class, "tileentityfiresolar"); + GameRegistry.registerTileEntity(TileEntityDoubleFireSolar.class, "tileentitydoublefiresolar"); + GameRegistry.registerTileEntity(TileEntityTripleFireSolar.class, "tileentitytriplefiresolar"); + GameRegistry.registerTileEntity(TileEntityAirSolar.class, "tileentityairsolar"); + GameRegistry.registerTileEntity(TileEntityDoubleAirSolar.class, "tileentitydoubleairsolar"); + GameRegistry.registerTileEntity(TileEntityTripleAirSolar.class, "tileentitytripleairsolar"); + GameRegistry.registerTileEntity(TileEntityEarthSolar.class, "tileentityearthsolar"); + GameRegistry.registerTileEntity(TileEntityDoubleEarthSolar.class, "tileentitydoubleearthsolar"); + GameRegistry.registerTileEntity(TileEntityTripleEarthSolar.class, "tileentitytripleearthsolar"); + GameRegistry.registerTileEntity(TileEntityPortableNode.class, "tileentityportablenode"); + GameRegistry.registerTileEntity(TileEntityEssentiaGenerator.class, "tileentityessentiagenerator"); + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMT.java b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMT.java similarity index 93% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMT.java rename to src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMT.java index a024de5..e985743 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMT.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMT.java @@ -1,8 +1,8 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.blocks; +package tombenpotter.emt.common.module.ic2.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEMT; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTMachines.java b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTMachines.java similarity index 71% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTMachines.java rename to src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTMachines.java index 66fb3b1..d0eb244 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTMachines.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTMachines.java @@ -9,14 +9,14 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.blocks; +package tombenpotter.emt.common.module.ic2.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEtherealMacerator; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityIndustrialWandRecharge; +import tombenpotter.emt.common.util.CreativeTab; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEtherealMacerator; +import tombenpotter.emt.common.module.ic2.tile.TileEntityIndustrialWandRecharge; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -44,22 +44,22 @@ public class BlockEMTMachines extends BlockEMT { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister ir) { - this.blockIcon = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/top"); + this.blockIcon = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/top"); - this.top[0] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/top"); - this.top[1] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/etherealmaceratortop"); + this.top[0] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/top"); + this.top[1] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/etherealmaceratortop"); - this.bottom[0] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/side"); - this.bottom[1] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/etherealmacerator"); + this.bottom[0] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/side"); + this.bottom[1] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/etherealmacerator"); - this.side[0] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/side"); - this.side[1] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/etherealmacerator"); + this.side[0] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/side"); + this.side[1] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/etherealmacerator"); - this.frontOff[0] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/wandcharger"); - this.frontOff[1] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/etherealmaceratorfront"); + this.frontOff[0] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/wandcharger"); + this.frontOff[1] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/etherealmaceratorfront"); - this.frontOn[0] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/wandcharger"); - this.frontOn[1] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/etherealmaceratorfrontactive"); + this.frontOn[0] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/wandcharger"); + this.frontOn[1] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/etherealmaceratorfrontactive"); } @SuppressWarnings({"rawtypes", "unchecked"}) @@ -83,9 +83,9 @@ public class BlockEMTMachines extends BlockEMT { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9) { if (!world.isRemote && world.getTileEntity(x, y, z) instanceof TileEntityIndustrialWandRecharge) { - player.openGui(ElectricMagicTools.instance, 0, world, x, y, z); + player.openGui(ElectroMagicTools.instance, 0, world, x, y, z); } else if (!world.isRemote && world.getTileEntity(x, y, z) instanceof TileEntityEtherealMacerator) { - player.openGui(ElectricMagicTools.instance, 1, world, x, y, z); + player.openGui(ElectroMagicTools.instance, 1, world, x, y, z); } return true; } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTSolars.java b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTSolars.java new file mode 100644 index 0000000..2f03841 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTSolars.java @@ -0,0 +1,191 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import tombenpotter.emt.common.module.ic2.tile.solars.air.TileEntityAirSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.compressed.TileEntityCompressedSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.compressed.TileEntityDoubleCompressedSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.compressed.TileEntityTripleCompressedSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.dark.TileEntityDarkSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.dark.TileEntityDoubleDarkSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.dark.TileEntityTripleDarkSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.fire.TileEntityDoubleFireSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.fire.TileEntityFireSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.fire.TileEntityTripleFireSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.order.TileEntityDoubleOrderSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.order.TileEntityOrderSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.order.TileEntityTripleOrderSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.water.TileEntityDoubleWaterSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.water.TileEntityTripleWaterSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.water.TileEntityWaterSolar; +import tombenpotter.emt.common.util.CreativeTab; +import tombenpotter.emt.ElectroMagicTools; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +import java.util.List; + +public class BlockEMTSolars extends BlockEMT { + + public BlockEMTSolars() { + super(Material.iron); + this.setCreativeTab(CreativeTab.tabTombenpotter); + this.setHardness(4.0F); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister ri) { + this.top[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/solartop"); + this.top[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/doublesolartop"); + this.top[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/triplesolartop"); + this.top[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/solartop"); + this.top[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/doublesolartop"); + this.top[5] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/triplesolartop"); + this.top[6] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/solartop"); + this.top[7] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/doublesolartop"); + this.top[8] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/triplesolartop"); + this.top[9] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/solartop"); + this.top[10] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/doublesolartop"); + this.top[11] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/triplesolartop"); + this.top[12] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/solartop"); + this.top[13] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/doublesolartop"); + this.top[14] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/triplesolartop"); + this.top[15] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/solartop"); + + this.bottom[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/bottom"); + this.bottom[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/bottom"); + this.bottom[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/bottom"); + this.bottom[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterbottom"); + this.bottom[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterbottom"); + this.bottom[5] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterbottom"); + this.bottom[6] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkbottom"); + this.bottom[7] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkbottom"); + this.bottom[8] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkbottom"); + this.bottom[9] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderbottom"); + this.bottom[10] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderbottom"); + this.bottom[11] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderbottom"); + this.bottom[12] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/firebottom"); + this.bottom[13] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/firebottom"); + this.bottom[14] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/firebottom"); + this.bottom[15] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airbottom"); + + this.frontOff[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/side"); + this.frontOff[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/side"); + this.frontOff[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/side"); + this.frontOff[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterside"); + this.frontOff[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterside"); + this.frontOff[5] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterside"); + this.frontOff[6] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkside"); + this.frontOff[7] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkside"); + this.frontOff[8] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkside"); + this.frontOff[9] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderside"); + this.frontOff[10] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderside"); + this.frontOff[11] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderside"); + this.frontOff[12] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/fireside"); + this.frontOff[13] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/fireside"); + this.frontOff[14] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/fireside"); + this.frontOff[15] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airside"); + + this.side[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/side"); + this.side[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/side"); + this.side[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/side"); + this.side[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterside"); + this.side[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterside"); + this.side[5] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterside"); + this.side[6] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkside"); + this.side[7] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkside"); + this.side[8] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkside"); + this.side[9] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderside"); + this.side[10] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderside"); + this.side[11] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderside"); + this.side[12] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/fireside"); + this.side[13] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/fireside"); + this.side[14] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/fireside"); + this.side[15] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airside"); + } + + @SideOnly(Side.CLIENT) + @SuppressWarnings({"unchecked", "rawtypes"}) + public void getSubBlocks(Item id, CreativeTabs tab, List list) { + for (int i = 0; i <= 15; i++) { + list.add(new ItemStack(id, 1, i)); + } + } + + @Override + public TileEntity createTileEntity(World world, int meta) { + if (meta == 0) { + return new TileEntityCompressedSolar(); + } + if (meta == 1) { + return new TileEntityDoubleCompressedSolar(); + } + if (meta == 2) { + return new TileEntityTripleCompressedSolar(); + } + if (meta == 3) { + return new TileEntityWaterSolar(); + } + if (meta == 4) { + return new TileEntityDoubleWaterSolar(); + } + if (meta == 5) { + return new TileEntityTripleWaterSolar(); + } + if (meta == 6) { + return new TileEntityDarkSolar(); + } + if (meta == 7) { + return new TileEntityDoubleDarkSolar(); + } + if (meta == 8) { + return new TileEntityTripleDarkSolar(); + } + if (meta == 9) { + return new TileEntityOrderSolar(); + } + if (meta == 10) { + return new TileEntityDoubleOrderSolar(); + } + if (meta == 11) { + return new TileEntityTripleOrderSolar(); + } + if (meta == 12) { + return new TileEntityFireSolar(); + } + if (meta == 13) { + return new TileEntityDoubleFireSolar(); + } + if (meta == 14) { + return new TileEntityTripleFireSolar(); + } + if (meta == 15) { + return new TileEntityAirSolar(); + } + return super.createTileEntity(world, meta); + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block par5, int par6) { + world.removeTileEntity(x, y, z); + super.breakBlock(world, x, y, z, par5, par6); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTSolars2.java b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTSolars2.java new file mode 100644 index 0000000..ee2b62b --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTSolars2.java @@ -0,0 +1,103 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import tombenpotter.emt.common.module.ic2.tile.solars.air.TileEntityDoubleAirSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.air.TileEntityTripleAirSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.earth.TileEntityDoubleEarthSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.earth.TileEntityEarthSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.earth.TileEntityTripleEarthSolar; +import tombenpotter.emt.common.util.CreativeTab; +import tombenpotter.emt.ElectroMagicTools; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +import java.util.List; + +public class BlockEMTSolars2 extends BlockEMT { + + public BlockEMTSolars2() { + super(Material.iron); + this.setCreativeTab(CreativeTab.tabTombenpotter); + this.setHardness(4.0F); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister ri) { + this.top[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/doublesolartop"); + this.top[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/triplesolartop"); + this.top[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/solartop"); + this.top[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/doublesolartop"); + this.top[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/triplesolartop"); + + this.bottom[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airbottom"); + this.bottom[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airbottom"); + this.bottom[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthbottom"); + this.bottom[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthbottom"); + this.bottom[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthbottom"); + + this.frontOff[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airside"); + this.frontOff[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airside"); + this.frontOff[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthside"); + this.frontOff[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthside"); + this.frontOff[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthside"); + + this.side[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airside"); + this.side[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airside"); + this.side[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthside"); + this.side[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthside"); + this.side[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthside"); + } + + @SideOnly(Side.CLIENT) + @SuppressWarnings({"unchecked", "rawtypes"}) + public void getSubBlocks(Item id, CreativeTabs tab, List list) { + for (int i = 0; i <= 4; i++) { + list.add(new ItemStack(id, 1, i)); + } + } + + @Override + public TileEntity createTileEntity(World world, int meta) { + if (meta == 0) { + return new TileEntityDoubleAirSolar(); + } + if (meta == 1) { + return new TileEntityTripleAirSolar(); + } + if (meta == 2) { + return new TileEntityEarthSolar(); + } + if (meta == 3) { + return new TileEntityDoubleEarthSolar(); + } + if (meta == 4) { + return new TileEntityTripleEarthSolar(); + } + return super.createTileEntity(world, meta); + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block par5, int par6) { + world.removeTileEntity(x, y, z); + super.breakBlock(world, x, y, z, par5, par6); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEssentiaGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEssentiaGenerator.java new file mode 100644 index 0000000..780aafb --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEssentiaGenerator.java @@ -0,0 +1,68 @@ +package tombenpotter.emt.common.module.ic2.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.IEssentiaContainerItem; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.ic2.tile.generators.TileEntityEssentiaGenerator; +import tombenpotter.emt.common.util.CreativeTab; + +public class BlockEssentiaGenerator extends BlockEMT { + + public BlockEssentiaGenerator() { + super(Material.iron); + this.setCreativeTab(CreativeTab.tabTombenpotter); + this.setHardness(4.0F); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister ri) { + this.blockIcon = ri.registerIcon(ElectroMagicTools.texturePath + ":machines/top"); + this.top[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/top"); + this.bottom[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/top"); + this.side[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/side"); + } + + @Override + public TileEntity createNewTileEntity(World var1, int var2) { + return new TileEntityEssentiaGenerator(); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9) { + TileEntityEssentiaGenerator tile = (TileEntityEssentiaGenerator) world.getTileEntity(x, y, z); + if (player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IEssentiaContainerItem) { + IEssentiaContainerItem item = (IEssentiaContainerItem) player.getHeldItem().getItem(); + Aspect aspect = item.getAspects(player.getHeldItem()).getAspects()[0]; + if (tile.isFree[0]) { + tile.aspects[0] = aspect.getTag(); + tile.isFree[0] = false; + } else if (tile.isFree[1]) { + tile.aspects[1] = aspect.getTag(); + tile.isFree[1] = false; + } else if (tile.isFree[2]) { + tile.aspects[2] = aspect.getTag(); + tile.isFree[2] = false; + } else if (tile.isFree[3]) { + tile.aspects[3] = aspect.getTag(); + tile.isFree[3] = false; + } + return true; + } else if (player.getHeldItem() == null && player.isSneaking()) { + for (int i = 0; i < tile.aspects.length; i++) { + if (!tile.isFree[i]) { + tile.isFree[i] = true; + } + } + return true; + } + return false; + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEssentiaGenerators.java b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEssentiaGenerators.java similarity index 58% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEssentiaGenerators.java rename to src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEssentiaGenerators.java index 18359eb..c81f3f1 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEssentiaGenerators.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEssentiaGenerators.java @@ -9,17 +9,10 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.blocks; +package tombenpotter.emt.common.module.ic2.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityArborGenerator; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityAuramGenerator; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityIgnisGenerator; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityPotentiaGenerator; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -27,6 +20,9 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.ic2.tile.generators.*; +import tombenpotter.emt.common.util.CreativeTab; import java.util.List; import java.util.Random; @@ -42,24 +38,25 @@ public class BlockEssentiaGenerators extends BlockEMT { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister ri) { - this.blockIcon = ri.registerIcon(ElectricMagicTools.texturePath + ":machines/top"); + this.blockIcon = ri.registerIcon(ElectroMagicTools.texturePath + ":machines/top"); - for (int i = 0; i <= 3; i++) { - this.top[i] = ri.registerIcon(ElectricMagicTools.texturePath + ":essentiagenerator/top"); + for (int i = 0; i <= 5; i++) { + this.top[i] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/top"); } - for (int i = 0; i <= 3; i++) { - this.bottom[i] = ri.registerIcon(ElectricMagicTools.texturePath + ":essentiagenerator/top"); + for (int i = 0; i <= 5; i++) { + this.bottom[i] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/top"); } - for (int i = 0; i <= 3; i++) { - this.side[i] = ri.registerIcon(ElectricMagicTools.texturePath + ":essentiagenerator/side"); + for (int i = 0; i <= 5; i++) { + this.side[i] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/side"); } - this.frontOff[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":essentiagenerator/potentiafront"); - this.frontOff[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":essentiagenerator/ignisfront"); - this.frontOff[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":essentiagenerator/auramfront"); - this.frontOff[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":essentiagenerator/arborfront"); + this.frontOff[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/potentiafront"); + this.frontOff[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/ignisfront"); + this.frontOff[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/auramfront"); + this.frontOff[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/arborfront"); + this.frontOff[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/aerfront"); } @SuppressWarnings({"unchecked", "rawtypes"}) @@ -69,6 +66,7 @@ public class BlockEssentiaGenerators extends BlockEMT { list.add(new ItemStack(id, 1, 1)); list.add(new ItemStack(id, 1, 2)); list.add(new ItemStack(id, 1, 3)); + list.add(new ItemStack(id, 1, 4)); } @Override @@ -85,15 +83,12 @@ public class BlockEssentiaGenerators extends BlockEMT { if (meta == 3) { return new TileEntityArborGenerator(); } + if (meta == 4) { + return new TileEntityAerGenerator(); + } return super.createTileEntity(world, meta); } - @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) { - world.removeTileEntity(x, y, z); - super.breakBlock(world, x, y, z, par5, par6); - } - @SideOnly(Side.CLIENT) public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { float f = (float) par2 + 0.5F; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockPortableNode.java b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockPortableNode.java similarity index 84% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockPortableNode.java rename to src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockPortableNode.java index 18bf7a7..21cbd03 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockPortableNode.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockPortableNode.java @@ -9,13 +9,11 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.blocks; +package tombenpotter.emt.common.module.ic2.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityPortableNode; +import tombenpotter.emt.common.module.base.tile.TileEntityPortableNode; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; @@ -27,6 +25,8 @@ import net.minecraft.util.IIcon; import net.minecraft.world.Explosion; import net.minecraft.world.World; import thaumcraft.common.blocks.BlockAiry; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; import java.util.List; import java.util.Random; @@ -72,14 +72,10 @@ public class BlockPortableNode extends BlockAiry { public void onBlockExploded(World world, int x, int y, int z, Explosion explosion) { } - public boolean canDragonDestroy(World world, int x, int y, int z) { - return false; - } - @SideOnly(Side.CLIENT) @Override public void registerBlockIcons(IIconRegister ri) { - this.texture[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":portablenode"); + this.texture[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":portablenode"); } @SideOnly(Side.CLIENT) diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockShield.java b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockShield.java similarity index 84% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockShield.java rename to src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockShield.java index 12484d5..724c11c 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockShield.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockShield.java @@ -9,12 +9,10 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.blocks; +package tombenpotter.emt.common.module.ic2.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -23,6 +21,8 @@ import net.minecraft.entity.EnumCreatureType; import net.minecraft.world.Explosion; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; import java.util.Random; @@ -49,7 +49,7 @@ public class BlockShield extends Block { @SideOnly(Side.CLIENT) @Override public void registerBlockIcons(IIconRegister iconRegister) { - this.blockIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":shield"); + this.blockIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":shield"); } @Override @@ -68,20 +68,17 @@ public class BlockShield extends Block { } @Override - public boolean canBeReplacedByLeaves(IBlockAccess world, int x, int y, int z) - { + public boolean canBeReplacedByLeaves(IBlockAccess world, int x, int y, int z) { return false; } @Override - public boolean canEntityDestroy(IBlockAccess world, int x, int y, int z, Entity entity) - { + public boolean canEntityDestroy(IBlockAccess world, int x, int y, int z, Entity entity) { return false; } @Override - public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess world, int x, int y, int z) - { + public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess world, int x, int y, int z) { return false; } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemElectricScribingTools.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/ItemElectricScribingTools.java similarity index 90% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemElectricScribingTools.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/ItemElectricScribingTools.java index 6815fa5..2dcfef7 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemElectricScribingTools.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/ItemElectricScribingTools.java @@ -9,11 +9,11 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items; +package tombenpotter.emt.common.module.ic2.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; +import tombenpotter.emt.common.util.CreativeTab; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.creativetab.CreativeTabs; @@ -40,7 +40,7 @@ public class ItemElectricScribingTools extends ItemInkwell implements IElectricI } @Override - public int getMaxCharge(ItemStack itemStack) { + public double getMaxCharge(ItemStack itemStack) { return maxCharge; } @@ -50,7 +50,7 @@ public class ItemElectricScribingTools extends ItemInkwell implements IElectricI } @Override - public int getTransferLimit(ItemStack itemStack) { + public double getTransferLimit(ItemStack itemStack) { return 5; } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemElectricBootsTraveller.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemElectricBootsTraveller.java similarity index 64% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemElectricBootsTraveller.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemElectricBootsTraveller.java index cc5bd35..11bfd33 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemElectricBootsTraveller.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemElectricBootsTraveller.java @@ -18,15 +18,12 @@ * * http://www.minecraftforum.net/topic/1813058- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.boots; +package tombenpotter.emt.common.module.ic2.items.armor.boots; -import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.Config; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import ic2.api.item.IMetalArmor; @@ -42,28 +39,31 @@ import net.minecraft.util.DamageSource; import net.minecraft.world.World; import net.minecraftforge.common.ISpecialArmor; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; -import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.living.LivingEvent; import thaumcraft.api.IVisDiscountGear; import thaumcraft.api.aspects.Aspect; import thaumcraft.common.Thaumcraft; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; -import java.util.ArrayList; import java.util.List; public class ItemElectricBootsTraveller extends ItemArmor implements IElectricItem, IVisDiscountGear, IMetalArmor, ISpecialArmor { public int maxCharge = 10000; - @SuppressWarnings({"unchecked", "rawtypes"}) - public static List playersWith1Step = new ArrayList(); + public int energyPerDamage = 100; + public int visDiscount = 2; + public float speedBonus = 0.055F; + public float jumpBonus = 0.3F; + public float fallDistance = 0.5F; + public double transferLimit = 100; public ItemElectricBootsTraveller(int par3, int par4) { super(ArmorMaterial.DIAMOND, par3, par4); this.setMaxDamage(27); this.setMaxStackSize(1); this.setCreativeTab(CreativeTab.tabTombenpotter); - if (ticks()) - MinecraftForge.EVENT_BUS.register(this); + MinecraftForge.EVENT_BUS.register(this); } @SuppressWarnings({"rawtypes", "unchecked"}) @@ -83,91 +83,98 @@ public class ItemElectricBootsTraveller extends ItemArmor implements IElectricIt @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":electricboots"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":electricboots"); } @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/electricboots.png"; - } - - boolean ticks() { - return true; - } - - @SubscribeEvent - public void onEntityUpdate(LivingUpdateEvent event) { - if (event.entityLiving instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) event.entityLiving; - ItemStack armor = player.getCurrentArmor(3 - armorType); - if (armor != null && armor.getItem() == this) - tickPlayer(player); + public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) { + if (source.isUnblockable()) { + return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, 0.0D, 3); + } else { + double absorptionRatio = getBaseAbsorptionRatio() * getDamageAbsorptionRatio(); + int energyPerDamage = getEnergyPerDamage(); + double damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage; + return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(3, absorptionRatio, (int) damageLimit); } } - void tickPlayer(EntityPlayer player) { - if (player.worldObj.isRemote) - player.stepHeight = player.isSneaking() ? 0.5F : 1F; - if ((player.onGround || player.capabilities.isFlying) && player.moveForward > 0F) - player.moveFlying(0F, 1F, player.capabilities.isFlying ? 0.075F : 0.15F); - player.jumpMovementFactor = player.isSprinting() ? 0.05F : 0.04F; - player.fallDistance = 0F; + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { + if (ElectricItem.manager.getCharge(armor) >= getEnergyPerDamage()) { + return (int) Math.round(20D * getBaseAbsorptionRatio() * getDamageAbsorptionRatio()); + } else { + return 0; + } + } + + @Override + public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { + ElectricItem.manager.discharge(stack, damage * getEnergyPerDamage(), 0x7fffffff, true, false, false); + } + + public double getDamageAbsorptionRatio() { + return 1.1000000000000001D; + } + + private double getBaseAbsorptionRatio() { + return 0.14999999999999999D; + } + + @SuppressWarnings({"unchecked", "rawtypes"}) + @Override + public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { + list.add("Vis discount: " + String.valueOf(visDiscount) + "%"); + } + + @Override + public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { + return visDiscount; + } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + if ((!player.capabilities.isFlying) && (player.moveForward > 0.0F)) { + if ((player.worldObj.isRemote) && (!player.isSneaking())) { + if (!Thaumcraft.instance.entityEventHandler.prevStep.containsKey(Integer.valueOf(player.getEntityId()))) { + Thaumcraft.instance.entityEventHandler.prevStep.put(Integer.valueOf(player.getEntityId()), Float.valueOf(player.stepHeight)); + } + player.stepHeight = 1.0F; + } + if ((player.onGround || player.capabilities.isFlying) && player.moveForward > 0F) { + player.moveFlying(0F, 1F, speedBonus); + player.jumpMovementFactor = jumpBonus; + } + } + reduceFallDistance(player); } @SubscribeEvent - public void onPlayerJump(LivingJumpEvent event) { + public void onPlayerJump(LivingEvent.LivingJumpEvent event) { if (event.entityLiving instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) event.entityLiving; boolean hasArmor = player.getCurrentArmor(0) != null && player.getCurrentArmor(0).getItem() == this; if (hasArmor) - player.motionY += 0.3; + player.motionY += jumpBonus; } } - @SubscribeEvent(priority = EventPriority.HIGH) - public void onLivingUpdate(LivingUpdateEvent event) { - if (event.entityLiving instanceof EntityPlayer && event.entityLiving.worldObj.isRemote) { - EntityPlayer player = (EntityPlayer) event.entityLiving; - - boolean highStepListed = playersWith1Step.contains(player.getCommandSenderName()); - boolean hasHighStep = player.getCurrentArmor(0) != null && player.getCurrentArmor(0).getItem() == this; - - if (hasHighStep && !highStepListed) - playersWith1Step.add(player.getCommandSenderName()); - - if (!hasHighStep && highStepListed) { - playersWith1Step.remove(player.getCommandSenderName()); - player.stepHeight = 0.5F; - } + public void reduceFallDistance(EntityPlayer player) { + if (player.fallDistance > 0.0F) { + player.fallDistance -= fallDistance; } } + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { + return ElectroMagicTools.texturePath + ":textures/models/electricboots.png"; + } + @Override public boolean isMetalArmor(ItemStack itemstack, EntityPlayer player) { return true; } - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 2; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 100; - } - @Override public boolean isRepairable() { return false; @@ -192,60 +199,29 @@ public class ItemElectricBootsTraveller extends ItemArmor implements IElectricIt } public int getEnergyPerDamage() { - return 100; + return energyPerDamage; + } + + /* IC2 API METHODS */ + + @Override + public boolean canProvideEnergy(ItemStack itemStack) { + return false; } @Override - public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) { - if (source.isUnblockable()) { - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, 0.0D, 3); - } else { - double absorptionRatio = getBaseAbsorptionRatio() * getDamageAbsorptionRatio(); - int energyPerDamage = getEnergyPerDamage(); - int damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage; - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(3, absorptionRatio, damageLimit); - } + public double getMaxCharge(ItemStack itemStack) { + return maxCharge; } @Override - public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { - if (ElectricItem.manager.getCharge(armor) >= getEnergyPerDamage()) { - return (int) Math.round(20D * getBaseAbsorptionRatio() * getDamageAbsorptionRatio()); - } else { - return 0; - } - } - - @Override - public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { - ElectricItem.manager.discharge(stack, damage * getEnergyPerDamage(), 0x7fffffff, true, false); - } - - public double getDamageAbsorptionRatio() { - return 1.1000000000000001D; - } - - private double getBaseAbsorptionRatio() { - return 0.14999999999999999D; - } - - @SuppressWarnings({"unchecked", "rawtypes"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 2%"); - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { + public int getTier(ItemStack itemStack) { return 2; } @Override - public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { - if (Config.smoke == false && player.onGround == false) { - int miny = (int) (player.boundingBox.minY - 2.0D); - Thaumcraft.proxy.smokeSpiral(player.worldObj, player.posX, player.boundingBox.minY + player.height / 2.0F, player.posZ, 1.5F, player.worldObj.rand.nextInt(620), miny); - } + public double getTransferLimit(ItemStack itemStack) { + return transferLimit; } @Override @@ -257,5 +233,4 @@ public class ItemElectricBootsTraveller extends ItemArmor implements IElectricIt public Item getEmptyItem(ItemStack itemStack) { return this; } - } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemNanoBootsTraveller.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemNanoBootsTraveller.java new file mode 100644 index 0000000..9c9d931 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemNanoBootsTraveller.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + * + * Attention: this class originally belongs to the ThaumicTinkerer mod. + * All I did was modifying it to fulfill my needs. + * + * ThaumicTinkerer is Open Source and distributed under a + * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License + * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) + * + * http://www.minecraftforum.net/topic/1813058- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.items.armor.boots; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import tombenpotter.emt.common.util.Config; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.ElectroMagicTools; + +public class ItemNanoBootsTraveller extends ItemElectricBootsTraveller { + public ItemNanoBootsTraveller(int par3, int par4) { + super(par3, par4); + maxCharge = 500000; + speedBonus = (float) Config.nanoBootsSpeed; + jumpBonus = (float) Config.nanoBootsJump; + fallDistance = 0.75F; + visDiscount = 4; + transferLimit = 1000; + energyPerDamage = 500; + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":nanobootstravel"); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { + return ElectroMagicTools.texturePath + ":textures/models/nanobootstravel.png"; + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemQuantumBootsTraveller.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemQuantumBootsTraveller.java new file mode 100644 index 0000000..fe595ac --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemQuantumBootsTraveller.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + * + * Attention: this class originally belongs to the ThaumicTinkerer mod. + * All I did was modifying it to fulfill my needs. + * + * ThaumicTinkerer is Open Source and distributed under a + * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License + * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) + * + * http://www.minecraftforum.net/topic/1813058- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.items.armor.boots; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import tombenpotter.emt.common.util.Config; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.ElectroMagicTools; + +public class ItemQuantumBootsTraveller extends ItemElectricBootsTraveller { + public ItemQuantumBootsTraveller(int par3, int par4) { + super(par3, par4); + maxCharge = 1000000; + speedBonus = (float) Config.quantumBootsSpeed; + jumpBonus = (float) Config.quantumBootsJump; + fallDistance = 0.0F; + visDiscount = 5; + transferLimit = 10000; + energyPerDamage = 1000; + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":quantumbootstravel"); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { + return ElectroMagicTools.texturePath + ":textures/models/quantumbootstravel.png"; + } + + @Override + public void reduceFallDistance(EntityPlayer player) { + if (player.fallDistance > 0.0F) { + player.fallDistance = fallDistance; + } + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemQuantumWing.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemElectricGoggles.java similarity index 59% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemQuantumWing.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemElectricGoggles.java index 634f7fc..2efbb2a 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemQuantumWing.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemElectricGoggles.java @@ -1,16 +1,22 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.wings; +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.items.armor.goggles; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.client.model.ModelWings; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.Config; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import ic2.api.item.IMetalArmor; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; @@ -22,115 +28,39 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraft.world.World; import net.minecraftforge.common.ISpecialArmor; +import thaumcraft.api.IGoggles; import thaumcraft.api.IVisDiscountGear; import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.nodes.IRevealer; +import tombenpotter.emt.ElectroMagicTools; import java.util.List; -public class ItemQuantumWing extends ItemArmor implements IVisDiscountGear, IElectricItem, ISpecialArmor, IMetalArmor { +public class ItemElectricGoggles extends ItemArmor implements IElectricItem, IVisDiscountGear, IGoggles, IRevealer, IMetalArmor, ISpecialArmor { - public int maxCharge = 1000000; + public double maxCharge = 10000; + public double transferLimit = 10; + public int tier = 2; + public int energyPerDamage = 100; + public int visDiscount = 5; - public ItemQuantumWing() { - super(ArmorMaterial.DIAMOND, 7, 1); - this.setMaxStackSize(1); - this.setMaxDamage(27); - this.setCreativeTab(CreativeTab.tabTombenpotter); - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 6; + public ItemElectricGoggles(ArmorMaterial material, int par3, int par4) { + super(material, par3, par4); } @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":quantumwings"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":electricgoggles"); } @Override - @SideOnly(Side.CLIENT) public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/quantumwing.png"; + return ElectroMagicTools.texturePath + ":textures/models/electricgoggles.png"; } @Override - @SideOnly(Side.CLIENT) - public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { - return new ModelWings(); - } - - @SuppressWarnings({"unchecked", "rawtypes"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 6"); - } - - @Override - public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { - if (world.isRemote) { - boolean isJumping = Minecraft.getMinecraft().gameSettings.keyBindJump.isPressed(); - boolean isHoldingJump = Minecraft.getMinecraft().gameSettings.keyBindJump.getIsKeyPressed(); - boolean isSneaking = Minecraft.getMinecraft().gameSettings.keyBindSneak.getIsKeyPressed(); - - if (isJumping) - player.motionY = 0.85; - - if (isHoldingJump && !player.onGround && player.motionY < 0 && !player.capabilities.isCreativeMode) - player.motionY *= 0.3; - - if (player.isInWater() && !player.capabilities.isCreativeMode) - player.motionY = -0.1; - - if ((player.worldObj.isRaining() || player.worldObj.isThundering()) && !player.capabilities.isCreativeMode) - player.motionY = -0.05; - - if (isSneaking && isHoldingJump) - player.motionY = 0; - - if (isSneaking && !player.onGround && !isHoldingJump) - player.motionY = -0.6; - - - if (player.fallDistance > 0.0F) - player.fallDistance = 0F; - } - } - - @Override - public boolean isMetalArmor(ItemStack itemstack, EntityPlayer player) { - return true; - } - - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public Item getChargedItem(ItemStack itemStack) { - return this; - } - - @Override - public Item getEmptyItem(ItemStack itemStack) { - return this; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 3; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 10000; + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { } @SuppressWarnings({"rawtypes", "unchecked"}) @@ -170,19 +100,35 @@ public class ItemQuantumWing extends ItemArmor implements IVisDiscountGear, IEle } } - public int getEnergyPerDamage() { - return 100; + @Override + public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { + return visDiscount; + } + + @Override + public boolean showNodes(ItemStack itemstack, EntityLivingBase player) { + return true; + } + + @Override + public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player) { + return true; + } + + @Override + public boolean isMetalArmor(ItemStack itemstack, EntityPlayer player) { + return true; } @Override public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) { if (source.isUnblockable()) { - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, 0.0D, 3); + return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, 0.0D, 0); } else { double absorptionRatio = getBaseAbsorptionRatio() * getDamageAbsorptionRatio(); int energyPerDamage = getEnergyPerDamage(); - int damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage; - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(3, absorptionRatio, damageLimit); + double damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage; + return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, absorptionRatio, (int) damageLimit); } } @@ -195,16 +141,58 @@ public class ItemQuantumWing extends ItemArmor implements IVisDiscountGear, IEle } } + @SuppressWarnings({"unchecked", "rawtypes"}) + @Override + public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { + list.add("Vis discount: " + String.valueOf(visDiscount) + "%"); + } + @Override public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { - ElectricItem.manager.discharge(stack, damage * getEnergyPerDamage(), 0x7fffffff, true, false); + ElectricItem.manager.discharge(stack, damage * getEnergyPerDamage(), 0x7fffffff, true, false, false); } public double getDamageAbsorptionRatio() { return 1.1000000000000001D; } + public int getEnergyPerDamage() { + return energyPerDamage; + } + private double getBaseAbsorptionRatio() { - return 0.34999999999999999D; + return 0.14999999999999999D; + } + + /* IC2 API METHODS */ + + @Override + public boolean canProvideEnergy(ItemStack itemStack) { + return false; + } + + @Override + public double getMaxCharge(ItemStack itemStack) { + return maxCharge; + } + + @Override + public int getTier(ItemStack itemStack) { + return 2; + } + + @Override + public double getTransferLimit(ItemStack itemStack) { + return transferLimit; + } + + @Override + public Item getChargedItem(ItemStack itemStack) { + return this; + } + + @Override + public Item getEmptyItem(ItemStack itemStack) { + return this; } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemNanoThaumicHelmet.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemNanoGoggles.java similarity index 62% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemNanoThaumicHelmet.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemNanoGoggles.java index 74713cb..1d7ff59 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemNanoThaumicHelmet.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemNanoGoggles.java @@ -9,13 +9,11 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.goggles; +package tombenpotter.emt.common.module.ic2.items.armor.goggles; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.Config; import ic2.api.item.ElectricItem; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; @@ -25,44 +23,32 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import thaumcraft.api.aspects.Aspect; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; -import java.util.List; +public class ItemNanoGoggles extends ItemElectricGoggles { -public class ItemNanoThaumicHelmet extends ItemQuantumThaumicHelmet { - - public int maxCharge = 100000; - - public ItemNanoThaumicHelmet(int par3, int par4) { - super(par3, par4); + public ItemNanoGoggles(ArmorMaterial material, int par3, int par4) { + super(material, par3, par4); this.setCreativeTab(CreativeTab.tabTombenpotter); this.setMaxDamage(27); this.setMaxStackSize(1); + visDiscount = 6; + tier = 3; + maxCharge = 100000; + energyPerDamage = 1000; + transferLimit = 100; } @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":nanothaumichelmet"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":nanothaumichelmet"); } @Override public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/thaumicnanohelmet.png"; - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 6; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - public int getEnergyPerDamage() { - return 1000; + return ElectroMagicTools.texturePath + ":textures/models/thaumicnanohelmet.png"; } @Override @@ -83,15 +69,4 @@ public class ItemNanoThaumicHelmet extends ItemQuantumThaumicHelmet { } } } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 100; - } - - @SuppressWarnings({"unchecked", "rawtypes"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 6%"); - } } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemQuantumGoggles.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemQuantumGoggles.java new file mode 100644 index 0000000..9293382 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemQuantumGoggles.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.items.armor.goggles; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import tombenpotter.emt.common.util.Config; +import ic2.api.item.ElectricItem; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; + +import java.util.*; + +public class ItemQuantumGoggles extends ItemNanoGoggles { + private static final Map potionCost = new HashMap(); + + public ItemQuantumGoggles(ArmorMaterial material, int par3, int par4) { + super(material, par3, par4); + this.setCreativeTab(CreativeTab.tabTombenpotter); + this.setMaxDamage(27); + this.setMaxStackSize(1); + maxCharge = 10000000; + tier = 3; + visDiscount = 8; + transferLimit = 10000; + energyPerDamage = 1000; + + potionCost.put(Integer.valueOf(Potion.poison.id), Integer.valueOf(10000)); + potionCost.put(Integer.valueOf(Potion.wither.id), Integer.valueOf(15000)); + potionCost.put(Integer.valueOf(Potion.confusion.id), Integer.valueOf(5000)); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":quantumthaumichelmet"); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { + return ElectroMagicTools.texturePath + ":textures/models/thaumicquantumhelmet.png"; + } + + @SuppressWarnings({"rawtypes", "unchecked"}) + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + int refill = player.getAir(); + if (ElectricItem.manager.canUse(itemStack, 1000) && refill < 100) { + player.setAir(refill + 200); + ElectricItem.manager.use(itemStack, 1000, null); + } + + Iterator i$ = (new LinkedList(player.getActivePotionEffects())).iterator(); + do { + if (!i$.hasNext()) { + break; + } + { + PotionEffect effect = (PotionEffect) i$.next(); + int id = effect.getPotionID(); + Integer cost = (Integer) potionCost.get(Integer.valueOf(id)); + if (cost != null) { + cost = Integer.valueOf(cost.intValue() * (effect.getAmplifier() + 1)); + if (ElectricItem.manager.canUse(itemStack, cost.intValue())) { + ElectricItem.manager.use(itemStack, cost.intValue(), null); + ItemStack milk = (new ItemStack(Items.milk_bucket)); + player.curePotionEffects(milk); + } + } + } + } while (true); + + if (Config.nightVisionOff == false) { + if (ElectricItem.manager.canUse(itemStack, 1 / 1000)) { + int x = MathHelper.floor_double(player.posX); + int z = MathHelper.floor_double(player.posZ); + int y = MathHelper.floor_double(player.posY); + int lightlevel = player.worldObj.getBlockLightValue(x, y, z); + if (lightlevel >= 0) + player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 300, -3)); + ElectricItem.manager.use(itemStack, 1 / 1000, player); + } else { + player.addPotionEffect(new PotionEffect(Potion.blindness.id, 300, 0, true)); + } + } + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemSolarHelmetRevealing.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemSolarHelmetRevealing.java similarity index 56% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemSolarHelmetRevealing.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemSolarHelmetRevealing.java index c23c126..cc67b3c 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemSolarHelmetRevealing.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemSolarHelmetRevealing.java @@ -9,40 +9,31 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.goggles; +package tombenpotter.emt.common.module.ic2.items.armor.goggles; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.Config; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import net.minecraftforge.common.ISpecialArmor; -import thaumcraft.api.IGoggles; -import thaumcraft.api.IVisDiscountGear; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.nodes.IRevealer; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; -import java.util.*; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.Map; -public class ItemSolarHelmetRevealing extends ItemArmor implements ISpecialArmor, IRevealer, IVisDiscountGear, IGoggles, IElectricItem { - - public int maxCharge = 10000000; +public class ItemSolarHelmetRevealing extends ItemQuantumGoggles { private int ticker; private int generating; private int genDay; @@ -56,14 +47,19 @@ public class ItemSolarHelmetRevealing extends ItemArmor implements ISpecialArmor private static final Map potionCost = new HashMap(); @SuppressWarnings("unchecked") - public ItemSolarHelmetRevealing(int par3, int par4) { - super(ArmorMaterial.IRON, par3, par4); + public ItemSolarHelmetRevealing(ArmorMaterial material, int par3, int par4) { + super(material, par3, par4); this.setMaxDamage(27); this.setMaxStackSize(1); this.setCreativeTab(CreativeTab.tabTombenpotter); this.maxCharge = 1000000; this.genDay = 256; this.genNight = 128; + maxCharge = 10000000; + visDiscount = 7; + tier = 3; + transferLimit = 10000; + energyPerDamage = 10000; potionCost.put(Integer.valueOf(Potion.poison.id), Integer.valueOf(10000)); potionCost.put(Integer.valueOf(Potion.wither.id), Integer.valueOf(15000)); @@ -72,7 +68,7 @@ public class ItemSolarHelmetRevealing extends ItemArmor implements ISpecialArmor @Override public String getArmorTexture(ItemStack stack, Entity entity, int slot, String layerType) { - return ElectricMagicTools.texturePath + ":textures/models/solarrevealinghelmet.png"; + return ElectroMagicTools.texturePath + ":textures/models/solarrevealinghelmet.png"; } @SuppressWarnings("unchecked") @@ -130,7 +126,7 @@ public class ItemSolarHelmetRevealing extends ItemArmor implements ISpecialArmor for (int i = 0; i < player.inventory.armorInventory.length; i++) { if (energyLeft > 0) { if ((player.inventory.armorInventory[i] != null) && (player.inventory.armorInventory[i].getItem() instanceof IElectricItem)) { - int sentPacket = ElectricItem.manager.charge(player.inventory.armorInventory[i], energyLeft, 4, false, false); + double sentPacket = ElectricItem.manager.charge(player.inventory.armorInventory[i], energyLeft, 4, false, false); energyLeft -= sentPacket; } } else { @@ -140,7 +136,7 @@ public class ItemSolarHelmetRevealing extends ItemArmor implements ISpecialArmor for (int j = 0; j < player.inventory.mainInventory.length; j++) { if (energyLeft > 0) { if ((player.inventory.mainInventory[j] != null) && (player.inventory.mainInventory[j].getItem() instanceof IElectricItem)) { - int sentPacket = ElectricItem.manager.charge(player.inventory.mainInventory[j], energyLeft, 4, false, false); + double sentPacket = ElectricItem.manager.charge(player.inventory.mainInventory[j], energyLeft, 4, false, false); energyLeft -= sentPacket; } } else { @@ -189,127 +185,6 @@ public class ItemSolarHelmetRevealing extends ItemArmor implements ISpecialArmor @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":solarrevealinghelmet"); - } - - @Override - public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player) { - return true; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 7%"); - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 7; - } - - @Override - public boolean showNodes(ItemStack itemstack, EntityLivingBase player) { - return true; - } - - @Override - public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) { - if (source.isUnblockable()) { - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, 0.0D, 0); - } else { - double absorptionRatio = getBaseAbsorptionRatio() * getDamageAbsorptionRatio(); - int energyPerDamage = getEnergyPerDamage(); - int damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage; - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, absorptionRatio, damageLimit); - } - } - - @Override - public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { - if (ElectricItem.manager.getCharge(armor) >= getEnergyPerDamage()) { - return (int) Math.round(20D * getBaseAbsorptionRatio() * getDamageAbsorptionRatio()); - } else { - return 0; - } - } - - @Override - public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { - ElectricItem.manager.discharge(stack, damage * getEnergyPerDamage(), 0x7fffffff, true, false); - } - - public double getDamageAbsorptionRatio() { - return 1.1000000000000001D; - } - - public int getEnergyPerDamage() { - return 10000; - } - - private double getBaseAbsorptionRatio() { - return 0.14999999999999999D; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } - } - - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return true; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 1; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 1000; - } - - @Override - public int getItemEnchantability() { - if (Config.enchanting == false) { - return 0; - } else { - return 4; - } - } - - @Override - public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { - if (Config.enchanting == false) { - return false; - } else { - return true; - } - } - - @Override - public Item getChargedItem(ItemStack itemStack) { - return this; - } - - @Override - public Item getEmptyItem(ItemStack itemStack) { - return this; + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":solarrevealinghelmet"); } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemNanoWing.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/wings/ItemNanoWing.java similarity index 74% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemNanoWing.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/armor/wings/ItemNanoWing.java index 19437b6..c1e8d18 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemNanoWing.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/wings/ItemNanoWing.java @@ -1,70 +1,67 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.wings; +package tombenpotter.emt.common.module.ic2.items.armor.wings; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.client.model.ModelWings; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.module.base.items.ItemThaumiumReinforcedWing; +import tombenpotter.emt.common.util.Config; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import ic2.api.item.IMetalArmor; import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraft.world.World; import net.minecraftforge.common.ISpecialArmor; -import thaumcraft.api.IVisDiscountGear; -import thaumcraft.api.aspects.Aspect; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; import java.util.List; -public class ItemNanoWing extends ItemArmor implements IVisDiscountGear, IElectricItem, ISpecialArmor, IMetalArmor { +public class ItemNanoWing extends ItemThaumiumReinforcedWing implements IElectricItem, ISpecialArmor, IMetalArmor { public int maxCharge = 100000; + public int tier = 3; + public double transferLimit = 1000; + public int energyPerDamage = 100; - public ItemNanoWing() { - super(ArmorMaterial.DIAMOND, 7, 1); + public ItemNanoWing(ArmorMaterial material, int par3, int par4) { + super(material, par3, par4); this.setMaxStackSize(1); this.setMaxDamage(27); this.setCreativeTab(CreativeTab.tabTombenpotter); - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 5; + visDiscount = 5; } @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":nanowings"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":nanowings"); + } + + @SuppressWarnings({"rawtypes", "unchecked"}) + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { + ItemStack itemStack = new ItemStack(this, 1); + if (getChargedItem(itemStack) == this) { + ItemStack charged = new ItemStack(this, 1); + ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); + itemList.add(charged); + } + if (getEmptyItem(itemStack) == this) { + itemList.add(new ItemStack(this, 1, getMaxDamage())); + } } @Override @SideOnly(Side.CLIENT) public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/nanowing.png"; - } - - @Override - @SideOnly(Side.CLIENT) - public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { - return new ModelWings(); - } - - @SuppressWarnings({"unchecked", "rawtypes"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 5"); + return ElectroMagicTools.texturePath + ":textures/models/nanowing.png"; } @Override @@ -104,50 +101,6 @@ public class ItemNanoWing extends ItemArmor implements IVisDiscountGear, IElectr return true; } - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public Item getChargedItem(ItemStack itemStack) { - return this; - } - - @Override - public Item getEmptyItem(ItemStack itemStack) { - return this; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 3; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 1000; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } - } - @Override public boolean isRepairable() { return false; @@ -172,7 +125,7 @@ public class ItemNanoWing extends ItemArmor implements IVisDiscountGear, IElectr } public int getEnergyPerDamage() { - return 100; + return energyPerDamage; } @Override @@ -182,8 +135,8 @@ public class ItemNanoWing extends ItemArmor implements IVisDiscountGear, IElectr } else { double absorptionRatio = getBaseAbsorptionRatio() * getDamageAbsorptionRatio(); int energyPerDamage = getEnergyPerDamage(); - int damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage; - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(3, absorptionRatio, damageLimit); + double damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage; + return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(3, absorptionRatio, (int) damageLimit); } } @@ -198,7 +151,7 @@ public class ItemNanoWing extends ItemArmor implements IVisDiscountGear, IElectr @Override public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { - ElectricItem.manager.discharge(stack, damage * getEnergyPerDamage(), 0x7fffffff, true, false); + ElectricItem.manager.discharge(stack, damage * getEnergyPerDamage(), 0x7fffffff, true, false, false); } public double getDamageAbsorptionRatio() { @@ -208,4 +161,36 @@ public class ItemNanoWing extends ItemArmor implements IVisDiscountGear, IElectr private double getBaseAbsorptionRatio() { return 0.14999999999999999D; } + + /* IC2 API METHODS */ + + @Override + public boolean canProvideEnergy(ItemStack itemStack) { + return false; + } + + @Override + public double getMaxCharge(ItemStack itemStack) { + return maxCharge; + } + + @Override + public int getTier(ItemStack itemStack) { + return 2; + } + + @Override + public double getTransferLimit(ItemStack itemStack) { + return transferLimit; + } + + @Override + public Item getChargedItem(ItemStack itemStack) { + return this; + } + + @Override + public Item getEmptyItem(ItemStack itemStack) { + return this; + } } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/wings/ItemQuantumWing.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/wings/ItemQuantumWing.java new file mode 100644 index 0000000..534929d --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/wings/ItemQuantumWing.java @@ -0,0 +1,69 @@ +package tombenpotter.emt.common.module.ic2.items.armor.wings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; + +public class ItemQuantumWing extends ItemNanoWing { + + public ItemQuantumWing(ArmorMaterial material, int par3, int par4) { + super(material, par3, par4); + this.setMaxStackSize(1); + this.setMaxDamage(27); + this.setCreativeTab(CreativeTab.tabTombenpotter); + maxCharge = 1000000; + visDiscount = 6; + transferLimit = 10000; + energyPerDamage = 1000; + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":quantumwings"); + } + + @Override + @SideOnly(Side.CLIENT) + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { + return ElectroMagicTools.texturePath + ":textures/models/quantumwing.png"; + } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { + if (world.isRemote) { + boolean isJumping = Minecraft.getMinecraft().gameSettings.keyBindJump.isPressed(); + boolean isHoldingJump = Minecraft.getMinecraft().gameSettings.keyBindJump.getIsKeyPressed(); + boolean isSneaking = Minecraft.getMinecraft().gameSettings.keyBindSneak.getIsKeyPressed(); + + if (isJumping) + player.motionY = 0.85; + + if (isHoldingJump && !player.onGround && player.motionY < 0 && !player.capabilities.isCreativeMode) + player.motionY *= 0.3; + + if (player.isInWater() && !player.capabilities.isCreativeMode) + player.motionY = -0.1; + + if ((player.worldObj.isRaining() || player.worldObj.isThundering()) && !player.capabilities.isCreativeMode) + player.motionY = -0.05; + + if (isSneaking && isHoldingJump) + player.motionY = 0; + + if (isSneaking && !player.onGround && !isHoldingJump) + player.motionY = -0.6; + + + if (player.fallDistance > 0.0F) + player.fallDistance = 0F; + } + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTMachines.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTMachines.java similarity index 95% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTMachines.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTMachines.java index 3cb7f9e..d17068f 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTMachines.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTMachines.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.blocks; +package tombenpotter.emt.common.module.ic2.items.blocks; import net.minecraft.block.Block; import net.minecraft.item.ItemBlock; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTSolars.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTSolars.java similarity index 97% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTSolars.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTSolars.java index b426f86..01e8bab 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTSolars.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTSolars.java @@ -9,9 +9,9 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.blocks; +package tombenpotter.emt.common.module.ic2.items.blocks; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; +import tombenpotter.emt.common.util.Config; import net.minecraft.block.Block; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTSolars2.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTSolars2.java similarity index 95% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTSolars2.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTSolars2.java index 6d7247a..a49c5b4 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTSolars2.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTSolars2.java @@ -9,9 +9,9 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.blocks; +package tombenpotter.emt.common.module.ic2.items.blocks; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; +import tombenpotter.emt.common.util.Config; import net.minecraft.block.Block; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEssentiaGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEssentiaGenerator.java new file mode 100644 index 0000000..5bf0ea8 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEssentiaGenerator.java @@ -0,0 +1,20 @@ +package tombenpotter.emt.common.module.ic2.items.blocks; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; + +import java.util.List; + +public class ItemBlockEssentiaGenerator extends ItemBlock { + + public ItemBlockEssentiaGenerator(Block id) { + super(id); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) { + // list.add(""); + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEssentiaGenerators.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEssentiaGenerators.java similarity index 81% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEssentiaGenerators.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEssentiaGenerators.java index bc8bed6..712a626 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEssentiaGenerators.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEssentiaGenerators.java @@ -9,12 +9,15 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.blocks; +package tombenpotter.emt.common.module.ic2.items.blocks; import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; +import java.util.List; + public class ItemBlockEssentiaGenerators extends ItemBlock { public ItemBlockEssentiaGenerators(Block id) { @@ -42,12 +45,21 @@ public class ItemBlockEssentiaGenerators extends ItemBlock { name = "arbor"; break; } + case 4: { + name = "aer"; + break; + } default: name = "nothing"; } return getUnlocalizedName() + "." + name; } + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) { + list.add("Going away next version."); + } + @Override public int getMetadata(int meta) { return meta; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemChargeFocus.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/foci/ItemChargeFocus.java similarity index 84% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemChargeFocus.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/foci/ItemChargeFocus.java index be4be26..0d9065e 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemChargeFocus.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/foci/ItemChargeFocus.java @@ -9,12 +9,13 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.foci; +package tombenpotter.emt.common.module.ic2.items.foci; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.module.base.items.foci.ItemBaseFocus; +import tombenpotter.emt.common.util.Config; +import tombenpotter.emt.ElectroMagicTools; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.client.renderer.texture.IIconRegister; @@ -37,7 +38,7 @@ public class ItemChargeFocus extends ItemBaseFocus { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":chargefocus"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":chargefocus"); } @Override @@ -65,7 +66,7 @@ public class ItemChargeFocus extends ItemBaseFocus { for (int i = 0; i < player.inventory.armorInventory.length; i++) { if (energyLeft > 0) { if ((player.inventory.armorInventory[i] != null) && (player.inventory.armorInventory[i].getItem() instanceof IElectricItem)) { - int sentPacket = ElectricItem.manager.charge(player.inventory.armorInventory[i], energyLeft, 4, false, false); + double sentPacket = ElectricItem.manager.charge(player.inventory.armorInventory[i], energyLeft, 4, false, false); energyLeft -= sentPacket; } } else { @@ -75,7 +76,7 @@ public class ItemChargeFocus extends ItemBaseFocus { for (int j = 0; j < player.inventory.mainInventory.length; j++) { if (energyLeft > 0) { if ((player.inventory.mainInventory[j] != null) && (player.inventory.mainInventory[j].getItem() instanceof IElectricItem)) { - int sentPacket = ElectricItem.manager.charge(player.inventory.mainInventory[j], energyLeft, 4, false, false); + double sentPacket = ElectricItem.manager.charge(player.inventory.mainInventory[j], energyLeft, 4, false, false); energyLeft -= sentPacket; } } else { diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemWandChargingFocus.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/foci/ItemWandChargingFocus.java similarity index 86% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemWandChargingFocus.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/foci/ItemWandChargingFocus.java index e6b4ecd..dd4dbfe 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemWandChargingFocus.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/foci/ItemWandChargingFocus.java @@ -1,9 +1,10 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.items.foci; +package tombenpotter.emt.common.module.ic2.items.foci; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.module.base.items.foci.ItemBaseFocus; +import tombenpotter.emt.common.util.Config; +import tombenpotter.emt.ElectroMagicTools; import ic2.api.item.ElectricItem; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -23,7 +24,7 @@ public class ItemWandChargingFocus extends ItemBaseFocus { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":wandchargefocus"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":wandchargefocus"); } @Override diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemElectricHoeGrowth.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/ItemElectricHoeGrowth.java similarity index 84% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemElectricHoeGrowth.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/tools/ItemElectricHoeGrowth.java index 65e8e03..0852cb0 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemElectricHoeGrowth.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/ItemElectricHoeGrowth.java @@ -9,24 +9,24 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; +package tombenpotter.emt.common.module.ic2.items.tools; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; import thaumcraft.common.items.equipment.ItemElementalHoe; +import tombenpotter.emt.common.util.CreativeTab; -import javax.swing.*; import java.util.List; public class ItemElectricHoeGrowth extends ItemElementalHoe implements IElectricItem { - public Icon icon; + public IIcon icon; public int maxCharge = 1000000; public int growthCost = 1000; public int tillCost = 100; @@ -39,8 +39,11 @@ public class ItemElectricHoeGrowth extends ItemElementalHoe implements IElectric /** * @SideOnly(Side.CLIENT) - * @Override public void registerIcons(IconRegister iconRegister) { this.icon = iconRegister .registerIcon("electricmagictools:electrichoegrowth"); } + * @Override public void registerIcons(IIconRegister iconRegister) { + * this.icon = iconRegister.registerIcon("electromagictools:electrichoegrowth"); + * } */ + @SuppressWarnings({"rawtypes", "unchecked"}) @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { @@ -55,13 +58,20 @@ public class ItemElectricHoeGrowth extends ItemElementalHoe implements IElectric } } + @Override + public boolean isRepairable() { + return false; + } + + /* IC2 API METHODS */ + @Override public boolean canProvideEnergy(ItemStack itemStack) { return false; } @Override - public int getMaxCharge(ItemStack itemStack) { + public double getMaxCharge(ItemStack itemStack) { return maxCharge; } @@ -71,15 +81,10 @@ public class ItemElectricHoeGrowth extends ItemElementalHoe implements IElectric } @Override - public int getTransferLimit(ItemStack itemStack) { + public double getTransferLimit(ItemStack itemStack) { return 1000; } - @Override - public boolean isRepairable() { - return false; - } - @Override public Item getChargedItem(ItemStack itemStack) { return this; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemElectricThorHammer.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/ItemElectricThorHammer.java similarity index 91% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemElectricThorHammer.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/tools/ItemElectricThorHammer.java index 4cbaecd..1f8455e 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemElectricThorHammer.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/ItemElectricThorHammer.java @@ -9,14 +9,12 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools.hammer; +package tombenpotter.emt.common.module.ic2.items.tools; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.entities.EntityArcher; +import tombenpotter.emt.common.util.Config; +import tombenpotter.emt.common.module.base.entities.EntityArcher; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.client.renderer.texture.IIconRegister; @@ -31,6 +29,8 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.DamageSource; import net.minecraft.world.World; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; import java.util.List; @@ -48,30 +48,10 @@ public class ItemElectricThorHammer extends ItemSword implements IElectricItem { // OreDictionary.registerOre("craftingToolForgeHammer", this); } - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 2; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 100; - } - @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":hammer/electricthorhammer"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":hammer/electricthorhammer"); } @SuppressWarnings({"rawtypes", "unchecked"}) @@ -88,29 +68,6 @@ public class ItemElectricThorHammer extends ItemSword implements IElectricItem { } } - @Override - public boolean isRepairable() { - return false; - } - - @Override - public int getItemEnchantability() { - if (Config.enchanting == false) { - return 0; - } else { - return 4; - } - } - - @Override - public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { - if (Config.enchanting == false) { - return false; - } else { - return true; - } - } - @Override public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { @@ -192,6 +149,27 @@ public class ItemElectricThorHammer extends ItemSword implements IElectricItem { } } + @Override + public boolean isRepairable() { + return false; + } + + @Override + public int getItemEnchantability() { + if (Config.enchanting == false) { + return 0; + } else { + return 4; + } + } + + @Override + public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { + return Config.enchanting; + } + + /* IC2 API METHODS */ + @Override public Item getChargedItem(ItemStack itemStack) { return this; @@ -201,4 +179,24 @@ public class ItemElectricThorHammer extends ItemSword implements IElectricItem { public Item getEmptyItem(ItemStack itemStack) { return this; } + + @Override + public boolean canProvideEnergy(ItemStack itemStack) { + return false; + } + + @Override + public double getMaxCharge(ItemStack itemStack) { + return maxCharge; + } + + @Override + public int getTier(ItemStack itemStack) { + return 2; + } + + @Override + public double getTransferLimit(ItemStack itemStack) { + return 100; + } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemThaumiumChainsaw.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemDiamondChainsaw.java similarity index 84% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemThaumiumChainsaw.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemDiamondChainsaw.java index 938fcb4..9f65e15 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemThaumiumChainsaw.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemDiamondChainsaw.java @@ -9,13 +9,11 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; +package tombenpotter.emt.common.module.ic2.items.tools.chainsaws; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.Config; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.block.Block; @@ -31,18 +29,21 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraft.world.World; import net.minecraftforge.event.ForgeEventFactory; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; import java.util.List; -public class ItemThaumiumChainsaw extends ItemAxe implements IElectricItem { +public class ItemDiamondChainsaw extends ItemAxe implements IElectricItem { - public int maxCharge = 60000; - private final int cost = 250; - private final int hitCost = 350; + public int maxCharge = 40000; + public int cost = 200; + public int hitCost = 300; + public int tier = 2; - public ItemThaumiumChainsaw() { + public ItemDiamondChainsaw() { super(ToolMaterial.EMERALD); - this.efficiencyOnProperMaterial = 21F; + this.efficiencyOnProperMaterial = 16F; this.setCreativeTab(CreativeTab.tabTombenpotter); this.setMaxDamage(27); this.setMaxStackSize(1); @@ -51,41 +52,7 @@ public class ItemThaumiumChainsaw extends ItemAxe implements IElectricItem { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":thaumiumchainsaw"); - } - - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 2; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 600; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":diamondchainsaw"); } @Override @@ -96,7 +63,7 @@ public class ItemThaumiumChainsaw extends ItemAxe implements IElectricItem { @Override public boolean canHarvestBlock(Block block, ItemStack stack) { - return Items.diamond_axe.canHarvestBlock(block, stack) || Items.diamond_sword.canHarvestBlock(block, stack); + return Items.diamond_axe.canHarvestBlock(block, stack) || Items.diamond_sword.canHarvestBlock(block, stack) || Items.shears.canHarvestBlock(block, stack); } @Override @@ -112,29 +79,6 @@ public class ItemThaumiumChainsaw extends ItemAxe implements IElectricItem { } } - @Override - public boolean isRepairable() { - return false; - } - - @Override - public int getItemEnchantability() { - if (Config.enchanting == false) { - return 0; - } else { - return 4; - } - } - - @Override - public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { - if (Config.enchanting == false) { - return false; - } else { - return true; - } - } - @Override public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { @@ -143,6 +87,20 @@ public class ItemThaumiumChainsaw extends ItemAxe implements IElectricItem { return false; } + @SuppressWarnings({"rawtypes", "unchecked"}) + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { + ItemStack itemStack = new ItemStack(this, 1); + if (getChargedItem(itemStack) == this) { + ItemStack charged = new ItemStack(this, 1); + ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); + itemList.add(charged); + } + if (getEmptyItem(itemStack) == this) { + itemList.add(new ItemStack(this, 1, getMaxDamage())); + } + } + @Override public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float xOffset, float yOffset, float zOffset) { for (int i = 0; i < player.inventory.mainInventory.length; i++) { @@ -172,6 +130,27 @@ public class ItemThaumiumChainsaw extends ItemAxe implements IElectricItem { return super.onItemUse(stack, player, world, x, y, z, side, xOffset, yOffset, zOffset); } + @Override + public boolean isRepairable() { + return false; + } + + @Override + public int getItemEnchantability() { + if (Config.enchanting == false) { + return 0; + } else { + return 4; + } + } + + @Override + public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { + return Config.enchanting; + } + + /* IC2 API METHODS */ + @Override public Item getChargedItem(ItemStack itemStack) { return this; @@ -181,4 +160,24 @@ public class ItemThaumiumChainsaw extends ItemAxe implements IElectricItem { public Item getEmptyItem(ItemStack itemStack) { return this; } + + @Override + public boolean canProvideEnergy(ItemStack itemStack) { + return false; + } + + @Override + public double getMaxCharge(ItemStack itemStack) { + return maxCharge; + } + + @Override + public int getTier(ItemStack itemStack) { + return tier; + } + + @Override + public double getTransferLimit(ItemStack itemStack) { + return 300; + } } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemStreamChainsaw.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemStreamChainsaw.java new file mode 100644 index 0000000..22e8f92 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemStreamChainsaw.java @@ -0,0 +1,107 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + * + * This class originally belongs to Azanor, but with his permission I took it, and modified it to make it work as I wanted to. + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.items.tools.chainsaws; + +import cpw.mods.fml.common.network.NetworkRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ic2.api.item.ElectricItem; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumAction; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import thaumcraft.common.lib.Utils; +import thaumcraft.common.lib.network.PacketHandler; +import thaumcraft.common.lib.network.fx.PacketFXBlockBubble; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; + +import java.awt.*; +import java.util.ArrayList; + +public class ItemStreamChainsaw extends ItemThaumiumChainsaw { + + boolean alternateServer; + boolean alternateClient; + @SuppressWarnings("rawtypes") + public static ArrayList oreDictLogs = new ArrayList(); + + public ItemStreamChainsaw() { + this.efficiencyOnProperMaterial = 25F; + alternateServer = false; + alternateClient = false; + setCreativeTab(CreativeTab.tabTombenpotter); + this.maxStackSize = 1; + this.setMaxDamage(27); + maxCharge = 900000; + cost = 400; + hitCost = 500; + tier = 3; + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":streamchainsaw"); + } + + @Override + public EnumAction getItemUseAction(ItemStack itemstack) { + return EnumAction.bow; + } + + @Override + public boolean onItemUse(ItemStack itemstack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10) { + Block bi = world.getBlock(x, y, z); + if ((!player.isSneaking()) && (Utils.isWoodLog(world, x, y, z))) { + if (!world.isRemote) { + if (Utils.breakFurthestBlock(world, x, y, z, bi, player)) { + world.playSoundEffect(x, y, z, "thaumcraft:bubble", 0.15F, 1.0F); + ElectricItem.manager.use(itemstack, cost, player); + this.alternateServer = (!this.alternateServer); + } + } else { + player.swingItem(); + ElectricItem.manager.use(itemstack, cost, player); + this.alternateClient = (!this.alternateClient); + } + } + return super.onItemUse(itemstack, player, world, x, y, z, par7, par8, par9, par10); + } + + @Override + public boolean onBlockStartBreak(ItemStack itemstack, int x, int y, int z, EntityPlayer player) { + World world = player.worldObj; + Block bi = world.getBlock(x, y, z); + if ((!player.isSneaking()) && (Utils.isWoodLog(world, x, y, z))) { + if (!world.isRemote) { + Utils.breakFurthestBlock(world, x, y, z, bi, player); + PacketHandler.INSTANCE.sendToAllAround(new PacketFXBlockBubble(x, y, z, new Color(0.33F, 0.33F, 1.0F).getRGB()), new NetworkRegistry.TargetPoint(world.provider.dimensionId, x, y, z, 32.0D)); + + world.playSoundEffect(x, y, z, "thaumcraft:bubble", 0.15F, 1.0F); + } + ElectricItem.manager.use(itemstack, cost, player); + return true; + } + return super.onBlockStartBreak(itemstack, x, y, z, player); + } + + /* IC2 API METHODS */ + @Override + public double getTransferLimit(ItemStack itemStack) { + return 900; + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemThaumiumChainsaw.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemThaumiumChainsaw.java new file mode 100644 index 0000000..d3737a5 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemThaumiumChainsaw.java @@ -0,0 +1,64 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.items.tools.chainsaws; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ic2.api.item.ElectricItem; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; + +public class ItemThaumiumChainsaw extends ItemDiamondChainsaw { + + public ItemThaumiumChainsaw() { + this.efficiencyOnProperMaterial = 21F; + this.setCreativeTab(CreativeTab.tabTombenpotter); + this.setMaxDamage(27); + this.setMaxStackSize(1); + maxCharge = 60000; + cost = 250; + hitCost = 350; + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":thaumiumchainsaw"); + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int par4, int par5, int par6, EntityLivingBase entityLiving) { + ElectricItem.manager.use(stack, cost, entityLiving); + return true; + } + + @Override + public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { + if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { + entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 12F); + } + return false; + } + + /* IC2 API METHODS */ + @Override + public double getTransferLimit(ItemStack itemStack) { + return 600; + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemRockbreakerDrill.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/drills/ItemRockbreakerDrill.java similarity index 74% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemRockbreakerDrill.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/tools/drills/ItemRockbreakerDrill.java index cb6a0df..97a48b9 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemRockbreakerDrill.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/drills/ItemRockbreakerDrill.java @@ -11,28 +11,22 @@ * * This class originally belongs to Azanor, but with his permission I took it, and modified it to make it work as I wanted to. ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; +package tombenpotter.emt.common.module.ic2.items.tools.drills; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.Config; import ic2.api.item.ElectricItem; -import ic2.api.item.IElectricItem; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; -import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; import net.minecraft.server.MinecraftServer; import net.minecraft.util.DamageSource; @@ -44,19 +38,21 @@ import net.minecraftforge.event.ForgeEventFactory; import thaumcraft.common.Thaumcraft; import thaumcraft.common.entities.EntityFollowingItem; import thaumcraft.common.lib.Utils; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; import javax.swing.*; import java.util.ArrayList; import java.util.Iterator; -import java.util.List; -public class ItemRockbreakerDrill extends ItemPickaxe implements IElectricItem { +public class ItemRockbreakerDrill extends ItemThaumiumDrill { private static final Block[] isEffective = {Blocks.nether_brick, Blocks.netherrack, Blocks.glowstone, Blocks.iron_block, Blocks.gold_block, Blocks.diamond_block, Blocks.lapis_block, Blocks.redstone_block, Blocks.redstone_ore, Blocks.emerald_ore, Blocks.emerald_block, Blocks.stonebrick, Blocks.glass, Blocks.stone, Blocks.gold_ore, Blocks.iron_ore, Blocks.coal_ore, Blocks.cobblestone, Blocks.diamond_ore, Blocks.lapis_ore, Blocks.dirt, Blocks.gravel, Blocks.sand, Blocks.sandstone, Blocks.soul_sand, Blocks.clay, Blocks.grass, Blocks.snow_layer, Blocks.snow, Blocks.farmland, Blocks.hardened_clay, Blocks.stained_hardened_clay, Blocks.mossy_cobblestone}; public Icon icon; int side; + public int searchCost = 1000; + public int hitCost = 400; public ItemRockbreakerDrill() { - super(ToolMaterial.EMERALD); side = 0; setCreativeTab(CreativeTab.tabTombenpotter); this.efficiencyOnProperMaterial = 25F; @@ -66,31 +62,15 @@ public class ItemRockbreakerDrill extends ItemPickaxe implements IElectricItem { } else { this.setMaxDamage(2571); } + maxCharge = 900000; + transferLimit = 900; + tier = 3; } - public int maxCharge = 900000; - private int cost; - private final int searchCost = 1000; - private final int hitCost = 400; - @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":rockbreakerdrill"); - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":rockbreakerdrill"); } private boolean isEffectiveAgainst(Block block) { @@ -205,7 +185,6 @@ public class ItemRockbreakerDrill extends ItemPickaxe implements IElectricItem { } Minecraft mc = Minecraft.getMinecraft(); Thaumcraft.instance.renderEventHandler.startScan(player, x, y, z, System.currentTimeMillis() + 5000L); - player.swingItem(); return super.onItemUse(stack, player, world, x, y, z, side, xOffset, yOffset, zOffset); } @@ -227,75 +206,4 @@ public class ItemRockbreakerDrill extends ItemPickaxe implements IElectricItem { } return false; } - - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 3; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 900; - } - - @Override - public boolean canHarvestBlock(Block block, ItemStack stack) { - return Items.diamond_pickaxe.canHarvestBlock(block, stack) || Items.diamond_shovel.canHarvestBlock(block, stack); - } - - @Override - public float getDigSpeed(ItemStack stack, Block block, int meta) { - if (!ElectricItem.manager.canUse(stack, cost)) { - return 1.0F; - } - - if (Items.wooden_pickaxe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_shovel.getDigSpeed(stack, block, meta) > 1.0F) { - return efficiencyOnProperMaterial; - } else { - return super.getDigSpeed(stack, block, meta); - } - } - - @Override - public boolean isRepairable() { - return false; - } - - @Override - public int getItemEnchantability() { - if (Config.enchanting == false) { - return 0; - } else { - return 6; - } - } - - @Override - public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { - if (Config.enchanting == false) { - return false; - } else { - return true; - } - } - - @Override - public Item getChargedItem(ItemStack itemStack) { - return this; - } - - @Override - public Item getEmptyItem(ItemStack itemStack) { - return this; - } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemThaumiumDrill.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/drills/ItemThaumiumDrill.java similarity index 89% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemThaumiumDrill.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/tools/drills/ItemThaumiumDrill.java index 1514f32..6d5ce25 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemThaumiumDrill.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/drills/ItemThaumiumDrill.java @@ -9,13 +9,11 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; +package tombenpotter.emt.common.module.ic2.items.tools.drills; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.Config; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.block.Block; @@ -30,11 +28,18 @@ import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraftforge.event.ForgeEventFactory; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; import java.util.List; public class ItemThaumiumDrill extends ItemPickaxe implements IElectricItem { + public int maxCharge = 60000; + public int cost; + public int tier = 2; + public double transferLimit = 100; + public ItemThaumiumDrill() { super(ToolMaterial.EMERALD); this.efficiencyOnProperMaterial = 20F; @@ -47,33 +52,10 @@ public class ItemThaumiumDrill extends ItemPickaxe implements IElectricItem { } } - public int maxCharge = 60000; - private int cost; - @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":thaumiumdrill"); - } - - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 2; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 100; + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":thaumiumdrill"); } @SuppressWarnings({"rawtypes", "unchecked"}) @@ -119,29 +101,6 @@ public class ItemThaumiumDrill extends ItemPickaxe implements IElectricItem { } } - @Override - public boolean isRepairable() { - return false; - } - - @Override - public int getItemEnchantability() { - if (Config.enchanting == false) { - return 0; - } else { - return 4; - } - } - - @Override - public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { - if (Config.enchanting == false) { - return false; - } else { - return true; - } - } - @Override public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase entityliving1) { return true; @@ -176,6 +135,47 @@ public class ItemThaumiumDrill extends ItemPickaxe implements IElectricItem { return super.onItemUse(stack, player, world, x, y, z, side, xOffset, yOffset, zOffset); } + @Override + public boolean isRepairable() { + return false; + } + + @Override + public int getItemEnchantability() { + if (Config.enchanting == false) { + return 0; + } else { + return 4; + } + } + + @Override + public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { + return Config.enchanting; + } + + /* IC2 API METHODS */ + + @Override + public boolean canProvideEnergy(ItemStack itemStack) { + return false; + } + + @Override + public double getMaxCharge(ItemStack itemStack) { + return maxCharge; + } + + @Override + public int getTier(ItemStack itemStack) { + return tier; + } + + @Override + public double getTransferLimit(ItemStack itemStack) { + return transferLimit; + } + @Override public Item getChargedItem(ItemStack itemStack) { return this; diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolDiamond.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolDiamond.java new file mode 100644 index 0000000..9e03a26 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolDiamond.java @@ -0,0 +1,73 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.items.tools.omnitools; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import tombenpotter.emt.common.util.Config; +import ic2.api.item.ElectricItem; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; + +public class ItemOmnitoolDiamond extends ItemOmnitoolIron { + public ItemOmnitoolDiamond() { + super(); + this.efficiencyOnProperMaterial = 16F; + this.setCreativeTab(CreativeTab.tabTombenpotter); + this.setMaxStackSize(1); + if (Config.toolsInBore == false) { + this.setMaxDamage(27); + } else { + this.setMaxDamage(350); + } + maxCharge = 70000; + hitCost = 250; + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":diamondomnitool"); + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int par4, int par5, int par6, EntityLivingBase entityLiving) { + if (Config.toolsInBore == false) { + cost = 200; + } else { + cost = 1; + } + ElectricItem.manager.use(stack, cost, entityLiving); + return true; + } + + @Override + public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { + if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { + entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 10F); + } + return false; + } + + /* IC2 API METHODS */ + @Override + public double getTransferLimit(ItemStack itemStack) { + return 400; + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolIron.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolIron.java similarity index 90% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolIron.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolIron.java index 6a257c1..b1e205d 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolIron.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolIron.java @@ -9,13 +9,13 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; +package tombenpotter.emt.common.module.ic2.items.tools.omnitools; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.Config; +import tombenpotter.emt.common.util.CreativeTab; +import tombenpotter.emt.ElectroMagicTools; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.block.Block; @@ -37,8 +37,8 @@ import java.util.List; public class ItemOmnitoolIron extends ItemPickaxe implements IElectricItem { public int maxCharge = 20000; - private int cost; - private final int hitCost = 125; + public int cost; + public int hitCost = 125; public ItemOmnitoolIron() { super(ToolMaterial.EMERALD); @@ -55,27 +55,7 @@ public class ItemOmnitoolIron extends ItemPickaxe implements IElectricItem { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":ironomnitool"); - } - - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 2; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 200; + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":ironomnitool"); } @SuppressWarnings({"rawtypes", "unchecked"}) @@ -123,29 +103,6 @@ public class ItemOmnitoolIron extends ItemPickaxe implements IElectricItem { } } - @Override - public boolean isRepairable() { - return false; - } - - @Override - public int getItemEnchantability() { - if (Config.enchanting == false) { - return 0; - } else { - return 4; - } - } - - @Override - public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { - if (Config.enchanting == false) { - return false; - } else { - return true; - } - } - @Override public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { @@ -183,6 +140,27 @@ public class ItemOmnitoolIron extends ItemPickaxe implements IElectricItem { return super.onItemUse(stack, player, world, x, y, z, side, xOffset, yOffset, zOffset); } + @Override + public boolean isRepairable() { + return false; + } + + @Override + public int getItemEnchantability() { + if (Config.enchanting == false) { + return 0; + } else { + return 4; + } + } + + @Override + public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { + return Config.enchanting; + } + + /* IC2 API METHODS */ + @Override public Item getChargedItem(ItemStack itemStack) { return this; @@ -192,4 +170,24 @@ public class ItemOmnitoolIron extends ItemPickaxe implements IElectricItem { public Item getEmptyItem(ItemStack itemStack) { return this; } + + @Override + public boolean canProvideEnergy(ItemStack itemStack) { + return false; + } + + @Override + public double getMaxCharge(ItemStack itemStack) { + return maxCharge; + } + + @Override + public int getTier(ItemStack itemStack) { + return 2; + } + + @Override + public double getTransferLimit(ItemStack itemStack) { + return 200; + } } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolThaumium.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolThaumium.java new file mode 100644 index 0000000..0979828 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolThaumium.java @@ -0,0 +1,74 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.items.tools.omnitools; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import tombenpotter.emt.common.util.Config; +import ic2.api.item.ElectricItem; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; + +public class ItemOmnitoolThaumium extends ItemOmnitoolDiamond { + public ItemOmnitoolThaumium() { + super(); + this.efficiencyOnProperMaterial = 21F; + this.setCreativeTab(CreativeTab.tabTombenpotter); + this.setMaxStackSize(1); + if (Config.toolsInBore == false) { + this.setMaxDamage(27); + } else { + this.setMaxDamage(467); + } + maxCharge = 140000; + hitCost = 650; + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":thaumiumomnitool"); + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int par4, int par5, int par6, EntityLivingBase entityLiving) { + if (Config.toolsInBore == false) { + cost = 300; + } else { + cost = 1; + } + ElectricItem.manager.use(stack, cost, entityLiving); + return true; + } + + @Override + public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { + if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { + entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 10F); + } + return false; + } + + /* IC2 API METHODS */ + @Override + public double getTransferLimit(ItemStack itemStack) { + return 800; + } + +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/EMTInitRecipes.java b/src/main/java/tombenpotter/emt/common/module/ic2/recipes/EMTInitRecipes.java similarity index 58% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/EMTInitRecipes.java rename to src/main/java/tombenpotter/emt/common/module/ic2/recipes/EMTInitRecipes.java index 99845b3..b70bacc 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/EMTInitRecipes.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/recipes/EMTInitRecipes.java @@ -9,12 +9,12 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.recipes; +package tombenpotter.emt.common.module.ic2.recipes; import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.GameRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.ItemRegistry; +import tombenpotter.emt.common.module.ic2.IC2ModuleItemRegistry; import ic2.api.item.IC2Items; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -28,13 +28,13 @@ public class EMTInitRecipes { public static void add() { /** Crafting Recipes **/ - ironOmnitool = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.ironOmnitool), "X", "Z", "Y", 'X', new ItemStack(IC2Items.getItem("chainsaw").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'Y', new ItemStack(IC2Items.getItem("miningDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'Z', IC2Items.getItem("plateiron")); - diamondChainsaw = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.diamondChainsaw), " X ", "XYX", 'X', new ItemStack(Items.diamond), 'Y', new ItemStack(IC2Items.getItem("chainsaw").getItem(), 1, OreDictionary.WILDCARD_VALUE)); - ductTape = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.itemEMTItems, 1, 9), "XXX", "YYY", "XXX", 'X', new ItemStack(ItemRegistry.itemEMTItems, 1, 8), 'Y', new ItemStack(Items.paper)); - featherMesh = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.itemEMTItems, 1, 7), "XYX", "YXY", "XYX", 'X', new ItemStack(Items.feather), 'Y', new ItemStack(ItemRegistry.itemEMTItems, 1, 9)); - featherWing = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.itemEMTItems, 1, 12), "XYZ", "XYZ", "XYZ", 'X', new ItemStack(ItemRegistry.itemEMTItems, 1, 7), 'Y', new ItemStack(ItemRegistry.itemEMTItems, 1, 8), 'Z', new ItemStack(ItemRegistry.itemEMTItems, 1, 11)); - featherWings = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.featherWing), "XX", 'X', new ItemStack(ItemRegistry.itemEMTItems, 1, 12)); - taintedFeathers = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.itemEMTItems, 1, 14), " X ", "XYX", " X ", 'X', new ItemStack(ConfigItems.itemResource, 1, 12), 'Y', new ItemStack(Items.feather)); + ironOmnitool = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.ironOmnitool), "X", "Z", "Y", 'X', new ItemStack(IC2Items.getItem("chainsaw").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'Y', new ItemStack(IC2Items.getItem("miningDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'Z', IC2Items.getItem("plateiron")); + diamondChainsaw = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.diamondChainsaw), " X ", "XYX", 'X', new ItemStack(Items.diamond), 'Y', new ItemStack(IC2Items.getItem("chainsaw").getItem(), 1, OreDictionary.WILDCARD_VALUE)); + ductTape = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 9), "XXX", "YYY", "XXX", 'X', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 8), 'Y', new ItemStack(Items.paper)); + featherMesh = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 7), "XYX", "YXY", "XYX", 'X', new ItemStack(Items.feather), 'Y', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 9)); + featherWing = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 12), "XYZ", "XYZ", "XYZ", 'X', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 7), 'Y', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 8), 'Z', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 11)); + featherWings = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.featherWing), "XX", 'X', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 12)); + taintedFeathers = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 14), " X ", "XYX", " X ", 'X', new ItemStack(ConfigItems.itemResource, 1, 12), 'Y', new ItemStack(Items.feather)); if (Loader.isModLoaded("gregtech_addon") == false) { GameRegistry.addShapedRecipe(IC2Items.getItem("diamondDrill"), " Y ", "YXY", 'Y', new ItemStack(Items.diamond), 'X', new ItemStack(IC2Items.getItem("miningDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE)); @@ -48,18 +48,18 @@ public class EMTInitRecipes { /** OreDict Crafting Recipes **/ for (int i = 0; i < OreDictionary.getOres("logWood").size(); i++) { - cardboard = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.itemEMTItems, 1, 11), "XXX", "YYY", "XXX", 'X', new ItemStack(Items.paper), 'Y', OreDictionary.getOres("logWood").get(i)); + cardboard = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 11), "XXX", "YYY", "XXX", 'X', new ItemStack(Items.paper), 'Y', OreDictionary.getOres("logWood").get(i)); } for (int i = 0; i < OreDictionary.getOres("itemRubber").size(); i++) { - rubberBall = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.itemEMTItems, 1, 10), "XXX", "XXX", "XXX", 'X', OreDictionary.getOres("itemRubber").get(i)); + rubberBall = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 10), "XXX", "XXX", "XXX", 'X', OreDictionary.getOres("itemRubber").get(i)); } /** Smelting Recipes **/ - GameRegistry.addSmelting(new ItemStack(ItemRegistry.itemEMTItems, 1, 1), new ItemStack(ConfigItems.itemResource, 1, 6), 0.0F); - GameRegistry.addSmelting(new ItemStack(ItemRegistry.itemEMTItems, 1, 2), new ItemStack(ConfigItems.itemResource, 1, 6), 0.0F); - GameRegistry.addSmelting(new ItemStack(ItemRegistry.itemEMTItems, 1, 3), new ItemStack(ConfigItems.itemResource, 1, 3), 0.0F); - GameRegistry.addSmelting(new ItemStack(ItemRegistry.itemEMTItems, 1, 4), new ItemStack(ConfigItems.itemResource, 1, 3), 0.0F); - GameRegistry.addSmelting(new ItemStack(ItemRegistry.itemEMTItems, 1, 10), new ItemStack(ItemRegistry.itemEMTItems, 2, 8), 0.0F); + GameRegistry.addSmelting(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 1), new ItemStack(ConfigItems.itemResource, 1, 6), 0.0F); + GameRegistry.addSmelting(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 2), new ItemStack(ConfigItems.itemResource, 1, 6), 0.0F); + GameRegistry.addSmelting(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 3), new ItemStack(ConfigItems.itemResource, 1, 3), 0.0F); + GameRegistry.addSmelting(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 4), new ItemStack(ConfigItems.itemResource, 1, 3), 0.0F); + GameRegistry.addSmelting(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 10), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 2, 8), 0.0F); } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/recipes/EMTPostInitRecipes.java b/src/main/java/tombenpotter/emt/common/module/ic2/recipes/EMTPostInitRecipes.java new file mode 100644 index 0000000..36f954a --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/recipes/EMTPostInitRecipes.java @@ -0,0 +1,315 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.recipes; + +import cpw.mods.fml.common.FMLLog; +import cpw.mods.fml.common.registry.GameRegistry; +import ic2.api.item.IC2Items; +import ic2.api.recipe.IRecipeInput; +import ic2.api.recipe.RecipeInputItemStack; +import ic2.api.recipe.Recipes; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.IRecipe; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.oredict.OreDictionary; +import thaumcraft.api.ThaumcraftApi; +import thaumcraft.api.crafting.CrucibleRecipe; +import thaumcraft.api.crafting.InfusionRecipe; +import thaumcraft.api.crafting.ShapedArcaneRecipe; +import thaumcraft.api.crafting.ShapelessArcaneRecipe; +import thaumcraft.common.config.ConfigBlocks; +import thaumcraft.common.config.ConfigItems; +import tombenpotter.emt.common.util.CraftingAspects; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.IC2ModuleItemRegistry; +import tombenpotter.emt.common.util.Config; + +import java.util.Iterator; + +public class EMTPostInitRecipes { + + public static void add() { + + /** Infusion Recipes **/ + + thaumiumDrill = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Drill", new ItemStack(IC2ModuleItemRegistry.thaumiumDrill), 5, CraftingAspects.thaumiumDrillCrafting, new ItemStack(IC2Items.getItem("diamondDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(Items.diamond), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("denseplateiron")}); + + thaumiumChainsaw = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Chainsaw", new ItemStack(IC2ModuleItemRegistry.thaumiumChainsaw), 5, CraftingAspects.thaumiumChainsawCrafting, new ItemStack(IC2ModuleItemRegistry.diamondChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(Items.diamond), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("denseplateiron")}); + + thaumicQuantumHelmet = ThaumcraftApi.addInfusionCraftingRecipe("Quantum Goggles of Revealing", new ItemStack(IC2ModuleItemRegistry.quantumThaumicHelmet), 6, CraftingAspects.thaumicQuantumHelmetCrafting, new ItemStack(IC2ModuleItemRegistry.nanoThaumicHelmet, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(Items.milk_bucket), new ItemStack(IC2Items.getItem("quantumHelmet").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("advancedCircuit")}); + + thaumicNanoHelmet = ThaumcraftApi.addInfusionCraftingRecipe("Nanosuit Goggles of Revealing", new ItemStack(IC2ModuleItemRegistry.nanoThaumicHelmet), 5, CraftingAspects.thaumicNanoHelmetCrafting, new ItemStack(IC2ModuleItemRegistry.electricGoggles, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(Items.gold_ingot), new ItemStack(IC2Items.getItem("nanoHelmet").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("carbonPlate"), IC2Items.getItem("electronicCircuit")}); + + thaumiumOmnitool = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Omnitool", new ItemStack(IC2ModuleItemRegistry.thaumiumOmnitool), 6, CraftingAspects.thaumiumOmnitoolCrafting, new ItemStack(IC2ModuleItemRegistry.thaumiumChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(IC2ModuleItemRegistry.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("carbonPlate"), IC2Items.getItem("plateobsidian")}); + + diamondOmnitoolToThaumium = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Omnitool", new ItemStack(IC2ModuleItemRegistry.thaumiumOmnitool), 6, CraftingAspects.thaumiumOmnitoolCrafting, new ItemStack(IC2ModuleItemRegistry.diamondOmnitool, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Blocks.diamond_block), new ItemStack(ConfigBlocks.blockMetalDevice, 1, 9), new ItemStack(ConfigBlocks.blockMetalDevice, 1, 9), new ItemStack(IC2Items.getItem("energyCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("carbonPlate"), IC2Items.getItem("advancedCircuit")}); + + explosionFocus = ThaumcraftApi.addInfusionCraftingRecipe("Explosion Focus", new ItemStack(IC2ModuleItemRegistry.explosionFocus), 6, CraftingAspects.laserFocusCrafting, new ItemStack(ConfigItems.itemFocusHellbat, 1), new ItemStack[]{new ItemStack(IC2Items.getItem("miningLaser").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.arrow), new ItemStack(Items.gunpowder), new ItemStack(Items.firework_charge), new ItemStack(ConfigItems.itemResource, 1, 1)}); + + shieldFocus = ThaumcraftApi.addInfusionCraftingRecipe("Shield Focus", new ItemStack(IC2ModuleItemRegistry.shieldFocus), 4, CraftingAspects.shieldFocusCrafting, new ItemStack(ConfigItems.itemFocusPortableHole, 1), new ItemStack[]{IC2Items.getItem("reinforcedStone"), IC2Items.getItem("reinforcedGlass"), IC2Items.getItem("reinforcedStone"), IC2Items.getItem("reinforcedGlass"), new ItemStack(Blocks.soul_sand), new ItemStack(Blocks.obsidian), new ItemStack(Blocks.obsidian)}); + + potentiaGenerator = ThaumcraftApi.addInfusionCraftingRecipe("Potentia Generator", new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 0), 6, CraftingAspects.potentiaGeneratorCrafting, IC2Items.getItem("semifluidGenerator"), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(ConfigItems.itemFocusTrade), new ItemStack(Blocks.hopper), new ItemStack(ConfigBlocks.blockJar), IC2Items.getItem("mvTransformer"), IC2Items.getItem("advancedMachine"), IC2Items.getItem("orewashingplant"), IC2Items.getItem("scrap")}); + + streamChainsaw = ThaumcraftApi.addInfusionCraftingRecipe("Chainsaw of the Stream", new ItemStack(IC2ModuleItemRegistry.streamChainsaw), 6, CraftingAspects.streamChaisnawCrafting, new ItemStack(IC2ModuleItemRegistry.thaumiumChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.water_bucket), new ItemStack(ConfigItems.itemAxeElemental), new ItemStack(ConfigBlocks.blockMagicalLog), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("compressedPlantBall"), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("overclockerUpgrade")}); + + rockbreakerDrill = ThaumcraftApi.addInfusionCraftingRecipe("Drill of the Rockbreaker", new ItemStack(IC2ModuleItemRegistry.rockbreakerDrill), 6, CraftingAspects.rockbreakerDrillCrafting, new ItemStack(IC2ModuleItemRegistry.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.flint_and_steel), new ItemStack(Items.fire_charge), new ItemStack(ConfigItems.itemPickElemental), new ItemStack(ConfigItems.itemShovelElemental), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("reinforcedStone"), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("overclockerUpgrade")}); + + thorHammer = ThaumcraftApi.addInfusionCraftingRecipe("Mjolnir", new ItemStack(IC2ModuleItemRegistry.thorHammer), 7, CraftingAspects.thorHammerCrafting, new ItemStack(IC2ModuleItemRegistry.taintedThorHammer, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 6), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 6), new ItemStack(ConfigItems.itemSwordElemental), new ItemStack(ConfigItems.itemResource, 1, 1), new ItemStack(ConfigItems.itemFocusShock), IC2Items.getItem("rubber")}); + + superchargedThorHammer = ThaumcraftApi.addInfusionCraftingRecipe("Supercharged Mjolnir", new ItemStack(IC2ModuleItemRegistry.electricThorHammer), 10, CraftingAspects.superchargedThorHammerCrafting, new ItemStack(IC2ModuleItemRegistry.thorHammer, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 6), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 6), new ItemStack(Blocks.web), new ItemStack(ConfigItems.itemFocusHellbat), new ItemStack(ConfigItems.itemSwordElemental), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), new ItemStack(IC2Items.getItem("nanoSaber").getItem(), 1, OreDictionary.WILDCARD_VALUE)}); + + wandRecharger = ThaumcraftApi.addInfusionCraftingRecipe("Industrial Wand Charging Station", new ItemStack(IC2ModuleBlockRegistry.emtMachines, 1, 0), 6, CraftingAspects.wandCharger, new ItemStack(ConfigBlocks.blockStoneDevice, 1, 5), new ItemStack[]{IC2Items.getItem("replicator"), IC2Items.getItem("iridiumPlate"), new ItemStack(Blocks.diamond_block), new ItemStack(ConfigItems.itemShard, 1, 5), new ItemStack(ConfigBlocks.blockJar)}); + + solarHelmetRevealing = ThaumcraftApi.addInfusionCraftingRecipe("Solar Helmet of Revealing", new ItemStack(IC2ModuleItemRegistry.solarHelmetRevealing), 5, CraftingAspects.solarHelmetRevealing, new ItemStack(IC2ModuleItemRegistry.quantumThaumicHelmet, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), IC2Items.getItem("glassFiberCableItem"), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemShard, 1, 4)}); + + electricBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe("Electric Boots of the Traveller", new ItemStack(IC2ModuleItemRegistry.electricBootsTraveller), 2, CraftingAspects.electricBootsTravel, new ItemStack(ConfigItems.itemBootsTraveller), new ItemStack[]{new ItemStack(Items.diamond), IC2Items.getItem("elemotor"), IC2Items.getItem("coil"), IC2Items.getItem("hazmatBoots"), new ItemStack(IC2Items.getItem("advBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE)}); + + nanoBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe("Nano Boots of the Traveller", new ItemStack(IC2ModuleItemRegistry.nanoBootsTraveller), 2, CraftingAspects.nanoBootsTravel, new ItemStack(IC2ModuleItemRegistry.electricBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(IC2Items.getItem("nanoBoots").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("energyCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE)}); + + quantumBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe("Quantum Boots of the Traveller", new ItemStack(IC2ModuleItemRegistry.quantumBootsTraveller), 2, CraftingAspects.quantumBootsTravel, new ItemStack(IC2ModuleItemRegistry.nanoBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Blocks.diamond_block), new ItemStack(IC2Items.getItem("quantumBoots").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("iridiumPlate")}); + + etheralProcessor = ThaumcraftApi.addInfusionCraftingRecipe("Etheral Processor", new ItemStack(IC2ModuleBlockRegistry.emtMachines, 1, 1), 3, CraftingAspects.etherealProcessor, IC2Items.getItem("macerator"), new ItemStack[]{IC2Items.getItem("electroFurnace"), new ItemStack(ConfigBlocks.blockMetalDevice, 1, 9), new ItemStack(Blocks.end_stone), new ItemStack(Blocks.end_stone), new ItemStack(Blocks.iron_block), new ItemStack(Blocks.iron_block), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5)}); + + tripleCompressedSolar = ThaumcraftApi.addInfusionCraftingRecipe("Compressed Solars", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 2), 2, CraftingAspects.compressedSolars, new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), new ItemStack[]{new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1)}); + + electricHoeGrowth = ThaumcraftApi.addInfusionCraftingRecipe("Electric Hoe of Growth", new ItemStack(IC2ModuleItemRegistry.electricHoeGrowth), 4, CraftingAspects.electricHoeGrowth, new ItemStack(ConfigItems.itemHoeElemental), new ItemStack[]{new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("electricHoe").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.dye, 1, 15), IC2Items.getItem("elemotor"), IC2Items.getItem("coil"), new ItemStack(Blocks.sapling, 1, OreDictionary.WILDCARD_VALUE)}); + + chargeFocus = ThaumcraftApi.addInfusionCraftingRecipe("Wand Focus: Charging", new ItemStack(IC2ModuleItemRegistry.chargeFocus), 4, CraftingAspects.chargeFocus, new ItemStack(IC2Items.getItem("advBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{IC2Items.getItem("generator"), IC2Items.getItem("batBox"), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(ConfigItems.itemShard, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemShard, 1, OreDictionary.WILDCARD_VALUE)}); + + wandChargeFocus = ThaumcraftApi.addInfusionCraftingRecipe("Wand Focus: Wand Charging", new ItemStack(IC2ModuleItemRegistry.wandChargeFocus), 5, CraftingAspects.wandChargeFocus, new ItemStack(IC2ModuleBlockRegistry.emtMachines, 1, 0), new ItemStack[]{new ItemStack(IC2ModuleItemRegistry.chargeFocus), new ItemStack(IC2Items.getItem("energyPack").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate")}); + + inventoryChargingRing = ThaumcraftApi.addInfusionCraftingRecipe("Inventory Charging Ring", new ItemStack(IC2ModuleItemRegistry.emtBauble, 1, 1), 6, CraftingAspects.inventoryChargingRing, new ItemStack(ConfigItems.itemBaubleBlanks, 1, 1), new ItemStack[]{new ItemStack(IC2ModuleItemRegistry.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("generator"), IC2Items.getItem("geothermalGenerator"), IC2Items.getItem("waterMill"), IC2Items.getItem("solarPanel"), IC2Items.getItem("windMill"), IC2Items.getItem("nuclearReactor")}); + + armorChargingRing = ThaumcraftApi.addInfusionCraftingRecipe("Armor Charging Ring", new ItemStack(IC2ModuleItemRegistry.emtBauble, 1, 0), 6, CraftingAspects.armorChargingRing, new ItemStack(ConfigItems.itemBaubleBlanks, 1, 1), new ItemStack[]{new ItemStack(IC2ModuleItemRegistry.electricBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("generator"), IC2Items.getItem("geothermalGenerator"), IC2Items.getItem("waterMill"), IC2Items.getItem("solarPanel"), IC2Items.getItem("windMill"), IC2Items.getItem("nuclearReactor")}); + + nanoWings = ThaumcraftApi.addInfusionCraftingRecipe("Nanosuit Wings", new ItemStack(IC2ModuleItemRegistry.nanoWing), 4, CraftingAspects.nanoWing, new ItemStack(IC2ModuleItemRegistry.thaumiumWing), new ItemStack[]{IC2Items.getItem("carbonPlate"), IC2Items.getItem("carbonPlate"), IC2Items.getItem("carbonPlate"), new ItemStack(IC2Items.getItem("nanoBodyarmor").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemResource, 1, 1)}); + + quantumWings = ThaumcraftApi.addInfusionCraftingRecipe("Quantum Wings", new ItemStack(IC2ModuleItemRegistry.quantumWing), 6, CraftingAspects.quantumWing, new ItemStack(IC2ModuleItemRegistry.nanoWing, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), new ItemStack(IC2Items.getItem("quantumBodyarmor").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemResource, 1, 1)}); + + /** Arcane Worktable Recipes **/ + + diamondOmnitool = ThaumcraftApi.addShapelessArcaneCraftingRecipe("Diamond Omnitool", new ItemStack(IC2ModuleItemRegistry.diamondOmnitool), CraftingAspects.diamondOmnitoolCrafting, new ItemStack(IC2ModuleItemRegistry.diamondChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("diamondDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE)); + + ironOmnitoolToDiamond = ThaumcraftApi.addArcaneCraftingRecipe("Diamond Omnitool", new ItemStack(IC2ModuleItemRegistry.diamondOmnitool), CraftingAspects.diamondOmnitoolCrafting, "XAX", "XBX", "XAX", 'X', new ItemStack(Items.diamond), 'A', IC2Items.getItem("advancedCircuit"), 'B', new ItemStack(IC2ModuleItemRegistry.ironOmnitool, 1, OreDictionary.WILDCARD_VALUE)); + + christmasFocus = ThaumcraftApi.addArcaneCraftingRecipe("Kris-tmas Focus", new ItemStack(IC2ModuleItemRegistry.christmasFocus), CraftingAspects.christmasFocusCrafting, "XYX", "YZY", "XYX", 'X', new ItemStack(Blocks.snow), 'Y', new ItemStack(Blocks.pumpkin), 'Z', new ItemStack(ConfigItems.itemFocusFrost)); + + electricGoggles = ThaumcraftApi.addArcaneCraftingRecipe("Electric Goggles", new ItemStack(IC2ModuleItemRegistry.electricGoggles), CraftingAspects.electricGogglesCrafting, " Y ", "AZA", "BXB", 'Z', new ItemStack(ConfigItems.itemGoggles), 'X', IC2Items.getItem("electronicCircuit"), 'Y', new ItemStack(Items.diamond_helmet), 'A', new ItemStack(IC2Items.getItem("chargedReBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'B', Items.repeater); + + shieldBlock = ThaumcraftApi.addArcaneCraftingRecipe("Shield Blocks", new ItemStack(IC2ModuleBlockRegistry.shield, 8), CraftingAspects.shieldBlockCrafting, "XYX", "X X", "XYX", 'X', new ItemStack(Blocks.glass), 'Y', new ItemStack(Blocks.obsidian)); + + tinyUranium = ThaumcraftApi.addShapelessArcaneCraftingRecipe("Tiny Uranium", new ItemStack(IC2Items.getItem("smallUran235").getItem(), 7), CraftingAspects.tinyUraniumCrafting, IC2Items.getItem("Uran238")); + + compressedSolar = ThaumcraftApi.addArcaneCraftingRecipe("Compressed Solars", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0), CraftingAspects.compressedSolars, "XXX", "XXX", "XXX", 'X', IC2Items.getItem("solarPanel")); + + doubleCompressedSolar = ThaumcraftApi.addArcaneCraftingRecipe("Compressed Solars", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), CraftingAspects.compressedSolars, "XXX", "XXX", "XXX", 'X', new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0)); + + electricScribingTools = ThaumcraftApi.addArcaneCraftingRecipe("Electric Scribing Tools", new ItemStack(IC2ModuleItemRegistry.electricScribingTools), CraftingAspects.electricScribingTools, "YXY", "XZX", "YXY", 'Y', IC2Items.getItem("electronicCircuit"), 'X', new ItemStack(ConfigItems.itemInkwell), 'Z', new ItemStack(IC2Items.getItem("energyCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE)); + + thaumiumWing = ThaumcraftApi.addArcaneCraftingRecipe("Thaumium Reinforced Wings", new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 15), CraftingAspects.thaumiumWing, "XYZ", "XYZ", "XYZ", 'X', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 14), 'Y', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), 'Z', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 13)); + + thaumiumWings = ThaumcraftApi.addArcaneCraftingRecipe("Thaumium Reinforced Wings", new ItemStack(IC2ModuleItemRegistry.thaumiumWing), CraftingAspects.thaumiumWing, "XX", 'X', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 15)); + + /** Crucible Recipes **/ + + ignisGenerator = ThaumcraftApi.addCrucibleRecipe("Ignis Generator", new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 1), new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 0), CraftingAspects.ignisGeneratorCrafting); + + auramGenerator = ThaumcraftApi.addCrucibleRecipe("Auram Generator", new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 2), new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 0), CraftingAspects.auramGeneratorCrafting); + + arborGenerator = ThaumcraftApi.addCrucibleRecipe("Arbor Generator", new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 3), new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 0), CraftingAspects.arborGeneratorCrafting); + + aerGenerator = ThaumcraftApi.addCrucibleRecipe("Aer Generator", new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 4), new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 0), CraftingAspects.aerGenerator); + + waterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 3), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0), CraftingAspects.waterSolars); + + doubleWaterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 4), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), CraftingAspects.waterSolars); + + tripleWaterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 5), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 2), CraftingAspects.waterSolars); + + darkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 6), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0), CraftingAspects.darkSolars); + + doubleDarkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 7), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), CraftingAspects.darkSolars); + + tripleDarkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 8), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 2), CraftingAspects.darkSolars); + + orderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 9), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0), CraftingAspects.orderSolars); + + doubleOrderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 10), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), CraftingAspects.orderSolars); + + tripleOrderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 11), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 2), CraftingAspects.orderSolars); + + fireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 12), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0), CraftingAspects.fireSolars); + + doubleFireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 13), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), CraftingAspects.fireSolars); + + tripleFireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 14), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 2), CraftingAspects.fireSolars); + + airSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 15), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0), CraftingAspects.airSolars); + + doubleAirSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 0), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), CraftingAspects.airSolars); + + tripleAirSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 1), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 2), CraftingAspects.airSolars); + + earthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 2), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0), CraftingAspects.earthSolars); + + doubleEarthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 3), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), CraftingAspects.earthSolars); + + tripleEarthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 4), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 2), CraftingAspects.earthSolars); + + portableNode = ThaumcraftApi.addCrucibleRecipe("Portable Node", new ItemStack(IC2ModuleBlockRegistry.portableNode), new ItemStack(ConfigItems.itemJarFilled), CraftingAspects.portableNode); + + /** IC2 Stuff related recipes **/ + + /* Ore Clusters Macerator Recipes */ + ItemStack ironClusterRecipe = IC2Items.getItem("smallIronDust").copy(); + ironClusterRecipe.stackSize = 22; + Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 16)), null, ironClusterRecipe); + + ItemStack goldClusterRecipe = IC2Items.getItem("smallGoldDust").copy(); + goldClusterRecipe.stackSize = 22; + Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 31)), null, goldClusterRecipe); + + ItemStack copperClusterRecipe = IC2Items.getItem("smallCopperDust").copy(); + copperClusterRecipe.stackSize = 22; + Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 17)), null, copperClusterRecipe); + + ItemStack tinClusterRecipe = IC2Items.getItem("smallTinDust").copy(); + tinClusterRecipe.stackSize = 22; + Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 18)), null, tinClusterRecipe); + + ItemStack silverClusterRecipe = IC2Items.getItem("smallSilverDust").copy(); + silverClusterRecipe.stackSize = 22; + Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 19)), null, silverClusterRecipe); + + ItemStack leadClusterRecipe = IC2Items.getItem("smallLeadDust").copy(); + leadClusterRecipe.stackSize = 22; + Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 20)), null, leadClusterRecipe); + + /* Thaumium Plates Recipes */ + thaumiumPlate = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), "X", "Y", "Z", 'Y', new ItemStack(ConfigItems.itemResource, 1, 2), 'X', new ItemStack(IC2Items.getItem("ForgeHammer").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'Z', new ItemStack(Blocks.obsidian)); + Recipes.metalformerRolling.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemResource, 1, 2)), null, new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5)); + + /* Iron Sheet Recipe */ + Recipes.metalformerRolling.addRecipe(new RecipeInputItemStack(IC2Items.getItem("denseplateiron")), null, new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 13)); + + /* Ore Processing for Amber and Cinnabar */ + if (Config.removeAmberAndCinnabarMacerating == true) { + for (Iterator it = Recipes.macerator.getRecipes().keySet().iterator(); it.hasNext(); ) { + IRecipeInput input = it.next(); + if (input.matches(new ItemStack(ConfigBlocks.blockCustomOre, 1, 7))) { + it.remove(); + FMLLog.info("[EMT] Electro-Magic Tools : Removing conflicting amber macerating recipe(s)"); + } + } + + for (Iterator it = Recipes.macerator.getRecipes().keySet().iterator(); it.hasNext(); ) { + IRecipeInput input = it.next(); + if (input.matches(new ItemStack(ConfigBlocks.blockCustomOre, 1, 0))) { + it.remove(); + FMLLog.info("[EMT] Electro-Magic Tools : Removing Conflicting cinnabar macerating recipe(s)"); + } + } + } + ItemStack crushedAmberRecipe = new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 1); + crushedAmberRecipe.stackSize = 2; + Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigBlocks.blockCustomOre, 1, 7)), null, crushedAmberRecipe); + + ItemStack crushedCinnabarRecipe = new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 3); + crushedCinnabarRecipe.stackSize = 2; + Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigBlocks.blockCustomOre, 1, 0)), null, crushedCinnabarRecipe); + + NBTTagCompound waterAmount = new NBTTagCompound(); + waterAmount.setInteger("amount", 1000); + + ItemStack smallCopperDust = IC2Items.getItem("smallCopperDust"); + smallCopperDust.stackSize = 2; + ItemStack smallTinDust = IC2Items.getItem("smallTinDust"); + smallCopperDust.stackSize = 2; + + Recipes.oreWashing.addRecipe(new RecipeInputItemStack(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 1)), waterAmount, new ItemStack[]{new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 2), smallCopperDust, IC2Items.getItem("stoneDust")}); + Recipes.oreWashing.addRecipe(new RecipeInputItemStack(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 3)), waterAmount, new ItemStack[]{new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 4), smallTinDust, IC2Items.getItem("stoneDust")}); + + NBTTagCompound heatAmount = new NBTTagCompound(); + heatAmount.setInteger("minHeat", 1000); + + Recipes.centrifuge.addRecipe(new RecipeInputItemStack(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 2)), heatAmount, new ItemStack[]{IC2Items.getItem("smallCopperDust"), new ItemStack(ConfigItems.itemResource, 1, 6)}); + Recipes.centrifuge.addRecipe(new RecipeInputItemStack(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 4)), heatAmount, new ItemStack[]{IC2Items.getItem("smallTinDust"), new ItemStack(ConfigItems.itemResource, 1, 3)}); + } + + public static InfusionRecipe thaumiumDrill; + public static InfusionRecipe thaumiumChainsaw; + public static InfusionRecipe thaumicQuantumHelmet; + public static InfusionRecipe thaumiumOmnitool; + public static InfusionRecipe thaumicNanoHelmet; + public static InfusionRecipe explosionFocus; + public static InfusionRecipe shieldFocus; + public static InfusionRecipe potentiaGenerator; + public static InfusionRecipe streamChainsaw; + public static InfusionRecipe rockbreakerDrill; + public static InfusionRecipe thorHammer; + public static InfusionRecipe superchargedThorHammer; + public static InfusionRecipe wandRecharger; + public static InfusionRecipe solarHelmetRevealing; + public static InfusionRecipe electricBootsTravel; + public static InfusionRecipe nanoBootsTravel; + public static InfusionRecipe quantumBootsTravel; + public static InfusionRecipe diamondOmnitoolToThaumium; + public static InfusionRecipe etheralProcessor; + public static InfusionRecipe tripleCompressedSolar; + public static InfusionRecipe electricHoeGrowth; + public static InfusionRecipe chargeFocus; + public static InfusionRecipe wandChargeFocus; + public static InfusionRecipe inventoryChargingRing; + public static InfusionRecipe armorChargingRing; + public static InfusionRecipe nanoWings; + public static InfusionRecipe quantumWings; + + public static ShapelessArcaneRecipe diamondOmnitool; + public static ShapelessArcaneRecipe tinyUranium; + public static ShapedArcaneRecipe christmasFocus; + public static ShapedArcaneRecipe electricGoggles; + public static ShapedArcaneRecipe shieldBlock; + public static ShapedArcaneRecipe compressedSolar; + public static ShapedArcaneRecipe doubleCompressedSolar; + public static ShapedArcaneRecipe ironOmnitoolToDiamond; + public static ShapedArcaneRecipe electricScribingTools; + public static ShapedArcaneRecipe thaumiumWing; + public static ShapedArcaneRecipe thaumiumWings; + + public static CrucibleRecipe ignisGenerator; + public static CrucibleRecipe auramGenerator; + public static CrucibleRecipe arborGenerator; + public static CrucibleRecipe aerGenerator; + public static CrucibleRecipe waterSolar; + public static CrucibleRecipe doubleWaterSolar; + public static CrucibleRecipe tripleWaterSolar; + public static CrucibleRecipe darkSolar; + public static CrucibleRecipe doubleDarkSolar; + public static CrucibleRecipe tripleDarkSolar; + public static CrucibleRecipe orderSolar; + public static CrucibleRecipe doubleOrderSolar; + public static CrucibleRecipe tripleOrderSolar; + public static CrucibleRecipe fireSolar; + public static CrucibleRecipe doubleFireSolar; + public static CrucibleRecipe tripleFireSolar; + public static CrucibleRecipe airSolar; + public static CrucibleRecipe doubleAirSolar; + public static CrucibleRecipe tripleAirSolar; + public static CrucibleRecipe earthSolar; + public static CrucibleRecipe doubleEarthSolar; + public static CrucibleRecipe tripleEarthSolar; + public static CrucibleRecipe portableNode; + + public static IRecipe thaumiumPlate; +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/UuMInfusionRecipes.java b/src/main/java/tombenpotter/emt/common/module/ic2/recipes/UuMInfusionRecipes.java similarity index 97% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/UuMInfusionRecipes.java rename to src/main/java/tombenpotter/emt/common/module/ic2/recipes/UuMInfusionRecipes.java index 9a19ec6..2949177 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/UuMInfusionRecipes.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/recipes/UuMInfusionRecipes.java @@ -9,9 +9,9 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.recipes; +package tombenpotter.emt.common.module.ic2.recipes; -import electricMagicTools.tombenpotter.electricmagictools.common.lib.CraftingAspects; +import tombenpotter.emt.common.util.CraftingAspects; import ic2.api.item.IC2Items; import net.minecraft.init.Blocks; import net.minecraft.init.Items; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityEMT.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityEMT.java similarity index 95% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityEMT.java rename to src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityEMT.java index 3119f99..d49230d 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityEMT.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityEMT.java @@ -1,4 +1,4 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.tile; +package tombenpotter.emt.common.module.ic2.tile; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.NetworkManager; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityEtherealMacerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityEtherealMacerator.java similarity index 97% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityEtherealMacerator.java rename to src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityEtherealMacerator.java index b823e08..b01124f 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityEtherealMacerator.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityEtherealMacerator.java @@ -9,10 +9,11 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile; +package tombenpotter.emt.common.module.ic2.tile; -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEMT; +import tombenpotter.emt.common.util.Config; import ic2.api.item.IC2Items; import ic2.api.tile.IWrenchable; import net.minecraft.entity.player.EntityPlayer; @@ -281,7 +282,7 @@ public class TileEntityEtherealMacerator extends TileEntityEMT implements ISided @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtMachines, 1, 1); + return new ItemStack(IC2ModuleBlockRegistry.emtMachines, 1, 1); } @Override diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityIndustrialWandRecharge.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityIndustrialWandRecharge.java similarity index 93% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityIndustrialWandRecharge.java rename to src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityIndustrialWandRecharge.java index 9f49448..ee04c4f 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityIndustrialWandRecharge.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityIndustrialWandRecharge.java @@ -9,9 +9,8 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile; +package tombenpotter.emt.common.module.ic2.tile; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; import ic2.api.energy.prefab.BasicSink; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; @@ -20,6 +19,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import thaumcraft.api.aspects.Aspect; import thaumcraft.common.items.wands.ItemWandCasting; +import tombenpotter.emt.common.util.Config; public class TileEntityIndustrialWandRecharge extends TileEntityEMT implements IInventory { private BasicSink ic2EnergySink = new BasicSink(this, 100000, 4); @@ -80,10 +80,9 @@ public class TileEntityIndustrialWandRecharge extends TileEntityEMT implements I if (getStackInSlot(0) != null) { ItemStack wand = getStackInSlot(0); - - if (ic2EnergySink.useEnergy(Config.wandChargerConsumption)) { - if (wand != null && wand.getItem() instanceof ItemWandCasting) { - ItemWandCasting wandItem = (ItemWandCasting) wand.getItem(); + if (wand != null && wand.getItem() instanceof ItemWandCasting) { + ItemWandCasting wandItem = (ItemWandCasting) wand.getItem(); + if (ic2EnergySink.useEnergy(Config.wandChargerConsumption) && wandItem.getAspectsWithRoom(wand) != null) { wandItem.addVis(wand, Aspect.ORDER, 1, true); wandItem.addVis(wand, Aspect.FIRE, 1, true); wandItem.addVis(wand, Aspect.ENTROPY, 1, true); diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityAerGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityAerGenerator.java new file mode 100644 index 0000000..6a4fe67 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityAerGenerator.java @@ -0,0 +1,10 @@ +package tombenpotter.emt.common.module.ic2.tile.generators; + +import thaumcraft.api.aspects.Aspect; + +public class TileEntityAerGenerator extends TileEntityBaseGenerator { + + public TileEntityAerGenerator() { + aspect = Aspect.AIR; + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityArborGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityArborGenerator.java new file mode 100644 index 0000000..9434822 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityArborGenerator.java @@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.generators; + +import thaumcraft.api.aspects.Aspect; + +public class TileEntityArborGenerator extends TileEntityBaseGenerator { + + public TileEntityArborGenerator() { + aspect = Aspect.TREE; + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityAuramGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityAuramGenerator.java new file mode 100644 index 0000000..5f0f600 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityAuramGenerator.java @@ -0,0 +1,20 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.generators; + +import thaumcraft.api.aspects.Aspect; + +public class TileEntityAuramGenerator extends TileEntityBaseGenerator { + public TileEntityAuramGenerator() { + aspect = Aspect.AURA; + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityBaseGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityBaseGenerator.java new file mode 100644 index 0000000..4a3425d --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityBaseGenerator.java @@ -0,0 +1,65 @@ +package tombenpotter.emt.common.module.ic2.tile.generators; + +import ic2.api.energy.prefab.BasicSource; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.common.util.ForgeDirection; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.common.lib.events.EssentiaHandler; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEMT; +import tombenpotter.emt.common.util.Config; +import tombenpotter.emt.common.util.EssentiasOutputs; + +public abstract class TileEntityBaseGenerator extends TileEntityEMT { + public static int waitTime; + public BasicSource energySource = new BasicSource(this, 1000000000, 3); + public Aspect aspect; + public double output; + + public TileEntityBaseGenerator() { + waitTime = 30; + output = EssentiasOutputs.outputs.get(aspect.getTag()); + } + + @Override + public void updateEntity() { + energySource.updateEntity(); + + if (waitTime > 0) { + waitTime--; + } + + if (waitTime <= 0) { + createEnergy(); + waitTime = Config.essentiaGeneratorsDelay; + } + } + + public void createEnergy() { + if (!this.worldObj.isRemote && EssentiaHandler.drainEssentia(this, aspect, ForgeDirection.UNKNOWN, 8)) { + energySource.addEnergy(output); + } + } + + @Override + public void onChunkUnload() { + energySource.onChunkUnload(); + } + + @Override + public void invalidate() { + energySource.invalidate(); + super.invalidate(); + } + + @Override + public void readFromNBT(NBTTagCompound tag) { + super.readFromNBT(tag); + energySource.readFromNBT(tag); + } + + @Override + public void writeToNBT(NBTTagCompound tag) { + super.writeToNBT(tag); + energySource.writeToNBT(tag); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityEssentiaGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityEssentiaGenerator.java new file mode 100644 index 0000000..aa17c0c --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityEssentiaGenerator.java @@ -0,0 +1,73 @@ +package tombenpotter.emt.common.module.ic2.tile.generators; + +import ic2.api.energy.prefab.BasicSource; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.common.util.ForgeDirection; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.common.lib.events.EssentiaHandler; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEMT; +import tombenpotter.emt.common.util.Config; +import tombenpotter.emt.common.util.EssentiasOutputs; + +public class TileEntityEssentiaGenerator extends TileEntityEMT { + + public String[] aspects = new String[4]; + public boolean[] isFree = new boolean[4]; + public static int waitTime; + public BasicSource energySource = new BasicSource(this, 1000000000, 3); + + public TileEntityEssentiaGenerator() { + waitTime = 30; + for (int i = 0; i < aspects.length; i++) { + aspects[i] = String.valueOf(i); + isFree[i] = true; + } + } + + public void updateEntity() { + energySource.updateEntity(); + if (waitTime > 0) { + waitTime--; + } + + if (waitTime <= 0 && !worldObj.isRemote) { + for (int i = 0; i < aspects.length; i++) { + if (EssentiaHandler.drainEssentia(this, Aspect.getAspect(aspects[i]), ForgeDirection.UNKNOWN, 8)) { + energySource.addEnergy(EssentiasOutputs.outputs.get(aspects[i])); + } + } + waitTime = Config.essentiaGeneratorsDelay; + } + } + + @Override + public void readFromNBT(NBTTagCompound tag) { + super.readFromNBT(tag); + energySource.readFromNBT(tag); + for (int i = 0; i < aspects.length; i++) { + this.aspects[i] = tag.getString("aspect" + String.valueOf(i)); + this.isFree[i] = tag.getBoolean("isFree" + String.valueOf(i)); + } + } + + @Override + public void writeToNBT(NBTTagCompound tag) { + super.writeToNBT(tag); + energySource.writeToNBT(tag); + for (int i = 0; i < aspects.length; i++) { + tag.setString("aspect" + String.valueOf(i), this.aspects[i]); + tag.setBoolean("isFree" + String.valueOf(i), this.isFree[i]); + } + } + + @Override + public void onChunkUnload() { + energySource.onChunkUnload(); + } + + @Override + public void invalidate() { + energySource.invalidate(); + super.invalidate(); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityIgnisGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityIgnisGenerator.java new file mode 100644 index 0000000..5de451c --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityIgnisGenerator.java @@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.generators; + +import thaumcraft.api.aspects.Aspect; + +public class TileEntityIgnisGenerator extends TileEntityBaseGenerator { + + public TileEntityIgnisGenerator() { + aspect = Aspect.FIRE; + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityPotentiaGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityPotentiaGenerator.java new file mode 100644 index 0000000..897bf1e --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityPotentiaGenerator.java @@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.generators; + +import thaumcraft.api.aspects.Aspect; + +public class TileEntityPotentiaGenerator extends TileEntityBaseGenerator { + + public TileEntityPotentiaGenerator() { + aspect = Aspect.ENERGY; + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityOrderSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/TileEntitySolarBase.java similarity index 55% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityOrderSolar.java rename to src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/TileEntitySolarBase.java index 730e95c..c87c8a0 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityOrderSolar.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/TileEntitySolarBase.java @@ -1,45 +1,35 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; +package tombenpotter.emt.common.module.ic2.tile.solars; -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; import ic2.api.energy.prefab.BasicSource; import ic2.api.tile.IWrenchable; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEMT; import java.util.Random; -public class TileEntityOrderSolar extends TileEntityEMT implements IWrenchable { +public abstract class TileEntitySolarBase extends TileEntityEMT implements IWrenchable { - private BasicSource energySource = new BasicSource(this, 10000, 2); - private static Random random = new Random(); - private boolean initialized; + public BasicSource energySource = new BasicSource(this, 10000, 1); + public static Random random = new Random(); + public boolean initialized; public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; + public boolean canRain; + public boolean noSunlight; + public int tick; + public double output = 0; - public TileEntityOrderSolar() { - super(); + public TileEntitySolarBase() { this.tick = random.nextInt(64); } @Override public void updateEntity() { energySource.updateEntity(); + checkConditions(); + } + + public void checkConditions() { if (!initialized && worldObj != null) { canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; noSunlight = worldObj.provider.hasNoSky; @@ -52,13 +42,16 @@ public class TileEntityOrderSolar extends TileEntityEMT implements IWrenchable { updateSunState(); tick = 64; } + createEnergy(); + } + public void createEnergy() { if (theSunIsVisible) { - energySource.addEnergy(Config.compressedSolarOutput * 3); + energySource.addEnergy(output); } } - private void updateSunState() { + public void updateSunState() { boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); } @@ -98,7 +91,6 @@ public class TileEntityOrderSolar extends TileEntityEMT implements IWrenchable { @Override public void setFacing(short facing) { - } @Override @@ -110,9 +102,4 @@ public class TileEntityOrderSolar extends TileEntityEMT implements IWrenchable { public float getWrenchDropRate() { return 1; } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 9); - } } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityAirSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityAirSolar.java new file mode 100644 index 0000000..9919d58 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityAirSolar.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.air; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityAirSolar extends TileEntitySolarBase { + + public TileEntityAirSolar() { + output = Config.compressedSolarOutput; + } + + @Override + public void createEnergy() { + if (theSunIsVisible && this.yCoord >= 160) { + energySource.addEnergy(output * 2.5); + } else if (theSunIsVisible) { + energySource.addEnergy(output); + } + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 15); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityDoubleAirSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityDoubleAirSolar.java new file mode 100644 index 0000000..0ea0a54 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityDoubleAirSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.air; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityDoubleAirSolar extends TileEntityAirSolar { + + public TileEntityDoubleAirSolar() { + output = Config.doubleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 0); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityTripleAirSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityTripleAirSolar.java new file mode 100644 index 0000000..5b28c6b --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityTripleAirSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.air; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityTripleAirSolar extends TileEntityAirSolar { + + public TileEntityTripleAirSolar() { + output = Config.tripleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 1); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityCompressedSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityCompressedSolar.java new file mode 100644 index 0000000..8b4e3ab --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityCompressedSolar.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.compressed; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityCompressedSolar extends TileEntitySolarBase { + + public TileEntityCompressedSolar() { + output = Config.compressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityDoubleCompressedSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityDoubleCompressedSolar.java new file mode 100644 index 0000000..8f447e7 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityDoubleCompressedSolar.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.compressed; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityDoubleCompressedSolar extends TileEntitySolarBase { + + public TileEntityDoubleCompressedSolar() { + output = Config.doubleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityTripleCompressedSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityTripleCompressedSolar.java new file mode 100644 index 0000000..beebedc --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityTripleCompressedSolar.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.compressed; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityTripleCompressedSolar extends TileEntitySolarBase { + + public TileEntityTripleCompressedSolar() { + output = Config.tripleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 2); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityDarkSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityDarkSolar.java new file mode 100644 index 0000000..f82ab31 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityDarkSolar.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.dark; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityDarkSolar extends TileEntitySolarBase { + + public TileEntityDarkSolar() { + output = Config.compressedSolarOutput; + } + + @Override + public void createEnergy() { + if (worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord) && !worldObj.isDaytime() && !worldObj.isRaining() && !worldObj.isThundering()) { + energySource.addEnergy(output); + } + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 6); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityDoubleDarkSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityDoubleDarkSolar.java new file mode 100644 index 0000000..f58e45b --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityDoubleDarkSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.dark; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityDoubleDarkSolar extends TileEntityDarkSolar { + + public TileEntityDoubleDarkSolar() { + output = Config.doubleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 7); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityTripleDarkSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityTripleDarkSolar.java new file mode 100644 index 0000000..eb1ff6c --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityTripleDarkSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.dark; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityTripleDarkSolar extends TileEntityDarkSolar { + + public TileEntityTripleDarkSolar() { + output = Config.tripleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 8); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityDoubleEarthSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityDoubleEarthSolar.java new file mode 100644 index 0000000..5c6e96b --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityDoubleEarthSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.earth; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityDoubleEarthSolar extends TileEntityEarthSolar { + + public TileEntityDoubleEarthSolar() { + output = Config.doubleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 3); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityEarthSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityEarthSolar.java new file mode 100644 index 0000000..a3f8f3d --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityEarthSolar.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.earth; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityEarthSolar extends TileEntitySolarBase { + + public TileEntityEarthSolar() { + output = Config.compressedSolarOutput; + } + + @Override + public void createEnergy() { + if (theSunIsVisible && this.yCoord <= 10) { + energySource.addEnergy(output * 2.5); + } else if (theSunIsVisible) { + energySource.addEnergy(output); + } + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 2); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityTripleEarthSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityTripleEarthSolar.java new file mode 100644 index 0000000..68a971e --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityTripleEarthSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.earth; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityTripleEarthSolar extends TileEntityEarthSolar { + + public TileEntityTripleEarthSolar() { + output = Config.tripleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 4); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityDoubleFireSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityDoubleFireSolar.java new file mode 100644 index 0000000..40cfdf2 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityDoubleFireSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.fire; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityDoubleFireSolar extends TileEntityFireSolar { + + public TileEntityDoubleFireSolar() { + output = Config.doubleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 13); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityFireSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityFireSolar.java new file mode 100644 index 0000000..bf8ca36 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityFireSolar.java @@ -0,0 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.fire; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityFireSolar extends TileEntitySolarBase { + + public TileEntityFireSolar() { + output = Config.compressedSolarOutput; + } + + @Override + public void checkConditions() { + if (!initialized && worldObj != null) { + canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; + initialized = true; + } + + if (worldObj.provider.dimensionId == -1) { + energySource.addEnergy(output * 2); + } else { + if (tick-- == 0) { + updateSunState(); + tick = 64; + } + } + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 12); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityTripleFireSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityTripleFireSolar.java new file mode 100644 index 0000000..d35e5d0 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityTripleFireSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.fire; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityTripleFireSolar extends TileEntityFireSolar { + + public TileEntityTripleFireSolar() { + output = Config.tripleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 14); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityDoubleOrderSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityDoubleOrderSolar.java new file mode 100644 index 0000000..d04990a --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityDoubleOrderSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.order; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityDoubleOrderSolar extends TileEntityOrderSolar { + + public TileEntityDoubleOrderSolar() { + output = Config.doubleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 10); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityOrderSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityOrderSolar.java new file mode 100644 index 0000000..78c0e71 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityOrderSolar.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.order; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityOrderSolar extends TileEntitySolarBase { + + public TileEntityOrderSolar() { + output = Config.compressedSolarOutput; + } + + @Override + public void createEnergy() { + if (theSunIsVisible) { + energySource.addEnergy(output * 3); + } + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 9); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityTripleOrderSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityTripleOrderSolar.java new file mode 100644 index 0000000..56ff043 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityTripleOrderSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.order; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityTripleOrderSolar extends TileEntityOrderSolar { + + public TileEntityTripleOrderSolar() { + output = Config.tripleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 11); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityDoubleWaterSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityDoubleWaterSolar.java new file mode 100644 index 0000000..377ee14 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityDoubleWaterSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.water; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityDoubleWaterSolar extends TileEntityWaterSolar { + + public TileEntityDoubleWaterSolar() { + output = Config.doubleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 4); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityTripleWaterSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityTripleWaterSolar.java new file mode 100644 index 0000000..13dc98f --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityTripleWaterSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.water; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityTripleWaterSolar extends TileEntityWaterSolar { + + public TileEntityTripleWaterSolar() { + output = Config.tripleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 5); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityWaterSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityWaterSolar.java new file mode 100644 index 0000000..af2fc2b --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityWaterSolar.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.water; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityWaterSolar extends TileEntitySolarBase { + + public TileEntityWaterSolar() { + output = Config.compressedSolarOutput; + } + + @Override + public void createEnergy() { + if (worldObj.isRaining() && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord) || worldObj.isThundering() && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord)) { + energySource.addEnergy(output); + } + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 3); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaBlocksRegistry.java b/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaBlocksRegistry.java new file mode 100644 index 0000000..4e33657 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaBlocksRegistry.java @@ -0,0 +1,8 @@ +package tombenpotter.emt.common.module.vanilla; + +public class VanillaBlocksRegistry { + + public static void registerBlocks() { + + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaItemsRegistry.java b/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaItemsRegistry.java new file mode 100644 index 0000000..925f8e8 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaItemsRegistry.java @@ -0,0 +1,8 @@ +package tombenpotter.emt.common.module.vanilla; + +public class VanillaItemsRegistry { + + public static void registerItems() { + + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaRecipesRegistry.java b/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaRecipesRegistry.java new file mode 100644 index 0000000..cac3c9a --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaRecipesRegistry.java @@ -0,0 +1,8 @@ +package tombenpotter.emt.common.module.vanilla; + +public class VanillaRecipesRegistry { + + public static void registerRecipes() { + + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/vanilla/items/ItemCrafting.java b/src/main/java/tombenpotter/emt/common/module/vanilla/items/ItemCrafting.java new file mode 100644 index 0000000..24f20a6 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/vanilla/items/ItemCrafting.java @@ -0,0 +1,16 @@ +package tombenpotter.emt.common.module.vanilla.items; + +import net.minecraft.item.Item; +import net.minecraft.util.IIcon; +import tombenpotter.emt.common.util.CreativeTab; + +public class ItemCrafting extends Item { + + public IIcon[] icon = new IIcon[500]; + + public ItemCrafting() { + this.setMaxDamage(0); + this.setHasSubtypes(true); + this.setCreativeTab(CreativeTab.tabTombenpotter); + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/Config.java b/src/main/java/tombenpotter/emt/common/util/Config.java similarity index 90% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/Config.java rename to src/main/java/tombenpotter/emt/common/util/Config.java index e1e827c..f0856c5 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/Config.java +++ b/src/main/java/tombenpotter/emt/common/util/Config.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.util; import net.minecraftforge.common.config.Configuration; @@ -22,11 +22,6 @@ public class Config { public static int inventoryBaubleProdution; public static int wandChargeFocusCost; - public static double potentiaGenOutput; - public static double arborGenOutput; - public static double auramGenOutput; - public static double ignisGenOutput; - public static double saxumGenOutput; public static double wandChargerConsumption; public static double compressedSolarOutput; public static double doubleCompressedSolarOutput; @@ -36,6 +31,14 @@ public class Config { public static double quantumBootsJump; public static double tripleCompressedSolarOutput; + public static double fireOutput; + public static double waterOutput; + public static double airOutput; + public static double earthOutput; + public static double orderOutput; + public static double entropyOutput; + public static double outputCap; + public static boolean capesOn; public static boolean toolsInBore; public static boolean nightVisionOff; @@ -93,17 +96,27 @@ public class Config { public static boolean thaumiumWingResearch; public static boolean nanoWingResearch; public static boolean quantumWingsResearch; + public static boolean aerGeneratorResearch; public static String CATEGORY_RESEARCH = "research"; public static String CATEGORY_VALUES = "numeric values"; + public static String CATEGORY_OUTPUTS = "essentia generator outputs"; public static Configuration config; public static void create() { config.addCustomCategoryComment(CATEGORY_VALUES, "The only way to change some numbers that my machines uses."); config.addCustomCategoryComment(CATEGORY_RESEARCH, "The only way to disable some researches. " + "Be careful, if you disable some researches, " + "all researches linked to it will be removed too. " + "Really, don't touch that unless you know exactly what you are doing."); + config.addCustomCategoryComment(CATEGORY_OUTPUTS, "Change outputs linked to different Essentias here"); config.load(); + randomConfig(); + essentiasConfig(); + valuesConfig(); + researchConfig(); + config.save(); + } + public static void randomConfig() { /** Random Booleans **/ capesOn = config.get(Configuration.CATEGORY_GENERAL, "Enable capes", true, "This config option is to enable or disable capes for people who have them. " + "Seriously, you shouldn't touch that unless you have another cape and " + "it conflicts with it.").getBoolean(capesOn); toolsInBore = config.get(Configuration.CATEGORY_GENERAL, "Tools for Arcane Bore", false, "This will augment the durablilty of the tools, and will also decrease the EU cost to 1. " + "The tools should have the same number of uses than before.").getBoolean(toolsInBore); @@ -115,12 +128,21 @@ public class Config { chanceOneRing = config.get(Configuration.CATEGORY_GENERAL, "One Ring spawning chance", 15, "If you have a lot of mods adding dungeon loot, you should definetely increase this").getInt(); removeAmberAndCinnabarMacerating = config.get(Configuration.CATEGORY_GENERAL, "Clear Amber/Cinnabar Macerating", true, "This is here because of conflicts between mods that add the same input and different outputs").getBoolean(removeAmberAndCinnabarMacerating); + } + + public static void essentiasConfig() { /** EU Yield/Consumption modifier **/ - potentiaGenOutput = config.get(CATEGORY_VALUES, "Potentia Generator Output", 3500, "This is the number you have to modify if you want to make the Potentia Generator yield " + "more or less EU per unit of essentia.").getDouble(potentiaGenOutput); - arborGenOutput = config.get(CATEGORY_VALUES, "Arbor Generator Output", 325, "This is the number you have to modify if you want to make the Arbor Generator yield " + "more or less EU per unit of essentia.").getDouble(arborGenOutput); - auramGenOutput = config.get(CATEGORY_VALUES, "Auram Generator Output", 3200, "This is the number you have to modify if you want to make the Auram Generator yield " + "more or less EU per unit of essentia.").getDouble(auramGenOutput); - ignisGenOutput = config.get(CATEGORY_VALUES, "Ignis Generator Output", 3200, "This is the number you have to modify if you want to make the Ignis Generator yield " + "more or less EU per unit of essentia.").getDouble(ignisGenOutput); - saxumGenOutput = config.get(CATEGORY_VALUES, "Saxum Generator Output", 350, "This is the number you have to modify if you want to make the Saxum Generator yield " + "more or less EU per unit of essentia.").getDouble(saxumGenOutput); + //Aer - 15,000 Aqua - 5,000 Ignis - 20,000 Ordo - 16,000 Perditio - 10,000 Terra - 2,000 + airOutput = config.get(CATEGORY_OUTPUTS, "Aer Output", 15000).getDouble(airOutput); + waterOutput = config.get(CATEGORY_OUTPUTS, "Aqua Output", 5000).getDouble(waterOutput); + fireOutput = config.get(CATEGORY_OUTPUTS, "Ignis Output", 20000).getDouble(fireOutput); + orderOutput = config.get(CATEGORY_OUTPUTS, "Ordo Output", 16000).getDouble(orderOutput); + entropyOutput = config.get(CATEGORY_OUTPUTS, "Perditio Output", 10000).getDouble(entropyOutput); + earthOutput = config.get(CATEGORY_OUTPUTS, "Terra Output", 2000).getDouble(earthOutput); + outputCap = config.get(CATEGORY_OUTPUTS, "Output Cap", -1).getDouble(outputCap); + } + + public static void valuesConfig() { wandChargerConsumption = config.get(CATEGORY_VALUES, "Wand Charging Station Consumption", 50000, "This is the number you have to modify if you want to make the Industrial Wand Charging " + "Station use more or less EU to charge 1 unit of Vis on your wand.").getDouble(wandChargerConsumption); compressedSolarOutput = config.get(CATEGORY_VALUES, "Compressed Solar Panel Output", 10, "This is the number you have to modify if you want to make the Compressed Solar Panel yield " + "more or less EU per tick. Really, you shouldn't touch that, " + "since it's pretty balanced as it is.").getDouble(compressedSolarOutput); doubleCompressedSolarOutput = config.get(CATEGORY_VALUES, "Double Compressed Solar Panel Output", 100, "This is the number you have to modify if you want to make the Double Compressed Solar Panel " + "yield more or less EU per tick. Really, you shouldn't touch that, " + "since it's pretty balanced as it is.").getDouble(doubleCompressedSolarOutput); @@ -136,7 +158,9 @@ public class Config { armorBaubleProduction = config.get(CATEGORY_VALUES, "Armor Charging Ring production", 32, "Default is 32").getInt(); inventoryBaubleProdution = config.get(CATEGORY_VALUES, "Inventory Charging Ring production", 32, "Default is 32").getInt(); wandChargeFocusCost = config.get(CATEGORY_VALUES, "Wand Focus: Wand Charging Cost", 40000, "Default is 40000").getInt(); + } + public static void researchConfig() { /** Disable Researches **/ thaumiumDrillResearch = config.get(CATEGORY_RESEARCH, "Thaumium Drill", false).getBoolean(thaumiumDrillResearch); thaumiumChainsawResearch = config.get(CATEGORY_RESEARCH, "Thaumium Chainsaw", false).getBoolean(thaumiumChainsawResearch); @@ -184,7 +208,6 @@ public class Config { thaumiumWingResearch = config.get(CATEGORY_RESEARCH, "Thaumium Reinforced Wings", false).getBoolean(thaumiumWingResearch); nanoWingResearch = config.get(CATEGORY_RESEARCH, "Nanosuit Wings", false).getBoolean(nanoWingResearch); quantumWingsResearch = config.get(CATEGORY_RESEARCH, "Quantum Wings", false).getBoolean(quantumWingsResearch); - - config.save(); + aerGeneratorResearch = config.get(CATEGORY_RESEARCH, "Aer Generator", false).getBoolean(aerGeneratorResearch); } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/CraftingAspects.java b/src/main/java/tombenpotter/emt/common/util/CraftingAspects.java similarity index 98% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/CraftingAspects.java rename to src/main/java/tombenpotter/emt/common/util/CraftingAspects.java index 0d7b0a9..ec8c313 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/CraftingAspects.java +++ b/src/main/java/tombenpotter/emt/common/util/CraftingAspects.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.lib; +package tombenpotter.emt.common.util; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; @@ -63,5 +63,6 @@ public class CraftingAspects { public static AspectList thaumiumWing = new AspectList().add(Aspect.FIRE, 48).add(Aspect.WATER, 48).add(Aspect.AIR, 48).add(Aspect.EARTH, 48).add(Aspect.ORDER, 48).add(Aspect.ENTROPY, 48); public static AspectList nanoWing = new AspectList().add(Aspect.FLIGHT, 48).add(Aspect.AIR, 32).add(Aspect.MECHANISM, 48).add(Aspect.ENERGY, 32); public static AspectList quantumWing = new AspectList().add(Aspect.FLIGHT, 48).add(Aspect.AIR, 32).add(Aspect.MECHANISM, 48).add(Aspect.ENERGY, 32).add(Aspect.ARMOR, 48); + public static AspectList aerGenerator = new AspectList().add(Aspect.EXCHANGE, 16).add(Aspect.AIR, 8); } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/CreativeTab.java b/src/main/java/tombenpotter/emt/common/util/CreativeTab.java similarity index 85% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/CreativeTab.java rename to src/main/java/tombenpotter/emt/common/util/CreativeTab.java index 77f07a9..c50948e 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/CreativeTab.java +++ b/src/main/java/tombenpotter/emt/common/util/CreativeTab.java @@ -9,8 +9,9 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.util; +import tombenpotter.emt.common.module.ic2.IC2ModuleItemRegistry; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -18,7 +19,7 @@ public class CreativeTab { public static CreativeTabs tabTombenpotter = new CreativeTabs("Electro-Magic Tools") { @Override public Item getTabIconItem() { - return ItemRegistry.thaumiumDrill; + return IC2ModuleItemRegistry.thorHammer; } }; } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/DungeonChestGenerator.java b/src/main/java/tombenpotter/emt/common/util/DungeonChestGenerator.java similarity index 54% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/DungeonChestGenerator.java rename to src/main/java/tombenpotter/emt/common/util/DungeonChestGenerator.java index 540c79e..8e49b9a 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/DungeonChestGenerator.java +++ b/src/main/java/tombenpotter/emt/common/util/DungeonChestGenerator.java @@ -1,17 +1,19 @@ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.util; import net.minecraft.item.ItemStack; import net.minecraft.util.WeightedRandomChestContent; import net.minecraftforge.common.ChestGenHooks; +import tombenpotter.emt.common.module.ic2.IC2ModuleItemRegistry; +import tombenpotter.emt.common.util.Config; public class DungeonChestGenerator { public static void generateLoot() { if (Config.thorHammerResearch == false) { - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ItemRegistry.taintedThorHammer), 0, 1, Config.chanceTaintedMjolnir)); + ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(IC2ModuleItemRegistry.taintedThorHammer), 0, 1, Config.chanceTaintedMjolnir)); } if (Config.oneRingSpawn == false) { - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ItemRegistry.emtBauble, 1, 2), 0, 1, Config.chanceOneRing)); + ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(IC2ModuleItemRegistry.emtBauble, 1, 2), 0, 1, Config.chanceOneRing)); } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTEventHandler.java b/src/main/java/tombenpotter/emt/common/util/EMTEventHandler.java similarity index 82% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTEventHandler.java rename to src/main/java/tombenpotter/emt/common/util/EMTEventHandler.java index 172487e..e99d65e 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTEventHandler.java +++ b/src/main/java/tombenpotter/emt/common/util/EMTEventHandler.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.util; import cpw.mods.fml.client.event.ConfigChangedEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -19,6 +19,9 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraftforge.event.entity.living.LivingDropsEvent; import thaumcraft.common.entities.monster.EntityTaintChicken; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.ic2.IC2ModuleItemRegistry; +import tombenpotter.emt.common.util.Config; public class EMTEventHandler { @@ -28,18 +31,18 @@ public class EMTEventHandler { if (event.entityLiving instanceof EntityCreeper) { EntityCreeper creeper = (EntityCreeper) event.entityLiving; if (creeper.getPowered()) { - event.drops.add(new EntityItem(event.entityLiving.worldObj, event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, new ItemStack(ItemRegistry.itemEMTItems, 1, 6))); + event.drops.add(new EntityItem(event.entityLiving.worldObj, event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 6))); } } if (event.entityLiving instanceof EntityTaintChicken) { - event.drops.add(new EntityItem(event.entityLiving.worldObj, event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, new ItemStack(ItemRegistry.itemEMTItems, 1, 14))); + event.drops.add(new EntityItem(event.entityLiving.worldObj, event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 14))); } } } @SubscribeEvent public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent eventArgs) { - if (eventArgs.modID.equals(ElectricMagicTools.modid)) + if (eventArgs.modID.equals(ElectroMagicTools.modid)) Config.create(); } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTResearchItem.java b/src/main/java/tombenpotter/emt/common/util/EMTResearchItem.java similarity index 97% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTResearchItem.java rename to src/main/java/tombenpotter/emt/common/util/EMTResearchItem.java index 9d8176c..9103e41 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTResearchItem.java +++ b/src/main/java/tombenpotter/emt/common/util/EMTResearchItem.java @@ -18,7 +18,7 @@ * * http://www.minecraftforum.net/topic/1813058- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.util; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/tombenpotter/emt/common/util/EssentiasOutputs.java b/src/main/java/tombenpotter/emt/common/util/EssentiasOutputs.java new file mode 100644 index 0000000..20481f1 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/util/EssentiasOutputs.java @@ -0,0 +1,39 @@ +package tombenpotter.emt.common.util; + +import thaumcraft.api.aspects.Aspect; + +import java.util.Collection; +import java.util.HashMap; + +public class EssentiasOutputs { + + public static HashMap outputs = new HashMap(); + + public static void addOutput(Aspect aspect) { + if (!aspect.isPrimal()) { + Aspect[] parents = aspect.getComponents(); + if (Config.outputCap == (-1)) { + outputs.put(aspect.getTag(), (outputs.get(parents[0].getTag()) + outputs.get(parents[1].getTag()))); + } else { + double originalOutput = (outputs.get(parents[0].getTag()) + outputs.get(parents[1].getTag())); + if (originalOutput > Config.outputCap) outputs.put(aspect.getTag(), Config.outputCap); + } + } + } + + public static void addOutputs() { + Collection aspectCollection = Aspect.aspects.values(); + for (Aspect aspect : aspectCollection) { + if (!aspect.isPrimal()) addOutput(aspect); + } + } + + public static void addPrimalOutputs() { + outputs.put(Aspect.FIRE.getTag(), Config.fireOutput); + outputs.put(Aspect.WATER.getTag(), Config.waterOutput); + outputs.put(Aspect.ORDER.getTag(), Config.orderOutput); + outputs.put(Aspect.ENTROPY.getTag(), Config.entropyOutput); + outputs.put(Aspect.EARTH.getTag(), Config.earthOutput); + outputs.put(Aspect.AIR.getTag(), Config.airOutput); + } +} diff --git a/src/main/java/tombenpotter/emt/common/util/RegistryHandler.java b/src/main/java/tombenpotter/emt/common/util/RegistryHandler.java new file mode 100644 index 0000000..66c59f7 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/util/RegistryHandler.java @@ -0,0 +1,33 @@ +package tombenpotter.emt.common.util; + +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.IC2ModuleItemRegistry; +import tombenpotter.emt.common.module.ic2.IC2ModuleResearch; +import tombenpotter.emt.common.module.ic2.IC2ModuleTERegistry; +import tombenpotter.emt.common.module.vanilla.VanillaBlocksRegistry; +import tombenpotter.emt.common.module.vanilla.VanillaItemsRegistry; +import tombenpotter.emt.common.module.vanilla.VanillaRecipesRegistry; + +public class RegistryHandler { + + public static void registerVanillaRegistrys() { + VanillaBlocksRegistry.registerBlocks(); + VanillaItemsRegistry.registerItems(); + VanillaRecipesRegistry.registerRecipes(); + } + + public static void registerIc2Registrys() { + IC2ModuleItemRegistry.registerItems(); + IC2ModuleBlockRegistry.registerBlocks(); + IC2ModuleTERegistry.registerTEs(); + } + + public static void registerIc2PostRegistrys(){ + IC2ModuleResearch.addResearchTab(); + IC2ModuleResearch.addResearch(); + } + + public static void registerTeRegistrys() { + + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/ResearchAspects.java b/src/main/java/tombenpotter/emt/common/util/ResearchAspects.java similarity index 97% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/ResearchAspects.java rename to src/main/java/tombenpotter/emt/common/util/ResearchAspects.java index 6ea8056..15cc229 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/ResearchAspects.java +++ b/src/main/java/tombenpotter/emt/common/util/ResearchAspects.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.lib; +package tombenpotter.emt.common.util; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; @@ -60,5 +60,6 @@ public class ResearchAspects { public static AspectList thaumiumWing = new AspectList().add(Aspect.FLIGHT, 5).add(Aspect.AIR, 5).add(Aspect.MECHANISM, 8); public static AspectList nanoWing = new AspectList().add(Aspect.FLIGHT, 5).add(Aspect.AIR, 5).add(Aspect.MECHANISM, 8).add(Aspect.ENERGY, 4); public static AspectList quantumWing = new AspectList().add(Aspect.FLIGHT, 5).add(Aspect.AIR, 5).add(Aspect.MECHANISM, 8).add(Aspect.ENERGY, 4); + public static AspectList aerGenerator = new AspectList().add(Aspect.EXCHANGE, 4).add(Aspect.AIR, 3); } diff --git a/src/main/java/tombenpotter/emt/common/util/TextHelper.java b/src/main/java/tombenpotter/emt/common/util/TextHelper.java new file mode 100644 index 0000000..5c09b55 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/util/TextHelper.java @@ -0,0 +1,33 @@ +package tombenpotter.emt.common.util; + +public class TextHelper { + /** + * Color Coding * + */ + public static final String BLACK = (char) 167 + "0"; + public static final String BLUE = (char) 167 + "1"; + public static final String GREEN = (char) 167 + "2"; + public static final String TEAL = (char) 167 + "3"; + public static final String RED = (char) 167 + "4"; + public static final String PURPLE = (char) 167 + "5"; + public static final String ORANGE = (char) 167 + "6"; + public static final String LIGHT_GRAY = (char) 167 + "7"; + public static final String GRAY = (char) 167 + "8"; + public static final String LIGHT_BLUE = (char) 167 + "9"; + public static final String BRIGHT_GREEN = (char) 167 + "a"; + public static final String BRIGHT_BLUE = (char) 167 + "b"; + public static final String LIGHT_RED = (char) 167 + "c"; + public static final String PINK = (char) 167 + "d"; + public static final String YELLOW = (char) 167 + "e"; + public static final String WHITE = (char) 167 + "f"; + + /** + * Text formatting * + */ + public static final String OBFUSCATED = (char) 167 + "k"; + public static final String BOLD = (char) 167 + "l"; + public static final String STRIKETHROUGH = (char) 167 + "m"; + public static final String UNDERLINE = (char) 167 + "n"; + public static final String ITALIC = (char) 167 + "o"; + public static final String END = (char) 167 + "r"; +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/ClientProxy.java b/src/main/java/tombenpotter/emt/proxies/ClientProxy.java similarity index 68% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/ClientProxy.java rename to src/main/java/tombenpotter/emt/proxies/ClientProxy.java index e3a9be9..b0ff129 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/ClientProxy.java +++ b/src/main/java/tombenpotter/emt/proxies/ClientProxy.java @@ -9,14 +9,13 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.client; +package tombenpotter.emt.proxies; import cpw.mods.fml.client.registry.RenderingRegistry; -import electricMagicTools.tombenpotter.electricmagictools.client.renderer.RenderArcher; -import electricMagicTools.tombenpotter.electricmagictools.client.renderer.RenderLaser; -import electricMagicTools.tombenpotter.electricmagictools.common.CommonProxy; -import electricMagicTools.tombenpotter.electricmagictools.common.entities.EntityArcher; -import electricMagicTools.tombenpotter.electricmagictools.common.entities.EntityLaser; +import tombenpotter.emt.client.renderer.RenderArcher; +import tombenpotter.emt.client.renderer.RenderLaser; +import tombenpotter.emt.common.module.base.entities.EntityArcher; +import tombenpotter.emt.common.module.base.entities.EntityLaser; public class ClientProxy extends CommonProxy { diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/CommonProxy.java b/src/main/java/tombenpotter/emt/proxies/CommonProxy.java similarity index 72% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/CommonProxy.java rename to src/main/java/tombenpotter/emt/proxies/CommonProxy.java index b77a174..0421435 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/CommonProxy.java +++ b/src/main/java/tombenpotter/emt/proxies/CommonProxy.java @@ -9,18 +9,18 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.proxies; import cpw.mods.fml.common.network.IGuiHandler; -import electricMagicTools.tombenpotter.electricmagictools.client.gui.GuiEtherealMacerator; -import electricMagicTools.tombenpotter.electricmagictools.client.gui.GuiIndustrialWandRecharger; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEtherealMacerator; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityIndustrialWandRecharge; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.container.ContainerEtheralMacerator; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.container.ContainerIndustrialWandRecharge; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import tombenpotter.emt.client.gui.GuiEtherealMacerator; +import tombenpotter.emt.client.gui.GuiIndustrialWandRecharger; +import tombenpotter.emt.client.gui.container.ContainerEtheralMacerator; +import tombenpotter.emt.client.gui.container.ContainerIndustrialWandRecharge; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEtherealMacerator; +import tombenpotter.emt.common.module.ic2.tile.TileEntityIndustrialWandRecharge; public class CommonProxy implements IGuiHandler { @@ -29,7 +29,7 @@ public class CommonProxy implements IGuiHandler { } public void registerRenders() { - /* Empty in common proxy */ + /* Empty in base proxy */ } @Override @@ -40,14 +40,10 @@ public class CommonProxy implements IGuiHandler { case 0: if (entity != null && entity instanceof TileEntityIndustrialWandRecharge) { return new ContainerIndustrialWandRecharge(player.inventory, (TileEntityIndustrialWandRecharge) entity); - } else { - return null; } case 1: if (entity != null && entity instanceof TileEntityEtherealMacerator) { return new ContainerEtheralMacerator(player.inventory, (TileEntityEtherealMacerator) entity); - } else { - return null; } default: return null; @@ -62,14 +58,10 @@ public class CommonProxy implements IGuiHandler { case 0: if (entity != null && entity instanceof TileEntityIndustrialWandRecharge) { return new GuiIndustrialWandRecharger(player.inventory, (TileEntityIndustrialWandRecharge) entity); - } else { - return null; } case 1: if (entity != null && entity instanceof TileEntityEtherealMacerator) { return new GuiEtherealMacerator(player.inventory, (TileEntityEtherealMacerator) entity); - } else { - return null; } default: return null; diff --git a/src/main/resources/Thumbs.db b/src/main/resources/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..1aa08796d38ce275342fba57bdc9c516115ee6ef GIT binary patch literal 3584 zcmca`Uhu)fjZzO8(10BSGsD0CoD6J8;*3Bx2!nwD0|OI~0pkDr|NlQkkbwcn90fxt z1pWfu3W`4vW&uVbD>OcbkQYXsN;Sr0E8 zaOf;xJ-fu={CP%Zp!@+)Vgmvr22%zzhIj^Zh9n@{5J;Lcm@pUsA&76zkj9YAkOCCJ z1+*BL7-9BYl&<%9`lrIz>sVRZfRv z;Wl=DC;v-Ys#1bIE=}UyY99r*??_mDw6|X1%|ZK+^vg%w%GK}Ayem8Z`Q4c(&-}|Q zTl~UN{>O}&?|*;$ZTtTB-uq`x{r_eD#i8g>>f_q>Z-1OW9o&9@+ws?ehI>|XO}ir6 z+IZqd{KX$XcKoR-onC$YAM>WN$L=Sivp=1DetB12E!#XtYr~km|D}&~)K(~8O>g+1 zKHcTr3=!qJtmBa!?!JEu-gX&$efVN!8^iTEB~P~pTbnWN$V)x{?C-BLTY|S1tV$Hr z5-FG!V658}C~RkCrIiy_eoH!Y-LmBiVuji36<(DVrXW z>|*di2bMgETk(e$ZH&-Kdh{?^{^XgR?5Sm$4R=?qT&d}~G-y`Q?Ttqp8*BC{bj#nD z@_Q+E<4eYKsRx#~Z!&6Je>7xmoW(-mjUnX_jH@5mK@+Hdns z{(6{*PF(G+rr=H&C!fnDkN55^`uTBcR(j-;-!GQTs(ACFWzWBVb-tF1=fy`%_#Mzt z;}^ecOYWB`7kT9Rk5?Af+hxAmT*~|)_QB$1rwlg!zA>$HbN>5jN(;og-hKMCDJLgq z3(N99!2&a7+NOK2U`^RH z`0V8W|B_XBu97JGh1oZImg$K~Kkvnz6;j`lt(4TDrTF&E zpLd$J|MR|iUdjxm_2! z@GS3-PuWiLPPaJc9CA7smB{?RwDS+=uLY@@Grbb#1IrEuPgg&ebxsLQAoeJrX9xfQ D9bnh7 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/Thumbs.db b/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/Thumbs.db deleted file mode 100644 index fe25df29d7a1aa0ebdd0661a9bc179d243c328ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4608 zcmeH|2~-o;8pm%ELKZMMgdLIq0eRZWEBj&$f^{QDX+;G}5JNF8pvWdrSu~bakVV8k z^l1@=CrAM)ix#O!L_pa@fq>7-Qf1#12q>g?TxgF+d$i~D^t6X>&TsC_ckj%1zx&t_s`hP?> zJG9sFEdU=_z^JC+OBjs@F@tv|FgiNI;N{@AoMHUA{NFb|6~5=#tN3quLr|?yfUP1#38D;9fv7^%AnFhe z2n|AqFd&)`Er>RR3DJS*Lgsbnbv6I|7OfFl`^;DSald1AmE9TDE0R{pL$J_x^}5vn zgL(B~OWMIofX7KmN#XGDgvaBh39>{2G&va=k}M)8FOSF}2vtc#nW~_sh#)FjDrz(u zgTbIGYwKv!bu{P><}kjP5PDynL_i}e1rc!{xzshPQj<;qW2tzNTsovr<*&08ECoxb?e zeLH{0&Rx5G{rvX_1O|O|`0Mb9$f)R;q+`j)Q%-#IpVYJI=gwzj{_jH8rGoDZi;7Dw zU%6f(yis|xs=DS*)7^W`Ev=%qj?S*`pC3K$>FpaGd-8OAVp2Rcjpl^`xR+_oW%fp1 z2+Ru$%OXWU^TJ>Q(8Libyq1Bqy!GbfyKiizzSR)sVJYO6m(>(pS-G9>%^)z4g20)6uFQ6 zS%t+l4F~&9xyY?D#Yr5GwC()f9Xh=lC%V@$eG6?=&3rbEVV-6NlT91N2ke})`_*^0 z*FIrQ?a!O)uC%!MSnP0gww0|}dgnRM!@J}E{ISN&R98c1nX>|yJZH=kt*QJJy2#|# zkz7k|7I|nx+qBuV@&@GiaKl8LddK9!?~HqtZHw|t%btNHj9&aGt=G)K+nKYdXJ8M9 zIBD$_o0WSjDYMDkMD+XiIqu8Xod;hJM zxQ82(P@%qVXI-C=cFrJvU%B4VQ;%Z#bpPa#lLbf0%Hl%PY`x=#idkI~ZcX~0&o?js zF6Z3+_8ejUKujN2us-iTwSwZE5VmAIw~gHPfPvf1-f||h92qOUyzOhI1mwgo%d^77 zghd1gJX~Pts9T&;(`@aYaNDg(r5ei8O@kH-3W{hHUW zw+i!LqFx^7rLn&!wY|<{=*zsxmv*En+ z!hY$CTUXpjRy2qveP%}Sj!m#^IUQ^}GM;hbY@f}t1t(d#OG`U_Q@EqY`nmA~;TP=8 zgv4C`9NSKw)ETDBeR-NMq?!k)buH?LQ1VUTyNd1hJZ zJ~MfWA8S-R%-DNhz`mSInaT1ymL0tIxL=5AP={c{#=6#olR1MD5WYrLb0#Qvt(Z5e zzGmdn5q!>#3Fe*$er)?E5k5bDVm~u5`o(no(NaP-_W_sN-dZ~w#f$#=(k_~F(wtDm zB={5xPTlqLtq$AXPueCvq*#`oQLARBcT4fM?#e-dPav<((8_j_@q5~2M;5nqG$$HU zog`p~h%=!p;76`^Piz+muiQN4PBA)s&?8b@&=tqDZya8lc8}eVG%(gOFjP{Z#Tuk1 T+aHb_Qe1T2g8?<^?_|FK@lPeg diff --git a/src/main/resources/assets/electricmagictools/lang/en_US.lang b/src/main/resources/assets/electromagictools/lang/en_US.lang similarity index 97% rename from src/main/resources/assets/electricmagictools/lang/en_US.lang rename to src/main/resources/assets/electromagictools/lang/en_US.lang index c2e04b1..fe6ae8f 100644 --- a/src/main/resources/assets/electricmagictools/lang/en_US.lang +++ b/src/main/resources/assets/electromagictools/lang/en_US.lang @@ -1,14 +1,14 @@ -=============Creative Tab Name============= +#=============Creative Tab Name============= itemGroup.Electro-Magic Tools=Electro-Magic Tools -=============Thaumonomicon Tab Name============= +#=============Thaumonomicon Tab Name============= tc.research_category.EMT=Electro-Magic Tools -=============Enity Names============= +#=============Enity Names============= entity.Tombenpotter's Electro-Magic Tools.entityLaser.name=Laser entity.Tombenpotter's Electro-Magic Tools.entityArcher.name=Guardian Snowman -=============Item Names============= +#=============Item Names============= item.thaumiumdrill.name=Thaumium Drill item.thaumiumchainsaw.name=Thaumium Chainsaw item.quantumthaumichelmet.name=Quantum Goggles of Revealing @@ -58,13 +58,14 @@ item.thaumiumwing.name=Thaumium Reinforced Wings item.nanowing.name=Nanosuit Wings item.quantumwing.name=Quantum Wings -=============Block Names============= +#=============Block Names============= tile.shield.name=Shield Block tile.portablenode.name=Portable Node tile.essentiaGens.potentia.name=Potentia Generator tile.essentiaGens.ignis.name=Ignis Generator tile.essentiaGens.auram.name=Auram Generator tile.essentiaGens.arbor.name=Arbor Generator +tile.essentiaGens.aer.name=Aer Generator tile.emtmachines.wandrecharge.name=Industrial Wand Charging Station tile.emtmachines.etheralprocessor.name=Ethereal Processor tile.emtsolars.compressed.name=Compressed Solar Panel @@ -89,7 +90,7 @@ tile.emtsolars2.earth.name=Earth Infused Compressed Solar Panel tile.emtsolars2.doubleearth.name=Earth Infused Double Compressed Solar Panel tile.emtsolars2.tripleearth.name=Earth Infused Triple Compressed Solar Panel -=============Thaumonomicon Names============= +#=============Thaumonomicon Names============= emt.tag.Electric Magic Tools=Who says magic and technology can't go together? emt.tag.Thaumium Drill=Magical mining emt.tag.Thaumium Chainsaw=Felling trees and severing heads with a touch of magic @@ -106,7 +107,7 @@ emt.tag.Potentia Generator=Harnessing the power-producing potential of essentia emt.tag.Ignis Generator=If you can't handle the heat... emt.tag.Auram Generator=Harnessing the magic in the air emt.tag.Arbor Generator=Bringing power generation back to its basics -emt.tag.Saxum Generator=Using the remaining heat of solidifed lava +emt.tag.Aer Generator=Compressing your environement emt.tag.Chainsaw of the Stream=Felling trees in a single swoop emt.tag.Drill of the Rockbreaker=Mining it big emt.tag.Shield Block=Magical protection @@ -145,7 +146,7 @@ emt.tag.Thaumium Reinforced Wings=Already much better emt.tag.Nanosuit Wings=Nanotechnologies to the rescue! emt.tag.Quantum Wings=The last step is here... -=============Thaumonomicon Texts============= +#=============Thaumonomicon Texts============= emt.text.Electric Magic Tools=Who says magic can't work with technology? Our researchers have collaborated with the top mages of the school of Thaumaturgy to bring you the effectiveness of magic coupled with the convenience of electric tools. emt.text.Thaumium Drill=You have discovered a way to infuse Thaumium with mundane electricity. Fusing Thaumium to a Diamond Drill results in a tool that can dig through stone faster and has a higher capacity.

While Thaumium is a very useful and powerful material, it is nowhere near the strength of Iridium. It is considered a mid-tier tool.

This tool may not be the most powerful, but you have a feeling that you will be able to upgrade it in the near future. emt.text.Thaumium Chainsaw=You have found a way to fuse Thaumium to a Diamond Chainsaw, allowing it to fell trees quicker and hold more power. Nevertheless, these ameliorations do not come without drawbacks: during the process of fusing these materials, the chainsaw loses its ability to shear foliage, tall grass, and animals.

You have an intuition you will be able to upgrade this tool in the near future. @@ -162,7 +163,7 @@ emt.text.Potentia Generator=After much studying and research, you have finally d emt.text.Ignis Generator=Just as you thought, with a bit of tweaking, you have found a way to instead use Ignis essentia to produce power. On the inside, this machine is able to heat water by consuming Ignis. The steam produced by this heat then spins the turbines, similar to a typical generator. emt.text.Auram Generator=Though it took a bit more work than you initially thought, you have found a way to produce EU using Auram essenita. This required a complete reworking of the machine, relying on Auram's pulsating magical power to spin a generator. emt.text.Arbor Generator=You always seem to have excess Arbor essentia sitting around. Not anymore! By modifying your original Potentia generator, you have found a way to produce energy using Arbor essentia instead. -emt.text.Saxum Generator=You always thought that the Saxum essentia was radiating some kind of heat, a heat which could be used to make energy. And you have been proven right! You have modified your Potentia Generator to create some heat, used to make energy. +emt.text.Aer Generator=You have discovered the enormous power of the air, and therefore decided to try out a modification of your original Potentia Generator capable of compressing air from Aer essentia in a nearby jar, giving you 300 EU per unit. emt.text.Chainsaw of the Stream=After studying both the Axe of the Stream and the Thaumium Chainsaw, you managed to combine most of their abilities, resulting in an electric tool that can chop down whole trees without much effort. emt.text.Drill of the Rockbreaker=After studying the Pickaxe of the Core, the Shovel of the Earthmover and the Thaumium Drill, you have managed to combine most of their abilities, resulting in an electric tool that can mine a whole 3x3x1 area of pickaxe and dirt materials very quickly.

This marvelous device is able to find the closest ore clusters on a shift-right click, though at the cost of some EU. emt.text.Shield Block=After studying the blocks created by the shield focus, you have discovered how to recreate them yourself, without relying on them to be summoned by the focus. They are highly blast resistant, and even resistant to nukes. However, in the event of an actual nuclear explosion, while the shield blocks will survive the aftermath, the surrounding blocks will not.

These blocks are unstable and do not drop when broken, even when Silk Touch is used. diff --git a/src/main/resources/assets/electricmagictools/lang/zh_CN.lang b/src/main/resources/assets/electromagictools/lang/zh_CN.lang similarity index 100% rename from src/main/resources/assets/electricmagictools/lang/zh_CN.lang rename to src/main/resources/assets/electromagictools/lang/zh_CN.lang diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/Thumbs.db b/src/main/resources/assets/electromagictools/textures/blocks/Thumbs.db similarity index 98% rename from src/main/resources/assets/electricmagictools/textures/blocks/Thumbs.db rename to src/main/resources/assets/electromagictools/textures/blocks/Thumbs.db index d64001ba5021f3a4789cf168b3b60635f515354b..65d3b9f1ec0df7b642e9db9fa32e6296b9cf1bea 100644 GIT binary patch delta 83 zcmZpOXo%R5!@}n9A=OxN|K=i=dCVMFTK^WTYknZMS%PB+3y0Iai-#|Z$8XqtgQtR( hWA(y_NqK=wlQ$;{&1al!z`{A%K}Y~0Dk1Vh900$BA^`vZ delta 83 zcmZpOXo%R5!@_o9#g#~@S(}Sk<}q_D`h7R;RmrYLniGQ5nyL!Zs%g&1al!z`{A%K}Y~0Dk1Vh8~_2eBBcNT diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/Thumbs.db b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..4ba24e5f3ebd5055fa2d617220dc3bc7effafc1a GIT binary patch literal 28160 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 O;lMdb&|$JdV*>zufM{g^ delta 269 zcmZo@VQOe$+Tg>&$UIq*MV|M;q_dTUevw6G@)y+d2wC_kOmPT23rI)aC3=X03#10P=pCt^ozc~ z$mGK;KwU29#UYFse?~ClOKgA;k1$X%50Zw-B?SRI0zd&lB*D#J3Kp<#49Q{KRN=rm Mxu9{v+I|=ch*553|@0 FC*e#z^QYyD6<$0 F=mWRL6Epw- diff --git a/src/main/resources/assets/electricmagictools/textures/items/armoreumaker.png b/src/main/resources/assets/electromagictools/textures/items/armoreumaker.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/armoreumaker.png rename to src/main/resources/assets/electromagictools/textures/items/armoreumaker.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/cardboard.png b/src/main/resources/assets/electromagictools/textures/items/cardboard.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/cardboard.png rename to src/main/resources/assets/electromagictools/textures/items/cardboard.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/chainsaw.png b/src/main/resources/assets/electromagictools/textures/items/chainsaw.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/chainsaw.png rename to src/main/resources/assets/electromagictools/textures/items/chainsaw.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/chargefocus.png b/src/main/resources/assets/electromagictools/textures/items/chargefocus.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/chargefocus.png rename to src/main/resources/assets/electromagictools/textures/items/chargefocus.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/chargefocus.png.mcmeta b/src/main/resources/assets/electromagictools/textures/items/chargefocus.png.mcmeta similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/chargefocus.png.mcmeta rename to src/main/resources/assets/electromagictools/textures/items/chargefocus.png.mcmeta diff --git a/src/main/resources/assets/electricmagictools/textures/items/christmasfocus.png b/src/main/resources/assets/electromagictools/textures/items/christmasfocus.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/christmasfocus.png rename to src/main/resources/assets/electromagictools/textures/items/christmasfocus.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/clusteruranium.png b/src/main/resources/assets/electromagictools/textures/items/clusteruranium.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/clusteruranium.png rename to src/main/resources/assets/electromagictools/textures/items/clusteruranium.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/crushedamber.png b/src/main/resources/assets/electromagictools/textures/items/crushedamber.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/crushedamber.png rename to src/main/resources/assets/electromagictools/textures/items/crushedamber.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/crushedcinnabar.png b/src/main/resources/assets/electromagictools/textures/items/crushedcinnabar.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/crushedcinnabar.png rename to src/main/resources/assets/electromagictools/textures/items/crushedcinnabar.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/denseironsheet.png b/src/main/resources/assets/electromagictools/textures/items/denseironsheet.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/denseironsheet.png rename to src/main/resources/assets/electromagictools/textures/items/denseironsheet.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/diamondchainsaw.png b/src/main/resources/assets/electromagictools/textures/items/diamondchainsaw.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/diamondchainsaw.png rename to src/main/resources/assets/electromagictools/textures/items/diamondchainsaw.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/diamondchainsaw_16X.png b/src/main/resources/assets/electromagictools/textures/items/diamondchainsaw_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/diamondchainsaw_16X.png rename to src/main/resources/assets/electromagictools/textures/items/diamondchainsaw_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/diamonddrill_16X.png b/src/main/resources/assets/electromagictools/textures/items/diamonddrill_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/diamonddrill_16X.png rename to src/main/resources/assets/electromagictools/textures/items/diamonddrill_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/diamondomnitool.png b/src/main/resources/assets/electromagictools/textures/items/diamondomnitool.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/diamondomnitool.png rename to src/main/resources/assets/electromagictools/textures/items/diamondomnitool.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/diamondomnitool_16X.png b/src/main/resources/assets/electromagictools/textures/items/diamondomnitool_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/diamondomnitool_16X.png rename to src/main/resources/assets/electromagictools/textures/items/diamondomnitool_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/diamondomnitool_alt.png b/src/main/resources/assets/electromagictools/textures/items/diamondomnitool_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/diamondomnitool_alt.png rename to src/main/resources/assets/electromagictools/textures/items/diamondomnitool_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/drill.png b/src/main/resources/assets/electromagictools/textures/items/drill.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/drill.png rename to src/main/resources/assets/electromagictools/textures/items/drill.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/ducttape.png b/src/main/resources/assets/electromagictools/textures/items/ducttape.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/ducttape.png rename to src/main/resources/assets/electromagictools/textures/items/ducttape.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electricboots.png b/src/main/resources/assets/electromagictools/textures/items/electricboots.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electricboots.png rename to src/main/resources/assets/electromagictools/textures/items/electricboots.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electricboots_ALT.png b/src/main/resources/assets/electromagictools/textures/items/electricboots_ALT.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electricboots_ALT.png rename to src/main/resources/assets/electromagictools/textures/items/electricboots_ALT.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electricgoggles.png b/src/main/resources/assets/electromagictools/textures/items/electricgoggles.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electricgoggles.png rename to src/main/resources/assets/electromagictools/textures/items/electricgoggles.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electricgoggles_alt.png b/src/main/resources/assets/electromagictools/textures/items/electricgoggles_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electricgoggles_alt.png rename to src/main/resources/assets/electromagictools/textures/items/electricgoggles_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electrichoe_16X.png b/src/main/resources/assets/electromagictools/textures/items/electrichoe_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electrichoe_16X.png rename to src/main/resources/assets/electromagictools/textures/items/electrichoe_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth.png b/src/main/resources/assets/electromagictools/textures/items/electrichoegrowth.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth.png rename to src/main/resources/assets/electromagictools/textures/items/electrichoegrowth.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth_16X.png b/src/main/resources/assets/electromagictools/textures/items/electrichoegrowth_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth_16X.png rename to src/main/resources/assets/electromagictools/textures/items/electrichoegrowth_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth_32x.png b/src/main/resources/assets/electromagictools/textures/items/electrichoegrowth_32x.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth_32x.png rename to src/main/resources/assets/electromagictools/textures/items/electrichoegrowth_32x.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth_alt.png b/src/main/resources/assets/electromagictools/textures/items/electrichoegrowth_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth_alt.png rename to src/main/resources/assets/electromagictools/textures/items/electrichoegrowth_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth_alt32x.png b/src/main/resources/assets/electromagictools/textures/items/electrichoegrowth_alt32x.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth_alt32x.png rename to src/main/resources/assets/electromagictools/textures/items/electrichoegrowth_alt32x.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/explosionfocus.png b/src/main/resources/assets/electromagictools/textures/items/explosionfocus.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/explosionfocus.png rename to src/main/resources/assets/electromagictools/textures/items/explosionfocus.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/feathercarboardwing.png b/src/main/resources/assets/electromagictools/textures/items/feathercarboardwing.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/feathercarboardwing.png rename to src/main/resources/assets/electromagictools/textures/items/feathercarboardwing.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/feathercardboardwing.png b/src/main/resources/assets/electromagictools/textures/items/feathercardboardwing.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/feathercardboardwing.png rename to src/main/resources/assets/electromagictools/textures/items/feathercardboardwing.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/feathermesh.png b/src/main/resources/assets/electromagictools/textures/items/feathermesh.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/feathermesh.png rename to src/main/resources/assets/electromagictools/textures/items/feathermesh.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/featherwings.png b/src/main/resources/assets/electromagictools/textures/items/featherwings.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/featherwings.png rename to src/main/resources/assets/electromagictools/textures/items/featherwings.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/featherwings_flat.png b/src/main/resources/assets/electromagictools/textures/items/featherwings_flat.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/featherwings_flat.png rename to src/main/resources/assets/electromagictools/textures/items/featherwings_flat.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/glue.png b/src/main/resources/assets/electromagictools/textures/items/glue.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/glue.png rename to src/main/resources/assets/electromagictools/textures/items/glue.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/glueball.png b/src/main/resources/assets/electromagictools/textures/items/glueball.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/glueball.png rename to src/main/resources/assets/electromagictools/textures/items/glueball.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/electricthorhammer.png b/src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/electricthorhammer.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/electricthorhammer.png.mcmeta b/src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer.png.mcmeta similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/electricthorhammer.png.mcmeta rename to src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer.png.mcmeta diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/electricthorhammer_alt.png b/src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/electricthorhammer_alt.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/hammerStages/electric01.png b/src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric01.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/hammerStages/electric01.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric01.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/hammerStages/electric02.png b/src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric02.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/hammerStages/electric02.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric02.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/hammerStages/electric03.png b/src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric03.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/hammerStages/electric03.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric03.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/hammerStages/electric04.png b/src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric04.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/hammerStages/electric04.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric04.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/taintedthorhammer.png b/src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/taintedthorhammer.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/taintedthorhammer.png.mcmeta b/src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer.png.mcmeta similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/taintedthorhammer.png.mcmeta rename to src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer.png.mcmeta diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/taintedthorhammer_long.png b/src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer_long.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/taintedthorhammer_long.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer_long.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/taintedthorhammer_short.png b/src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer_short.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/taintedthorhammer_short.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer_short.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/thorhammer.png b/src/main/resources/assets/electromagictools/textures/items/hammer/thorhammer.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/thorhammer.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/thorhammer.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/inventoryeumaker.png b/src/main/resources/assets/electromagictools/textures/items/inventoryeumaker.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/inventoryeumaker.png rename to src/main/resources/assets/electromagictools/textures/items/inventoryeumaker.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/ironomnitool.png b/src/main/resources/assets/electromagictools/textures/items/ironomnitool.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/ironomnitool.png rename to src/main/resources/assets/electromagictools/textures/items/ironomnitool.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/ironomnitool_16X.png b/src/main/resources/assets/electromagictools/textures/items/ironomnitool_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/ironomnitool_16X.png rename to src/main/resources/assets/electromagictools/textures/items/ironomnitool_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/lightningsummoner.png b/src/main/resources/assets/electromagictools/textures/items/lightningsummoner.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/lightningsummoner.png rename to src/main/resources/assets/electromagictools/textures/items/lightningsummoner.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/lightningsummoner_alt.png b/src/main/resources/assets/electromagictools/textures/items/lightningsummoner_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/lightningsummoner_alt.png rename to src/main/resources/assets/electromagictools/textures/items/lightningsummoner_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/nanobootstravel.png b/src/main/resources/assets/electromagictools/textures/items/nanobootstravel.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/nanobootstravel.png rename to src/main/resources/assets/electromagictools/textures/items/nanobootstravel.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/nanothaumichelmet.png b/src/main/resources/assets/electromagictools/textures/items/nanothaumichelmet.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/nanothaumichelmet.png rename to src/main/resources/assets/electromagictools/textures/items/nanothaumichelmet.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/nanothaumichelmet_alt.png b/src/main/resources/assets/electromagictools/textures/items/nanothaumichelmet_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/nanothaumichelmet_alt.png rename to src/main/resources/assets/electromagictools/textures/items/nanothaumichelmet_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/nanowings.png b/src/main/resources/assets/electromagictools/textures/items/nanowings.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/nanowings.png rename to src/main/resources/assets/electromagictools/textures/items/nanowings.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/onering.png b/src/main/resources/assets/electromagictools/textures/items/onering.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/onering.png rename to src/main/resources/assets/electromagictools/textures/items/onering.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/purifiedamber.png b/src/main/resources/assets/electromagictools/textures/items/purifiedamber.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/purifiedamber.png rename to src/main/resources/assets/electromagictools/textures/items/purifiedamber.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/purifiedcinnabar.png b/src/main/resources/assets/electromagictools/textures/items/purifiedcinnabar.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/purifiedcinnabar.png rename to src/main/resources/assets/electromagictools/textures/items/purifiedcinnabar.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/quantumbootstravel.png b/src/main/resources/assets/electromagictools/textures/items/quantumbootstravel.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/quantumbootstravel.png rename to src/main/resources/assets/electromagictools/textures/items/quantumbootstravel.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/quantumthaumichelmet.png b/src/main/resources/assets/electromagictools/textures/items/quantumthaumichelmet.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/quantumthaumichelmet.png rename to src/main/resources/assets/electromagictools/textures/items/quantumthaumichelmet.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/quantumthaumichelmet_alt.png b/src/main/resources/assets/electromagictools/textures/items/quantumthaumichelmet_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/quantumthaumichelmet_alt.png rename to src/main/resources/assets/electromagictools/textures/items/quantumthaumichelmet_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/quantumwings.png b/src/main/resources/assets/electromagictools/textures/items/quantumwings.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/quantumwings.png rename to src/main/resources/assets/electromagictools/textures/items/quantumwings.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/rockbreakerdrill.png b/src/main/resources/assets/electromagictools/textures/items/rockbreakerdrill.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/rockbreakerdrill.png rename to src/main/resources/assets/electromagictools/textures/items/rockbreakerdrill.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/rockbreakerdrill_16X.png b/src/main/resources/assets/electromagictools/textures/items/rockbreakerdrill_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/rockbreakerdrill_16X.png rename to src/main/resources/assets/electromagictools/textures/items/rockbreakerdrill_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/rubberball.png b/src/main/resources/assets/electromagictools/textures/items/rubberball.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/rubberball.png rename to src/main/resources/assets/electromagictools/textures/items/rubberball.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/shieldfocus.png b/src/main/resources/assets/electromagictools/textures/items/shieldfocus.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/shieldfocus.png rename to src/main/resources/assets/electromagictools/textures/items/shieldfocus.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/shieldfocus_alt.png b/src/main/resources/assets/electromagictools/textures/items/shieldfocus_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/shieldfocus_alt.png rename to src/main/resources/assets/electromagictools/textures/items/shieldfocus_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/solarrevealinghelmet.png b/src/main/resources/assets/electromagictools/textures/items/solarrevealinghelmet.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/solarrevealinghelmet.png rename to src/main/resources/assets/electromagictools/textures/items/solarrevealinghelmet.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/solarrevealinghelmet_alt.png b/src/main/resources/assets/electromagictools/textures/items/solarrevealinghelmet_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/solarrevealinghelmet_alt.png rename to src/main/resources/assets/electromagictools/textures/items/solarrevealinghelmet_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/solarrevealinghelmet_alt2.png b/src/main/resources/assets/electromagictools/textures/items/solarrevealinghelmet_alt2.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/solarrevealinghelmet_alt2.png rename to src/main/resources/assets/electromagictools/textures/items/solarrevealinghelmet_alt2.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/solarrevealinghelmet_alt3.png b/src/main/resources/assets/electromagictools/textures/items/solarrevealinghelmet_alt3.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/solarrevealinghelmet_alt3.png rename to src/main/resources/assets/electromagictools/textures/items/solarrevealinghelmet_alt3.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/streamchainsaw.png b/src/main/resources/assets/electromagictools/textures/items/streamchainsaw.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/streamchainsaw.png rename to src/main/resources/assets/electromagictools/textures/items/streamchainsaw.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/streamchainsaw.png.mcmeta b/src/main/resources/assets/electromagictools/textures/items/streamchainsaw.png.mcmeta similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/streamchainsaw.png.mcmeta rename to src/main/resources/assets/electromagictools/textures/items/streamchainsaw.png.mcmeta diff --git a/src/main/resources/assets/electricmagictools/textures/items/taintedfeather.png b/src/main/resources/assets/electromagictools/textures/items/taintedfeather.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/taintedfeather.png rename to src/main/resources/assets/electromagictools/textures/items/taintedfeather.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumWing.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumWing.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumWing.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumWing.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumchainsaw.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumchainsaw.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumchainsaw.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumchainsaw.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumchainsaw_16X.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumchainsaw_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumchainsaw_16X.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumchainsaw_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumchainsaw_alt.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumchainsaw_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumchainsaw_alt.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumchainsaw_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumdrill.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumdrill.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumdrill.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumdrill.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumdrill_16X.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumdrill_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumdrill_16X.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumdrill_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumdrill_alt.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumdrill_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumdrill_alt.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumdrill_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumdrill_alt2.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumdrill_alt2.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumdrill_alt2.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumdrill_alt2.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumomnitool.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumomnitool.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumomnitool.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumomnitool.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumomnitool_16X.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumomnitool_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumomnitool_16X.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumomnitool_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumomnitool_alt.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumomnitool_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumomnitool_alt.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumomnitool_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumomnitool_alt2.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumomnitool_alt2.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumomnitool_alt2.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumomnitool_alt2.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumplate.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumplate.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumplate.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumplate.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumwings.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumwings.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumwings.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumwings.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/wandchargefocus.png b/src/main/resources/assets/electromagictools/textures/items/wandchargefocus.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/wandchargefocus.png rename to src/main/resources/assets/electromagictools/textures/items/wandchargefocus.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/wings_random.png b/src/main/resources/assets/electromagictools/textures/items/wings_random.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/wings_random.png rename to src/main/resources/assets/electromagictools/textures/items/wings_random.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/wings_random2.png b/src/main/resources/assets/electromagictools/textures/items/wings_random2.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/wings_random2.png rename to src/main/resources/assets/electromagictools/textures/items/wings_random2.png diff --git a/src/main/resources/assets/electricmagictools/textures/misc/Thumbs.db b/src/main/resources/assets/electromagictools/textures/misc/Thumbs.db similarity index 98% rename from src/main/resources/assets/electricmagictools/textures/misc/Thumbs.db rename to src/main/resources/assets/electromagictools/textures/misc/Thumbs.db index 86fbe546e87692ac8e8cddcf246f99041bf85bee..517cfa434e3bbd9cf1fd09ecedcaabe5260e2fbe 100644 GIT binary patch delta 79 zcmZo@VQgq&+>pb<7O*eXNOJ$?B9?i~9FK&eTD!Y_Hf)yQ_`%3=vuyXyj!miuH%oA> YFq4pAU|?Vd;%s9e0R(W_i4Gc!0C3nFFaQ7m delta 58 zcmV-A0LA}+gaLqr0kCWY1^_0oSQ?tMas-|O2+aSYy=n1Yr?VIc_yGu&6haFfK13L^ Q7z(I1v+zI=0h5pgFnZP$?f?J) diff --git a/src/main/resources/assets/electricmagictools/textures/misc/emt.png b/src/main/resources/assets/electromagictools/textures/misc/emt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/misc/emt.png rename to src/main/resources/assets/electromagictools/textures/misc/emt.png diff --git a/src/main/resources/assets/electricmagictools/textures/misc/thaumiumplaterecipe.png b/src/main/resources/assets/electromagictools/textures/misc/thaumiumplaterecipe.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/misc/thaumiumplaterecipe.png rename to src/main/resources/assets/electromagictools/textures/misc/thaumiumplaterecipe.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/Thumbs.db b/src/main/resources/assets/electromagictools/textures/models/Thumbs.db similarity index 98% rename from src/main/resources/assets/electricmagictools/textures/models/Thumbs.db rename to src/main/resources/assets/electromagictools/textures/models/Thumbs.db index 3bac5e1ea4154fe81f0466cc6a5d60c603b8dee5..57ba9ae60ae8457f500a56d77191f0b287951676 100644 GIT binary patch delta 47 zcmV+~0MP${On^+VYy<|7%V;tgzq4`#o&yMwsglPk0%-2D7zj8H2)>qxxnURH`LkFS Fs1L&_6HfpD delta 47 zcmZqhY4F*Q!@_ofd3%J^tj$F%^O!k&U*tdAW$3T9S%SlYk3&yX#;eko@xkT@u@(FP DpEVF( diff --git a/src/main/resources/assets/electricmagictools/textures/models/electricboots.png b/src/main/resources/assets/electromagictools/textures/models/electricboots.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/electricboots.png rename to src/main/resources/assets/electromagictools/textures/models/electricboots.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/electricgoggles.png b/src/main/resources/assets/electromagictools/textures/models/electricgoggles.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/electricgoggles.png rename to src/main/resources/assets/electromagictools/textures/models/electricgoggles.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/featherwing.png b/src/main/resources/assets/electromagictools/textures/models/featherwing.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/featherwing.png rename to src/main/resources/assets/electromagictools/textures/models/featherwing.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/featherwing_noString.png b/src/main/resources/assets/electromagictools/textures/models/featherwing_noString.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/featherwing_noString.png rename to src/main/resources/assets/electromagictools/textures/models/featherwing_noString.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/lasermodel.png b/src/main/resources/assets/electromagictools/textures/models/lasermodel.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/lasermodel.png rename to src/main/resources/assets/electromagictools/textures/models/lasermodel.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/nanobootstravel.png b/src/main/resources/assets/electromagictools/textures/models/nanobootstravel.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/nanobootstravel.png rename to src/main/resources/assets/electromagictools/textures/models/nanobootstravel.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/nanowing.png b/src/main/resources/assets/electromagictools/textures/models/nanowing.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/nanowing.png rename to src/main/resources/assets/electromagictools/textures/models/nanowing.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/quantumbootstravel.png b/src/main/resources/assets/electromagictools/textures/models/quantumbootstravel.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/quantumbootstravel.png rename to src/main/resources/assets/electromagictools/textures/models/quantumbootstravel.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/quantumwing.png b/src/main/resources/assets/electromagictools/textures/models/quantumwing.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/quantumwing.png rename to src/main/resources/assets/electromagictools/textures/models/quantumwing.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/scaryhelmet.png b/src/main/resources/assets/electromagictools/textures/models/scaryhelmet.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/scaryhelmet.png rename to src/main/resources/assets/electromagictools/textures/models/scaryhelmet.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/solarrevealinghelmet.png b/src/main/resources/assets/electromagictools/textures/models/solarrevealinghelmet.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/solarrevealinghelmet.png rename to src/main/resources/assets/electromagictools/textures/models/solarrevealinghelmet.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/thaumicnanohelmet.png b/src/main/resources/assets/electromagictools/textures/models/thaumicnanohelmet.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/thaumicnanohelmet.png rename to src/main/resources/assets/electromagictools/textures/models/thaumicnanohelmet.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/thaumicquantumhelmet.png b/src/main/resources/assets/electromagictools/textures/models/thaumicquantumhelmet.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/thaumicquantumhelmet.png rename to src/main/resources/assets/electromagictools/textures/models/thaumicquantumhelmet.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/thaumiumwing.png b/src/main/resources/assets/electromagictools/textures/models/thaumiumwing.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/thaumiumwing.png rename to src/main/resources/assets/electromagictools/textures/models/thaumiumwing.png diff --git a/src/main/resources/emt.png b/src/main/resources/emt.png new file mode 100644 index 0000000000000000000000000000000000000000..661f59dd0fe01b0d31ece5ac7f420060ed05e357 GIT binary patch literal 907 zcmV;619bd}P)H;LN@>a0`y5lK~z{r?Uq4L6G0Tmr|pO6 z)hj0S;>8}6D>3mRNj(|Q0wqwPXxM@Vv_+(lv^}&v$b}1^$g9C3#TG>>C?1~g|8`#4 zVk_M((F_0Nr8~2e`TgE(H?6tO|H$22j|pXm|1Ju?cPG_dfM-a{PF+b7iG;u(-QVmD zM+82>H9K-;0@^j;{RuFf-t%XDX&?!2*C<^7748k-gGex(P~NWlhHHXIplg74c6Ox3 z#>RpRAbupYYlUxZZBeOIqS4XOU~tW45*NEpCX*Ikq>X%@R+g739*_Hj$A*VV3*%lA z7rWlx-ll4$DqZI-d@+;hUx0yLc>5anyb|87(QzAItx~aA6gVV;!(%anx;ZrThs47N zw?#s`Mgdl-RH#^R;j6hEWt;)vGS@{S8jTA4-P(<|1Uj#jEA3;?<+9{B4$Y_2z63hp z8jJzOy`OpG)|&emRH9riQ=w3x{Q9~`I13Auo|_vS&R~K6+B8x}FASZo8fq=O*Io(0 zv)L>kyCV{P!x1YW-DA8##q#RVT`_?oNvEYu;Poj*;b0tt{jYxl?nezsxgjNvC) z2ER1)g`t>l%o{qGw%>i$5_bq(+?6e)0V&=ULM-%?&&JwDZg-y!10&=G69WBTr7Lr hcL3J1Q`g}b^BWfBZXoFJorVAa002ovPDHLkV1is+pDF+V literal 0 HcmV?d00001 diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 2fc7377..f082844 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,14 +3,14 @@ "modid": "Electro-MagicTools", "name": "Electro-MagicTools", "description": "Ever thought about combining magic and electricity?", - "version": "$version", - "mcversion": "$mcversion", - "url": "http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1292998-", + "version": "1.1.4", + "mcversion": "1.7.10", + "url": "http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1292998-industrialcraft-2-thaumcraft-4-electro-magic", "updateUrl": "", "authorList": ["Tombenpotter"], "credits": "Azanor, the IC2 guys, and the forge guys!", - "logoFile": "/assets/tombenpotter/textures/misc/emt.png", + "logoFile": "emt.png", "screenshots": [], - "dependencies": [] + "dependencies": ["Thaumcraft 4"] } ]