From 6a5fc496df3aa1c52720c70248b8ea43e7488ba2 Mon Sep 17 00:00:00 2001 From: fewizz Date: Thu, 17 Mar 2016 18:25:51 +0300 Subject: [PATCH] renames, new logo, some changes --- src/main/java/emt/ElectroMagicTools.java | 30 +- src/main/java/emt/ModInformation.java | 2 +- .../emt/client/renderer/RenderShield.java | 69 +++-- .../{BlockRegistry.java => EMTBlocks.java} | 2 +- .../{EntityRegistry.java => EMTEntities.java} | 2 +- .../init/{ItemRegistry.java => EMTItems.java} | 2 +- .../{RecipeRegistry.java => EMTRecipes.java} | 204 ++++++------- src/main/java/emt/init/EMTResearches.java | 286 ++++++++++++++++++ .../init/{TileRegistry.java => EMTTiles.java} | 2 +- src/main/java/emt/init/Registry.java | 14 +- src/main/java/emt/init/Researches.java | 286 ------------------ .../ItemInfusedQuantumChestplate.java | 54 ++-- .../java/emt/item/focus/ItemShieldFocus.java | 2 +- src/main/java/emt/network/PacketEMTKeys.java | 4 +- .../emt/tile/TileEntityEtherealMacerator.java | 4 +- .../TileEntityIndustrialWandRecharge.java | 4 +- .../tile/solar/air/TileEntityAirSolar.java | 4 +- .../solar/air/TileEntityDoubleAirSolar.java | 4 +- .../solar/air/TileEntityTripleAirSolar.java | 4 +- .../compressed/TileEntityCompressedSolar.java | 4 +- .../TileEntityDoubleCompressedSolar.java | 4 +- .../TileEntityTripleCompressedSolar.java | 4 +- .../tile/solar/dark/TileEntityDarkSolar.java | 4 +- .../solar/dark/TileEntityDoubleDarkSolar.java | 4 +- .../solar/dark/TileEntityTripleDarkSolar.java | 4 +- .../earth/TileEntityDoubleEarthSolar.java | 4 +- .../solar/earth/TileEntityEarthSolar.java | 4 +- .../earth/TileEntityTripleEarthSolar.java | 4 +- .../solar/fire/TileEntityDoubleFireSolar.java | 4 +- .../tile/solar/fire/TileEntityFireSolar.java | 4 +- .../solar/fire/TileEntityTripleFireSolar.java | 4 +- .../order/TileEntityDoubleOrderSolar.java | 4 +- .../solar/order/TileEntityOrderSolar.java | 4 +- .../order/TileEntityTripleOrderSolar.java | 4 +- .../water/TileEntityDoubleWaterSolar.java | 4 +- .../water/TileEntityTripleWaterSolar.java | 4 +- .../solar/water/TileEntityWaterSolar.java | 4 +- src/main/java/emt/util/EMTCreativeTab.java | 5 +- .../emt/util/EMTDungeonChestGenerator.java | 6 +- src/main/java/emt/util/EMTEventHandler.java | 6 +- src/main/java/emt/util/EMTResearchItem.java | 2 +- .../textures/blocks/electricCloud.png | Bin 504 -> 0 bytes .../textures/items/tools/chainsaw_diamond.png | Bin 1091 -> 0 bytes .../textures/items/tools/chainsaw_stream.png | Bin 950 -> 0 bytes .../items/tools/chainsaw_stream.png.mcmeta | 5 - .../items/tools/chainsaw_thaumium.png | Bin 808 -> 0 bytes .../items/tools/chainsaw_thaumium_alt.png | Bin 843 -> 0 bytes .../items/tools/drill_rockbreaker.png | Bin 623 -> 0 bytes .../textures/items/tools/drill_thaumium.png | Bin 969 -> 0 bytes .../items/tools/drill_thaumium_alt.png | Bin 766 -> 0 bytes .../items/tools/drill_thaumium_alt2.png | Bin 878 -> 0 bytes .../textures/items/tools/hoe_growth2.png | Bin 1863 -> 0 bytes .../textures/items/tools/omnitool_diamond.png | Bin 959 -> 0 bytes .../items/tools/omnitool_diamond_alt.png | Bin 958 -> 0 bytes .../textures/items/tools/omnitool_iron.png | Bin 857 -> 0 bytes .../items/tools/omnitool_thaumium.png | Bin 838 -> 0 bytes .../items/tools/omnitool_thaumium_alt.png | Bin 1138 -> 0 bytes .../items/tools/omnitool_thaumium_alt2.png | Bin 909 -> 0 bytes .../electromagictools/textures/misc/emt.png | Bin 907 -> 0 bytes .../textures/models/shield.png | Bin 185 -> 0 bytes .../lang/en_US.lang | 0 .../lang/ru_RU.lang | 4 +- .../lang/zh_CN.lang | 0 .../emt/textures/blocks/electricCloud.png | Bin 0 -> 487 bytes .../textures/blocks/empty.png | Bin .../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 .../textures/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/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/air/airside.png | Bin .../textures/blocks/solars/bottom.png | Bin .../textures/blocks/solars/bottom32.png | Bin .../textures/blocks/solars/dark/darkside.png | Bin .../textures/blocks/solars/doublesolartop.png | Bin .../blocks/solars/doublesolartop32.png | Bin .../blocks/solars/earth/earthside.png | Bin .../textures/blocks/solars/fire/fireside.png | Bin .../blocks/solars/order/orderside.png | Bin .../textures/blocks/solars/side.png | Bin .../textures/blocks/solars/side32.png | Bin .../textures/blocks/solars/solartop.png | Bin .../textures/blocks/solars/solartop32.png | Bin .../textures/blocks/solars/triplesolartop.png | Bin .../blocks/solars/triplesolartop32.png | Bin .../blocks/solars/water/waterside.png | Bin .../textures/guis/etherealmacerator.png | Bin .../textures/guis/wandcharger.png | Bin .../items/armor/armor_quantum_chest.png | Bin .../armor/armor_quantum_chest_jetpack.png | Bin .../armor/armor_quantum_chest_wing_n.png | Bin .../armor/armor_quantum_chest_wing_q.png | Bin .../armor/armor_quantum_chest_wing_t.png | Bin .../textures/items/armor/boots_electric.png | Bin .../items/armor/boots_electric_alt.png | Bin .../textures/items/armor/boots_nano.png | Bin .../textures/items/armor/boots_quantum.png | Bin .../textures/items/armor/goggles_electric.png | Bin .../items/armor/goggles_electric_alt.png | Bin .../textures/items/armor/goggles_nano.png | Bin .../textures/items/armor/goggles_nano_alt.png | Bin .../textures/items/armor/goggles_quantum.png | Bin .../items/armor/goggles_quantum_alt.png | Bin .../textures/items/armor/goggles_solar.png | Bin .../items/armor/goggles_solar_alt.png | Bin .../items/armor/goggles_solar_alt2.png | Bin .../items/armor/goggles_solar_alt3.png | Bin .../textures/items/armor/wing_feather.png | Bin .../textures/items/armor/wing_nano.png | Bin .../textures/items/armor/wing_quantum.png | Bin .../textures/items/armor/wing_thaumium.png | Bin .../textures/items/armoreumaker.png | Bin .../textures/items/focus_charge.png | Bin .../textures/items/focus_charge.png.mcmeta | 0 .../textures/items/focus_chargeWand.png | Bin .../items/focus_chargeWand.png.mcmeta | 0 .../textures/items/focus_christmas.png | Bin .../textures/items/focus_explosion.png | Bin .../textures/items/focus_shield.png | Bin .../textures/items/focus_shieldAlt.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/materials/cardboard.png | Bin .../items/materials/cardboardsheet.png | Bin .../items/materials/clusteruranium.png | Bin .../textures/items/materials/crushedamber.png | Bin .../items/materials/crushedcinnabar.png | Bin .../textures/items/materials/ducttape.png | Bin .../textures/items/materials/feathermesh.png | Bin .../textures/items/materials/glue.png | Bin .../textures/items/materials/glueball.png | Bin .../items/materials/lightningsummoner.png | Bin .../items/materials/lightningsummoner_alt.png | Bin .../items/materials/purifiedamber.png | Bin .../items/materials/purifiedcinnabar.png | Bin .../textures/items/materials/rubberball.png | Bin .../items/materials/taintedfeather.png | Bin .../textures/items/materials/thaumiumWing.png | Bin .../items/materials/thaumiumplate.png | Bin .../textures/items/materials/uumatterdrop.png | Bin .../textures/items/onering.png | Bin .../textures/items/tools/chainsaw_diamond.png | Bin 0 -> 1102 bytes .../textures/items/tools/chainsaw_stream.png | Bin 0 -> 967 bytes .../items/tools/chainsaw_thaumium.png | Bin 0 -> 819 bytes .../items/tools/chainsaw_thaumium_alt.png | Bin 0 -> 855 bytes .../items/tools/drill_rockbreaker.png | Bin 0 -> 636 bytes .../textures/items/tools/drill_thaumium.png | Bin 0 -> 975 bytes .../items/tools/drill_thaumium_alt.png | Bin 0 -> 772 bytes .../items/tools/drill_thaumium_alt2.png | Bin 0 -> 888 bytes .../textures/items/tools/hoe_growth.png | Bin .../emt/textures/items/tools/hoe_growth2.png | Bin 0 -> 976 bytes .../textures/items/tools/omnitool_diamond.png | Bin 0 -> 972 bytes .../items/tools/omnitool_diamond_alt.png | Bin 0 -> 970 bytes .../textures/items/tools/omnitool_iron.png | Bin 0 -> 873 bytes .../items/tools/omnitool_thaumium.png | Bin 0 -> 849 bytes .../items/tools/omnitool_thaumium_alt.png | Bin 0 -> 1149 bytes .../items/tools/omnitool_thaumium_alt2.png | Bin 0 -> 919 bytes .../textures/misc/background.png | Bin .../assets/emt/textures/misc/emt.png | Bin 0 -> 960 bytes .../textures/misc/thaumiumplaterecipe.png | Bin .../textures/models/electricboots.png | Bin .../textures/models/electricgoggles.png | Bin .../textures/models/featherwing.png | Bin .../textures/models/lasermodel.png | Bin .../textures/models/nanobootstravel.png | Bin .../textures/models/nanowing.png | Bin .../textures/models/quantum.png | Bin .../textures/models/quantum_jetpack.png | Bin .../textures/models/quantum_wings_n.png | Bin .../textures/models/quantum_wings_q.png | Bin .../textures/models/quantum_wings_t.png | Bin .../textures/models/quantumbootstravel.png | Bin .../textures/models/quantumwing.png | Bin .../textures/models/scaryhelmet.png | Bin .../assets/emt/textures/models/shield.png | Bin 0 -> 265 bytes .../textures/models/solarrevealinghelmet.png | Bin .../textures/models/thaumicnanohelmet.png | Bin .../textures/models/thaumicquantumhelmet.png | Bin .../textures/models/thaumiumwing.png | Bin .../emt/textures/researches/electricCloud.png | Bin 0 -> 97833 bytes src/main/resources/logo.png | Bin 907 -> 960 bytes 230 files changed, 537 insertions(+), 542 deletions(-) rename src/main/java/emt/init/{BlockRegistry.java => EMTBlocks.java} (99%) rename src/main/java/emt/init/{EntityRegistry.java => EMTEntities.java} (97%) rename src/main/java/emt/init/{ItemRegistry.java => EMTItems.java} (99%) rename src/main/java/emt/init/{RecipeRegistry.java => EMTRecipes.java} (57%) create mode 100644 src/main/java/emt/init/EMTResearches.java rename src/main/java/emt/init/{TileRegistry.java => EMTTiles.java} (99%) delete mode 100644 src/main/java/emt/init/Researches.java delete mode 100644 src/main/resources/assets/electromagictools/textures/blocks/electricCloud.png delete mode 100644 src/main/resources/assets/electromagictools/textures/items/tools/chainsaw_diamond.png delete mode 100644 src/main/resources/assets/electromagictools/textures/items/tools/chainsaw_stream.png delete mode 100644 src/main/resources/assets/electromagictools/textures/items/tools/chainsaw_stream.png.mcmeta delete mode 100644 src/main/resources/assets/electromagictools/textures/items/tools/chainsaw_thaumium.png delete mode 100644 src/main/resources/assets/electromagictools/textures/items/tools/chainsaw_thaumium_alt.png delete mode 100644 src/main/resources/assets/electromagictools/textures/items/tools/drill_rockbreaker.png delete mode 100644 src/main/resources/assets/electromagictools/textures/items/tools/drill_thaumium.png delete mode 100644 src/main/resources/assets/electromagictools/textures/items/tools/drill_thaumium_alt.png delete mode 100644 src/main/resources/assets/electromagictools/textures/items/tools/drill_thaumium_alt2.png delete mode 100644 src/main/resources/assets/electromagictools/textures/items/tools/hoe_growth2.png delete mode 100644 src/main/resources/assets/electromagictools/textures/items/tools/omnitool_diamond.png delete mode 100644 src/main/resources/assets/electromagictools/textures/items/tools/omnitool_diamond_alt.png delete mode 100644 src/main/resources/assets/electromagictools/textures/items/tools/omnitool_iron.png delete mode 100644 src/main/resources/assets/electromagictools/textures/items/tools/omnitool_thaumium.png delete mode 100644 src/main/resources/assets/electromagictools/textures/items/tools/omnitool_thaumium_alt.png delete mode 100644 src/main/resources/assets/electromagictools/textures/items/tools/omnitool_thaumium_alt2.png delete mode 100644 src/main/resources/assets/electromagictools/textures/misc/emt.png delete mode 100644 src/main/resources/assets/electromagictools/textures/models/shield.png rename src/main/resources/assets/{electromagictools => emt}/lang/en_US.lang (100%) rename src/main/resources/assets/{electromagictools => emt}/lang/ru_RU.lang (99%) rename src/main/resources/assets/{electromagictools => emt}/lang/zh_CN.lang (100%) create mode 100644 src/main/resources/assets/emt/textures/blocks/electricCloud.png rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/empty.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/aerfront.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/arborfront.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/arborfront_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/auramfront.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/auramfront_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/front_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/ignisfront.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/ignisfront_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/potentiafront.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/potentiafront_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/saxumfront.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/saxumfront_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/side.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/top.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/top_aer.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/top_arbor.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/top_auram.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/top_ignis.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/essentiagenerator/top_potentia.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/bottom.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/etherealmacerator.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/etherealmaceratorfront.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/etherealmaceratorfront_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/etherealmaceratorfront_alt2.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/etherealmaceratorfront_alt3.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/etherealmaceratorfront_alt4.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/etherealmaceratorfrontactive.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/etherealmaceratorfrontactive_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/etherealmaceratorfrontactive_alt2.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/etherealmaceratorfrontactive_alt3.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/etherealmaceratorfrontactive_alt4.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/etherealmaceratortop.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/etherealmaceratortop_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/etherealmaceratortopactive.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/etherealmaceratortopactive_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/side.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/top.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/top_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/top_alt2.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/machines/wandcharger.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/portablenode.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/raindispeller.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/shield.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/solars/air/airside.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/solars/bottom.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/solars/bottom32.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/solars/dark/darkside.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/solars/doublesolartop.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/solars/doublesolartop32.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/solars/earth/earthside.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/solars/fire/fireside.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/solars/order/orderside.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/solars/side.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/solars/side32.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/solars/solartop.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/solars/solartop32.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/solars/triplesolartop.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/solars/triplesolartop32.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/blocks/solars/water/waterside.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/guis/etherealmacerator.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/guis/wandcharger.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/armor_quantum_chest.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/armor_quantum_chest_jetpack.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/armor_quantum_chest_wing_n.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/armor_quantum_chest_wing_q.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/armor_quantum_chest_wing_t.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/boots_electric.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/boots_electric_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/boots_nano.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/boots_quantum.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/goggles_electric.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/goggles_electric_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/goggles_nano.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/goggles_nano_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/goggles_quantum.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/goggles_quantum_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/goggles_solar.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/goggles_solar_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/goggles_solar_alt2.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/goggles_solar_alt3.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/wing_feather.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/wing_nano.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/wing_quantum.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armor/wing_thaumium.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/armoreumaker.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/focus_charge.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/focus_charge.png.mcmeta (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/focus_chargeWand.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/focus_chargeWand.png.mcmeta (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/focus_christmas.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/focus_explosion.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/focus_shield.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/focus_shieldAlt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/hammer/electricthorhammer.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/hammer/electricthorhammer.png.mcmeta (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/hammer/electricthorhammer_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/hammer/hammerStages/electric01.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/hammer/hammerStages/electric02.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/hammer/hammerStages/electric03.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/hammer/hammerStages/electric04.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/hammer/taintedthorhammer.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/hammer/taintedthorhammer.png.mcmeta (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/hammer/taintedthorhammer_long.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/hammer/taintedthorhammer_short.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/hammer/thorhammer.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/inventoryeumaker.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/cardboard.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/cardboardsheet.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/clusteruranium.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/crushedamber.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/crushedcinnabar.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/ducttape.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/feathermesh.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/glue.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/glueball.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/lightningsummoner.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/lightningsummoner_alt.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/purifiedamber.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/purifiedcinnabar.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/rubberball.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/taintedfeather.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/thaumiumWing.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/thaumiumplate.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/materials/uumatterdrop.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/items/onering.png (100%) create mode 100644 src/main/resources/assets/emt/textures/items/tools/chainsaw_diamond.png create mode 100644 src/main/resources/assets/emt/textures/items/tools/chainsaw_stream.png create mode 100644 src/main/resources/assets/emt/textures/items/tools/chainsaw_thaumium.png create mode 100644 src/main/resources/assets/emt/textures/items/tools/chainsaw_thaumium_alt.png create mode 100644 src/main/resources/assets/emt/textures/items/tools/drill_rockbreaker.png create mode 100644 src/main/resources/assets/emt/textures/items/tools/drill_thaumium.png create mode 100644 src/main/resources/assets/emt/textures/items/tools/drill_thaumium_alt.png create mode 100644 src/main/resources/assets/emt/textures/items/tools/drill_thaumium_alt2.png rename src/main/resources/assets/{electromagictools => emt}/textures/items/tools/hoe_growth.png (100%) create mode 100644 src/main/resources/assets/emt/textures/items/tools/hoe_growth2.png create mode 100644 src/main/resources/assets/emt/textures/items/tools/omnitool_diamond.png create mode 100644 src/main/resources/assets/emt/textures/items/tools/omnitool_diamond_alt.png create mode 100644 src/main/resources/assets/emt/textures/items/tools/omnitool_iron.png create mode 100644 src/main/resources/assets/emt/textures/items/tools/omnitool_thaumium.png create mode 100644 src/main/resources/assets/emt/textures/items/tools/omnitool_thaumium_alt.png create mode 100644 src/main/resources/assets/emt/textures/items/tools/omnitool_thaumium_alt2.png rename src/main/resources/assets/{electromagictools => emt}/textures/misc/background.png (100%) create mode 100644 src/main/resources/assets/emt/textures/misc/emt.png rename src/main/resources/assets/{electromagictools => emt}/textures/misc/thaumiumplaterecipe.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/electricboots.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/electricgoggles.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/featherwing.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/lasermodel.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/nanobootstravel.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/nanowing.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/quantum.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/quantum_jetpack.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/quantum_wings_n.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/quantum_wings_q.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/quantum_wings_t.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/quantumbootstravel.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/quantumwing.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/scaryhelmet.png (100%) create mode 100644 src/main/resources/assets/emt/textures/models/shield.png rename src/main/resources/assets/{electromagictools => emt}/textures/models/solarrevealinghelmet.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/thaumicnanohelmet.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/thaumicquantumhelmet.png (100%) rename src/main/resources/assets/{electromagictools => emt}/textures/models/thaumiumwing.png (100%) create mode 100644 src/main/resources/assets/emt/textures/researches/electricCloud.png diff --git a/src/main/java/emt/ElectroMagicTools.java b/src/main/java/emt/ElectroMagicTools.java index 84b686e..5f79f58 100644 --- a/src/main/java/emt/ElectroMagicTools.java +++ b/src/main/java/emt/ElectroMagicTools.java @@ -14,9 +14,9 @@ import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; import cpw.mods.fml.relauncher.Side; import emt.command.CommandOutputs; -import emt.init.EntityRegistry; +import emt.init.EMTEntities; import emt.init.Registry; -import emt.init.Researches; +import emt.init.EMTResearches; import emt.network.PacketEMTKeys; import emt.proxy.CommonProxy; import emt.util.*; @@ -48,38 +48,38 @@ public class ElectroMagicTools { @EventHandler public void preInit(FMLPreInitializationEvent event) { - ElectroMagicTools.logger.info("Starting planning the world domination"); + logger.info("Starting planning the world domination"); EMTConfigHandler.init(event.getSuggestedConfigurationFile()); FMLCommonHandler.instance().bus().register(new EMTEventHandler()); Registry.register(); EMTEssentiasOutputs.addPrimalOutputs(); EMTEssentiasOutputs.addOutputs(); registerPackets(); - ElectroMagicTools.logger.info("Planning complete"); + logger.info("Planning complete"); } @EventHandler public void load(FMLInitializationEvent event) { - ElectroMagicTools.logger.info("Gathering allies"); - ElectroMagicTools.logger.info("Loading the proxies"); + logger.info("Gathering allies"); + logger.info("Loading the proxies"); proxy.load(); - ElectroMagicTools.logger.info("Making mobs drop additional items"); + logger.info("Making mobs drop additional items"); MinecraftForge.EVENT_BUS.register(new EMTEventHandler()); - ElectroMagicTools.logger.info("Adding dungeon loot"); + logger.info("Adding dungeon loot"); EMTDungeonChestGenerator.generateLoot(); - ElectroMagicTools.logger.info("Registering entities"); - EntityRegistry.registerEMTEntities(); - ElectroMagicTools.logger.info("Registering the GUI Handler"); + logger.info("Registering entities"); + EMTEntities.registerEMTEntities(); + logger.info("Registering the GUI Handler"); NetworkRegistry.INSTANCE.registerGuiHandler(this, proxy); - ElectroMagicTools.logger.info("Allies gathered."); + logger.info("Allies gathered."); } @EventHandler public void postInit(FMLPostInitializationEvent event) { - ElectroMagicTools.logger.info("Starting the world takeover"); + logger.info("Starting the world takeover"); Registry.registerLate(); - Researches.register(); - ElectroMagicTools.logger.info("World takeover complete. Enjoy!"); + EMTResearches.register(); + logger.info("World takeover complete. Enjoy!"); } @EventHandler diff --git a/src/main/java/emt/ModInformation.java b/src/main/java/emt/ModInformation.java index 2d64472..3f6e198 100644 --- a/src/main/java/emt/ModInformation.java +++ b/src/main/java/emt/ModInformation.java @@ -4,7 +4,7 @@ public class ModInformation { public static final String name = "Electro-Magic Tools"; public static final String modid = "EMT"; public static final String version = "1.2.6"; - public static final String texturePath = "electromagictools"; + public static final String texturePath = "emt"; public static final String guiFactory = "emt.client.gui.config.EMTGuiFactory"; public static final String clientProxy = "emt.proxy.ClientProxy"; public static final String commonProxy = "emt.proxy.CommonProxy"; diff --git a/src/main/java/emt/client/renderer/RenderShield.java b/src/main/java/emt/client/renderer/RenderShield.java index c138c2a..b921a42 100644 --- a/src/main/java/emt/client/renderer/RenderShield.java +++ b/src/main/java/emt/client/renderer/RenderShield.java @@ -16,57 +16,56 @@ import net.minecraft.util.ResourceLocation; public class RenderShield extends Render { private static final ResourceLocation shieldTexture = new ResourceLocation(ModInformation.texturePath, "textures/models/shield.png"); - private static final float[] values = new float[6912]; - - static{ + + static { float sin1; float cos1; - + float sin2; float cos2; - + float hsin1 = 0; float hcos1 = 1; - + float hsin2; float hcos2; - + int i = 0; - + for (float h = 0; h < 360; h += 15) { sin1 = 0; cos1 = 1; - + hsin2 = MathHelper.sin((float) Math.toRadians(h + 15)); hcos2 = MathHelper.cos((float) Math.toRadians(h + 15)); - + for (float angle = 0; angle < 360; angle += 15) { sin2 = MathHelper.sin((float) Math.toRadians(angle + 15)); cos2 = MathHelper.cos((float) Math.toRadians(angle + 15)); - - values[i] = sin1 * hcos1 * 2; - values[i + 1] = hsin1 * 2; - values[i + 2] = cos1 * hcos1 * 2; - - values[i + 3] = sin1 * hcos2 * 2; - values[i + 4] = hsin2 * 2; - values[i + 5] = cos1 * hcos2 * 2; - - values[i + 6] = sin2 * hcos2 * 2; - values[i + 7] = hsin2 * 2; - values[i + 8] = cos2 * hcos2 * 2; - - values[i + 9] = sin2 * hcos1 * 2; + + values[i] = sin1 * hcos1 * 2; + values[i + 1] = hsin1 * 2; + values[i + 2] = cos1 * hcos1 * 2; + + values[i + 3] = sin1 * hcos2 * 2; + values[i + 4] = hsin2 * 2; + values[i + 5] = cos1 * hcos2 * 2; + + values[i + 6] = sin2 * hcos2 * 2; + values[i + 7] = hsin2 * 2; + values[i + 8] = cos2 * hcos2 * 2; + + values[i + 9] = sin2 * hcos1 * 2; values[i + 10] = hsin1 * 2; values[i + 11] = cos2 * hcos1 * 2; - + i += 12; - + sin1 = sin2; cos1 = cos2; } - + hsin1 = hsin2; hcos1 = hcos2; } @@ -75,7 +74,7 @@ public class RenderShield extends Render { public void doRender(Entity entityShield, double x, double y, double z, float par8, float par9) { this.bindEntityTexture(entityShield); Tessellator tessellator = Tessellator.instance; - + glEnable(GL_ALPHA_TEST); glAlphaFunc(GL_GREATER, 0); glEnable(GL_BLEND); @@ -84,20 +83,20 @@ public class RenderShield extends Render { glDisable(GL_LIGHTING); glDisable(GL_CULL_FACE); glDisable(GL_DEPTH_TEST); - + glPushMatrix(); - if(((EntityShield)entityShield).owner != null && !Minecraft.getMinecraft().thePlayer.getDisplayName().equals(((EntityShield)entityShield).owner.getDisplayName() )) + if (((EntityShield) entityShield).owner != null && !Minecraft.getMinecraft().thePlayer.getDisplayName().equals(((EntityShield) entityShield).owner.getDisplayName())) glTranslated(x, y, z); tessellator.startDrawingQuads(); for (int v = 0; v < values.length; v += 12) { - tessellator.addVertexWithUV(values[v] , values[v + 1] , values[v + 2] , 1, 1); - tessellator.addVertexWithUV(values[v + 3] , values[v + 4] , values[v + 5] , 1, 0); - tessellator.addVertexWithUV(values[v + 6] , values[v + 7] , values[v + 8] , 0, 0); - tessellator.addVertexWithUV(values[v + 9] , values[v + 10], values[v + 11], 0, 1); + tessellator.addVertexWithUV(values[v], values[v + 1], values[v + 2], 1, 1); + tessellator.addVertexWithUV(values[v + 3], values[v + 4], values[v + 5], 1, 0); + tessellator.addVertexWithUV(values[v + 6], values[v + 7], values[v + 8], 0, 0); + tessellator.addVertexWithUV(values[v + 9], values[v + 10], values[v + 11], 0, 1); } tessellator.draw(); - + glPopMatrix(); glPopAttrib(); glDisable(GL12.GL_RESCALE_NORMAL); diff --git a/src/main/java/emt/init/BlockRegistry.java b/src/main/java/emt/init/EMTBlocks.java similarity index 99% rename from src/main/java/emt/init/BlockRegistry.java rename to src/main/java/emt/init/EMTBlocks.java index 2294399..b6cc481 100644 --- a/src/main/java/emt/init/BlockRegistry.java +++ b/src/main/java/emt/init/EMTBlocks.java @@ -25,7 +25,7 @@ import static thaumcraft.api.ThaumcraftApi.*; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; -public class BlockRegistry { +public class EMTBlocks { public static Block portableNode, essentiaGens, shield, emtSolars, emtMachines, emtSolars2, electricCloud; diff --git a/src/main/java/emt/init/EntityRegistry.java b/src/main/java/emt/init/EMTEntities.java similarity index 97% rename from src/main/java/emt/init/EntityRegistry.java rename to src/main/java/emt/init/EMTEntities.java index 4054c46..4cd606a 100644 --- a/src/main/java/emt/init/EntityRegistry.java +++ b/src/main/java/emt/init/EMTEntities.java @@ -9,7 +9,7 @@ import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityList.EntityEggInfo; import net.minecraft.entity.EntityLiving; -public class EntityRegistry { +public class EMTEntities { private static int startEID = 300; private static int entityIDs = 0; diff --git a/src/main/java/emt/init/ItemRegistry.java b/src/main/java/emt/init/EMTItems.java similarity index 99% rename from src/main/java/emt/init/ItemRegistry.java rename to src/main/java/emt/init/EMTItems.java index 3d81c70..6cbd683 100644 --- a/src/main/java/emt/init/ItemRegistry.java +++ b/src/main/java/emt/init/EMTItems.java @@ -45,7 +45,7 @@ import net.minecraftforge.common.util.EnumHelper; import net.minecraftforge.oredict.OreDictionary; import thaumcraft.api.ThaumcraftApi; -public class ItemRegistry { +public class EMTItems { public static Item onering; public static Item materials; diff --git a/src/main/java/emt/init/RecipeRegistry.java b/src/main/java/emt/init/EMTRecipes.java similarity index 57% rename from src/main/java/emt/init/RecipeRegistry.java rename to src/main/java/emt/init/EMTRecipes.java index c485339..9fbedc7 100644 --- a/src/main/java/emt/init/RecipeRegistry.java +++ b/src/main/java/emt/init/EMTRecipes.java @@ -37,20 +37,20 @@ import thaumcraft.common.config.ConfigItems; import java.util.Iterator; -public class RecipeRegistry { +public class EMTRecipes { - public static ItemStack uuMCell = new ItemStack(ItemRegistry.itemEMTItems, 1, 15); + public static ItemStack uuMCell = new ItemStack(EMTItems.itemEMTItems, 1, 15); private static void registerShapedRecipes() { /** Crafting Recipes **/ - ironOmnitool = GameRegistry.addShapedRecipe(EMTRandomHelper.getChargedItem(ItemRegistry.ironOmnitool, 10), "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(EMTRandomHelper.getChargedItem(ItemRegistry.diamondChainsaw, 10), " 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, 13), " X ", "XYX", " X ", 'X', new ItemStack(ConfigItems.itemResource, 1, 12), 'Y', new ItemStack(Items.feather)); + ironOmnitool = GameRegistry.addShapedRecipe(EMTRandomHelper.getChargedItem(EMTItems.ironOmnitool, 10), "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(EMTRandomHelper.getChargedItem(EMTItems.diamondChainsaw, 10), " X ", "XYX", 'X', new ItemStack(Items.diamond), 'Y', new ItemStack(IC2Items.getItem("chainsaw").getItem(), 1, OreDictionary.WILDCARD_VALUE)); + ductTape = GameRegistry.addShapedRecipe(new ItemStack(EMTItems.itemEMTItems, 1, 9), "XXX", "YYY", "XXX", 'X', new ItemStack(EMTItems.itemEMTItems, 1, 8), 'Y', new ItemStack(Items.paper)); + featherMesh = GameRegistry.addShapedRecipe(new ItemStack(EMTItems.itemEMTItems, 1, 7), "XYX", "YXY", "XYX", 'X', new ItemStack(Items.feather), 'Y', new ItemStack(EMTItems.itemEMTItems, 1, 9)); + featherWing = GameRegistry.addShapedRecipe(new ItemStack(EMTItems.itemEMTItems, 1, 12), "XYZ", "XYZ", "XYZ", 'X', new ItemStack(EMTItems.itemEMTItems, 1, 7), 'Y', new ItemStack(EMTItems.itemEMTItems, 1, 8), 'Z', new ItemStack(EMTItems.itemEMTItems, 1, 11)); + featherWings = GameRegistry.addShapedRecipe(new ItemStack(EMTItems.featherWing), "XX", 'X', new ItemStack(EMTItems.itemEMTItems, 1, 12)); + taintedFeathers = GameRegistry.addShapedRecipe(new ItemStack(EMTItems.itemEMTItems, 1, 13), " X ", "XYX", " X ", 'X', new ItemStack(ConfigItems.itemResource, 1, 12), 'Y', new ItemStack(Items.feather)); GameRegistry.addRecipe(IC2Items.getItem("nanoHelmet"), "XYX", "XZX", 'X', IC2Items.getItem("carbonPlate"), 'Y', new ItemStack(IC2Items.getItem("energyCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'Z', new ItemStack(IC2Items.getItem("nightvisionGoggles").getItem(), 1, OreDictionary.WILDCARD_VALUE)); GameRegistry.addShapedRecipe(IC2Items.getItem("generator"), "X", "Y", "Z", 'X', new ItemStack(IC2Items.getItem("chargedReBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'Y', IC2Items.getItem("machine"), 'Z', new ItemStack(Blocks.furnace)); @@ -58,18 +58,18 @@ public class RecipeRegistry { /** 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(EMTItems.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), "XX", "XX", 'X', OreDictionary.getOres("itemRubber").get(i)); + rubberBall = GameRegistry.addShapedRecipe(new ItemStack(EMTItems.itemEMTItems, 1, 10), "XX", "XX", '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(EMTItems.itemEMTItems, 1, 1), new ItemStack(ConfigItems.itemResource, 1, 6), 0.0F); + GameRegistry.addSmelting(new ItemStack(EMTItems.itemEMTItems, 1, 2), new ItemStack(ConfigItems.itemResource, 1, 6), 0.0F); + GameRegistry.addSmelting(new ItemStack(EMTItems.itemEMTItems, 1, 3), new ItemStack(ConfigItems.itemResource, 1, 3), 0.0F); + GameRegistry.addSmelting(new ItemStack(EMTItems.itemEMTItems, 1, 4), new ItemStack(ConfigItems.itemResource, 1, 3), 0.0F); + GameRegistry.addSmelting(new ItemStack(EMTItems.itemEMTItems, 1, 10), new ItemStack(EMTItems.itemEMTItems, 2, 8), 0.0F); } private static void registerShaplessRecipes() { @@ -159,171 +159,171 @@ public class RecipeRegistry { public static void registerLateRecipes() { /** Infusion Recipes **/ - thaumiumDrill = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Drill", EMTRandomHelper.getChargedItem(ItemRegistry.thaumiumDrill, 10), 5, EMTCraftingAspects.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") }); + thaumiumDrill = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Drill", EMTRandomHelper.getChargedItem(EMTItems.thaumiumDrill, 10), 5, EMTCraftingAspects.thaumiumDrillCrafting, new ItemStack(IC2Items.getItem("diamondDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE), + new ItemStack[] { new ItemStack(Items.diamond), new ItemStack(Items.diamond), new ItemStack(EMTItems.itemEMTItems, 1, 5), new ItemStack(EMTItems.itemEMTItems, 1, 5), new ItemStack(EMTItems.itemEMTItems, 1, 5), IC2Items.getItem("denseplateiron") }); - thaumiumChainsaw = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Chainsaw", EMTRandomHelper.getChargedItem(ItemRegistry.thaumiumChainsaw, 10), 5, EMTCraftingAspects.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") }); + thaumiumChainsaw = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Chainsaw", EMTRandomHelper.getChargedItem(EMTItems.thaumiumChainsaw, 10), 5, EMTCraftingAspects.thaumiumChainsawCrafting, new ItemStack(EMTItems.diamondChainsaw, 1, OreDictionary.WILDCARD_VALUE), + new ItemStack[] { new ItemStack(Items.diamond), new ItemStack(Items.diamond), new ItemStack(EMTItems.itemEMTItems, 1, 5), new ItemStack(EMTItems.itemEMTItems, 1, 5), new ItemStack(EMTItems.itemEMTItems, 1, 5), IC2Items.getItem("denseplateiron") }); - thaumicQuantumHelmet = ThaumcraftApi.addInfusionCraftingRecipe("Quantum Goggles of Revealing", EMTRandomHelper.getChargedItem(ItemRegistry.quantumThaumicHelmet, 10), 6, EMTCraftingAspects.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") }); + thaumicQuantumHelmet = ThaumcraftApi.addInfusionCraftingRecipe("Quantum Goggles of Revealing", EMTRandomHelper.getChargedItem(EMTItems.quantumThaumicHelmet, 10), 6, EMTCraftingAspects.thaumicQuantumHelmetCrafting, new ItemStack(EMTItems.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(EMTItems.itemEMTItems, 1, 5), new ItemStack(EMTItems.itemEMTItems, 1, 5), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("advancedCircuit") }); - thaumicNanoHelmet = ThaumcraftApi.addInfusionCraftingRecipe("Nanosuit Goggles of Revealing", EMTRandomHelper.getChargedItem(ItemRegistry.nanoThaumicHelmet, 10), 5, EMTCraftingAspects.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") }); + thaumicNanoHelmet = ThaumcraftApi.addInfusionCraftingRecipe("Nanosuit Goggles of Revealing", EMTRandomHelper.getChargedItem(EMTItems.nanoThaumicHelmet, 10), 5, EMTCraftingAspects.thaumicNanoHelmetCrafting, new ItemStack(EMTItems.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(EMTItems.itemEMTItems, 1, 5), new ItemStack(EMTItems.itemEMTItems, 1, 5), IC2Items.getItem("carbonPlate"), IC2Items.getItem("electronicCircuit") }); - thaumiumOmnitool = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Omnitool", EMTRandomHelper.getChargedItem(ItemRegistry.thaumiumOmnitool, 10), 6, EMTCraftingAspects.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") }); + thaumiumOmnitool = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Omnitool", EMTRandomHelper.getChargedItem(EMTItems.thaumiumOmnitool, 10), 6, EMTCraftingAspects.thaumiumOmnitoolCrafting, new ItemStack(EMTItems.thaumiumChainsaw, 1, OreDictionary.WILDCARD_VALUE), + new ItemStack[] { new ItemStack(EMTItems.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(EMTItems.itemEMTItems, 1, 5), new ItemStack(EMTItems.itemEMTItems, 1, 5), new ItemStack(EMTItems.itemEMTItems, 1, 5), IC2Items.getItem("carbonPlate"), IC2Items.getItem("plateobsidian") }); - diamondOmnitoolToThaumium = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Omnitool", new ItemStack(ItemRegistry.thaumiumOmnitool), 6, EMTCraftingAspects.thaumiumOmnitoolCrafting, new ItemStack(ItemRegistry.diamondOmnitool, 1, OreDictionary.WILDCARD_VALUE), + diamondOmnitoolToThaumium = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Omnitool", new ItemStack(EMTItems.thaumiumOmnitool), 6, EMTCraftingAspects.thaumiumOmnitoolCrafting, new ItemStack(EMTItems.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, EMTCraftingAspects.laserFocusCrafting, new ItemStack(ConfigItems.itemFocusHellbat, 1), + explosionFocus = ThaumcraftApi.addInfusionCraftingRecipe("Explosion Focus", new ItemStack(EMTItems.explosionFocus), 6, EMTCraftingAspects.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, EMTCraftingAspects.shieldFocusCrafting, new ItemStack(ConfigItems.itemFocusPortableHole, 1), + shieldFocus = ThaumcraftApi.addInfusionCraftingRecipe("Shield Focus", new ItemStack(EMTItems.shieldFocus), 4, EMTCraftingAspects.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, EMTCraftingAspects.potentiaGeneratorCrafting, IC2Items.getItem("semifluidGenerator"), + potentiaGenerator = ThaumcraftApi.addInfusionCraftingRecipe("Potentia Generator", new ItemStack(EMTBlocks.essentiaGens, 1, 0), 6, EMTCraftingAspects.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", EMTRandomHelper.getChargedItem(ItemRegistry.streamChainsaw, 10), 6, EMTCraftingAspects.streamChaisnawCrafting, new ItemStack(ItemRegistry.thaumiumChainsaw, 1, OreDictionary.WILDCARD_VALUE), + streamChainsaw = ThaumcraftApi.addInfusionCraftingRecipe("Chainsaw of the Stream", EMTRandomHelper.getChargedItem(EMTItems.streamChainsaw, 10), 6, EMTCraftingAspects.streamChaisnawCrafting, new ItemStack(EMTItems.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("iridiumPlate"), IC2Items.getItem("overclockerUpgrade") }); - rockbreakerDrill = ThaumcraftApi.addInfusionCraftingRecipe("Drill of the Rockbreaker", EMTRandomHelper.getChargedItem(ItemRegistry.rockbreakerDrill, 10), 6, EMTCraftingAspects.rockbreakerDrillCrafting, new ItemStack(ItemRegistry.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[] { new ItemStack(Items.flint_and_steel), new ItemStack(Items.fire_charge), + rockbreakerDrill = ThaumcraftApi.addInfusionCraftingRecipe("Drill of the Rockbreaker", EMTRandomHelper.getChargedItem(EMTItems.rockbreakerDrill, 10), 6, EMTCraftingAspects.rockbreakerDrillCrafting, new ItemStack(EMTItems.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, EMTCraftingAspects.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") }); + thorHammer = ThaumcraftApi.addInfusionCraftingRecipe("Mjolnir", new ItemStack(EMTItems.thorHammer), 7, EMTCraftingAspects.thorHammerCrafting, new ItemStack(EMTItems.taintedThorHammer, 1, OreDictionary.WILDCARD_VALUE), + new ItemStack[] { new ItemStack(EMTItems.itemEMTItems, 1, 6), new ItemStack(EMTItems.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", EMTRandomHelper.getChargedItem(ItemRegistry.electricThorHammer, 10), 10, EMTCraftingAspects.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"), + superchargedThorHammer = ThaumcraftApi.addInfusionCraftingRecipe("Supercharged Mjolnir", EMTRandomHelper.getChargedItem(EMTItems.electricThorHammer, 10), 10, EMTCraftingAspects.superchargedThorHammerCrafting, new ItemStack(EMTItems.thorHammer, 1, OreDictionary.WILDCARD_VALUE), + new ItemStack[] { new ItemStack(EMTItems.itemEMTItems, 1, 6), new ItemStack(EMTItems.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, EMTCraftingAspects.wandCharger, new ItemStack(ConfigBlocks.blockStoneDevice, 1, 5), + wandRecharger = ThaumcraftApi.addInfusionCraftingRecipe("Industrial Wand Charging Station", new ItemStack(EMTBlocks.emtMachines, 1, 0), 6, EMTCraftingAspects.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", EMTRandomHelper.getChargedItem(ItemRegistry.solarHelmetRevealing, 10), 5, EMTCraftingAspects.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) }); + solarHelmetRevealing = ThaumcraftApi.addInfusionCraftingRecipe("Solar Helmet of Revealing", EMTRandomHelper.getChargedItem(EMTItems.solarHelmetRevealing, 10), 5, EMTCraftingAspects.solarHelmetRevealing, new ItemStack(EMTItems.quantumThaumicHelmet, 1, OreDictionary.WILDCARD_VALUE), + new ItemStack[] { new ItemStack(EMTBlocks.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", EMTRandomHelper.getChargedItem(ItemRegistry.electricBootsTraveller, 10), 2, EMTCraftingAspects.electricBootsTravel, new ItemStack(ConfigItems.itemBootsTraveller), + electricBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe("Electric Boots of the Traveller", EMTRandomHelper.getChargedItem(EMTItems.electricBootsTraveller, 10), 2, EMTCraftingAspects.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", EMTRandomHelper.getChargedItem(ItemRegistry.nanoBootsTraveller, 10), 2, EMTCraftingAspects.nanoBootsTravel, new ItemStack(ItemRegistry.electricBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), + nanoBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe("Nano Boots of the Traveller", EMTRandomHelper.getChargedItem(EMTItems.nanoBootsTraveller, 10), 2, EMTCraftingAspects.nanoBootsTravel, new ItemStack(EMTItems.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", EMTRandomHelper.getChargedItem(ItemRegistry.quantumBootsTraveller, 10), 2, EMTCraftingAspects.quantumBootsTravel, new ItemStack(ItemRegistry.nanoBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), + quantumBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe("Quantum Boots of the Traveller", EMTRandomHelper.getChargedItem(EMTItems.quantumBootsTraveller, 10), 2, EMTCraftingAspects.quantumBootsTravel, new ItemStack(EMTItems.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, EMTCraftingAspects.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) }); + etheralProcessor = ThaumcraftApi.addInfusionCraftingRecipe("Etheral Processor", new ItemStack(EMTBlocks.emtMachines, 1, 1), 3, EMTCraftingAspects.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(EMTItems.itemEMTItems, 1, 5), new ItemStack(EMTItems.itemEMTItems, 1, 5) }); - tripleCompressedSolar = ThaumcraftApi.addInfusionCraftingRecipe("Compressed Solars", new ItemStack(BlockRegistry.emtSolars, 1, 2), 2, EMTCraftingAspects.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) }); + tripleCompressedSolar = ThaumcraftApi.addInfusionCraftingRecipe("Compressed Solars", new ItemStack(EMTBlocks.emtSolars, 1, 2), 2, EMTCraftingAspects.compressedSolars, new ItemStack(EMTBlocks.emtSolars, 1, 1), new ItemStack[] { new ItemStack(EMTBlocks.emtSolars, 1, 1), new ItemStack(EMTBlocks.emtSolars, 1, 1), new ItemStack(EMTBlocks.emtSolars, 1, 1), + new ItemStack(EMTBlocks.emtSolars, 1, 1), new ItemStack(EMTBlocks.emtSolars, 1, 1), new ItemStack(EMTBlocks.emtSolars, 1, 1), new ItemStack(EMTBlocks.emtSolars, 1, 1), new ItemStack(EMTBlocks.emtSolars, 1, 1) }); - electricHoeGrowth = ThaumcraftApi.addInfusionCraftingRecipe("Electric Hoe of Growth", EMTRandomHelper.getChargedItem(ItemRegistry.electricHoeGrowth, 10), 4, EMTCraftingAspects.electricHoeGrowth, new ItemStack(ConfigItems.itemHoeElemental), + electricHoeGrowth = ThaumcraftApi.addInfusionCraftingRecipe("Electric Hoe of Growth", EMTRandomHelper.getChargedItem(EMTItems.electricHoeGrowth, 10), 4, EMTCraftingAspects.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, EMTCraftingAspects.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) }); + chargeFocus = ThaumcraftApi.addInfusionCraftingRecipe("Wand Focus: Charging", new ItemStack(EMTItems.chargeFocus), 4, EMTCraftingAspects.chargeFocus, new ItemStack(IC2Items.getItem("advBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE), + new ItemStack[] { IC2Items.getItem("generator"), IC2Items.getItem("batBox"), new ItemStack(EMTItems.itemEMTItems, 1, 5), new ItemStack(EMTItems.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, EMTCraftingAspects.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") }); + wandChargeFocus = ThaumcraftApi.addInfusionCraftingRecipe("Wand Focus: Wand Charging", new ItemStack(EMTItems.wandChargeFocus), 5, EMTCraftingAspects.wandChargeFocus, new ItemStack(EMTBlocks.emtMachines, 1, 0), + new ItemStack[] { new ItemStack(EMTItems.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, EMTCraftingAspects.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("solarPanel"), ic2.core.Ic2Items.WindKineticGenerator, ic2.core.Ic2Items.WaterKineticGenerator, IC2Items.getItem("nuclearReactor") }); + inventoryChargingRing = ThaumcraftApi.addInfusionCraftingRecipe("Inventory Charging Ring", new ItemStack(EMTItems.emtBauble, 1, 1), 6, EMTCraftingAspects.inventoryChargingRing, new ItemStack(ConfigItems.itemBaubleBlanks, 1, 1), + new ItemStack[] { new ItemStack(EMTItems.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("generator"), IC2Items.getItem("geothermalGenerator"), IC2Items.getItem("solarPanel"), ic2.core.Ic2Items.WindKineticGenerator, ic2.core.Ic2Items.WaterKineticGenerator, IC2Items.getItem("nuclearReactor") }); - armorChargingRing = ThaumcraftApi.addInfusionCraftingRecipe("Armor Charging Ring", new ItemStack(ItemRegistry.emtBauble, 1, 0), 6, EMTCraftingAspects.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("solarPanel"), ic2.core.Ic2Items.WindKineticGenerator, ic2.core.Ic2Items.WaterKineticGenerator, IC2Items.getItem("nuclearReactor") }); + armorChargingRing = ThaumcraftApi.addInfusionCraftingRecipe("Armor Charging Ring", new ItemStack(EMTItems.emtBauble, 1, 0), 6, EMTCraftingAspects.armorChargingRing, new ItemStack(ConfigItems.itemBaubleBlanks, 1, 1), + new ItemStack[] { new ItemStack(EMTItems.electricBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("generator"), IC2Items.getItem("geothermalGenerator"), IC2Items.getItem("solarPanel"), ic2.core.Ic2Items.WindKineticGenerator, ic2.core.Ic2Items.WaterKineticGenerator, IC2Items.getItem("nuclearReactor") }); - nanoWings = ThaumcraftApi.addInfusionCraftingRecipe("Nanosuit Wings", EMTRandomHelper.getChargedItem(ItemRegistry.nanoWing, 10), 4, EMTCraftingAspects.nanoWing, new ItemStack(ItemRegistry.thaumiumWing), + nanoWings = ThaumcraftApi.addInfusionCraftingRecipe("Nanosuit Wings", EMTRandomHelper.getChargedItem(EMTItems.nanoWing, 10), 4, EMTCraftingAspects.nanoWing, new ItemStack(EMTItems.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", EMTRandomHelper.getChargedItem(ItemRegistry.quantumWing, 10), 6, EMTCraftingAspects.quantumWing, new ItemStack(ItemRegistry.nanoWing, 1, OreDictionary.WILDCARD_VALUE), + quantumWings = ThaumcraftApi.addInfusionCraftingRecipe("Quantum Wings", EMTRandomHelper.getChargedItem(EMTItems.quantumWing, 10), 6, EMTCraftingAspects.quantumWing, new ItemStack(EMTItems.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) }); - infusedQuantumArmor = ThaumcraftApi.addInfusionCraftingRecipe("Infused Quantum Armor", EMTRandomHelper.getChargedItem(ItemRegistry.quantumArmor, 10), 5, EMTCraftingAspects.quantumWing, new ItemStack(IC2Items.getItem("quantumBodyarmor").getItem(), 1, OreDictionary.WILDCARD_VALUE), - new ItemStack[] { new ItemStack(Items.diamond), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), new ItemStack(BlockRegistry.shield), new ItemStack(BlockRegistry.shield) }); + infusedQuantumArmor = ThaumcraftApi.addInfusionCraftingRecipe("Infused Quantum Armor", EMTRandomHelper.getChargedItem(EMTItems.quantumArmor, 10), 5, EMTCraftingAspects.quantumWing, new ItemStack(IC2Items.getItem("quantumBodyarmor").getItem(), 1, OreDictionary.WILDCARD_VALUE), + new ItemStack[] { new ItemStack(Items.diamond), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), new ItemStack(EMTBlocks.shield), new ItemStack(EMTBlocks.shield) }); /** Arcane Worktable Recipes **/ - diamondOmnitool = ThaumcraftApi.addShapelessArcaneCraftingRecipe("Diamond Omnitool", EMTRandomHelper.getChargedItem(ItemRegistry.diamondOmnitool, 10), EMTCraftingAspects.diamondOmnitoolCrafting, new ItemStack(ItemRegistry.diamondChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("diamondDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE)); + diamondOmnitool = ThaumcraftApi.addShapelessArcaneCraftingRecipe("Diamond Omnitool", EMTRandomHelper.getChargedItem(EMTItems.diamondOmnitool, 10), EMTCraftingAspects.diamondOmnitoolCrafting, new ItemStack(EMTItems.diamondChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("diamondDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE)); - ironOmnitoolToDiamond = ThaumcraftApi.addArcaneCraftingRecipe("Diamond Omnitool", new ItemStack(ItemRegistry.diamondOmnitool), EMTCraftingAspects.diamondOmnitoolCrafting, "XAX", "XBX", "XAX", 'X', new ItemStack(Items.diamond), 'A', IC2Items.getItem("advancedCircuit"), 'B', new ItemStack(ItemRegistry.ironOmnitool, 1, OreDictionary.WILDCARD_VALUE)); + ironOmnitoolToDiamond = ThaumcraftApi.addArcaneCraftingRecipe("Diamond Omnitool", new ItemStack(EMTItems.diamondOmnitool), EMTCraftingAspects.diamondOmnitoolCrafting, "XAX", "XBX", "XAX", 'X', new ItemStack(Items.diamond), 'A', IC2Items.getItem("advancedCircuit"), 'B', new ItemStack(EMTItems.ironOmnitool, 1, OreDictionary.WILDCARD_VALUE)); - christmasFocus = ThaumcraftApi.addArcaneCraftingRecipe("Kris-tmas Focus", new ItemStack(ItemRegistry.christmasFocus), EMTCraftingAspects.christmasFocusCrafting, "XYX", "YZY", "XYX", 'X', new ItemStack(Blocks.snow), 'Y', new ItemStack(Blocks.pumpkin), 'Z', new ItemStack(ConfigItems.itemFocusFrost)); + christmasFocus = ThaumcraftApi.addArcaneCraftingRecipe("Kris-tmas Focus", new ItemStack(EMTItems.christmasFocus), EMTCraftingAspects.christmasFocusCrafting, "XYX", "YZY", "XYX", 'X', new ItemStack(Blocks.snow), 'Y', new ItemStack(Blocks.pumpkin), 'Z', new ItemStack(ConfigItems.itemFocusFrost)); - electricGoggles = ThaumcraftApi.addArcaneCraftingRecipe("Electric Goggles", EMTRandomHelper.getChargedItem(ItemRegistry.electricGoggles, 10), EMTCraftingAspects.electricGogglesCrafting, " Y ", "AZA", "BXB", 'Z', new ItemStack(ConfigItems.itemGoggles), 'X', IC2Items.getItem("electronicCircuit"), 'Y', new ItemStack(Items.diamond_helmet), 'A', + electricGoggles = ThaumcraftApi.addArcaneCraftingRecipe("Electric Goggles", EMTRandomHelper.getChargedItem(EMTItems.electricGoggles, 10), EMTCraftingAspects.electricGogglesCrafting, " Y ", "AZA", "BXB", 'Z', new ItemStack(ConfigItems.itemGoggles), 'X', IC2Items.getItem("electronicCircuit"), 'Y', new ItemStack(Items.diamond_helmet), 'A', new ItemStack(IC2Items.getItem("reBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'B', Items.repeater); - electricGoggles2 = ThaumcraftApi.addArcaneCraftingRecipe("Electric Goggles", EMTRandomHelper.getChargedItem(ItemRegistry.electricGoggles, 10), EMTCraftingAspects.electricGogglesCrafting, " Y ", "AZA", "BXB", 'Z', new ItemStack(ConfigItems.itemGoggles), 'X', IC2Items.getItem("electronicCircuit"), 'Y', new ItemStack(Items.diamond_helmet), 'A', + electricGoggles2 = ThaumcraftApi.addArcaneCraftingRecipe("Electric Goggles", EMTRandomHelper.getChargedItem(EMTItems.electricGoggles, 10), EMTCraftingAspects.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 Block", new ItemStack(BlockRegistry.shield, 6), EMTCraftingAspects.shieldBlockCrafting, "XYX", "X X", "XYX", 'X', new ItemStack(Blocks.glass), 'Y', new ItemStack(Blocks.obsidian)); + shieldBlock = ThaumcraftApi.addArcaneCraftingRecipe("Shield Block", new ItemStack(EMTBlocks.shield, 6), EMTCraftingAspects.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), EMTCraftingAspects.tinyUraniumCrafting, IC2Items.getItem("Uran238")); - compressedSolar = ThaumcraftApi.addArcaneCraftingRecipe("Compressed Solars", new ItemStack(BlockRegistry.emtSolars, 1, 0), EMTCraftingAspects.compressedSolars, "XXX", "XXX", "XXX", 'X', IC2Items.getItem("solarPanel")); + compressedSolar = ThaumcraftApi.addArcaneCraftingRecipe("Compressed Solars", new ItemStack(EMTBlocks.emtSolars, 1, 0), EMTCraftingAspects.compressedSolars, "XXX", "XXX", "XXX", 'X', IC2Items.getItem("solarPanel")); - doubleCompressedSolar = ThaumcraftApi.addArcaneCraftingRecipe("Compressed Solars", new ItemStack(BlockRegistry.emtSolars, 1, 1), EMTCraftingAspects.compressedSolars, "XXX", "XXX", "XXX", 'X', new ItemStack(BlockRegistry.emtSolars, 1, 0)); + doubleCompressedSolar = ThaumcraftApi.addArcaneCraftingRecipe("Compressed Solars", new ItemStack(EMTBlocks.emtSolars, 1, 1), EMTCraftingAspects.compressedSolars, "XXX", "XXX", "XXX", 'X', new ItemStack(EMTBlocks.emtSolars, 1, 0)); - electricScribingTools = ThaumcraftApi.addArcaneCraftingRecipe("Electric Scribing Tools", EMTRandomHelper.getChargedItem(ItemRegistry.electricScribingTools, 10), EMTCraftingAspects.electricScribingTools, "YXY", "XZX", "YXY", 'Y', IC2Items.getItem("electronicCircuit"), 'X', new ItemStack(ConfigItems.itemInkwell), 'Z', + electricScribingTools = ThaumcraftApi.addArcaneCraftingRecipe("Electric Scribing Tools", EMTRandomHelper.getChargedItem(EMTItems.electricScribingTools, 10), EMTCraftingAspects.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, 14), EMTCraftingAspects.thaumiumWing, "XYZ", "XYZ", "XYZ", 'X', new ItemStack(ItemRegistry.itemEMTItems, 1, 13), 'Y', new ItemStack(ItemRegistry.itemEMTItems, 1, 5), 'Z', IC2Items.getItem("plateiron")); + thaumiumWing = ThaumcraftApi.addArcaneCraftingRecipe("Thaumium Reinforced Wings", new ItemStack(EMTItems.itemEMTItems, 1, 14), EMTCraftingAspects.thaumiumWing, "XYZ", "XYZ", "XYZ", 'X', new ItemStack(EMTItems.itemEMTItems, 1, 13), 'Y', new ItemStack(EMTItems.itemEMTItems, 1, 5), 'Z', IC2Items.getItem("plateiron")); - thaumiumWings = ThaumcraftApi.addArcaneCraftingRecipe("Thaumium Reinforced Wings", new ItemStack(ItemRegistry.thaumiumWing), EMTCraftingAspects.thaumiumWing, "XX", 'X', new ItemStack(ItemRegistry.itemEMTItems, 1, 14)); + thaumiumWings = ThaumcraftApi.addArcaneCraftingRecipe("Thaumium Reinforced Wings", new ItemStack(EMTItems.thaumiumWing), EMTCraftingAspects.thaumiumWing, "XX", 'X', new ItemStack(EMTItems.itemEMTItems, 1, 14)); /** Crucible Recipes **/ - ignisGenerator = ThaumcraftApi.addCrucibleRecipe("Ignis Generator", new ItemStack(BlockRegistry.essentiaGens, 1, 1), new ItemStack(BlockRegistry.essentiaGens, 1, 0), EMTCraftingAspects.ignisGeneratorCrafting); + ignisGenerator = ThaumcraftApi.addCrucibleRecipe("Ignis Generator", new ItemStack(EMTBlocks.essentiaGens, 1, 1), new ItemStack(EMTBlocks.essentiaGens, 1, 0), EMTCraftingAspects.ignisGeneratorCrafting); - auramGenerator = ThaumcraftApi.addCrucibleRecipe("Auram Generator", new ItemStack(BlockRegistry.essentiaGens, 1, 2), new ItemStack(BlockRegistry.essentiaGens, 1, 0), EMTCraftingAspects.auramGeneratorCrafting); + auramGenerator = ThaumcraftApi.addCrucibleRecipe("Auram Generator", new ItemStack(EMTBlocks.essentiaGens, 1, 2), new ItemStack(EMTBlocks.essentiaGens, 1, 0), EMTCraftingAspects.auramGeneratorCrafting); - arborGenerator = ThaumcraftApi.addCrucibleRecipe("Arbor Generator", new ItemStack(BlockRegistry.essentiaGens, 1, 3), new ItemStack(BlockRegistry.essentiaGens, 1, 0), EMTCraftingAspects.arborGeneratorCrafting); + arborGenerator = ThaumcraftApi.addCrucibleRecipe("Arbor Generator", new ItemStack(EMTBlocks.essentiaGens, 1, 3), new ItemStack(EMTBlocks.essentiaGens, 1, 0), EMTCraftingAspects.arborGeneratorCrafting); - aerGenerator = ThaumcraftApi.addCrucibleRecipe("Aer Generator", new ItemStack(BlockRegistry.essentiaGens, 1, 4), new ItemStack(BlockRegistry.essentiaGens, 1, 0), EMTCraftingAspects.aerGenerator); + aerGenerator = ThaumcraftApi.addCrucibleRecipe("Aer Generator", new ItemStack(EMTBlocks.essentiaGens, 1, 4), new ItemStack(EMTBlocks.essentiaGens, 1, 0), EMTCraftingAspects.aerGenerator); - waterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 3), new ItemStack(BlockRegistry.emtSolars, 1, 0), EMTCraftingAspects.waterSolars); + waterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars, 1, 3), new ItemStack(EMTBlocks.emtSolars, 1, 0), EMTCraftingAspects.waterSolars); - doubleWaterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 4), new ItemStack(BlockRegistry.emtSolars, 1, 1), EMTCraftingAspects.waterSolars); + doubleWaterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars, 1, 4), new ItemStack(EMTBlocks.emtSolars, 1, 1), EMTCraftingAspects.waterSolars); - tripleWaterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 5), new ItemStack(BlockRegistry.emtSolars, 1, 2), EMTCraftingAspects.waterSolars); + tripleWaterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars, 1, 5), new ItemStack(EMTBlocks.emtSolars, 1, 2), EMTCraftingAspects.waterSolars); - darkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 6), new ItemStack(BlockRegistry.emtSolars, 1, 0), EMTCraftingAspects.darkSolars); + darkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars, 1, 6), new ItemStack(EMTBlocks.emtSolars, 1, 0), EMTCraftingAspects.darkSolars); - doubleDarkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 7), new ItemStack(BlockRegistry.emtSolars, 1, 1), EMTCraftingAspects.darkSolars); + doubleDarkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars, 1, 7), new ItemStack(EMTBlocks.emtSolars, 1, 1), EMTCraftingAspects.darkSolars); - tripleDarkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 8), new ItemStack(BlockRegistry.emtSolars, 1, 2), EMTCraftingAspects.darkSolars); + tripleDarkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars, 1, 8), new ItemStack(EMTBlocks.emtSolars, 1, 2), EMTCraftingAspects.darkSolars); - orderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 9), new ItemStack(BlockRegistry.emtSolars, 1, 0), EMTCraftingAspects.orderSolars); + orderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars, 1, 9), new ItemStack(EMTBlocks.emtSolars, 1, 0), EMTCraftingAspects.orderSolars); - doubleOrderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 10), new ItemStack(BlockRegistry.emtSolars, 1, 1), EMTCraftingAspects.orderSolars); + doubleOrderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars, 1, 10), new ItemStack(EMTBlocks.emtSolars, 1, 1), EMTCraftingAspects.orderSolars); - tripleOrderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 11), new ItemStack(BlockRegistry.emtSolars, 1, 2), EMTCraftingAspects.orderSolars); + tripleOrderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars, 1, 11), new ItemStack(EMTBlocks.emtSolars, 1, 2), EMTCraftingAspects.orderSolars); - fireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 12), new ItemStack(BlockRegistry.emtSolars, 1, 0), EMTCraftingAspects.fireSolars); + fireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars, 1, 12), new ItemStack(EMTBlocks.emtSolars, 1, 0), EMTCraftingAspects.fireSolars); - doubleFireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 13), new ItemStack(BlockRegistry.emtSolars, 1, 1), EMTCraftingAspects.fireSolars); + doubleFireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars, 1, 13), new ItemStack(EMTBlocks.emtSolars, 1, 1), EMTCraftingAspects.fireSolars); - tripleFireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 14), new ItemStack(BlockRegistry.emtSolars, 1, 2), EMTCraftingAspects.fireSolars); + tripleFireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars, 1, 14), new ItemStack(EMTBlocks.emtSolars, 1, 2), EMTCraftingAspects.fireSolars); - airSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 15), new ItemStack(BlockRegistry.emtSolars, 1, 0), EMTCraftingAspects.airSolars); + airSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars, 1, 15), new ItemStack(EMTBlocks.emtSolars, 1, 0), EMTCraftingAspects.airSolars); - doubleAirSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 0), new ItemStack(BlockRegistry.emtSolars, 1, 1), EMTCraftingAspects.airSolars); + doubleAirSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars2, 1, 0), new ItemStack(EMTBlocks.emtSolars, 1, 1), EMTCraftingAspects.airSolars); - tripleAirSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 2), EMTCraftingAspects.airSolars); + tripleAirSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars2, 1, 1), new ItemStack(EMTBlocks.emtSolars, 1, 2), EMTCraftingAspects.airSolars); - earthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 2), new ItemStack(BlockRegistry.emtSolars, 1, 0), EMTCraftingAspects.earthSolars); + earthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars2, 1, 2), new ItemStack(EMTBlocks.emtSolars, 1, 0), EMTCraftingAspects.earthSolars); - doubleEarthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 3), new ItemStack(BlockRegistry.emtSolars, 1, 1), EMTCraftingAspects.earthSolars); + doubleEarthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars2, 1, 3), new ItemStack(EMTBlocks.emtSolars, 1, 1), EMTCraftingAspects.earthSolars); - tripleEarthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 4), new ItemStack(BlockRegistry.emtSolars, 1, 2), EMTCraftingAspects.earthSolars); + tripleEarthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(EMTBlocks.emtSolars2, 1, 4), new ItemStack(EMTBlocks.emtSolars, 1, 2), EMTCraftingAspects.earthSolars); ItemStack itemStack = new ItemStack(ConfigItems.itemJarNode); ((ItemJarNode) itemStack.getItem()).setAspects(itemStack, new AspectList()); - portableNode = ThaumcraftApi.addCrucibleRecipe("Portable Node", new ItemStack(BlockRegistry.portableNode), itemStack, EMTCraftingAspects.portableNode); + portableNode = ThaumcraftApi.addCrucibleRecipe("Portable Node", new ItemStack(EMTBlocks.portableNode), itemStack, EMTCraftingAspects.portableNode); - uuMCrystal = ThaumcraftApi.addCrucibleRecipe("UU-Matter Infusion", new ItemStack(ItemRegistry.itemEMTItems, 1, 15), Ic2Items.uuMatterCell.copy(), EMTCraftingAspects.uuMatterCrystal); + uuMCrystal = ThaumcraftApi.addCrucibleRecipe("UU-Matter Infusion", new ItemStack(EMTItems.itemEMTItems, 1, 15), Ic2Items.uuMatterCell.copy(), EMTCraftingAspects.uuMatterCrystal); /** IC2 Stuff related recipes **/ @@ -353,8 +353,8 @@ public class RecipeRegistry { 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)); + thaumiumPlate = GameRegistry.addShapedRecipe(new ItemStack(EMTItems.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(EMTItems.itemEMTItems, 1, 5)); /* Ore Processing for Amber and Cinnabar */ if (EMTConfigHandler.removeAmberAndCinnabarMacerating) { @@ -374,11 +374,11 @@ public class RecipeRegistry { } } } - ItemStack crushedAmberRecipe = new ItemStack(ItemRegistry.itemEMTItems, 1, 1); + ItemStack crushedAmberRecipe = new ItemStack(EMTItems.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); + ItemStack crushedCinnabarRecipe = new ItemStack(EMTItems.itemEMTItems, 1, 3); crushedCinnabarRecipe.stackSize = 2; Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigBlocks.blockCustomOre, 1, 0)), null, crushedCinnabarRecipe); @@ -390,14 +390,14 @@ public class RecipeRegistry { 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") }); + Recipes.oreWashing.addRecipe(new RecipeInputItemStack(new ItemStack(EMTItems.itemEMTItems, 1, 1)), waterAmount, new ItemStack[] { new ItemStack(EMTItems.itemEMTItems, 1, 2), smallCopperDust, IC2Items.getItem("stoneDust") }); + Recipes.oreWashing.addRecipe(new RecipeInputItemStack(new ItemStack(EMTItems.itemEMTItems, 1, 3)), waterAmount, new ItemStack[] { new ItemStack(EMTItems.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) }); + Recipes.centrifuge.addRecipe(new RecipeInputItemStack(new ItemStack(EMTItems.itemEMTItems, 1, 2)), heatAmount, new ItemStack[] { IC2Items.getItem("smallCopperDust"), new ItemStack(ConfigItems.itemResource, 1, 6) }); + Recipes.centrifuge.addRecipe(new RecipeInputItemStack(new ItemStack(EMTItems.itemEMTItems, 1, 4)), heatAmount, new ItemStack[] { IC2Items.getItem("smallTinDust"), new ItemStack(ConfigItems.itemResource, 1, 3) }); } diff --git a/src/main/java/emt/init/EMTResearches.java b/src/main/java/emt/init/EMTResearches.java new file mode 100644 index 0000000..b21eff9 --- /dev/null +++ b/src/main/java/emt/init/EMTResearches.java @@ -0,0 +1,286 @@ +package emt.init; + +import emt.ModInformation; +import emt.client.EMTKeys; +import emt.util.EMTConfigHandler; +import emt.util.EMTResearchAspects; +import emt.util.EMTResearchItem; +import ic2.api.item.IC2Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.research.ResearchCategories; +import thaumcraft.api.research.ResearchItem; +import thaumcraft.api.research.ResearchPage; + +public class EMTResearches { + public static void register() { + addResearchTab(); + addResearch(); + } + + public static void addResearchTab() { + ResourceLocation background = new ResourceLocation(ModInformation.texturePath, "textures/misc/background.png"); + ResearchCategories.registerCategory("EMT", new ResourceLocation(ModInformation.texturePath, "textures/blocks/electricCloud.png"), background); + } + + public static void addResearch() { + /** Research that can't be disabled **/ + new EMTResearchItem("Electric Magic Tools", 0, 0, 0, new ResourceLocation(ModInformation.texturePath, "textures/misc/emt.png")).setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage("")); + new EMTResearchItem("Diamond Chainsaw", 5, -6, 0, new ItemStack(EMTItems.diamondChainsaw)).setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.diamondChainsaw)); + new EMTResearchItem("Thaumium Plate", 6, -6, 0, new ItemStack(EMTItems.itemEMTItems, 1, 5)).setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.thaumiumPlate)); + new EMTResearchItem("Macerating Native Ore Clusters", 5, -7, 0, IC2Items.getItem("smallGoldDust")).setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage("")); + new EMTResearchItem("The Legend", 5, -5, 0, new ItemStack(EMTItems.taintedThorHammer)).setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage("")); + new EMTResearchItem("Lightning Summoner", 6, -5, 0, new ItemStack(EMTItems.itemEMTItems, 1, 6)).setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage("")); + new EMTResearchItem("The One Ring", 6, -7, 0, new ItemStack(EMTItems.onering)).setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage("")); + new EMTResearchItem("Electric Cloud", 4, -7, 0, new ItemStack(EMTBlocks.electricCloud)).setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage("1"), new ResearchPage("2")); + new EMTResearchItem("Feather Wings", 0, 2, 0, new ItemStack(EMTItems.featherWing)).setParents("Electric Magic Tools").setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage(EMTRecipes.cardboard), new ResearchPage(EMTRecipes.featherWing), new ResearchPage(EMTRecipes.featherWings)); + + /** Research that can be disabled **/ + if (!EMTConfigHandler.thaumiumDrillResearch) { + new EMTResearchItem("Thaumium Drill", EMTResearchAspects.thaumiumDrillResearch, -1, -2, 1, new ItemStack(EMTItems.thaumiumDrill)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.thaumiumDrill)); + } + + if (!EMTConfigHandler.thaumiumChainsawResearch) { + new EMTResearchItem("Thaumium Chainsaw", EMTResearchAspects.thaumiumChainsawResearch, -2, -2, 1, new ItemStack(EMTItems.thaumiumChainsaw)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.thaumiumChainsaw)); + } + + if (!EMTConfigHandler.electricGooglesResearch) { + new EMTResearchItem("Electric Goggles", EMTResearchAspects.electricGogglesResearch, 1, -2, 1, new ItemStack(EMTItems.electricGoggles)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.electricGoggles)); + } + + if (!EMTConfigHandler.electricGooglesResearch) { + if (!EMTConfigHandler.nanoGooglesResearch) { + ; + new EMTResearchItem("Nanosuit Goggles of Revealing", EMTResearchAspects.thaumicNanoHelmet, 2, -2, 2, new ItemStack(EMTItems.nanoThaumicHelmet)).setParents("Electric Goggles").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.thaumicNanoHelmet)); + } + } + + if (!EMTConfigHandler.electricGooglesResearch) { + if (!EMTConfigHandler.nanoGooglesResearch) { + if (!EMTConfigHandler.quantumGooglesResearch) { + new EMTResearchItem("Quantum Goggles of Revealing", EMTResearchAspects.thaumicQuantumHelmet, 3, -2, 3, new ItemStack(EMTItems.quantumThaumicHelmet)).setParents("Nanosuit Goggles of Revealing").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.thaumicQuantumHelmet)); + } + } + } + + if (!EMTConfigHandler.ironOmnitoolResearch) { + new EMTResearchItem("Iron Omnitool", -2, 0, 0, new ItemStack(EMTItems.ironOmnitool)).setParents("Electric Magic Tools").setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.ironOmnitool)); + } + + if (!EMTConfigHandler.ironOmnitoolResearch) { + if (!EMTConfigHandler.diamondOmnitoolResearch) { + new EMTResearchItem("Diamond Omnitool", EMTResearchAspects.diamondOmnitoolResearch, -4, 0, 1, new ItemStack(EMTItems.diamondOmnitool)).setSecondary().setParents("Iron Omnitool").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.diamondOmnitool), new ResearchPage(EMTRecipes.ironOmnitoolToDiamond)); + } + } + + if (!EMTConfigHandler.thaumiumDrillResearch && !EMTConfigHandler.thaumiumChainsawResearch) { + if (!EMTConfigHandler.thaumiumOmnitoolResearch) { + new EMTResearchItem("Thaumium Omnitool", EMTResearchAspects.thaumiumOmnitoolResearch, -6, 0, 2, new ItemStack(EMTItems.thaumiumOmnitool)).setParentsHidden("Thaumium Drill", "Thaumium Chainsaw").setParents("Diamond Omnitool").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.thaumiumOmnitool), + new ResearchPage(EMTRecipes.diamondOmnitoolToThaumium)); + } + } + + if (!EMTConfigHandler.explosionFocusResearch) { + new EMTResearchItem("Explosion Focus", EMTResearchAspects.laserFocusResearch, 2, 3, 2, new ItemStack(EMTItems.explosionFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.explosionFocus)); + } + + if (!EMTConfigHandler.christmasFocusResearch) { + new EMTResearchItem("Kris-tmas Focus", EMTResearchAspects.christmasFocusResearch, 3, 3, 1, new ItemStack(EMTItems.christmasFocus)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.christmasFocus)); + } + + if (!EMTConfigHandler.shieldFocusResearch) { + new EMTResearchItem("Shield Focus", EMTResearchAspects.shieldFocusResearch, 4, 3, 2, new ItemStack(EMTItems.shieldFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.shieldFocus)); + } + + if (!EMTConfigHandler.shieldFocusResearch) { + if (!EMTConfigHandler.shieldBlockResearch) { + new EMTResearchItem("Shield Block", EMTResearchAspects.shieldBlockResearch, 4, 5, 1, new ItemStack(EMTBlocks.shield)).setSecondary().setParents("Shield Focus").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.shieldBlock)); + } + } + + if (!EMTConfigHandler.potentiaGeneratorResearch) { + new EMTResearchItem("Potentia Generator", EMTResearchAspects.potentiaGeneratorResearch, -2, 3, 3, new ItemStack(EMTBlocks.essentiaGens, 1, 0)).setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.potentiaGenerator)); + } + + if (!EMTConfigHandler.potentiaGeneratorResearch) { + if (!EMTConfigHandler.ignisGeneratorResearch) { + new EMTResearchItem("Ignis Generator", EMTResearchAspects.ignisGeneratorResearch, -3, 4, 1, new ItemStack(EMTBlocks.essentiaGens, 1, 1)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.ignisGenerator)); + } + } + + if (!EMTConfigHandler.potentiaGeneratorResearch) { + if (!EMTConfigHandler.auramGeneratorResearch) { + new EMTResearchItem("Auram Generator", EMTResearchAspects.auramGeneratorResearch, -1, 4, 1, new ItemStack(EMTBlocks.essentiaGens, 1, 2)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.auramGenerator)); + } + } + + if (!EMTConfigHandler.potentiaGeneratorResearch) { + if (!EMTConfigHandler.arborGeneratorResearch) { + new EMTResearchItem("Arbor Generator", EMTResearchAspects.arborGeneratorResearch, -2, 5, 1, new ItemStack(EMTBlocks.essentiaGens, 1, 3)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.arborGenerator)); + } + } + + if (!EMTConfigHandler.potentiaGeneratorResearch) { + if (!EMTConfigHandler.aerGeneratorResearch) { + new EMTResearchItem("Aer Generator", EMTResearchAspects.aerGenerator, -2, 6, 1, new ItemStack(EMTBlocks.essentiaGens, 1, 4)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.aerGenerator)); + } + } + + if (!EMTConfigHandler.potentiaGeneratorResearch) { + if (!EMTConfigHandler.wandChargingSationResearch) { + new EMTResearchItem("Industrial Wand Charging Station", EMTResearchAspects.wandCharger, -4, 2, 3, new ItemStack(EMTBlocks.emtMachines, 1, 0)).setParents("Potentia Generator").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.wandRecharger)); + } + } + + if (!EMTConfigHandler.thaumiumChainsawResearch) { + if (!EMTConfigHandler.streamChainsawResearch) { + new EMTResearchItem("Chainsaw of the Stream", EMTResearchAspects.streamChainsawResearch, -3, -4, 3, new ItemStack(EMTItems.streamChainsaw)).setParents("Thaumium Chainsaw").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.streamChainsaw)); + } + } + + if (!EMTConfigHandler.thaumiumDrillResearch) { + if (!EMTConfigHandler.rockbreakerDrillResearch) { + new EMTResearchItem("Drill of the Rockbreaker", EMTResearchAspects.rockbreakerDrillResearch, 0, -4, 3, new ItemStack(EMTItems.rockbreakerDrill)).setParents("Thaumium Drill").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.rockbreakerDrill)); + } + } + + if (!EMTConfigHandler.tinyUraniumResearch) { + new EMTResearchItem("Tiny Uranium", EMTResearchAspects.tinyUraniumResearch, -5, -5, 1, IC2Items.getItem("Uran238")).setSecondary().setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.tinyUranium)); + } + + if (!EMTConfigHandler.thorHammerResearch) { + new EMTResearchItem("Mjolnir", EMTResearchAspects.thorHammerResearch, -5, 5, 3, new ItemStack(EMTItems.thorHammer)).setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.thorHammer)); + } + + if (!EMTConfigHandler.thorHammerResearch) { + if (!EMTConfigHandler.superchargedThorHammerResearch) { + new EMTResearchItem("Supercharged Mjolnir", EMTResearchAspects.superchargedThorHammerResearch, -6, 6, 3, new ItemStack(EMTItems.electricThorHammer)).setParents("Mjolnir").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.superchargedThorHammer)); + } + } + + if (!EMTConfigHandler.compressedSolarsResearch) { + new EMTResearchItem("Compressed Solars", EMTResearchAspects.compressedSolars, -4, -5, 2, new ItemStack(EMTBlocks.emtSolars)).setParentsHidden("Potentia Generator").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.compressedSolar), new ResearchPage(EMTRecipes.doubleCompressedSolar), + new ResearchPage(EMTRecipes.tripleCompressedSolar)); + } + + if (!EMTConfigHandler.compressedSolarsResearch) { + if (!EMTConfigHandler.solarHelmetResearch) { + new EMTResearchItem("Solar Helmet of Revealing", EMTResearchAspects.solarHelmetRevealing, -2, -5, 1, new ItemStack(EMTItems.solarHelmetRevealing)).setSecondary().setParents("Compressed Solars").setParentsHidden("Quantum Goggles of Revealing").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.solarHelmetRevealing)); + } + } + + if (!EMTConfigHandler.electricBootsResearch) { + new EMTResearchItem("Electric Boots of the Traveller", EMTResearchAspects.electricBootsTravel, 2, 0, 1, new ItemStack(EMTItems.electricBootsTraveller)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.electricBootsTravel)); + } + + if (!EMTConfigHandler.electricBootsResearch) { + if (!EMTConfigHandler.nanoBootsResearch) { + new EMTResearchItem("Nano Boots of the Traveller", EMTResearchAspects.nanoBootsTravel, 4, 0, 2, new ItemStack(EMTItems.nanoBootsTraveller)).setParents("Electric Boots of the Traveller").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.nanoBootsTravel)); + } + } + + if (!EMTConfigHandler.electricBootsResearch) { + if (!EMTConfigHandler.nanoBootsResearch) { + if (!EMTConfigHandler.quantumBootsResearch) { + new EMTResearchItem("Quantum Boots of the Traveller", EMTResearchAspects.quantumBootsTravel, 6, 0, 3, new ItemStack(EMTItems.quantumBootsTraveller)).setParents("Nano Boots of the Traveller").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.quantumBootsTravel)); + } + } + } + + if (!EMTConfigHandler.electricScribingToolsResearch) { + new EMTResearchItem("Electric Scribing Tools", EMTResearchAspects.electricScribingTools, -6, -5, 1, new ItemStack(EMTItems.electricScribingTools)).setSecondary().setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.electricScribingTools)); + } + + if (!EMTConfigHandler.etherealProcessorResearch) { + new EMTResearchItem("Etheral Processor", EMTResearchAspects.etherealProcessor, -1, 2, 2, new ItemStack(EMTBlocks.emtMachines, 1, 1)).setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.etheralProcessor)); + } + + if (!EMTConfigHandler.compressedSolarsResearch) { + if (!EMTConfigHandler.waterSolarsResearch) { + new EMTResearchItem("Water Infused Solar Panels", EMTResearchAspects.waterSolars, -7, -7, 1, new ItemStack(EMTBlocks.emtSolars, 1, 3)).setSecondary().setParents("Compressed Solars").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.waterSolar), new ResearchPage(EMTRecipes.doubleWaterSolar), + new ResearchPage(EMTRecipes.tripleWaterSolar)); + } + } + + if (!EMTConfigHandler.compressedSolarsResearch) { + if (!EMTConfigHandler.darkSolarsResearch) { + new EMTResearchItem("Entropy Infused Solar Panels", EMTResearchAspects.darkSolars, -8, -6, 1, new ItemStack(EMTBlocks.emtSolars, 1, 6)).setSecondary().setParents("Compressed Solars").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.darkSolar), new ResearchPage(EMTRecipes.doubleDarkSolar), + new ResearchPage(EMTRecipes.tripleDarkSolar)); + } + } + + if (!EMTConfigHandler.compressedSolarsResearch) { + if (!EMTConfigHandler.orderSolarsResearch) { + new EMTResearchItem("Order Infused Solar Panels", EMTResearchAspects.orderSolars, -6, -8, 1, new ItemStack(EMTBlocks.emtSolars, 1, 9)).setSecondary().setParents("Compressed Solars").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.orderSolar), new ResearchPage(EMTRecipes.doubleOrderSolar), + new ResearchPage(EMTRecipes.tripleOrderSolar)); + } + } + + if (!EMTConfigHandler.compressedSolarsResearch) { + if (!EMTConfigHandler.fireSolarsResearch) { + new EMTResearchItem("Fire Infused Solar Panels", EMTResearchAspects.fireSolars, -5, -7, 1, new ItemStack(EMTBlocks.emtSolars, 1, 12)).setSecondary().setParents("Compressed Solars").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.fireSolar), new ResearchPage(EMTRecipes.doubleFireSolar), + new ResearchPage(EMTRecipes.tripleFireSolar)); + } + } + + if (!EMTConfigHandler.compressedSolarsResearch) { + if (!EMTConfigHandler.airSolarsResearch) { + new EMTResearchItem("Air Infused Solar Panels", EMTResearchAspects.airSolars, -4, -6, 1, new ItemStack(EMTBlocks.emtSolars, 1, 15)).setSecondary().setParents("Compressed Solars").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.airSolar), new ResearchPage(EMTRecipes.doubleAirSolar), new ResearchPage(EMTRecipes.tripleAirSolar)); + } + } + + if (!EMTConfigHandler.compressedSolarsResearch) { + if (!EMTConfigHandler.earthSolarsResearch) { + new EMTResearchItem("Earth Infused Solar Panels", EMTResearchAspects.earthSolars, -6, -7, 1, new ItemStack(EMTBlocks.emtSolars2, 1, 2)).setSecondary().setParents("Compressed Solars").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.earthSolar), new ResearchPage(EMTRecipes.doubleEarthSolar), + new ResearchPage(EMTRecipes.tripleEarthSolar)); + } + } + + if (!EMTConfigHandler.uuMInfusionResearch) { + new EMTResearchItem("UU-Matter Infusion", EMTResearchAspects.uuMInfusion, 5, 5, 3, new ItemStack(EMTItems.itemEMTItems, 1, 15)).setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.uuMCrystal), new ResearchPage(EMTRecipes.charcoalToCoal), + new ResearchPage(EMTRecipes.glowstoneDustToBlock), new ResearchPage(EMTRecipes.stoneBricksToIronOre), new ResearchPage(EMTRecipes.arcaneStoneToCopperOre), new ResearchPage(EMTRecipes.arcaneStoneBricksToTinOre), new ResearchPage(EMTRecipes.amberBlockToLeadOre), new ResearchPage(EMTRecipes.amberBricksToUraniumOre), + new ResearchPage(EMTRecipes.shardToResin), new ResearchPage(EMTRecipes.shardToRedstone), new ResearchPage(EMTRecipes.shardToLapis), new ResearchPage(EMTRecipes.ironToGold), new ResearchPage(EMTRecipes.goldToDiamond), new ResearchPage(EMTRecipes.diamondToUranium), new ResearchPage(EMTRecipes.uraniumToIridium)); + } + + if (!EMTConfigHandler.portableNodeResarch) { + new EMTResearchItem("Portable Node", EMTResearchAspects.portableNode, 2, 5, 3, new ItemStack(EMTBlocks.portableNode)).setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.portableNode)); + } + + if (!EMTConfigHandler.electricHoeGrowthResearch) { + new EMTResearchItem("Electric Hoe of Growth", EMTResearchAspects.electricHoeGrowth, -1, -4, 2, new ItemStack(EMTItems.electricHoeGrowth)).setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.electricHoeGrowth)); + } + + if (!EMTConfigHandler.chargeFocusResearch) { + new EMTResearchItem("Wand Focus: Charging", EMTResearchAspects.chargeFocus, 5, 3, 2, new ItemStack(EMTItems.chargeFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.chargeFocus)); + } + + if (!EMTConfigHandler.wandChargeFocusResearch) { + new EMTResearchItem("Wand Focus: Wand Charging", EMTResearchAspects.wandChargeFocus, 7, 3, 3, new ItemStack(EMTItems.wandChargeFocus)).setParents("Wand Focus: Charging").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.wandChargeFocus)); + } + + if (!EMTConfigHandler.inventoryChargingRing) { + new EMTResearchItem("Inventory Charging Ring", EMTResearchAspects.inventoryChargingRing, 0, -5, 3, new ItemStack(EMTItems.emtBauble, 1, 1)).setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.inventoryChargingRing)); + } + + if (!EMTConfigHandler.armorChargingRing) { + new EMTResearchItem("Armor Charging Ring", EMTResearchAspects.armorChargingRing, 0, -7, 3, new ItemStack(EMTItems.emtBauble, 1, 0)).setSecondary().setParents("Inventory Charging Ring").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.armorChargingRing)); + } + + if (!EMTConfigHandler.thaumiumWingResearch) { + new EMTResearchItem("Thaumium Reinforced Wings", EMTResearchAspects.thaumiumWing, 0, 4, 0, new ItemStack(EMTItems.thaumiumWing)).setSecondary().setParents("Feather Wings").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.thaumiumWing), new ResearchPage(EMTRecipes.thaumiumWings)); + } + + if (!EMTConfigHandler.nanoWingResearch && !EMTConfigHandler.thaumiumWingResearch) { + new EMTResearchItem("Nanosuit Wings", EMTResearchAspects.nanoWing, 0, 6, 2, new ItemStack(EMTItems.nanoWing)).setParents("Thaumium Reinforced Wings").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.nanoWings)); + } + + if (!EMTConfigHandler.quantumWingsResearch && !EMTConfigHandler.thaumiumWingResearch && !EMTConfigHandler.nanoWingResearch) { + new EMTResearchItem("Quantum Wings", EMTResearchAspects.quantumWing, 0, 8, 3, new ItemStack(EMTItems.quantumWing)).setParents("Nanosuit Wings").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.quantumWings)); + } + + if (!EMTConfigHandler.infusedQuantumChestplate && !EMTConfigHandler.thaumiumWingResearch && !EMTConfigHandler.nanoWingResearch && !EMTConfigHandler.quantumWingsResearch) { + new EMTResearchItem("Infused Quantum Armor", EMTResearchAspects.quantumWing, 0, 10, 4, new ItemStack(EMTItems.quantumArmor)).setParents("Quantum Wings").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(EMTRecipes.infusedQuantumArmor)); + } + } +} diff --git a/src/main/java/emt/init/TileRegistry.java b/src/main/java/emt/init/EMTTiles.java similarity index 99% rename from src/main/java/emt/init/TileRegistry.java rename to src/main/java/emt/init/EMTTiles.java index ca49fc3..425e5e9 100644 --- a/src/main/java/emt/init/TileRegistry.java +++ b/src/main/java/emt/init/EMTTiles.java @@ -32,7 +32,7 @@ import emt.tile.solar.water.TileEntityDoubleWaterSolar; import emt.tile.solar.water.TileEntityTripleWaterSolar; import emt.tile.solar.water.TileEntityWaterSolar; -public class TileRegistry { +public class EMTTiles { public static void registerTiles() { GameRegistry.registerTileEntity(TileEntityPortableNode.class, "tileentityportablenode"); diff --git a/src/main/java/emt/init/Registry.java b/src/main/java/emt/init/Registry.java index 308db43..b4e7d6e 100644 --- a/src/main/java/emt/init/Registry.java +++ b/src/main/java/emt/init/Registry.java @@ -2,15 +2,15 @@ package emt.init; public class Registry { public static void register() { - BlockRegistry.registerBlocks(); - ItemRegistry.registerItems(); - TileRegistry.registerTiles(); - RecipeRegistry.registerEarlyRecipes(); + EMTBlocks.registerBlocks(); + EMTItems.registerItems(); + EMTTiles.registerTiles(); + EMTRecipes.registerEarlyRecipes(); } public static void registerLate() { - BlockRegistry.addAspects(); - RecipeRegistry.registerLateRecipes(); - RecipeRegistry.registerUUMInfusionRecipes(); + EMTBlocks.addAspects(); + EMTRecipes.registerLateRecipes(); + EMTRecipes.registerUUMInfusionRecipes(); } } diff --git a/src/main/java/emt/init/Researches.java b/src/main/java/emt/init/Researches.java deleted file mode 100644 index ceede49..0000000 --- a/src/main/java/emt/init/Researches.java +++ /dev/null @@ -1,286 +0,0 @@ -package emt.init; - -import emt.ModInformation; -import emt.client.EMTKeys; -import emt.util.EMTConfigHandler; -import emt.util.EMTResearchAspects; -import emt.util.EMTResearchItem; -import ic2.api.item.IC2Items; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import thaumcraft.api.aspects.AspectList; -import thaumcraft.api.research.ResearchCategories; -import thaumcraft.api.research.ResearchItem; -import thaumcraft.api.research.ResearchPage; - -public class Researches { - public static void register() { - addResearchTab(); - addResearch(); - } - - public static void addResearchTab() { - ResourceLocation background = new ResourceLocation(ModInformation.texturePath, "textures/misc/background.png"); - ResearchCategories.registerCategory("EMT", new ResourceLocation("electromagictools:textures/misc/emt.png"), background); - } - - public static void addResearch() { - /** Research that can't be disabled **/ - new EMTResearchItem("Electric Magic Tools", 0, 0, 0, new ResourceLocation("electromagictools:textures/misc/emt.png")).setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage("")); - new EMTResearchItem("Diamond Chainsaw", 5, -6, 0, new ItemStack(ItemRegistry.diamondChainsaw)).setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.diamondChainsaw)); - new EMTResearchItem("Thaumium Plate", 6, -6, 0, new ItemStack(ItemRegistry.itemEMTItems, 1, 5)).setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.thaumiumPlate)); - new EMTResearchItem("Macerating Native Ore Clusters", 5, -7, 0, IC2Items.getItem("smallGoldDust")).setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage("")); - new EMTResearchItem("The Legend", 5, -5, 0, new ItemStack(ItemRegistry.taintedThorHammer)).setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage("")); - new EMTResearchItem("Lightning Summoner", 6, -5, 0, new ItemStack(ItemRegistry.itemEMTItems, 1, 6)).setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage("")); - new EMTResearchItem("The One Ring", 6, -7, 0, new ItemStack(ItemRegistry.onering)).setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage("")); - new EMTResearchItem("Electric Cloud", 4, -7, 0, new ItemStack(BlockRegistry.electricCloud)).setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage("1"), new ResearchPage("2")); - new EMTResearchItem("Feather Wings", 0, 2, 0, new ItemStack(ItemRegistry.featherWing)).setParents("Electric Magic Tools").setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage(RecipeRegistry.cardboard), new ResearchPage(RecipeRegistry.featherWing), new ResearchPage(RecipeRegistry.featherWings)); - - /** Research that can be disabled **/ - if (!EMTConfigHandler.thaumiumDrillResearch) { - new EMTResearchItem("Thaumium Drill", EMTResearchAspects.thaumiumDrillResearch, -1, -2, 1, new ItemStack(ItemRegistry.thaumiumDrill)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.thaumiumDrill)); - } - - if (!EMTConfigHandler.thaumiumChainsawResearch) { - new EMTResearchItem("Thaumium Chainsaw", EMTResearchAspects.thaumiumChainsawResearch, -2, -2, 1, new ItemStack(ItemRegistry.thaumiumChainsaw)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.thaumiumChainsaw)); - } - - if (!EMTConfigHandler.electricGooglesResearch) { - new EMTResearchItem("Electric Goggles", EMTResearchAspects.electricGogglesResearch, 1, -2, 1, new ItemStack(ItemRegistry.electricGoggles)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.electricGoggles)); - } - - if (!EMTConfigHandler.electricGooglesResearch) { - if (!EMTConfigHandler.nanoGooglesResearch) { - ; - new EMTResearchItem("Nanosuit Goggles of Revealing", EMTResearchAspects.thaumicNanoHelmet, 2, -2, 2, new ItemStack(ItemRegistry.nanoThaumicHelmet)).setParents("Electric Goggles").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.thaumicNanoHelmet)); - } - } - - if (!EMTConfigHandler.electricGooglesResearch) { - if (!EMTConfigHandler.nanoGooglesResearch) { - if (!EMTConfigHandler.quantumGooglesResearch) { - new EMTResearchItem("Quantum Goggles of Revealing", EMTResearchAspects.thaumicQuantumHelmet, 3, -2, 3, new ItemStack(ItemRegistry.quantumThaumicHelmet)).setParents("Nanosuit Goggles of Revealing").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.thaumicQuantumHelmet)); - } - } - } - - if (!EMTConfigHandler.ironOmnitoolResearch) { - new EMTResearchItem("Iron Omnitool", -2, 0, 0, new ItemStack(ItemRegistry.ironOmnitool)).setParents("Electric Magic Tools").setRound().setAutoUnlock().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.ironOmnitool)); - } - - if (!EMTConfigHandler.ironOmnitoolResearch) { - if (!EMTConfigHandler.diamondOmnitoolResearch) { - new EMTResearchItem("Diamond Omnitool", EMTResearchAspects.diamondOmnitoolResearch, -4, 0, 1, new ItemStack(ItemRegistry.diamondOmnitool)).setSecondary().setParents("Iron Omnitool").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.diamondOmnitool), new ResearchPage(RecipeRegistry.ironOmnitoolToDiamond)); - } - } - - if (!EMTConfigHandler.thaumiumDrillResearch && !EMTConfigHandler.thaumiumChainsawResearch) { - if (!EMTConfigHandler.thaumiumOmnitoolResearch) { - new EMTResearchItem("Thaumium Omnitool", EMTResearchAspects.thaumiumOmnitoolResearch, -6, 0, 2, new ItemStack(ItemRegistry.thaumiumOmnitool)).setParentsHidden("Thaumium Drill", "Thaumium Chainsaw").setParents("Diamond Omnitool").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.thaumiumOmnitool), - new ResearchPage(RecipeRegistry.diamondOmnitoolToThaumium)); - } - } - - if (!EMTConfigHandler.explosionFocusResearch) { - new EMTResearchItem("Explosion Focus", EMTResearchAspects.laserFocusResearch, 2, 3, 2, new ItemStack(ItemRegistry.explosionFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.explosionFocus)); - } - - if (!EMTConfigHandler.christmasFocusResearch) { - new EMTResearchItem("Kris-tmas Focus", EMTResearchAspects.christmasFocusResearch, 3, 3, 1, new ItemStack(ItemRegistry.christmasFocus)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.christmasFocus)); - } - - if (!EMTConfigHandler.shieldFocusResearch) { - new EMTResearchItem("Shield Focus", EMTResearchAspects.shieldFocusResearch, 4, 3, 2, new ItemStack(ItemRegistry.shieldFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.shieldFocus)); - } - - if (!EMTConfigHandler.shieldFocusResearch) { - if (!EMTConfigHandler.shieldBlockResearch) { - new EMTResearchItem("Shield Block", EMTResearchAspects.shieldBlockResearch, 4, 5, 1, new ItemStack(BlockRegistry.shield)).setSecondary().setParents("Shield Focus").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.shieldBlock)); - } - } - - if (!EMTConfigHandler.potentiaGeneratorResearch) { - new EMTResearchItem("Potentia Generator", EMTResearchAspects.potentiaGeneratorResearch, -2, 3, 3, new ItemStack(BlockRegistry.essentiaGens, 1, 0)).setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.potentiaGenerator)); - } - - if (!EMTConfigHandler.potentiaGeneratorResearch) { - if (!EMTConfigHandler.ignisGeneratorResearch) { - new EMTResearchItem("Ignis Generator", EMTResearchAspects.ignisGeneratorResearch, -3, 4, 1, new ItemStack(BlockRegistry.essentiaGens, 1, 1)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.ignisGenerator)); - } - } - - if (!EMTConfigHandler.potentiaGeneratorResearch) { - if (!EMTConfigHandler.auramGeneratorResearch) { - new EMTResearchItem("Auram Generator", EMTResearchAspects.auramGeneratorResearch, -1, 4, 1, new ItemStack(BlockRegistry.essentiaGens, 1, 2)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.auramGenerator)); - } - } - - if (!EMTConfigHandler.potentiaGeneratorResearch) { - if (!EMTConfigHandler.arborGeneratorResearch) { - new EMTResearchItem("Arbor Generator", EMTResearchAspects.arborGeneratorResearch, -2, 5, 1, new ItemStack(BlockRegistry.essentiaGens, 1, 3)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.arborGenerator)); - } - } - - if (!EMTConfigHandler.potentiaGeneratorResearch) { - if (!EMTConfigHandler.aerGeneratorResearch) { - new EMTResearchItem("Aer Generator", EMTResearchAspects.aerGenerator, -2, 6, 1, new ItemStack(BlockRegistry.essentiaGens, 1, 4)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.aerGenerator)); - } - } - - if (!EMTConfigHandler.potentiaGeneratorResearch) { - if (!EMTConfigHandler.wandChargingSationResearch) { - new EMTResearchItem("Industrial Wand Charging Station", EMTResearchAspects.wandCharger, -4, 2, 3, new ItemStack(BlockRegistry.emtMachines, 1, 0)).setParents("Potentia Generator").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.wandRecharger)); - } - } - - if (!EMTConfigHandler.thaumiumChainsawResearch) { - if (!EMTConfigHandler.streamChainsawResearch) { - new EMTResearchItem("Chainsaw of the Stream", EMTResearchAspects.streamChainsawResearch, -3, -4, 3, new ItemStack(ItemRegistry.streamChainsaw)).setParents("Thaumium Chainsaw").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.streamChainsaw)); - } - } - - if (!EMTConfigHandler.thaumiumDrillResearch) { - if (!EMTConfigHandler.rockbreakerDrillResearch) { - new EMTResearchItem("Drill of the Rockbreaker", EMTResearchAspects.rockbreakerDrillResearch, 0, -4, 3, new ItemStack(ItemRegistry.rockbreakerDrill)).setParents("Thaumium Drill").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.rockbreakerDrill)); - } - } - - if (!EMTConfigHandler.tinyUraniumResearch) { - new EMTResearchItem("Tiny Uranium", EMTResearchAspects.tinyUraniumResearch, -5, -5, 1, IC2Items.getItem("Uran238")).setSecondary().setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.tinyUranium)); - } - - if (!EMTConfigHandler.thorHammerResearch) { - new EMTResearchItem("Mjolnir", EMTResearchAspects.thorHammerResearch, -5, 5, 3, new ItemStack(ItemRegistry.thorHammer)).setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.thorHammer)); - } - - if (!EMTConfigHandler.thorHammerResearch) { - if (!EMTConfigHandler.superchargedThorHammerResearch) { - new EMTResearchItem("Supercharged Mjolnir", EMTResearchAspects.superchargedThorHammerResearch, -6, 6, 3, new ItemStack(ItemRegistry.electricThorHammer)).setParents("Mjolnir").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.superchargedThorHammer)); - } - } - - if (!EMTConfigHandler.compressedSolarsResearch) { - new EMTResearchItem("Compressed Solars", EMTResearchAspects.compressedSolars, -4, -5, 2, new ItemStack(BlockRegistry.emtSolars)).setParentsHidden("Potentia Generator").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.compressedSolar), new ResearchPage(RecipeRegistry.doubleCompressedSolar), - new ResearchPage(RecipeRegistry.tripleCompressedSolar)); - } - - if (!EMTConfigHandler.compressedSolarsResearch) { - if (!EMTConfigHandler.solarHelmetResearch) { - new EMTResearchItem("Solar Helmet of Revealing", EMTResearchAspects.solarHelmetRevealing, -2, -5, 1, new ItemStack(ItemRegistry.solarHelmetRevealing)).setSecondary().setParents("Compressed Solars").setParentsHidden("Quantum Goggles of Revealing").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.solarHelmetRevealing)); - } - } - - if (!EMTConfigHandler.electricBootsResearch) { - new EMTResearchItem("Electric Boots of the Traveller", EMTResearchAspects.electricBootsTravel, 2, 0, 1, new ItemStack(ItemRegistry.electricBootsTraveller)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.electricBootsTravel)); - } - - if (!EMTConfigHandler.electricBootsResearch) { - if (!EMTConfigHandler.nanoBootsResearch) { - new EMTResearchItem("Nano Boots of the Traveller", EMTResearchAspects.nanoBootsTravel, 4, 0, 2, new ItemStack(ItemRegistry.nanoBootsTraveller)).setParents("Electric Boots of the Traveller").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.nanoBootsTravel)); - } - } - - if (!EMTConfigHandler.electricBootsResearch) { - if (!EMTConfigHandler.nanoBootsResearch) { - if (!EMTConfigHandler.quantumBootsResearch) { - new EMTResearchItem("Quantum Boots of the Traveller", EMTResearchAspects.quantumBootsTravel, 6, 0, 3, new ItemStack(ItemRegistry.quantumBootsTraveller)).setParents("Nano Boots of the Traveller").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.quantumBootsTravel)); - } - } - } - - if (!EMTConfigHandler.electricScribingToolsResearch) { - new EMTResearchItem("Electric Scribing Tools", EMTResearchAspects.electricScribingTools, -6, -5, 1, new ItemStack(ItemRegistry.electricScribingTools)).setSecondary().setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.electricScribingTools)); - } - - if (!EMTConfigHandler.etherealProcessorResearch) { - new EMTResearchItem("Etheral Processor", EMTResearchAspects.etherealProcessor, -1, 2, 2, new ItemStack(BlockRegistry.emtMachines, 1, 1)).setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.etheralProcessor)); - } - - if (!EMTConfigHandler.compressedSolarsResearch) { - if (!EMTConfigHandler.waterSolarsResearch) { - new EMTResearchItem("Water Infused Solar Panels", EMTResearchAspects.waterSolars, -7, -7, 1, new ItemStack(BlockRegistry.emtSolars, 1, 3)).setSecondary().setParents("Compressed Solars").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.waterSolar), new ResearchPage(RecipeRegistry.doubleWaterSolar), - new ResearchPage(RecipeRegistry.tripleWaterSolar)); - } - } - - if (!EMTConfigHandler.compressedSolarsResearch) { - if (!EMTConfigHandler.darkSolarsResearch) { - new EMTResearchItem("Entropy Infused Solar Panels", EMTResearchAspects.darkSolars, -8, -6, 1, new ItemStack(BlockRegistry.emtSolars, 1, 6)).setSecondary().setParents("Compressed Solars").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.darkSolar), new ResearchPage(RecipeRegistry.doubleDarkSolar), - new ResearchPage(RecipeRegistry.tripleDarkSolar)); - } - } - - if (!EMTConfigHandler.compressedSolarsResearch) { - if (!EMTConfigHandler.orderSolarsResearch) { - new EMTResearchItem("Order Infused Solar Panels", EMTResearchAspects.orderSolars, -6, -8, 1, new ItemStack(BlockRegistry.emtSolars, 1, 9)).setSecondary().setParents("Compressed Solars").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.orderSolar), new ResearchPage(RecipeRegistry.doubleOrderSolar), - new ResearchPage(RecipeRegistry.tripleOrderSolar)); - } - } - - if (!EMTConfigHandler.compressedSolarsResearch) { - if (!EMTConfigHandler.fireSolarsResearch) { - new EMTResearchItem("Fire Infused Solar Panels", EMTResearchAspects.fireSolars, -5, -7, 1, new ItemStack(BlockRegistry.emtSolars, 1, 12)).setSecondary().setParents("Compressed Solars").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.fireSolar), new ResearchPage(RecipeRegistry.doubleFireSolar), - new ResearchPage(RecipeRegistry.tripleFireSolar)); - } - } - - if (!EMTConfigHandler.compressedSolarsResearch) { - if (!EMTConfigHandler.airSolarsResearch) { - new EMTResearchItem("Air Infused Solar Panels", EMTResearchAspects.airSolars, -4, -6, 1, new ItemStack(BlockRegistry.emtSolars, 1, 15)).setSecondary().setParents("Compressed Solars").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.airSolar), new ResearchPage(RecipeRegistry.doubleAirSolar), new ResearchPage(RecipeRegistry.tripleAirSolar)); - } - } - - if (!EMTConfigHandler.compressedSolarsResearch) { - if (!EMTConfigHandler.earthSolarsResearch) { - new EMTResearchItem("Earth Infused Solar Panels", EMTResearchAspects.earthSolars, -6, -7, 1, new ItemStack(BlockRegistry.emtSolars2, 1, 2)).setSecondary().setParents("Compressed Solars").registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.earthSolar), new ResearchPage(RecipeRegistry.doubleEarthSolar), - new ResearchPage(RecipeRegistry.tripleEarthSolar)); - } - } - - if (!EMTConfigHandler.uuMInfusionResearch) { - new EMTResearchItem("UU-Matter Infusion", EMTResearchAspects.uuMInfusion, 5, 5, 3, new ItemStack(ItemRegistry.itemEMTItems, 1, 15)).setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.uuMCrystal), new ResearchPage(RecipeRegistry.charcoalToCoal), - new ResearchPage(RecipeRegistry.glowstoneDustToBlock), new ResearchPage(RecipeRegistry.stoneBricksToIronOre), new ResearchPage(RecipeRegistry.arcaneStoneToCopperOre), new ResearchPage(RecipeRegistry.arcaneStoneBricksToTinOre), new ResearchPage(RecipeRegistry.amberBlockToLeadOre), new ResearchPage(RecipeRegistry.amberBricksToUraniumOre), - new ResearchPage(RecipeRegistry.shardToResin), new ResearchPage(RecipeRegistry.shardToRedstone), new ResearchPage(RecipeRegistry.shardToLapis), new ResearchPage(RecipeRegistry.ironToGold), new ResearchPage(RecipeRegistry.goldToDiamond), new ResearchPage(RecipeRegistry.diamondToUranium), new ResearchPage(RecipeRegistry.uraniumToIridium)); - } - - if (!EMTConfigHandler.portableNodeResarch) { - new EMTResearchItem("Portable Node", EMTResearchAspects.portableNode, 2, 5, 3, new ItemStack(BlockRegistry.portableNode)).setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.portableNode)); - } - - if (!EMTConfigHandler.electricHoeGrowthResearch) { - new EMTResearchItem("Electric Hoe of Growth", EMTResearchAspects.electricHoeGrowth, -1, -4, 2, new ItemStack(ItemRegistry.electricHoeGrowth)).setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.electricHoeGrowth)); - } - - if (!EMTConfigHandler.chargeFocusResearch) { - new EMTResearchItem("Wand Focus: Charging", EMTResearchAspects.chargeFocus, 5, 3, 2, new ItemStack(ItemRegistry.chargeFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.chargeFocus)); - } - - if (!EMTConfigHandler.wandChargeFocusResearch) { - new EMTResearchItem("Wand Focus: Wand Charging", EMTResearchAspects.wandChargeFocus, 7, 3, 3, new ItemStack(ItemRegistry.wandChargeFocus)).setParents("Wand Focus: Charging").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.wandChargeFocus)); - } - - if (!EMTConfigHandler.inventoryChargingRing) { - new EMTResearchItem("Inventory Charging Ring", EMTResearchAspects.inventoryChargingRing, 0, -5, 3, new ItemStack(ItemRegistry.emtBauble, 1, 1)).setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.inventoryChargingRing)); - } - - if (!EMTConfigHandler.armorChargingRing) { - new EMTResearchItem("Armor Charging Ring", EMTResearchAspects.armorChargingRing, 0, -7, 3, new ItemStack(ItemRegistry.emtBauble, 1, 0)).setSecondary().setParents("Inventory Charging Ring").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.armorChargingRing)); - } - - if (!EMTConfigHandler.thaumiumWingResearch) { - new EMTResearchItem("Thaumium Reinforced Wings", EMTResearchAspects.thaumiumWing, 0, 4, 0, new ItemStack(ItemRegistry.thaumiumWing)).setSecondary().setParents("Feather Wings").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.thaumiumWing), new ResearchPage(RecipeRegistry.thaumiumWings)); - } - - if (!EMTConfigHandler.nanoWingResearch && !EMTConfigHandler.thaumiumWingResearch) { - new EMTResearchItem("Nanosuit Wings", EMTResearchAspects.nanoWing, 0, 6, 2, new ItemStack(ItemRegistry.nanoWing)).setParents("Thaumium Reinforced Wings").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.nanoWings)); - } - - if (!EMTConfigHandler.quantumWingsResearch && !EMTConfigHandler.thaumiumWingResearch && !EMTConfigHandler.nanoWingResearch) { - new EMTResearchItem("Quantum Wings", EMTResearchAspects.quantumWing, 0, 8, 3, new ItemStack(ItemRegistry.quantumWing)).setParents("Nanosuit Wings").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.quantumWings)); - } - - if (!EMTConfigHandler.infusedQuantumChestplate && !EMTConfigHandler.thaumiumWingResearch && !EMTConfigHandler.nanoWingResearch && !EMTConfigHandler.quantumWingsResearch) { - new EMTResearchItem("Infused Quantum Armor", EMTResearchAspects.quantumWing, 0, 10, 4, new ItemStack(ItemRegistry.quantumArmor)).setParents("Quantum Wings").setConcealed().registerResearchItem().setPages(new ResearchPage(""), new ResearchPage(RecipeRegistry.infusedQuantumArmor)); - } - } -} diff --git a/src/main/java/emt/item/armor/chestplate/ItemInfusedQuantumChestplate.java b/src/main/java/emt/item/armor/chestplate/ItemInfusedQuantumChestplate.java index 7cea71b..cd20f79 100644 --- a/src/main/java/emt/item/armor/chestplate/ItemInfusedQuantumChestplate.java +++ b/src/main/java/emt/item/armor/chestplate/ItemInfusedQuantumChestplate.java @@ -8,7 +8,7 @@ import emt.ElectroMagicTools; import emt.ModInformation; import emt.client.model.ModelSpecialArmor; import emt.client.model.ModelWings; -import emt.init.ItemRegistry; +import emt.init.EMTItems; import emt.item.armor.wings.ItemNanoWing; import emt.item.armor.wings.ItemQuantumWing; import emt.util.EMTConfigHandler; @@ -88,9 +88,6 @@ public class ItemInfusedQuantumChestplate extends ItemArmorElectric { super(internalName, InternalName.quantum, armorType, 2000000, 12000.0D, 4); MinecraftForge.EVENT_BUS.register(this); this.setCreativeTab(ElectroMagicTools.tabEMT); - potionRemovalCost.add(Potion.poison.id); - potionRemovalCost.add(IC2Potion.radiation.id); - potionRemovalCost.add(Potion.wither.id); rnd = new Random(); } @@ -111,7 +108,7 @@ public class ItemInfusedQuantumChestplate extends ItemArmorElectric { public String getItemStackDisplayName(ItemStack stack) { - return ("" + StatCollector.translateToLocal(this.getUnlocalizedNameInefficiently(stack) + ".name")).trim(); + return (StatCollector.translateToLocal(this.getUnlocalizedNameInefficiently(stack) + ".name")).trim(); } @SubscribeEvent @@ -158,12 +155,15 @@ public class ItemInfusedQuantumChestplate extends ItemArmorElectric { if (!world.isRemote) { - for (PotionEffect effect : new LinkedList(player.getActivePotionEffects())) { - if(potionRemovalCost.contains(new Integer(effect.getPotionID()))){ - IC2.platform.removePotion(player, effect.getPotionID()); + for (Object effect : player.getActivePotionEffects()) { + if(potionRemovalCost.contains(new Integer(((PotionEffect)effect).getPotionID()))){ + IC2.platform.removePotion(player, ((PotionEffect)effect).getPotionID()); } } + ItemStack currentStack = player.inventory.getCurrentItem(); + Item currentItem = currentStack == null? null : player.inventory.getCurrentItem().getItem(); + if (nbt.hasKey("useother")) { String useother = nbt.getString("useother"); if (useother.equals("Jetpack")) { @@ -200,49 +200,48 @@ public class ItemInfusedQuantumChestplate extends ItemArmorElectric { } } - if (player.inventory.getCurrentItem() != null && player.isSneaking() && toggleTimer == 0 && wing == NONE) { - if (player.inventory.getCurrentItem().getItem() == IC2Items.getItem("electricJetpack").getItem()) { + if (currentStack != null && player.isSneaking() && toggleTimer == 0 && wing == NONE) { + if (currentItem == IC2Items.getItem("electricJetpack").getItem()) { IC2.platform.messagePlayer(player, "Jetpack enabled.", new Object[0]); nbt.setByte("wing", JETPACK); int charge = (int) ElectricItem.manager.getCharge(itemStack); if (ElectricItem.manager.getCharge(player.inventory.getCurrentItem()) < 30000) { - ElectricItem.manager.use(itemStack, 30000 - ElectricItem.manager.getCharge(player.inventory.getCurrentItem()), player); + ElectricItem.manager.use(itemStack, 30000 - ElectricItem.manager.getCharge(currentStack), player); } - nbt.setInteger("jetpackCharge", (int) (ElectricItem.manager.getCharge(player.inventory.getCurrentItem()) + charge - (int) ElectricItem.manager.getCharge(itemStack))); + nbt.setInteger("jetpackCharge", (int) (ElectricItem.manager.getCharge(currentStack) + charge - (int) ElectricItem.manager.getCharge(itemStack))); player.inventory.setInventorySlotContents(player.inventory.currentItem, null); - } - else if (player.inventory.getCurrentItem().getItem() == ItemRegistry.thaumiumWing) { + else if (currentItem == EMTItems.thaumiumWing) { IC2.platform.messagePlayer(player, "Thaumium wings enabled.", new Object[0]); nbt.setByte("wing", THAUMIUM); player.inventory.setInventorySlotContents(player.inventory.currentItem, null); } - else if (player.inventory.getCurrentItem().getItem() == ItemRegistry.nanoWing) { + else if (currentItem == EMTItems.nanoWing) { IC2.platform.messagePlayer(player, "Nano wings enabled.", new Object[0]); nbt.setByte("wing", NANO); int charge = (int) ElectricItem.manager.getCharge(itemStack); - if (ElectricItem.manager.getCharge(player.inventory.getCurrentItem()) < ItemNanoWing.maxCharge) { - ElectricItem.manager.use(itemStack, ItemNanoWing.maxCharge - ElectricItem.manager.getCharge(player.inventory.getCurrentItem()), player); + if (ElectricItem.manager.getCharge(currentStack) < ItemNanoWing.maxCharge) { + ElectricItem.manager.use(itemStack, ItemNanoWing.maxCharge - ElectricItem.manager.getCharge(currentStack), player); } nbt.setInteger("NWCharge", (int) (ElectricItem.manager.getCharge(player.inventory.getCurrentItem()) + charge - (int) ElectricItem.manager.getCharge(itemStack))); player.inventory.setInventorySlotContents(player.inventory.currentItem, null); } - else if (player.inventory.getCurrentItem().getItem() == ItemRegistry.quantumWing) { + else if (currentItem == EMTItems.quantumWing) { IC2.platform.messagePlayer(player, "Quantum wings enabled.", new Object[0]); nbt.setByte("wing", QUANTUM); int charge = (int) ElectricItem.manager.getCharge(itemStack); - if (ElectricItem.manager.getCharge(player.inventory.getCurrentItem()) < ItemQuantumWing.maxCharge) { - ElectricItem.manager.use(itemStack, ItemQuantumWing.maxCharge - ElectricItem.manager.getCharge(player.inventory.getCurrentItem()), player); + if (ElectricItem.manager.getCharge(currentStack) < ItemQuantumWing.maxCharge) { + ElectricItem.manager.use(itemStack, ItemQuantumWing.maxCharge - ElectricItem.manager.getCharge(currentStack), player); } - nbt.setInteger("QWCharge", (int) (ElectricItem.manager.getCharge(player.inventory.getCurrentItem()) + charge - (int) ElectricItem.manager.getCharge(itemStack))); + nbt.setInteger("QWCharge", (int) (ElectricItem.manager.getCharge(currentStack) + charge - (int) ElectricItem.manager.getCharge(itemStack))); player.inventory.setInventorySlotContents(player.inventory.currentItem, null); } } - if (player.inventory.getCurrentItem() == null && nbt.getBoolean("unequip") && player.isSneaking() && toggleTimer == 0 && IC2.platform.isSimulating()) { + if (currentStack == null && nbt.getBoolean("unequip") && player.isSneaking()) { toggleTimer = 30; if (wing == JETPACK) { @@ -259,13 +258,13 @@ public class ItemInfusedQuantumChestplate extends ItemArmorElectric { if (wing == THAUMIUM) { IC2.platform.messagePlayer(player, "Thaumium wings disabled.", new Object[0]); nbt.setByte("wing", NONE); - player.inventory.setInventorySlotContents(player.inventory.currentItem, new ItemStack(ItemRegistry.thaumiumWing)); + player.inventory.setInventorySlotContents(player.inventory.currentItem, new ItemStack(EMTItems.thaumiumWing)); } if (wing == NANO) { IC2.platform.messagePlayer(player, "Nano wings disabled.", new Object[0]); nbt.setByte("wing", NONE); - ItemStack charged = new ItemStack(ItemRegistry.nanoWing); + ItemStack charged = new ItemStack(EMTItems.nanoWing); if (nbt.getInteger("NWCharge") > 0) ElectricItem.manager.charge(charged, nbt.getInteger("NWCharge"), 3, true, false); else @@ -276,17 +275,18 @@ public class ItemInfusedQuantumChestplate extends ItemArmorElectric { if (wing == QUANTUM) { IC2.platform.messagePlayer(player, "Quantum wings disabled.", new Object[0]); nbt.setByte("wing", NONE); - ItemStack charged = new ItemStack(ItemRegistry.quantumWing); + ItemStack charged = new ItemStack(EMTItems.quantumWing); if (nbt.getInteger("QWCharge") > 0) ElectricItem.manager.charge(charged, nbt.getInteger("QWCharge"), 3, true, false); else ElectricItem.manager.charge(charged, 0, 3, true, false); player.inventory.setInventorySlotContents(player.inventory.currentItem, charged); } - - nbt.setBoolean("unequip", false); } + + nbt.setBoolean("unequip", false); } + if ((IC2.keyboard.isJumpKeyDown(player) && wing == JETPACK) || (hoverMode && player.motionY < -0.029999999329447746D)) { jetpackUsed = useJetpack(player, hoverMode, itemStack); diff --git a/src/main/java/emt/item/focus/ItemShieldFocus.java b/src/main/java/emt/item/focus/ItemShieldFocus.java index 7131e5f..4b0f3c4 100644 --- a/src/main/java/emt/item/focus/ItemShieldFocus.java +++ b/src/main/java/emt/item/focus/ItemShieldFocus.java @@ -7,7 +7,7 @@ import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.relauncher.Side; import emt.ElectroMagicTools; import emt.entity.EntityShield; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import ic2.core.IC2; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; diff --git a/src/main/java/emt/network/PacketEMTKeys.java b/src/main/java/emt/network/PacketEMTKeys.java index 7a263c9..be3b05a 100644 --- a/src/main/java/emt/network/PacketEMTKeys.java +++ b/src/main/java/emt/network/PacketEMTKeys.java @@ -6,13 +6,13 @@ import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; import cpw.mods.fml.common.network.simpleimpl.MessageContext; import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; -import emt.init.ItemRegistry; +import emt.init.EMTItems; public class PacketEMTKeys implements IMessage, IMessageHandler { @Override public IMessage onMessage(PacketEMTKeys message, MessageContext ctx) { - if (ctx.getServerHandler().playerEntity.inventory.armorInventory[2] != null && ctx.getServerHandler().playerEntity.inventory.armorInventory[2].getItem() == ItemRegistry.quantumArmor) { + if (ctx.getServerHandler().playerEntity.inventory.armorInventory[2] != null && ctx.getServerHandler().playerEntity.inventory.armorInventory[2].getItem() == EMTItems.quantumArmor) { ctx.getServerHandler().playerEntity.inventory.armorInventory[2].stackTagCompound.setBoolean("unequip", true); } return null; diff --git a/src/main/java/emt/tile/TileEntityEtherealMacerator.java b/src/main/java/emt/tile/TileEntityEtherealMacerator.java index af20cb4..f7f3fb3 100644 --- a/src/main/java/emt/tile/TileEntityEtherealMacerator.java +++ b/src/main/java/emt/tile/TileEntityEtherealMacerator.java @@ -1,6 +1,6 @@ package emt.tile; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.tile.TileEntityEMT; import emt.util.EMTConfigHandler; import ic2.api.item.IC2Items; @@ -278,7 +278,7 @@ public class TileEntityEtherealMacerator extends TileEntityEMT implements ISided @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtMachines, 1, 1); + return new ItemStack(EMTBlocks.emtMachines, 1, 1); } @Override diff --git a/src/main/java/emt/tile/TileEntityIndustrialWandRecharge.java b/src/main/java/emt/tile/TileEntityIndustrialWandRecharge.java index 67582e3..cf5ecda 100644 --- a/src/main/java/emt/tile/TileEntityIndustrialWandRecharge.java +++ b/src/main/java/emt/tile/TileEntityIndustrialWandRecharge.java @@ -1,6 +1,6 @@ package emt.tile; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.util.EMTConfigHandler; import ic2.api.energy.prefab.BasicSink; import ic2.api.tile.IWrenchable; @@ -206,6 +206,6 @@ public class TileEntityIndustrialWandRecharge extends TileEntityEMT implements I @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtMachines, 1, 0); + return new ItemStack(EMTBlocks.emtMachines, 1, 0); } } diff --git a/src/main/java/emt/tile/solar/air/TileEntityAirSolar.java b/src/main/java/emt/tile/solar/air/TileEntityAirSolar.java index 1387847..6ffaa4e 100644 --- a/src/main/java/emt/tile/solar/air/TileEntityAirSolar.java +++ b/src/main/java/emt/tile/solar/air/TileEntityAirSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.air; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.tile.solar.TileEntitySolarBase; import emt.util.EMTConfigHandler; import ic2.api.energy.prefab.BasicSource; @@ -25,6 +25,6 @@ public class TileEntityAirSolar extends TileEntitySolarBase { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 15); + return new ItemStack(EMTBlocks.emtSolars, 1, 15); } } diff --git a/src/main/java/emt/tile/solar/air/TileEntityDoubleAirSolar.java b/src/main/java/emt/tile/solar/air/TileEntityDoubleAirSolar.java index dac3b1d..929132d 100644 --- a/src/main/java/emt/tile/solar/air/TileEntityDoubleAirSolar.java +++ b/src/main/java/emt/tile/solar/air/TileEntityDoubleAirSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.air; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.util.EMTConfigHandler; import ic2.api.energy.prefab.BasicSource; import net.minecraft.entity.player.EntityPlayer; @@ -14,6 +14,6 @@ public class TileEntityDoubleAirSolar extends TileEntityAirSolar { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars2, 1, 0); + return new ItemStack(EMTBlocks.emtSolars2, 1, 0); } } diff --git a/src/main/java/emt/tile/solar/air/TileEntityTripleAirSolar.java b/src/main/java/emt/tile/solar/air/TileEntityTripleAirSolar.java index 23710c4..2be9b7c 100644 --- a/src/main/java/emt/tile/solar/air/TileEntityTripleAirSolar.java +++ b/src/main/java/emt/tile/solar/air/TileEntityTripleAirSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.air; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.util.EMTConfigHandler; import ic2.api.energy.prefab.BasicSource; import net.minecraft.entity.player.EntityPlayer; @@ -14,6 +14,6 @@ public class TileEntityTripleAirSolar extends TileEntityAirSolar { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars2, 1, 1); + return new ItemStack(EMTBlocks.emtSolars2, 1, 1); } } diff --git a/src/main/java/emt/tile/solar/compressed/TileEntityCompressedSolar.java b/src/main/java/emt/tile/solar/compressed/TileEntityCompressedSolar.java index 95608cf..15c9703 100644 --- a/src/main/java/emt/tile/solar/compressed/TileEntityCompressedSolar.java +++ b/src/main/java/emt/tile/solar/compressed/TileEntityCompressedSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.compressed; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.tile.solar.TileEntitySolarBase; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; @@ -14,6 +14,6 @@ public class TileEntityCompressedSolar extends TileEntitySolarBase { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 0); + return new ItemStack(EMTBlocks.emtSolars, 1, 0); } } diff --git a/src/main/java/emt/tile/solar/compressed/TileEntityDoubleCompressedSolar.java b/src/main/java/emt/tile/solar/compressed/TileEntityDoubleCompressedSolar.java index 9d8a220..3231b79 100644 --- a/src/main/java/emt/tile/solar/compressed/TileEntityDoubleCompressedSolar.java +++ b/src/main/java/emt/tile/solar/compressed/TileEntityDoubleCompressedSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.compressed; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.tile.solar.TileEntitySolarBase; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; @@ -14,6 +14,6 @@ public class TileEntityDoubleCompressedSolar extends TileEntitySolarBase { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 1); + return new ItemStack(EMTBlocks.emtSolars, 1, 1); } } diff --git a/src/main/java/emt/tile/solar/compressed/TileEntityTripleCompressedSolar.java b/src/main/java/emt/tile/solar/compressed/TileEntityTripleCompressedSolar.java index e32653f..1979c4e 100644 --- a/src/main/java/emt/tile/solar/compressed/TileEntityTripleCompressedSolar.java +++ b/src/main/java/emt/tile/solar/compressed/TileEntityTripleCompressedSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.compressed; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.tile.solar.TileEntitySolarBase; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; @@ -14,6 +14,6 @@ public class TileEntityTripleCompressedSolar extends TileEntitySolarBase { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 2); + return new ItemStack(EMTBlocks.emtSolars, 1, 2); } } diff --git a/src/main/java/emt/tile/solar/dark/TileEntityDarkSolar.java b/src/main/java/emt/tile/solar/dark/TileEntityDarkSolar.java index cac88b1..7e41315 100644 --- a/src/main/java/emt/tile/solar/dark/TileEntityDarkSolar.java +++ b/src/main/java/emt/tile/solar/dark/TileEntityDarkSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.dark; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.tile.solar.TileEntitySolarBase; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; @@ -21,6 +21,6 @@ public class TileEntityDarkSolar extends TileEntitySolarBase { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 6); + return new ItemStack(EMTBlocks.emtSolars, 1, 6); } } diff --git a/src/main/java/emt/tile/solar/dark/TileEntityDoubleDarkSolar.java b/src/main/java/emt/tile/solar/dark/TileEntityDoubleDarkSolar.java index 896a624..1eaac97 100644 --- a/src/main/java/emt/tile/solar/dark/TileEntityDoubleDarkSolar.java +++ b/src/main/java/emt/tile/solar/dark/TileEntityDoubleDarkSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.dark; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -13,6 +13,6 @@ public class TileEntityDoubleDarkSolar extends TileEntityDarkSolar { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 7); + return new ItemStack(EMTBlocks.emtSolars, 1, 7); } } diff --git a/src/main/java/emt/tile/solar/dark/TileEntityTripleDarkSolar.java b/src/main/java/emt/tile/solar/dark/TileEntityTripleDarkSolar.java index 590c214..69b6c52 100644 --- a/src/main/java/emt/tile/solar/dark/TileEntityTripleDarkSolar.java +++ b/src/main/java/emt/tile/solar/dark/TileEntityTripleDarkSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.dark; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -13,6 +13,6 @@ public class TileEntityTripleDarkSolar extends TileEntityDarkSolar { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 8); + return new ItemStack(EMTBlocks.emtSolars, 1, 8); } } diff --git a/src/main/java/emt/tile/solar/earth/TileEntityDoubleEarthSolar.java b/src/main/java/emt/tile/solar/earth/TileEntityDoubleEarthSolar.java index 4554ea4..366668a 100644 --- a/src/main/java/emt/tile/solar/earth/TileEntityDoubleEarthSolar.java +++ b/src/main/java/emt/tile/solar/earth/TileEntityDoubleEarthSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.earth; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -13,6 +13,6 @@ public class TileEntityDoubleEarthSolar extends TileEntityEarthSolar { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars2, 1, 3); + return new ItemStack(EMTBlocks.emtSolars2, 1, 3); } } diff --git a/src/main/java/emt/tile/solar/earth/TileEntityEarthSolar.java b/src/main/java/emt/tile/solar/earth/TileEntityEarthSolar.java index 0c90661..59a27e6 100644 --- a/src/main/java/emt/tile/solar/earth/TileEntityEarthSolar.java +++ b/src/main/java/emt/tile/solar/earth/TileEntityEarthSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.earth; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.tile.solar.TileEntitySolarBase; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; @@ -24,6 +24,6 @@ public class TileEntityEarthSolar extends TileEntitySolarBase { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars2, 1, 2); + return new ItemStack(EMTBlocks.emtSolars2, 1, 2); } } diff --git a/src/main/java/emt/tile/solar/earth/TileEntityTripleEarthSolar.java b/src/main/java/emt/tile/solar/earth/TileEntityTripleEarthSolar.java index 3f23743..c6e2cd8 100644 --- a/src/main/java/emt/tile/solar/earth/TileEntityTripleEarthSolar.java +++ b/src/main/java/emt/tile/solar/earth/TileEntityTripleEarthSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.earth; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -13,6 +13,6 @@ public class TileEntityTripleEarthSolar extends TileEntityEarthSolar { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars2, 1, 4); + return new ItemStack(EMTBlocks.emtSolars2, 1, 4); } } diff --git a/src/main/java/emt/tile/solar/fire/TileEntityDoubleFireSolar.java b/src/main/java/emt/tile/solar/fire/TileEntityDoubleFireSolar.java index cace617..8b8d324 100644 --- a/src/main/java/emt/tile/solar/fire/TileEntityDoubleFireSolar.java +++ b/src/main/java/emt/tile/solar/fire/TileEntityDoubleFireSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.fire; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -13,6 +13,6 @@ public class TileEntityDoubleFireSolar extends TileEntityFireSolar { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 13); + return new ItemStack(EMTBlocks.emtSolars, 1, 13); } } diff --git a/src/main/java/emt/tile/solar/fire/TileEntityFireSolar.java b/src/main/java/emt/tile/solar/fire/TileEntityFireSolar.java index ab85703..809d145 100644 --- a/src/main/java/emt/tile/solar/fire/TileEntityFireSolar.java +++ b/src/main/java/emt/tile/solar/fire/TileEntityFireSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.fire; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.tile.solar.TileEntitySolarBase; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; @@ -32,6 +32,6 @@ public class TileEntityFireSolar extends TileEntitySolarBase { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 12); + return new ItemStack(EMTBlocks.emtSolars, 1, 12); } } diff --git a/src/main/java/emt/tile/solar/fire/TileEntityTripleFireSolar.java b/src/main/java/emt/tile/solar/fire/TileEntityTripleFireSolar.java index 1a2fad3..36d33f9 100644 --- a/src/main/java/emt/tile/solar/fire/TileEntityTripleFireSolar.java +++ b/src/main/java/emt/tile/solar/fire/TileEntityTripleFireSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.fire; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -13,6 +13,6 @@ public class TileEntityTripleFireSolar extends TileEntityFireSolar { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 14); + return new ItemStack(EMTBlocks.emtSolars, 1, 14); } } diff --git a/src/main/java/emt/tile/solar/order/TileEntityDoubleOrderSolar.java b/src/main/java/emt/tile/solar/order/TileEntityDoubleOrderSolar.java index 71f9ff8..062424f 100644 --- a/src/main/java/emt/tile/solar/order/TileEntityDoubleOrderSolar.java +++ b/src/main/java/emt/tile/solar/order/TileEntityDoubleOrderSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.order; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -13,6 +13,6 @@ public class TileEntityDoubleOrderSolar extends TileEntityOrderSolar { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 10); + return new ItemStack(EMTBlocks.emtSolars, 1, 10); } } diff --git a/src/main/java/emt/tile/solar/order/TileEntityOrderSolar.java b/src/main/java/emt/tile/solar/order/TileEntityOrderSolar.java index 4e054d5..ccfbc16 100644 --- a/src/main/java/emt/tile/solar/order/TileEntityOrderSolar.java +++ b/src/main/java/emt/tile/solar/order/TileEntityOrderSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.order; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.tile.solar.TileEntitySolarBase; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; @@ -21,6 +21,6 @@ public class TileEntityOrderSolar extends TileEntitySolarBase { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 9); + return new ItemStack(EMTBlocks.emtSolars, 1, 9); } } diff --git a/src/main/java/emt/tile/solar/order/TileEntityTripleOrderSolar.java b/src/main/java/emt/tile/solar/order/TileEntityTripleOrderSolar.java index 64a6c9e..f3208c9 100644 --- a/src/main/java/emt/tile/solar/order/TileEntityTripleOrderSolar.java +++ b/src/main/java/emt/tile/solar/order/TileEntityTripleOrderSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.order; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -13,6 +13,6 @@ public class TileEntityTripleOrderSolar extends TileEntityOrderSolar { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 11); + return new ItemStack(EMTBlocks.emtSolars, 1, 11); } } diff --git a/src/main/java/emt/tile/solar/water/TileEntityDoubleWaterSolar.java b/src/main/java/emt/tile/solar/water/TileEntityDoubleWaterSolar.java index 679f24b..570b1ad 100644 --- a/src/main/java/emt/tile/solar/water/TileEntityDoubleWaterSolar.java +++ b/src/main/java/emt/tile/solar/water/TileEntityDoubleWaterSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.water; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -13,6 +13,6 @@ public class TileEntityDoubleWaterSolar extends TileEntityWaterSolar { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 4); + return new ItemStack(EMTBlocks.emtSolars, 1, 4); } } diff --git a/src/main/java/emt/tile/solar/water/TileEntityTripleWaterSolar.java b/src/main/java/emt/tile/solar/water/TileEntityTripleWaterSolar.java index 23ba6de..039fd82 100644 --- a/src/main/java/emt/tile/solar/water/TileEntityTripleWaterSolar.java +++ b/src/main/java/emt/tile/solar/water/TileEntityTripleWaterSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.water; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -13,6 +13,6 @@ public class TileEntityTripleWaterSolar extends TileEntityWaterSolar { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 5); + return new ItemStack(EMTBlocks.emtSolars, 1, 5); } } diff --git a/src/main/java/emt/tile/solar/water/TileEntityWaterSolar.java b/src/main/java/emt/tile/solar/water/TileEntityWaterSolar.java index 4f23fbc..f2f13a3 100644 --- a/src/main/java/emt/tile/solar/water/TileEntityWaterSolar.java +++ b/src/main/java/emt/tile/solar/water/TileEntityWaterSolar.java @@ -1,6 +1,6 @@ package emt.tile.solar.water; -import emt.init.BlockRegistry; +import emt.init.EMTBlocks; import emt.tile.solar.TileEntitySolarBase; import emt.util.EMTConfigHandler; import net.minecraft.entity.player.EntityPlayer; @@ -21,6 +21,6 @@ public class TileEntityWaterSolar extends TileEntitySolarBase { @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 3); + return new ItemStack(EMTBlocks.emtSolars, 1, 3); } } diff --git a/src/main/java/emt/util/EMTCreativeTab.java b/src/main/java/emt/util/EMTCreativeTab.java index 58e6a53..6fa8e14 100644 --- a/src/main/java/emt/util/EMTCreativeTab.java +++ b/src/main/java/emt/util/EMTCreativeTab.java @@ -1,6 +1,7 @@ package emt.util; -import emt.init.ItemRegistry; +import emt.init.EMTBlocks; +import emt.init.EMTItems; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -14,7 +15,7 @@ public class EMTCreativeTab extends CreativeTabs { @Override public ItemStack getIconItemStack() { - return new ItemStack(ItemRegistry.rockbreakerDrill); + return new ItemStack(EMTBlocks.electricCloud); } @Override diff --git a/src/main/java/emt/util/EMTDungeonChestGenerator.java b/src/main/java/emt/util/EMTDungeonChestGenerator.java index 95a1dfb..fd6279f 100644 --- a/src/main/java/emt/util/EMTDungeonChestGenerator.java +++ b/src/main/java/emt/util/EMTDungeonChestGenerator.java @@ -1,6 +1,6 @@ package emt.util; -import emt.init.ItemRegistry; +import emt.init.EMTItems; import net.minecraft.item.ItemStack; import net.minecraft.util.WeightedRandomChestContent; import net.minecraftforge.common.ChestGenHooks; @@ -9,10 +9,10 @@ public class EMTDungeonChestGenerator { public static void generateLoot() { if (!EMTConfigHandler.thorHammerResearch) { - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ItemRegistry.taintedThorHammer), 0, 1, EMTConfigHandler.chanceTaintedMjolnir)); + ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(EMTItems.taintedThorHammer), 0, 1, EMTConfigHandler.chanceTaintedMjolnir)); } if (!EMTConfigHandler.oneRingSpawn) { - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ItemRegistry.onering), 0, 1, EMTConfigHandler.chanceOneRing)); + ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(EMTItems.onering), 0, 1, EMTConfigHandler.chanceOneRing)); } } } diff --git a/src/main/java/emt/util/EMTEventHandler.java b/src/main/java/emt/util/EMTEventHandler.java index 669f87c..30233f4 100644 --- a/src/main/java/emt/util/EMTEventHandler.java +++ b/src/main/java/emt/util/EMTEventHandler.java @@ -10,7 +10,7 @@ import cpw.mods.fml.common.gameevent.TickEvent.PlayerTickEvent; import emt.ElectroMagicTools; import emt.ModInformation; import emt.client.EMTKeys; -import emt.init.ItemRegistry; +import emt.init.EMTItems; import emt.network.PacketEMTKeys; import emt.proxy.ClientProxy; import net.minecraft.entity.item.EntityItem; @@ -28,11 +28,11 @@ public class EMTEventHandler { if (event.entityLiving instanceof EntityCreeper) { EntityCreeper creeper = (EntityCreeper) event.entityLiving; if (creeper.getPowered()) { - event.entityLiving.entityDropItem(new ItemStack(ItemRegistry.itemEMTItems, 1, 6), 1); + event.entityLiving.entityDropItem(new ItemStack(EMTItems.itemEMTItems, 1, 6), 1); } } if (event.entityLiving instanceof EntityTaintChicken) { - event.entityLiving.entityDropItem(new ItemStack(ItemRegistry.itemEMTItems, rnd.nextInt(3), 13), 1); + event.entityLiving.entityDropItem(new ItemStack(EMTItems.itemEMTItems, rnd.nextInt(3), 13), 1); } } diff --git a/src/main/java/emt/util/EMTResearchItem.java b/src/main/java/emt/util/EMTResearchItem.java index 250324b..ff0940b 100644 --- a/src/main/java/emt/util/EMTResearchItem.java +++ b/src/main/java/emt/util/EMTResearchItem.java @@ -48,7 +48,7 @@ public class EMTResearchItem extends ResearchItem { for (ResearchPage page : pages) { if (page.type == PageType.TEXT) - page.text = "emt.text." + key + "." + page.text; + page.text = "emt.text." + key + (page.text.equals("") ? "" : "." + page.text); if (page.type == PageType.INFUSION_CRAFTING) { if (parentsHidden == null || parentsHidden.length == 0) diff --git a/src/main/resources/assets/electromagictools/textures/blocks/electricCloud.png b/src/main/resources/assets/electromagictools/textures/blocks/electricCloud.png deleted file mode 100644 index c1f19dd5e014325e6b4085e4570c1deb5efddb71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 504 zcmVMu{=H5*r0uL9k0}D;CjL5Zpp71Wn-&C=w7Wi=e$0B9?gpOA+kUT<6R%vv+1l z@v(Q#+;iq{BO(e|PP(){@<6SuM-6czrLe~k2r%0^?W&N~^t9C2Jg~(umc+RVnG=N^ zYHh#zZfmF6r!J0YxALL_){+Y;X`S!FF>tVAyYfs}4I%UKv6LyQ#f8#LUtl!pdD2mh zAQyV|jnP}j3>>ooA+51T8_-N|XfwN4b&cHxaEzcHAJW$NlWIPw_7$jc4~wEBTikwU zfHy}Y43{(H0Gpe?diN&Y)YqEL>fHR**Zl32A41;8W^`I#Ni u-PE@|zi$T40APFDve_rkihPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&1GGs*K~z{r#Z+5JR8bVYVnjtm4`j%O3YA8) zamHvOMT`vm7$OEL3F^lv2&2dNoQF0wK2k>mD~al>loV2`&jiB)Kl;(2sHBfRO0mEq zgChD^oxNx7Wgh2xr&3$6=FHva+`ZP``*0Ni|CQ3qSj{J=PWE zz<%onMr4VTr3^)*qsX|_jMVJ)TIH2KFRxWTAF72onOR}q4ExO+xQ!q4(}CxafUPsc z7mftgw$nbu1|7iQnhkAYbcu(md1nRTPMY$2|m#OUIkt*u2(Lp|JH z5053g@q#!FEEe@vNS zsN&HEV#HO@GYQgOXC^dKtfl*Exb2b3X{EW-N;9{d3Riw=`o-J^^u&b-i$@DbllH0` zFY^4|k(pQdeOO;?L)M8CuyuqIgjL84aJ4Fo#8uLnDq(_WE=BL^nIyYhr5TZ@YB`zr4r`WoEPLU7F0Dj>PzS6B%JX0@Y z#AMW@3C24qQTPlet&^=y3dWT=~% zo+EMHGtp=1j7-3Y487zO`{+(dN}M1QFro%M5sD=vPLK&0QA5OlZl&>z7bnOBj2MGt zO~}LvG65qdz{rH2I6)?0L|v#R;u+bNLMC8DX>c(q4K5y`{05#`e2nNwESmrT002ov JPDHLkV1hw}`ey(D diff --git a/src/main/resources/assets/electromagictools/textures/items/tools/chainsaw_stream.png b/src/main/resources/assets/electromagictools/textures/items/tools/chainsaw_stream.png deleted file mode 100644 index 2395d88dc3f9b751832ffbfb1f1dec23e791f55b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 950 zcmV;n14;aeP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&11CvDK~z{r#g#!zYC#mo@B0d2MUgHNi(X|5 zKSAW8f@o8UfnlHvH`Xf(+W7@U1PfZUsGyX<+PH8hlo8Rw7VZQWLh_c@rrmjSPM*uX z*STKbOM8F#GuJaS=XYl2-cbR7|7vNlAAWs(g=)3h7H$jxRG>h(H!JRaED*@5%(^Zpc&OeP@|3W3dLQ{h)vSLEmCXK=gSu(!7- z(tP0^km>gJmO8e!wsb2;Ft_=99wsIxAQFi{tyYsK@5VCWmana?!QkMa6kaNosI}Ye zR6x00?#&J~8Vw3;Zf?>GCxhe4u^k&5Bly$P6BG)C-W2fh@c|nf8!$RLDuwgP@mSW^ z*Tr;D@KelYvtKLV;o*TE0)YU`&CPX$yId|NzwwvBnAC*YO1XWpUO}G92{vPjmI`ie_Ww^Y&)GYH;4A&N*gR}5A0dfEips2+lzKBf(Z1%VaVt9Jd`;K0Q56+a3%C+rTVY0km3{NUnqP z%C*Kg7r}5mmc_+I0zW=J{#5}$XZ^Y5rf`NDV>dT9bp6iE%)r^%nJJj1D*&Y}LJP-) zT97dH^B8R(UPPF%QmN1#FW!1Z6sCj8tcr_3b5cA@e%4Mh79bnbtw~}sC1p69Up(Wa zz7-%#ihV4zaXi+Tyc?S)#^0^D=@{);93ul*nPiq6W50j>=n9UK0j#Xb41%$4;3yfu z%Borgn6A`lBOE0ISXrlTi;%%lGJuuaWL1P293=x-*;HJF(XDQ&WB@BmgWqXs@cRtP YAN(x0SHSJ&2mk;807*qoM6N<$f<&*cYybcN diff --git a/src/main/resources/assets/electromagictools/textures/items/tools/chainsaw_stream.png.mcmeta b/src/main/resources/assets/electromagictools/textures/items/tools/chainsaw_stream.png.mcmeta deleted file mode 100644 index d3db93d..0000000 --- a/src/main/resources/assets/electromagictools/textures/items/tools/chainsaw_stream.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 30 - } -} diff --git a/src/main/resources/assets/electromagictools/textures/items/tools/chainsaw_thaumium.png b/src/main/resources/assets/electromagictools/textures/items/tools/chainsaw_thaumium.png deleted file mode 100644 index 57725ee7a147c57f46e8dc139285ae14e1365dc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 808 zcmV+@1K0eCP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&0+~rfK~z{r#g)%$)KC=0Q+$JNW>FNeNKIv; zR)eCg*8hL1Hi(R(BBDho$k1tKrZW^<>1Zv8f(zY>xGHp~dmq5(5Om=)9P^#bz1$?{ zP9mMDAAF>9&dK?GH`BBZ5&c(-#X)%U(+`TAsb>oPbTinBF67MmEi#Sz{GBiGU;~7+ zn{>l(((v$sgi!;0TLF6M!^U?WxPCNb;LFZy>a4BP>dG1|w^z7^-oOG>XFk)_iG>6_ ztToxK<}%mO=RM}qf3c*-+!i-3AAY9cFu>~C2wU94%!}Grd3g~_dV1+2UG(Oy@TEqZ zujpeg3ecY?fL9FHbLBY=SC8F1xq@Tv@%i`t3-ECI4V^jo$O<=4jyc@F?bi^(Z+j2~ z&ZPT5!xdD5WA5J6tLSzP5Wj|!ymFb8yQPFwfXb;=IyrW?5FB&3N1a>@5CKiN{<+)M zQYSyY|8^lb=5C#6>pcLQPm*NO+Tb#qd_4!=5Sx9{>>gB4dp&Bm-8G0`O^-^5DuUgb5$teU^ORPkiTTNdbtz>-dpd z;ZmJLG~)ko?#OAHa_?KgN{IlF8KM_Fve-v$Y-BRpNBoLL#uH$hFv(gf1S|mn|FtmW z{Hg7-hDa|jViuNTfeju{#dANa0}LQ7MNi2#r)Ja3i`cptpSyMIj5&)L36N)&Z8>Vc zYeR+LkOauHmJNbh5jZ3P@~qVjU_EKtX*eVS@|;l75E2}c0C~?Qx0# diff --git a/src/main/resources/assets/electromagictools/textures/items/tools/chainsaw_thaumium_alt.png b/src/main/resources/assets/electromagictools/textures/items/tools/chainsaw_thaumium_alt.png deleted file mode 100644 index f77346b66b3db2e0dde2c060b4ee66cc67f4af08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 843 zcmV-R1GM~!P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&0=!8?K~z{r#Z_Hv6HyS|;y>t19*QCsX;Vqm z>Y~`x@9(M&BC%8v(IONiH0GlT#a0rn1yS%pUqyT>^iALW0sam_AN&pDp4rUh?q+Ux zrAa+-xVtm6bI#n|n|MU@U#SKM!Oc%UC}2;#C(uteid(@#-mKpwn}{#o{Q?fwKy`ML zZu$)x9v+VnF^KQTz;^hs@tq599ILY6%g$@+wAX2EwM{FnRgNJyFazb8&vb2aDI#92 zG?>lC3dfP>K6cZ8p@#ax7ALM8d1}N#2+LZpHaUly7nQGi^EA}(EanwD!@VEjJQmU`?*5fn81p<+b3J54}>v<48pJl^ZC37PGqw^CQ7A}cgwHR z@zEkTw-zkYyLYc1)2e#R*)nv6chHgPwYKMzVAogc^sMn;&&Zxxl>$=vx$2650@P|P1D(XPGLdB z0AQQgPCTHRM{I1Q5cDHHq5-i3Oj}H&ftUa_0f_%v8uI>B_Bc(%o2MZI&C$Rm9#(~Q zKg$C&pfyEK;Hs0_c=I%LHpYE7?yRwEQKJbYk>P5N*zd|vDsey)NTPvD1hF*YfF_Vc zgRTMRq;bZ@0Zkx@5u`Pti36HI5_^zj!X*x90!eg2OvKqutI!0Js0MeFYH;^R-e3G$ VHs(M;lOX^A002ovPDHLkV1h|Uc#!}A diff --git a/src/main/resources/assets/electromagictools/textures/items/tools/drill_rockbreaker.png b/src/main/resources/assets/electromagictools/textures/items/tools/drill_rockbreaker.png deleted file mode 100644 index 9084741b3e50d5dfbc4586d3385159ec929020d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 623 zcmV-#0+9WQP)z>%2XskIMF-sr1QP=bI9Zf+0000ObVXQn zQ*UN;cVTj60B~VxZgehgWpp4kE-)@NWrZ?j0005nNkl&a$&vU>9hi>p{QdOWN7V z{Jz=N`l|xTM#Z2*ZvJje0{mVo84Vz|zB~T~IBh+=vY>rwE`Zqj_RNBtlf|$;Q4&c+-Nl5`q)eWu{FV`(AOD!OLg_wOTD5 zyjrOMnU_>r+j=&eK^(F z5YNV^AdEExA|MPy@O>Y=@tD=@ejj>|kNd+D2!qRD*>VVkJC2iFyDe(Ti0yC`55Tr1 zZG)5L5VZM2x0@*duy4J%axGj{mqVn6ljIPa;E9#zSfd{^8J7-Dq7Y~m0O6na1?#(W zqz#db$p**aI6w#IZLII3y)i&G;b7fRJR|A)sF$~;mufJ+^SZW2?qy9`r5ld5uTCLf zI7tV=TJCTZ51`$2)dz)>b`6mWoU|=Ou5eitV%7ZkUk8$9{QynA*1qWQt4{y`002ov JPDHLkV1k5E3xxmx diff --git a/src/main/resources/assets/electromagictools/textures/items/tools/drill_thaumium.png b/src/main/resources/assets/electromagictools/textures/items/tools/drill_thaumium.png deleted file mode 100644 index d7d6524343c87dc793da14b20653cecbc6931797..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 969 zcmV;)12+7LP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&13F1WK~z{r#g$u2R8bg)_c)&afEPu9(m}(C z@>qDbn$a2al!KT$Sm7a3lhP>@tuZ<)nU#d*oe+ivUF1b#S3(5^5&eKDp@{M>=<02M z-^|*qnb}(>X4Drx$Gz5aJt32(!Q;U< zXm*TZ?@oL80+fV=1WhC`>NPWbW$7=TU;D!n&f@zj+@Vn;+5={@S-XkMv|3QjUjB{Y zjzug!`ii!yr`WZ<0P-sfTOckjj=>bViJWvN!)Hc5`3EJUXqO`X;Ih zhgrg!d!FI+GxF7o_zB2Bi^ZZ)rKP3@NjRO}M)RCm#N6Z;xLpejJ5@b}#_}=LTW_Nx ze+W*iM}v#gQ^Sg;rDy_ya30fiLYO9%1X!AbTOStTls4Ka{5_N}ept4{{J^48} z3i>pG`1p9){O@|t1~N;A7zLcl4qfPDQFS%6O~vKCyFEKzo_7xw&K6z*&1XL|1h zq(4>^`o|U6h<-P~@7jCihH$-cS>i};x8Lb01U5=g50J!aaJ6*jX-oxkV|sTCEt&vD zNKokk2>$)7N%_@dHk9yf6>>BI+MG5pf_qna*DZIgqk!I~G$&%TPOSAU3puL_(6evc zaE-i{7yV~Kx`7`(rgec+{F=}RLSyRzr|1b7o;0w+g;V?lD4|M30!|4MpsXbkDL6$} rKtxCcmTx*DVFCKGnWa0paRucchV^>q!)Sl*00000NkvXXu0mjf2Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&0&ht~K~z{r#gadZ6G0e<_hRxH(ufv^${k!R z4*vv1)W(Qc2+>rc-HAmG@8lwSn?sD4SY!pWDR!fhCQU3X?anIT_fSC#y-u+Dx$o@E zFuR#eHoBYq;0?(;!#vMB83VvVOWT}hEhJ}FZ-Q#>0zUW_F0F6QMHY=}t^zIOE_dny#hK187uct3isZ<#JaP$WsUi@YfmCLpV z-;mVQ1UxvXhEIQ?asL1Z&KKOf@gAp+Uj*HXNa6xCH3JWatjgswo^6hB``T-i&OO12 zV;2I%Lm6b6G6)uWkuIs|?`0$sl7V73?I7JGC;jE{T$mjE{Jg7m3i^*NbmDk>CHDQ`2 z9@T0y2?XFG^qYXR)?S7z>Jg9tj^m)y>A-5YSYCc(YZu2atg zvxn)Q7%x(QA|$AE0D^yiuw?w)J`yRxkBS{BK!?)-QE-2kzwg^tiUPVrX-y<*pV-T{ z#m+>fyRsaA1 diff --git a/src/main/resources/assets/electromagictools/textures/items/tools/drill_thaumium_alt2.png b/src/main/resources/assets/electromagictools/textures/items/tools/drill_thaumium_alt2.png deleted file mode 100644 index 745059a440c78cb5fa4a9a3b695a3c7b75b11eeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 878 zcmV-!1CjiRP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&0^dnQK~z{r#g<1KEf!ib@NO zi{eK>MBNy%3n7}7=&s@-#a0^8rlnXhaghinStL=(CY!i$>8`E<{tp#&q1_3tj`Pl) zGfwWE8xxYIFB~#CGda&YXC~b15Ydr_H95;T5}jSVMTnUjaKX3f^788B2EyU66OYH8 zXf&!aeql{47IUtp^Ai5)%~yJI?<1WPCNMvdflw$UKLJ6o0Ay46Dg+Z?p%LOne$KS zZnfpEs|voey)6y!KgGPXJ_7=1!u429Yni*ojy1g9rh2_D;V{8){KjlOYrudBOr=r| zVsT-?XTpSY0M=@?s9tm7FUw`xF8+hFB9Vv;mNwvp%bdkTGMSVipbm=j&RflvZhN_0 zqGGW~j|&B#0mym@y>J%31BkiGJn29VKmeM}Ce>;+s#Yp8SKQj7!sezGj`R23fgrem zNVo|$!!!YSsZZ_1NE+Z>993A8vkP+m0$xI_WLIJ$-~a#s07*qoM6N<$ Ef~@6)@&Et; diff --git a/src/main/resources/assets/electromagictools/textures/items/tools/hoe_growth2.png b/src/main/resources/assets/electromagictools/textures/items/tools/hoe_growth2.png deleted file mode 100644 index 31ee29d3c67db4c4c8e163929e4efc0804feea73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1863 zcmbVNd05kS7_Ma^vVmg7i#cOJr%0Qo2W@I=rI%C=YpDapD{WF*p-FARs1*f4RMc&{ z3Fs^gQSqG44Mjz~P#={k^PU&5XCmmFOgy*gwp79G4n9p8WP6^ z1r7>iu~=pASpZp2Y+&g@gT zoW=5+Z8xRRDGBj13+dpYJ`B(8a58KbORjV~QA;{b17#tjC2Xc@j+)Pr3!cK;;-f?v^nI95{^vZbt?|$=nL?rCk{__iaNU@Df6&E5KJy zr6d>tHR-|uF;C33@C7g+L3prOgurkVAmGD723xH4rfBbYr_Q987L-XkQ;SEFpm#89KLhCL{qd8|JRK-qAAlHCk`2L zip+Fbn0#2nyU0xJ-Y(<=GTz80xa>?)&uv6!QU(OeN~ zHgi#_$jU`60xMU_NBB~ykS`UZaF?Ao@pXcjXl)F0Ghi6j3RObB8c|EMVpyuvsKu%- zuAZQ1l(67k+IB{}lZ(8SD^t60lqOv!lFaC;0)vgDNy zYjBtSV;s}DNC)sT#4`IE2V{%`+l^hq(nb=oB zPFY>t^vI$dT3)qq{H55by*Yh2Q#Z%;QNlAtAsjQ-x~TbdX&9&fi6Y+eLKwv@M+bdE zgd9%^NnbG`D#tWM`N?ln+n8-V4xD3i8is}sG&n+5E?j-+MEg^6KQ!RI;)LA3JM%1G zw{AAHX!EsW<)Jad*Q%y0t+TCNFkm492{dSIBvdb@+-(aj-57^H;j%yv!Pq%AJ&%agM@$Kqh1kbehw@L0xq6i5(Po^ z<(eyFoORT)Jr~{18;u3g`Jum7_FH|sf}b;?pLIOuT=P!7srtT_nA?7#;GTp|X*irl z9R2fq_K2e2WbYq-c(un`LD7-NraY?SBkztwxzSX3gkA+c={_|Z?$vnn=CrBU{>USf zs7b$F+1h;W(y-MChnT76*+yCDC< z?Yv{pn~pxs(WxePKb67W)dZ%?!QhS$x`mKg%A|a&l38Ua@BE2l1XhiQ`r^%}9FqJNSNB*r+Y_+VvA{5xQ~XVC8|$ z#}XqtN}adbJaL%=98zR{MO0|jU*!w>e_A=3x3CU1p0Br6hqof7VSRRgxD5*WR?+k3 z9_-#vTZ`<0BkS%)sxPkBq_DnIr(R#TjVS0^UTC0XHU((vRf3UZ#`73{owcA9j#PuSoK4Zn))LBJZ?_;m@ z$i>I8jls2j%ZKdLU9OJwe!1oEb(|!>5W^GY^^}$i!}hTqIk%qAWec9w#DxrauX}UH z!H!+(m6OYQO}C`hRLy$VH7eh>u7q*QLCZ5UMu_l(Pz7-MYPy(R(H?1t?VI2K?4jDd z8=fq_ak|ZYduI2e0d1kYl4bWrN~Nv*-KeT`{YGWt?z>k^;NLH`=|j`v=ZM$&Ua4 diff --git a/src/main/resources/assets/electromagictools/textures/items/tools/omnitool_diamond.png b/src/main/resources/assets/electromagictools/textures/items/tools/omnitool_diamond.png deleted file mode 100644 index 8525f064b88eb3e14dfa2db39b87297ab585b145..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 959 zcmV;w13>(VP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&129QMK~z{r#gxxW6k!<0AL) zQGPx7g-$OFNxx%2CcwP2vy%^0odmSFwMorWqhda^@ry&t)BI+AiCPB-Xy3Ifvd1wb z6N-zAS^WpN@W??4fLie91h)(h@Zt8m+%yoO+i&}+B|1*WhF{8h(tu1UDk|cJh6avA zB7CU%I$vG<$angB`1nYKAIyB9;N%Fk&wiq+)?2Iss4Y7bKnus^<>ed>hdKQ0DUYr$ zNe~r)`hLvN^My$|`@WywO-)#TM8~l0kdu=m;JBougc}J3CvzMmsR5tgMtPS0M=K03fyB zPTVZTTnpzg#M+Hqwy=kQx!>>Sf`S66!5oi6OZU0qYOYMg+-__KYuX%Fu6~UMUg!XF zwOU^08uV!MOarhy>-a5qH8<5!OC9<*i0mQ$WUer-XA;7a4gpLCFrU7dMRS2YI~qcS z;TYg%9`B0xeZBAx1DJ+lP0OuM_ofa{2iL(kPt;v|?7iqQ8F(Rb8;)8ukd>A>WHRu= zlA8%?>6k+%11~Hk0=QmjDyim>$-s*wr5nOz4w($RaL6l!n>l1M@WNF(L@J48qf7=~ h7>m1!vABCM{RST@Krf9%#v=d#002ovPDHLkV1oV-tSkTk diff --git a/src/main/resources/assets/electromagictools/textures/items/tools/omnitool_diamond_alt.png b/src/main/resources/assets/electromagictools/textures/items/tools/omnitool_diamond_alt.png deleted file mode 100644 index 4b65cf698d471aaef4e28d48b57ce9a8ad563d60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 958 zcmV;v13~Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&120KLK~z{r#gt!2Q(+j!U+Jcsx|JY`oDjxb z;UX{*ybx)cB(*7&6_`d@sdJOGl%@!FVP&8obUlVd=tU^qN(S8oT?G9hQ7O_isRWV! zJ$>)DedFxxJDue*d*H{;dB692pXZ!!8v*#QXp5VPwzytgE?1I+m+R>8jSxzD+fjpA zdVtT`J=)@WVdH2tN@HVV>{)#0fb$ITF4uEG)#pzyOAZhVbagWBDfbobk&w z<8kn>gKJuO^7Elclv1RO6~+L34B>DXjg5`y=;%m>Fdj$f-XLiM2t%WJ@;b4cl+m0~ z0oXhk3?er-7yKrCJ|7wy8f1{}?rs^v*BK@bz@!8)8hSh)V)o_brG==ju1*WUD02}+ z+{&XM5kS@%4pceZPbXThNcc~S`=rd~vZe`EaO{$wuDt~&{llnTM<4A^|WC5t`|1f}VD6c75^{HO-@Jz5A%=d}9Wsk9!dvpeNNLdZ%+CnfZBXgF{z>cJ> zOt_YbIZJ0?M^cFZmQQNNY|hdd*pZ@4L+H#|Is-e>WEaB9oTW3c!%`}QnZ&YIIs-ej g#mz)p+&nPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&0?J85K~z{r#gsiyB2g5Euh}0#FE(zJ0%G{6 zP2{7o04iGxC^kz1g_SYJSeOkI7)j_PgixSVBo6$%BKOeS=6bc7IUI-RQL=jWABa*bz5 zSOcy@P%@chIQ;nd$o2VrPT6dhUSD51Ec!hI!dP~mN~Q3t;LFQPuJ?L94%KeA)!p6Q z#{@_u5~SY&(!&W5)GCz<-QM1ED1^DWxlzq#(|I9R284Ay9;fT;YkGNk;SkulhB-Sw zKR;L9ZdV;2A3HCiba%s96=;-zV|1v?2kE%>aPZ>vgJDt8{jDW`-dB zHSi}WUkCbEq=6>fIbJS1GU2cU0K8VK(az2e;Z6W{dV0!1E-o(kywmBZtE;O&UxCO3 z#$quAf8O2ogeaHGo&d1Gbr5~Zj{^UCT!#?|j{;yZ`dDr_*DN6-kq8?Xng-zH|Fm^ z0YR1kyjxKaT#O!phYdjdtQWW37jCPg<{tVMv&;~GgKJyY!-Q}oAz&K-@E>2d)UVp7 zcMZY9a18K+FS-_e-@kld0NYTkiTwJc*FAh4`wqtWvhLes_M*oI2r|oWIBGv@TWi4~ z8z9Jz{2-{U1BYyYAUj$H@ZG7~Za8EE1bId4hOogQ8z9IY1%>c~LpDH=eI+5>UM^c@ j0|ePx+@!6=&6(71Uzz^dpa&ku00000NkvXXu0mjfR<(KW diff --git a/src/main/resources/assets/electromagictools/textures/items/tools/omnitool_thaumium.png b/src/main/resources/assets/electromagictools/textures/items/tools/omnitool_thaumium.png deleted file mode 100644 index e520abe61e4e1925d14543c096c9152bbb7a0de9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 838 zcmV-M1G)T(P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&0=G#-K~z{r#gtKN6G0S(xA-H1zBR^d5|W6) zs30g6N-0f zIg`D^WOv3*-8LRLWcSY9`<>ZY;t&O+8rVe z1h@({F|F$84-AOnBgJuAy!nDMsgr;xkRA$Qb}T@0-vHfP`A)B2y`}5(?_`Kmr5m)g z@KT1-j|0Xtfgw?xObpPI^$i-UEKy_j8|gb2mb*@ljXSA&Q+Z7NZ$(^jrZvp*A<#Rb=d!-KPa99seC=_Vs;v)%r{_GcBsy(2!m6m)HfFC+| zR(+i4?~nlMaCPl1E9r2U0{{+4B9S0Ij%H(%YEv6@;&`J29tfZV^ZC33XVU3Fh)Sgr z2mmu&1QECG8XpIYYaQMZzz>%-Lx@-`Cd~jg;MHnX?p%a$V3xnvZz(^Vg?j+8wy>9! z^$>uU%Vo-Dv$6&_j)TR0He2BWBH=n%H`W-Aor_;1Aj}*XQPMVQ3HrS4sq7) zS8j!y>ZtjLZpBi1h`+&wjq6cDC~*kb1OWWwY@hRWZr8Skkiu{bu)*71?Y5ZbpwY?fG{h00jxXq z+Yg6KfG~Hc+Ylx=WCDaaps)}&IAj8Z*(wgPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&1LH|VK~z{r#Z+%-Q&$vEk)aZG>9hAUlH#VSZqknUTD z2pg24`!L3~!l3)Kez5#@&waVimzVqYqOJ7@Kl0u==bqnrH|HD+fR{?CaUm%+z6cgI zG-GF703Z3cVzxdLQ=X-m_Gi8+4SsHh-vG|KF&lcFy(%_q$8o&9s}@f7d%DAmhr<#4 z)>+PDW*U|+PE9gb*1w9`v4hC<)uEt13`gflRD9Bf_xo;Opsx$R+za9U35hqMNYHt$9a7Bfm7Gd!*%2eoRy7Cd^2nXUbx>0p|-XbBO@blyWRXI=tig~rdeYa*6nADrJsuAi zcRHO|xhx-!wR`#XQ*Y38Xh)Q9%)~Q?UYy$`MPy}Vaf-u&IV(#Mi^X8G*;F6(1c}ph z(1@NJ`XXsr2`XYbaRGWKLGs1(p;B8!_G=|L+Bk|;D+*N`ks6bxgGQA01is$|+L+oH zqM-hpi)E;%cDztek*<$ zY{OTBC-BGU0no-wiAhks0sdbrS8gaSvy)Aqltz^H1T8Dtn0mjK9NHrOPn=QemlcsN zRfr;pG653*^H7H6@93g=ErNrRQvxG#B}$3={o@x{fGjEb1dQTDtUh@{uOt__x37Ao8Tu4fd3rAS~18^!xx}V*awEzGB07*qoM6N<$ Eg8j+|{Qv*} diff --git a/src/main/resources/assets/electromagictools/textures/items/tools/omnitool_thaumium_alt2.png b/src/main/resources/assets/electromagictools/textures/items/tools/omnitool_thaumium_alt2.png deleted file mode 100644 index 39cce3d4a5165c680da6feaac0e5e709470e24ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 909 zcmV;819JR{P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&0{%%vK~z{r#gyMm6j2<-M|ur<3adA1b={5K z$g+eYSwSR2i~L1}NJ_20QxIBu2zcOCh(C8oNtw5*N}R^hmpMW zLWHQRy^L$gCnA)-9W>{RSXS$h5qKY#aovgZ?{VO6Y3zE z8?Ml)_-3T$&LVYk6Gjs6(NO;b;ZQZMkNw2XNQ2srl0b|Buxnx(MfHvL)HOTy1Yz5RCVWv%q;qMI#YNXG&Re!WZg_!2sW$ z&7iET41Ha91#IroFC=;<@pL39R)X-od)n0DbOo@1I$ZtEJXUfBpciIm@OWxgKmvgP z4({*6=+H~N>aD~1&ey1_9Lj>b0_ebKG-}b|P{bu^WX(ANX9%tYw}WTm z;(;AvHMli8JS%_`E^3Alg@uK}I-G9Z-GZ(ow?zo91h<3c!Q|J$Pt-X_It_EcrFc&u zpCz|LSr5TIZ)$2nMerE760Gq|@XD{lhVwtd1(x=N+YkZQ!MgcO!nx=6)d=vj3?SZC z$`3BhF%q6{0Q--_-s|*|d%{h1)|^dOVj(@m-{7{5&+`ePBty_90O2173al@K8`d<0 z5Sz1s7d$;GJ?>rqKMY`M%4bquJ&+Q-3yoZyrR z;AbT-2y3~(DHFiYN|^wjZ|bxYPMH9H&Qh)+OmNBs@Uu&PA-v#}3E*c>$q-Iw9vfu> j_}N%oPaBKtXIOs#8_)b(_n0jF00000NkvXXu0mjf!Z)M= diff --git a/src/main/resources/assets/electromagictools/textures/misc/emt.png b/src/main/resources/assets/electromagictools/textures/misc/emt.png deleted file mode 100644 index 661f59dd0fe01b0d31ece5ac7f420060ed05e357..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/src/main/resources/assets/electromagictools/textures/models/shield.png b/src/main/resources/assets/electromagictools/textures/models/shield.png deleted file mode 100644 index 2002bd2ceb54e6a951a142ecf3858dde79566a4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_r+UAk1jN8ms~olqhkHC<)F_D=AMbN@XZW%*-p%%S$a$Fwry6GyBt%d>^RB+|$J| zB*OjexrKrZ20TYL9LSsaH=M_FeQ-@
Теперь, это всё тот же Нитор, но от него ещё и исходят электрические искровые разряды. -emt.text.Electric Cloud.2=Just nothing ATM +emt.text.Electric Cloud.1=Наверное, каждому Тауматургу нравится пламя, которое ещё называют Нитором. Вы, решив сделать его более "живым", сумели наэлектризовать его.

Теперь, это всё тот же Нитор, но от него ещё и исходят электрические искровые разряды. +emt.text.Electric Cloud.2=emt:textures/researches/electricCloud.png:0:0:255:255:0.6 emt.rsname.Electric Magic Tools=Electric Magic Tools emt.tag.Electric Magic Tools=Кто сказал что магия и технология не дружат вместе? diff --git a/src/main/resources/assets/electromagictools/lang/zh_CN.lang b/src/main/resources/assets/emt/lang/zh_CN.lang similarity index 100% rename from src/main/resources/assets/electromagictools/lang/zh_CN.lang rename to src/main/resources/assets/emt/lang/zh_CN.lang diff --git a/src/main/resources/assets/emt/textures/blocks/electricCloud.png b/src/main/resources/assets/emt/textures/blocks/electricCloud.png new file mode 100644 index 0000000000000000000000000000000000000000..1c7c18923b09fdd077414faf4eb0aedaa9d7dc6c GIT binary patch literal 487 zcmVp)k?jvCg=`i>g=`hKkw1iZCrSZm-90Fz<<5NU zxcMyx@rmhZsO2u@uox*|+dcYt*vKbCwKJmQpd1N)Anmy;jngR1^#$qpz5GrSQ7@~z z?-nm=PwjwBrz7r{A0E)ppJlIn)$?+&3*-R=Z3>>)C(W^nGkfT|dyR+k045;Gif@)A z60z`3STi;3-AJZ0<>`Q zGYBzu(#if_MgP#+1o9t%NoQVVE)GEh7{rPZ@pg7m8RiK9h+qma;Y*8AWFW?yrSAOc dPns(tjbA=`vNpPk%Ypy^002ovPDHLkV1f_oz>)v} literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/electromagictools/textures/blocks/empty.png b/src/main/resources/assets/emt/textures/blocks/empty.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/empty.png rename to src/main/resources/assets/emt/textures/blocks/empty.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/aerfront.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/aerfront.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/aerfront.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/aerfront.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/arborfront.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/arborfront.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/arborfront.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/arborfront.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/arborfront_alt.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/arborfront_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/arborfront_alt.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/arborfront_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/auramfront.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/auramfront.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/auramfront.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/auramfront.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/auramfront_alt.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/auramfront_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/auramfront_alt.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/auramfront_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/front_alt.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/front_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/front_alt.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/front_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/ignisfront.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/ignisfront.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/ignisfront.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/ignisfront.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/ignisfront_alt.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/ignisfront_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/ignisfront_alt.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/ignisfront_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/potentiafront.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/potentiafront.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/potentiafront.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/potentiafront.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/potentiafront_alt.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/potentiafront_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/potentiafront_alt.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/potentiafront_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/saxumfront.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/saxumfront.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/saxumfront.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/saxumfront.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/saxumfront_alt.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/saxumfront_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/saxumfront_alt.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/saxumfront_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/side.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/side.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/side.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/side.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/top.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/top.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_aer.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/top_aer.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_aer.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/top_aer.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_arbor.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/top_arbor.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_arbor.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/top_arbor.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_auram.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/top_auram.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_auram.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/top_auram.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_ignis.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/top_ignis.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_ignis.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/top_ignis.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_potentia.png b/src/main/resources/assets/emt/textures/blocks/essentiagenerator/top_potentia.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_potentia.png rename to src/main/resources/assets/emt/textures/blocks/essentiagenerator/top_potentia.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/bottom.png b/src/main/resources/assets/emt/textures/blocks/machines/bottom.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/bottom.png rename to src/main/resources/assets/emt/textures/blocks/machines/bottom.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmacerator.png b/src/main/resources/assets/emt/textures/blocks/machines/etherealmacerator.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmacerator.png rename to src/main/resources/assets/emt/textures/blocks/machines/etherealmacerator.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront.png b/src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfront.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront.png rename to src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfront.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront_alt.png b/src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfront_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront_alt.png rename to src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfront_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront_alt2.png b/src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfront_alt2.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront_alt2.png rename to src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfront_alt2.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront_alt3.png b/src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfront_alt3.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront_alt3.png rename to src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfront_alt3.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront_alt4.png b/src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfront_alt4.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront_alt4.png rename to src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfront_alt4.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive.png b/src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfrontactive.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive.png rename to src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfrontactive.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt.png b/src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfrontactive_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt.png rename to src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfrontactive_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt2.png b/src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfrontactive_alt2.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt2.png rename to src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfrontactive_alt2.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt3.png b/src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfrontactive_alt3.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt3.png rename to src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfrontactive_alt3.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt4.png b/src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfrontactive_alt4.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt4.png rename to src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratorfrontactive_alt4.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratortop.png b/src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratortop.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratortop.png rename to src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratortop.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratortop_alt.png b/src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratortop_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratortop_alt.png rename to src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratortop_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratortopactive.png b/src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratortopactive.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratortopactive.png rename to src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratortopactive.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratortopactive_alt.png b/src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratortopactive_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratortopactive_alt.png rename to src/main/resources/assets/emt/textures/blocks/machines/etherealmaceratortopactive_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/side.png b/src/main/resources/assets/emt/textures/blocks/machines/side.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/side.png rename to src/main/resources/assets/emt/textures/blocks/machines/side.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/top.png b/src/main/resources/assets/emt/textures/blocks/machines/top.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/top.png rename to src/main/resources/assets/emt/textures/blocks/machines/top.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/top_alt.png b/src/main/resources/assets/emt/textures/blocks/machines/top_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/top_alt.png rename to src/main/resources/assets/emt/textures/blocks/machines/top_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/top_alt2.png b/src/main/resources/assets/emt/textures/blocks/machines/top_alt2.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/top_alt2.png rename to src/main/resources/assets/emt/textures/blocks/machines/top_alt2.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/machines/wandcharger.png b/src/main/resources/assets/emt/textures/blocks/machines/wandcharger.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/machines/wandcharger.png rename to src/main/resources/assets/emt/textures/blocks/machines/wandcharger.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/portablenode.png b/src/main/resources/assets/emt/textures/blocks/portablenode.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/portablenode.png rename to src/main/resources/assets/emt/textures/blocks/portablenode.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/raindispeller.png b/src/main/resources/assets/emt/textures/blocks/raindispeller.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/raindispeller.png rename to src/main/resources/assets/emt/textures/blocks/raindispeller.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/shield.png b/src/main/resources/assets/emt/textures/blocks/shield.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/shield.png rename to src/main/resources/assets/emt/textures/blocks/shield.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/solars/air/airside.png b/src/main/resources/assets/emt/textures/blocks/solars/air/airside.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/solars/air/airside.png rename to src/main/resources/assets/emt/textures/blocks/solars/air/airside.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/solars/bottom.png b/src/main/resources/assets/emt/textures/blocks/solars/bottom.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/solars/bottom.png rename to src/main/resources/assets/emt/textures/blocks/solars/bottom.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/solars/bottom32.png b/src/main/resources/assets/emt/textures/blocks/solars/bottom32.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/solars/bottom32.png rename to src/main/resources/assets/emt/textures/blocks/solars/bottom32.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/solars/dark/darkside.png b/src/main/resources/assets/emt/textures/blocks/solars/dark/darkside.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/solars/dark/darkside.png rename to src/main/resources/assets/emt/textures/blocks/solars/dark/darkside.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/solars/doublesolartop.png b/src/main/resources/assets/emt/textures/blocks/solars/doublesolartop.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/solars/doublesolartop.png rename to src/main/resources/assets/emt/textures/blocks/solars/doublesolartop.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/solars/doublesolartop32.png b/src/main/resources/assets/emt/textures/blocks/solars/doublesolartop32.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/solars/doublesolartop32.png rename to src/main/resources/assets/emt/textures/blocks/solars/doublesolartop32.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/solars/earth/earthside.png b/src/main/resources/assets/emt/textures/blocks/solars/earth/earthside.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/solars/earth/earthside.png rename to src/main/resources/assets/emt/textures/blocks/solars/earth/earthside.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/solars/fire/fireside.png b/src/main/resources/assets/emt/textures/blocks/solars/fire/fireside.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/solars/fire/fireside.png rename to src/main/resources/assets/emt/textures/blocks/solars/fire/fireside.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/solars/order/orderside.png b/src/main/resources/assets/emt/textures/blocks/solars/order/orderside.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/solars/order/orderside.png rename to src/main/resources/assets/emt/textures/blocks/solars/order/orderside.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/solars/side.png b/src/main/resources/assets/emt/textures/blocks/solars/side.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/solars/side.png rename to src/main/resources/assets/emt/textures/blocks/solars/side.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/solars/side32.png b/src/main/resources/assets/emt/textures/blocks/solars/side32.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/solars/side32.png rename to src/main/resources/assets/emt/textures/blocks/solars/side32.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/solars/solartop.png b/src/main/resources/assets/emt/textures/blocks/solars/solartop.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/solars/solartop.png rename to src/main/resources/assets/emt/textures/blocks/solars/solartop.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/solars/solartop32.png b/src/main/resources/assets/emt/textures/blocks/solars/solartop32.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/solars/solartop32.png rename to src/main/resources/assets/emt/textures/blocks/solars/solartop32.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/solars/triplesolartop.png b/src/main/resources/assets/emt/textures/blocks/solars/triplesolartop.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/solars/triplesolartop.png rename to src/main/resources/assets/emt/textures/blocks/solars/triplesolartop.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/solars/triplesolartop32.png b/src/main/resources/assets/emt/textures/blocks/solars/triplesolartop32.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/solars/triplesolartop32.png rename to src/main/resources/assets/emt/textures/blocks/solars/triplesolartop32.png diff --git a/src/main/resources/assets/electromagictools/textures/blocks/solars/water/waterside.png b/src/main/resources/assets/emt/textures/blocks/solars/water/waterside.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/blocks/solars/water/waterside.png rename to src/main/resources/assets/emt/textures/blocks/solars/water/waterside.png diff --git a/src/main/resources/assets/electromagictools/textures/guis/etherealmacerator.png b/src/main/resources/assets/emt/textures/guis/etherealmacerator.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/guis/etherealmacerator.png rename to src/main/resources/assets/emt/textures/guis/etherealmacerator.png diff --git a/src/main/resources/assets/electromagictools/textures/guis/wandcharger.png b/src/main/resources/assets/emt/textures/guis/wandcharger.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/guis/wandcharger.png rename to src/main/resources/assets/emt/textures/guis/wandcharger.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/armor_quantum_chest.png b/src/main/resources/assets/emt/textures/items/armor/armor_quantum_chest.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/armor_quantum_chest.png rename to src/main/resources/assets/emt/textures/items/armor/armor_quantum_chest.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/armor_quantum_chest_jetpack.png b/src/main/resources/assets/emt/textures/items/armor/armor_quantum_chest_jetpack.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/armor_quantum_chest_jetpack.png rename to src/main/resources/assets/emt/textures/items/armor/armor_quantum_chest_jetpack.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/armor_quantum_chest_wing_n.png b/src/main/resources/assets/emt/textures/items/armor/armor_quantum_chest_wing_n.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/armor_quantum_chest_wing_n.png rename to src/main/resources/assets/emt/textures/items/armor/armor_quantum_chest_wing_n.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/armor_quantum_chest_wing_q.png b/src/main/resources/assets/emt/textures/items/armor/armor_quantum_chest_wing_q.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/armor_quantum_chest_wing_q.png rename to src/main/resources/assets/emt/textures/items/armor/armor_quantum_chest_wing_q.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/armor_quantum_chest_wing_t.png b/src/main/resources/assets/emt/textures/items/armor/armor_quantum_chest_wing_t.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/armor_quantum_chest_wing_t.png rename to src/main/resources/assets/emt/textures/items/armor/armor_quantum_chest_wing_t.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/boots_electric.png b/src/main/resources/assets/emt/textures/items/armor/boots_electric.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/boots_electric.png rename to src/main/resources/assets/emt/textures/items/armor/boots_electric.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/boots_electric_alt.png b/src/main/resources/assets/emt/textures/items/armor/boots_electric_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/boots_electric_alt.png rename to src/main/resources/assets/emt/textures/items/armor/boots_electric_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/boots_nano.png b/src/main/resources/assets/emt/textures/items/armor/boots_nano.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/boots_nano.png rename to src/main/resources/assets/emt/textures/items/armor/boots_nano.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/boots_quantum.png b/src/main/resources/assets/emt/textures/items/armor/boots_quantum.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/boots_quantum.png rename to src/main/resources/assets/emt/textures/items/armor/boots_quantum.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/goggles_electric.png b/src/main/resources/assets/emt/textures/items/armor/goggles_electric.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/goggles_electric.png rename to src/main/resources/assets/emt/textures/items/armor/goggles_electric.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/goggles_electric_alt.png b/src/main/resources/assets/emt/textures/items/armor/goggles_electric_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/goggles_electric_alt.png rename to src/main/resources/assets/emt/textures/items/armor/goggles_electric_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/goggles_nano.png b/src/main/resources/assets/emt/textures/items/armor/goggles_nano.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/goggles_nano.png rename to src/main/resources/assets/emt/textures/items/armor/goggles_nano.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/goggles_nano_alt.png b/src/main/resources/assets/emt/textures/items/armor/goggles_nano_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/goggles_nano_alt.png rename to src/main/resources/assets/emt/textures/items/armor/goggles_nano_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/goggles_quantum.png b/src/main/resources/assets/emt/textures/items/armor/goggles_quantum.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/goggles_quantum.png rename to src/main/resources/assets/emt/textures/items/armor/goggles_quantum.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/goggles_quantum_alt.png b/src/main/resources/assets/emt/textures/items/armor/goggles_quantum_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/goggles_quantum_alt.png rename to src/main/resources/assets/emt/textures/items/armor/goggles_quantum_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/goggles_solar.png b/src/main/resources/assets/emt/textures/items/armor/goggles_solar.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/goggles_solar.png rename to src/main/resources/assets/emt/textures/items/armor/goggles_solar.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/goggles_solar_alt.png b/src/main/resources/assets/emt/textures/items/armor/goggles_solar_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/goggles_solar_alt.png rename to src/main/resources/assets/emt/textures/items/armor/goggles_solar_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/goggles_solar_alt2.png b/src/main/resources/assets/emt/textures/items/armor/goggles_solar_alt2.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/goggles_solar_alt2.png rename to src/main/resources/assets/emt/textures/items/armor/goggles_solar_alt2.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/goggles_solar_alt3.png b/src/main/resources/assets/emt/textures/items/armor/goggles_solar_alt3.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/goggles_solar_alt3.png rename to src/main/resources/assets/emt/textures/items/armor/goggles_solar_alt3.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/wing_feather.png b/src/main/resources/assets/emt/textures/items/armor/wing_feather.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/wing_feather.png rename to src/main/resources/assets/emt/textures/items/armor/wing_feather.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/wing_nano.png b/src/main/resources/assets/emt/textures/items/armor/wing_nano.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/wing_nano.png rename to src/main/resources/assets/emt/textures/items/armor/wing_nano.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/wing_quantum.png b/src/main/resources/assets/emt/textures/items/armor/wing_quantum.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/wing_quantum.png rename to src/main/resources/assets/emt/textures/items/armor/wing_quantum.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armor/wing_thaumium.png b/src/main/resources/assets/emt/textures/items/armor/wing_thaumium.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armor/wing_thaumium.png rename to src/main/resources/assets/emt/textures/items/armor/wing_thaumium.png diff --git a/src/main/resources/assets/electromagictools/textures/items/armoreumaker.png b/src/main/resources/assets/emt/textures/items/armoreumaker.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/armoreumaker.png rename to src/main/resources/assets/emt/textures/items/armoreumaker.png diff --git a/src/main/resources/assets/electromagictools/textures/items/focus_charge.png b/src/main/resources/assets/emt/textures/items/focus_charge.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/focus_charge.png rename to src/main/resources/assets/emt/textures/items/focus_charge.png diff --git a/src/main/resources/assets/electromagictools/textures/items/focus_charge.png.mcmeta b/src/main/resources/assets/emt/textures/items/focus_charge.png.mcmeta similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/focus_charge.png.mcmeta rename to src/main/resources/assets/emt/textures/items/focus_charge.png.mcmeta diff --git a/src/main/resources/assets/electromagictools/textures/items/focus_chargeWand.png b/src/main/resources/assets/emt/textures/items/focus_chargeWand.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/focus_chargeWand.png rename to src/main/resources/assets/emt/textures/items/focus_chargeWand.png diff --git a/src/main/resources/assets/electromagictools/textures/items/focus_chargeWand.png.mcmeta b/src/main/resources/assets/emt/textures/items/focus_chargeWand.png.mcmeta similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/focus_chargeWand.png.mcmeta rename to src/main/resources/assets/emt/textures/items/focus_chargeWand.png.mcmeta diff --git a/src/main/resources/assets/electromagictools/textures/items/focus_christmas.png b/src/main/resources/assets/emt/textures/items/focus_christmas.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/focus_christmas.png rename to src/main/resources/assets/emt/textures/items/focus_christmas.png diff --git a/src/main/resources/assets/electromagictools/textures/items/focus_explosion.png b/src/main/resources/assets/emt/textures/items/focus_explosion.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/focus_explosion.png rename to src/main/resources/assets/emt/textures/items/focus_explosion.png diff --git a/src/main/resources/assets/electromagictools/textures/items/focus_shield.png b/src/main/resources/assets/emt/textures/items/focus_shield.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/focus_shield.png rename to src/main/resources/assets/emt/textures/items/focus_shield.png diff --git a/src/main/resources/assets/electromagictools/textures/items/focus_shieldAlt.png b/src/main/resources/assets/emt/textures/items/focus_shieldAlt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/focus_shieldAlt.png rename to src/main/resources/assets/emt/textures/items/focus_shieldAlt.png diff --git a/src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer.png b/src/main/resources/assets/emt/textures/items/hammer/electricthorhammer.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer.png rename to src/main/resources/assets/emt/textures/items/hammer/electricthorhammer.png diff --git a/src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer.png.mcmeta b/src/main/resources/assets/emt/textures/items/hammer/electricthorhammer.png.mcmeta similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer.png.mcmeta rename to src/main/resources/assets/emt/textures/items/hammer/electricthorhammer.png.mcmeta diff --git a/src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer_alt.png b/src/main/resources/assets/emt/textures/items/hammer/electricthorhammer_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer_alt.png rename to src/main/resources/assets/emt/textures/items/hammer/electricthorhammer_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric01.png b/src/main/resources/assets/emt/textures/items/hammer/hammerStages/electric01.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric01.png rename to src/main/resources/assets/emt/textures/items/hammer/hammerStages/electric01.png diff --git a/src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric02.png b/src/main/resources/assets/emt/textures/items/hammer/hammerStages/electric02.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric02.png rename to src/main/resources/assets/emt/textures/items/hammer/hammerStages/electric02.png diff --git a/src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric03.png b/src/main/resources/assets/emt/textures/items/hammer/hammerStages/electric03.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric03.png rename to src/main/resources/assets/emt/textures/items/hammer/hammerStages/electric03.png diff --git a/src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric04.png b/src/main/resources/assets/emt/textures/items/hammer/hammerStages/electric04.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric04.png rename to src/main/resources/assets/emt/textures/items/hammer/hammerStages/electric04.png diff --git a/src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer.png b/src/main/resources/assets/emt/textures/items/hammer/taintedthorhammer.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer.png rename to src/main/resources/assets/emt/textures/items/hammer/taintedthorhammer.png diff --git a/src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer.png.mcmeta b/src/main/resources/assets/emt/textures/items/hammer/taintedthorhammer.png.mcmeta similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer.png.mcmeta rename to src/main/resources/assets/emt/textures/items/hammer/taintedthorhammer.png.mcmeta diff --git a/src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer_long.png b/src/main/resources/assets/emt/textures/items/hammer/taintedthorhammer_long.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer_long.png rename to src/main/resources/assets/emt/textures/items/hammer/taintedthorhammer_long.png diff --git a/src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer_short.png b/src/main/resources/assets/emt/textures/items/hammer/taintedthorhammer_short.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer_short.png rename to src/main/resources/assets/emt/textures/items/hammer/taintedthorhammer_short.png diff --git a/src/main/resources/assets/electromagictools/textures/items/hammer/thorhammer.png b/src/main/resources/assets/emt/textures/items/hammer/thorhammer.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/hammer/thorhammer.png rename to src/main/resources/assets/emt/textures/items/hammer/thorhammer.png diff --git a/src/main/resources/assets/electromagictools/textures/items/inventoryeumaker.png b/src/main/resources/assets/emt/textures/items/inventoryeumaker.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/inventoryeumaker.png rename to src/main/resources/assets/emt/textures/items/inventoryeumaker.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/cardboard.png b/src/main/resources/assets/emt/textures/items/materials/cardboard.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/cardboard.png rename to src/main/resources/assets/emt/textures/items/materials/cardboard.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/cardboardsheet.png b/src/main/resources/assets/emt/textures/items/materials/cardboardsheet.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/cardboardsheet.png rename to src/main/resources/assets/emt/textures/items/materials/cardboardsheet.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/clusteruranium.png b/src/main/resources/assets/emt/textures/items/materials/clusteruranium.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/clusteruranium.png rename to src/main/resources/assets/emt/textures/items/materials/clusteruranium.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/crushedamber.png b/src/main/resources/assets/emt/textures/items/materials/crushedamber.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/crushedamber.png rename to src/main/resources/assets/emt/textures/items/materials/crushedamber.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/crushedcinnabar.png b/src/main/resources/assets/emt/textures/items/materials/crushedcinnabar.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/crushedcinnabar.png rename to src/main/resources/assets/emt/textures/items/materials/crushedcinnabar.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/ducttape.png b/src/main/resources/assets/emt/textures/items/materials/ducttape.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/ducttape.png rename to src/main/resources/assets/emt/textures/items/materials/ducttape.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/feathermesh.png b/src/main/resources/assets/emt/textures/items/materials/feathermesh.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/feathermesh.png rename to src/main/resources/assets/emt/textures/items/materials/feathermesh.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/glue.png b/src/main/resources/assets/emt/textures/items/materials/glue.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/glue.png rename to src/main/resources/assets/emt/textures/items/materials/glue.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/glueball.png b/src/main/resources/assets/emt/textures/items/materials/glueball.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/glueball.png rename to src/main/resources/assets/emt/textures/items/materials/glueball.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/lightningsummoner.png b/src/main/resources/assets/emt/textures/items/materials/lightningsummoner.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/lightningsummoner.png rename to src/main/resources/assets/emt/textures/items/materials/lightningsummoner.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/lightningsummoner_alt.png b/src/main/resources/assets/emt/textures/items/materials/lightningsummoner_alt.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/lightningsummoner_alt.png rename to src/main/resources/assets/emt/textures/items/materials/lightningsummoner_alt.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/purifiedamber.png b/src/main/resources/assets/emt/textures/items/materials/purifiedamber.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/purifiedamber.png rename to src/main/resources/assets/emt/textures/items/materials/purifiedamber.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/purifiedcinnabar.png b/src/main/resources/assets/emt/textures/items/materials/purifiedcinnabar.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/purifiedcinnabar.png rename to src/main/resources/assets/emt/textures/items/materials/purifiedcinnabar.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/rubberball.png b/src/main/resources/assets/emt/textures/items/materials/rubberball.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/rubberball.png rename to src/main/resources/assets/emt/textures/items/materials/rubberball.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/taintedfeather.png b/src/main/resources/assets/emt/textures/items/materials/taintedfeather.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/taintedfeather.png rename to src/main/resources/assets/emt/textures/items/materials/taintedfeather.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/thaumiumWing.png b/src/main/resources/assets/emt/textures/items/materials/thaumiumWing.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/thaumiumWing.png rename to src/main/resources/assets/emt/textures/items/materials/thaumiumWing.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/thaumiumplate.png b/src/main/resources/assets/emt/textures/items/materials/thaumiumplate.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/thaumiumplate.png rename to src/main/resources/assets/emt/textures/items/materials/thaumiumplate.png diff --git a/src/main/resources/assets/electromagictools/textures/items/materials/uumatterdrop.png b/src/main/resources/assets/emt/textures/items/materials/uumatterdrop.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/materials/uumatterdrop.png rename to src/main/resources/assets/emt/textures/items/materials/uumatterdrop.png diff --git a/src/main/resources/assets/electromagictools/textures/items/onering.png b/src/main/resources/assets/emt/textures/items/onering.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/items/onering.png rename to src/main/resources/assets/emt/textures/items/onering.png diff --git a/src/main/resources/assets/emt/textures/items/tools/chainsaw_diamond.png b/src/main/resources/assets/emt/textures/items/tools/chainsaw_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..7360968ed1f810526dcc51decf085e3c4092a524 GIT binary patch literal 1102 zcmV-U1hM;xP)N2bZe?^J zG%heMIczh2P5=M{%t=H+R9HvFR9i??Q53yWL`6goLNX~!X*3&0qluI-GU!7>gi3E7WmOm1xhA;_)#MkSY(h$AFH$X%)QLL_grVn zM+?@Rx%-^E*V=m@t^(k{QW{(ez7anIm@~yqfyLyRx!+=elG@V^=fghGn*R6^vi(yy z_2CtYzK<_?2axrwA6qh#u`X>FRwl(jN!WseeLXnwen>ex@%rBl%!k`EpZLJxS3_8} zHx~7+t!VVMp{}_Zp89&k9Xo*Zz6Z$v{AOtk9Q!biX*I30Kw3^+P`eBnq?Z9AIYb7f{?aSY6efW4&&tL@vxW%F_MBt{pnxUv!zwKZ^6yLl{$4OhfzD5pOT zYZAG+xk~c2M#N_AV__nRl9A%7DxNuYV$;Dy#CzS?|KzE79ZJFUm~zhl zmh+g9Vz)zOFrWHHii)_wmdtYiqU2Gp={=OSvP1{0%t%_PKI$ z>?P;XAOu6jwg16w4ZZlul{@M#W8(oES52ZMMs26t&KFK}ASNpfi7y6`+260_$$2-R z>m(yoFeN2LA?`^^GMUKB%TqFXdJ$W2k-u(D?d{ry;|@^UsdDj5cOtf^fZuJM^=moA z{PhNm;vAEhh>nhCZa<&TZ6`qzryEX{lW4iuE2{VM%xywEM^|P5s(7dYowy2mCPCWk zh=)dsHFw?$v^`iktu%L9Y38=VK;?x~Bl8=u5*H#Y9xB|hb4F*Pyx}U(-xZvBnb(7@ znGPgexBy4H&m^ouW`L_zVI^J@=Qo)s6DD}(!UT=QChmsQ=~QlD`mYRtXB}v{r8vc9 zCMp{1`SZIzI~zwi>-^9eAcUHjPh61q={fWa#Wo+$7Wtq&#&2}v2iKZlSe`=u`y|AI&;BrzLTs}hi1B#4x UD-RLZZ2$lO07*qoM6N<$f{L;0KmY&$ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/emt/textures/items/tools/chainsaw_stream.png b/src/main/resources/assets/emt/textures/items/tools/chainsaw_stream.png new file mode 100644 index 0000000000000000000000000000000000000000..d81be1ca9b8a261ddf185d0e234c29318eae514b GIT binary patch literal 967 zcmV;&133JNP)N2bZe?^J zG%heMIczh2P5=M{MM*?KR9HvFmAgx0K@`UC{tKcJMP=8Z;zncPUm#i-L2P^wK}jGM zHpY!82wMnS2N6`Tuu#DVg4$Tv1$-c4kre3y7P88gNt$$L=Nxk`b8pVgy}Q0X_?YY5 zne+Q*=4Lbi;8QJjzK5Tlo*e&}SXo(thK2?x6bj^g zJ`azNkI>uO3-j~yu)DkaJ^@x&S0NIKKy7WU2|qYEAm88LLogVGg@pxG<`v(7q_eX# zdJ&CAEh|Sbx98{Q(B9q-Gcz;r@bDlP_hL!7<)fpcP*+zc!mqEdscmjU=;^z`&pg}1e}!N|x6-2*sZ-4Vv#-X7JdP_Vlj*yS#ZIKa}<5)2Oy zLu+emRXDCZ7K_oOwY4?61Cq(4v9Ym1bxbLs4mY36uT5n#8S0yum;k@uUlqH(bK3PNxO;y)5>^}fTyLlchMjw=rY0<`T@Q&SaSmK1-xgaxzNEZy8mAwTy|@=!3S%)YjDMH=En}SEI7R}vnZ(7hm_5Xw zA74DdQ4+w-rWhiH@B&9k05_W|2M|MefukgVn=O(;*zE*INdPxj$R5IOCpbz1xYN2bZe?^J zG%heMIczh2P5=M`u}MThR9HvFl}&3CQ51%!_z$|tqA1lOHI;^AfI`~AxVSv@OUTyLkdR|n%%EPl*(&LLC>4HD!gfG-ve8oEY!T`N_12|&1 zo-NF3xO(m8&J`SekIudCU4RFt-_WW351nvx=jg-pTRw&m{@RPhqBoJhui*+R!O?ej z@>Tda2Z)ZLB)?D~WP+m)�Y?0Yab&*PlDfT59J<_uk3`N8in3 zEjN)1cCLP$0Y?I{;s1}?u4T*hNwrs zaQUH=G?~BW1S?qqATvZacxYb7z1f4>=+HzskNAj&#v5RpFv(gf1nh$UoFDLhS9T;q z!l=cEXE6)IF~9|nx}v_#axwsVQHu}HVm&xM)ZDp})Mo~b56@z2FovnYxbM`h9v2)v z5+KbiH5|j@A%0Z`GQlAUkY+6fkwRpFLlPj(TAcu5h%9hO0;JiJ6e4aH9FhQOPADEC xZWkPq0BLqgg^0VeEJ^~TSuAd+#p3pvyuas`KMra)&t3ok002ovPDHLkV1jvaa8UpN literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/emt/textures/items/tools/chainsaw_thaumium_alt.png b/src/main/resources/assets/emt/textures/items/tools/chainsaw_thaumium_alt.png new file mode 100644 index 0000000000000000000000000000000000000000..24175403b51eace50d7d38461fcff02818f2635c GIT binary patch literal 855 zcmV-d1E~CoP)N2bZe?^J zG%heMIczh2P5=M`)k#D_R9HvFRZVLXQ52oxKj89VH{{9h*sKI<& z0k*=2weQ?;<5-mqUv^$or@cxm%WYa}EprWfI~Jfk`I)YbEm-E&N`u*KEO8zCtYeD) z3nkR&HhAO8ktf<5gt1!d)h6$u=SAhKES`oE9$)@Qm-6#Y^Tm3LSL~xN2+*4oz$=FJ zd~Qygt7A7OSLWz@bm4vP0z5eThRz&%=rlJcM<4Fr_G<{>+m6qL?0pvR)V}fRGDqLc z#4El>zlIX>xg05WOBPgs()bFU8lKjZW5pLyg)q(0hkMlIVt~NVG}oWI+Zvd>SS)%c z4&Kq`YGPbZ7uq@mR`lII+0r^N#t>={hH043=RI&Vn~jAil}g?%ze>l4iY#tUY=#&g znc)?ExDStq1p>qZM9sM-gvewv%%cY;SzH~vIWdmC_B0HEzUyOUW6TiB+zeouE8rT2 z*n2xfny9UkpABw`AA;Ik|$=X9kUmr=cYbF(r)aZr$o}nWINCNFqatLo6ENSEVnNIUpG% zQA3$XA<~!wl0gzRx&g!xY0Lr1Ac+>F5K+3!0m&eVF+@W|=`sf-gCshkLPXi!79klV hQ7rBz#p3Rfyuav;Foo5n^o{@k002ovPDHLkV1gswe|`V} literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/emt/textures/items/tools/drill_rockbreaker.png b/src/main/resources/assets/emt/textures/items/tools/drill_rockbreaker.png new file mode 100644 index 0000000000000000000000000000000000000000..617767e1b979426b5b4a33ab006d88382fd5617c GIT binary patch literal 636 zcmV-?0)zdDP)Q#?TMs4tvEBZ801v3c)wjIXrNG!&!KYJl97n(rVtaT#Z^37| zoGHZG)-YhM>yk5C!JqqmYTG-&Ma>W*olXnm4~5~pxjS*yv-kTwvTd6ln$1W7*5E9h z0mR+ln3Pci5P->KLZi`$hJ%5q*{v2e8;#xJ9z?)(a5wX53;}qr*Ylp;RyA+L_i#uC z5ZkiC;P&A%Gz4#cU$1W!fW&XTdh$>>>YGADhO_h#o8X?sJnGgH` literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/emt/textures/items/tools/drill_thaumium.png b/src/main/resources/assets/emt/textures/items/tools/drill_thaumium.png new file mode 100644 index 0000000000000000000000000000000000000000..6bd7e613d622416e987d8077d5d3f5f991df6a96 GIT binary patch literal 975 zcmV;=12FuFP)N2bZe?^J zG%heMIczh2P5=M{O-V#SR9HvFm0L?xQ5c5zIG+E27exo9gN763vG8m)qci4t5K{*$ zJVa_zI%T3Y6P=aJN<#Ba5W|8l@*=S-p@M>len6B^L-e1WK_C@D5JR*H^}_K)a8Yhq$z zBB#wNYSUb?&axKJQ;d}7RM;|@3x08KuJhQ zP(-wmubJVi%m48F`d^lC7C(^T4uu-g9x$8D%1vaZ)q-m7%5Qi(m$3BsE844`V$b#h zs9#yw0&#J145rXc^^Kc1K71KFMt@fKw@GdgQ>)+ zy=UHH)cqd44RaVcIgfqGM^Tc|jg+mqOrstViAWD*q}DL}a@#A64SqyPW+z(8C(vvk zM{V&9ROAgIc}q4(mJ-q{u%xF$lz+%D;?(ZeMNC}%goW7^oUo1asjG{wp|SinDvJhL zK=g;YX>|fJPz_hU_fIR4p$zY7e8wjpx%dGcbu&11d|E#BEmReHS;Crof#LKs>Z=zC z5Ksdx7K=ocmYS-Qa5{aB<~h5B`N=PEyA~OCx_Syt}Js0Gy5Pf-i-X+?s;2Y0Lll_)#h2YY@W3J-MfGre~L(jO}d{o~R$ zV!#dXyY^jqP&kdRC2=gbC*brH0tbt(2S{QqxLiC>&+0WaCWE;#eLIF0MSvnCsDi=2 zpEF6ndd)gXDjM@|6><~-+MG5B2KTM-k0z))g6;FJIXijjo2A_b@D1Snbw xZAA)BF%%FH658@lMbcPaI<`Vz_002ovPDHLkV1kjxrcVF> literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/emt/textures/items/tools/drill_thaumium_alt.png b/src/main/resources/assets/emt/textures/items/tools/drill_thaumium_alt.png new file mode 100644 index 0000000000000000000000000000000000000000..e9fc14b90eb6adc0e36f269da9776fd2ca71f75a GIT binary patch literal 772 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 P00000NkvXXu0mjfnt%ok literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/emt/textures/items/tools/omnitool_thaumium_alt2.png b/src/main/resources/assets/emt/textures/items/tools/omnitool_thaumium_alt2.png new file mode 100644 index 0000000000000000000000000000000000000000..aa4ef33959f18bf13ee9ea30db34911996194f85 GIT binary patch literal 919 zcmV;I18Dq-P)N2bZe?^J zG%heMIczh2P5=M{6-h)vR9HvFl;2AfQ5?lbdJTFCtEZ&Rb&cJ~vV7~|Ypf#l;h^`FYJugsO`uP#Tfv*MkkP0U29KW#WS!lbQqs2*4s;62^)mTiAA)X z8N=5ve{gGLQG{T<_UI_Wtv%u_aGp`IXcW@vl1n;#wrV>V;Kz$e6crVryZyd^O+WdK zMCTZu4<^M*5WaU$lRBK905;GGSHIJbmGl7g?9?Qlj!y|lC=|lM{oNSqe~mX?RXE@F z7GaPC_XP4;avPMLA-Lytb#*8S z9|Ko{HJ%Ax`E}TE{zrJg(!OvTBH&K&rM!7p2npw&+gBqX$TEOiRHO3FlF(yEeg=BL! z(?fjf%gG2%nE*jnk`PmfOyHCW5M-rv0Aq+u;FJjvWS2}Kbo;?66ClVQ=^=Fc!6_3U t$i9*xbf+I1Wda1*SX@gRi)&|Ce*p*r_4*}&G9v&0002ovPDHLkV1ll0nqdF{ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/electromagictools/textures/misc/background.png b/src/main/resources/assets/emt/textures/misc/background.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/misc/background.png rename to src/main/resources/assets/emt/textures/misc/background.png diff --git a/src/main/resources/assets/emt/textures/misc/emt.png b/src/main/resources/assets/emt/textures/misc/emt.png new file mode 100644 index 0000000000000000000000000000000000000000..62fe2a8bcb9a404d92466db60cc21fccbdde7914 GIT binary patch literal 960 zcmV;x13&zUP)z>%2XskIMF-sr1QP=bI9Zf+0000ObVXQn zQ*UN;cVTj60B~VxZgehgWpp4kE-)@RY%_jN0009kNkldI% zsBY>pHODt;^Ny3gXaVem!0^SzMFHe|*;R7UZ#-b?XOfh<=M=aaoD}f1P_)ahZPoTN z7|imWogKl#!UA3MA0Pn30lK_yx-ig7G?_nUzS-iZwT#;w#Z6-s{QYnhXVoEuvDS&7sLJW=(0s+9p zV4r}+MtP}JqC&nPzICP|-%KX$1u%-`5IsIG&0icBOrIUlzp*Ya6eyd`3OPdTCkIsr zMxm<4As`3w@nIo{ET7L)_FY;2DxIceVt+Z%7b-c!doGuY5MnqSpeqxjbair!Cbgd< z|30r@_H_CsB@zjGxV~;Zz+Q4lv9}c@o$`&@Rt_-KFUV|di4cj64O(AYvm^)m%8lZb zf43?`(Br0|a8NLNZbZB62@%4o9EbpN5vb$|-|w0b1D!q^43z_b)s+?d0pt*7a@18J zaAS`4h6I=i#q5||_v#qHaGPJ+6CV~dg$AS zRb{zSDui7*!vW;F5oOUBLdL4xD#{|@5HkN#4wOX(G8wt& iuqcbiiL!WnkmD}|kSfFT-7r-E0000NS%G}c0*}aI z1_r);Ak6s6Y2yK)phSslL`iUdT1k0gQ7S`0VrE{6US4X6f{C7io@I`4ogYw5yQhm| zNQ8TG!iT+5Esd+|A}_KeZ|3$f$oEQ5xhH+(Ov%lz=7;-jbPZ4NO^8*ne#p0A`cng* za+WiUU$)4!IhGxgZSZBZH8{d};7FtIBsqyW2JW&3uNnf`d#nbP0l+XkK D1kzck literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/electromagictools/textures/models/solarrevealinghelmet.png b/src/main/resources/assets/emt/textures/models/solarrevealinghelmet.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/models/solarrevealinghelmet.png rename to src/main/resources/assets/emt/textures/models/solarrevealinghelmet.png diff --git a/src/main/resources/assets/electromagictools/textures/models/thaumicnanohelmet.png b/src/main/resources/assets/emt/textures/models/thaumicnanohelmet.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/models/thaumicnanohelmet.png rename to src/main/resources/assets/emt/textures/models/thaumicnanohelmet.png diff --git a/src/main/resources/assets/electromagictools/textures/models/thaumicquantumhelmet.png b/src/main/resources/assets/emt/textures/models/thaumicquantumhelmet.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/models/thaumicquantumhelmet.png rename to src/main/resources/assets/emt/textures/models/thaumicquantumhelmet.png diff --git a/src/main/resources/assets/electromagictools/textures/models/thaumiumwing.png b/src/main/resources/assets/emt/textures/models/thaumiumwing.png similarity index 100% rename from src/main/resources/assets/electromagictools/textures/models/thaumiumwing.png rename to src/main/resources/assets/emt/textures/models/thaumiumwing.png diff --git a/src/main/resources/assets/emt/textures/researches/electricCloud.png b/src/main/resources/assets/emt/textures/researches/electricCloud.png new file mode 100644 index 0000000000000000000000000000000000000000..9747908c87d6016a54a005e749fde3ad46b2c6b6 GIT binary patch literal 97833 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 ~;wlOv&| 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 Z6bL4Kt6T#O>A<~z%JOP*)iS0b{{uU|ON{^k literal 0 HcmV?d00001 diff --git a/src/main/resources/logo.png b/src/main/resources/logo.png index 661f59dd0fe01b0d31ece5ac7f420060ed05e357..62fe2a8bcb9a404d92466db60cc21fccbdde7914 100644 GIT binary patch delta 914 zcmV;D18w|^2fzoAJbw-V01FNQK)&HY00007bV*G`2i*$<69Wr4S(J4E000Z2N|3)_V)iGNK@6T_DBwJaCCykHuy z7pQLPF*V0GY4eVgzGwmLguw8{#YF++eA!iU(QiCp>SvOay5|(Q8k`jHv{1CmuWi-# zG8oMAot+)Q!omVw^B*7p!vVUyZn`kgOXK}vtz6s3Vt=E&SS(U5m!o(*ZYme&$^{u; zYYTOEc&MZ0G{vGlG0)s(;2IAP4dBVIhYspU+eFU0MDrou*`Be>u<>DmlY@E|-fCVmKV2D-)x1b#ja* zwVxyZKCfT)bowPF5(#>^zHU9hUUEpWw-qFv@{QS64lvX&$ZTzi5Q&WqT3=hUBnSJ- zjpCGlw<<)?5yGk*hyZdCsDI=M-|w0b1D!q^43z_b)s+?d0pt*7 za@18JaAS`4h6I=i#q5||_v#qHaGPJ+6CV~ zdVlEKhgPwtLSJA2hVkHo$Qguy{LO<#Dm`r$?-TfM>|yi;hG3Xk2&-}ia)6hboAFZu zxd&7on1!$_2aw}^Vt(obEzO?PO6tCvf+~bvIl}?ux)Ej37(&LX+$zc<;1DwZQVx_w o1~M7B=ddV?$BD9de30WW1duAj^W89201E&B07*qoM6N<$f;aG)S^xk5 delta 860 zcmV-i1Ec)F2a5-gJbw=W01FQRlKBIr00007bV*G`2i*$<69Wr4S(J4E000_vMObuG zZ)S9NVRB^vP+@6qbS_RsR3LUUE;TMOF-P-4Hvj+v^hrcPR9HvtmO)PwK@`WQ?T6^q zD<<^f#U7L^G4UcvJsHmeB~YPg*n$SMMWm3lJ+wW@g$tj^tAD{F#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#>RpRAbupYYk!4rZEaDhRHD(*(O_`RWfB*=P9~EUUZjnDo>rEZDISmegU5!4Nekm% z5*NGP-rlBar7B(LEqpPP>0f|>UU>T&_q-C`uF-KDUaeBGSQI!Ug2Q7mgSt61^oPX5 z2e(B+yG8+4sZ^*~aN(=D9A%sV;4;@mA{vbf{N37(wtoaVuaqn8W6$NXcExXrV z3Ba@2EFZfg5`DuFD+aMB^>oRoWX{{B2k-)P?O<%Nw)ykSJZCVf3!2e@yt(N^O1As z&F3!ME|YZ(mbH765!z>ox-HBB?)L{wf{n2OI)7JzBNo6M?rC)0=czF5PH^We@sU4K zn8%tx61p+qsBe7y7~A=dHMNN_HIiXEVEBh8Zed;)+4z>w%>i$5_bq(+?6%5T+^1oA6_2X>F((&;VHjxjll7j|1trM mN?a^^+jjugvQyXL81owz