diff --git a/Changelog.txt b/Changelog.txt index 7aaebd3..22a98b2 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,6 +1,19 @@ Changelog of the mod : Electric Magic Tools, a Thaumcraft 4/Industrial-Craft 2 addon -------------------------------------------------------------------------------------------------------------------------------------------------------- +Version 1.1.4 : +Updated to Minecraft version 1.7.10. +Rewrote and improved the Essentia Generator code. It's now very easy to add new ones. +Rewrote and improved the Solar Panel code. It's now very easy to add new ones. +Rewrote and improved the Drill, Chainsaw, Omnitool, Boot, Goggle and Wing code. It's now very easy to add new ones, as well as way more efficient. +Refractored a lot of the code in preparation for the modules. +Added a new Essentia Generator, the Aer Generator. +Added a tooltip to the current Essentia Generators, saying they will be removed in future versions. +Added an Essentia Generator, alongisde with a dynamic system calculating outputs linked to different essentias. Change the values of the primals in the config, and there is even a maximum cap! + +Version 1.1.3 : +Added a logo to the mcmod.info, and fixed the version tag. + Version 1.1.2 : Fixed the Shield Block being broken by the wither. Added Config GUIs. Regenerating the config file is HIGLY reccomended. diff --git a/build.gradle b/build.gradle index bd8a4f4..69840b3 100644 --- a/build.gradle +++ b/build.gradle @@ -17,12 +17,12 @@ buildscript { apply plugin: 'forge' -version = "1.1.2" +version = "1.7.10-1.1.4Beta3" group= "" archivesBaseName = "ElectroMagicTools" minecraft { - version = "1.7.2-10.12.2.1147" + version = "1.7.10-10.13.0.1208" assetDir = "eclipse/assets" } diff --git a/capes/Thumbs.db b/capes/Thumbs.db index e07e3ac..7922399 100644 Binary files a/capes/Thumbs.db and b/capes/Thumbs.db differ diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 667288a..b761216 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 55f4524..678d9d8 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Oct 29 18:00:54 CDT 2013 +#Wed Jul 02 15:54:47 CDT 2014 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-bin.zip diff --git a/src/api/java/ic2/api/Direction.class b/src/api/java/ic2/api/Direction.class deleted file mode 100644 index 5705e5d..0000000 Binary files a/src/api/java/ic2/api/Direction.class and /dev/null differ diff --git a/src/api/java/ic2/api/crops/CropCard.class b/src/api/java/ic2/api/crops/CropCard.class deleted file mode 100644 index 170afed..0000000 Binary files a/src/api/java/ic2/api/crops/CropCard.class and /dev/null differ diff --git a/src/api/java/ic2/api/crops/Crops.class b/src/api/java/ic2/api/crops/Crops.class deleted file mode 100644 index e0c5d9a..0000000 Binary files a/src/api/java/ic2/api/crops/Crops.class and /dev/null differ diff --git a/src/api/java/ic2/api/energy/IEnergyNet.class b/src/api/java/ic2/api/energy/IEnergyNet.class deleted file mode 100644 index 5eab95d..0000000 Binary files a/src/api/java/ic2/api/energy/IEnergyNet.class and /dev/null differ diff --git a/src/api/java/ic2/api/energy/prefab/BasicSink.class b/src/api/java/ic2/api/energy/prefab/BasicSink.class deleted file mode 100644 index c3cf204..0000000 Binary files a/src/api/java/ic2/api/energy/prefab/BasicSink.class and /dev/null differ diff --git a/src/api/java/ic2/api/energy/prefab/BasicSource.class b/src/api/java/ic2/api/energy/prefab/BasicSource.class deleted file mode 100644 index a175f99..0000000 Binary files a/src/api/java/ic2/api/energy/prefab/BasicSource.class and /dev/null differ diff --git a/src/api/java/ic2/api/energy/tile/IEnergyConductor.class b/src/api/java/ic2/api/energy/tile/IEnergyConductor.class deleted file mode 100644 index 0095aa9..0000000 Binary files a/src/api/java/ic2/api/energy/tile/IEnergyConductor.class and /dev/null differ diff --git a/src/api/java/ic2/api/energy/tile/IEnergySource.class b/src/api/java/ic2/api/energy/tile/IEnergySource.class deleted file mode 100644 index b149043..0000000 Binary files a/src/api/java/ic2/api/energy/tile/IEnergySource.class and /dev/null differ diff --git a/src/api/java/ic2/api/item/ElectricItem.class b/src/api/java/ic2/api/item/ElectricItem.class deleted file mode 100644 index 492cc42..0000000 Binary files a/src/api/java/ic2/api/item/ElectricItem.class and /dev/null differ diff --git a/src/api/java/ic2/api/item/ElectricItem.java b/src/api/java/ic2/api/item/ElectricItem.java deleted file mode 100644 index 511220f..0000000 --- a/src/api/java/ic2/api/item/ElectricItem.java +++ /dev/null @@ -1,108 +0,0 @@ -package ic2.api.item; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; - -/** - * Allows for charging, discharging and using electric items (IElectricItem). - * - * The charge or remaining capacity of an item can be determined by calling charge/discharge with - * ignoreTransferLimit and simulate set to true. - */ -public final class ElectricItem { - /** - * IElectricItemManager to use for interacting with IElectricItem ItemStacks. - * - * This manager will act as a gateway and delegate the tasks to the final implementation - * (rawManager or a custom one) as necessary. - */ - public static IElectricItemManager manager; - - /** - * Standard IElectricItemManager implementation, only call it directly from another - * IElectricItemManager. Use manager instead. - */ - public static IElectricItemManager rawManager; - - /** - * Charge an item with a specified amount of energy - * - * @param itemStack electric item's stack - * @param amount amount of energy to charge in EU - * @param tier tier of the charging device, has to be at least as high as the item to charge - * @param ignoreTransferLimit ignore the transfer limit specified by getTransferLimit() - * @param simulate don't actually change the item, just determine the return value - * @return Energy transferred into the electric item - * - * @deprecated use manager.charge() instead - */ - @Deprecated - public static int charge(ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate) { - return manager.charge(itemStack, amount, tier, ignoreTransferLimit, simulate); - } - - /** - * Discharge an item by a specified amount of energy - * - * @param itemStack electric item's stack - * @param amount amount of energy to charge in EU - * @param tier tier of the discharging device, has to be at least as high as the item to discharge - * @param ignoreTransferLimit ignore the transfer limit specified by getTransferLimit() - * @param simulate don't actually discharge the item, just determine the return value - * @return Energy retrieved from the electric item - * - * @deprecated use manager.discharge() instead - */ - @Deprecated - public static int discharge(ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate) { - return manager.discharge(itemStack, amount, tier, ignoreTransferLimit, simulate); - } - - /** - * Determine if the specified electric item has at least a specific amount of EU. - * This is supposed to be used in the item code during operation, for example if you want to implement your own electric item. - * BatPacks are not taken into account. - * - * @param itemStack electric item's stack - * @param amount minimum amount of energy required - * @return true if there's enough energy - * - * @deprecated use manager.canUse() instead - */ - @Deprecated - public static boolean canUse(ItemStack itemStack, int amount) { - return manager.canUse(itemStack, amount); - } - - /** - * Try to retrieve a specific amount of energy from an Item, and if applicable, a BatPack. - * This is supposed to be used in the item code during operation, for example if you want to implement your own electric item. - * - * @param itemStack electric item's stack - * @param amount amount of energy to discharge in EU - * @param player player holding the item - * @return true if the operation succeeded - * - * @deprecated use manager.use() instead - */ - @Deprecated - public static boolean use(ItemStack itemStack, int amount, EntityPlayer player) { - return manager.use(itemStack, amount, player); - } - - /** - * Charge an item from the BatPack a player is wearing. - * This is supposed to be used in the item code during operation, for example if you want to implement your own electric item. - * use() already contains this functionality. - * - * @param itemStack electric item's stack - * @param player player holding the item - * - * @deprecated use manager.chargeFromArmor() instead - */ - @Deprecated - public static void chargeFromArmor(ItemStack itemStack, EntityPlayer player) { - manager.chargeFromArmor(itemStack, player); - } -} - diff --git a/src/api/java/ic2/api/item/ICustomElectricItem.class b/src/api/java/ic2/api/item/ICustomElectricItem.class deleted file mode 100644 index 9c5ac72..0000000 Binary files a/src/api/java/ic2/api/item/ICustomElectricItem.class and /dev/null differ diff --git a/src/api/java/ic2/api/item/ICustomElectricItem.java b/src/api/java/ic2/api/item/ICustomElectricItem.java deleted file mode 100644 index 9f4b1a6..0000000 --- a/src/api/java/ic2/api/item/ICustomElectricItem.java +++ /dev/null @@ -1,67 +0,0 @@ -package ic2.api.item; - -import net.minecraft.item.ItemStack; - -/** - * Provides the ability to store energy on the implementing item. - * - * This interface is a special version of IElectricItem which delegates the implementation of - * charge(), discharge() and canUse() to the implementing Item. - * - * The default implementation (when not using ICustomElectricItem) does the following: - * - store and retrieve the charge - * - handle charging, taking amount, tier, transfer limit, canProvideEnergy and simulate into account - * - replace item IDs if appropriate (getChargedItemId() and getEmptyItemId()) - * - update and manage the damage value for the visual charge indicator - * - * @note ICustomElectricItem must not call the ElectricItem methods charge, discharge or canUse - * - * @deprecated Use ISpecialElectricItem instead. - */ -@Deprecated -public interface ICustomElectricItem extends IElectricItem { - /** - * Charge an item with a specified amount of energy - * - * @param itemStack electric item's stack - * @param amount amount of energy to charge in EU - * @param tier tier of the charging device, has to be at least as high as the item to charge - * @param ignoreTransferLimit ignore the transfer limit specified by getTransferLimit() - * @param simulate don't actually change the item, just determine the return value - * @return Energy transferred into the electric item - */ - public int charge(ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate); - - /** - * Discharge an item by a specified amount of energy - * - * @param itemStack electric item's stack - * @param amount amount of energy to charge in EU - * @param tier tier of the discharging device, has to be at least as high as the item to discharge - * @param ignoreTransferLimit ignore the transfer limit specified by getTransferLimit() - * @param simulate don't actually discharge the item, just determine the return value - * @return Energy retrieved from the electric item - */ - public int discharge(ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate); - - /** - * Determine if the specified electric item has at least a specific amount of EU. - * This is supposed to be used in the item code during operation, for example if you want to implement your own electric item. - * BatPacks are not taken into account. - * - * @param itemStack electric item's stack - * @param amount minimum amount of energy required - * @return true if there's enough energy - */ - public boolean canUse(ItemStack itemStack, int amount); - - /** - * Determine whether to show the charge tool tip with NEI or other means. - * - * Return false if IC2's handler is incompatible, you want to implement your own or you don't - * want to display the charge at all. - * - * @return true to show the tool tip (x/y EU) - */ - public boolean canShowChargeToolTip(ItemStack itemStack); -} diff --git a/src/api/java/ic2/api/item/IElectricItemManager.class b/src/api/java/ic2/api/item/IElectricItemManager.class deleted file mode 100644 index 283ea77..0000000 Binary files a/src/api/java/ic2/api/item/IElectricItemManager.class and /dev/null differ diff --git a/src/api/java/ic2/api/reactor/IC2Reactor.class b/src/api/java/ic2/api/reactor/IC2Reactor.class deleted file mode 100644 index 7000154..0000000 Binary files a/src/api/java/ic2/api/reactor/IC2Reactor.class and /dev/null differ diff --git a/src/api/java/ic2/api/reactor/IC2Reactor.java b/src/api/java/ic2/api/reactor/IC2Reactor.java deleted file mode 100644 index 78d5a9f..0000000 --- a/src/api/java/ic2/api/reactor/IC2Reactor.java +++ /dev/null @@ -1,34 +0,0 @@ -package ic2.api.reactor; - -import java.lang.reflect.Field; - -public class IC2Reactor { - private static Field energyGeneratorNuclear; - - public static int getEUOutput() { - try { - if (energyGeneratorNuclear == null) energyGeneratorNuclear = Class.forName(getPackage() + ".core.IC2").getDeclaredField("energyGeneratorNuclear"); - - return energyGeneratorNuclear.getInt(null); - } catch (Throwable e) { - throw new RuntimeException(e); - } - } - - /** - * Get the base IC2 package name, used internally. - * - * @return IC2 package name, if unable to be determined defaults to ic2 - */ - private static String getPackage() { - Package pkg = IC2Reactor.class.getPackage(); - - if (pkg != null) { - String packageName = pkg.getName(); - - return packageName.substring(0, packageName.length() - ".baubles.api.reactor".length()); - } - - return "ic2"; - } -} diff --git a/src/api/java/ic2/api/reactor/IReactor.class b/src/api/java/ic2/api/reactor/IReactor.class deleted file mode 100644 index 561dd2d..0000000 Binary files a/src/api/java/ic2/api/reactor/IReactor.class and /dev/null differ diff --git a/src/api/java/ic2/api/reactor/IReactorChamber.class b/src/api/java/ic2/api/reactor/IReactorChamber.class deleted file mode 100644 index 2575867..0000000 Binary files a/src/api/java/ic2/api/reactor/IReactorChamber.class and /dev/null differ diff --git a/src/api/java/ic2/api/recipe/RecipeOutput.class b/src/api/java/ic2/api/recipe/RecipeOutput.class deleted file mode 100644 index c7c6f39..0000000 Binary files a/src/api/java/ic2/api/recipe/RecipeOutput.class and /dev/null differ diff --git a/src/api/java/ic2/api/recipe/Recipes.class b/src/api/java/ic2/api/recipe/Recipes.class deleted file mode 100644 index 242aef2..0000000 Binary files a/src/api/java/ic2/api/recipe/Recipes.class and /dev/null differ diff --git a/src/main/java/baubles/api/BaublesApi.java b/src/main/java/baubles/api/BaublesApi.java index 20d5c60..f122e90 100644 --- a/src/main/java/baubles/api/BaublesApi.java +++ b/src/main/java/baubles/api/BaublesApi.java @@ -1,33 +1,40 @@ package baubles.api; -import cpw.mods.fml.common.FMLLog; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; - import java.lang.reflect.Method; - +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import cpw.mods.fml.common.FMLLog; /** * @author Azanor */ -public class BaublesApi { - +public class BaublesApi +{ static Method getBaubles; + /** * Retrieves the baubles inventory for the supplied player */ - public static IInventory getBaubles(EntityPlayer player) { + public static IInventory getBaubles(EntityPlayer player) + { IInventory ot = null; - try { - if(getBaubles == null) { - Class fake = Class.forName("baubles.common.lib.PlayerHandler"); + + try + { + if(getBaubles == null) + { + Class fake = Class.forName("baubles.common.lib.PlayerHandler"); getBaubles = fake.getMethod("getPlayerBaubles", EntityPlayer.class); } + ot = (IInventory) getBaubles.invoke(null, player); - } catch(Exception ex) { + } + catch(Exception ex) + { FMLLog.warning("[Baubles API] Could not invoke baubles.common.lib.PlayerHandler method getPlayerBaubles"); } + return ot; } diff --git a/src/main/java/baubles/api/package-info.java b/src/main/java/baubles/api/package-info.java index 9fe5323..f4314ee 100644 --- a/src/main/java/baubles/api/package-info.java +++ b/src/main/java/baubles/api/package-info.java @@ -1,3 +1,3 @@ -@API(apiVersion = "1.0.0.16", owner = "Baubles", provides = "Baubles|API") +@API(apiVersion = "1.7.10-1.0.1.5", owner = "Baubles", provides = "Baubles|API") package baubles.api; import cpw.mods.fml.common.API; \ No newline at end of file diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/CapeEventHandler.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/CapeEventHandler.java deleted file mode 100644 index e927735..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/CapeEventHandler.java +++ /dev/null @@ -1,147 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.client; - -import cpw.mods.fml.common.Loader; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.relauncher.ReflectionHelper; -import net.minecraft.client.entity.AbstractClientPlayer; -import net.minecraft.client.renderer.ThreadDownloadImageData; -import net.minecraftforge.client.event.RenderPlayerEvent; - -import javax.swing.*; -import java.awt.*; -import java.awt.image.BufferedImage; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.HashMap; - -public class CapeEventHandler { - private final String serverLocation = "https://raw.github.com/Tombenpotter/Electro-Magic-Tools/master/capes.txt"; - private final int timeout = 1000; - - private static final Graphics TEST_GRAPHICS = new BufferedImage(128, 128, BufferedImage.TYPE_INT_RGB).getGraphics(); - private HashMap cloaks = new HashMap(); - private ArrayList capePlayers = new ArrayList(); - - public static CapeEventHandler instance; - - public CapeEventHandler() { - buildCloakURLDatabase(); - instance = this; - } - - @SubscribeEvent - public void onPreRenderSpecials(RenderPlayerEvent.Specials.Pre event) { - if (Loader.isModLoaded("shadersmod")) { - return; - } - if (event.entityPlayer instanceof AbstractClientPlayer) { - AbstractClientPlayer abstractClientPlayer = (AbstractClientPlayer) event.entityPlayer; - - if (!capePlayers.contains(abstractClientPlayer)) { - String cloakURL = cloaks.get(event.entityPlayer.getCommandSenderName()); - - if (cloakURL == null) { - return; - } - - capePlayers.add(abstractClientPlayer); - - ReflectionHelper.setPrivateValue(ThreadDownloadImageData.class, abstractClientPlayer.getTextureCape(), false, new String[]{"textureUploaded", "field_110559_g"}); - - new Thread(new CloakThread(abstractClientPlayer, cloakURL)).start(); - event.renderCape = true; - } - } - } - - public void buildCloakURLDatabase() { - URL url; - try { - url = new URL(serverLocation); - URLConnection con = url.openConnection(); - con.setConnectTimeout(timeout); - con.setReadTimeout(timeout); - InputStream io = con.getInputStream(); - BufferedReader br = new BufferedReader(new InputStreamReader(io)); - - String str; - int linetracker = 1; - while ((str = br.readLine()) != null) { - if (!str.startsWith("--")) { - if (str.contains(":")) { - String nick = str.substring(0, str.indexOf(":")); - String link = str.substring(str.indexOf(":") + 1); - new Thread(new CloakPreload(link)).start(); - cloaks.put(nick, link); - } else { - System.err.println("[Electro-Magic Tools] [skins.txt] Syntax error on line " + linetracker + ": " + str); - } - } - linetracker++; - } - - br.close(); - } catch (MalformedURLException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private class CloakThread implements Runnable { - AbstractClientPlayer abstractClientPlayer; - String cloakURL; - - public CloakThread(AbstractClientPlayer player, String cloak) { - abstractClientPlayer = player; - cloakURL = cloak; - } - - @Override - public void run() { - try { - Image cape = new ImageIcon(new URL(cloakURL)).getImage(); - BufferedImage bo = new BufferedImage(cape.getWidth(null), cape.getHeight(null), BufferedImage.TYPE_INT_ARGB); - bo.getGraphics().drawImage(cape, 0, 0, null); - - ReflectionHelper.setPrivateValue(ThreadDownloadImageData.class, abstractClientPlayer.getTextureCape(), bo, new String[]{"bufferedImage", "field_110560_d"}); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - } - } - - private class CloakPreload implements Runnable { - String cloakURL; - - public CloakPreload(String link) { - cloakURL = link; - } - - @Override - public void run() { - try { - TEST_GRAPHICS.drawImage(new ImageIcon(new URL(cloakURL)).getImage(), 0, 0, null); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - } - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/TileEntityRegistry.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/TileEntityRegistry.java deleted file mode 100644 index b837fbe..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/TileEntityRegistry.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; - -import cpw.mods.fml.common.registry.GameRegistry; - -public class TileEntityRegistry { - - public static void registerEMTTileEntites() { - - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityPotentiaGenerator.class, "tileentityessentiagenerator"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityIgnisGenerator.class, "tileentityignisgenerator"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityAuramGenerator.class, "tileentityauramgenerator"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityArborGenerator.class, "tileentityarborgenerator"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityIndustrialWandRecharge.class, "tileentityindustrialwandrecharge"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityCompressedSolar.class, "tileentitycompressedsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityDoubleCompressedSolar.class, "tileentitydoublecompressedsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityTripleCompressedSolar.class, "tileentitytriplecompressedsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEtherealMacerator.class, "tileentityetherealmacerator"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityWaterSolar.class, "tileentitywatersolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityDoubleWaterSolar.class, "tileentitydoublewatersolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityTripleWaterSolar.class, "tileentitytriplewatersolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityDarkSolar.class, "tileentitydarksolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityDoubleDarkSolar.class, "tileentitydoubledarksolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityTripleDarkSolar.class, "tileentitytripledarksolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityOrderSolar.class, "tileentityordersolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityDoubleOrderSolar.class, "tileentitydoubleordersolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityTripleOrderSolar.class, "tileentitytripleordersolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityFireSolar.class, "tileentityfiresolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityDoubleFireSolar.class, "tileentitydoublefiresolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityTripleFireSolar.class, "tileentitytriplefiresolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityAirSolar.class, "tileentityairsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityDoubleAirSolar.class, "tileentitydoubleairsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityTripleAirSolar.class, "tileentitytripleairsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityEarthSolar.class, "tileentityearthsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityDoubleEarthSolar.class, "tileentitydoubleearthsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.TileEntityTripleEarthSolar.class, "tileentitytripleearthsolar"); - GameRegistry.registerTileEntity(electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityPortableNode.class, "tileentityportablenode"); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTSolars.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTSolars.java deleted file mode 100644 index 90067fd..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTSolars.java +++ /dev/null @@ -1,176 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.blocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.*; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -import java.util.List; - -public class BlockEMTSolars extends BlockEMT { - - public BlockEMTSolars() { - super(Material.iron); - this.setCreativeTab(CreativeTab.tabTombenpotter); - this.setHardness(4.0F); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister ri) { - this.top[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/solartop"); - this.top[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/doublesolartop"); - this.top[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/triplesolartop"); - this.top[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/solartop"); - this.top[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/doublesolartop"); - this.top[5] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/triplesolartop"); - this.top[6] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/solartop"); - this.top[7] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/doublesolartop"); - this.top[8] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/triplesolartop"); - this.top[9] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/solartop"); - this.top[10] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/doublesolartop"); - this.top[11] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/triplesolartop"); - this.top[12] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/solartop"); - this.top[13] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/doublesolartop"); - this.top[14] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/triplesolartop"); - this.top[15] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/solartop"); - - this.bottom[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/bottom"); - this.bottom[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/bottom"); - this.bottom[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/bottom"); - this.bottom[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterbottom"); - this.bottom[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterbottom"); - this.bottom[5] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterbottom"); - this.bottom[6] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkbottom"); - this.bottom[7] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkbottom"); - this.bottom[8] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkbottom"); - this.bottom[9] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderbottom"); - this.bottom[10] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderbottom"); - this.bottom[11] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderbottom"); - this.bottom[12] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/firebottom"); - this.bottom[13] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/firebottom"); - this.bottom[14] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/firebottom"); - this.bottom[15] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airbottom"); - - this.frontOff[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/side"); - this.frontOff[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/side"); - this.frontOff[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/side"); - this.frontOff[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterside"); - this.frontOff[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterside"); - this.frontOff[5] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterside"); - this.frontOff[6] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkside"); - this.frontOff[7] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkside"); - this.frontOff[8] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkside"); - this.frontOff[9] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderside"); - this.frontOff[10] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderside"); - this.frontOff[11] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderside"); - this.frontOff[12] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/fireside"); - this.frontOff[13] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/fireside"); - this.frontOff[14] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/fireside"); - this.frontOff[15] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airside"); - - this.side[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/side"); - this.side[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/side"); - this.side[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/side"); - this.side[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterside"); - this.side[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterside"); - this.side[5] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/water/waterside"); - this.side[6] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkside"); - this.side[7] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkside"); - this.side[8] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/dark/darkside"); - this.side[9] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderside"); - this.side[10] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderside"); - this.side[11] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/order/orderside"); - this.side[12] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/fireside"); - this.side[13] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/fireside"); - this.side[14] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/fire/fireside"); - this.side[15] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airside"); - } - - @SideOnly(Side.CLIENT) - @SuppressWarnings({"unchecked", "rawtypes"}) - public void getSubBlocks(Item id, CreativeTabs tab, List list) { - for (int i = 0; i <= 15; i++) { - list.add(new ItemStack(id, 1, i)); - } - } - - @Override - public TileEntity createTileEntity(World world, int meta) { - if (meta == 0) { - return new TileEntityCompressedSolar(); - } - if (meta == 1) { - return new TileEntityDoubleCompressedSolar(); - } - if (meta == 2) { - return new TileEntityTripleCompressedSolar(); - } - if (meta == 3) { - return new TileEntityWaterSolar(); - } - if (meta == 4) { - return new TileEntityDoubleWaterSolar(); - } - if (meta == 5) { - return new TileEntityTripleWaterSolar(); - } - if (meta == 6) { - return new TileEntityDarkSolar(); - } - if (meta == 7) { - return new TileEntityDoubleDarkSolar(); - } - if (meta == 8) { - return new TileEntityTripleDarkSolar(); - } - if (meta == 9) { - return new TileEntityOrderSolar(); - } - if (meta == 10) { - return new TileEntityDoubleOrderSolar(); - } - if (meta == 11) { - return new TileEntityTripleOrderSolar(); - } - if (meta == 12) { - return new TileEntityFireSolar(); - } - if (meta == 13) { - return new TileEntityDoubleFireSolar(); - } - if (meta == 14) { - return new TileEntityTripleFireSolar(); - } - if (meta == 15) { - return new TileEntityAirSolar(); - } - return super.createTileEntity(world, meta); - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) { - world.removeTileEntity(x, y, z); - super.breakBlock(world, x, y, z, par5, par6); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTSolars2.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTSolars2.java deleted file mode 100644 index 8c5f5f4..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTSolars2.java +++ /dev/null @@ -1,99 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.blocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.solars.*; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -import java.util.List; - -public class BlockEMTSolars2 extends BlockEMT { - - public BlockEMTSolars2() { - super(Material.iron); - this.setCreativeTab(CreativeTab.tabTombenpotter); - this.setHardness(4.0F); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister ri) { - this.top[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/doublesolartop"); - this.top[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/triplesolartop"); - this.top[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/solartop"); - this.top[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/doublesolartop"); - this.top[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/triplesolartop"); - - this.bottom[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airbottom"); - this.bottom[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airbottom"); - this.bottom[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthbottom"); - this.bottom[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthbottom"); - this.bottom[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthbottom"); - - this.frontOff[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airside"); - this.frontOff[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airside"); - this.frontOff[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthside"); - this.frontOff[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthside"); - this.frontOff[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthside"); - - this.side[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airside"); - this.side[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/air/airside"); - this.side[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthside"); - this.side[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthside"); - this.side[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":solars/earth/earthside"); - } - - @SideOnly(Side.CLIENT) - @SuppressWarnings({"unchecked", "rawtypes"}) - public void getSubBlocks(Item id, CreativeTabs tab, List list) { - for (int i = 0; i <= 4; i++) { - list.add(new ItemStack(id, 1, i)); - } - } - - @Override - public TileEntity createTileEntity(World world, int meta) { - if (meta == 0) { - return new TileEntityDoubleAirSolar(); - } - if (meta == 1) { - return new TileEntityTripleAirSolar(); - } - if (meta == 2) { - return new TileEntityEarthSolar(); - } - if (meta == 3) { - return new TileEntityDoubleEarthSolar(); - } - if (meta == 4) { - return new TileEntityTripleEarthSolar(); - } - return super.createTileEntity(world, meta); - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) { - world.removeTileEntity(x, y, z); - super.breakBlock(world, x, y, z, par5, par6); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemNanoBootsTraveller.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemNanoBootsTraveller.java deleted file mode 100644 index b3eb1b6..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemNanoBootsTraveller.java +++ /dev/null @@ -1,103 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - * - * Attention: this class originally belongs to the ThaumicTinkerer mod. - * All I did was modifying it to fulfill my needs. - * - * ThaumicTinkerer is Open Source and distributed under a - * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License - * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) - * - * http://www.minecraftforum.net/topic/1813058- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.boots; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; -import thaumcraft.api.aspects.Aspect; - -import java.util.List; - -public class ItemNanoBootsTraveller extends ItemElectricBootsTraveller { - - public int maxCharge = 500000; - - public ItemNanoBootsTraveller(int par3, int par4) { - super(par3, par4); - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":nanobootstravel"); - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/nanobootstravel.png"; - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 4; - } - - @Override - void tickPlayer(EntityPlayer player) { - if (player.worldObj.isRemote) - player.stepHeight = player.isSneaking() ? 0.5F : 1F; - if ((player.onGround || player.capabilities.isFlying) && player.moveForward > 0F) - player.moveFlying(0F, 1F, (float) (player.capabilities.isFlying ? 0.075F : Config.nanoBootsSpeed)); - player.jumpMovementFactor = player.isSprinting() ? 0.05F : 0.04F; - player.fallDistance = 0F; - } - - @SubscribeEvent - @Override - public void onPlayerJump(LivingJumpEvent event) { - if (event.entityLiving instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) event.entityLiving; - boolean hasArmor = player.getCurrentArmor(0) != null && player.getCurrentArmor(0).getItem() == this; - - if (hasArmor) { - player.motionY += Config.nanoBootsJump; - } - } - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 1000; - } - - public int getEnergyPerDamage() { - return 200; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 4%"); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemQuantumBootsTraveller.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemQuantumBootsTraveller.java deleted file mode 100644 index f63b0ba..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemQuantumBootsTraveller.java +++ /dev/null @@ -1,103 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - * - * Attention: this class originally belongs to the ThaumicTinkerer mod. - * All I did was modifying it to fulfill my needs. - * - * ThaumicTinkerer is Open Source and distributed under a - * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License - * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) - * - * http://www.minecraftforum.net/topic/1813058- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.boots; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; -import thaumcraft.api.aspects.Aspect; - -import java.util.List; - -public class ItemQuantumBootsTraveller extends ItemElectricBootsTraveller { - - public int maxCharge = 1000000; - - public ItemQuantumBootsTraveller(int par3, int par4) { - super(par3, par4); - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":quantumbootstravel"); - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/quantumbootstravel.png"; - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 5; - } - - @Override - void tickPlayer(EntityPlayer player) { - if (player.worldObj.isRemote) - player.stepHeight = player.isSneaking() ? 0.5F : 1F; - if ((player.onGround || player.capabilities.isFlying) && player.moveForward > 0F) - player.moveFlying(0F, 1F, (float) (player.capabilities.isFlying ? 0.075F : Config.quantumBootsSpeed)); - player.jumpMovementFactor = player.isSprinting() ? 0.05F : 0.04F; - player.fallDistance = 0F; - } - - @SubscribeEvent - @Override - public void onPlayerJump(LivingJumpEvent event) { - if (event.entityLiving instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) event.entityLiving; - boolean hasArmor = player.getCurrentArmor(0) != null && player.getCurrentArmor(0).getItem() == this; - - if (hasArmor) { - player.motionY += Config.quantumBootsJump; - } - } - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 1000; - } - - public int getEnergyPerDamage() { - return 200; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 5%"); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemElectricGoggles.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemElectricGoggles.java deleted file mode 100644 index 6819205..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemElectricGoggles.java +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.goggles; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import thaumcraft.api.aspects.Aspect; - -import java.util.List; - -public class ItemElectricGoggles extends ItemQuantumThaumicHelmet { - - public int maxCharge = 10000; - - public ItemElectricGoggles(int par3, int par4) { - super(par3, par4); - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":electricgoggles"); - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/electricgoggles.png"; - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 5; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - public int getEnergyPerDamage() { - return 100; - } - - @Override - public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 10; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 5%"); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemQuantumThaumicHelmet.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemQuantumThaumicHelmet.java deleted file mode 100644 index 11b2712..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemQuantumThaumicHelmet.java +++ /dev/null @@ -1,246 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.goggles; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import ic2.api.item.ElectricItem; -import ic2.api.item.IElectricItem; -import ic2.api.item.IMetalArmor; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraftforge.common.ISpecialArmor; -import thaumcraft.api.IGoggles; -import thaumcraft.api.IVisDiscountGear; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.nodes.IRevealer; - -import java.util.*; - -public class ItemQuantumThaumicHelmet extends ItemArmor implements IElectricItem, IVisDiscountGear, IGoggles, IRevealer, IMetalArmor, ISpecialArmor { - @SuppressWarnings({"unchecked", "rawtypes"}) - private static final Map potionCost = new HashMap(); - - public ItemQuantumThaumicHelmet(int par3, int par4) { - super(ArmorMaterial.DIAMOND, par3, par4); - this.setCreativeTab(CreativeTab.tabTombenpotter); - this.setMaxDamage(27); - this.setMaxStackSize(1); - - potionCost.put(Integer.valueOf(Potion.poison.id), Integer.valueOf(10000)); - potionCost.put(Integer.valueOf(Potion.wither.id), Integer.valueOf(15000)); - potionCost.put(Integer.valueOf(Potion.confusion.id), Integer.valueOf(5000)); - } - - public int maxCharge = 10000000; - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":quantumthaumichelmet"); - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/thaumicquantumhelmet.png"; - } - - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 2; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @Override - public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { - int refill = player.getAir(); - if (ElectricItem.manager.canUse(itemStack, 1000) && refill < 100) { - player.setAir(refill + 200); - ElectricItem.manager.use(itemStack, 1000, null); - } - - Iterator i$ = (new LinkedList(player.getActivePotionEffects())).iterator(); - do { - if (!i$.hasNext()) { - break; - } - { - PotionEffect effect = (PotionEffect) i$.next(); - int id = effect.getPotionID(); - Integer cost = (Integer) potionCost.get(Integer.valueOf(id)); - if (cost != null) { - cost = Integer.valueOf(cost.intValue() * (effect.getAmplifier() + 1)); - if (ElectricItem.manager.canUse(itemStack, cost.intValue())) { - ElectricItem.manager.use(itemStack, cost.intValue(), null); - ItemStack milk = (new ItemStack(Items.milk_bucket)); - player.curePotionEffects(milk); - } - } - } - } while (true); - - if (Config.nightVisionOff == false) { - if (ElectricItem.manager.canUse(itemStack, 1 / 1000)) { - int x = MathHelper.floor_double(player.posX); - int z = MathHelper.floor_double(player.posZ); - int y = MathHelper.floor_double(player.posY); - int lightlevel = player.worldObj.getBlockLightValue(x, y, z); - if (lightlevel >= 0) - player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 300, -3)); - ElectricItem.manager.use(itemStack, 1 / 1000, player); - } else { - player.addPotionEffect(new PotionEffect(Potion.blindness.id, 300, 0, true)); - } - } - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 10000; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } - } - - @Override - public boolean isRepairable() { - return false; - } - - @Override - public int getItemEnchantability() { - if (Config.enchanting == false) { - return 0; - } else { - return 4; - } - } - - @Override - public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { - if (Config.enchanting == false) { - return false; - } else { - return true; - } - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 8%"); - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 8; - } - - @Override - public boolean showNodes(ItemStack itemstack, EntityLivingBase player) { - return true; - } - - @Override - public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player) { - return true; - } - - @Override - public boolean isMetalArmor(ItemStack itemstack, EntityPlayer player) { - return true; - } - - @Override - public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) { - if (source.isUnblockable()) { - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, 0.0D, 0); - } else { - double absorptionRatio = getBaseAbsorptionRatio() * getDamageAbsorptionRatio(); - int energyPerDamage = getEnergyPerDamage(); - int damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage; - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, absorptionRatio, damageLimit); - } - } - - @Override - public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { - if (ElectricItem.manager.getCharge(armor) >= getEnergyPerDamage()) { - return (int) Math.round(20D * getBaseAbsorptionRatio() * getDamageAbsorptionRatio()); - } else { - return 0; - } - } - - @Override - public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { - ElectricItem.manager.discharge(stack, damage * getEnergyPerDamage(), 0x7fffffff, true, false); - } - - public double getDamageAbsorptionRatio() { - return 1.1000000000000001D; - } - - public int getEnergyPerDamage() { - return 10000; - } - - private double getBaseAbsorptionRatio() { - return 0.14999999999999999D; - } - - @Override - public Item getChargedItem(ItemStack itemStack) { - return this; - } - - @Override - public Item getEmptyItem(ItemStack itemStack) { - return this; - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemDiamondChainsaw.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemDiamondChainsaw.java deleted file mode 100644 index 8e146bd..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemDiamondChainsaw.java +++ /dev/null @@ -1,107 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import ic2.api.item.ElectricItem; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; - -import java.util.List; - -public class ItemDiamondChainsaw extends ItemThaumiumChainsaw { - - public int maxCharge = 40000; - private final int cost = 200; - private final int hitCost = 300; - - public ItemDiamondChainsaw() { - super(); - this.efficiencyOnProperMaterial = 16F; - this.setCreativeTab(CreativeTab.tabTombenpotter); - this.setMaxDamage(27); - this.setMaxStackSize(1); - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":diamondchainsaw"); - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 300; - } - - @Override - public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int par4, int par5, int par6, EntityLivingBase entityLiving) { - ElectricItem.manager.use(stack, cost, entityLiving); - return true; - } - - @Override - public boolean canHarvestBlock(Block block, ItemStack stack) { - return Items.diamond_axe.canHarvestBlock(block, stack) || Items.diamond_sword.canHarvestBlock(block, stack); - } - - @Override - public float getDigSpeed(ItemStack stack, Block block, int meta) { - if (!ElectricItem.manager.canUse(stack, cost)) { - return 1.0F; - } - - if (Items.wooden_axe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_sword.getDigSpeed(stack, block, meta) > 1.0F) { - return efficiencyOnProperMaterial; - } else { - return super.getDigSpeed(stack, block, meta); - } - } - - @Override - public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { - if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { - entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 12F); - } - return false; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolDiamond.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolDiamond.java deleted file mode 100644 index d83422f..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolDiamond.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import ic2.api.item.ElectricItem; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; - -import java.util.List; - -public class ItemOmnitoolDiamond extends ItemOmnitoolIron { - - public int maxCharge = 70000; - private int cost; - private final int hitCost = 250; - - public ItemOmnitoolDiamond() { - super(); - this.efficiencyOnProperMaterial = 16F; - this.setCreativeTab(CreativeTab.tabTombenpotter); - this.setMaxStackSize(1); - if (Config.toolsInBore == false) { - this.setMaxDamage(27); - } else { - this.setMaxDamage(350); - } - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":diamondomnitool"); - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 400; - } - - @Override - public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int par4, int par5, int par6, EntityLivingBase entityLiving) { - if (Config.toolsInBore == false) { - cost = 200; - } else { - cost = 1; - } - ElectricItem.manager.use(stack, cost, entityLiving); - return true; - } - - @Override - public boolean canHarvestBlock(Block block, ItemStack stack) { - return Items.diamond_axe.canHarvestBlock(block, stack) || Items.diamond_sword.canHarvestBlock(block, stack) || Items.diamond_pickaxe.canHarvestBlock(block, stack) || Items.diamond_shovel.canHarvestBlock(block, stack) || Items.shears.canHarvestBlock(block, stack); - } - - @Override - public float getDigSpeed(ItemStack stack, Block block, int meta) { - if (!ElectricItem.manager.canUse(stack, cost)) { - return 1.0F; - } - - if (Items.wooden_axe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_sword.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_pickaxe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_shovel.getDigSpeed(stack, block, meta) > 1.0F || Items.shears.getDigSpeed(stack, block, meta) > 1.0F) { - return efficiencyOnProperMaterial; - } else { - return super.getDigSpeed(stack, block, meta); - } - } - - @Override - public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { - if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { - entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 10F); - } - return false; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolThaumium.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolThaumium.java deleted file mode 100644 index 4e9796b..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolThaumium.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import ic2.api.item.ElectricItem; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; - -import java.util.List; - -public class ItemOmnitoolThaumium extends ItemOmnitoolDiamond { - - public int maxCharge = 140000; - private int cost; - private final int hitCost = 650; - - public ItemOmnitoolThaumium() { - super(); - this.efficiencyOnProperMaterial = 21F; - this.setCreativeTab(CreativeTab.tabTombenpotter); - this.setMaxStackSize(1); - if (Config.toolsInBore == false) { - this.setMaxDamage(27); - } else { - this.setMaxDamage(467); - } - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":thaumiumomnitool"); - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 800; - } - - @Override - public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int par4, int par5, int par6, EntityLivingBase entityLiving) { - if (Config.toolsInBore == false) { - cost = 300; - } else { - cost = 1; - } - ElectricItem.manager.use(stack, cost, entityLiving); - return true; - } - - @Override - public boolean canHarvestBlock(Block block, ItemStack stack) { - return Items.diamond_axe.canHarvestBlock(block, stack) || Items.diamond_sword.canHarvestBlock(block, stack) || Items.diamond_pickaxe.canHarvestBlock(block, stack) || Items.diamond_shovel.canHarvestBlock(block, stack) || Items.shears.canHarvestBlock(block, stack); - } - - @Override - public float getDigSpeed(ItemStack stack, Block block, int meta) { - if (!ElectricItem.manager.canUse(stack, cost)) { - return 1.0F; - } - - if (Items.wooden_axe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_sword.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_pickaxe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_shovel.getDigSpeed(stack, block, meta) > 1.0F || Items.shears.getDigSpeed(stack, block, meta) > 1.0F) { - return efficiencyOnProperMaterial; - } else { - return super.getDigSpeed(stack, block, meta); - } - } - - @Override - public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { - if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { - entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 10F); - } - return false; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemStreamChainsaw.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemStreamChainsaw.java deleted file mode 100644 index ff0415c..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemStreamChainsaw.java +++ /dev/null @@ -1,200 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - * - * This class originally belongs to Azanor, but with his permission I took it, and modified it to make it work as I wanted to. - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; - -import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import ic2.api.item.ElectricItem; -import ic2.api.item.IElectricItem; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemAxe; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import thaumcraft.common.Thaumcraft; -import thaumcraft.common.lib.Utils; -import thaumcraft.common.lib.network.fx.PacketFXBlockBubble; - -import java.awt.*; -import java.util.ArrayList; -import java.util.List; - -public class ItemStreamChainsaw extends ItemAxe implements IElectricItem { - - boolean alternateServer; - boolean alternateClient; - @SuppressWarnings("rawtypes") - public static ArrayList oreDictLogs = new ArrayList(); - public int maxCharge = 900000; - private final int cost = 400; - private final int hitCost = 500; - - public ItemStreamChainsaw() { - super(ToolMaterial.EMERALD); - this.efficiencyOnProperMaterial = 25F; - alternateServer = false; - alternateClient = false; - setCreativeTab(CreativeTab.tabTombenpotter); - this.maxStackSize = 1; - this.setMaxDamage(27); - } - - public EnumAction getItemUseAction(ItemStack itemstack) { - return EnumAction.bow; - } - - public boolean onItemUse(ItemStack itemstack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10) { - Block bi = world.getBlock(x, y, z); - if ((!player.isSneaking()) && (Utils.isWoodLog(world, x, y, z))) { - if (!world.isRemote) { - if (Utils.breakFurthestBlock(world, x, y, z, bi, player)) { - world.playSoundEffect(x, y, z, "thaumcraft:bubble", 0.15F, 1.0F); - ElectricItem.manager.use(itemstack, cost, player); - this.alternateServer = (!this.alternateServer); - } - } else { - player.swingItem(); - ElectricItem.manager.use(itemstack, cost, player); - this.alternateClient = (!this.alternateClient); - } - } - return super.onItemUse(itemstack, player, world, x, y, z, par7, par8, par9, par10); - } - - public boolean onBlockStartBreak(ItemStack itemstack, int x, int y, int z, EntityPlayer player) { - World world = player.worldObj; - Block bi = world.getBlock(x, y, z); - if ((!player.isSneaking()) && (Utils.isWoodLog(world, x, y, z))) { - if (!world.isRemote) { - Utils.breakFurthestBlock(world, x, y, z, bi, player); - Thaumcraft.packetPipeline.sendToAllAround(new PacketFXBlockBubble(x, y, z, new Color(0.33F, 0.33F, 1.0F).getRGB()), new NetworkRegistry.TargetPoint(world.provider.dimensionId, x, y, z, 32.0D)); - - world.playSoundEffect(x, y, z, "thaumcraft:bubble", 0.15F, 1.0F); - } - ElectricItem.manager.use(itemstack, cost, player); - return true; - } - return super.onBlockStartBreak(itemstack, x, y, z, player); - } - - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 3; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 900; - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":streamchainsaw"); - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } - } - - @Override - public boolean canHarvestBlock(Block block, ItemStack stack) { - return Items.diamond_axe.canHarvestBlock(block, stack) || Items.diamond_sword.canHarvestBlock(block, stack); - } - - @Override - public float getDigSpeed(ItemStack stack, Block block, int meta) { - if (!ElectricItem.manager.canUse(stack, cost)) { - return 1.0F; - } - - if (Items.wooden_axe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_sword.getDigSpeed(stack, block, meta) > 1.0F) { - return efficiencyOnProperMaterial; - } else { - return super.getDigSpeed(stack, block, meta); - } - } - - @Override - public boolean isRepairable() { - return false; - } - - @Override - public int getItemEnchantability() { - if (Config.enchanting == false) { - return 0; - } else { - return 4; - } - } - - @Override - public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { - if (Config.enchanting == false) { - return false; - } else { - return true; - } - } - - @Override - public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { - if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { - entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 12F); - } - return false; - } - - @Override - public Item getChargedItem(ItemStack itemStack) { - return this; - } - - @Override - public Item getEmptyItem(ItemStack itemStack) { - return this; - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/TextHelper.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/TextHelper.java deleted file mode 100644 index dafb750..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/TextHelper.java +++ /dev/null @@ -1,40 +0,0 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.lib; - -public class TextHelper { - - /** - * Color Coding * - */ - public static String black = "�0"; - public static String darkBlue = "�1"; - public static String darkGreen = "�2"; - public static String darkAqua = "�3"; - public static String darkRed = "�4"; - public static String darkPurple = "�5"; - public static String gold = "�6"; - public static String gray = "�7"; - public static String darkGray = "�8"; - public static String blue = "�9"; - public static String green = "�a"; - public static String aqua = "�b"; - public static String red = "�c"; - public static String lightPurple = "�d"; - public static String yellow = "�e"; - public static String white = "�f"; - - /** - * Text Formating * - */ - public static String obfuscated = "�k"; - public static String bold = "�l"; - public static String strikethrough = "�m"; - public static String underline = "�n"; - public static String italics = "�o"; - public static String resetFormatting = "�r"; - - /** - * Useful Tooltips * - */ - public static String shiftForMoreInfo = darkGreen + italics + "Press Shift for more information"; - -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/EMTPostInitRecipes.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/EMTPostInitRecipes.java deleted file mode 100644 index fe8ec8b..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/EMTPostInitRecipes.java +++ /dev/null @@ -1,312 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.recipes; - -import cpw.mods.fml.common.FMLLog; -import cpw.mods.fml.common.registry.GameRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.ItemRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.lib.CraftingAspects; -import ic2.api.item.IC2Items; -import ic2.api.recipe.IRecipeInput; -import ic2.api.recipe.RecipeInputItemStack; -import ic2.api.recipe.Recipes; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.IRecipe; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.oredict.OreDictionary; -import thaumcraft.api.ThaumcraftApi; -import thaumcraft.api.crafting.CrucibleRecipe; -import thaumcraft.api.crafting.InfusionRecipe; -import thaumcraft.api.crafting.ShapedArcaneRecipe; -import thaumcraft.api.crafting.ShapelessArcaneRecipe; -import thaumcraft.common.config.ConfigBlocks; -import thaumcraft.common.config.ConfigItems; - -import java.util.Iterator; - -public class EMTPostInitRecipes { - - public static void add() { - - /** Infusion Recipes **/ - - thaumiumDrill = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Drill", new ItemStack(ItemRegistry.thaumiumDrill), 5, CraftingAspects.thaumiumDrillCrafting, new ItemStack(IC2Items.getItem("diamondDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(Items.diamond), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("denseplateiron")}); - - thaumiumChainsaw = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Chainsaw", new ItemStack(ItemRegistry.thaumiumChainsaw), 5, CraftingAspects.thaumiumChainsawCrafting, new ItemStack(ItemRegistry.diamondChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(Items.diamond), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("denseplateiron")}); - - thaumicQuantumHelmet = ThaumcraftApi.addInfusionCraftingRecipe("Quantum Goggles of Revealing", new ItemStack(ItemRegistry.quantumThaumicHelmet), 6, CraftingAspects.thaumicQuantumHelmetCrafting, new ItemStack(ItemRegistry.nanoThaumicHelmet, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(Items.milk_bucket), new ItemStack(IC2Items.getItem("quantumHelmet").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("advancedCircuit")}); - - thaumicNanoHelmet = ThaumcraftApi.addInfusionCraftingRecipe("Nanosuit Goggles of Revealing", new ItemStack(ItemRegistry.nanoThaumicHelmet), 5, CraftingAspects.thaumicNanoHelmetCrafting, new ItemStack(ItemRegistry.electricGoggles, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(Items.gold_ingot), new ItemStack(IC2Items.getItem("nanoHelmet").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("carbonPlate"), IC2Items.getItem("electronicCircuit")}); - - thaumiumOmnitool = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Omnitool", new ItemStack(ItemRegistry.thaumiumOmnitool), 6, CraftingAspects.thaumiumOmnitoolCrafting, new ItemStack(ItemRegistry.thaumiumChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(ItemRegistry.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("carbonPlate"), IC2Items.getItem("plateobsidian")}); - - diamondOmnitoolToThaumium = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Omnitool", new ItemStack(ItemRegistry.thaumiumOmnitool), 6, CraftingAspects.thaumiumOmnitoolCrafting, new ItemStack(ItemRegistry.diamondOmnitool, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Blocks.diamond_block), new ItemStack(ConfigBlocks.blockMetalDevice, 1, 9), new ItemStack(ConfigBlocks.blockMetalDevice, 1, 9), new ItemStack(IC2Items.getItem("energyCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("carbonPlate"), IC2Items.getItem("advancedCircuit")}); - - explosionFocus = ThaumcraftApi.addInfusionCraftingRecipe("Explosion Focus", new ItemStack(ItemRegistry.explosionFocus), 6, CraftingAspects.laserFocusCrafting, new ItemStack(ConfigItems.itemFocusHellbat, 1), new ItemStack[]{new ItemStack(IC2Items.getItem("miningLaser").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.arrow), new ItemStack(Items.gunpowder), new ItemStack(Items.firework_charge), new ItemStack(ConfigItems.itemResource, 1, 1)}); - - shieldFocus = ThaumcraftApi.addInfusionCraftingRecipe("Shield Focus", new ItemStack(ItemRegistry.shieldFocus), 4, CraftingAspects.shieldFocusCrafting, new ItemStack(ConfigItems.itemFocusPortableHole, 1), new ItemStack[]{IC2Items.getItem("reinforcedStone"), IC2Items.getItem("reinforcedGlass"), IC2Items.getItem("reinforcedStone"), IC2Items.getItem("reinforcedGlass"), new ItemStack(Blocks.soul_sand), new ItemStack(Blocks.obsidian), new ItemStack(Blocks.obsidian)}); - - potentiaGenerator = ThaumcraftApi.addInfusionCraftingRecipe("Potentia Generator", new ItemStack(BlockRegistry.essentiaGens, 1, 0), 6, CraftingAspects.potentiaGeneratorCrafting, IC2Items.getItem("semifluidGenerator"), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(ConfigItems.itemFocusTrade), new ItemStack(Blocks.hopper), new ItemStack(ConfigBlocks.blockJar), IC2Items.getItem("mvTransformer"), IC2Items.getItem("advancedMachine"), IC2Items.getItem("orewashingplant"), IC2Items.getItem("scrap")}); - - streamChainsaw = ThaumcraftApi.addInfusionCraftingRecipe("Chainsaw of the Stream", new ItemStack(ItemRegistry.streamChainsaw), 6, CraftingAspects.streamChaisnawCrafting, new ItemStack(ItemRegistry.thaumiumChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.water_bucket), new ItemStack(ConfigItems.itemAxeElemental), new ItemStack(ConfigBlocks.blockMagicalLog), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("compressedPlantBall"), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("overclockerUpgrade")}); - - rockbreakerDrill = ThaumcraftApi.addInfusionCraftingRecipe("Drill of the Rockbreaker", new ItemStack(ItemRegistry.rockbreakerDrill), 6, CraftingAspects.rockbreakerDrillCrafting, new ItemStack(ItemRegistry.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.flint_and_steel), new ItemStack(Items.fire_charge), new ItemStack(ConfigItems.itemPickElemental), new ItemStack(ConfigItems.itemShovelElemental), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("reinforcedStone"), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("overclockerUpgrade")}); - - thorHammer = ThaumcraftApi.addInfusionCraftingRecipe("Mjolnir", new ItemStack(ItemRegistry.thorHammer), 7, CraftingAspects.thorHammerCrafting, new ItemStack(ItemRegistry.taintedThorHammer, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(ItemRegistry.itemEMTItems, 1, 6), new ItemStack(ItemRegistry.itemEMTItems, 1, 6), new ItemStack(ConfigItems.itemSwordElemental), new ItemStack(ConfigItems.itemResource, 1, 1), new ItemStack(ConfigItems.itemFocusShock), IC2Items.getItem("rubber")}); - - superchargedThorHammer = ThaumcraftApi.addInfusionCraftingRecipe("Supercharged Mjolnir", new ItemStack(ItemRegistry.electricThorHammer), 10, CraftingAspects.superchargedThorHammerCrafting, new ItemStack(ItemRegistry.thorHammer, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(ItemRegistry.itemEMTItems, 1, 6), new ItemStack(ItemRegistry.itemEMTItems, 1, 6), new ItemStack(Blocks.web), new ItemStack(ConfigItems.itemFocusHellbat), new ItemStack(ConfigItems.itemSwordElemental), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), new ItemStack(IC2Items.getItem("nanoSaber").getItem(), 1, OreDictionary.WILDCARD_VALUE)}); - - wandRecharger = ThaumcraftApi.addInfusionCraftingRecipe("Industrial Wand Charging Station", new ItemStack(BlockRegistry.emtMachines, 1, 0), 6, CraftingAspects.wandCharger, new ItemStack(ConfigBlocks.blockStoneDevice, 1, 5), new ItemStack[]{IC2Items.getItem("replicator"), IC2Items.getItem("iridiumPlate"), new ItemStack(Blocks.diamond_block), new ItemStack(ConfigItems.itemShard, 1, 5), new ItemStack(ConfigBlocks.blockJar)}); - - solarHelmetRevealing = ThaumcraftApi.addInfusionCraftingRecipe("Solar Helmet of Revealing", new ItemStack(ItemRegistry.solarHelmetRevealing), 5, CraftingAspects.solarHelmetRevealing, new ItemStack(ItemRegistry.quantumThaumicHelmet, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(BlockRegistry.emtSolars, 1, 1), IC2Items.getItem("glassFiberCableItem"), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemShard, 1, 4)}); - - electricBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe("Electric Boots of the Traveller", new ItemStack(ItemRegistry.electricBootsTraveller), 2, CraftingAspects.electricBootsTravel, new ItemStack(ConfigItems.itemBootsTraveller), new ItemStack[]{new ItemStack(Items.diamond), IC2Items.getItem("elemotor"), IC2Items.getItem("coil"), IC2Items.getItem("hazmatBoots"), new ItemStack(IC2Items.getItem("advBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE)}); - - nanoBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe("Nano Boots of the Traveller", new ItemStack(ItemRegistry.nanoBootsTraveller), 2, CraftingAspects.nanoBootsTravel, new ItemStack(ItemRegistry.electricBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(IC2Items.getItem("nanoBoots").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("energyCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE)}); - - quantumBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe("Quantum Boots of the Traveller", new ItemStack(ItemRegistry.quantumBootsTraveller), 2, CraftingAspects.quantumBootsTravel, new ItemStack(ItemRegistry.nanoBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Blocks.diamond_block), new ItemStack(IC2Items.getItem("quantumBoots").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("iridiumPlate")}); - - etheralProcessor = ThaumcraftApi.addInfusionCraftingRecipe("Etheral Processor", new ItemStack(BlockRegistry.emtMachines, 1, 1), 3, CraftingAspects.etherealProcessor, IC2Items.getItem("macerator"), new ItemStack[]{IC2Items.getItem("electroFurnace"), new ItemStack(ConfigBlocks.blockMetalDevice, 1, 9), new ItemStack(Blocks.end_stone), new ItemStack(Blocks.end_stone), new ItemStack(Blocks.iron_block), new ItemStack(Blocks.iron_block), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5)}); - - tripleCompressedSolar = ThaumcraftApi.addInfusionCraftingRecipe("Compressed Solars", new ItemStack(BlockRegistry.emtSolars, 1, 2), 2, CraftingAspects.compressedSolars, new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack[]{new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1)}); - - electricHoeGrowth = ThaumcraftApi.addInfusionCraftingRecipe("Electric Hoe of Growth", new ItemStack(ItemRegistry.electricHoeGrowth), 4, CraftingAspects.electricHoeGrowth, new ItemStack(ConfigItems.itemHoeElemental), new ItemStack[]{new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("electricHoe").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.dye, 1, 15), IC2Items.getItem("elemotor"), IC2Items.getItem("coil"), new ItemStack(Blocks.sapling, 1, OreDictionary.WILDCARD_VALUE)}); - - chargeFocus = ThaumcraftApi.addInfusionCraftingRecipe("Wand Focus: Charging", new ItemStack(ItemRegistry.chargeFocus), 4, CraftingAspects.chargeFocus, new ItemStack(IC2Items.getItem("advBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{IC2Items.getItem("generator"), IC2Items.getItem("batBox"), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ItemRegistry.itemEMTItems, 1, 5), new ItemStack(ConfigItems.itemShard, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemShard, 1, OreDictionary.WILDCARD_VALUE)}); - - wandChargeFocus = ThaumcraftApi.addInfusionCraftingRecipe("Wand Focus: Wand Charging", new ItemStack(ItemRegistry.wandChargeFocus), 5, CraftingAspects.wandChargeFocus, new ItemStack(BlockRegistry.emtMachines, 1, 0), new ItemStack[]{new ItemStack(ItemRegistry.chargeFocus), new ItemStack(IC2Items.getItem("energyPack").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate")}); - - inventoryChargingRing = ThaumcraftApi.addInfusionCraftingRecipe("Inventory Charging Ring", new ItemStack(ItemRegistry.emtBauble, 1, 1), 6, CraftingAspects.inventoryChargingRing, new ItemStack(ConfigItems.itemBaubleBlanks, 1, 1), new ItemStack[]{new ItemStack(ItemRegistry.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("generator"), IC2Items.getItem("geothermalGenerator"), IC2Items.getItem("waterMill"), IC2Items.getItem("solarPanel"), IC2Items.getItem("windMill"), IC2Items.getItem("nuclearReactor")}); - - armorChargingRing = ThaumcraftApi.addInfusionCraftingRecipe("Armor Charging Ring", new ItemStack(ItemRegistry.emtBauble, 1, 0), 6, CraftingAspects.armorChargingRing, new ItemStack(ConfigItems.itemBaubleBlanks, 1, 1), new ItemStack[]{new ItemStack(ItemRegistry.electricBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("generator"), IC2Items.getItem("geothermalGenerator"), IC2Items.getItem("waterMill"), IC2Items.getItem("solarPanel"), IC2Items.getItem("windMill"), IC2Items.getItem("nuclearReactor")}); - - nanoWings = ThaumcraftApi.addInfusionCraftingRecipe("Nanosuit Wings", new ItemStack(ItemRegistry.nanoWing), 4, CraftingAspects.nanoWing, new ItemStack(ItemRegistry.thaumiumWing), new ItemStack[]{IC2Items.getItem("carbonPlate"), IC2Items.getItem("carbonPlate"), IC2Items.getItem("carbonPlate"), new ItemStack(IC2Items.getItem("nanoBodyarmor").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemResource, 1, 1)}); - - quantumWings = ThaumcraftApi.addInfusionCraftingRecipe("Quantum Wings", new ItemStack(ItemRegistry.quantumWing), 6, CraftingAspects.quantumWing, new ItemStack(ItemRegistry.nanoWing, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), new ItemStack(IC2Items.getItem("quantumBodyarmor").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemResource, 1, 1)}); - - /** Arcane Worktable Recipes **/ - - diamondOmnitool = ThaumcraftApi.addShapelessArcaneCraftingRecipe("Diamond Omnitool", new ItemStack(ItemRegistry.diamondOmnitool), CraftingAspects.diamondOmnitoolCrafting, new ItemStack(ItemRegistry.diamondChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("diamondDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE)); - - ironOmnitoolToDiamond = ThaumcraftApi.addArcaneCraftingRecipe("Diamond Omnitool", new ItemStack(ItemRegistry.diamondOmnitool), CraftingAspects.diamondOmnitoolCrafting, "XAX", "XBX", "XAX", 'X', new ItemStack(Items.diamond), 'A', IC2Items.getItem("advancedCircuit"), 'B', new ItemStack(ItemRegistry.ironOmnitool, 1, OreDictionary.WILDCARD_VALUE)); - - christmasFocus = ThaumcraftApi.addArcaneCraftingRecipe("Kris-tmas Focus", new ItemStack(ItemRegistry.christmasFocus), CraftingAspects.christmasFocusCrafting, "XYX", "YZY", "XYX", 'X', new ItemStack(Blocks.snow), 'Y', new ItemStack(Blocks.pumpkin), 'Z', new ItemStack(ConfigItems.itemFocusFrost)); - - electricGoggles = ThaumcraftApi.addArcaneCraftingRecipe("Electric Goggles", new ItemStack(ItemRegistry.electricGoggles), CraftingAspects.electricGogglesCrafting, " Y ", "AZA", "BXB", 'Z', new ItemStack(ConfigItems.itemGoggles), 'X', IC2Items.getItem("electronicCircuit"), 'Y', new ItemStack(Items.diamond_helmet), 'A', new ItemStack(IC2Items.getItem("chargedReBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'B', Items.repeater); - - shieldBlock = ThaumcraftApi.addArcaneCraftingRecipe("Shield Blocks", new ItemStack(BlockRegistry.shield, 8), CraftingAspects.shieldBlockCrafting, "XYX", "X X", "XYX", 'X', new ItemStack(Blocks.glass), 'Y', new ItemStack(Blocks.obsidian)); - - tinyUranium = ThaumcraftApi.addShapelessArcaneCraftingRecipe("Tiny Uranium", new ItemStack(IC2Items.getItem("smallUran235").getItem(), 7), CraftingAspects.tinyUraniumCrafting, IC2Items.getItem("Uran238")); - - compressedSolar = ThaumcraftApi.addArcaneCraftingRecipe("Compressed Solars", new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.compressedSolars, "XXX", "XXX", "XXX", 'X', IC2Items.getItem("solarPanel")); - - doubleCompressedSolar = ThaumcraftApi.addArcaneCraftingRecipe("Compressed Solars", new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.compressedSolars, "XXX", "XXX", "XXX", 'X', new ItemStack(BlockRegistry.emtSolars, 1, 0)); - - electricScribingTools = ThaumcraftApi.addArcaneCraftingRecipe("Electric Scribing Tools", new ItemStack(ItemRegistry.electricScribingTools), CraftingAspects.electricScribingTools, "YXY", "XZX", "YXY", 'Y', IC2Items.getItem("electronicCircuit"), 'X', new ItemStack(ConfigItems.itemInkwell), 'Z', new ItemStack(IC2Items.getItem("energyCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE)); - - thaumiumWing = ThaumcraftApi.addArcaneCraftingRecipe("Thaumium Reinforced Wings", new ItemStack(ItemRegistry.itemEMTItems, 1, 15), CraftingAspects.thaumiumWing, "XYZ", "XYZ", "XYZ", 'X', new ItemStack(ItemRegistry.itemEMTItems, 1, 14), 'Y', new ItemStack(ItemRegistry.itemEMTItems, 1, 5), 'Z', new ItemStack(ItemRegistry.itemEMTItems, 1, 13)); - - thaumiumWings = ThaumcraftApi.addArcaneCraftingRecipe("Thaumium Reinforced Wings", new ItemStack(ItemRegistry.thaumiumWing), CraftingAspects.thaumiumWing, "XX", 'X', new ItemStack(ItemRegistry.itemEMTItems, 1, 15)); - - /** Crucible Recipes **/ - - ignisGenerator = ThaumcraftApi.addCrucibleRecipe("Ignis Generator", new ItemStack(BlockRegistry.essentiaGens, 1, 1), new ItemStack(BlockRegistry.essentiaGens, 1, 0), CraftingAspects.ignisGeneratorCrafting); - - auramGenerator = ThaumcraftApi.addCrucibleRecipe("Auram Generator", new ItemStack(BlockRegistry.essentiaGens, 1, 2), new ItemStack(BlockRegistry.essentiaGens, 1, 0), CraftingAspects.auramGeneratorCrafting); - - arborGenerator = ThaumcraftApi.addCrucibleRecipe("Arbor Generator", new ItemStack(BlockRegistry.essentiaGens, 1, 3), new ItemStack(BlockRegistry.essentiaGens, 1, 0), CraftingAspects.arborGeneratorCrafting); - - waterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 3), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.waterSolars); - - doubleWaterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 4), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.waterSolars); - - tripleWaterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 5), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.waterSolars); - - darkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 6), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.darkSolars); - - doubleDarkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 7), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.darkSolars); - - tripleDarkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 8), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.darkSolars); - - orderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 9), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.orderSolars); - - doubleOrderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 10), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.orderSolars); - - tripleOrderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 11), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.orderSolars); - - fireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 12), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.fireSolars); - - doubleFireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 13), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.fireSolars); - - tripleFireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 14), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.fireSolars); - - airSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 15), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.airSolars); - - doubleAirSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 0), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.airSolars); - - tripleAirSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.airSolars); - - earthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 2), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.earthSolars); - - doubleEarthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 3), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.earthSolars); - - tripleEarthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 4), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.earthSolars); - - portableNode = ThaumcraftApi.addCrucibleRecipe("Portable Node", new ItemStack(BlockRegistry.portableNode), new ItemStack(ConfigItems.itemJarFilled), CraftingAspects.portableNode); - - /** IC2 Stuff related recipes **/ - - /* Ore Clusters Macerator Recipes */ - ItemStack ironClusterRecipe = IC2Items.getItem("smallIronDust").copy(); - ironClusterRecipe.stackSize = 22; - Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 16)), null, ironClusterRecipe); - - ItemStack goldClusterRecipe = IC2Items.getItem("smallGoldDust").copy(); - goldClusterRecipe.stackSize = 22; - Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 31)), null, goldClusterRecipe); - - ItemStack copperClusterRecipe = IC2Items.getItem("smallCopperDust").copy(); - copperClusterRecipe.stackSize = 22; - Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 17)), null, copperClusterRecipe); - - ItemStack tinClusterRecipe = IC2Items.getItem("smallTinDust").copy(); - tinClusterRecipe.stackSize = 22; - Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 18)), null, tinClusterRecipe); - - ItemStack silverClusterRecipe = IC2Items.getItem("smallSilverDust").copy(); - silverClusterRecipe.stackSize = 22; - Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 19)), null, silverClusterRecipe); - - ItemStack leadClusterRecipe = IC2Items.getItem("smallLeadDust").copy(); - leadClusterRecipe.stackSize = 22; - Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 20)), null, leadClusterRecipe); - - /* Thaumium Plates Recipes */ - thaumiumPlate = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.itemEMTItems, 1, 5), "X", "Y", "Z", 'Y', new ItemStack(ConfigItems.itemResource, 1, 2), 'X', new ItemStack(IC2Items.getItem("ForgeHammer").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'Z', new ItemStack(Blocks.obsidian)); - Recipes.metalformerRolling.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemResource, 1, 2)), null, new ItemStack(ItemRegistry.itemEMTItems, 1, 5)); - - /* Iron Sheet Recipe */ - Recipes.metalformerRolling.addRecipe(new RecipeInputItemStack(IC2Items.getItem("denseplateiron")), null, new ItemStack(ItemRegistry.itemEMTItems, 1, 13)); - - /* Ore Processing for Amber and Cinnabar */ - if (Config.removeAmberAndCinnabarMacerating == true) { - for (Iterator it = Recipes.macerator.getRecipes().keySet().iterator(); it.hasNext(); ) { - IRecipeInput input = it.next(); - if (input.matches(new ItemStack(ConfigBlocks.blockCustomOre, 1, 7))) { - it.remove(); - FMLLog.info("[EMT] Electro-Magic Tools : Removing conflicting amber macerating recipe(s)"); - } - } - - for (Iterator it = Recipes.macerator.getRecipes().keySet().iterator(); it.hasNext(); ) { - IRecipeInput input = it.next(); - if (input.matches(new ItemStack(ConfigBlocks.blockCustomOre, 1, 0))) { - it.remove(); - FMLLog.info("[EMT] Electro-Magic Tools : Removing Conflicting cinnabar macerating recipe(s)"); - } - } - } - ItemStack crushedAmberRecipe = new ItemStack(ItemRegistry.itemEMTItems, 1, 1); - crushedAmberRecipe.stackSize = 2; - Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigBlocks.blockCustomOre, 1, 7)), null, crushedAmberRecipe); - - ItemStack crushedCinnabarRecipe = new ItemStack(ItemRegistry.itemEMTItems, 1, 3); - crushedCinnabarRecipe.stackSize = 2; - Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigBlocks.blockCustomOre, 1, 0)), null, crushedCinnabarRecipe); - - NBTTagCompound waterAmount = new NBTTagCompound(); - waterAmount.setInteger("amount", 1000); - - ItemStack smallCopperDust = IC2Items.getItem("smallCopperDust"); - smallCopperDust.stackSize = 2; - ItemStack smallTinDust = IC2Items.getItem("smallTinDust"); - smallCopperDust.stackSize = 2; - - Recipes.oreWashing.addRecipe(new RecipeInputItemStack(new ItemStack(ItemRegistry.itemEMTItems, 1, 1)), waterAmount, new ItemStack[]{new ItemStack(ItemRegistry.itemEMTItems, 1, 2), smallCopperDust, IC2Items.getItem("stoneDust")}); - Recipes.oreWashing.addRecipe(new RecipeInputItemStack(new ItemStack(ItemRegistry.itemEMTItems, 1, 3)), waterAmount, new ItemStack[]{new ItemStack(ItemRegistry.itemEMTItems, 1, 4), smallTinDust, IC2Items.getItem("stoneDust")}); - - NBTTagCompound heatAmount = new NBTTagCompound(); - heatAmount.setInteger("minHeat", 1000); - - Recipes.centrifuge.addRecipe(new RecipeInputItemStack(new ItemStack(ItemRegistry.itemEMTItems, 1, 2)), heatAmount, new ItemStack[]{IC2Items.getItem("smallCopperDust"), new ItemStack(ConfigItems.itemResource, 1, 6)}); - Recipes.centrifuge.addRecipe(new RecipeInputItemStack(new ItemStack(ItemRegistry.itemEMTItems, 1, 4)), heatAmount, new ItemStack[]{IC2Items.getItem("smallTinDust"), new ItemStack(ConfigItems.itemResource, 1, 3)}); - } - - public static InfusionRecipe thaumiumDrill; - public static InfusionRecipe thaumiumChainsaw; - public static InfusionRecipe thaumicQuantumHelmet; - public static InfusionRecipe thaumiumOmnitool; - public static InfusionRecipe thaumicNanoHelmet; - public static InfusionRecipe explosionFocus; - public static InfusionRecipe shieldFocus; - public static InfusionRecipe potentiaGenerator; - public static InfusionRecipe streamChainsaw; - public static InfusionRecipe rockbreakerDrill; - public static InfusionRecipe thorHammer; - public static InfusionRecipe superchargedThorHammer; - public static InfusionRecipe wandRecharger; - public static InfusionRecipe solarHelmetRevealing; - public static InfusionRecipe electricBootsTravel; - public static InfusionRecipe nanoBootsTravel; - public static InfusionRecipe quantumBootsTravel; - public static InfusionRecipe diamondOmnitoolToThaumium; - public static InfusionRecipe etheralProcessor; - public static InfusionRecipe tripleCompressedSolar; - public static InfusionRecipe electricHoeGrowth; - public static InfusionRecipe chargeFocus; - public static InfusionRecipe wandChargeFocus; - public static InfusionRecipe inventoryChargingRing; - public static InfusionRecipe armorChargingRing; - public static InfusionRecipe nanoWings; - public static InfusionRecipe quantumWings; - - public static ShapelessArcaneRecipe diamondOmnitool; - public static ShapelessArcaneRecipe tinyUranium; - public static ShapedArcaneRecipe christmasFocus; - public static ShapedArcaneRecipe electricGoggles; - public static ShapedArcaneRecipe shieldBlock; - public static ShapedArcaneRecipe compressedSolar; - public static ShapedArcaneRecipe doubleCompressedSolar; - public static ShapedArcaneRecipe ironOmnitoolToDiamond; - public static ShapedArcaneRecipe electricScribingTools; - public static ShapedArcaneRecipe thaumiumWing; - public static ShapedArcaneRecipe thaumiumWings; - - public static CrucibleRecipe ignisGenerator; - public static CrucibleRecipe auramGenerator; - public static CrucibleRecipe arborGenerator; - public static CrucibleRecipe waterSolar; - public static CrucibleRecipe doubleWaterSolar; - public static CrucibleRecipe tripleWaterSolar; - public static CrucibleRecipe darkSolar; - public static CrucibleRecipe doubleDarkSolar; - public static CrucibleRecipe tripleDarkSolar; - public static CrucibleRecipe orderSolar; - public static CrucibleRecipe doubleOrderSolar; - public static CrucibleRecipe tripleOrderSolar; - public static CrucibleRecipe fireSolar; - public static CrucibleRecipe doubleFireSolar; - public static CrucibleRecipe tripleFireSolar; - public static CrucibleRecipe airSolar; - public static CrucibleRecipe doubleAirSolar; - public static CrucibleRecipe tripleAirSolar; - public static CrucibleRecipe earthSolar; - public static CrucibleRecipe doubleEarthSolar; - public static CrucibleRecipe tripleEarthSolar; - public static CrucibleRecipe portableNode; - - public static IRecipe thaumiumPlate; -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityArborGenerator.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityArborGenerator.java deleted file mode 100644 index b3f949e..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityArborGenerator.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile; - -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import ic2.api.energy.prefab.BasicSource; -import net.minecraftforge.common.util.ForgeDirection; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.common.lib.events.EssentiaHandler; - -public class TileEntityArborGenerator extends TileEntityEMT { - int x; - int y; - int z; - public ForgeDirection orientation; - public static int waitTime; - - public TileEntityArborGenerator() { - orientation = ForgeDirection.getOrientation(1); - waitTime = 30; - } - - private BasicSource energySource = new BasicSource(this, 1000000000, 3); - - @Override - public void updateEntity() { - energySource.updateEntity(); - - if (waitTime > 0) { - waitTime--; - } - - if (waitTime <= 0) { - if ((!this.worldObj.isRemote) && (EssentiaHandler.drainEssentia(this, Aspect.TREE, ForgeDirection.UNKNOWN, 8))) { - energySource.addEnergy(Config.arborGenOutput); - } - waitTime = Config.essentiaGeneratorsDelay; - - } - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - onChunkUnload(); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityAuramGenerator.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityAuramGenerator.java deleted file mode 100644 index 487eadf..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityAuramGenerator.java +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile; - -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import ic2.api.energy.prefab.BasicSource; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.common.lib.events.EssentiaHandler; - -public class TileEntityAuramGenerator extends TileEntityEMT { - int x; - int y; - int z; - public ForgeDirection orientation; - public static int waitTime; - private BasicSource energySource = new BasicSource(this, 1000000000, 3); - - public TileEntityAuramGenerator() { - orientation = ForgeDirection.getOrientation(1); - waitTime = 30; - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - - if (waitTime > 0) { - waitTime--; - } - - if (waitTime <= 0) { - if ((!this.worldObj.isRemote) && (EssentiaHandler.drainEssentia(this, Aspect.AURA, ForgeDirection.UNKNOWN, 8))) { - energySource.addEnergy(Config.auramGenOutput); - } - waitTime = Config.essentiaGeneratorsDelay; - } - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void readFromNBT(NBTTagCompound tag) { - super.readFromNBT(tag); - energySource.readFromNBT(tag); - } - - @Override - public void writeToNBT(NBTTagCompound tag) { - super.writeToNBT(tag); - energySource.writeToNBT(tag); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityIgnisGenerator.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityIgnisGenerator.java deleted file mode 100644 index ae38e06..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityIgnisGenerator.java +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile; - -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import ic2.api.energy.prefab.BasicSource; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.common.lib.events.EssentiaHandler; - -public class TileEntityIgnisGenerator extends TileEntityEMT { - int x; - int y; - int z; - public ForgeDirection orientation; - public static int waitTime; - private BasicSource energySource = new BasicSource(this, 1000000000, 3); - - public TileEntityIgnisGenerator() { - orientation = ForgeDirection.getOrientation(1); - waitTime = 30; - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - - if (waitTime > 0) { - waitTime--; - } - - if (waitTime <= 0) { - if ((!this.worldObj.isRemote) && (EssentiaHandler.drainEssentia(this, Aspect.FIRE, ForgeDirection.UNKNOWN, 8))) { - energySource.addEnergy(6000); - } - waitTime = Config.essentiaGeneratorsDelay; - } - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void readFromNBT(NBTTagCompound tag) { - super.readFromNBT(tag); - energySource.readFromNBT(tag); - } - - @Override - public void writeToNBT(NBTTagCompound tag) { - super.writeToNBT(tag); - energySource.writeToNBT(tag); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityPotentiaGenerator.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityPotentiaGenerator.java deleted file mode 100644 index 3aaa7b7..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityPotentiaGenerator.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile; - -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import ic2.api.energy.prefab.BasicSource; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.common.lib.events.EssentiaHandler; - -public class TileEntityPotentiaGenerator extends TileEntityEMT { - int x; - int y; - int z; - public ForgeDirection orientation; - public static int waitTime; - - public TileEntityPotentiaGenerator() { - orientation = ForgeDirection.getOrientation(1); - waitTime = 30; - } - - private BasicSource energySource = new BasicSource(this, 1000000000, 3); - - @Override - public void updateEntity() { - energySource.updateEntity(); - - if (waitTime > 0) { - waitTime--; - } - - if (waitTime <= 0) { - if ((!this.worldObj.isRemote) && (EssentiaHandler.drainEssentia(this, Aspect.ENERGY, ForgeDirection.UNKNOWN, 8))) { - energySource.addEnergy(Config.potentiaGenOutput); - } - waitTime = Config.essentiaGeneratorsDelay; - } - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - onChunkUnload(); - } - - @Override - public void readFromNBT(NBTTagCompound tag) { - super.readFromNBT(tag); - energySource.readFromNBT(tag); - } - - @Override - public void writeToNBT(NBTTagCompound tag) { - super.writeToNBT(tag); - energySource.writeToNBT(tag); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/slot/SlotWandOnly.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/slot/SlotWandOnly.java deleted file mode 100644 index 0dd28d9..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/slot/SlotWandOnly.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.slot; - -import electricMagicTools.tombenpotter.electricmagictools.common.tile.container.ContainerIndustrialWandRecharge; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; -import thaumcraft.common.items.wands.ItemWandCasting; - -public class SlotWandOnly extends Slot { - final ContainerIndustrialWandRecharge charger; - - public SlotWandOnly(ContainerIndustrialWandRecharge indCharger, IInventory inv, int par3, int par4, int par5) { - super(inv, par3, par4, par5); - this.charger = indCharger; - } - - @Override - public boolean isItemValid(ItemStack par1ItemStack) { - if (!(par1ItemStack.getItem() instanceof ItemWandCasting)) - return false; - - ItemWandCasting wand = (ItemWandCasting) par1ItemStack.getItem(); - return wand.getCap(par1ItemStack).getBaseCostModifier() <= 1F; - } - - @Override - public int getSlotStackLimit() { - return 1; - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityAirSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityAirSolar.java deleted file mode 100644 index 86d2d17..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityAirSolar.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityAirSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 1); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityAirSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible && this.yCoord >= 160) { - energySource.addEnergy(Config.compressedSolarOutput * 2.5); - } else if (theSunIsVisible) { - energySource.addEnergy(Config.compressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 15); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityCompressedSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityCompressedSolar.java deleted file mode 100644 index 10ed374..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityCompressedSolar.java +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityCompressedSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 1); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityCompressedSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible) { - energySource.addEnergy(Config.compressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 0); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDarkSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDarkSolar.java deleted file mode 100644 index 940c436..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDarkSolar.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityDarkSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 1); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityDarkSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - if (worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord) && worldObj.isDaytime() == false && worldObj.isRaining() == false && worldObj.isThundering() == false) { - energySource.addEnergy(Config.compressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 6); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleAirSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleAirSolar.java deleted file mode 100644 index ec493bf..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleAirSolar.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityDoubleAirSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 2); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityDoubleAirSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible && this.yCoord >= 160) { - energySource.addEnergy(Config.doubleCompressedSolarOutput * 2.5); - } else if (theSunIsVisible) { - energySource.addEnergy(Config.doubleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars2, 1, 0); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleCompressedSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleCompressedSolar.java deleted file mode 100644 index a6f1312..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleCompressedSolar.java +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityDoubleCompressedSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 2); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityDoubleCompressedSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible) { - energySource.addEnergy(Config.doubleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 1); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleDarkSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleDarkSolar.java deleted file mode 100644 index ddf5c57..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleDarkSolar.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityDoubleDarkSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 2); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityDoubleDarkSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - if (worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord) && worldObj.isDaytime() == false && worldObj.isRaining() == false && worldObj.isThundering() == false) { - energySource.addEnergy(Config.doubleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 7); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleEarthSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleEarthSolar.java deleted file mode 100644 index 904664d..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleEarthSolar.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityDoubleEarthSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 2); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityDoubleEarthSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible && this.yCoord <= 10) { - energySource.addEnergy(Config.doubleCompressedSolarOutput * 2.5); - } else if (theSunIsVisible) { - energySource.addEnergy(Config.doubleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars2, 1, 3); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleFireSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleFireSolar.java deleted file mode 100644 index cb37253..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleFireSolar.java +++ /dev/null @@ -1,119 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityDoubleFireSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 3); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - - public TileEntityDoubleFireSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - initialized = true; - } - - if (worldObj.provider.dimensionId == -1) { - energySource.addEnergy(Config.doubleCompressedSolarOutput * 2); - } else { - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible) { - energySource.addEnergy(Config.doubleCompressedSolarOutput); - } - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 13); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleOrderSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleOrderSolar.java deleted file mode 100644 index 160b93e..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleOrderSolar.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityDoubleOrderSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 3); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityDoubleOrderSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - if (theSunIsVisible) { - energySource.addEnergy(Config.doubleCompressedSolarOutput * 3); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 10); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleWaterSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleWaterSolar.java deleted file mode 100644 index 2ea705b..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityDoubleWaterSolar.java +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityDoubleWaterSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 2); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityDoubleWaterSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (worldObj.isRaining() && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord) || worldObj.isThundering() && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord)) { - energySource.addEnergy(Config.doubleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 4); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityEarthSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityEarthSolar.java deleted file mode 100644 index 897d0aa..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityEarthSolar.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityEarthSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 1); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityEarthSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible && this.yCoord <= 10) { - energySource.addEnergy(Config.compressedSolarOutput * 2.5); - } else if (theSunIsVisible) { - energySource.addEnergy(Config.compressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars2, 1, 2); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityFireSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityFireSolar.java deleted file mode 100644 index 88255d4..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityFireSolar.java +++ /dev/null @@ -1,119 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityFireSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 1); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - - public TileEntityFireSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - initialized = true; - } - - if (worldObj.provider.dimensionId == -1) { - energySource.addEnergy(Config.compressedSolarOutput * 2); - } else { - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible) { - energySource.addEnergy(Config.compressedSolarOutput); - } - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 12); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleAirSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleAirSolar.java deleted file mode 100644 index 6ae2066..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleAirSolar.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityTripleAirSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 1000000, 5); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityTripleAirSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible && this.yCoord >= 160) { - energySource.addEnergy(Config.tripleCompressedSolarOutput * 2.5); - } else if (theSunIsVisible) { - energySource.addEnergy(Config.tripleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars2, 1, 1); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleCompressedSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleCompressedSolar.java deleted file mode 100644 index 19fe8c8..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleCompressedSolar.java +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityTripleCompressedSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 1000000, 3); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityTripleCompressedSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible) { - energySource.addEnergy(Config.tripleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 2); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleDarkSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleDarkSolar.java deleted file mode 100644 index 150fb18..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleDarkSolar.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityTripleDarkSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 1000000, 3); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityTripleDarkSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - if (worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord) && worldObj.isDaytime() == false && worldObj.isRaining() == false && worldObj.isThundering() == false) { - energySource.addEnergy(Config.tripleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 8); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleEarthSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleEarthSolar.java deleted file mode 100644 index d144022..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleEarthSolar.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityTripleEarthSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 1000000, 5); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityTripleEarthSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible && this.yCoord <= 10) { - energySource.addEnergy(Config.tripleCompressedSolarOutput * 2.5); - } else if (theSunIsVisible) { - energySource.addEnergy(Config.tripleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars2, 1, 4); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleFireSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleFireSolar.java deleted file mode 100644 index 51db66e..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleFireSolar.java +++ /dev/null @@ -1,119 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityTripleFireSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 1000000, 5); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - - public TileEntityTripleFireSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - initialized = true; - } - - if (worldObj.provider.dimensionId == -1) { - energySource.addEnergy(Config.tripleCompressedSolarOutput * 2); - } else { - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (theSunIsVisible) { - energySource.addEnergy(Config.tripleCompressedSolarOutput); - } - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 14); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleOrderSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleOrderSolar.java deleted file mode 100644 index d805045..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleOrderSolar.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityTripleOrderSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 1000000, 5); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityTripleOrderSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - if (theSunIsVisible) { - energySource.addEnergy(Config.tripleCompressedSolarOutput * 3); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 11); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleWaterSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleWaterSolar.java deleted file mode 100644 index 8c0f498..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityTripleWaterSolar.java +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityTripleWaterSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 1000000, 3); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityTripleWaterSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (worldObj.isRaining() && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord) || worldObj.isThundering() && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord)) { - energySource.addEnergy(Config.tripleCompressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 5); - } -} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityWaterSolar.java b/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityWaterSolar.java deleted file mode 100644 index 8c7c2dc..0000000 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityWaterSolar.java +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; - -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; -import ic2.api.energy.prefab.BasicSource; -import ic2.api.tile.IWrenchable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.Random; - -public class TileEntityWaterSolar extends TileEntityEMT implements IWrenchable { - - private BasicSource energySource = new BasicSource(this, 10000, 1); - private static Random random = new Random(); - private boolean initialized; - public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; - - public TileEntityWaterSolar() { - super(); - this.tick = random.nextInt(64); - } - - @Override - public void updateEntity() { - energySource.updateEntity(); - if (!initialized && worldObj != null) { - canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; - noSunlight = worldObj.provider.hasNoSky; - initialized = true; - } - if (noSunlight) { - return; - } - if (tick-- == 0) { - updateSunState(); - tick = 64; - } - - if (worldObj.isRaining() && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord) || worldObj.isThundering() && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord)) { - energySource.addEnergy(Config.compressedSolarOutput); - } - } - - private void updateSunState() { - boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); - theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); - } - - @Override - public void onChunkUnload() { - energySource.onChunkUnload(); - } - - @Override - public void invalidate() { - energySource.invalidate(); - super.invalidate(); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - energySource.writeToNBT(nbttagcompound); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - energySource.readFromNBT(nbttagcompound); - } - - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) { - return false; - } - - @Override - public short getFacing() { - return 0; - } - - @Override - public void setFacing(short facing) { - - } - - @Override - public boolean wrenchCanRemove(EntityPlayer entityPlayer) { - return true; - } - - @Override - public float getWrenchDropRate() { - return 1; - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 3); - } -} diff --git a/src/main/java/ic2/api/Direction.class b/src/main/java/ic2/api/Direction.class new file mode 100644 index 0000000..9377993 Binary files /dev/null and b/src/main/java/ic2/api/Direction.class differ diff --git a/src/api/java/ic2/api/Direction.java b/src/main/java/ic2/api/Direction.java similarity index 78% rename from src/api/java/ic2/api/Direction.java rename to src/main/java/ic2/api/Direction.java index 64350dd..f0c687b 100644 --- a/src/api/java/ic2/api/Direction.java +++ b/src/main/java/ic2/api/Direction.java @@ -12,41 +12,39 @@ public enum Direction { /** * -X */ - XN(0), + XN, /** * +X */ - XP(1), + XP, /** * -Y */ - YN(2), //MC-Code starts with 0 here + YN, //MC-Code starts with 0 here /** * +Y */ - YP(3), // 1... + YP, // 1... /** * -Z */ - ZN(4), + ZN, /** * +Z */ - ZP(5); + ZP; - Direction(int dir1) { - this.dir = dir1; + public static Direction fromSideValue(int side) { + return directions[(side + 2) % 6]; } - /*public CoordinateTuple ApplyToCoordinates(CoordinateTuple coordinates) { - CoordinateTuple ret = new CoordinateTuple(coordinates); + public static Direction fromForgeDirection(ForgeDirection dir) { + if (dir == ForgeDirection.UNKNOWN) return null; - ret.coords[dir/2] += GetSign(); - - return ret; - }*/ + return fromSideValue(dir.ordinal()); + } /** * Get the tile entity next to a tile entity following this direction. @@ -70,7 +68,7 @@ public enum Direction { public TileEntity applyTo(World world, int x, int y, int z) { int coords[] = { x, y, z }; - coords[dir/2] += getSign(); + coords[ordinal() / 2] += getSign(); if (world != null && world.blockExists(coords[0], coords[1], coords[2])) { try { @@ -89,13 +87,7 @@ public enum Direction { * @return Inverse direction */ public Direction getInverse() { - int inverseDir = dir - getSign(); - - for (Direction direction : directions) { - if (direction.dir == inverseDir) return direction; - } - - return this; + return directions[ordinal() ^ 1]; } /** @@ -104,7 +96,7 @@ public enum Direction { * @return Minecraft side value */ public int toSideValue() { - return (dir + 4) % 6; + return (ordinal() + 4) % 6; } /** @@ -113,14 +105,13 @@ public enum Direction { * @return -1 if the direction is negative, +1 if the direction is positive */ private int getSign() { - return (dir % 2) * 2 - 1; + return (ordinal() % 2) * 2 - 1; } public ForgeDirection toForgeDirection() { return ForgeDirection.getOrientation(toSideValue()); } - private int dir; public static final Direction[] directions = Direction.values(); } diff --git a/src/api/java/ic2/api/crops/BaseSeed.class b/src/main/java/ic2/api/crops/BaseSeed.class similarity index 100% rename from src/api/java/ic2/api/crops/BaseSeed.class rename to src/main/java/ic2/api/crops/BaseSeed.class diff --git a/src/api/java/ic2/api/crops/BaseSeed.java b/src/main/java/ic2/api/crops/BaseSeed.java similarity index 100% rename from src/api/java/ic2/api/crops/BaseSeed.java rename to src/main/java/ic2/api/crops/BaseSeed.java diff --git a/src/main/java/ic2/api/crops/CropCard.class b/src/main/java/ic2/api/crops/CropCard.class new file mode 100644 index 0000000..542b9b6 Binary files /dev/null and b/src/main/java/ic2/api/crops/CropCard.class differ diff --git a/src/api/java/ic2/api/crops/CropCard.java b/src/main/java/ic2/api/crops/CropCard.java similarity index 86% rename from src/api/java/ic2/api/crops/CropCard.java rename to src/main/java/ic2/api/crops/CropCard.java index 31c79d9..0c804e1 100644 --- a/src/api/java/ic2/api/crops/CropCard.java +++ b/src/main/java/ic2/api/crops/CropCard.java @@ -15,8 +15,7 @@ import cpw.mods.fml.relauncher.SideOnly; * * Any crop extending this can be registered using registerCrop to be added into the game. */ -public abstract class CropCard -{ +public abstract class CropCard { /** * Plant name. Will be displayed to the player. * @@ -29,7 +28,7 @@ public abstract class CropCard * * @return Your name */ - public String discoveredBy() {return "Alblaka";} + public String discoveredBy() {return "IC2 Team";} /** * Description of your plant. Keep it short, a few characters per line for up to two lines. @@ -38,15 +37,12 @@ public abstract class CropCard * @param i line to get, starting from 0 * @return The line */ - public String desc(int i) - { + public String desc(int i) { String[] att = attributes(); - if (att == null || att.length==0) return ""; - if (i == 0) - { + if (att == null || att.length == 0) return ""; + if (i == 0) { String s = att[0]; - if (att.length >= 2) - { + if (att.length >= 2) { s+=", "+att[1]; if (att.length >= 3) s+=","; } @@ -58,6 +54,15 @@ public abstract class CropCard return s; } + /** + * * + * @param crop reference to ICropTile + * @return roots lengt use in isBlockBelow + */ + public int getrootslength(ICropTile crop){ + return 1; + } + /** * Tier of the plant. Ranges from 1 to 16, 0 is Weed. * Valuable and powerful crops have higher tiers, useless and weak ones have lower tiers. @@ -137,8 +142,7 @@ public abstract class CropCard * Amount of growth points needed to increase the plant's size. * Default is 200 * tier. */ - public int growthDuration(ICropTile crop) - { + public int growthDuration(ICropTile crop) { return tier()*200; } @@ -171,8 +175,7 @@ public abstract class CropCard * @param air air quality, influences by open gardens and less crops surrounding this one * @return 0-30 */ - public int weightInfluences(ICropTile crop, float humidity, float nutrients, float air) - { + public int weightInfluences(ICropTile crop, float humidity, float nutrients, float air) { return (int) (humidity+nutrients+air); } @@ -182,8 +185,7 @@ public abstract class CropCard * * @param crop crop to crossbreed with */ - public boolean canCross(ICropTile crop) - { + public boolean canCross(ICropTile crop) { return crop.getSize() >= 3; } @@ -198,11 +200,19 @@ public abstract class CropCard * @param player player rightclicking the crop * @return Whether the plant has changed */ - public boolean rightclick(ICropTile crop, EntityPlayer player) - { + public boolean rightclick(ICropTile crop, EntityPlayer player) { return crop.harvest(true); } + /** + * Use in Crop Havester with insert Cropnalyzer to get best Output. + * + * @param crop reference to ICropTile + * @return need crop size for best output. + */ + + public abstract int getOptimalHavestSize(ICropTile crop); + /** * Check whether the crop can be harvested. * @@ -217,8 +227,7 @@ public abstract class CropCard * * @return Chance to drop the gains */ - public float dropGainChance() - { + public float dropGainChance() { float base = 1F; for (int i = 0; i < tier(); i++) {base*=0.95;} return base; @@ -252,8 +261,7 @@ public abstract class CropCard * @param player player leftclicked the crop * @return Whether the plant has changed */ - public boolean leftclick(ICropTile crop, EntityPlayer player) - { + public boolean leftclick(ICropTile crop, EntityPlayer player) { return crop.pick(true); } @@ -264,8 +272,7 @@ public abstract class CropCard * @param crop reference to ICropTile * @return Chance to drop the seeds */ - public float dropSeedChance(ICropTile crop) - { + public float dropSeedChance(ICropTile crop) { if (crop.getSize() == 1) return 0; float base = 0.5F; if (crop.getSize() == 2) base/=2F; @@ -281,8 +288,7 @@ public abstract class CropCard * @param crop reference to ICropTile * @return Seeds */ - public ItemStack getSeeds(ICropTile crop) - { + public ItemStack getSeeds(ICropTile crop) { return crop.generateSeeds(crop.getID(), crop.getGrowth(), crop.getGain(), crop.getResistance(), crop.getScanLevel()); } @@ -291,7 +297,7 @@ public abstract class CropCard * * @param crop reference to ICropTile */ - public void onNeighbourChange(ICropTile crop){ + public void onNeighbourChange(ICropTile crop) { // } @@ -300,14 +306,14 @@ public abstract class CropCard * * @return Whether the crop should emit redstone */ - public int emitRedstone(ICropTile crop){return 0;} + public int emitRedstone(ICropTile crop) {return 0;} /** * Called when the crop is destroyed. * * @param crop reference to ICropTile */ - public void onBlockDestroyed(ICropTile crop){ + public void onBlockDestroyed(ICropTile crop) { // } @@ -326,11 +332,9 @@ public abstract class CropCard * @param entity entity colliding * @return Whether trampling calculation should happen, return false if the plant is no longer valid. */ - public boolean onEntityCollision(ICropTile crop, Entity entity) - { - if (entity instanceof EntityLivingBase) - { - return ((EntityLivingBase)entity).isSprinting(); + public boolean onEntityCollision(ICropTile crop, Entity entity) { + if (entity instanceof EntityLivingBase) { + return ((EntityLivingBase) entity).isSprinting(); } return false; } @@ -353,9 +357,8 @@ public abstract class CropCard * @param crop reference to ICropTile * @return Whether the plant spreads weed */ - public boolean isWeed(ICropTile crop) - { - return crop.getSize()>=2 && (crop.getID()==0 || crop.getGrowth()>=24); + public boolean isWeed(ICropTile crop) { + return crop.getSize() >= 2 && (crop.getID() == 0 || crop.getGrowth() >= 24); } @@ -364,8 +367,7 @@ public abstract class CropCard * * @return ID of this CropCard or -1 if it's not registered */ - public final int getId() - { + public final int getId() { return Crops.instance.getIdFor(this); } diff --git a/src/main/java/ic2/api/crops/Crops.class b/src/main/java/ic2/api/crops/Crops.class new file mode 100644 index 0000000..4a75ce5 Binary files /dev/null and b/src/main/java/ic2/api/crops/Crops.class differ diff --git a/src/api/java/ic2/api/crops/Crops.java b/src/main/java/ic2/api/crops/Crops.java similarity index 83% rename from src/api/java/ic2/api/crops/Crops.java rename to src/main/java/ic2/api/crops/Crops.java index 53cc323..b49a5a6 100644 --- a/src/api/java/ic2/api/crops/Crops.java +++ b/src/main/java/ic2/api/crops/Crops.java @@ -15,27 +15,30 @@ import net.minecraftforge.common.BiomeDictionary.Type; public abstract class Crops { public static Crops instance; - /** - * Adds a crop humidity and nutrient biome bonus. - * - * 0 indicates no bonus and negative values indicate a penalty. - * - * @param biome Biome to apply the bonus in - * @param humidityBonus Humidity stat bonus - * @param nutrientsBonus Nutrient stat bonus - */ - public abstract void addBiomeBonus(BiomeGenBase biome, int humidityBonus, int nutrientsBonus); + + + /** - * Adds a crop humidity and nutrient biome bonus. + * Adds a crop nutrient biome bonus. * - * 0 indicates no bonus and negative values indicate a penalty. + * +10/-10 0 indicates no bonus and negative values indicate a penalty. + * + * @param type Forge biome type to apply the bonus in + * @param nutrientsBonus Nutrient stat bonus + */ + public abstract void addBiomenutrientsBonus(Type type, int nutrientsBonus); + + /** + * Adds a crop humidity biome bonus. + * + * +10/-10 0 indicates no bonus and negative values indicate a penalty. * * @param type Forge biome type to apply the bonus in * @param humidityBonus Humidity stat bonus - * @param nutrientsBonus Nutrient stat bonus */ - public abstract void addBiomeBonus(Type type, int humidityBonus, int nutrientsBonus); + public abstract void addBiomehumidityBonus(Type type, int humidityBonus); + /** * Gets the humidity bonus for a biome. diff --git a/src/api/java/ic2/api/crops/ICropTile.class b/src/main/java/ic2/api/crops/ICropTile.class similarity index 63% rename from src/api/java/ic2/api/crops/ICropTile.class rename to src/main/java/ic2/api/crops/ICropTile.class index 45a3607..a7e6c5b 100644 Binary files a/src/api/java/ic2/api/crops/ICropTile.class and b/src/main/java/ic2/api/crops/ICropTile.class differ diff --git a/src/api/java/ic2/api/crops/ICropTile.java b/src/main/java/ic2/api/crops/ICropTile.java similarity index 91% rename from src/api/java/ic2/api/crops/ICropTile.java rename to src/main/java/ic2/api/crops/ICropTile.java index 4084c50..09b46d7 100644 --- a/src/api/java/ic2/api/crops/ICropTile.java +++ b/src/main/java/ic2/api/crops/ICropTile.java @@ -16,28 +16,28 @@ public interface ICropTile { * @return Plant ID, or -1 if there is no plant currently on the crop */ public short getID(); - + /** * Set the crop's plant ID. * * @param id Plant ID, or -1 for no plant */ public void setID(short id); - + /** * Get the crop's plant size. * * @return Plant size, starting with 1 and maximum varies depending on plant */ public byte getSize(); - + /** * Set the crop's plant size. * * @param size Plant size */ public void setSize(byte size); - + /** * Get the crop's plant growth stat. * Higher values indicate faster growth. @@ -45,14 +45,14 @@ public interface ICropTile { * @return Plant growth stat */ public byte getGrowth(); - + /** * Set the crop's plant growth stat. * * @param growth Plant growth stat */ public void setGrowth(byte growth); - + /** * Get the crop's plant gain stat. * Higher values indicate more drops. @@ -60,14 +60,14 @@ public interface ICropTile { * @return Plant gain stat */ public byte getGain(); - + /** * Set the crop's plant gain stat. * * @param gain Plant gain stat */ public void setGain(byte gain); - + /** * Get the crop's plant resistance stat. * Higher values indicate more resistance against trampling. @@ -75,14 +75,14 @@ public interface ICropTile { * @return Plant resistance stat */ public byte getResistance(); - + /** * Set the crop's plant resistance stat. * * @param resistance Plant resistance stat */ public void setResistance(byte resistance); - + /** * Get the crop's plant scan level. * Increases every time the seed is analyzed. @@ -90,14 +90,14 @@ public interface ICropTile { * @return Plant scan level */ public byte getScanLevel(); - + /** * Set the crop's plant scan level. * * @param scanLevel Plant scan level */ public void setScanLevel(byte scanLevel); - + /** * Get the crop's plant custom data, stored alongside the crop. * Can be modified in place. @@ -105,7 +105,7 @@ public interface ICropTile { * @return Plant custom data */ public NBTTagCompound getCustomData(); - + /** * Get the crop's nutrient storage. * Ranges from 0 to 100. @@ -113,14 +113,14 @@ public interface ICropTile { * @return Crop nutrient storage */ public int getNutrientStorage(); - + /** * Set the crop's nutrient storage. * * @param nutrientStorage Crop nutrient storage */ public void setNutrientStorage(int nutrientStorage); - + /** * Get the crop's hydration storage. * 0 indicates nothing, 1-10 indicate water hydration and 11-100 for hydration cells. @@ -128,28 +128,28 @@ public interface ICropTile { * @return Crop hydration storage */ public int getHydrationStorage(); - + /** * Set the crop's hydration storage. * * @param hydrationStorage Crop hydration storage */ public void setHydrationStorage(int hydrationStorage); - + /** * Get the crop's Weed-Ex storage. * * @return Crop Weed-Ex storage */ public int getWeedExStorage(); - + /** * Set the crop's Weed-Ex storage. * * @param weedExStorage Crop Weed-Ex storage */ public void setWeedExStorage(int weedExStorage); - + /** * Get the crop's humidity. * Ranges from 0 (dry) to 10 (humid). @@ -160,7 +160,7 @@ public interface ICropTile { * @return Crop humidity level */ public byte getHumidity(); - + /** * Get the crop's nutrient level. * Ranges from 0 (empty) to 10 (full). @@ -171,9 +171,9 @@ public interface ICropTile { * @return Crop nutrient level */ public byte getNutrients(); - + /** - * Get the crop's air quality. + * Get the crop's air quality. * Ranges from 0 (cluttered) to 10 (fresh). * Updates every couple of seconds or when an update is requested. * @@ -182,44 +182,53 @@ public interface ICropTile { * @return Crop air quality */ public byte getAirQuality(); - + /** * Get the crop's world. * * @return Crop world */ public World getWorld(); - + /** * Get the crop's location. * * @return Crop location */ public ChunkCoordinates getLocation(); - + /** * Get the crop's light level. * * @return Crop light level */ - public int getLightLevel(); - + public int getLightLevel(); + /** - * Pick the crop, removing and giving seeds for the plant. + * Pick the crop, removing and giving seeds for the plant. * * @param manual whether it was done by hand (not automated) * @return true if successfully picked */ public boolean pick(boolean manual); - + /** * Harvest the crop, turning it into gain and resetting its size. - * - * @param manual whether it one by hand (not automated) + * drop output on ground + * @param manual * @return true if successfully harvested */ public boolean harvest(boolean manual); - + + /** + * Harvest the crop, turning it into gain and resetting its size. + * drop output on ground + * @param Optimal force check getOptimalHavestSize() for harvest + * @return ItemStack[] of harvest output + */ + + ItemStack[] harvest_automated(boolean Optimal); + /** * Fully clears the crop without dropping anything. */ @@ -250,4 +259,6 @@ public interface ICropTile { * @return Plant seed item */ public ItemStack generateSeeds(short plant, byte growth, byte gain, byte resis, byte scan); + + } diff --git a/src/api/java/ic2/api/crops/package-info.class b/src/main/java/ic2/api/crops/package-info.class similarity index 100% rename from src/api/java/ic2/api/crops/package-info.class rename to src/main/java/ic2/api/crops/package-info.class diff --git a/src/api/java/ic2/api/crops/package-info.java b/src/main/java/ic2/api/crops/package-info.java similarity index 100% rename from src/api/java/ic2/api/crops/package-info.java rename to src/main/java/ic2/api/crops/package-info.java diff --git a/src/api/java/ic2/api/energy/EnergyNet.class b/src/main/java/ic2/api/energy/EnergyNet.class similarity index 100% rename from src/api/java/ic2/api/energy/EnergyNet.class rename to src/main/java/ic2/api/energy/EnergyNet.class diff --git a/src/api/java/ic2/api/energy/EnergyNet.java b/src/main/java/ic2/api/energy/EnergyNet.java similarity index 80% rename from src/api/java/ic2/api/energy/EnergyNet.java rename to src/main/java/ic2/api/energy/EnergyNet.java index 7560ec0..822bfc2 100644 --- a/src/api/java/ic2/api/energy/EnergyNet.java +++ b/src/main/java/ic2/api/energy/EnergyNet.java @@ -7,7 +7,7 @@ package ic2.api.energy; * The old EnergyNet methods missing in IEnergyNet have been migrated to events (load, unload) or * removed (tiles no longer emit energy actively, the energy net implementation requests it). * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public final class EnergyNet { /** diff --git a/src/main/java/ic2/api/energy/IEnergyNet.class b/src/main/java/ic2/api/energy/IEnergyNet.class new file mode 100644 index 0000000..76b5746 Binary files /dev/null and b/src/main/java/ic2/api/energy/IEnergyNet.class differ diff --git a/src/api/java/ic2/api/energy/IEnergyNet.java b/src/main/java/ic2/api/energy/IEnergyNet.java similarity index 71% rename from src/api/java/ic2/api/energy/IEnergyNet.java rename to src/main/java/ic2/api/energy/IEnergyNet.java index ec709e2..8f656e5 100644 --- a/src/api/java/ic2/api/energy/IEnergyNet.java +++ b/src/main/java/ic2/api/energy/IEnergyNet.java @@ -8,7 +8,7 @@ import net.minecraftforge.common.util.ForgeDirection; /** * Interface representing the methods provided by the global EnergyNet class. * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public interface IEnergyNet { /** @@ -42,8 +42,10 @@ public interface IEnergyNet { * @note call this twice with x ticks delay to get the avg. emitted power p = (call2 - call1) / x EU/tick * * @param tileEntity energy emitter + * @deprecated Discontinued, use getNodeStats instead. */ - long getTotalEnergyEmitted(TileEntity tileEntity); + @Deprecated + double getTotalEnergyEmitted(TileEntity tileEntity); /** * determine how much energy has been sunken by the EnergySink specified @@ -51,8 +53,20 @@ public interface IEnergyNet { * @note call this twice with x ticks delay to get the avg. sunken power p = (call2 - call1) / x EU/tick * * @param tileEntity energy emitter + * @deprecated Discontinued, use getNodeStats instead. */ - long getTotalEnergySunken(TileEntity tileEntity); + @Deprecated + double getTotalEnergySunken(TileEntity tileEntity); + + /** + * Retrieve statistics for the tile entity specified. + * + * The statistics apply to the last simulated tick. + * + * @param te Tile entity to check. + * @return Statistics for the tile entity. + */ + NodeStats getNodeStats(TileEntity te); /** * Determine the typical power used by the specific tier, e.g. 128 eu/t for tier 2. @@ -60,5 +74,13 @@ public interface IEnergyNet { * @param tier tier * @return power in eu/t */ - int getPowerFromTier(int tier); + double getPowerFromTier(int tier); + + /** + * Determine minimum tier required to handle the specified power, e.g. tier 2 for 128 eu/t. + * + * @param power in eu/t + * @return tier + */ + int getTierFromPower(double power); } diff --git a/src/main/java/ic2/api/energy/NodeStats.class b/src/main/java/ic2/api/energy/NodeStats.class new file mode 100644 index 0000000..eceb340 Binary files /dev/null and b/src/main/java/ic2/api/energy/NodeStats.class differ diff --git a/src/main/java/ic2/api/energy/NodeStats.java b/src/main/java/ic2/api/energy/NodeStats.java new file mode 100644 index 0000000..db33da7 --- /dev/null +++ b/src/main/java/ic2/api/energy/NodeStats.java @@ -0,0 +1,25 @@ +package ic2.api.energy; + +public class NodeStats { + public NodeStats(double energyIn, double energyOut, double voltage) { + this.energyIn = energyIn; + this.energyOut = energyOut; + this.voltage = voltage; + } + + public double getEnergyIn() { + return energyIn; + } + + public double getEnergyOut() { + return energyOut; + } + + public double getVoltage() { + return voltage; + } + + protected double energyIn; + protected double energyOut; + protected double voltage; +} diff --git a/src/api/java/ic2/api/energy/event/EnergyTileEvent.class b/src/main/java/ic2/api/energy/event/EnergyTileEvent.class similarity index 100% rename from src/api/java/ic2/api/energy/event/EnergyTileEvent.class rename to src/main/java/ic2/api/energy/event/EnergyTileEvent.class diff --git a/src/api/java/ic2/api/energy/event/EnergyTileEvent.java b/src/main/java/ic2/api/energy/event/EnergyTileEvent.java similarity index 82% rename from src/api/java/ic2/api/energy/event/EnergyTileEvent.java rename to src/main/java/ic2/api/energy/event/EnergyTileEvent.java index 03d6868..2182e49 100644 --- a/src/api/java/ic2/api/energy/event/EnergyTileEvent.java +++ b/src/main/java/ic2/api/energy/event/EnergyTileEvent.java @@ -9,7 +9,7 @@ import ic2.api.energy.tile.IEnergyTile; /** * Base class for energy net events, don't use it directly. * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public class EnergyTileEvent extends WorldEvent { public final IEnergyTile energyTile; diff --git a/src/api/java/ic2/api/energy/event/EnergyTileLoadEvent.class b/src/main/java/ic2/api/energy/event/EnergyTileLoadEvent.class similarity index 100% rename from src/api/java/ic2/api/energy/event/EnergyTileLoadEvent.class rename to src/main/java/ic2/api/energy/event/EnergyTileLoadEvent.class diff --git a/src/api/java/ic2/api/energy/event/EnergyTileLoadEvent.java b/src/main/java/ic2/api/energy/event/EnergyTileLoadEvent.java similarity index 89% rename from src/api/java/ic2/api/energy/event/EnergyTileLoadEvent.java rename to src/main/java/ic2/api/energy/event/EnergyTileLoadEvent.java index b3fcbb5..bf019ae 100644 --- a/src/api/java/ic2/api/energy/event/EnergyTileLoadEvent.java +++ b/src/main/java/ic2/api/energy/event/EnergyTileLoadEvent.java @@ -16,7 +16,7 @@ import ic2.api.energy.tile.IEnergyTile; * your own energy grid implementation if you need to. It's not required if you * always lookup energy paths on demand. * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public class EnergyTileLoadEvent extends EnergyTileEvent { public EnergyTileLoadEvent(IEnergyTile energyTile1) { diff --git a/src/api/java/ic2/api/energy/event/EnergyTileUnloadEvent.class b/src/main/java/ic2/api/energy/event/EnergyTileUnloadEvent.class similarity index 100% rename from src/api/java/ic2/api/energy/event/EnergyTileUnloadEvent.class rename to src/main/java/ic2/api/energy/event/EnergyTileUnloadEvent.class diff --git a/src/api/java/ic2/api/energy/event/EnergyTileUnloadEvent.java b/src/main/java/ic2/api/energy/event/EnergyTileUnloadEvent.java similarity index 89% rename from src/api/java/ic2/api/energy/event/EnergyTileUnloadEvent.java rename to src/main/java/ic2/api/energy/event/EnergyTileUnloadEvent.java index 4bcc3a4..2b22ae3 100644 --- a/src/api/java/ic2/api/energy/event/EnergyTileUnloadEvent.java +++ b/src/main/java/ic2/api/energy/event/EnergyTileUnloadEvent.java @@ -17,7 +17,7 @@ import ic2.api.energy.tile.IEnergyTile; * your own energy grid implementation if you need to. It's not required if you * always lookup energy paths on demand. * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public class EnergyTileUnloadEvent extends EnergyTileEvent { public EnergyTileUnloadEvent(IEnergyTile energyTile1) { diff --git a/src/api/java/ic2/api/energy/event/package-info.class b/src/main/java/ic2/api/energy/event/package-info.class similarity index 100% rename from src/api/java/ic2/api/energy/event/package-info.class rename to src/main/java/ic2/api/energy/event/package-info.class diff --git a/src/api/java/ic2/api/energy/event/package-info.java b/src/main/java/ic2/api/energy/event/package-info.java similarity index 100% rename from src/api/java/ic2/api/energy/event/package-info.java rename to src/main/java/ic2/api/energy/event/package-info.java diff --git a/src/api/java/ic2/api/energy/package-info.class b/src/main/java/ic2/api/energy/package-info.class similarity index 100% rename from src/api/java/ic2/api/energy/package-info.class rename to src/main/java/ic2/api/energy/package-info.class diff --git a/src/api/java/ic2/api/energy/package-info.java b/src/main/java/ic2/api/energy/package-info.java similarity index 100% rename from src/api/java/ic2/api/energy/package-info.java rename to src/main/java/ic2/api/energy/package-info.java diff --git a/src/main/java/ic2/api/energy/prefab/BasicSink.class b/src/main/java/ic2/api/energy/prefab/BasicSink.class new file mode 100644 index 0000000..b0b895c Binary files /dev/null and b/src/main/java/ic2/api/energy/prefab/BasicSink.class differ diff --git a/src/api/java/ic2/api/energy/prefab/BasicSink.java b/src/main/java/ic2/api/energy/prefab/BasicSink.java similarity index 96% rename from src/api/java/ic2/api/energy/prefab/BasicSink.java rename to src/main/java/ic2/api/energy/prefab/BasicSink.java index 9ef1339..48de061 100644 --- a/src/api/java/ic2/api/energy/prefab/BasicSink.java +++ b/src/main/java/ic2/api/energy/prefab/BasicSink.java @@ -9,7 +9,6 @@ import cpw.mods.fml.common.FMLCommonHandler; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.util.ForgeDirection; -import ic2.api.energy.EnergyNet; import ic2.api.energy.event.EnergyTileLoadEvent; import ic2.api.energy.event.EnergyTileUnloadEvent; import ic2.api.energy.tile.IEnergySink; @@ -90,7 +89,6 @@ import ic2.api.item.ElectricItem; * @endcode */ public class BasicSink extends TileEntity implements IEnergySink { - // ********************************** // *** Methods for use by the mod *** // ********************************** @@ -100,7 +98,7 @@ public class BasicSink extends TileEntity implements IEnergySink { * * @param parent1 TileEntity represented by this energy sink. * @param capacity1 Maximum amount of eu to store. - * @param tier1 IC2 tier, 1=LV, 2=MV, ... + * @param tier1 IC2 tier, 1 = LV, 2 = MV, ... */ public BasicSink(TileEntity parent1, int capacity1, int tier1) { this.parent = parent1; @@ -292,12 +290,12 @@ public class BasicSink extends TileEntity implements IEnergySink { public boolean discharge(ItemStack stack, int limit) { if (stack == null || !Info.isIc2Available()) return false; - int amount = (int) Math.floor(capacity - energyStored); + double amount = capacity - energyStored; if (amount <= 0) return false; if (limit > 0 && limit < amount) amount = limit; - amount = ElectricItem.manager.discharge(stack, amount, tier, limit > 0, false); + amount = ElectricItem.manager.discharge(stack, amount, tier, limit > 0, true, false); energyStored += amount; @@ -347,20 +345,20 @@ public class BasicSink extends TileEntity implements IEnergySink { } @Override - public double demandedEnergyUnits() { + public double getDemandedEnergy() { return Math.max(0, capacity - energyStored); } @Override - public double injectEnergyUnits(ForgeDirection directionFrom, double amount) { + public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage) { energyStored += amount; return 0; } @Override - public int getMaxSafeInput() { - return EnergyNet.instance.getPowerFromTier(tier); + public int getSinkTier() { + return tier; } // << energy net interface diff --git a/src/main/java/ic2/api/energy/prefab/BasicSource.class b/src/main/java/ic2/api/energy/prefab/BasicSource.class new file mode 100644 index 0000000..164213b Binary files /dev/null and b/src/main/java/ic2/api/energy/prefab/BasicSource.class differ diff --git a/src/api/java/ic2/api/energy/prefab/BasicSource.java b/src/main/java/ic2/api/energy/prefab/BasicSource.java similarity index 93% rename from src/api/java/ic2/api/energy/prefab/BasicSource.java rename to src/main/java/ic2/api/energy/prefab/BasicSource.java index 5829d8e..011e8cd 100644 --- a/src/api/java/ic2/api/energy/prefab/BasicSource.java +++ b/src/main/java/ic2/api/energy/prefab/BasicSource.java @@ -88,7 +88,6 @@ import ic2.api.item.ElectricItem; * @endcode */ public class BasicSource extends TileEntity implements IEnergySource { - // ********************************** // *** Methods for use by the mod *** // ********************************** @@ -98,14 +97,15 @@ public class BasicSource extends TileEntity implements IEnergySource { * * @param parent1 Base TileEntity represented by this energy source. * @param capacity1 Maximum amount of eu to store. - * @param tier1 IC2 tier, 1=LV, 2=MV, ... + * @param tier1 IC2 tier, 1 = LV, 2 = MV, ... */ - public BasicSource(TileEntity parent1, int capacity1, int tier1) { - int power = EnergyNet.instance.getPowerFromTier(tier1); + public BasicSource(TileEntity parent1, double capacity1, int tier1) { + double power = EnergyNet.instance.getPowerFromTier(tier1); this.parent = parent1; this.capacity = capacity1 < power ? power : capacity1; this.tier = tier1; + this.power = power; } // in-world te forwards >> @@ -205,7 +205,7 @@ public class BasicSource extends TileEntity implements IEnergySource { * * @return Capacity in EU. */ - public int getCapacity() { + public double getCapacity() { return capacity; } @@ -214,9 +214,7 @@ public class BasicSource extends TileEntity implements IEnergySource { * * @param capacity1 Capacity in EU. */ - public void setCapacity(int capacity1) { - int power = EnergyNet.instance.getPowerFromTier(tier); - + public void setCapacity(double capacity1) { if (capacity1 < power) capacity1 = power; this.capacity = capacity1; @@ -237,11 +235,12 @@ public class BasicSource extends TileEntity implements IEnergySource { * @param tier1 IC2 Tier. */ public void setTier(int tier1) { - int power = EnergyNet.instance.getPowerFromTier(tier1); + double power = EnergyNet.instance.getPowerFromTier(tier1); if (capacity < power) capacity = power; this.tier = tier1; + this.power = power; } @@ -299,7 +298,7 @@ public class BasicSource extends TileEntity implements IEnergySource { public boolean charge(ItemStack stack) { if (stack == null || !Info.isIc2Available()) return false; - int amount = ElectricItem.manager.charge(stack, (int) energyStored, tier, false, false); + double amount = ElectricItem.manager.charge(stack, energyStored, tier, false, false); energyStored -= amount; @@ -350,12 +349,7 @@ public class BasicSource extends TileEntity implements IEnergySource { @Override public double getOfferedEnergy() { - int power = EnergyNet.instance.getPowerFromTier(tier); - - if (energyStored >= power) { - return power; - } - return 0; + return Math.min(energyStored, power); } @Override @@ -363,13 +357,19 @@ public class BasicSource extends TileEntity implements IEnergySource { energyStored -= amount; } + @Override + public int getSourceTier() { + return tier; + } + // << energy net interface public final TileEntity parent; - protected int capacity; + protected double capacity; protected int tier; + protected double power; protected double energyStored; protected boolean addedToEnet; } diff --git a/src/api/java/ic2/api/energy/prefab/package-info.class b/src/main/java/ic2/api/energy/prefab/package-info.class similarity index 100% rename from src/api/java/ic2/api/energy/prefab/package-info.class rename to src/main/java/ic2/api/energy/prefab/package-info.class diff --git a/src/api/java/ic2/api/energy/prefab/package-info.java b/src/main/java/ic2/api/energy/prefab/package-info.java similarity index 100% rename from src/api/java/ic2/api/energy/prefab/package-info.java rename to src/main/java/ic2/api/energy/prefab/package-info.java diff --git a/src/api/java/ic2/api/energy/tile/IEnergyAcceptor.class b/src/main/java/ic2/api/energy/tile/IEnergyAcceptor.class similarity index 100% rename from src/api/java/ic2/api/energy/tile/IEnergyAcceptor.class rename to src/main/java/ic2/api/energy/tile/IEnergyAcceptor.class diff --git a/src/api/java/ic2/api/energy/tile/IEnergyAcceptor.java b/src/main/java/ic2/api/energy/tile/IEnergyAcceptor.java similarity index 88% rename from src/api/java/ic2/api/energy/tile/IEnergyAcceptor.java rename to src/main/java/ic2/api/energy/tile/IEnergyAcceptor.java index d413a38..1735ff5 100644 --- a/src/api/java/ic2/api/energy/tile/IEnergyAcceptor.java +++ b/src/main/java/ic2/api/energy/tile/IEnergyAcceptor.java @@ -10,7 +10,7 @@ import net.minecraftforge.common.util.ForgeDirection; * @see IEnergySink * @see IEnergyConductor * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public interface IEnergyAcceptor extends IEnergyTile { /** diff --git a/src/main/java/ic2/api/energy/tile/IEnergyConductor.class b/src/main/java/ic2/api/energy/tile/IEnergyConductor.class new file mode 100644 index 0000000..4b2c8f5 Binary files /dev/null and b/src/main/java/ic2/api/energy/tile/IEnergyConductor.class differ diff --git a/src/api/java/ic2/api/energy/tile/IEnergyConductor.java b/src/main/java/ic2/api/energy/tile/IEnergyConductor.java similarity index 84% rename from src/api/java/ic2/api/energy/tile/IEnergyConductor.java rename to src/main/java/ic2/api/energy/tile/IEnergyConductor.java index 0a841f5..08dab88 100644 --- a/src/api/java/ic2/api/energy/tile/IEnergyConductor.java +++ b/src/main/java/ic2/api/energy/tile/IEnergyConductor.java @@ -4,7 +4,7 @@ package ic2.api.energy.tile; * Tile entities which conduct energy pulses without buffering (mostly cables) have to implement this * interface. * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public interface IEnergyConductor extends IEnergyAcceptor, IEnergyEmitter { /** @@ -19,7 +19,7 @@ public interface IEnergyConductor extends IEnergyAcceptor, IEnergyEmitter { * * @return Insulation energy absorption in EU */ - int getInsulationEnergyAbsorption(); + double getInsulationEnergyAbsorption(); /** * Amount of energy the insulation will handle before it is destroyed. @@ -27,14 +27,14 @@ public interface IEnergyConductor extends IEnergyAcceptor, IEnergyEmitter { * * @return Insulation-destroying energy in EU */ - int getInsulationBreakdownEnergy(); + double getInsulationBreakdownEnergy(); /** * Amount of energy the conductor will handle before it melts. * * @return Conductor-destroying energy in EU */ - int getConductorBreakdownEnergy(); + double getConductorBreakdownEnergy(); /** * Remove the conductor's insulation if the insulation breakdown energy was exceeded. diff --git a/src/api/java/ic2/api/energy/tile/IEnergyEmitter.class b/src/main/java/ic2/api/energy/tile/IEnergyEmitter.class similarity index 100% rename from src/api/java/ic2/api/energy/tile/IEnergyEmitter.class rename to src/main/java/ic2/api/energy/tile/IEnergyEmitter.class diff --git a/src/api/java/ic2/api/energy/tile/IEnergyEmitter.java b/src/main/java/ic2/api/energy/tile/IEnergyEmitter.java similarity index 89% rename from src/api/java/ic2/api/energy/tile/IEnergyEmitter.java rename to src/main/java/ic2/api/energy/tile/IEnergyEmitter.java index 69ea41f..013865e 100644 --- a/src/api/java/ic2/api/energy/tile/IEnergyEmitter.java +++ b/src/main/java/ic2/api/energy/tile/IEnergyEmitter.java @@ -10,7 +10,7 @@ import net.minecraftforge.common.util.ForgeDirection; * @see IEnergySource * @see IEnergyConductor * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public interface IEnergyEmitter extends IEnergyTile { /** diff --git a/src/api/java/ic2/api/energy/tile/IEnergySink.class b/src/main/java/ic2/api/energy/tile/IEnergySink.class similarity index 53% rename from src/api/java/ic2/api/energy/tile/IEnergySink.class rename to src/main/java/ic2/api/energy/tile/IEnergySink.class index b1ad970..bcb05ce 100644 Binary files a/src/api/java/ic2/api/energy/tile/IEnergySink.class and b/src/main/java/ic2/api/energy/tile/IEnergySink.class differ diff --git a/src/api/java/ic2/api/energy/tile/IEnergySink.java b/src/main/java/ic2/api/energy/tile/IEnergySink.java similarity index 61% rename from src/api/java/ic2/api/energy/tile/IEnergySink.java rename to src/main/java/ic2/api/energy/tile/IEnergySink.java index b1bce6c..4ae8e79 100644 --- a/src/api/java/ic2/api/energy/tile/IEnergySink.java +++ b/src/main/java/ic2/api/energy/tile/IEnergySink.java @@ -5,21 +5,30 @@ import net.minecraftforge.common.util.ForgeDirection; /** * Allows a tile entity (mostly a machine) to receive energy. * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public interface IEnergySink extends IEnergyAcceptor { /** * Determine how much energy the sink accepts. * - * This value is unrelated to getMaxSafeInput(). - * * Make sure that injectEnergy() does accepts energy if demandsEnergy() returns anything > 0. * * @note Modifying the energy net from this method is disallowed. * * @return max accepted input in eu */ - double demandedEnergyUnits(); + double getDemandedEnergy(); + + /** + * Determine the tier of this energy sink. + * 1 = LV, 2 = MV, 3 = HV, 4 = EV etc. + * + * @note Modifying the energy net from this method is disallowed. + * @note Return Integer.MAX_VALUE to allow any voltage. + * + * @return tier of this energy sink + */ + int getSinkTier(); /** * Transfer energy to the sink. @@ -31,20 +40,6 @@ public interface IEnergySink extends IEnergyAcceptor { * @param amount energy to be transferred * @return Energy not consumed (leftover) */ - double injectEnergyUnits(ForgeDirection directionFrom, double amount); - - /** - * Determine the amount of eu which can be safely injected into the specific energy sink without exploding. - * - * Typical values are 32 for LV, 128 for MV, 512 for HV and 2048 for EV. A value of Integer.MAX_VALUE indicates no - * limit. - * - * This value is unrelated to demandsEnergy(). - * - * @note Modifying the energy net from this method is disallowed. - * - * @return max safe input in eu - */ - int getMaxSafeInput(); + double injectEnergy(ForgeDirection directionFrom, double amount, double voltage); } diff --git a/src/main/java/ic2/api/energy/tile/IEnergySource.class b/src/main/java/ic2/api/energy/tile/IEnergySource.class new file mode 100644 index 0000000..41ca6cf Binary files /dev/null and b/src/main/java/ic2/api/energy/tile/IEnergySource.class differ diff --git a/src/api/java/ic2/api/energy/tile/IEnergySource.java b/src/main/java/ic2/api/energy/tile/IEnergySource.java similarity index 66% rename from src/api/java/ic2/api/energy/tile/IEnergySource.java rename to src/main/java/ic2/api/energy/tile/IEnergySource.java index a2ef97c..44b952a 100644 --- a/src/api/java/ic2/api/energy/tile/IEnergySource.java +++ b/src/main/java/ic2/api/energy/tile/IEnergySource.java @@ -3,7 +3,7 @@ package ic2.api.energy.tile; /** * Allows a tile entity (mostly a generator) to emit energy. * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public interface IEnergySource extends IEnergyEmitter { /** @@ -24,5 +24,15 @@ public interface IEnergySource extends IEnergyEmitter { * @param amount amount of EU to draw, may be negative */ void drawEnergy(double amount); + + /** + * Determine the tier of this energy source. + * 1 = LV, 2 = MV, 3 = HV, 4 = EV etc. + * + * @note Modifying the energy net from this method is disallowed. + * + * @return tier of this energy source + */ + int getSourceTier(); } diff --git a/src/api/java/ic2/api/energy/tile/IEnergyTile.class b/src/main/java/ic2/api/energy/tile/IEnergyTile.class similarity index 100% rename from src/api/java/ic2/api/energy/tile/IEnergyTile.class rename to src/main/java/ic2/api/energy/tile/IEnergyTile.class diff --git a/src/api/java/ic2/api/energy/tile/IEnergyTile.java b/src/main/java/ic2/api/energy/tile/IEnergyTile.java similarity index 68% rename from src/api/java/ic2/api/energy/tile/IEnergyTile.java rename to src/main/java/ic2/api/energy/tile/IEnergyTile.java index 346f7e1..3938190 100644 --- a/src/api/java/ic2/api/energy/tile/IEnergyTile.java +++ b/src/main/java/ic2/api/energy/tile/IEnergyTile.java @@ -7,7 +7,7 @@ package ic2.api.energy.tile; * @see IEnergySource * @see IEnergyConductor * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public interface IEnergyTile { // diff --git a/src/api/java/ic2/api/energy/tile/IHeatSource.class b/src/main/java/ic2/api/energy/tile/IHeatSource.class similarity index 100% rename from src/api/java/ic2/api/energy/tile/IHeatSource.class rename to src/main/java/ic2/api/energy/tile/IHeatSource.class diff --git a/src/api/java/ic2/api/energy/tile/IHeatSource.java b/src/main/java/ic2/api/energy/tile/IHeatSource.java similarity index 89% rename from src/api/java/ic2/api/energy/tile/IHeatSource.java rename to src/main/java/ic2/api/energy/tile/IHeatSource.java index 7f6ff66..2e5db41 100644 --- a/src/api/java/ic2/api/energy/tile/IHeatSource.java +++ b/src/main/java/ic2/api/energy/tile/IHeatSource.java @@ -19,6 +19,5 @@ public interface IHeatSource { * requestHeat(100) : return 50 : so 50 units of heat remove from HeatSource */ - int requestHeat(ForgeDirection directionFrom,int requestheat); - + int requestHeat(ForgeDirection directionFrom, int requestheat); } diff --git a/src/main/java/ic2/api/energy/tile/IKineticSource.class b/src/main/java/ic2/api/energy/tile/IKineticSource.class new file mode 100644 index 0000000..225191c Binary files /dev/null and b/src/main/java/ic2/api/energy/tile/IKineticSource.class differ diff --git a/src/main/java/ic2/api/energy/tile/IKineticSource.java b/src/main/java/ic2/api/energy/tile/IKineticSource.java new file mode 100644 index 0000000..a651408 --- /dev/null +++ b/src/main/java/ic2/api/energy/tile/IKineticSource.java @@ -0,0 +1,22 @@ +package ic2.api.energy.tile; + +import net.minecraftforge.common.util.ForgeDirection; + +public interface IKineticSource { + /* + * Return max kinetic energy transmission peer Tick (only theoretical bandwidth not available amount) + */ + int maxrequestkineticenergyTick(ForgeDirection directionFrom); + + /* + * @param requested amount of kinetic energy to transfer + * + * @return transmitted amount of kineticenergy + * + * example: You Request 100 units of kinetic energy but the Source have only 50 units left + * + * requestkineticenergy(100) : return 50 : so 50 units of kinetic energy remove from KineticSource + */ + + int requestkineticenergy(ForgeDirection directionFrom, int requestkineticenergy); +} diff --git a/src/api/java/ic2/api/energy/tile/IMetaDelegate.class b/src/main/java/ic2/api/energy/tile/IMetaDelegate.class similarity index 100% rename from src/api/java/ic2/api/energy/tile/IMetaDelegate.class rename to src/main/java/ic2/api/energy/tile/IMetaDelegate.class diff --git a/src/api/java/ic2/api/energy/tile/IMetaDelegate.java b/src/main/java/ic2/api/energy/tile/IMetaDelegate.java similarity index 81% rename from src/api/java/ic2/api/energy/tile/IMetaDelegate.java rename to src/main/java/ic2/api/energy/tile/IMetaDelegate.java index abc1666..f7319d0 100644 --- a/src/api/java/ic2/api/energy/tile/IMetaDelegate.java +++ b/src/main/java/ic2/api/energy/tile/IMetaDelegate.java @@ -20,13 +20,15 @@ import net.minecraft.tileentity.TileEntity; * IEnergyEmitter) and mandatory position (x, y, z, World) data. * If the connectivity data on the sub tile is missing, the meta delegate is queried instead. * - * See ic2/baubles.api/energy/usage.txt for an overall description of the energy net baubles.api. + * See ic2/api/energy/usage.txt for an overall description of the energy net api. */ public interface IMetaDelegate extends IEnergyTile { /** * Get the sub-TileEntities belonging to this Meta TileEntity. * - * @note the list has to be consistent between the EnergyNet Load and Unload events. + * @note The list has to be consistent between the EnergyNet Load and Unload events. + * @note The list must have at least 1 element. + * @note The parent te implementing IMetaDelegate isn't automatically included. * * @return sub-TileEntity array */ diff --git a/src/api/java/ic2/api/energy/tile/package-info.class b/src/main/java/ic2/api/energy/tile/package-info.class similarity index 100% rename from src/api/java/ic2/api/energy/tile/package-info.class rename to src/main/java/ic2/api/energy/tile/package-info.class diff --git a/src/api/java/ic2/api/energy/tile/package-info.java b/src/main/java/ic2/api/energy/tile/package-info.java similarity index 100% rename from src/api/java/ic2/api/energy/tile/package-info.java rename to src/main/java/ic2/api/energy/tile/package-info.java diff --git a/src/api/java/ic2/api/energy/usage.txt b/src/main/java/ic2/api/energy/usage.txt similarity index 98% rename from src/api/java/ic2/api/energy/usage.txt rename to src/main/java/ic2/api/energy/usage.txt index 8e57f4f..49bd995 100644 --- a/src/api/java/ic2/api/energy/usage.txt +++ b/src/main/java/ic2/api/energy/usage.txt @@ -139,6 +139,6 @@ distribution rules or to use energy networks provided by other mods, you can reg tile events and use the interfaces to handle the energy distribution yourself. It's no longer required to use conversion blocks. -IC2's EnergyNet itself is built on top of the baubles.api events and interfaces, providing their default +IC2's EnergyNet itself is built on top of the api events and interfaces, providing their default use case. diff --git a/src/api/java/ic2/api/event/LaserEvent$LaserExplodesEvent.class b/src/main/java/ic2/api/event/LaserEvent$LaserExplodesEvent.class similarity index 100% rename from src/api/java/ic2/api/event/LaserEvent$LaserExplodesEvent.class rename to src/main/java/ic2/api/event/LaserEvent$LaserExplodesEvent.class diff --git a/src/api/java/ic2/api/event/LaserEvent$LaserHitsBlockEvent.class b/src/main/java/ic2/api/event/LaserEvent$LaserHitsBlockEvent.class similarity index 100% rename from src/api/java/ic2/api/event/LaserEvent$LaserHitsBlockEvent.class rename to src/main/java/ic2/api/event/LaserEvent$LaserHitsBlockEvent.class diff --git a/src/api/java/ic2/api/event/LaserEvent$LaserHitsEntityEvent.class b/src/main/java/ic2/api/event/LaserEvent$LaserHitsEntityEvent.class similarity index 100% rename from src/api/java/ic2/api/event/LaserEvent$LaserHitsEntityEvent.class rename to src/main/java/ic2/api/event/LaserEvent$LaserHitsEntityEvent.class diff --git a/src/api/java/ic2/api/event/LaserEvent$LaserShootEvent.class b/src/main/java/ic2/api/event/LaserEvent$LaserShootEvent.class similarity index 100% rename from src/api/java/ic2/api/event/LaserEvent$LaserShootEvent.class rename to src/main/java/ic2/api/event/LaserEvent$LaserShootEvent.class diff --git a/src/api/java/ic2/api/event/LaserEvent.class b/src/main/java/ic2/api/event/LaserEvent.class similarity index 100% rename from src/api/java/ic2/api/event/LaserEvent.class rename to src/main/java/ic2/api/event/LaserEvent.class diff --git a/src/api/java/ic2/api/event/LaserEvent.java b/src/main/java/ic2/api/event/LaserEvent.java similarity index 100% rename from src/api/java/ic2/api/event/LaserEvent.java rename to src/main/java/ic2/api/event/LaserEvent.java diff --git a/src/api/java/ic2/api/event/PaintEvent.class b/src/main/java/ic2/api/event/PaintEvent.class similarity index 100% rename from src/api/java/ic2/api/event/PaintEvent.class rename to src/main/java/ic2/api/event/PaintEvent.class diff --git a/src/api/java/ic2/api/event/PaintEvent.java b/src/main/java/ic2/api/event/PaintEvent.java similarity index 100% rename from src/api/java/ic2/api/event/PaintEvent.java rename to src/main/java/ic2/api/event/PaintEvent.java diff --git a/src/api/java/ic2/api/event/RetextureEvent.class b/src/main/java/ic2/api/event/RetextureEvent.class similarity index 100% rename from src/api/java/ic2/api/event/RetextureEvent.class rename to src/main/java/ic2/api/event/RetextureEvent.class diff --git a/src/api/java/ic2/api/event/RetextureEvent.java b/src/main/java/ic2/api/event/RetextureEvent.java similarity index 100% rename from src/api/java/ic2/api/event/RetextureEvent.java rename to src/main/java/ic2/api/event/RetextureEvent.java diff --git a/src/api/java/ic2/api/event/package-info.class b/src/main/java/ic2/api/event/package-info.class similarity index 100% rename from src/api/java/ic2/api/event/package-info.class rename to src/main/java/ic2/api/event/package-info.class diff --git a/src/api/java/ic2/api/event/package-info.java b/src/main/java/ic2/api/event/package-info.java similarity index 100% rename from src/api/java/ic2/api/event/package-info.java rename to src/main/java/ic2/api/event/package-info.java diff --git a/src/api/java/ic2/api/info/IEnergyValueProvider.class b/src/main/java/ic2/api/info/IEnergyValueProvider.class similarity index 95% rename from src/api/java/ic2/api/info/IEnergyValueProvider.class rename to src/main/java/ic2/api/info/IEnergyValueProvider.class index ca59672..abe05e1 100644 Binary files a/src/api/java/ic2/api/info/IEnergyValueProvider.class and b/src/main/java/ic2/api/info/IEnergyValueProvider.class differ diff --git a/src/api/java/ic2/api/info/IEnergyValueProvider.java b/src/main/java/ic2/api/info/IEnergyValueProvider.java similarity index 66% rename from src/api/java/ic2/api/info/IEnergyValueProvider.java rename to src/main/java/ic2/api/info/IEnergyValueProvider.java index 50e84e6..1e7b2cc 100644 --- a/src/api/java/ic2/api/info/IEnergyValueProvider.java +++ b/src/main/java/ic2/api/info/IEnergyValueProvider.java @@ -7,8 +7,11 @@ public interface IEnergyValueProvider { * Determine the energy value for a single item in the supplied stack. * The value is used by most machines in the discharge slot. * + * This only applies to basic single use items, others are to be queried + * through e.g. ElectricItem.manager.getCharge(). + * * @param itemStack ItemStack containing the item to evaluate. * @return energy in EU */ - int getEnergyValue(ItemStack itemStack); + double getEnergyValue(ItemStack itemStack); } diff --git a/src/api/java/ic2/api/info/IFuelValueProvider.class b/src/main/java/ic2/api/info/IFuelValueProvider.class similarity index 100% rename from src/api/java/ic2/api/info/IFuelValueProvider.class rename to src/main/java/ic2/api/info/IFuelValueProvider.class diff --git a/src/api/java/ic2/api/info/IFuelValueProvider.java b/src/main/java/ic2/api/info/IFuelValueProvider.java similarity index 100% rename from src/api/java/ic2/api/info/IFuelValueProvider.java rename to src/main/java/ic2/api/info/IFuelValueProvider.java diff --git a/src/api/java/ic2/api/info/Info.class b/src/main/java/ic2/api/info/Info.class similarity index 100% rename from src/api/java/ic2/api/info/Info.class rename to src/main/java/ic2/api/info/Info.class diff --git a/src/api/java/ic2/api/info/Info.java b/src/main/java/ic2/api/info/Info.java similarity index 100% rename from src/api/java/ic2/api/info/Info.java rename to src/main/java/ic2/api/info/Info.java diff --git a/src/api/java/ic2/api/info/package-info.class b/src/main/java/ic2/api/info/package-info.class similarity index 100% rename from src/api/java/ic2/api/info/package-info.class rename to src/main/java/ic2/api/info/package-info.class diff --git a/src/api/java/ic2/api/info/package-info.java b/src/main/java/ic2/api/info/package-info.java similarity index 100% rename from src/api/java/ic2/api/info/package-info.java rename to src/main/java/ic2/api/info/package-info.java diff --git a/src/main/java/ic2/api/item/ElectricItem.class b/src/main/java/ic2/api/item/ElectricItem.class new file mode 100644 index 0000000..be92606 Binary files /dev/null and b/src/main/java/ic2/api/item/ElectricItem.class differ diff --git a/src/main/java/ic2/api/item/ElectricItem.java b/src/main/java/ic2/api/item/ElectricItem.java new file mode 100644 index 0000000..19e5fc1 --- /dev/null +++ b/src/main/java/ic2/api/item/ElectricItem.java @@ -0,0 +1,59 @@ +package ic2.api.item; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.item.ItemStack; + +/** + * Allows for charging, discharging and using electric items (IElectricItem). + */ +public final class ElectricItem { + /** + * IElectricItemManager to use for interacting with IElectricItem ItemStacks. + * + * This manager will act as a gateway and delegate the tasks to the final implementation + * (rawManager or a custom one) as necessary. + */ + public static IElectricItemManager manager; + + /** + * Standard IElectricItemManager implementation, only call it directly from another + * IElectricItemManager. Use manager instead. + */ + public static IElectricItemManager rawManager; + + /** + * Register an electric item manager for items not implementing IElectricItem. + * + * This method is only designed for special purposes, implementing IElectricItem or + * ISpecialElectricItem instead of using this is faster. + * + * Managers used with ISpecialElectricItem shouldn't be registered. + * + * @param manager Manager to register. + */ + public static void registerBackupManager(IBackupElectricItemManager manager) { + backupManagers.add(manager); + } + + /** + * Get the electric item manager suitable for the supplied item stack. + * + * This method is for internal use only. + * + * @param stack ItemStack to be handled. + * @return First suitable electric item manager. + */ + public static IBackupElectricItemManager getBackupManager(ItemStack stack) { + for (IBackupElectricItemManager manager : backupManagers) { + if (manager.handles(stack)) return manager; + } + + return null; + } + + + private static final List backupManagers = new ArrayList(); +} + diff --git a/src/main/java/ic2/api/item/IBackupElectricItemManager.class b/src/main/java/ic2/api/item/IBackupElectricItemManager.class new file mode 100644 index 0000000..fc7f1ad Binary files /dev/null and b/src/main/java/ic2/api/item/IBackupElectricItemManager.class differ diff --git a/src/main/java/ic2/api/item/IBackupElectricItemManager.java b/src/main/java/ic2/api/item/IBackupElectricItemManager.java new file mode 100644 index 0000000..2ae254a --- /dev/null +++ b/src/main/java/ic2/api/item/IBackupElectricItemManager.java @@ -0,0 +1,12 @@ +package ic2.api.item; + +import net.minecraft.item.ItemStack; + +/** + * This interface specifies a manager applicable to items not implementing IElectricItem. + * + * The manager implementing this has to be registered with ElectricItem.registerBackupManager(). + */ +public interface IBackupElectricItemManager extends IElectricItemManager { + boolean handles(ItemStack stack); +} diff --git a/src/main/java/ic2/api/item/IBlockCuttingBlade.class b/src/main/java/ic2/api/item/IBlockCuttingBlade.class new file mode 100644 index 0000000..8654649 Binary files /dev/null and b/src/main/java/ic2/api/item/IBlockCuttingBlade.class differ diff --git a/src/main/java/ic2/api/item/IBlockCuttingBlade.java b/src/main/java/ic2/api/item/IBlockCuttingBlade.java new file mode 100644 index 0000000..24a8f00 --- /dev/null +++ b/src/main/java/ic2/api/item/IBlockCuttingBlade.java @@ -0,0 +1,6 @@ +package ic2.api.item; + + +public interface IBlockCuttingBlade { + int gethardness(); +} diff --git a/src/api/java/ic2/api/item/IBoxable.class b/src/main/java/ic2/api/item/IBoxable.class similarity index 100% rename from src/api/java/ic2/api/item/IBoxable.class rename to src/main/java/ic2/api/item/IBoxable.class diff --git a/src/api/java/ic2/api/item/IBoxable.java b/src/main/java/ic2/api/item/IBoxable.java similarity index 100% rename from src/api/java/ic2/api/item/IBoxable.java rename to src/main/java/ic2/api/item/IBoxable.java diff --git a/src/api/java/ic2/api/item/IC2Items.class b/src/main/java/ic2/api/item/IC2Items.class similarity index 96% rename from src/api/java/ic2/api/item/IC2Items.class rename to src/main/java/ic2/api/item/IC2Items.class index 13f742e..267272d 100644 Binary files a/src/api/java/ic2/api/item/IC2Items.class and b/src/main/java/ic2/api/item/IC2Items.class differ diff --git a/src/api/java/ic2/api/item/IC2Items.java b/src/main/java/ic2/api/item/IC2Items.java similarity index 98% rename from src/api/java/ic2/api/item/IC2Items.java rename to src/main/java/ic2/api/item/IC2Items.java index 440cadf..9b8c7df 100644 --- a/src/api/java/ic2/api/item/IC2Items.java +++ b/src/main/java/ic2/api/item/IC2Items.java @@ -42,22 +42,22 @@ public final class IC2Items { /* Possible values: // ores - copperOre; // Copper Ore block, currently not meta sensitive, meta in ItemStack set to 0, ore dictionary: oreCopper, null with enableWorldGenOreCopper=false - tinOre; // Tin Ore block, currently not meta sensitive, meta in ItemStack set to 0, ore dictionary: oreTin, null with enableWorldGenOreTin=false - uraniumOre; // Tin Ore block, currently not meta sensitive, meta in ItemStack set to 0, ore dictionary: oreUranium, null with enableWorldGenOreUranium=false - leadOre; // Lead Ore Block, currently not meta sensitive, meta in ItemStack set to 0, ore dictionary: oreLead, null with enableWorldGenOreLead=false + copperOre; // Copper Ore block, currently not meta sensitive, meta in ItemStack set to 0, ore dictionary: oreCopper, null with enableWorldGenOreCopper = false + tinOre; // Tin Ore block, currently not meta sensitive, meta in ItemStack set to 0, ore dictionary: oreTin, null with enableWorldGenOreTin = false + uraniumOre; // Tin Ore block, currently not meta sensitive, meta in ItemStack set to 0, ore dictionary: oreUranium, null with enableWorldGenOreUranium = false + leadOre; // Lead Ore Block, currently not meta sensitive, meta in ItemStack set to 0, ore dictionary: oreLead, null with enableWorldGenOreLead = false // rubber related - Rubber wood block, meta reflects the state, meta in ItemStack set to 0, ore dictionary: woodRubber (with meta 0), null with enableWorldGenTreeRubber=false + Rubber wood block, meta reflects the state, meta in ItemStack set to 0, ore dictionary: woodRubber (with meta 0), null with enableWorldGenTreeRubber = false dropped (as an item) -> metadata 0 block, no resin spot -> metadata 0 or 1 block, wet resin spot -> metadata 2-5 (according to the side) block, dry resin spot -> metadata 8-11 (wet state + 6) rubberWood; - rubberLeaves; // Rubber Leaves block, currently not meta sensitive, meta in ItemStack set to 0, null with enableWorldGenTreeRubber=false - rubberSapling; // Rubber Sapling block, currently not meta sensitive, meta in ItemStack set to 0, null with enableWorldGenTreeRubber=false + rubberLeaves; // Rubber Leaves block, currently not meta sensitive, meta in ItemStack set to 0, null with enableWorldGenTreeRubber = false + rubberSapling; // Rubber Sapling block, currently not meta sensitive, meta in ItemStack set to 0, null with enableWorldGenTreeRubber = false resinSheet; // Resin Sheet block, currently not meta sensitive rubberTrampoline; // Rubber Trampoline block, meta reflects internal state, meta in ItemStack set to 0 @@ -152,11 +152,11 @@ public final class IC2Items { luminator; // Passive (dark) Luminator block, meta = facing activeLuminator; // Active (bright) Luminator block, meta = facing centrifuge; // Centrifuge block, meta sensitive - metalformer; // MetalFormer block ,meta sensitive - orewashingplant; // Ore Wasching Plant,Meta sensitive - patternstorage; // Pattern Storage,Meta sensitive - scanner; // Scanner,Meta sensitive - replicator; // Replicator,Meta sensitive + metalformer; // MetalFormer block , meta sensitive + orewashingplant; // Ore Wasching Plant, Meta sensitive + patternstorage; // Pattern Storage, Meta sensitive + scanner; // Scanner, Meta sensitive + replicator; // Replicator, Meta sensitive miningPipe; // Mining Pipe block, currently not meta sensitive, meta in ItemStack set to 0 miningPipeTip; // Mining Pipe Tip block, currently not meta sensitive, meta in ItemStack set to 0 @@ -538,7 +538,6 @@ public final class IC2Items { denseplateobsidian; // Metal dense plate item, meta sensitive - // upgrade modules overclockerUpgrade; // overclocker upgrade item, meta sensitive transformerUpgrade; // transformer upgrade item, meta sensitive @@ -588,7 +587,7 @@ public final class IC2Items { if (pkg != null) { String packageName = pkg.getName(); - return packageName.substring(0, packageName.length() - ".baubles.api.item".length()); + return packageName.substring(0, packageName.length() - ".api.item".length()); } return "ic2"; diff --git a/src/api/java/ic2/api/item/IDebuggable.class b/src/main/java/ic2/api/item/IDebuggable.class similarity index 100% rename from src/api/java/ic2/api/item/IDebuggable.class rename to src/main/java/ic2/api/item/IDebuggable.class diff --git a/src/api/java/ic2/api/item/IDebuggable.java b/src/main/java/ic2/api/item/IDebuggable.java similarity index 99% rename from src/api/java/ic2/api/item/IDebuggable.java rename to src/main/java/ic2/api/item/IDebuggable.java index b1fa66b..404c7eb 100644 --- a/src/api/java/ic2/api/item/IDebuggable.java +++ b/src/main/java/ic2/api/item/IDebuggable.java @@ -1,7 +1,6 @@ package ic2.api.item; - /** * Allows a tile entity to output a debug message when the debugItem is used on it. * Suggestions by Myrathi diff --git a/src/api/java/ic2/api/item/IElectricItem.class b/src/main/java/ic2/api/item/IElectricItem.class similarity index 59% rename from src/api/java/ic2/api/item/IElectricItem.class rename to src/main/java/ic2/api/item/IElectricItem.class index 056f0d4..a49d183 100644 Binary files a/src/api/java/ic2/api/item/IElectricItem.class and b/src/main/java/ic2/api/item/IElectricItem.class differ diff --git a/src/api/java/ic2/api/item/IElectricItem.java b/src/main/java/ic2/api/item/IElectricItem.java similarity index 92% rename from src/api/java/ic2/api/item/IElectricItem.java rename to src/main/java/ic2/api/item/IElectricItem.java index 2cba11e..5525e00 100644 --- a/src/api/java/ic2/api/item/IElectricItem.java +++ b/src/main/java/ic2/api/item/IElectricItem.java @@ -35,7 +35,7 @@ public interface IElectricItem { * * @return Maximum charge energy */ - int getMaxCharge(ItemStack itemStack); + double getMaxCharge(ItemStack itemStack); /** * Get the item's tier, lower tiers can't send energy to higher ones. @@ -50,6 +50,6 @@ public interface IElectricItem { * * @return Transfer limit */ - int getTransferLimit(ItemStack itemStack); + double getTransferLimit(ItemStack itemStack); } diff --git a/src/main/java/ic2/api/item/IElectricItemManager.class b/src/main/java/ic2/api/item/IElectricItemManager.class new file mode 100644 index 0000000..978eb91 Binary files /dev/null and b/src/main/java/ic2/api/item/IElectricItemManager.class differ diff --git a/src/api/java/ic2/api/item/IElectricItemManager.java b/src/main/java/ic2/api/item/IElectricItemManager.java similarity index 80% rename from src/api/java/ic2/api/item/IElectricItemManager.java rename to src/main/java/ic2/api/item/IElectricItemManager.java index 88eab75..5de43d7 100644 --- a/src/api/java/ic2/api/item/IElectricItemManager.java +++ b/src/main/java/ic2/api/item/IElectricItemManager.java @@ -19,7 +19,7 @@ import net.minecraft.item.ItemStack; */ public interface IElectricItemManager { /** - * Charge an item with a specified amount of energy + * Charge an item with a specified amount of energy. * * @param itemStack electric item's stack * @param amount amount of energy to charge in EU @@ -28,27 +28,28 @@ public interface IElectricItemManager { * @param simulate don't actually change the item, just determine the return value * @return Energy transferred into the electric item */ - int charge(ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate); + double charge(ItemStack stack, double amount, int tier, boolean ignoreTransferLimit, boolean simulate); /** * Discharge an item by a specified amount of energy * * @param itemStack electric item's stack - * @param amount amount of energy to charge in EU + * @param amount amount of energy to discharge in EU * @param tier tier of the discharging device, has to be at least as high as the item to discharge * @param ignoreTransferLimit ignore the transfer limit specified by getTransferLimit() + * @param externally use the supplied item externally, i.e. to power something else as if it was a battery * @param simulate don't actually discharge the item, just determine the return value * @return Energy retrieved from the electric item */ - int discharge(ItemStack itemStack, int amount, int tier, boolean ignoreTransferLimit, boolean simulate); + double discharge(ItemStack stack, double amount, int tier, boolean ignoreTransferLimit, boolean externally, boolean simulate); /** - * Determine the charge level for the specified item + * Determine the charge level for the specified item. * * @param itemStack ItemStack containing the electric item * @return charge level in EU */ - int getCharge(ItemStack itemStack); + double getCharge(ItemStack stack); /** * Determine if the specified electric item has at least a specific amount of EU. @@ -59,7 +60,7 @@ public interface IElectricItemManager { * @param amount minimum amount of energy required * @return true if there's enough energy */ - boolean canUse(ItemStack itemStack, int amount); + boolean canUse(ItemStack stack, double amount); /** * Try to retrieve a specific amount of energy from an Item, and if applicable, a BatPack. @@ -70,7 +71,7 @@ public interface IElectricItemManager { * @param entity entity holding the item * @return true if the operation succeeded */ - boolean use(ItemStack itemStack, int amount, EntityLivingBase entity); + boolean use(ItemStack stack, double amount, EntityLivingBase entity); /** * Charge an item from the BatPack a player is wearing. @@ -80,7 +81,7 @@ public interface IElectricItemManager { * @param itemStack electric item's stack * @param entity entity holding the item */ - void chargeFromArmor(ItemStack itemStack, EntityLivingBase entity); + void chargeFromArmor(ItemStack stack, EntityLivingBase entity); /** * Get the tool tip to display for electric items. @@ -88,5 +89,7 @@ public interface IElectricItemManager { * @param itemStack ItemStack to determine the tooltip for * @return tool tip string or null for none */ - String getToolTip(ItemStack itemStack); + String getToolTip(ItemStack stack); + + // TODO: add tier getter } diff --git a/src/api/java/ic2/api/item/IItemHudInfo.class b/src/main/java/ic2/api/item/IItemHudInfo.class similarity index 100% rename from src/api/java/ic2/api/item/IItemHudInfo.class rename to src/main/java/ic2/api/item/IItemHudInfo.class diff --git a/src/api/java/ic2/api/item/IItemHudInfo.java b/src/main/java/ic2/api/item/IItemHudInfo.java similarity index 99% rename from src/api/java/ic2/api/item/IItemHudInfo.java rename to src/main/java/ic2/api/item/IItemHudInfo.java index fe6ec0f..da97318 100644 --- a/src/api/java/ic2/api/item/IItemHudInfo.java +++ b/src/main/java/ic2/api/item/IItemHudInfo.java @@ -5,7 +5,6 @@ import java.util.List; import net.minecraft.item.ItemStack; public interface IItemHudInfo { - /* Add Info to Nano- and Quantum-Suit Helm Hud for itemStack @@ -22,5 +21,4 @@ public interface IItemHudInfo { */ public List getHudInfo(ItemStack itemStack); - } diff --git a/src/main/java/ic2/api/item/IKineticWindRotor.class b/src/main/java/ic2/api/item/IKineticWindRotor.class new file mode 100644 index 0000000..684dd53 Binary files /dev/null and b/src/main/java/ic2/api/item/IKineticWindRotor.class differ diff --git a/src/main/java/ic2/api/item/IKineticWindRotor.java b/src/main/java/ic2/api/item/IKineticWindRotor.java new file mode 100644 index 0000000..62f1fdc --- /dev/null +++ b/src/main/java/ic2/api/item/IKineticWindRotor.java @@ -0,0 +1,15 @@ +package ic2.api.item; + +import net.minecraft.util.ResourceLocation; + +public interface IKineticWindRotor { + public int getDiameter(); + + public ResourceLocation getRotorRenderTexture(); + + public float getefficiency(); + + int getminWindStrength(); + + int getmaxWindStrength(); +} diff --git a/src/api/java/ic2/api/item/IMetalArmor.class b/src/main/java/ic2/api/item/IMetalArmor.class similarity index 100% rename from src/api/java/ic2/api/item/IMetalArmor.class rename to src/main/java/ic2/api/item/IMetalArmor.class diff --git a/src/api/java/ic2/api/item/IMetalArmor.java b/src/main/java/ic2/api/item/IMetalArmor.java similarity index 100% rename from src/api/java/ic2/api/item/IMetalArmor.java rename to src/main/java/ic2/api/item/IMetalArmor.java diff --git a/src/api/java/ic2/api/item/ISpecialElectricItem.class b/src/main/java/ic2/api/item/ISpecialElectricItem.class similarity index 100% rename from src/api/java/ic2/api/item/ISpecialElectricItem.class rename to src/main/java/ic2/api/item/ISpecialElectricItem.class diff --git a/src/api/java/ic2/api/item/ISpecialElectricItem.java b/src/main/java/ic2/api/item/ISpecialElectricItem.java similarity index 100% rename from src/api/java/ic2/api/item/ISpecialElectricItem.java rename to src/main/java/ic2/api/item/ISpecialElectricItem.java diff --git a/src/api/java/ic2/api/item/ITerraformingBP.class b/src/main/java/ic2/api/item/ITerraformingBP.class similarity index 100% rename from src/api/java/ic2/api/item/ITerraformingBP.class rename to src/main/java/ic2/api/item/ITerraformingBP.class diff --git a/src/api/java/ic2/api/item/ITerraformingBP.java b/src/main/java/ic2/api/item/ITerraformingBP.java similarity index 95% rename from src/api/java/ic2/api/item/ITerraformingBP.java rename to src/main/java/ic2/api/item/ITerraformingBP.java index 58f7e2f..59b46ba 100644 --- a/src/api/java/ic2/api/item/ITerraformingBP.java +++ b/src/main/java/ic2/api/item/ITerraformingBP.java @@ -5,8 +5,7 @@ import net.minecraft.world.World; /** * Allows an item to act as a terraformer blueprint. */ -public interface ITerraformingBP -{ +public interface ITerraformingBP { /** * Get the energy consumption per operation of the blueprint. * diff --git a/src/api/java/ic2/api/item/ItemWrapper.class b/src/main/java/ic2/api/item/ItemWrapper.class similarity index 81% rename from src/api/java/ic2/api/item/ItemWrapper.class rename to src/main/java/ic2/api/item/ItemWrapper.class index 30dd16e..7c6a6de 100644 Binary files a/src/api/java/ic2/api/item/ItemWrapper.class and b/src/main/java/ic2/api/item/ItemWrapper.class differ diff --git a/src/api/java/ic2/api/item/ItemWrapper.java b/src/main/java/ic2/api/item/ItemWrapper.java similarity index 100% rename from src/api/java/ic2/api/item/ItemWrapper.java rename to src/main/java/ic2/api/item/ItemWrapper.java diff --git a/src/api/java/ic2/api/item/package-info.class b/src/main/java/ic2/api/item/package-info.class similarity index 100% rename from src/api/java/ic2/api/item/package-info.class rename to src/main/java/ic2/api/item/package-info.class diff --git a/src/api/java/ic2/api/item/package-info.java b/src/main/java/ic2/api/item/package-info.java similarity index 100% rename from src/api/java/ic2/api/item/package-info.java rename to src/main/java/ic2/api/item/package-info.java diff --git a/src/api/java/ic2/api/network/INetworkClientTileEntityEventListener.class b/src/main/java/ic2/api/network/INetworkClientTileEntityEventListener.class similarity index 100% rename from src/api/java/ic2/api/network/INetworkClientTileEntityEventListener.class rename to src/main/java/ic2/api/network/INetworkClientTileEntityEventListener.class diff --git a/src/api/java/ic2/api/network/INetworkClientTileEntityEventListener.java b/src/main/java/ic2/api/network/INetworkClientTileEntityEventListener.java similarity index 100% rename from src/api/java/ic2/api/network/INetworkClientTileEntityEventListener.java rename to src/main/java/ic2/api/network/INetworkClientTileEntityEventListener.java diff --git a/src/api/java/ic2/api/network/INetworkDataProvider.class b/src/main/java/ic2/api/network/INetworkDataProvider.class similarity index 100% rename from src/api/java/ic2/api/network/INetworkDataProvider.class rename to src/main/java/ic2/api/network/INetworkDataProvider.class diff --git a/src/api/java/ic2/api/network/INetworkDataProvider.java b/src/main/java/ic2/api/network/INetworkDataProvider.java similarity index 100% rename from src/api/java/ic2/api/network/INetworkDataProvider.java rename to src/main/java/ic2/api/network/INetworkDataProvider.java diff --git a/src/api/java/ic2/api/network/INetworkItemEventListener.class b/src/main/java/ic2/api/network/INetworkItemEventListener.class similarity index 100% rename from src/api/java/ic2/api/network/INetworkItemEventListener.class rename to src/main/java/ic2/api/network/INetworkItemEventListener.class diff --git a/src/api/java/ic2/api/network/INetworkItemEventListener.java b/src/main/java/ic2/api/network/INetworkItemEventListener.java similarity index 100% rename from src/api/java/ic2/api/network/INetworkItemEventListener.java rename to src/main/java/ic2/api/network/INetworkItemEventListener.java diff --git a/src/api/java/ic2/api/network/INetworkTileEntityEventListener.class b/src/main/java/ic2/api/network/INetworkTileEntityEventListener.class similarity index 100% rename from src/api/java/ic2/api/network/INetworkTileEntityEventListener.class rename to src/main/java/ic2/api/network/INetworkTileEntityEventListener.class diff --git a/src/api/java/ic2/api/network/INetworkTileEntityEventListener.java b/src/main/java/ic2/api/network/INetworkTileEntityEventListener.java similarity index 100% rename from src/api/java/ic2/api/network/INetworkTileEntityEventListener.java rename to src/main/java/ic2/api/network/INetworkTileEntityEventListener.java diff --git a/src/api/java/ic2/api/network/INetworkUpdateListener.class b/src/main/java/ic2/api/network/INetworkUpdateListener.class similarity index 100% rename from src/api/java/ic2/api/network/INetworkUpdateListener.class rename to src/main/java/ic2/api/network/INetworkUpdateListener.class diff --git a/src/api/java/ic2/api/network/INetworkUpdateListener.java b/src/main/java/ic2/api/network/INetworkUpdateListener.java similarity index 100% rename from src/api/java/ic2/api/network/INetworkUpdateListener.java rename to src/main/java/ic2/api/network/INetworkUpdateListener.java diff --git a/src/api/java/ic2/api/network/NetworkHelper.class b/src/main/java/ic2/api/network/NetworkHelper.class similarity index 100% rename from src/api/java/ic2/api/network/NetworkHelper.class rename to src/main/java/ic2/api/network/NetworkHelper.class diff --git a/src/api/java/ic2/api/network/NetworkHelper.java b/src/main/java/ic2/api/network/NetworkHelper.java similarity index 98% rename from src/api/java/ic2/api/network/NetworkHelper.java rename to src/main/java/ic2/api/network/NetworkHelper.java index af38928..5f9138d 100644 --- a/src/api/java/ic2/api/network/NetworkHelper.java +++ b/src/main/java/ic2/api/network/NetworkHelper.java @@ -165,7 +165,7 @@ public final class NetworkHelper { if (pkg != null) { String packageName = pkg.getName(); - return packageName.substring(0, packageName.length() - ".baubles.api.network".length()); + return packageName.substring(0, packageName.length() - ".api.network".length()); } return "ic2"; diff --git a/src/api/java/ic2/api/network/package-info.class b/src/main/java/ic2/api/network/package-info.class similarity index 100% rename from src/api/java/ic2/api/network/package-info.class rename to src/main/java/ic2/api/network/package-info.class diff --git a/src/api/java/ic2/api/network/package-info.java b/src/main/java/ic2/api/network/package-info.java similarity index 100% rename from src/api/java/ic2/api/network/package-info.java rename to src/main/java/ic2/api/network/package-info.java diff --git a/src/api/java/ic2/api/package-info.class b/src/main/java/ic2/api/package-info.class similarity index 100% rename from src/api/java/ic2/api/package-info.class rename to src/main/java/ic2/api/package-info.class diff --git a/src/api/java/ic2/api/package-info.java b/src/main/java/ic2/api/package-info.java similarity index 100% rename from src/api/java/ic2/api/package-info.java rename to src/main/java/ic2/api/package-info.java diff --git a/src/main/java/ic2/api/reactor/IReactor.class b/src/main/java/ic2/api/reactor/IReactor.class new file mode 100644 index 0000000..06917a9 Binary files /dev/null and b/src/main/java/ic2/api/reactor/IReactor.class differ diff --git a/src/api/java/ic2/api/reactor/IReactor.java b/src/main/java/ic2/api/reactor/IReactor.java similarity index 88% rename from src/api/java/ic2/api/reactor/IReactor.java rename to src/main/java/ic2/api/reactor/IReactor.java index f1d21a7..55191cc 100644 --- a/src/api/java/ic2/api/reactor/IReactor.java +++ b/src/main/java/ic2/api/reactor/IReactor.java @@ -93,6 +93,13 @@ public interface IReactor { */ public float getReactorEnergyOutput(); + /** + * Get the reactor's energy output. + * + * @return Energy output, multiplied with base EU/t value and MainConfig.get().getFloat("balance/energy/generator/nuclear") + */ + public double getReactorEUEnergyOutput(); + /** * Add's the given amount of energy to the Reactor's output. * @@ -135,4 +142,17 @@ public interface IReactor { * @return Whether the reactor is active */ public boolean produceEnergy(); + + /** + * Set Redstone Signal without direct contact + * + */ + + public void setRedstoneSignal(boolean redstone); + + /** + * @return true if the reactor is FluidCooled + */ + + public boolean isFluidCooled(); } diff --git a/src/main/java/ic2/api/reactor/IReactorChamber.class b/src/main/java/ic2/api/reactor/IReactorChamber.class new file mode 100644 index 0000000..e0e206c Binary files /dev/null and b/src/main/java/ic2/api/reactor/IReactorChamber.class differ diff --git a/src/api/java/ic2/api/reactor/IReactorChamber.java b/src/main/java/ic2/api/reactor/IReactorChamber.java similarity index 66% rename from src/api/java/ic2/api/reactor/IReactorChamber.java rename to src/main/java/ic2/api/reactor/IReactorChamber.java index 1b9f2c9..4611a6a 100644 --- a/src/api/java/ic2/api/reactor/IReactorChamber.java +++ b/src/main/java/ic2/api/reactor/IReactorChamber.java @@ -10,4 +10,11 @@ public interface IReactorChamber { * @return The reactor */ public IReactor getReactor(); + + /** + * Set Redstone Signal without direct contact + * + */ + + public void setRedstoneSignal(boolean redstone); } diff --git a/src/api/java/ic2/api/reactor/IReactorComponent.class b/src/main/java/ic2/api/reactor/IReactorComponent.class similarity index 100% rename from src/api/java/ic2/api/reactor/IReactorComponent.class rename to src/main/java/ic2/api/reactor/IReactorComponent.class diff --git a/src/api/java/ic2/api/reactor/IReactorComponent.java b/src/main/java/ic2/api/reactor/IReactorComponent.java similarity index 95% rename from src/api/java/ic2/api/reactor/IReactorComponent.java rename to src/main/java/ic2/api/reactor/IReactorComponent.java index 77fbacd..84e011c 100644 --- a/src/api/java/ic2/api/reactor/IReactorComponent.java +++ b/src/main/java/ic2/api/reactor/IReactorComponent.java @@ -10,8 +10,7 @@ import net.minecraft.item.ItemStack; * All IC2 ReactorComponents implement and use this Interface * */ -public interface IReactorComponent -{ +public interface IReactorComponent { /** * Called by reactor upon iterating through it's inventory (every cycle). * Perform all necessary calculation/interaction here @@ -20,9 +19,9 @@ public interface IReactorComponent * @param yourStack Reference to the specific instance of iterated ItemStack * @param x X-coordinate of the stack in the grid * @param y Y-coordinate of the stack in the grid - * @param heatrun every Stack will cycle 2 time (true,false) first run for heat, sec for Eu calculation + * @param heatrun every Stack will cycle 2 time (true, false) first run for heat, sec for Eu calculation */ - public void processChamber(IReactor reactor, ItemStack yourStack, int x, int y,boolean heatrun); + public void processChamber(IReactor reactor, ItemStack yourStack, int x, int y, boolean heatrun); /** * Can be called by Uranium-Components who attempt to generate energy by pulsing to other components. @@ -37,7 +36,7 @@ public interface IReactorComponent * @param heatrun true for only create heat not EU, false for only EU not heat * @return true if this component reacts to the pulse (and pulse is therefore meant to produce heat) */ - public boolean acceptUraniumPulse(IReactor reactor, ItemStack yourStack, ItemStack pulsingStack, int youX, int youY, int pulseX, int pulseY,boolean heatrun); + public boolean acceptUraniumPulse(IReactor reactor, ItemStack yourStack, ItemStack pulsingStack, int youX, int youY, int pulseX, int pulseY, boolean heatrun); /** * Called by components to determine whether your component can be heated. diff --git a/src/api/java/ic2/api/reactor/package-info.class b/src/main/java/ic2/api/reactor/package-info.class similarity index 100% rename from src/api/java/ic2/api/reactor/package-info.class rename to src/main/java/ic2/api/reactor/package-info.class diff --git a/src/api/java/ic2/api/reactor/package-info.java b/src/main/java/ic2/api/reactor/package-info.java similarity index 100% rename from src/api/java/ic2/api/reactor/package-info.java rename to src/main/java/ic2/api/reactor/package-info.java diff --git a/src/api/java/ic2/api/recipe/ICannerBottleRecipeManager$Input.class b/src/main/java/ic2/api/recipe/ICannerBottleRecipeManager$Input.class similarity index 100% rename from src/api/java/ic2/api/recipe/ICannerBottleRecipeManager$Input.class rename to src/main/java/ic2/api/recipe/ICannerBottleRecipeManager$Input.class diff --git a/src/api/java/ic2/api/recipe/ICannerBottleRecipeManager.class b/src/main/java/ic2/api/recipe/ICannerBottleRecipeManager.class similarity index 100% rename from src/api/java/ic2/api/recipe/ICannerBottleRecipeManager.class rename to src/main/java/ic2/api/recipe/ICannerBottleRecipeManager.class diff --git a/src/api/java/ic2/api/recipe/ICannerBottleRecipeManager.java b/src/main/java/ic2/api/recipe/ICannerBottleRecipeManager.java similarity index 100% rename from src/api/java/ic2/api/recipe/ICannerBottleRecipeManager.java rename to src/main/java/ic2/api/recipe/ICannerBottleRecipeManager.java diff --git a/src/api/java/ic2/api/recipe/ICannerEnrichRecipeManager$Input.class b/src/main/java/ic2/api/recipe/ICannerEnrichRecipeManager$Input.class similarity index 100% rename from src/api/java/ic2/api/recipe/ICannerEnrichRecipeManager$Input.class rename to src/main/java/ic2/api/recipe/ICannerEnrichRecipeManager$Input.class diff --git a/src/api/java/ic2/api/recipe/ICannerEnrichRecipeManager.class b/src/main/java/ic2/api/recipe/ICannerEnrichRecipeManager.class similarity index 100% rename from src/api/java/ic2/api/recipe/ICannerEnrichRecipeManager.class rename to src/main/java/ic2/api/recipe/ICannerEnrichRecipeManager.class diff --git a/src/api/java/ic2/api/recipe/ICannerEnrichRecipeManager.java b/src/main/java/ic2/api/recipe/ICannerEnrichRecipeManager.java similarity index 100% rename from src/api/java/ic2/api/recipe/ICannerEnrichRecipeManager.java rename to src/main/java/ic2/api/recipe/ICannerEnrichRecipeManager.java diff --git a/src/api/java/ic2/api/recipe/ICraftingRecipeManager.class b/src/main/java/ic2/api/recipe/ICraftingRecipeManager.class similarity index 100% rename from src/api/java/ic2/api/recipe/ICraftingRecipeManager.class rename to src/main/java/ic2/api/recipe/ICraftingRecipeManager.class diff --git a/src/api/java/ic2/api/recipe/ICraftingRecipeManager.java b/src/main/java/ic2/api/recipe/ICraftingRecipeManager.java similarity index 100% rename from src/api/java/ic2/api/recipe/ICraftingRecipeManager.java rename to src/main/java/ic2/api/recipe/ICraftingRecipeManager.java diff --git a/src/main/java/ic2/api/recipe/IFluidHeatManager$BurnProperty.class b/src/main/java/ic2/api/recipe/IFluidHeatManager$BurnProperty.class new file mode 100644 index 0000000..6367f30 Binary files /dev/null and b/src/main/java/ic2/api/recipe/IFluidHeatManager$BurnProperty.class differ diff --git a/src/main/java/ic2/api/recipe/IFluidHeatManager.class b/src/main/java/ic2/api/recipe/IFluidHeatManager.class new file mode 100644 index 0000000..30a7fee Binary files /dev/null and b/src/main/java/ic2/api/recipe/IFluidHeatManager.class differ diff --git a/src/main/java/ic2/api/recipe/IFluidHeatManager.java b/src/main/java/ic2/api/recipe/IFluidHeatManager.java new file mode 100644 index 0000000..7ddecdc --- /dev/null +++ b/src/main/java/ic2/api/recipe/IFluidHeatManager.java @@ -0,0 +1,32 @@ +package ic2.api.recipe; + +import java.util.Map; + +import net.minecraftforge.fluids.Fluid; + + +public interface IFluidHeatManager extends ILiquidAcceptManager { + /** + * Add a new fluid to the Fluid Heat Generator. + * + * @param fluidName the fluid to burn + * @param amount amount of fluid to consume per tick + * @param heat amount of heat generated per tick + */ + void addFluid(String fluidName, int amount, int heat); + + BurnProperty getBurnProperty(Fluid fluid); + + Map getBurnProperties(); + + + public static class BurnProperty { + public BurnProperty(int amount1, int heat1) { + this.amount = amount1; + this.heat = heat1; + } + + public final int amount; + public final int heat; + } +} diff --git a/src/api/java/ic2/api/recipe/ILiquidAcceptManager.class b/src/main/java/ic2/api/recipe/ILiquidAcceptManager.class similarity index 100% rename from src/api/java/ic2/api/recipe/ILiquidAcceptManager.class rename to src/main/java/ic2/api/recipe/ILiquidAcceptManager.class diff --git a/src/api/java/ic2/api/recipe/ILiquidAcceptManager.java b/src/main/java/ic2/api/recipe/ILiquidAcceptManager.java similarity index 100% rename from src/api/java/ic2/api/recipe/ILiquidAcceptManager.java rename to src/main/java/ic2/api/recipe/ILiquidAcceptManager.java diff --git a/src/api/java/ic2/api/recipe/IListRecipeManager.class b/src/main/java/ic2/api/recipe/IListRecipeManager.class similarity index 100% rename from src/api/java/ic2/api/recipe/IListRecipeManager.class rename to src/main/java/ic2/api/recipe/IListRecipeManager.class diff --git a/src/api/java/ic2/api/recipe/IListRecipeManager.java b/src/main/java/ic2/api/recipe/IListRecipeManager.java similarity index 100% rename from src/api/java/ic2/api/recipe/IListRecipeManager.java rename to src/main/java/ic2/api/recipe/IListRecipeManager.java diff --git a/src/api/java/ic2/api/recipe/IMachineRecipeManager.class b/src/main/java/ic2/api/recipe/IMachineRecipeManager.class similarity index 100% rename from src/api/java/ic2/api/recipe/IMachineRecipeManager.class rename to src/main/java/ic2/api/recipe/IMachineRecipeManager.class diff --git a/src/api/java/ic2/api/recipe/IMachineRecipeManager.java b/src/main/java/ic2/api/recipe/IMachineRecipeManager.java similarity index 100% rename from src/api/java/ic2/api/recipe/IMachineRecipeManager.java rename to src/main/java/ic2/api/recipe/IMachineRecipeManager.java diff --git a/src/api/java/ic2/api/recipe/IPatternStorage.class b/src/main/java/ic2/api/recipe/IPatternStorage.class similarity index 100% rename from src/api/java/ic2/api/recipe/IPatternStorage.class rename to src/main/java/ic2/api/recipe/IPatternStorage.class diff --git a/src/api/java/ic2/api/recipe/IPatternStorage.java b/src/main/java/ic2/api/recipe/IPatternStorage.java similarity index 100% rename from src/api/java/ic2/api/recipe/IPatternStorage.java rename to src/main/java/ic2/api/recipe/IPatternStorage.java diff --git a/src/api/java/ic2/api/recipe/IRecipeInput.class b/src/main/java/ic2/api/recipe/IRecipeInput.class similarity index 100% rename from src/api/java/ic2/api/recipe/IRecipeInput.class rename to src/main/java/ic2/api/recipe/IRecipeInput.class diff --git a/src/api/java/ic2/api/recipe/IRecipeInput.java b/src/main/java/ic2/api/recipe/IRecipeInput.java similarity index 100% rename from src/api/java/ic2/api/recipe/IRecipeInput.java rename to src/main/java/ic2/api/recipe/IRecipeInput.java diff --git a/src/api/java/ic2/api/recipe/IScrapboxManager.class b/src/main/java/ic2/api/recipe/IScrapboxManager.class similarity index 100% rename from src/api/java/ic2/api/recipe/IScrapboxManager.class rename to src/main/java/ic2/api/recipe/IScrapboxManager.class diff --git a/src/api/java/ic2/api/recipe/IScrapboxManager.java b/src/main/java/ic2/api/recipe/IScrapboxManager.java similarity index 100% rename from src/api/java/ic2/api/recipe/IScrapboxManager.java rename to src/main/java/ic2/api/recipe/IScrapboxManager.java diff --git a/src/api/java/ic2/api/recipe/ISemiFluidFuelManager$BurnProperty.class b/src/main/java/ic2/api/recipe/ISemiFluidFuelManager$BurnProperty.class similarity index 100% rename from src/api/java/ic2/api/recipe/ISemiFluidFuelManager$BurnProperty.class rename to src/main/java/ic2/api/recipe/ISemiFluidFuelManager$BurnProperty.class diff --git a/src/api/java/ic2/api/recipe/ISemiFluidFuelManager.class b/src/main/java/ic2/api/recipe/ISemiFluidFuelManager.class similarity index 100% rename from src/api/java/ic2/api/recipe/ISemiFluidFuelManager.class rename to src/main/java/ic2/api/recipe/ISemiFluidFuelManager.class diff --git a/src/api/java/ic2/api/recipe/ISemiFluidFuelManager.java b/src/main/java/ic2/api/recipe/ISemiFluidFuelManager.java similarity index 100% rename from src/api/java/ic2/api/recipe/ISemiFluidFuelManager.java rename to src/main/java/ic2/api/recipe/ISemiFluidFuelManager.java diff --git a/src/api/java/ic2/api/recipe/RecipeInputFluidContainer.class b/src/main/java/ic2/api/recipe/RecipeInputFluidContainer.class similarity index 100% rename from src/api/java/ic2/api/recipe/RecipeInputFluidContainer.class rename to src/main/java/ic2/api/recipe/RecipeInputFluidContainer.class diff --git a/src/api/java/ic2/api/recipe/RecipeInputFluidContainer.java b/src/main/java/ic2/api/recipe/RecipeInputFluidContainer.java similarity index 100% rename from src/api/java/ic2/api/recipe/RecipeInputFluidContainer.java rename to src/main/java/ic2/api/recipe/RecipeInputFluidContainer.java diff --git a/src/api/java/ic2/api/recipe/RecipeInputItemStack.class b/src/main/java/ic2/api/recipe/RecipeInputItemStack.class similarity index 100% rename from src/api/java/ic2/api/recipe/RecipeInputItemStack.class rename to src/main/java/ic2/api/recipe/RecipeInputItemStack.class diff --git a/src/api/java/ic2/api/recipe/RecipeInputItemStack.java b/src/main/java/ic2/api/recipe/RecipeInputItemStack.java similarity index 100% rename from src/api/java/ic2/api/recipe/RecipeInputItemStack.java rename to src/main/java/ic2/api/recipe/RecipeInputItemStack.java diff --git a/src/api/java/ic2/api/recipe/RecipeInputOreDict.class b/src/main/java/ic2/api/recipe/RecipeInputOreDict.class similarity index 84% rename from src/api/java/ic2/api/recipe/RecipeInputOreDict.class rename to src/main/java/ic2/api/recipe/RecipeInputOreDict.class index a068e8f..2280e6e 100644 Binary files a/src/api/java/ic2/api/recipe/RecipeInputOreDict.class and b/src/main/java/ic2/api/recipe/RecipeInputOreDict.class differ diff --git a/src/api/java/ic2/api/recipe/RecipeInputOreDict.java b/src/main/java/ic2/api/recipe/RecipeInputOreDict.java similarity index 100% rename from src/api/java/ic2/api/recipe/RecipeInputOreDict.java rename to src/main/java/ic2/api/recipe/RecipeInputOreDict.java diff --git a/src/main/java/ic2/api/recipe/RecipeOutput.class b/src/main/java/ic2/api/recipe/RecipeOutput.class new file mode 100644 index 0000000..48a5787 Binary files /dev/null and b/src/main/java/ic2/api/recipe/RecipeOutput.class differ diff --git a/src/api/java/ic2/api/recipe/RecipeOutput.java b/src/main/java/ic2/api/recipe/RecipeOutput.java similarity index 80% rename from src/api/java/ic2/api/recipe/RecipeOutput.java rename to src/main/java/ic2/api/recipe/RecipeOutput.java index c9474cd..867cfa2 100644 --- a/src/api/java/ic2/api/recipe/RecipeOutput.java +++ b/src/main/java/ic2/api/recipe/RecipeOutput.java @@ -8,6 +8,8 @@ import net.minecraft.nbt.NBTTagCompound; public final class RecipeOutput { public RecipeOutput(NBTTagCompound metadata1, List items1) { + assert !items1.contains(null); + this.metadata = metadata1; this.items = items1; } @@ -16,6 +18,11 @@ public final class RecipeOutput { this(metadata1, Arrays.asList(items1)); } + @Override + public String toString() { + return "ROutput<"+items+","+metadata+">"; + } + public final List items; public final NBTTagCompound metadata; } diff --git a/src/main/java/ic2/api/recipe/Recipes.class b/src/main/java/ic2/api/recipe/Recipes.class new file mode 100644 index 0000000..559ffe8 Binary files /dev/null and b/src/main/java/ic2/api/recipe/Recipes.class differ diff --git a/src/api/java/ic2/api/recipe/Recipes.java b/src/main/java/ic2/api/recipe/Recipes.java similarity index 92% rename from src/api/java/ic2/api/recipe/Recipes.java rename to src/main/java/ic2/api/recipe/Recipes.java index 336bc07..4c12597 100644 --- a/src/api/java/ic2/api/recipe/Recipes.java +++ b/src/main/java/ic2/api/recipe/Recipes.java @@ -1,7 +1,6 @@ package ic2.api.recipe; - /** * General recipe registry. * @@ -12,6 +11,8 @@ public class Recipes { public static IMachineRecipeManager extractor; public static IMachineRecipeManager compressor; public static IMachineRecipeManager centrifuge; + public static IMachineRecipeManager blockcutter; + public static IMachineRecipeManager blastfurance; public static IMachineRecipeManager recycler; public static IMachineRecipeManager metalformerExtruding; public static IMachineRecipeManager metalformerCutting; @@ -55,5 +56,5 @@ public class Recipes { public static ICraftingRecipeManager advRecipes; public static ISemiFluidFuelManager semiFluidGenerator; - + public static IFluidHeatManager FluidHeatGenerator; } diff --git a/src/api/java/ic2/api/recipe/package-info.class b/src/main/java/ic2/api/recipe/package-info.class similarity index 100% rename from src/api/java/ic2/api/recipe/package-info.class rename to src/main/java/ic2/api/recipe/package-info.class diff --git a/src/api/java/ic2/api/recipe/package-info.java b/src/main/java/ic2/api/recipe/package-info.java similarity index 100% rename from src/api/java/ic2/api/recipe/package-info.java rename to src/main/java/ic2/api/recipe/package-info.java diff --git a/src/api/java/ic2/api/tile/ExplosionWhitelist.class b/src/main/java/ic2/api/tile/ExplosionWhitelist.class similarity index 100% rename from src/api/java/ic2/api/tile/ExplosionWhitelist.class rename to src/main/java/ic2/api/tile/ExplosionWhitelist.class diff --git a/src/api/java/ic2/api/tile/ExplosionWhitelist.java b/src/main/java/ic2/api/tile/ExplosionWhitelist.java similarity index 100% rename from src/api/java/ic2/api/tile/ExplosionWhitelist.java rename to src/main/java/ic2/api/tile/ExplosionWhitelist.java diff --git a/src/api/java/ic2/api/tile/IEnergyStorage.class b/src/main/java/ic2/api/tile/IEnergyStorage.class similarity index 100% rename from src/api/java/ic2/api/tile/IEnergyStorage.class rename to src/main/java/ic2/api/tile/IEnergyStorage.class diff --git a/src/api/java/ic2/api/tile/IEnergyStorage.java b/src/main/java/ic2/api/tile/IEnergyStorage.java similarity index 100% rename from src/api/java/ic2/api/tile/IEnergyStorage.java rename to src/main/java/ic2/api/tile/IEnergyStorage.java diff --git a/src/api/java/ic2/api/tile/IWrenchable.class b/src/main/java/ic2/api/tile/IWrenchable.class similarity index 100% rename from src/api/java/ic2/api/tile/IWrenchable.class rename to src/main/java/ic2/api/tile/IWrenchable.class diff --git a/src/api/java/ic2/api/tile/IWrenchable.java b/src/main/java/ic2/api/tile/IWrenchable.java similarity index 100% rename from src/api/java/ic2/api/tile/IWrenchable.java rename to src/main/java/ic2/api/tile/IWrenchable.java diff --git a/src/api/java/ic2/api/tile/package-info.class b/src/main/java/ic2/api/tile/package-info.class similarity index 100% rename from src/api/java/ic2/api/tile/package-info.class rename to src/main/java/ic2/api/tile/package-info.class diff --git a/src/api/java/ic2/api/tile/package-info.java b/src/main/java/ic2/api/tile/package-info.java similarity index 100% rename from src/api/java/ic2/api/tile/package-info.java rename to src/main/java/ic2/api/tile/package-info.java diff --git a/src/api/java/ic2/api/util/IKeyboard.class b/src/main/java/ic2/api/util/IKeyboard.class similarity index 100% rename from src/api/java/ic2/api/util/IKeyboard.class rename to src/main/java/ic2/api/util/IKeyboard.class diff --git a/src/api/java/ic2/api/util/IKeyboard.java b/src/main/java/ic2/api/util/IKeyboard.java similarity index 100% rename from src/api/java/ic2/api/util/IKeyboard.java rename to src/main/java/ic2/api/util/IKeyboard.java diff --git a/src/api/java/ic2/api/util/Keys.class b/src/main/java/ic2/api/util/Keys.class similarity index 100% rename from src/api/java/ic2/api/util/Keys.class rename to src/main/java/ic2/api/util/Keys.class diff --git a/src/api/java/ic2/api/util/Keys.java b/src/main/java/ic2/api/util/Keys.java similarity index 100% rename from src/api/java/ic2/api/util/Keys.java rename to src/main/java/ic2/api/util/Keys.java diff --git a/src/api/java/ic2/api/util/package-info.class b/src/main/java/ic2/api/util/package-info.class similarity index 100% rename from src/api/java/ic2/api/util/package-info.class rename to src/main/java/ic2/api/util/package-info.class diff --git a/src/api/java/ic2/api/util/package-info.java b/src/main/java/ic2/api/util/package-info.java similarity index 100% rename from src/api/java/ic2/api/util/package-info.java rename to src/main/java/ic2/api/util/package-info.java diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/ElectricMagicTools.java b/src/main/java/tombenpotter/emt/ElectroMagicTools.java similarity index 62% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/ElectricMagicTools.java rename to src/main/java/tombenpotter/emt/ElectroMagicTools.java index f7ec1b9..0245dfa 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/ElectricMagicTools.java +++ b/src/main/java/tombenpotter/emt/ElectroMagicTools.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt; import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.common.Mod; @@ -19,25 +19,28 @@ import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.relauncher.Side; -import electricMagicTools.tombenpotter.electricmagictools.client.CapeEventHandler; -import electricMagicTools.tombenpotter.electricmagictools.common.recipes.EMTInitRecipes; -import electricMagicTools.tombenpotter.electricmagictools.common.recipes.EMTPostInitRecipes; -import electricMagicTools.tombenpotter.electricmagictools.common.recipes.UuMInfusionRecipes; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Configuration; +import tombenpotter.emt.common.commands.CommandOutputs; +import tombenpotter.emt.common.module.base.EMTEntityRegistry; +import tombenpotter.emt.common.module.ic2.recipes.EMTInitRecipes; +import tombenpotter.emt.common.module.ic2.recipes.EMTPostInitRecipes; +import tombenpotter.emt.common.module.ic2.recipes.UuMInfusionRecipes; +import tombenpotter.emt.common.util.*; +import tombenpotter.emt.proxies.CommonProxy; -@Mod(modid = ElectricMagicTools.modid, name = "Electro-MagicTools", version = "1.1.2", guiFactory = "electricMagicTools.tombenpotter.electricmagictools.common.EMTGuiFactory",dependencies = "required-after:Thaumcraft ; required-after:IC2") -public class ElectricMagicTools { +@Mod(modid = ElectroMagicTools.modid, name = "Electro-MagicTools", version = "1.1.4", guiFactory = "tombenpotter.emt.client.gui.config.EMTGuiFactory", dependencies = "required-after:Thaumcraft ; required-after:IC2") +public class ElectroMagicTools { - @SidedProxy(clientSide = "electricMagicTools.tombenpotter.electricmagictools.client.ClientProxy", serverSide = "electricMagicTools.tombenpotter.electricmagictools.common.CommonProxy") + @SidedProxy(clientSide = "tombenpotter.emt.proxies.ClientProxy", serverSide = "tombenpotter.emt.proxies.CommonProxy") public static CommonProxy proxy; - @Instance(ElectricMagicTools.modid) - public static ElectricMagicTools instance; + @Instance(ElectroMagicTools.modid) + public static ElectroMagicTools instance; public static final String modid = "Electro-MagicTools"; - public static final String texturePath = "electricmagictools"; + public static final String texturePath = "electromagictools"; @EventHandler public void preInit(FMLPreInitializationEvent event) { @@ -46,10 +49,11 @@ public class ElectricMagicTools { FMLLog.info("[EMT] Electro-Magic Tools : Creating/Reading the config file"); Config.config = new Configuration(event.getSuggestedConfigurationFile()); Config.create(); - FMLLog.info("[EMT] Electro-Magic Tools : Registering the mod items"); - ItemRegistry.registerEMTItems(); - FMLLog.info("[EMT] Electro-Magic Tools : Registering the mod blocks"); - BlockRegistry.registerEMTBlocks(); + + RegistryHandler.registerIc2Registrys(); + + EssentiasOutputs.addPrimalOutputs(); + EssentiasOutputs.addOutputs(); FMLLog.info("[EMT] Electro-Magic Tools : Planning complete"); } @@ -60,11 +64,8 @@ public class ElectricMagicTools { FMLLog.info("[EMT] Electro-Magic Tools : Loading the proxies"); proxy.load(); - FMLLog.info("[EMT] Electro-Magic Tools : Making mobs drop additional items"); MinecraftForge.EVENT_BUS.register(new EMTEventHandler()); - FMLLog.info("[EMT] Electro-Magic Tools : Registering Tile entities"); - TileEntityRegistry.registerEMTTileEntites(); FMLLog.info("[EMT] Electro-Magic Tools : Generating loot in dungeon chests"); DungeonChestGenerator.generateLoot(); FMLLog.info("[EMT] Electro-Magic Tools : Adding the Init recipes"); @@ -73,10 +74,6 @@ public class ElectricMagicTools { EMTEntityRegistry.registerEMTEntities(); FMLLog.info("[EMT] Electro-Magic Tools : Registering the GUI Handler"); NetworkRegistry.INSTANCE.registerGuiHandler(this, proxy); - if (event.getSide() == Side.CLIENT && Config.capesOn == true) { - FMLLog.info("[EMT] Electro-Magic Tools : Adding capes"); - MinecraftForge.EVENT_BUS.register(new CapeEventHandler()); - } FMLLog.info("[EMT] Electro-Magic Tools : Allies gathered."); } @@ -89,11 +86,14 @@ public class ElectricMagicTools { EMTPostInitRecipes.add(); FMLLog.info("[EMT] Electro-Magic Tools : Adding the UU-Matter Infusion recipes"); UuMInfusionRecipes.add(); - FMLLog.info("[EMT] Electro-Magic Tools : Adding the EMT research tab to the Thaumonomicon"); - ThaumonomiconResearch.addResearchTab(); - FMLLog.info("[EMT] Electro-Magic Tools : Adding research to the game"); - ThaumonomiconResearch.addResearch(); + + RegistryHandler.registerIc2PostRegistrys(); FMLLog.info("[EMT] Electro-Magic Tools : World takeover complete. Enjoy!"); } + + @EventHandler + public void onFMLServerStart(FMLServerStartingEvent event) { + event.registerServerCommand(new CommandOutputs()); + } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/gui/GuiEtherealMacerator.java b/src/main/java/tombenpotter/emt/client/gui/GuiEtherealMacerator.java similarity index 79% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/gui/GuiEtherealMacerator.java rename to src/main/java/tombenpotter/emt/client/gui/GuiEtherealMacerator.java index 5ff7f59..160d43f 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/gui/GuiEtherealMacerator.java +++ b/src/main/java/tombenpotter/emt/client/gui/GuiEtherealMacerator.java @@ -9,11 +9,11 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.client.gui; +package tombenpotter.emt.client.gui; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEtherealMacerator; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.container.ContainerEtheralMacerator; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEtherealMacerator; +import tombenpotter.emt.client.gui.container.ContainerEtheralMacerator; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; @@ -28,7 +28,7 @@ public class GuiEtherealMacerator extends GuiContainer { ySize = 165; } - public static final ResourceLocation texture = new ResourceLocation(ElectricMagicTools.texturePath, "textures/guis/etherealmacerator.png"); + public static final ResourceLocation texture = new ResourceLocation(ElectroMagicTools.texturePath, "textures/guis/etherealmacerator.png"); @Override public void drawGuiContainerBackgroundLayer(float f, int j, int i) { diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/gui/GuiIndustrialWandRecharger.java b/src/main/java/tombenpotter/emt/client/gui/GuiIndustrialWandRecharger.java similarity index 79% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/gui/GuiIndustrialWandRecharger.java rename to src/main/java/tombenpotter/emt/client/gui/GuiIndustrialWandRecharger.java index 4fb56f4..819a7bd 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/gui/GuiIndustrialWandRecharger.java +++ b/src/main/java/tombenpotter/emt/client/gui/GuiIndustrialWandRecharger.java @@ -9,11 +9,11 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.client.gui; +package tombenpotter.emt.client.gui; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityIndustrialWandRecharge; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.container.ContainerIndustrialWandRecharge; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.ic2.tile.TileEntityIndustrialWandRecharge; +import tombenpotter.emt.client.gui.container.ContainerIndustrialWandRecharge; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; @@ -28,7 +28,7 @@ public class GuiIndustrialWandRecharger extends GuiContainer { ySize = 165; } - public static final ResourceLocation texture = new ResourceLocation(ElectricMagicTools.texturePath, "textures/guis/wandcharger.png"); + public static final ResourceLocation texture = new ResourceLocation(ElectroMagicTools.texturePath, "textures/guis/wandcharger.png"); @Override public void drawGuiContainerBackgroundLayer(float f, int j, int i) { diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/gui/EMTGuiConfig.java b/src/main/java/tombenpotter/emt/client/gui/config/EMTGuiConfig.java similarity index 74% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/gui/EMTGuiConfig.java rename to src/main/java/tombenpotter/emt/client/gui/config/EMTGuiConfig.java index e6e9553..a0ad4e7 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/gui/EMTGuiConfig.java +++ b/src/main/java/tombenpotter/emt/client/gui/config/EMTGuiConfig.java @@ -1,21 +1,21 @@ -package electricMagicTools.tombenpotter.electricmagictools.client.gui; +package tombenpotter.emt.client.gui.config; import cpw.mods.fml.client.config.DummyConfigElement; import cpw.mods.fml.client.config.GuiConfig; import cpw.mods.fml.client.config.GuiConfigEntries; import cpw.mods.fml.client.config.IConfigElement; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; import net.minecraft.client.gui.GuiScreen; import net.minecraftforge.common.config.ConfigElement; import net.minecraftforge.common.config.Configuration; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.Config; import java.util.ArrayList; import java.util.List; public class EMTGuiConfig extends GuiConfig { public EMTGuiConfig(GuiScreen parentScreen) { - super(parentScreen, getConfigElements(), ElectricMagicTools.modid, false, false, GuiConfig.getAbridgedConfigPath(Config.config.toString())); + super(parentScreen, getConfigElements(), ElectroMagicTools.modid, false, false, GuiConfig.getAbridgedConfigPath(Config.config.toString())); } private static List getConfigElements() { @@ -23,6 +23,7 @@ public class EMTGuiConfig extends GuiConfig { list.add(new DummyConfigElement.DummyCategoryElement("General Config", "emt.config.general", GeneralEntry.class)); list.add(new DummyConfigElement.DummyCategoryElement("Values Config", "emt.config.valuezs", ValuesEntry.class)); list.add(new DummyConfigElement.DummyCategoryElement("Research Disabling Config", "emt.config.research.disable", ResearchEntry.class)); + list.add(new DummyConfigElement.DummyCategoryElement("Essentia Generator Outputs", "emt.config.outputs", OutputsEntry.class)); return list; } @@ -70,4 +71,19 @@ public class EMTGuiConfig extends GuiConfig { GuiConfig.getAbridgedConfigPath("emt/config/research")); } } + + public static class OutputsEntry extends GuiConfigEntries.CategoryEntry { + public OutputsEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement prop) { + super(owningScreen, owningEntryList, prop); + } + + @Override + protected GuiScreen buildChildScreen() { + return new GuiConfig(this.owningScreen, + (new ConfigElement(Config.config.getCategory(Config.CATEGORY_OUTPUTS))).getChildElements(), + this.owningScreen.modID, Configuration.CATEGORY_GENERAL, this.configElement.requiresWorldRestart() || this.owningScreen.allRequireWorldRestart, + this.configElement.requiresMcRestart() || this.owningScreen.allRequireMcRestart, + GuiConfig.getAbridgedConfigPath("emt/config/outputs")); + } + } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTGuiFactory.java b/src/main/java/tombenpotter/emt/client/gui/config/EMTGuiFactory.java similarity index 81% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTGuiFactory.java rename to src/main/java/tombenpotter/emt/client/gui/config/EMTGuiFactory.java index e14ff4f..2b94c07 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTGuiFactory.java +++ b/src/main/java/tombenpotter/emt/client/gui/config/EMTGuiFactory.java @@ -1,7 +1,6 @@ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.client.gui.config; import cpw.mods.fml.client.IModGuiFactory; -import electricMagicTools.tombenpotter.electricmagictools.client.gui.EMTGuiConfig; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/container/ContainerEtheralMacerator.java b/src/main/java/tombenpotter/emt/client/gui/container/ContainerEtheralMacerator.java similarity index 95% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/container/ContainerEtheralMacerator.java rename to src/main/java/tombenpotter/emt/client/gui/container/ContainerEtheralMacerator.java index c05122b..7978aaa 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/container/ContainerEtheralMacerator.java +++ b/src/main/java/tombenpotter/emt/client/gui/container/ContainerEtheralMacerator.java @@ -9,9 +9,9 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.container; +package tombenpotter.emt.client.gui.container; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEtherealMacerator; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEtherealMacerator; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/container/ContainerIndustrialWandRecharge.java b/src/main/java/tombenpotter/emt/client/gui/container/ContainerIndustrialWandRecharge.java similarity index 94% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/container/ContainerIndustrialWandRecharge.java rename to src/main/java/tombenpotter/emt/client/gui/container/ContainerIndustrialWandRecharge.java index 17af69d..f83fb12 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/container/ContainerIndustrialWandRecharge.java +++ b/src/main/java/tombenpotter/emt/client/gui/container/ContainerIndustrialWandRecharge.java @@ -9,9 +9,9 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.container; +package tombenpotter.emt.client.gui.container; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityIndustrialWandRecharge; +import tombenpotter.emt.common.module.ic2.tile.TileEntityIndustrialWandRecharge; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/model/ModelWings.java b/src/main/java/tombenpotter/emt/client/model/ModelWings.java similarity index 95% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/model/ModelWings.java rename to src/main/java/tombenpotter/emt/client/model/ModelWings.java index 71f225c..10974e7 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/model/ModelWings.java +++ b/src/main/java/tombenpotter/emt/client/model/ModelWings.java @@ -1,4 +1,4 @@ -package electricMagicTools.tombenpotter.electricmagictools.client.model; +package tombenpotter.emt.client.model; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelRenderer; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/renderer/RenderArcher.java b/src/main/java/tombenpotter/emt/client/renderer/RenderArcher.java similarity index 92% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/renderer/RenderArcher.java rename to src/main/java/tombenpotter/emt/client/renderer/RenderArcher.java index e701fdf..916d58f 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/renderer/RenderArcher.java +++ b/src/main/java/tombenpotter/emt/client/renderer/RenderArcher.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.client.renderer; +package tombenpotter.emt.client.renderer; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/renderer/RenderLaser.java b/src/main/java/tombenpotter/emt/client/renderer/RenderLaser.java similarity index 92% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/renderer/RenderLaser.java rename to src/main/java/tombenpotter/emt/client/renderer/RenderLaser.java index a17a5ec..9339f07 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/renderer/RenderLaser.java +++ b/src/main/java/tombenpotter/emt/client/renderer/RenderLaser.java @@ -9,10 +9,10 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.client.renderer; +package tombenpotter.emt.client.renderer; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.entities.EntityLaser; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.base.entities.EntityLaser; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.Render; import net.minecraft.entity.Entity; @@ -22,7 +22,7 @@ import org.lwjgl.opengl.GL12; public class RenderLaser extends Render { - private static final ResourceLocation laserTexture = new ResourceLocation(ElectricMagicTools.texturePath, "textures/models/lasermodel.png"); + private static final ResourceLocation laserTexture = new ResourceLocation(ElectroMagicTools.texturePath, "textures/models/lasermodel.png"); public void renderArrow(EntityLaser entityLaser, double par2, double par4, double par6, float par8, float par9) { diff --git a/src/main/java/tombenpotter/emt/common/commands/CommandOutputs.java b/src/main/java/tombenpotter/emt/common/commands/CommandOutputs.java new file mode 100644 index 0000000..4c7442e --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/commands/CommandOutputs.java @@ -0,0 +1,86 @@ +package tombenpotter.emt.common.commands; + +import net.minecraft.command.CommandBase; +import net.minecraft.command.ICommand; +import net.minecraft.command.ICommandSender; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.nbt.NBTTagString; +import thaumcraft.api.aspects.Aspect; +import tombenpotter.emt.common.util.EssentiasOutputs; + +import java.util.Collection; +import java.util.List; + +public class CommandOutputs extends CommandBase { + + public String text; + + @Override + public String getCommandName() { + return "emt_outputs"; + } + + @Override + public String getCommandUsage(ICommandSender p_71518_1_) { + return "/emt_outputs"; + } + + @Override + public boolean canCommandSenderUseCommand(ICommandSender par1iCommandSender) { + return true; + } + + @Override + public List addTabCompletionOptions(ICommandSender command, String[] stringArray) { + return null; + } + + @Override + public int compareTo(Object object) { + if (object instanceof ICommand) { + return this.compareTo((ICommand) object); + } else { + return 0; + } + } + + + @Override + public void processCommand(ICommandSender command, String[] astring) { + text = "EU Ouput per Essentia: "; + Collection aspectCollection = Aspect.aspects.values(); + for (Aspect aspect : aspectCollection) { + String text2 = addStrings(text, (aspect.getTag() + ": " + String.valueOf(EssentiasOutputs.outputs.get(aspect.getTag())) + "\n")); + text = text2; + } + addOutputsBook("Essentia Outputs Book", text, command, astring); + } + + public void addOutputsBook(String title, String text, ICommandSender command, String[] astring) { + ItemStack book = new ItemStack(Items.written_book); + book.setTagInfo("author", new NBTTagString("Tombenpotter")); + book.setTagInfo("title", new NBTTagString(title)); + NBTTagCompound nbttagcompound = book.getTagCompound(); + NBTTagList bookPages = new NBTTagList(); + + bookPages.appendTag(new NBTTagString(text.substring(0, 237))); + bookPages.appendTag(new NBTTagString(text.substring(237, 476))); + bookPages.appendTag(new NBTTagString(text.substring(476, 709))); + bookPages.appendTag(new NBTTagString(text.substring(709))); + + nbttagcompound.setTag("pages", bookPages); + + System.out.println(text.length()); + + if (!command.getEntityWorld().getPlayerEntityByName(command.getCommandSenderName()).inventory.addItemStackToInventory(book)) + command.getEntityWorld().getPlayerEntityByName(command.getCommandSenderName()).entityDropItem(book, 0); + } + + public String addStrings(String string1, String string2) { + String result = string1 + string2; + return result; + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTEntityRegistry.java b/src/main/java/tombenpotter/emt/common/module/base/EMTEntityRegistry.java similarity index 82% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTEntityRegistry.java rename to src/main/java/tombenpotter/emt/common/module/base/EMTEntityRegistry.java index acfec60..cf874fb 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTEntityRegistry.java +++ b/src/main/java/tombenpotter/emt/common/module/base/EMTEntityRegistry.java @@ -9,15 +9,16 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.module.base; import cpw.mods.fml.common.registry.EntityRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.entities.EntityArcher; -import electricMagicTools.tombenpotter.electricmagictools.common.entities.EntityLaser; +import tombenpotter.emt.common.module.base.entities.EntityArcher; +import tombenpotter.emt.common.module.base.entities.EntityLaser; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityList.EntityEggInfo; import net.minecraft.entity.EntityLiving; +import tombenpotter.emt.ElectroMagicTools; public class EMTEntityRegistry { @@ -43,8 +44,8 @@ public class EMTEntityRegistry { public static void registerEMTEntities() { - EntityRegistry.registerModEntity(EntityLaser.class, "entityLaser", entityIDs++, ElectricMagicTools.instance, 80, 3, true); - EntityRegistry.registerModEntity(EntityArcher.class, "entityArcher", entityIDs++, ElectricMagicTools.instance, 80, 3, true); + EntityRegistry.registerModEntity(EntityLaser.class, "entityLaser", entityIDs++, ElectroMagicTools.instance, 80, 3, true); + EntityRegistry.registerModEntity(EntityArcher.class, "entityArcher", entityIDs++, ElectroMagicTools.instance, 80, 3, true); registerEntityEgg(ARCHER_CLASS, 0x99111F, 0xE5685); } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/entities/EntityArcher.java b/src/main/java/tombenpotter/emt/common/module/base/entities/EntityArcher.java similarity index 98% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/entities/EntityArcher.java rename to src/main/java/tombenpotter/emt/common/module/base/entities/EntityArcher.java index a2b5265..73b07bc 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/entities/EntityArcher.java +++ b/src/main/java/tombenpotter/emt/common/module/base/entities/EntityArcher.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.entities; +package tombenpotter.emt.common.module.base.entities; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -120,7 +120,6 @@ public class EntityArcher extends EntitySnowman implements IExtendedEntityProper @Override public void loadNBTData(NBTTagCompound compound) { - } @Override diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/entities/EntityLaser.java b/src/main/java/tombenpotter/emt/common/module/base/entities/EntityLaser.java similarity index 93% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/entities/EntityLaser.java rename to src/main/java/tombenpotter/emt/common/module/base/entities/EntityLaser.java index 870cbb4..f60c68c 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/entities/EntityLaser.java +++ b/src/main/java/tombenpotter/emt/common/module/base/entities/EntityLaser.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.entities; +package tombenpotter.emt.common.module.base.entities; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -157,7 +157,7 @@ public class EntityLaser extends Entity implements IProjectile { block.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); AxisAlignedBB axisalignedbb = block.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.inGround = true; } } @@ -166,7 +166,7 @@ public class EntityLaser extends Entity implements IProjectile { i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.inGround = true; } @@ -191,14 +191,14 @@ public class EntityLaser extends Entity implements IProjectile { } } else { ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31, false); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); if (movingobjectposition != null) { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + vec3 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemEMTBaubles.java b/src/main/java/tombenpotter/emt/common/module/base/items/ItemEMTBaubles.java similarity index 84% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemEMTBaubles.java rename to src/main/java/tombenpotter/emt/common/module/base/items/ItemEMTBaubles.java index 85a0ae1..668a333 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemEMTBaubles.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/ItemEMTBaubles.java @@ -1,13 +1,13 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.items; +package tombenpotter.emt.common.module.base.items; import baubles.api.BaubleType; import baubles.api.IBauble; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.lib.TextHelper; +import tombenpotter.emt.common.util.Config; +import tombenpotter.emt.common.util.CreativeTab; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.TextHelper; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.client.renderer.texture.IIconRegister; @@ -65,9 +65,9 @@ public class ItemEMTBaubles extends Item implements IBauble { @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister ri) { - this.icon[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":armoreumaker"); - this.icon[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":inventoryeumaker"); - this.icon[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":onering"); + this.icon[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":armoreumaker"); + this.icon[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":inventoryeumaker"); + this.icon[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":onering"); } @SideOnly(Side.CLIENT) @@ -111,7 +111,7 @@ public class ItemEMTBaubles extends Item implements IBauble { for (int i = 0; i < ((EntityPlayer) player).inventory.armorInventory.length; i++) { if (energyLeft > 0) { if ((((EntityPlayer) player).inventory.armorInventory[i] != null) && (((EntityPlayer) player).inventory.armorInventory[i].getItem() instanceof IElectricItem)) { - int sentPacket = ElectricItem.manager.charge(((EntityPlayer) player).inventory.armorInventory[i], energyLeft, 4, false, false); + double sentPacket = ElectricItem.manager.charge(((EntityPlayer) player).inventory.armorInventory[i], energyLeft, 4, false, false); energyLeft -= sentPacket; } } @@ -126,7 +126,7 @@ public class ItemEMTBaubles extends Item implements IBauble { for (int i = 0; i < ((EntityPlayer) player).inventory.mainInventory.length; i++) { if (energyLeft > 0) { if ((((EntityPlayer) player).inventory.mainInventory[i] != null) && (((EntityPlayer) player).inventory.mainInventory[i].getItem() instanceof IElectricItem)) { - int sentPacket = ElectricItem.manager.charge(((EntityPlayer) player).inventory.mainInventory[i], energyLeft, 4, false, false); + double sentPacket = ElectricItem.manager.charge(((EntityPlayer) player).inventory.mainInventory[i], energyLeft, 4, false, false); energyLeft -= sentPacket; } } @@ -150,7 +150,7 @@ public class ItemEMTBaubles extends Item implements IBauble { } if (corruption == 0) - ((EntityPlayer) player).addChatMessage(new ChatComponentText(TextHelper.darkPurple + "You have worn the Ring. Your soul has now been forever " + TextHelper.darkPurple + "tainted. " + TextHelper.darkRed + TextHelper.italics + "Beware of wearing the ring. The tainting will only " + TextHelper.darkRed + TextHelper.italics + "increase, and strange things will start happening.")); + ((EntityPlayer) player).addChatMessage(new ChatComponentText(TextHelper.PURPLE + "You have worn the Ring. Your soul has now been forever " + TextHelper.PURPLE + "tainted. " + TextHelper.RED + TextHelper.ITALIC + "Beware of wearing the ring. The tainting will only " + TextHelper.RED + TextHelper.ITALIC + "increase, and strange things will start happening.")); if (corruption > 6000 && corruption < 24000 && random.nextInt(2000) == 0) player.addPotionEffect(new PotionEffect(Potion.blindness.id, 500, 2, false)); diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemEMTItems.java b/src/main/java/tombenpotter/emt/common/module/base/items/ItemEMTItems.java similarity index 80% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemEMTItems.java rename to src/main/java/tombenpotter/emt/common/module/base/items/ItemEMTItems.java index 0ac6a04..8be8270 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemEMTItems.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/ItemEMTItems.java @@ -9,12 +9,12 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items; +package tombenpotter.emt.common.module.base.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.CreativeTab; +import tombenpotter.emt.ElectroMagicTools; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; @@ -126,22 +126,22 @@ public class ItemEMTItems extends Item { @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister ri) { - this.icon[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":clusteruranium"); - this.icon[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":crushedamber"); - this.icon[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":purifiedamber"); - this.icon[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":crushedcinnabar"); - this.icon[4] = ri.registerIcon(ElectricMagicTools.texturePath + ":purifiedcinnabar"); - this.icon[5] = ri.registerIcon(ElectricMagicTools.texturePath + ":thaumiumplate"); - this.icon[6] = ri.registerIcon(ElectricMagicTools.texturePath + ":lightningsummoner"); - this.icon[7] = ri.registerIcon(ElectricMagicTools.texturePath + ":feathermesh"); - this.icon[8] = ri.registerIcon(ElectricMagicTools.texturePath + ":glue"); - this.icon[9] = ri.registerIcon(ElectricMagicTools.texturePath + ":ducttape"); - this.icon[10] = ri.registerIcon(ElectricMagicTools.texturePath + ":rubberball"); - this.icon[11] = ri.registerIcon(ElectricMagicTools.texturePath + ":cardboard"); - this.icon[12] = ri.registerIcon(ElectricMagicTools.texturePath + ":feathercarboardwing"); - this.icon[13] = ri.registerIcon(ElectricMagicTools.texturePath + ":denseironsheet"); - this.icon[14] = ri.registerIcon(ElectricMagicTools.texturePath + ":taintedfeather"); - this.icon[15] = ri.registerIcon(ElectricMagicTools.texturePath + ":thaumiumWing"); + this.icon[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":clusteruranium"); + this.icon[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":crushedamber"); + this.icon[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":purifiedamber"); + this.icon[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":crushedcinnabar"); + this.icon[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":purifiedcinnabar"); + this.icon[5] = ri.registerIcon(ElectroMagicTools.texturePath + ":thaumiumplate"); + this.icon[6] = ri.registerIcon(ElectroMagicTools.texturePath + ":lightningsummoner"); + this.icon[7] = ri.registerIcon(ElectroMagicTools.texturePath + ":feathermesh"); + this.icon[8] = ri.registerIcon(ElectroMagicTools.texturePath + ":glue"); + this.icon[9] = ri.registerIcon(ElectroMagicTools.texturePath + ":ducttape"); + this.icon[10] = ri.registerIcon(ElectroMagicTools.texturePath + ":rubberball"); + this.icon[11] = ri.registerIcon(ElectroMagicTools.texturePath + ":cardboard"); + this.icon[12] = ri.registerIcon(ElectroMagicTools.texturePath + ":feathercarboardwing"); + this.icon[13] = ri.registerIcon(ElectroMagicTools.texturePath + ":denseironsheet"); + this.icon[14] = ri.registerIcon(ElectroMagicTools.texturePath + ":taintedfeather"); + this.icon[15] = ri.registerIcon(ElectroMagicTools.texturePath + ":thaumiumWing"); } @SideOnly(Side.CLIENT) @@ -205,8 +205,8 @@ public class ItemEMTItems extends Item { public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5) { super.onUpdate(stack, world, entity, par4, par5); - if ((!entity.worldObj.isRemote) && ((stack.getItemDamage() == 14)) && ((entity instanceof EntityLivingBase)) && (!((EntityLivingBase) entity).isEntityUndead()) && (!((EntityLivingBase) entity).isPotionActive(Config.potionFluxTaintID)) && (world.rand.nextInt(4321) <= stack.stackSize)) { - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Config.potionFluxTaintID, 120, 0, false)); + if ((!entity.worldObj.isRemote) && ((stack.getItemDamage() == 14)) && ((entity instanceof EntityLivingBase)) && (!((EntityLivingBase) entity).isEntityUndead()) && (!((EntityLivingBase) entity).isPotionActive(Config.potionTaintPoisonID)) && (world.rand.nextInt(4321) <= stack.stackSize)) { + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Config.potionTaintPoisonID, 120, 0, false)); if ((entity instanceof EntityPlayer)) { InventoryHelper.consumeInventoryItem((EntityPlayer) entity, stack.getItem(), stack.getItemDamage()); } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemFeatherWing.java b/src/main/java/tombenpotter/emt/common/module/base/items/ItemFeatherWing.java similarity index 77% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemFeatherWing.java rename to src/main/java/tombenpotter/emt/common/module/base/items/ItemFeatherWing.java index 45b8691..569ae71 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemFeatherWing.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/ItemFeatherWing.java @@ -1,10 +1,8 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.wings; +package tombenpotter.emt.common.module.base.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.client.model.ModelWings; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.client.model.ModelWings; import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.texture.IIconRegister; @@ -14,12 +12,15 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import net.minecraftforge.common.util.EnumHelper; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; public class ItemFeatherWing extends ItemArmor { - public ItemFeatherWing() { - super(EnumHelper.addArmorMaterial("EMTWINGFEATHER", 1, new int[]{2, 2, 2, 2}, 6), 7, 1); + public int visDiscount = 0; + + public ItemFeatherWing(ArmorMaterial material, int par3, int par4) { + super(material, par3, par4); this.setMaxStackSize(1); this.setMaxDamage(120); this.setCreativeTab(CreativeTab.tabTombenpotter); @@ -29,13 +30,13 @@ public class ItemFeatherWing extends ItemArmor { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":featherwings"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":featherwings"); } @Override @SideOnly(Side.CLIENT) public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/featherwing.png"; + return ElectroMagicTools.texturePath + ":textures/models/featherwing.png"; } @Override diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemTaintedThorHammer.java b/src/main/java/tombenpotter/emt/common/module/base/items/ItemTaintedThorHammer.java similarity index 87% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemTaintedThorHammer.java rename to src/main/java/tombenpotter/emt/common/module/base/items/ItemTaintedThorHammer.java index 797583b..2f02827 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemTaintedThorHammer.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/ItemTaintedThorHammer.java @@ -9,11 +9,11 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools.hammer; +package tombenpotter.emt.common.module.base.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.ElectroMagicTools; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -27,15 +27,13 @@ import java.util.List; public class ItemTaintedThorHammer extends ItemThorHammer { public ItemTaintedThorHammer() { - super(); this.setMaxDamage(1000); - // OreDictionary.registerOre("craftingToolForgeHammer", this); } @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":hammer/taintedthorhammer"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":hammer/taintedthorhammer"); } @Override @@ -51,7 +49,7 @@ public class ItemTaintedThorHammer extends ItemThorHammer { if (player.capabilities.isCreativeMode) { return itemstack; } else { - itemstack.damageItem(40, player); + itemstack.damageItem(20, player); return itemstack; } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemThaumiumReinforcedWing.java b/src/main/java/tombenpotter/emt/common/module/base/items/ItemThaumiumReinforcedWing.java similarity index 69% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemThaumiumReinforcedWing.java rename to src/main/java/tombenpotter/emt/common/module/base/items/ItemThaumiumReinforcedWing.java index 7a724b5..1dd2f9c 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemThaumiumReinforcedWing.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/ItemThaumiumReinforcedWing.java @@ -1,62 +1,54 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.wings; +package tombenpotter.emt.common.module.base.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.client.model.ModelWings; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import thaumcraft.api.IRepairable; import thaumcraft.api.IVisDiscountGear; import thaumcraft.api.aspects.Aspect; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.base.items.ItemFeatherWing; +import tombenpotter.emt.common.util.CreativeTab; import java.util.List; -public class ItemThaumiumReinforcedWing extends ItemArmor implements IVisDiscountGear, IRepairable { +public class ItemThaumiumReinforcedWing extends ItemFeatherWing implements IVisDiscountGear, IRepairable { - public ItemThaumiumReinforcedWing() { - super(ArmorMaterial.IRON, 7, 1); + public ItemThaumiumReinforcedWing(ArmorMaterial material, int par3, int par4) { + super(material, par3, par4); this.setMaxStackSize(1); this.setMaxDamage(250); this.setCreativeTab(CreativeTab.tabTombenpotter); this.isDamageable(); + visDiscount = 4; } @Override public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 4; + return visDiscount; } @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":thaumiumwings"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":thaumiumwings"); } @Override @SideOnly(Side.CLIENT) public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/thaumiumwing.png"; - } - - @Override - @SideOnly(Side.CLIENT) - public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { - return new ModelWings(); + return ElectroMagicTools.texturePath + ":textures/models/thaumiumwing.png"; } @SuppressWarnings({"unchecked", "rawtypes"}) @Override public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 4"); + list.add("Vis discount: " + String.valueOf(visDiscount) + "%"); } @Override diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemThorHammer.java b/src/main/java/tombenpotter/emt/common/module/base/items/ItemThorHammer.java similarity index 90% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemThorHammer.java rename to src/main/java/tombenpotter/emt/common/module/base/items/ItemThorHammer.java index ac887ee..651d73f 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemThorHammer.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/ItemThorHammer.java @@ -9,12 +9,10 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools.hammer; +package tombenpotter.emt.common.module.base.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -29,6 +27,8 @@ import net.minecraft.util.MovingObjectPosition.MovingObjectType; import net.minecraft.util.Vec3; import net.minecraft.world.World; import thaumcraft.api.IRepairable; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; import java.util.List; @@ -37,7 +37,6 @@ public class ItemThorHammer extends ItemSword implements IRepairable { public ItemThorHammer() { super(ToolMaterial.EMERALD); this.setCreativeTab(CreativeTab.tabTombenpotter); - this.setMaxStackSize(1); this.setMaxDamage(2000); // OreDictionary.registerOre("craftingToolForgeHammer", this); } @@ -45,7 +44,7 @@ public class ItemThorHammer extends ItemSword implements IRepairable { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":hammer/thorhammer"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":hammer/thorhammer"); } @Override @@ -98,7 +97,6 @@ public class ItemThorHammer extends ItemSword implements IRepairable { return true; } - @SuppressWarnings({"rawtypes", "unchecked"}) @Override public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { list.add("The Hammer of Thor"); diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemBaseFocus.java b/src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemBaseFocus.java similarity index 96% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemBaseFocus.java rename to src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemBaseFocus.java index b14447a..d06ce81 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemBaseFocus.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemBaseFocus.java @@ -9,9 +9,9 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.foci; +package tombenpotter.emt.common.module.base.items.foci; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; +import tombenpotter.emt.common.util.CreativeTab; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemChristmasFocus.java b/src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemChristmasFocus.java similarity index 70% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemChristmasFocus.java rename to src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemChristmasFocus.java index c8097c0..35f1afd 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemChristmasFocus.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemChristmasFocus.java @@ -9,11 +9,10 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.foci; +package tombenpotter.emt.common.module.base.items.foci; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.monster.EntitySnowman; import net.minecraft.entity.player.EntityPlayer; @@ -23,6 +22,7 @@ import net.minecraft.world.World; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; import thaumcraft.common.items.wands.ItemWandCasting; +import tombenpotter.emt.ElectroMagicTools; public class ItemChristmasFocus extends ItemBaseFocus { @@ -40,7 +40,7 @@ public class ItemChristmasFocus extends ItemBaseFocus { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":christmasfocus"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":christmasfocus"); } @Override @@ -54,15 +54,21 @@ public class ItemChristmasFocus extends ItemBaseFocus { } @Override - public ItemStack onFocusRightClick(ItemStack itemstack, World world, EntityPlayer player, MovingObjectPosition movingobjectposition) { + public ItemStack onFocusRightClick(ItemStack itemstack, World world, EntityPlayer player, MovingObjectPosition mop) { ItemWandCasting wand = (ItemWandCasting) itemstack.getItem(); - if (wand.consumeAllVis(itemstack, player, getVisCost(), true, true)) { - if (!world.isRemote) { - EntitySnowman snowman; - snowman = new EntitySnowman(world); - snowman.setPosition(player.posX + 2, player.posY + 1, player.posZ + 2); - world.spawnEntityInWorld(snowman); + if ((mop != null) && (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)) { + int x = mop.blockX; + int y = mop.blockY + 1; + int z = mop.blockZ; + if (wand.consumeAllVis(itemstack, player, getVisCost(), true, true)) { + if (!world.isRemote) { + EntitySnowman snowman; + snowman = new EntitySnowman(world); + snowman.setPosition(x, y, z); + world.spawnEntityInWorld(snowman); + } } + player.swingItem(); } return itemstack; } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemExplosionFocus.java b/src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemExplosionFocus.java similarity index 86% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemExplosionFocus.java rename to src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemExplosionFocus.java index 5e3386a..aedd710 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemExplosionFocus.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemExplosionFocus.java @@ -9,12 +9,10 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.foci; +package tombenpotter.emt.common.module.base.items.foci; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.entities.EntityLaser; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -23,6 +21,8 @@ import net.minecraft.world.World; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; import thaumcraft.common.items.wands.ItemWandCasting; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.base.entities.EntityLaser; public class ItemExplosionFocus extends ItemBaseFocus { @@ -35,7 +35,7 @@ public class ItemExplosionFocus extends ItemBaseFocus { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":explosionfocus"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":explosionfocus"); } @Override diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemShieldFocus.java b/src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemShieldFocus.java similarity index 69% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemShieldFocus.java rename to src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemShieldFocus.java index d1e039b..4b4d64e 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemShieldFocus.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/foci/ItemShieldFocus.java @@ -9,12 +9,10 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.foci; +package tombenpotter.emt.common.module.base.items.foci; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -24,6 +22,8 @@ import net.minecraft.world.World; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; import thaumcraft.common.items.wands.ItemWandCasting; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; public class ItemShieldFocus extends ItemBaseFocus { @@ -36,7 +36,7 @@ public class ItemShieldFocus extends ItemBaseFocus { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":shieldfocus"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":shieldfocus"); } @Override @@ -73,18 +73,18 @@ public class ItemShieldFocus extends ItemBaseFocus { // Player Level if (player.worldObj.isAirBlock(x + 1, y, z) && player.worldObj.isAirBlock(x - 1, y, z) && player.worldObj.isAirBlock(x, y, z + 1) && player.worldObj.isAirBlock(x, y, z - 1)) { - player.worldObj.setBlock(x + 1, y, z, BlockRegistry.shield); - player.worldObj.setBlock(x - 1, y, z, BlockRegistry.shield); - player.worldObj.setBlock(x, y, z + 1, BlockRegistry.shield); - player.worldObj.setBlock(x, y, z - 1, BlockRegistry.shield); + player.worldObj.setBlock(x + 1, y, z, IC2ModuleBlockRegistry.shield); + player.worldObj.setBlock(x - 1, y, z, IC2ModuleBlockRegistry.shield); + player.worldObj.setBlock(x, y, z + 1, IC2ModuleBlockRegistry.shield); + player.worldObj.setBlock(x, y, z - 1, IC2ModuleBlockRegistry.shield); } // Above the player if (player.worldObj.isAirBlock(x + 1, y + 1, z) && player.worldObj.isAirBlock(x - 1, y + 1, z) && player.worldObj.isAirBlock(x, y + 1, z + 1) && player.worldObj.isAirBlock(x, y + 1, z - 1)) { - player.worldObj.setBlock(x + 1, y + 1, z, BlockRegistry.shield); - player.worldObj.setBlock(x - 1, y + 1, z, BlockRegistry.shield); - player.worldObj.setBlock(x, y + 1, z + 1, BlockRegistry.shield); - player.worldObj.setBlock(x, y + 1, z - 1, BlockRegistry.shield); + player.worldObj.setBlock(x + 1, y + 1, z, IC2ModuleBlockRegistry.shield); + player.worldObj.setBlock(x - 1, y + 1, z, IC2ModuleBlockRegistry.shield); + player.worldObj.setBlock(x, y + 1, z + 1, IC2ModuleBlockRegistry.shield); + player.worldObj.setBlock(x, y + 1, z - 1, IC2ModuleBlockRegistry.shield); } } @@ -97,7 +97,7 @@ public class ItemShieldFocus extends ItemBaseFocus { int z = MathHelper.floor_double(player.posZ); // Player Level - if ((player.worldObj.getBlock(x + 1, y, z) == BlockRegistry.shield) && (player.worldObj.getBlock(x - 1, y, z) == BlockRegistry.shield) && (player.worldObj.getBlock(x, y, z + 1) == BlockRegistry.shield) && (player.worldObj.getBlock(x, y, z - 1) == BlockRegistry.shield)) { + if ((player.worldObj.getBlock(x + 1, y, z) == IC2ModuleBlockRegistry.shield) && (player.worldObj.getBlock(x - 1, y, z) == IC2ModuleBlockRegistry.shield) && (player.worldObj.getBlock(x, y, z + 1) == IC2ModuleBlockRegistry.shield) && (player.worldObj.getBlock(x, y, z - 1) == IC2ModuleBlockRegistry.shield)) { player.worldObj.setBlockToAir(x + 1, y, z); player.worldObj.setBlockToAir(x - 1, y, z); player.worldObj.setBlockToAir(x, y, z + 1); @@ -105,7 +105,7 @@ public class ItemShieldFocus extends ItemBaseFocus { } // Above the player - if ((player.worldObj.getBlock(x + 1, y + 1, z) == BlockRegistry.shield) && (player.worldObj.getBlock(x - 1, y + 1, z) == BlockRegistry.shield) && (player.worldObj.getBlock(x, y + 1, z + 1) == BlockRegistry.shield) && (player.worldObj.getBlock(x, y + 1, z - 1) == BlockRegistry.shield)) { + if ((player.worldObj.getBlock(x + 1, y + 1, z) == IC2ModuleBlockRegistry.shield) && (player.worldObj.getBlock(x - 1, y + 1, z) == IC2ModuleBlockRegistry.shield) && (player.worldObj.getBlock(x, y + 1, z + 1) == IC2ModuleBlockRegistry.shield) && (player.worldObj.getBlock(x, y + 1, z - 1) == IC2ModuleBlockRegistry.shield)) { player.worldObj.setBlockToAir(x + 1, y + 1, z); player.worldObj.setBlockToAir(x - 1, y + 1, z); player.worldObj.setBlockToAir(x, y + 1, z + 1); diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityPortableNode.java b/src/main/java/tombenpotter/emt/common/module/base/tile/TileEntityPortableNode.java similarity index 93% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityPortableNode.java rename to src/main/java/tombenpotter/emt/common/module/base/tile/TileEntityPortableNode.java index f7a83c3..2c73a5c 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityPortableNode.java +++ b/src/main/java/tombenpotter/emt/common/module/base/tile/TileEntityPortableNode.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile; +package tombenpotter.emt.common.module.base.tile; import thaumcraft.api.nodes.NodeModifier; import thaumcraft.api.nodes.NodeType; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/BlockRegistry.java b/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleBlockRegistry.java similarity index 75% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/BlockRegistry.java rename to src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleBlockRegistry.java index 9927f87..b2460ba 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/BlockRegistry.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleBlockRegistry.java @@ -9,31 +9,30 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.module.ic2; import cpw.mods.fml.common.registry.GameRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.blocks.*; -import electricMagicTools.tombenpotter.electricmagictools.common.items.blocks.ItemBlockEMTMachines; -import electricMagicTools.tombenpotter.electricmagictools.common.items.blocks.ItemBlockEMTSolars; -import electricMagicTools.tombenpotter.electricmagictools.common.items.blocks.ItemBlockEMTSolars2; -import electricMagicTools.tombenpotter.electricmagictools.common.items.blocks.ItemBlockEssentiaGenerators; import net.minecraft.block.Block; +import tombenpotter.emt.common.module.ic2.blocks.*; +import tombenpotter.emt.common.module.ic2.items.blocks.*; -public class BlockRegistry { +public class IC2ModuleBlockRegistry { public static Block essentiaGens; public static Block shield; public static Block emtSolars; public static Block emtMachines; public static Block emtSolars2; public static Block portableNode; + public static Block essentiaGenerator; - public static void registerEMTBlocks() { + public static void registerBlocks() { shield = new BlockShield().setBlockName("shield"); portableNode = new BlockPortableNode().setBlockName("portablenode"); emtSolars = new BlockEMTSolars().setBlockName("emtsolars"); essentiaGens = new BlockEssentiaGenerators().setBlockName("essentiaGens"); emtMachines = new BlockEMTMachines().setBlockName("emtmachines"); emtSolars2 = new BlockEMTSolars2().setBlockName("emtsolars2"); + essentiaGenerator = new BlockEssentiaGenerator().setBlockName("essentiaGenerator"); GameRegistry.registerBlock(shield, "Shield Block"); GameRegistry.registerBlock(portableNode, "Portable Node"); @@ -41,5 +40,6 @@ public class BlockRegistry { GameRegistry.registerBlock(essentiaGens, ItemBlockEssentiaGenerators.class, "Essentia Generators"); GameRegistry.registerBlock(emtMachines, ItemBlockEMTMachines.class, "EMT Machines"); GameRegistry.registerBlock(emtSolars2, ItemBlockEMTSolars2.class, "EMT Solars 2"); + GameRegistry.registerBlock(essentiaGenerator, ItemBlockEssentiaGenerator.class, "Essentia Generator"); } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/ItemRegistry.java b/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleItemRegistry.java similarity index 61% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/ItemRegistry.java rename to src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleItemRegistry.java index 97b8658..9902468 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/ItemRegistry.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleItemRegistry.java @@ -9,31 +9,46 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.module.ic2; import cpw.mods.fml.common.registry.GameRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.items.ItemEMTBaubles; -import electricMagicTools.tombenpotter.electricmagictools.common.items.ItemEMTItems; -import electricMagicTools.tombenpotter.electricmagictools.common.items.ItemElectricScribingTools; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.boots.ItemElectricBootsTraveller; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.boots.ItemNanoBootsTraveller; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.boots.ItemQuantumBootsTraveller; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.goggles.ItemElectricGoggles; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.goggles.ItemNanoThaumicHelmet; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.goggles.ItemQuantumThaumicHelmet; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.goggles.ItemSolarHelmetRevealing; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.wings.ItemFeatherWing; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.wings.ItemNanoWing; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.wings.ItemQuantumWing; -import electricMagicTools.tombenpotter.electricmagictools.common.items.armor.wings.ItemThaumiumReinforcedWing; -import electricMagicTools.tombenpotter.electricmagictools.common.items.foci.*; -import electricMagicTools.tombenpotter.electricmagictools.common.items.tools.*; -import electricMagicTools.tombenpotter.electricmagictools.common.items.tools.hammer.ItemElectricThorHammer; -import electricMagicTools.tombenpotter.electricmagictools.common.items.tools.hammer.ItemTaintedThorHammer; -import electricMagicTools.tombenpotter.electricmagictools.common.items.tools.hammer.ItemThorHammer; import net.minecraft.item.Item; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; +import net.minecraftforge.common.util.EnumHelper; +import thaumcraft.api.ThaumcraftApi; +import tombenpotter.emt.common.module.base.items.ItemEMTBaubles; +import tombenpotter.emt.common.module.base.items.ItemEMTItems; +import tombenpotter.emt.common.module.base.items.foci.ItemChristmasFocus; +import tombenpotter.emt.common.module.base.items.foci.ItemExplosionFocus; +import tombenpotter.emt.common.module.base.items.foci.ItemShieldFocus; +import tombenpotter.emt.common.module.ic2.items.ItemElectricScribingTools; +import tombenpotter.emt.common.module.ic2.items.armor.boots.ItemElectricBootsTraveller; +import tombenpotter.emt.common.module.ic2.items.armor.boots.ItemNanoBootsTraveller; +import tombenpotter.emt.common.module.ic2.items.armor.boots.ItemQuantumBootsTraveller; +import tombenpotter.emt.common.module.ic2.items.armor.goggles.ItemElectricGoggles; +import tombenpotter.emt.common.module.ic2.items.armor.goggles.ItemNanoGoggles; +import tombenpotter.emt.common.module.ic2.items.armor.goggles.ItemQuantumGoggles; +import tombenpotter.emt.common.module.ic2.items.armor.goggles.ItemSolarHelmetRevealing; +import tombenpotter.emt.common.module.base.items.ItemFeatherWing; +import tombenpotter.emt.common.module.ic2.items.armor.wings.ItemNanoWing; +import tombenpotter.emt.common.module.ic2.items.armor.wings.ItemQuantumWing; +import tombenpotter.emt.common.module.base.items.ItemThaumiumReinforcedWing; +import tombenpotter.emt.common.module.ic2.items.foci.*; +import tombenpotter.emt.common.module.ic2.items.tools.ItemElectricHoeGrowth; +import tombenpotter.emt.common.module.ic2.items.tools.chainsaws.ItemDiamondChainsaw; +import tombenpotter.emt.common.module.ic2.items.tools.chainsaws.ItemStreamChainsaw; +import tombenpotter.emt.common.module.ic2.items.tools.chainsaws.ItemThaumiumChainsaw; +import tombenpotter.emt.common.module.ic2.items.tools.drills.ItemRockbreakerDrill; +import tombenpotter.emt.common.module.ic2.items.tools.drills.ItemThaumiumDrill; +import tombenpotter.emt.common.module.ic2.items.tools.ItemElectricThorHammer; +import tombenpotter.emt.common.module.base.items.ItemTaintedThorHammer; +import tombenpotter.emt.common.module.base.items.ItemThorHammer; +import tombenpotter.emt.common.module.ic2.items.tools.omnitools.ItemOmnitoolDiamond; +import tombenpotter.emt.common.module.ic2.items.tools.omnitools.ItemOmnitoolIron; +import tombenpotter.emt.common.module.ic2.items.tools.omnitools.ItemOmnitoolThaumium; -public class ItemRegistry { +public class IC2ModuleItemRegistry { public static Item thaumiumDrill; public static Item thaumiumChainsaw; @@ -67,22 +82,24 @@ public class ItemRegistry { public static Item nanoWing; public static Item quantumWing; - public static void registerEMTItems() { + public static ItemArmor.ArmorMaterial featherWingMaterial = EnumHelper.addArmorMaterial("FEATEHRWiNG", 1, new int[]{2, 2, 2, 2}, 6); + + public static void registerItems() { thaumiumDrill = new ItemThaumiumDrill().setUnlocalizedName("thaumiumdrill"); thaumiumChainsaw = new ItemThaumiumChainsaw().setUnlocalizedName("thaumiumchainsaw"); - quantumThaumicHelmet = new ItemQuantumThaumicHelmet(3, 0).setUnlocalizedName("quantumthaumichelmet"); + quantumThaumicHelmet = new ItemQuantumGoggles(ItemArmor.ArmorMaterial.DIAMOND, 3, 0).setUnlocalizedName("quantumthaumichelmet"); diamondChainsaw = new ItemDiamondChainsaw().setUnlocalizedName("diamondchainsaw"); ironOmnitool = new ItemOmnitoolIron().setUnlocalizedName("ironomnitool"); diamondOmnitool = new ItemOmnitoolDiamond().setUnlocalizedName("diamondomnitool"); thaumiumOmnitool = new ItemOmnitoolThaumium().setUnlocalizedName("thaumiumomnitool"); - nanoThaumicHelmet = new ItemNanoThaumicHelmet(3, 0).setUnlocalizedName("nanothaumichelmet"); + nanoThaumicHelmet = new ItemNanoGoggles(ItemArmor.ArmorMaterial.DIAMOND, 3, 0).setUnlocalizedName("nanothaumichelmet"); explosionFocus = new ItemExplosionFocus().setUnlocalizedName("laserfocus"); christmasFocus = new ItemChristmasFocus().setUnlocalizedName("christmasfocus"); shieldFocus = new ItemShieldFocus().setUnlocalizedName("shieldfocus"); - electricGoggles = new ItemElectricGoggles(3, 0).setUnlocalizedName("electricgoggles"); + electricGoggles = new ItemElectricGoggles(ItemArmor.ArmorMaterial.IRON, 3, 0).setUnlocalizedName("electricgoggles"); streamChainsaw = new ItemStreamChainsaw().setUnlocalizedName("streamchainsaw"); rockbreakerDrill = new ItemRockbreakerDrill().setUnlocalizedName("rockbreakerdrill"); - solarHelmetRevealing = new ItemSolarHelmetRevealing(3, 0).setUnlocalizedName("solarhelmetrevealing"); + solarHelmetRevealing = new ItemSolarHelmetRevealing(ItemArmor.ArmorMaterial.DIAMOND, 3, 0).setUnlocalizedName("solarhelmetrevealing"); thorHammer = new ItemThorHammer().setUnlocalizedName("hammerthor"); taintedThorHammer = new ItemTaintedThorHammer().setUnlocalizedName("taintedthorhammer"); electricThorHammer = new ItemElectricThorHammer().setUnlocalizedName("electricthorhammer"); @@ -95,10 +112,10 @@ public class ItemRegistry { chargeFocus = new ItemChargeFocus().setUnlocalizedName("chargefocus"); emtBauble = new ItemEMTBaubles().setUnlocalizedName("emtbauble"); wandChargeFocus = new ItemWandChargingFocus().setUnlocalizedName("wandchargefocus"); - featherWing = new ItemFeatherWing().setUnlocalizedName("featherwing"); - thaumiumWing = new ItemThaumiumReinforcedWing().setUnlocalizedName("thaumiumwing"); - nanoWing = new ItemNanoWing().setUnlocalizedName("nanowing"); - quantumWing = new ItemQuantumWing().setUnlocalizedName("quantumwing"); + featherWing = new ItemFeatherWing(featherWingMaterial, 7, 1).setUnlocalizedName("featherwing"); + thaumiumWing = new ItemThaumiumReinforcedWing(ThaumcraftApi.armorMatThaumium, 7, 1).setUnlocalizedName("thaumiumwing"); + nanoWing = new ItemNanoWing(ItemArmor.ArmorMaterial.DIAMOND, 7, 1).setUnlocalizedName("nanowing"); + quantumWing = new ItemQuantumWing(ItemArmor.ArmorMaterial.DIAMOND, 7, 1).setUnlocalizedName("quantumwing"); GameRegistry.registerItem(thaumiumDrill, "Thaumium Drill"); GameRegistry.registerItem(thaumiumChainsaw, "Thaumium Chainsaw"); @@ -132,4 +149,8 @@ public class ItemRegistry { GameRegistry.registerItem(nanoWing, "Nanosuit Wing"); GameRegistry.registerItem(quantumWing, "Quantum Wing"); } + + public static ItemStack armorEuMaker = new ItemStack(emtBauble, 1, 0); + public static ItemStack inventoryEuMaker = new ItemStack(emtBauble, 1, 1); + public static ItemStack oneRing = new ItemStack(emtBauble, 1, 2); } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/ThaumonomiconResearch.java b/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleResearch.java similarity index 71% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/ThaumonomiconResearch.java rename to src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleResearch.java index e76b6b8..66ca9d0 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/ThaumonomiconResearch.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleResearch.java @@ -9,12 +9,12 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.module.ic2; -import electricMagicTools.tombenpotter.electricmagictools.common.lib.ResearchAspects; -import electricMagicTools.tombenpotter.electricmagictools.common.recipes.EMTInitRecipes; -import electricMagicTools.tombenpotter.electricmagictools.common.recipes.EMTPostInitRecipes; -import electricMagicTools.tombenpotter.electricmagictools.common.recipes.UuMInfusionRecipes; +import tombenpotter.emt.common.util.EMTResearchItem; +import tombenpotter.emt.common.module.ic2.recipes.EMTInitRecipes; +import tombenpotter.emt.common.module.ic2.recipes.EMTPostInitRecipes; +import tombenpotter.emt.common.module.ic2.recipes.UuMInfusionRecipes; import ic2.api.item.IC2Items; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; @@ -22,12 +22,14 @@ import thaumcraft.api.aspects.AspectList; import thaumcraft.api.research.ResearchCategories; import thaumcraft.api.research.ResearchItem; import thaumcraft.api.research.ResearchPage; +import tombenpotter.emt.common.util.ResearchAspects; +import tombenpotter.emt.common.util.Config; -public class ThaumonomiconResearch { +public class IC2ModuleResearch { public static void addResearchTab() { ResourceLocation background = new ResourceLocation("thaumcraft", "textures/gui/gui_researchback.png"); - ResearchCategories.registerCategory("EMT", new ResourceLocation("electricmagictools:textures/misc/emt.png"), background); + ResearchCategories.registerCategory("EMT", new ResourceLocation("electromagictools:textures/misc/emt.png"), background); } public static void addResearch() { @@ -37,15 +39,15 @@ public class ThaumonomiconResearch { /** Research that can't be disabled **/ text = "1"; - research = new EMTResearchItem("Electric Magic Tools", "EMT", new AspectList(), 0, 0, 0, new ResourceLocation("electricmagictools:textures/misc/emt.png")).setRound().setAutoUnlock().registerResearchItem(); + research = new EMTResearchItem("Electric Magic Tools", "EMT", new AspectList(), 0, 0, 0, new ResourceLocation("electromagictools:textures/misc/emt.png")).setRound().setAutoUnlock().registerResearchItem(); research.setPages(new ResearchPage(text)); text = "1"; - research = new EMTResearchItem("Diamond Chainsaw", "EMT", new AspectList(), 5, -6, 0, new ItemStack(ItemRegistry.diamondChainsaw)).setRound().setAutoUnlock().registerResearchItem(); + research = new EMTResearchItem("Diamond Chainsaw", "EMT", new AspectList(), 5, -6, 0, new ItemStack(IC2ModuleItemRegistry.diamondChainsaw)).setRound().setAutoUnlock().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTInitRecipes.diamondChainsaw)); text = "1"; - research = new EMTResearchItem("Thaumium Plate", "EMT", new AspectList(), 6, -6, 0, new ItemStack(ItemRegistry.itemEMTItems, 1, 5)).setRound().setAutoUnlock().registerResearchItem(); + research = new EMTResearchItem("Thaumium Plate", "EMT", new AspectList(), 6, -6, 0, new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5)).setRound().setAutoUnlock().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.thaumiumPlate)); text = "1"; @@ -53,44 +55,44 @@ public class ThaumonomiconResearch { research.setPages(new ResearchPage(text)); text = "1"; - research = new EMTResearchItem("The Legend", "EMT", new AspectList(), 5, -5, 0, new ItemStack(ItemRegistry.taintedThorHammer)).setRound().setAutoUnlock().registerResearchItem(); + research = new EMTResearchItem("The Legend", "EMT", new AspectList(), 5, -5, 0, new ItemStack(IC2ModuleItemRegistry.taintedThorHammer)).setRound().setAutoUnlock().registerResearchItem(); research.setPages(new ResearchPage(text)); text = "1"; - research = new EMTResearchItem("Lightning Summoner", "EMT", new AspectList(), 6, -5, 0, new ItemStack(ItemRegistry.itemEMTItems, 1, 6)).setRound().setAutoUnlock().registerResearchItem(); + research = new EMTResearchItem("Lightning Summoner", "EMT", new AspectList(), 6, -5, 0, new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 6)).setRound().setAutoUnlock().registerResearchItem(); research.setPages(new ResearchPage(text)); text = "1"; - research = new EMTResearchItem("The One Ring", "EMT", new AspectList(), 6, -7, 0, new ItemStack(ItemRegistry.emtBauble, 1, 2)).setRound().setAutoUnlock().registerResearchItem(); + research = new EMTResearchItem("The One Ring", "EMT", new AspectList(), 6, -7, 0, new ItemStack(IC2ModuleItemRegistry.emtBauble, 1, 2)).setRound().setAutoUnlock().registerResearchItem(); research.setPages(new ResearchPage(text)); text = "1"; - research = new EMTResearchItem("Feather Wings", "EMT", new AspectList(), 0, 2, 0, new ItemStack(ItemRegistry.featherWing)).setRound().setAutoUnlock().registerResearchItem(); + research = new EMTResearchItem("Feather Wings", "EMT", new AspectList(), 0, 2, 0, new ItemStack(IC2ModuleItemRegistry.featherWing)).setRound().setAutoUnlock().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTInitRecipes.rubberBall), new ResearchPage(EMTInitRecipes.ductTape), new ResearchPage(EMTInitRecipes.featherMesh), new ResearchPage(EMTInitRecipes.cardboard), new ResearchPage(EMTInitRecipes.featherWing), new ResearchPage(EMTInitRecipes.featherWings)); /** Research that can be disabled **/ if (Config.thaumiumDrillResearch == false) { text = "1"; - research = new EMTResearchItem("Thaumium Drill", "EMT", ResearchAspects.thaumiumDrillResearch, -1, -2, 1, new ItemStack(ItemRegistry.thaumiumDrill)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Thaumium Drill", "EMT", ResearchAspects.thaumiumDrillResearch, -1, -2, 1, new ItemStack(IC2ModuleItemRegistry.thaumiumDrill)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.thaumiumDrill)); } if (Config.thaumiumChainsawResearch == false) { text = "1"; - research = new EMTResearchItem("Thaumium Chainsaw", "EMT", ResearchAspects.thaumiumChainsawResearch, -2, -2, 1, new ItemStack(ItemRegistry.thaumiumChainsaw)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Thaumium Chainsaw", "EMT", ResearchAspects.thaumiumChainsawResearch, -2, -2, 1, new ItemStack(IC2ModuleItemRegistry.thaumiumChainsaw)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.thaumiumChainsaw)); } if (Config.electricGooglesResearch == false) { text = "1"; - research = new EMTResearchItem("Electric Goggles", "EMT", ResearchAspects.electricGogglesResearch, 1, -2, 1, new ItemStack(ItemRegistry.electricGoggles)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Electric Goggles", "EMT", ResearchAspects.electricGogglesResearch, 1, -2, 1, new ItemStack(IC2ModuleItemRegistry.electricGoggles)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.electricGoggles)); } if (Config.electricGooglesResearch == false) { if (Config.nanoGooglesResearch == false) { text = "1"; - research = new EMTResearchItem("Nanosuit Goggles of Revealing", "EMT", ResearchAspects.thaumicNanoHelmet, 2, -2, 2, new ItemStack(ItemRegistry.nanoThaumicHelmet)).setParents("Electric Goggles").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Nanosuit Goggles of Revealing", "EMT", ResearchAspects.thaumicNanoHelmet, 2, -2, 2, new ItemStack(IC2ModuleItemRegistry.nanoThaumicHelmet)).setParents("Electric Goggles").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.thaumicNanoHelmet)); } } @@ -99,7 +101,7 @@ public class ThaumonomiconResearch { if (Config.nanoGooglesResearch == false) { if (Config.quantumGooglesResearch == false) { text = "1"; - research = new EMTResearchItem("Quantum Goggles of Revealing", "EMT", ResearchAspects.thaumicQuantumHelmet, 3, -2, 3, new ItemStack(ItemRegistry.quantumThaumicHelmet)).setParents("Nanosuit Goggles of Revealing").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Quantum Goggles of Revealing", "EMT", ResearchAspects.thaumicQuantumHelmet, 3, -2, 3, new ItemStack(IC2ModuleItemRegistry.quantumThaumicHelmet)).setParents("Nanosuit Goggles of Revealing").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.thaumicQuantumHelmet)); } } @@ -107,14 +109,14 @@ public class ThaumonomiconResearch { if (Config.ironOmnitoolResearch == false) { text = "1"; - research = new EMTResearchItem("Iron Omnitool", "EMT", new AspectList(), -2, 0, 0, new ItemStack(ItemRegistry.ironOmnitool)).setParents("Electric Magic Tools").setRound().setAutoUnlock().registerResearchItem(); + research = new EMTResearchItem("Iron Omnitool", "EMT", new AspectList(), -2, 0, 0, new ItemStack(IC2ModuleItemRegistry.ironOmnitool)).setParents("Electric Magic Tools").setRound().setAutoUnlock().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTInitRecipes.ironOmnitool)); } if (Config.ironOmnitoolResearch == false) { if (Config.diamondOmnitoolResearch == false) { text = "1"; - research = new EMTResearchItem("Diamond Omnitool", "EMT", ResearchAspects.diamondOmnitoolResearch, -4, 0, 1, new ItemStack(ItemRegistry.diamondOmnitool)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Diamond Omnitool", "EMT", ResearchAspects.diamondOmnitoolResearch, -4, 0, 1, new ItemStack(IC2ModuleItemRegistry.diamondOmnitool)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.diamondOmnitool), new ResearchPage(EMTPostInitRecipes.ironOmnitoolToDiamond)); } } @@ -122,47 +124,47 @@ public class ThaumonomiconResearch { if (Config.thaumiumDrillResearch == false && Config.thaumiumChainsawResearch == false) { if (Config.thaumiumOmnitoolResearch == false) { text = "1"; - research = new EMTResearchItem("Thaumium Omnitool", "EMT", ResearchAspects.thaumiumOmnitoolResearch, -6, 0, 2, new ItemStack(ItemRegistry.thaumiumOmnitool)).setParentsHidden("Thaumium Drill", "Thaumium Chainsaw").setParents("Diamond Omnitool").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Thaumium Omnitool", "EMT", ResearchAspects.thaumiumOmnitoolResearch, -6, 0, 2, new ItemStack(IC2ModuleItemRegistry.thaumiumOmnitool)).setParentsHidden("Thaumium Drill", "Thaumium Chainsaw").setParents("Diamond Omnitool").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.thaumiumOmnitool), new ResearchPage(EMTPostInitRecipes.diamondOmnitoolToThaumium)); } } if (Config.explosionFocusResearch == false) { text = "1"; - research = new EMTResearchItem("Explosion Focus", "EMT", ResearchAspects.laserFocusResearch, 2, 3, 2, new ItemStack(ItemRegistry.explosionFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Explosion Focus", "EMT", ResearchAspects.laserFocusResearch, 2, 3, 2, new ItemStack(IC2ModuleItemRegistry.explosionFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.explosionFocus)); } if (Config.christmasFocusResearch == false) { text = "1"; - research = new EMTResearchItem("Kris-tmas Focus", "EMT", ResearchAspects.christmasFocusResearch, 3, 3, 1, new ItemStack(ItemRegistry.christmasFocus)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Kris-tmas Focus", "EMT", ResearchAspects.christmasFocusResearch, 3, 3, 1, new ItemStack(IC2ModuleItemRegistry.christmasFocus)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.christmasFocus)); } if (Config.shieldFocusResearch == false) { text = "1"; - research = new EMTResearchItem("Shield Focus", "EMT", ResearchAspects.shieldFocusResearch, 4, 3, 2, new ItemStack(ItemRegistry.shieldFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Shield Focus", "EMT", ResearchAspects.shieldFocusResearch, 4, 3, 2, new ItemStack(IC2ModuleItemRegistry.shieldFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.shieldFocus)); } if (Config.shieldFocusResearch == false) { if (Config.shieldBlockResearch == false) { text = "1"; - research = new EMTResearchItem("Shield Block", "EMT", ResearchAspects.shieldBlockResearch, 4, 5, 1, new ItemStack(BlockRegistry.shield)).setSecondary().setParents("Shield Focus").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Shield Block", "EMT", ResearchAspects.shieldBlockResearch, 4, 5, 1, new ItemStack(IC2ModuleBlockRegistry.shield)).setSecondary().setParents("Shield Focus").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.shieldBlock)); } } if (Config.potentiaGeneratorResearch == false) { text = "1"; - research = new EMTResearchItem("Potentia Generator", "EMT", ResearchAspects.potentiaGeneratorResearch, -2, 3, 3, new ItemStack(BlockRegistry.essentiaGens, 1, 0)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Potentia Generator", "EMT", ResearchAspects.potentiaGeneratorResearch, -2, 3, 3, new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 0)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.potentiaGenerator)); } if (Config.potentiaGeneratorResearch == false) { if (Config.ignisGeneratorResearch == false) { text = "1"; - research = new EMTResearchItem("Ignis Generator", "EMT", ResearchAspects.ignisGeneratorResearch, -3, 4, 1, new ItemStack(BlockRegistry.essentiaGens, 1, 1)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Ignis Generator", "EMT", ResearchAspects.ignisGeneratorResearch, -3, 4, 1, new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 1)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.ignisGenerator)); } } @@ -170,7 +172,7 @@ public class ThaumonomiconResearch { if (Config.potentiaGeneratorResearch == false) { if (Config.auramGeneratorResearch == false) { text = "1"; - research = new EMTResearchItem("Auram Generator", "EMT", ResearchAspects.auramGeneratorResearch, -1, 4, 1, new ItemStack(BlockRegistry.essentiaGens, 1, 2)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Auram Generator", "EMT", ResearchAspects.auramGeneratorResearch, -1, 4, 1, new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 2)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.auramGenerator)); } } @@ -178,23 +180,31 @@ public class ThaumonomiconResearch { if (Config.potentiaGeneratorResearch == false) { if (Config.arborGeneratorResearch == false) { text = "1"; - research = new EMTResearchItem("Arbor Generator", "EMT", ResearchAspects.arborGeneratorResearch, -2, 5, 1, new ItemStack(BlockRegistry.essentiaGens, 1, 3)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Arbor Generator", "EMT", ResearchAspects.arborGeneratorResearch, -2, 5, 1, new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 3)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.arborGenerator)); } } - // if(Config.potentiaGeneratorResearch == false) { - // if(Config.wandChargingSationResearch = false) { - text = "1"; - research = new EMTResearchItem("Industrial Wand Charging Station", "EMT", ResearchAspects.wandCharger, -4, 2, 3, new ItemStack(BlockRegistry.emtMachines, 1, 0)).setParents("Potentia Generator").registerResearchItem(); - research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.wandRecharger)); - // } - // } + if (Config.potentiaGeneratorResearch == false) { + if (Config.aerGeneratorResearch == false) { + text = "1"; + research = new EMTResearchItem("Aer Generator", "EMT", ResearchAspects.aerGenerator, -2, 6, 1, new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 4)).setSecondary().setParents("Potentia Generator").setConcealed().registerResearchItem(); + research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.aerGenerator)); + } + } + + if (Config.potentiaGeneratorResearch == false) { + if (Config.wandChargingSationResearch == false) { + text = "1"; + research = new EMTResearchItem("Industrial Wand Charging Station", "EMT", ResearchAspects.wandCharger, -4, 2, 3, new ItemStack(IC2ModuleBlockRegistry.emtMachines, 1, 0)).setParents("Potentia Generator").registerResearchItem(); + research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.wandRecharger)); + } + } if (Config.thaumiumChainsawResearch == false) { if (Config.streamChainsawResearch == false) { text = "1"; - research = new EMTResearchItem("Chainsaw of the Stream", "EMT", ResearchAspects.streamChainsawResearch, -3, -4, 3, new ItemStack(ItemRegistry.streamChainsaw)).setParents("Thaumium Chainsaw").registerResearchItem(); + research = new EMTResearchItem("Chainsaw of the Stream", "EMT", ResearchAspects.streamChainsawResearch, -3, -4, 3, new ItemStack(IC2ModuleItemRegistry.streamChainsaw)).setParents("Thaumium Chainsaw").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.streamChainsaw)); } } @@ -202,7 +212,7 @@ public class ThaumonomiconResearch { if (Config.thaumiumDrillResearch == false) { if (Config.rockbreakerDrillResearch == false) { text = "1"; - research = new EMTResearchItem("Drill of the Rockbreaker", "EMT", ResearchAspects.rockbreakerDrillResearch, 0, -4, 3, new ItemStack(ItemRegistry.rockbreakerDrill)).setParents("Thaumium Drill").registerResearchItem(); + research = new EMTResearchItem("Drill of the Rockbreaker", "EMT", ResearchAspects.rockbreakerDrillResearch, 0, -4, 3, new ItemStack(IC2ModuleItemRegistry.rockbreakerDrill)).setParents("Thaumium Drill").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.rockbreakerDrill)); } } @@ -215,42 +225,42 @@ public class ThaumonomiconResearch { if (Config.thorHammerResearch == false) { text = "1"; - research = new EMTResearchItem("Mjolnir", "EMT", ResearchAspects.thorHammerResearch, -5, 5, 3, new ItemStack(ItemRegistry.thorHammer)).setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Mjolnir", "EMT", ResearchAspects.thorHammerResearch, -5, 5, 3, new ItemStack(IC2ModuleItemRegistry.thorHammer)).setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.thorHammer)); } if (Config.thorHammerResearch == false) { if (Config.superchargedThorHammerResearch == false) { text = "1"; - research = new EMTResearchItem("Supercharged Mjolnir", "EMT", ResearchAspects.superchargedThorHammerResearch, -6, 6, 3, new ItemStack(ItemRegistry.electricThorHammer)).setParents("Mjolnir").registerResearchItem(); + research = new EMTResearchItem("Supercharged Mjolnir", "EMT", ResearchAspects.superchargedThorHammerResearch, -6, 6, 3, new ItemStack(IC2ModuleItemRegistry.electricThorHammer)).setParents("Mjolnir").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.superchargedThorHammer)); } } if (Config.compressedSolarsResearch == false) { text = "1"; - research = new EMTResearchItem("Compressed Solars", "EMT", ResearchAspects.compressedSolars, -4, -5, 2, new ItemStack(BlockRegistry.emtSolars)).setParentsHidden("Potentia Generator").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Compressed Solars", "EMT", ResearchAspects.compressedSolars, -4, -5, 2, new ItemStack(IC2ModuleBlockRegistry.emtSolars)).setParentsHidden("Potentia Generator").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.compressedSolar), new ResearchPage(EMTPostInitRecipes.doubleCompressedSolar), new ResearchPage(EMTPostInitRecipes.tripleCompressedSolar)); } if (Config.compressedSolarsResearch == false) { if (Config.solarHelmetResearch == false) { text = "1"; - research = new EMTResearchItem("Solar Helmet of Revealing", "EMT", ResearchAspects.solarHelmetRevealing, -2, -5, 1, new ItemStack(ItemRegistry.solarHelmetRevealing)).setSecondary().setParents("Compressed Solars").setParentsHidden("Quantum Goggles of Revealing").registerResearchItem(); + research = new EMTResearchItem("Solar Helmet of Revealing", "EMT", ResearchAspects.solarHelmetRevealing, -2, -5, 1, new ItemStack(IC2ModuleItemRegistry.solarHelmetRevealing)).setSecondary().setParents("Compressed Solars").setParentsHidden("Quantum Goggles of Revealing").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.solarHelmetRevealing)); } } if (Config.electricBootsResearch == false) { text = "1"; - research = new EMTResearchItem("Electric Boots of the Traveller", "EMT", ResearchAspects.electricBootsTravel, 2, 0, 1, new ItemStack(ItemRegistry.electricBootsTraveller)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Electric Boots of the Traveller", "EMT", ResearchAspects.electricBootsTravel, 2, 0, 1, new ItemStack(IC2ModuleItemRegistry.electricBootsTraveller)).setSecondary().setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.electricBootsTravel)); } if (Config.electricBootsResearch == false) { if (Config.nanoBootsResearch == false) { text = "1"; - research = new EMTResearchItem("Nano Boots of the Traveller", "EMT", ResearchAspects.nanoBootsTravel, 4, 0, 2, new ItemStack(ItemRegistry.nanoBootsTraveller)).setParents("Electric Boots of the Traveller").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Nano Boots of the Traveller", "EMT", ResearchAspects.nanoBootsTravel, 4, 0, 2, new ItemStack(IC2ModuleItemRegistry.nanoBootsTraveller)).setParents("Electric Boots of the Traveller").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.nanoBootsTravel)); } } @@ -259,7 +269,7 @@ public class ThaumonomiconResearch { if (Config.nanoBootsResearch == false) { if (Config.quantumBootsResearch == false) { text = "1"; - research = new EMTResearchItem("Quantum Boots of the Traveller", "EMT", ResearchAspects.quantumBootsTravel, 6, 0, 3, new ItemStack(ItemRegistry.quantumBootsTraveller)).setParents("Nano Boots of the Traveller").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Quantum Boots of the Traveller", "EMT", ResearchAspects.quantumBootsTravel, 6, 0, 3, new ItemStack(IC2ModuleItemRegistry.quantumBootsTraveller)).setParents("Nano Boots of the Traveller").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.quantumBootsTravel)); } } @@ -267,20 +277,20 @@ public class ThaumonomiconResearch { if (Config.electricScribingToolsResearch == false) { text = "1"; - research = new EMTResearchItem("Electric Scribing Tools", "EMT", ResearchAspects.electricScribingTools, -6, -5, 1, new ItemStack(ItemRegistry.electricScribingTools)).setSecondary().setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Electric Scribing Tools", "EMT", ResearchAspects.electricScribingTools, -6, -5, 1, new ItemStack(IC2ModuleItemRegistry.electricScribingTools)).setSecondary().setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.electricScribingTools)); } if (Config.etherealProcessorResearch == false) { text = "1"; - research = new EMTResearchItem("Etheral Processor", "EMT", ResearchAspects.etherealProcessor, -1, 2, 2, new ItemStack(BlockRegistry.emtMachines, 1, 1)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Etheral Processor", "EMT", ResearchAspects.etherealProcessor, -1, 2, 2, new ItemStack(IC2ModuleBlockRegistry.emtMachines, 1, 1)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.etheralProcessor)); } if (Config.compressedSolarsResearch == false) { if (Config.waterSolarsResearch == false) { text = "1"; - research = new EMTResearchItem("Water Infused Solar Panels", "EMT", ResearchAspects.waterSolars, -7, -7, 1, new ItemStack(BlockRegistry.emtSolars, 1, 3)).setSecondary().setParents("Compressed Solars").registerResearchItem(); + research = new EMTResearchItem("Water Infused Solar Panels", "EMT", ResearchAspects.waterSolars, -7, -7, 1, new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 3)).setSecondary().setParents("Compressed Solars").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.waterSolar), new ResearchPage(EMTPostInitRecipes.doubleWaterSolar), new ResearchPage(EMTPostInitRecipes.tripleWaterSolar)); } @@ -289,7 +299,7 @@ public class ThaumonomiconResearch { if (Config.compressedSolarsResearch == false) { if (Config.darkSolarsResearch == false) { text = "1"; - research = new EMTResearchItem("Entropy Infused Solar Panels", "EMT", ResearchAspects.darkSolars, -8, -6, 1, new ItemStack(BlockRegistry.emtSolars, 1, 6)).setSecondary().setParents("Compressed Solars").registerResearchItem(); + research = new EMTResearchItem("Entropy Infused Solar Panels", "EMT", ResearchAspects.darkSolars, -8, -6, 1, new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 6)).setSecondary().setParents("Compressed Solars").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.darkSolar), new ResearchPage(EMTPostInitRecipes.doubleDarkSolar), new ResearchPage(EMTPostInitRecipes.tripleDarkSolar)); } } @@ -297,7 +307,7 @@ public class ThaumonomiconResearch { if (Config.compressedSolarsResearch == false) { if (Config.orderSolarsResearch == false) { text = "1"; - research = new EMTResearchItem("Order Infused Solar Panels", "EMT", ResearchAspects.orderSolars, -6, -8, 1, new ItemStack(BlockRegistry.emtSolars, 1, 9)).setSecondary().setParents("Compressed Solars").registerResearchItem(); + research = new EMTResearchItem("Order Infused Solar Panels", "EMT", ResearchAspects.orderSolars, -6, -8, 1, new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 9)).setSecondary().setParents("Compressed Solars").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.orderSolar), new ResearchPage(EMTPostInitRecipes.doubleOrderSolar), new ResearchPage(EMTPostInitRecipes.tripleOrderSolar)); } } @@ -305,7 +315,7 @@ public class ThaumonomiconResearch { if (Config.compressedSolarsResearch == false) { if (Config.fireSolarsResearch == false) { text = "1"; - research = new EMTResearchItem("Fire Infused Solar Panels", "EMT", ResearchAspects.fireSolars, -5, -7, 1, new ItemStack(BlockRegistry.emtSolars, 1, 12)).setSecondary().setParents("Compressed Solars").registerResearchItem(); + research = new EMTResearchItem("Fire Infused Solar Panels", "EMT", ResearchAspects.fireSolars, -5, -7, 1, new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 12)).setSecondary().setParents("Compressed Solars").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.fireSolar), new ResearchPage(EMTPostInitRecipes.doubleFireSolar), new ResearchPage(EMTPostInitRecipes.tripleFireSolar)); } } @@ -313,7 +323,7 @@ public class ThaumonomiconResearch { if (Config.compressedSolarsResearch == false) { if (Config.airSolarsResearch == false) { text = "1"; - research = new EMTResearchItem("Air Infused Solar Panels", "EMT", ResearchAspects.airSolars, -4, -6, 1, new ItemStack(BlockRegistry.emtSolars, 1, 15)).setSecondary().setParents("Compressed Solars").registerResearchItem(); + research = new EMTResearchItem("Air Infused Solar Panels", "EMT", ResearchAspects.airSolars, -4, -6, 1, new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 15)).setSecondary().setParents("Compressed Solars").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.airSolar), new ResearchPage(EMTPostInitRecipes.doubleAirSolar), new ResearchPage(EMTPostInitRecipes.tripleAirSolar)); } } @@ -321,7 +331,7 @@ public class ThaumonomiconResearch { if (Config.compressedSolarsResearch == false) { if (Config.earthSolarsResearch == false) { text = "1"; - research = new EMTResearchItem("Earth Infused Solar Panels", "EMT", ResearchAspects.earthSolars, -6, -7, 1, new ItemStack(BlockRegistry.emtSolars2, 1, 2)).setSecondary().setParents("Compressed Solars").registerResearchItem(); + research = new EMTResearchItem("Earth Infused Solar Panels", "EMT", ResearchAspects.earthSolars, -6, -7, 1, new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 2)).setSecondary().setParents("Compressed Solars").registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.earthSolar), new ResearchPage(EMTPostInitRecipes.doubleEarthSolar), new ResearchPage(EMTPostInitRecipes.tripleEarthSolar)); } } @@ -335,55 +345,55 @@ public class ThaumonomiconResearch { if (Config.portableNodeResarch == false) { text = "1"; - research = new EMTResearchItem("Portable Node", "EMT", ResearchAspects.portableNode, 2, 5, 3, new ItemStack(BlockRegistry.portableNode)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Portable Node", "EMT", ResearchAspects.portableNode, 2, 5, 3, new ItemStack(IC2ModuleBlockRegistry.portableNode)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.portableNode)); } if (Config.electricHoeGrowthResearch == false) { text = "1"; - research = new EMTResearchItem("Electric Hoe of Growth", "EMT", ResearchAspects.electricHoeGrowth, -1, -4, 2, new ItemStack(ItemRegistry.electricHoeGrowth)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Electric Hoe of Growth", "EMT", ResearchAspects.electricHoeGrowth, -1, -4, 2, new ItemStack(IC2ModuleItemRegistry.electricHoeGrowth)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.electricHoeGrowth)); } if (Config.chargeFocusResearch == false) { text = "1"; - research = new EMTResearchItem("Wand Focus: Charging", "EMT", ResearchAspects.chargeFocus, 5, 3, 2, new ItemStack(ItemRegistry.chargeFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Wand Focus: Charging", "EMT", ResearchAspects.chargeFocus, 5, 3, 2, new ItemStack(IC2ModuleItemRegistry.chargeFocus)).setParents("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.chargeFocus)); } if (Config.wandChargeFocusResearch == false) { text = "1"; - research = new EMTResearchItem("Wand Focus: Wand Charging", "EMT", ResearchAspects.wandChargeFocus, 7, 3, 3, new ItemStack(ItemRegistry.wandChargeFocus)).setParents("Wand Focus: Charging").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Wand Focus: Wand Charging", "EMT", ResearchAspects.wandChargeFocus, 7, 3, 3, new ItemStack(IC2ModuleItemRegistry.wandChargeFocus)).setParents("Wand Focus: Charging").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.wandChargeFocus)); } if (Config.inventoryChargingRing == false) { text = "1"; - research = new EMTResearchItem("Inventory Charging Ring", "EMT", ResearchAspects.inventoryChargingRing, 0, -5, 3, new ItemStack(ItemRegistry.emtBauble, 1, 1)).setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Inventory Charging Ring", "EMT", ResearchAspects.inventoryChargingRing, 0, -5, 3, new ItemStack(IC2ModuleItemRegistry.emtBauble, 1, 1)).setParentsHidden("Electric Magic Tools").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.inventoryChargingRing)); } if (Config.armorChargingRing == false) { text = "1"; - research = new EMTResearchItem("Armor Charging Ring", "EMT", ResearchAspects.armorChargingRing, 0, -7, 3, new ItemStack(ItemRegistry.emtBauble, 1, 0)).setSecondary().setParents("Inventory Charging Ring").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Armor Charging Ring", "EMT", ResearchAspects.armorChargingRing, 0, -7, 3, new ItemStack(IC2ModuleItemRegistry.emtBauble, 1, 0)).setSecondary().setParents("Inventory Charging Ring").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.armorChargingRing)); } if (Config.thaumiumWingResearch == false) { text = "1"; - research = new EMTResearchItem("Thaumium Reinforced Wings", "EMT", ResearchAspects.thaumiumWing, 0, 4, 0, new ItemStack(ItemRegistry.thaumiumWing)).setSecondary().setParents("Feather Wings").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Thaumium Reinforced Wings", "EMT", ResearchAspects.thaumiumWing, 0, 4, 0, new ItemStack(IC2ModuleItemRegistry.thaumiumWing)).setSecondary().setParents("Feather Wings").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.thaumiumWing), new ResearchPage(EMTPostInitRecipes.thaumiumWings)); } if (Config.nanoWingResearch == false) { text = "1"; - research = new EMTResearchItem("Nanosuit Wings", "EMT", ResearchAspects.nanoWing, 0, 6, 2, new ItemStack(ItemRegistry.nanoWing)).setParents("Thaumium Reinforced Wings").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Nanosuit Wings", "EMT", ResearchAspects.nanoWing, 0, 6, 2, new ItemStack(IC2ModuleItemRegistry.nanoWing)).setParents("Thaumium Reinforced Wings").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.nanoWings)); } if (Config.quantumWingsResearch == false) { text = "1"; - research = new EMTResearchItem("Quantum Wings", "EMT", ResearchAspects.quantumWing, 0, 8, 3, new ItemStack(ItemRegistry.quantumWing)).setParents("Nanosuit Wings").setConcealed().registerResearchItem(); + research = new EMTResearchItem("Quantum Wings", "EMT", ResearchAspects.quantumWing, 0, 8, 3, new ItemStack(IC2ModuleItemRegistry.quantumWing)).setParents("Nanosuit Wings").setConcealed().registerResearchItem(); research.setPages(new ResearchPage(text), new ResearchPage(EMTPostInitRecipes.quantumWings)); } } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleTERegistry.java b/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleTERegistry.java new file mode 100644 index 0000000..97c864f --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/IC2ModuleTERegistry.java @@ -0,0 +1,76 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2; + +import cpw.mods.fml.common.registry.GameRegistry; +import tombenpotter.emt.common.module.base.tile.TileEntityPortableNode; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEtherealMacerator; +import tombenpotter.emt.common.module.ic2.tile.TileEntityIndustrialWandRecharge; +import tombenpotter.emt.common.module.ic2.tile.generators.*; +import tombenpotter.emt.common.module.ic2.tile.solars.air.TileEntityAirSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.air.TileEntityDoubleAirSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.air.TileEntityTripleAirSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.compressed.TileEntityCompressedSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.compressed.TileEntityDoubleCompressedSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.compressed.TileEntityTripleCompressedSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.dark.TileEntityDarkSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.dark.TileEntityDoubleDarkSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.dark.TileEntityTripleDarkSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.earth.TileEntityDoubleEarthSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.earth.TileEntityEarthSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.earth.TileEntityTripleEarthSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.fire.TileEntityDoubleFireSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.fire.TileEntityFireSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.fire.TileEntityTripleFireSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.order.TileEntityDoubleOrderSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.order.TileEntityOrderSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.order.TileEntityTripleOrderSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.water.TileEntityDoubleWaterSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.water.TileEntityTripleWaterSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.water.TileEntityWaterSolar; + +public class IC2ModuleTERegistry { + + public static void registerTEs() { + + GameRegistry.registerTileEntity(TileEntityPotentiaGenerator.class, "tileentitypotentiagenerator"); + GameRegistry.registerTileEntity(TileEntityIgnisGenerator.class, "tileentityignisgenerator"); + GameRegistry.registerTileEntity(TileEntityAuramGenerator.class, "tileentityauramgenerator"); + GameRegistry.registerTileEntity(TileEntityArborGenerator.class, "tileentityarborgenerator"); + GameRegistry.registerTileEntity(TileEntityAerGenerator.class, "tileentityaergenerator"); + GameRegistry.registerTileEntity(TileEntityIndustrialWandRecharge.class, "tileentityindustrialwandrecharge"); + GameRegistry.registerTileEntity(TileEntityCompressedSolar.class, "tileentitycompressedsolar"); + GameRegistry.registerTileEntity(TileEntityDoubleCompressedSolar.class, "tileentitydoublecompressedsolar"); + GameRegistry.registerTileEntity(TileEntityTripleCompressedSolar.class, "tileentitytriplecompressedsolar"); + GameRegistry.registerTileEntity(TileEntityEtherealMacerator.class, "tileentityetherealmacerator"); + GameRegistry.registerTileEntity(TileEntityWaterSolar.class, "tileentitywatersolar"); + GameRegistry.registerTileEntity(TileEntityDoubleWaterSolar.class, "tileentitydoublewatersolar"); + GameRegistry.registerTileEntity(TileEntityTripleWaterSolar.class, "tileentitytriplewatersolar"); + GameRegistry.registerTileEntity(TileEntityDarkSolar.class, "tileentitydarksolar"); + GameRegistry.registerTileEntity(TileEntityDoubleDarkSolar.class, "tileentitydoubledarksolar"); + GameRegistry.registerTileEntity(TileEntityTripleDarkSolar.class, "tileentitytripledarksolar"); + GameRegistry.registerTileEntity(TileEntityOrderSolar.class, "tileentityordersolar"); + GameRegistry.registerTileEntity(TileEntityDoubleOrderSolar.class, "tileentitydoubleordersolar"); + GameRegistry.registerTileEntity(TileEntityTripleOrderSolar.class, "tileentitytripleordersolar"); + GameRegistry.registerTileEntity(TileEntityFireSolar.class, "tileentityfiresolar"); + GameRegistry.registerTileEntity(TileEntityDoubleFireSolar.class, "tileentitydoublefiresolar"); + GameRegistry.registerTileEntity(TileEntityTripleFireSolar.class, "tileentitytriplefiresolar"); + GameRegistry.registerTileEntity(TileEntityAirSolar.class, "tileentityairsolar"); + GameRegistry.registerTileEntity(TileEntityDoubleAirSolar.class, "tileentitydoubleairsolar"); + GameRegistry.registerTileEntity(TileEntityTripleAirSolar.class, "tileentitytripleairsolar"); + GameRegistry.registerTileEntity(TileEntityEarthSolar.class, "tileentityearthsolar"); + GameRegistry.registerTileEntity(TileEntityDoubleEarthSolar.class, "tileentitydoubleearthsolar"); + GameRegistry.registerTileEntity(TileEntityTripleEarthSolar.class, "tileentitytripleearthsolar"); + GameRegistry.registerTileEntity(TileEntityPortableNode.class, "tileentityportablenode"); + GameRegistry.registerTileEntity(TileEntityEssentiaGenerator.class, "tileentityessentiagenerator"); + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMT.java b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMT.java similarity index 93% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMT.java rename to src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMT.java index a024de5..e985743 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMT.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMT.java @@ -1,8 +1,8 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.blocks; +package tombenpotter.emt.common.module.ic2.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEMT; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTMachines.java b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTMachines.java similarity index 71% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTMachines.java rename to src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTMachines.java index 66fb3b1..d0eb244 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEMTMachines.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTMachines.java @@ -9,14 +9,14 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.blocks; +package tombenpotter.emt.common.module.ic2.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEtherealMacerator; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityIndustrialWandRecharge; +import tombenpotter.emt.common.util.CreativeTab; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEtherealMacerator; +import tombenpotter.emt.common.module.ic2.tile.TileEntityIndustrialWandRecharge; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -44,22 +44,22 @@ public class BlockEMTMachines extends BlockEMT { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister ir) { - this.blockIcon = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/top"); + this.blockIcon = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/top"); - this.top[0] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/top"); - this.top[1] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/etherealmaceratortop"); + this.top[0] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/top"); + this.top[1] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/etherealmaceratortop"); - this.bottom[0] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/side"); - this.bottom[1] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/etherealmacerator"); + this.bottom[0] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/side"); + this.bottom[1] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/etherealmacerator"); - this.side[0] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/side"); - this.side[1] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/etherealmacerator"); + this.side[0] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/side"); + this.side[1] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/etherealmacerator"); - this.frontOff[0] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/wandcharger"); - this.frontOff[1] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/etherealmaceratorfront"); + this.frontOff[0] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/wandcharger"); + this.frontOff[1] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/etherealmaceratorfront"); - this.frontOn[0] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/wandcharger"); - this.frontOn[1] = ir.registerIcon(ElectricMagicTools.texturePath + ":machines/etherealmaceratorfrontactive"); + this.frontOn[0] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/wandcharger"); + this.frontOn[1] = ir.registerIcon(ElectroMagicTools.texturePath + ":machines/etherealmaceratorfrontactive"); } @SuppressWarnings({"rawtypes", "unchecked"}) @@ -83,9 +83,9 @@ public class BlockEMTMachines extends BlockEMT { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9) { if (!world.isRemote && world.getTileEntity(x, y, z) instanceof TileEntityIndustrialWandRecharge) { - player.openGui(ElectricMagicTools.instance, 0, world, x, y, z); + player.openGui(ElectroMagicTools.instance, 0, world, x, y, z); } else if (!world.isRemote && world.getTileEntity(x, y, z) instanceof TileEntityEtherealMacerator) { - player.openGui(ElectricMagicTools.instance, 1, world, x, y, z); + player.openGui(ElectroMagicTools.instance, 1, world, x, y, z); } return true; } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTSolars.java b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTSolars.java new file mode 100644 index 0000000..2f03841 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTSolars.java @@ -0,0 +1,191 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import tombenpotter.emt.common.module.ic2.tile.solars.air.TileEntityAirSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.compressed.TileEntityCompressedSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.compressed.TileEntityDoubleCompressedSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.compressed.TileEntityTripleCompressedSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.dark.TileEntityDarkSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.dark.TileEntityDoubleDarkSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.dark.TileEntityTripleDarkSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.fire.TileEntityDoubleFireSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.fire.TileEntityFireSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.fire.TileEntityTripleFireSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.order.TileEntityDoubleOrderSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.order.TileEntityOrderSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.order.TileEntityTripleOrderSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.water.TileEntityDoubleWaterSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.water.TileEntityTripleWaterSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.water.TileEntityWaterSolar; +import tombenpotter.emt.common.util.CreativeTab; +import tombenpotter.emt.ElectroMagicTools; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +import java.util.List; + +public class BlockEMTSolars extends BlockEMT { + + public BlockEMTSolars() { + super(Material.iron); + this.setCreativeTab(CreativeTab.tabTombenpotter); + this.setHardness(4.0F); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister ri) { + this.top[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/solartop"); + this.top[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/doublesolartop"); + this.top[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/triplesolartop"); + this.top[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/solartop"); + this.top[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/doublesolartop"); + this.top[5] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/triplesolartop"); + this.top[6] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/solartop"); + this.top[7] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/doublesolartop"); + this.top[8] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/triplesolartop"); + this.top[9] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/solartop"); + this.top[10] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/doublesolartop"); + this.top[11] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/triplesolartop"); + this.top[12] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/solartop"); + this.top[13] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/doublesolartop"); + this.top[14] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/triplesolartop"); + this.top[15] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/solartop"); + + this.bottom[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/bottom"); + this.bottom[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/bottom"); + this.bottom[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/bottom"); + this.bottom[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterbottom"); + this.bottom[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterbottom"); + this.bottom[5] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterbottom"); + this.bottom[6] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkbottom"); + this.bottom[7] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkbottom"); + this.bottom[8] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkbottom"); + this.bottom[9] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderbottom"); + this.bottom[10] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderbottom"); + this.bottom[11] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderbottom"); + this.bottom[12] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/firebottom"); + this.bottom[13] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/firebottom"); + this.bottom[14] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/firebottom"); + this.bottom[15] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airbottom"); + + this.frontOff[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/side"); + this.frontOff[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/side"); + this.frontOff[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/side"); + this.frontOff[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterside"); + this.frontOff[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterside"); + this.frontOff[5] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterside"); + this.frontOff[6] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkside"); + this.frontOff[7] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkside"); + this.frontOff[8] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkside"); + this.frontOff[9] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderside"); + this.frontOff[10] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderside"); + this.frontOff[11] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderside"); + this.frontOff[12] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/fireside"); + this.frontOff[13] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/fireside"); + this.frontOff[14] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/fireside"); + this.frontOff[15] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airside"); + + this.side[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/side"); + this.side[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/side"); + this.side[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/side"); + this.side[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterside"); + this.side[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterside"); + this.side[5] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/water/waterside"); + this.side[6] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkside"); + this.side[7] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkside"); + this.side[8] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/dark/darkside"); + this.side[9] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderside"); + this.side[10] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderside"); + this.side[11] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/order/orderside"); + this.side[12] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/fireside"); + this.side[13] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/fireside"); + this.side[14] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/fire/fireside"); + this.side[15] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airside"); + } + + @SideOnly(Side.CLIENT) + @SuppressWarnings({"unchecked", "rawtypes"}) + public void getSubBlocks(Item id, CreativeTabs tab, List list) { + for (int i = 0; i <= 15; i++) { + list.add(new ItemStack(id, 1, i)); + } + } + + @Override + public TileEntity createTileEntity(World world, int meta) { + if (meta == 0) { + return new TileEntityCompressedSolar(); + } + if (meta == 1) { + return new TileEntityDoubleCompressedSolar(); + } + if (meta == 2) { + return new TileEntityTripleCompressedSolar(); + } + if (meta == 3) { + return new TileEntityWaterSolar(); + } + if (meta == 4) { + return new TileEntityDoubleWaterSolar(); + } + if (meta == 5) { + return new TileEntityTripleWaterSolar(); + } + if (meta == 6) { + return new TileEntityDarkSolar(); + } + if (meta == 7) { + return new TileEntityDoubleDarkSolar(); + } + if (meta == 8) { + return new TileEntityTripleDarkSolar(); + } + if (meta == 9) { + return new TileEntityOrderSolar(); + } + if (meta == 10) { + return new TileEntityDoubleOrderSolar(); + } + if (meta == 11) { + return new TileEntityTripleOrderSolar(); + } + if (meta == 12) { + return new TileEntityFireSolar(); + } + if (meta == 13) { + return new TileEntityDoubleFireSolar(); + } + if (meta == 14) { + return new TileEntityTripleFireSolar(); + } + if (meta == 15) { + return new TileEntityAirSolar(); + } + return super.createTileEntity(world, meta); + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block par5, int par6) { + world.removeTileEntity(x, y, z); + super.breakBlock(world, x, y, z, par5, par6); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTSolars2.java b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTSolars2.java new file mode 100644 index 0000000..ee2b62b --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEMTSolars2.java @@ -0,0 +1,103 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import tombenpotter.emt.common.module.ic2.tile.solars.air.TileEntityDoubleAirSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.air.TileEntityTripleAirSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.earth.TileEntityDoubleEarthSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.earth.TileEntityEarthSolar; +import tombenpotter.emt.common.module.ic2.tile.solars.earth.TileEntityTripleEarthSolar; +import tombenpotter.emt.common.util.CreativeTab; +import tombenpotter.emt.ElectroMagicTools; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +import java.util.List; + +public class BlockEMTSolars2 extends BlockEMT { + + public BlockEMTSolars2() { + super(Material.iron); + this.setCreativeTab(CreativeTab.tabTombenpotter); + this.setHardness(4.0F); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister ri) { + this.top[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/doublesolartop"); + this.top[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/triplesolartop"); + this.top[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/solartop"); + this.top[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/doublesolartop"); + this.top[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/triplesolartop"); + + this.bottom[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airbottom"); + this.bottom[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airbottom"); + this.bottom[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthbottom"); + this.bottom[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthbottom"); + this.bottom[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthbottom"); + + this.frontOff[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airside"); + this.frontOff[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airside"); + this.frontOff[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthside"); + this.frontOff[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthside"); + this.frontOff[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthside"); + + this.side[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airside"); + this.side[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/air/airside"); + this.side[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthside"); + this.side[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthside"); + this.side[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":solars/earth/earthside"); + } + + @SideOnly(Side.CLIENT) + @SuppressWarnings({"unchecked", "rawtypes"}) + public void getSubBlocks(Item id, CreativeTabs tab, List list) { + for (int i = 0; i <= 4; i++) { + list.add(new ItemStack(id, 1, i)); + } + } + + @Override + public TileEntity createTileEntity(World world, int meta) { + if (meta == 0) { + return new TileEntityDoubleAirSolar(); + } + if (meta == 1) { + return new TileEntityTripleAirSolar(); + } + if (meta == 2) { + return new TileEntityEarthSolar(); + } + if (meta == 3) { + return new TileEntityDoubleEarthSolar(); + } + if (meta == 4) { + return new TileEntityTripleEarthSolar(); + } + return super.createTileEntity(world, meta); + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block par5, int par6) { + world.removeTileEntity(x, y, z); + super.breakBlock(world, x, y, z, par5, par6); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEssentiaGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEssentiaGenerator.java new file mode 100644 index 0000000..780aafb --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEssentiaGenerator.java @@ -0,0 +1,68 @@ +package tombenpotter.emt.common.module.ic2.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.IEssentiaContainerItem; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.ic2.tile.generators.TileEntityEssentiaGenerator; +import tombenpotter.emt.common.util.CreativeTab; + +public class BlockEssentiaGenerator extends BlockEMT { + + public BlockEssentiaGenerator() { + super(Material.iron); + this.setCreativeTab(CreativeTab.tabTombenpotter); + this.setHardness(4.0F); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister ri) { + this.blockIcon = ri.registerIcon(ElectroMagicTools.texturePath + ":machines/top"); + this.top[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/top"); + this.bottom[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/top"); + this.side[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/side"); + } + + @Override + public TileEntity createNewTileEntity(World var1, int var2) { + return new TileEntityEssentiaGenerator(); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9) { + TileEntityEssentiaGenerator tile = (TileEntityEssentiaGenerator) world.getTileEntity(x, y, z); + if (player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IEssentiaContainerItem) { + IEssentiaContainerItem item = (IEssentiaContainerItem) player.getHeldItem().getItem(); + Aspect aspect = item.getAspects(player.getHeldItem()).getAspects()[0]; + if (tile.isFree[0]) { + tile.aspects[0] = aspect.getTag(); + tile.isFree[0] = false; + } else if (tile.isFree[1]) { + tile.aspects[1] = aspect.getTag(); + tile.isFree[1] = false; + } else if (tile.isFree[2]) { + tile.aspects[2] = aspect.getTag(); + tile.isFree[2] = false; + } else if (tile.isFree[3]) { + tile.aspects[3] = aspect.getTag(); + tile.isFree[3] = false; + } + return true; + } else if (player.getHeldItem() == null && player.isSneaking()) { + for (int i = 0; i < tile.aspects.length; i++) { + if (!tile.isFree[i]) { + tile.isFree[i] = true; + } + } + return true; + } + return false; + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEssentiaGenerators.java b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEssentiaGenerators.java similarity index 58% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEssentiaGenerators.java rename to src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEssentiaGenerators.java index 18359eb..c81f3f1 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockEssentiaGenerators.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockEssentiaGenerators.java @@ -9,17 +9,10 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.blocks; +package tombenpotter.emt.common.module.ic2.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityArborGenerator; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityAuramGenerator; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityIgnisGenerator; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityPotentiaGenerator; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -27,6 +20,9 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.ic2.tile.generators.*; +import tombenpotter.emt.common.util.CreativeTab; import java.util.List; import java.util.Random; @@ -42,24 +38,25 @@ public class BlockEssentiaGenerators extends BlockEMT { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister ri) { - this.blockIcon = ri.registerIcon(ElectricMagicTools.texturePath + ":machines/top"); + this.blockIcon = ri.registerIcon(ElectroMagicTools.texturePath + ":machines/top"); - for (int i = 0; i <= 3; i++) { - this.top[i] = ri.registerIcon(ElectricMagicTools.texturePath + ":essentiagenerator/top"); + for (int i = 0; i <= 5; i++) { + this.top[i] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/top"); } - for (int i = 0; i <= 3; i++) { - this.bottom[i] = ri.registerIcon(ElectricMagicTools.texturePath + ":essentiagenerator/top"); + for (int i = 0; i <= 5; i++) { + this.bottom[i] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/top"); } - for (int i = 0; i <= 3; i++) { - this.side[i] = ri.registerIcon(ElectricMagicTools.texturePath + ":essentiagenerator/side"); + for (int i = 0; i <= 5; i++) { + this.side[i] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/side"); } - this.frontOff[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":essentiagenerator/potentiafront"); - this.frontOff[1] = ri.registerIcon(ElectricMagicTools.texturePath + ":essentiagenerator/ignisfront"); - this.frontOff[2] = ri.registerIcon(ElectricMagicTools.texturePath + ":essentiagenerator/auramfront"); - this.frontOff[3] = ri.registerIcon(ElectricMagicTools.texturePath + ":essentiagenerator/arborfront"); + this.frontOff[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/potentiafront"); + this.frontOff[1] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/ignisfront"); + this.frontOff[2] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/auramfront"); + this.frontOff[3] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/arborfront"); + this.frontOff[4] = ri.registerIcon(ElectroMagicTools.texturePath + ":essentiagenerator/aerfront"); } @SuppressWarnings({"unchecked", "rawtypes"}) @@ -69,6 +66,7 @@ public class BlockEssentiaGenerators extends BlockEMT { list.add(new ItemStack(id, 1, 1)); list.add(new ItemStack(id, 1, 2)); list.add(new ItemStack(id, 1, 3)); + list.add(new ItemStack(id, 1, 4)); } @Override @@ -85,15 +83,12 @@ public class BlockEssentiaGenerators extends BlockEMT { if (meta == 3) { return new TileEntityArborGenerator(); } + if (meta == 4) { + return new TileEntityAerGenerator(); + } return super.createTileEntity(world, meta); } - @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) { - world.removeTileEntity(x, y, z); - super.breakBlock(world, x, y, z, par5, par6); - } - @SideOnly(Side.CLIENT) public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { float f = (float) par2 + 0.5F; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockPortableNode.java b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockPortableNode.java similarity index 84% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockPortableNode.java rename to src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockPortableNode.java index 18bf7a7..21cbd03 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockPortableNode.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockPortableNode.java @@ -9,13 +9,11 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.blocks; +package tombenpotter.emt.common.module.ic2.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityPortableNode; +import tombenpotter.emt.common.module.base.tile.TileEntityPortableNode; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; @@ -27,6 +25,8 @@ import net.minecraft.util.IIcon; import net.minecraft.world.Explosion; import net.minecraft.world.World; import thaumcraft.common.blocks.BlockAiry; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; import java.util.List; import java.util.Random; @@ -72,14 +72,10 @@ public class BlockPortableNode extends BlockAiry { public void onBlockExploded(World world, int x, int y, int z, Explosion explosion) { } - public boolean canDragonDestroy(World world, int x, int y, int z) { - return false; - } - @SideOnly(Side.CLIENT) @Override public void registerBlockIcons(IIconRegister ri) { - this.texture[0] = ri.registerIcon(ElectricMagicTools.texturePath + ":portablenode"); + this.texture[0] = ri.registerIcon(ElectroMagicTools.texturePath + ":portablenode"); } @SideOnly(Side.CLIENT) diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockShield.java b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockShield.java similarity index 84% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockShield.java rename to src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockShield.java index 12484d5..724c11c 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/blocks/BlockShield.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/blocks/BlockShield.java @@ -9,12 +9,10 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.blocks; +package tombenpotter.emt.common.module.ic2.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -23,6 +21,8 @@ import net.minecraft.entity.EnumCreatureType; import net.minecraft.world.Explosion; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; import java.util.Random; @@ -49,7 +49,7 @@ public class BlockShield extends Block { @SideOnly(Side.CLIENT) @Override public void registerBlockIcons(IIconRegister iconRegister) { - this.blockIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":shield"); + this.blockIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":shield"); } @Override @@ -68,20 +68,17 @@ public class BlockShield extends Block { } @Override - public boolean canBeReplacedByLeaves(IBlockAccess world, int x, int y, int z) - { + public boolean canBeReplacedByLeaves(IBlockAccess world, int x, int y, int z) { return false; } @Override - public boolean canEntityDestroy(IBlockAccess world, int x, int y, int z, Entity entity) - { + public boolean canEntityDestroy(IBlockAccess world, int x, int y, int z, Entity entity) { return false; } @Override - public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess world, int x, int y, int z) - { + public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess world, int x, int y, int z) { return false; } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemElectricScribingTools.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/ItemElectricScribingTools.java similarity index 90% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemElectricScribingTools.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/ItemElectricScribingTools.java index 6815fa5..2dcfef7 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/ItemElectricScribingTools.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/ItemElectricScribingTools.java @@ -9,11 +9,11 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items; +package tombenpotter.emt.common.module.ic2.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; +import tombenpotter.emt.common.util.CreativeTab; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.creativetab.CreativeTabs; @@ -40,7 +40,7 @@ public class ItemElectricScribingTools extends ItemInkwell implements IElectricI } @Override - public int getMaxCharge(ItemStack itemStack) { + public double getMaxCharge(ItemStack itemStack) { return maxCharge; } @@ -50,7 +50,7 @@ public class ItemElectricScribingTools extends ItemInkwell implements IElectricI } @Override - public int getTransferLimit(ItemStack itemStack) { + public double getTransferLimit(ItemStack itemStack) { return 5; } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemElectricBootsTraveller.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemElectricBootsTraveller.java similarity index 64% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemElectricBootsTraveller.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemElectricBootsTraveller.java index cc5bd35..11bfd33 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/boots/ItemElectricBootsTraveller.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemElectricBootsTraveller.java @@ -18,15 +18,12 @@ * * http://www.minecraftforum.net/topic/1813058- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.boots; +package tombenpotter.emt.common.module.ic2.items.armor.boots; -import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.Config; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import ic2.api.item.IMetalArmor; @@ -42,28 +39,31 @@ import net.minecraft.util.DamageSource; import net.minecraft.world.World; import net.minecraftforge.common.ISpecialArmor; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; -import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.living.LivingEvent; import thaumcraft.api.IVisDiscountGear; import thaumcraft.api.aspects.Aspect; import thaumcraft.common.Thaumcraft; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; -import java.util.ArrayList; import java.util.List; public class ItemElectricBootsTraveller extends ItemArmor implements IElectricItem, IVisDiscountGear, IMetalArmor, ISpecialArmor { public int maxCharge = 10000; - @SuppressWarnings({"unchecked", "rawtypes"}) - public static List playersWith1Step = new ArrayList(); + public int energyPerDamage = 100; + public int visDiscount = 2; + public float speedBonus = 0.055F; + public float jumpBonus = 0.3F; + public float fallDistance = 0.5F; + public double transferLimit = 100; public ItemElectricBootsTraveller(int par3, int par4) { super(ArmorMaterial.DIAMOND, par3, par4); this.setMaxDamage(27); this.setMaxStackSize(1); this.setCreativeTab(CreativeTab.tabTombenpotter); - if (ticks()) - MinecraftForge.EVENT_BUS.register(this); + MinecraftForge.EVENT_BUS.register(this); } @SuppressWarnings({"rawtypes", "unchecked"}) @@ -83,91 +83,98 @@ public class ItemElectricBootsTraveller extends ItemArmor implements IElectricIt @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":electricboots"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":electricboots"); } @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/electricboots.png"; - } - - boolean ticks() { - return true; - } - - @SubscribeEvent - public void onEntityUpdate(LivingUpdateEvent event) { - if (event.entityLiving instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) event.entityLiving; - ItemStack armor = player.getCurrentArmor(3 - armorType); - if (armor != null && armor.getItem() == this) - tickPlayer(player); + public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) { + if (source.isUnblockable()) { + return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, 0.0D, 3); + } else { + double absorptionRatio = getBaseAbsorptionRatio() * getDamageAbsorptionRatio(); + int energyPerDamage = getEnergyPerDamage(); + double damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage; + return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(3, absorptionRatio, (int) damageLimit); } } - void tickPlayer(EntityPlayer player) { - if (player.worldObj.isRemote) - player.stepHeight = player.isSneaking() ? 0.5F : 1F; - if ((player.onGround || player.capabilities.isFlying) && player.moveForward > 0F) - player.moveFlying(0F, 1F, player.capabilities.isFlying ? 0.075F : 0.15F); - player.jumpMovementFactor = player.isSprinting() ? 0.05F : 0.04F; - player.fallDistance = 0F; + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { + if (ElectricItem.manager.getCharge(armor) >= getEnergyPerDamage()) { + return (int) Math.round(20D * getBaseAbsorptionRatio() * getDamageAbsorptionRatio()); + } else { + return 0; + } + } + + @Override + public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { + ElectricItem.manager.discharge(stack, damage * getEnergyPerDamage(), 0x7fffffff, true, false, false); + } + + public double getDamageAbsorptionRatio() { + return 1.1000000000000001D; + } + + private double getBaseAbsorptionRatio() { + return 0.14999999999999999D; + } + + @SuppressWarnings({"unchecked", "rawtypes"}) + @Override + public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { + list.add("Vis discount: " + String.valueOf(visDiscount) + "%"); + } + + @Override + public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { + return visDiscount; + } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + if ((!player.capabilities.isFlying) && (player.moveForward > 0.0F)) { + if ((player.worldObj.isRemote) && (!player.isSneaking())) { + if (!Thaumcraft.instance.entityEventHandler.prevStep.containsKey(Integer.valueOf(player.getEntityId()))) { + Thaumcraft.instance.entityEventHandler.prevStep.put(Integer.valueOf(player.getEntityId()), Float.valueOf(player.stepHeight)); + } + player.stepHeight = 1.0F; + } + if ((player.onGround || player.capabilities.isFlying) && player.moveForward > 0F) { + player.moveFlying(0F, 1F, speedBonus); + player.jumpMovementFactor = jumpBonus; + } + } + reduceFallDistance(player); } @SubscribeEvent - public void onPlayerJump(LivingJumpEvent event) { + public void onPlayerJump(LivingEvent.LivingJumpEvent event) { if (event.entityLiving instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) event.entityLiving; boolean hasArmor = player.getCurrentArmor(0) != null && player.getCurrentArmor(0).getItem() == this; if (hasArmor) - player.motionY += 0.3; + player.motionY += jumpBonus; } } - @SubscribeEvent(priority = EventPriority.HIGH) - public void onLivingUpdate(LivingUpdateEvent event) { - if (event.entityLiving instanceof EntityPlayer && event.entityLiving.worldObj.isRemote) { - EntityPlayer player = (EntityPlayer) event.entityLiving; - - boolean highStepListed = playersWith1Step.contains(player.getCommandSenderName()); - boolean hasHighStep = player.getCurrentArmor(0) != null && player.getCurrentArmor(0).getItem() == this; - - if (hasHighStep && !highStepListed) - playersWith1Step.add(player.getCommandSenderName()); - - if (!hasHighStep && highStepListed) { - playersWith1Step.remove(player.getCommandSenderName()); - player.stepHeight = 0.5F; - } + public void reduceFallDistance(EntityPlayer player) { + if (player.fallDistance > 0.0F) { + player.fallDistance -= fallDistance; } } + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { + return ElectroMagicTools.texturePath + ":textures/models/electricboots.png"; + } + @Override public boolean isMetalArmor(ItemStack itemstack, EntityPlayer player) { return true; } - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 2; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 100; - } - @Override public boolean isRepairable() { return false; @@ -192,60 +199,29 @@ public class ItemElectricBootsTraveller extends ItemArmor implements IElectricIt } public int getEnergyPerDamage() { - return 100; + return energyPerDamage; + } + + /* IC2 API METHODS */ + + @Override + public boolean canProvideEnergy(ItemStack itemStack) { + return false; } @Override - public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) { - if (source.isUnblockable()) { - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, 0.0D, 3); - } else { - double absorptionRatio = getBaseAbsorptionRatio() * getDamageAbsorptionRatio(); - int energyPerDamage = getEnergyPerDamage(); - int damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage; - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(3, absorptionRatio, damageLimit); - } + public double getMaxCharge(ItemStack itemStack) { + return maxCharge; } @Override - public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { - if (ElectricItem.manager.getCharge(armor) >= getEnergyPerDamage()) { - return (int) Math.round(20D * getBaseAbsorptionRatio() * getDamageAbsorptionRatio()); - } else { - return 0; - } - } - - @Override - public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { - ElectricItem.manager.discharge(stack, damage * getEnergyPerDamage(), 0x7fffffff, true, false); - } - - public double getDamageAbsorptionRatio() { - return 1.1000000000000001D; - } - - private double getBaseAbsorptionRatio() { - return 0.14999999999999999D; - } - - @SuppressWarnings({"unchecked", "rawtypes"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 2%"); - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { + public int getTier(ItemStack itemStack) { return 2; } @Override - public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { - if (Config.smoke == false && player.onGround == false) { - int miny = (int) (player.boundingBox.minY - 2.0D); - Thaumcraft.proxy.smokeSpiral(player.worldObj, player.posX, player.boundingBox.minY + player.height / 2.0F, player.posZ, 1.5F, player.worldObj.rand.nextInt(620), miny); - } + public double getTransferLimit(ItemStack itemStack) { + return transferLimit; } @Override @@ -257,5 +233,4 @@ public class ItemElectricBootsTraveller extends ItemArmor implements IElectricIt public Item getEmptyItem(ItemStack itemStack) { return this; } - } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemNanoBootsTraveller.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemNanoBootsTraveller.java new file mode 100644 index 0000000..9c9d931 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemNanoBootsTraveller.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + * + * Attention: this class originally belongs to the ThaumicTinkerer mod. + * All I did was modifying it to fulfill my needs. + * + * ThaumicTinkerer is Open Source and distributed under a + * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License + * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) + * + * http://www.minecraftforum.net/topic/1813058- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.items.armor.boots; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import tombenpotter.emt.common.util.Config; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.ElectroMagicTools; + +public class ItemNanoBootsTraveller extends ItemElectricBootsTraveller { + public ItemNanoBootsTraveller(int par3, int par4) { + super(par3, par4); + maxCharge = 500000; + speedBonus = (float) Config.nanoBootsSpeed; + jumpBonus = (float) Config.nanoBootsJump; + fallDistance = 0.75F; + visDiscount = 4; + transferLimit = 1000; + energyPerDamage = 500; + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":nanobootstravel"); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { + return ElectroMagicTools.texturePath + ":textures/models/nanobootstravel.png"; + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemQuantumBootsTraveller.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemQuantumBootsTraveller.java new file mode 100644 index 0000000..fe595ac --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/boots/ItemQuantumBootsTraveller.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + * + * Attention: this class originally belongs to the ThaumicTinkerer mod. + * All I did was modifying it to fulfill my needs. + * + * ThaumicTinkerer is Open Source and distributed under a + * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License + * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) + * + * http://www.minecraftforum.net/topic/1813058- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.items.armor.boots; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import tombenpotter.emt.common.util.Config; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.ElectroMagicTools; + +public class ItemQuantumBootsTraveller extends ItemElectricBootsTraveller { + public ItemQuantumBootsTraveller(int par3, int par4) { + super(par3, par4); + maxCharge = 1000000; + speedBonus = (float) Config.quantumBootsSpeed; + jumpBonus = (float) Config.quantumBootsJump; + fallDistance = 0.0F; + visDiscount = 5; + transferLimit = 10000; + energyPerDamage = 1000; + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":quantumbootstravel"); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { + return ElectroMagicTools.texturePath + ":textures/models/quantumbootstravel.png"; + } + + @Override + public void reduceFallDistance(EntityPlayer player) { + if (player.fallDistance > 0.0F) { + player.fallDistance = fallDistance; + } + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemQuantumWing.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemElectricGoggles.java similarity index 59% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemQuantumWing.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemElectricGoggles.java index 634f7fc..2efbb2a 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemQuantumWing.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemElectricGoggles.java @@ -1,16 +1,22 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.wings; +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.items.armor.goggles; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.client.model.ModelWings; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.Config; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import ic2.api.item.IMetalArmor; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; @@ -22,115 +28,39 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraft.world.World; import net.minecraftforge.common.ISpecialArmor; +import thaumcraft.api.IGoggles; import thaumcraft.api.IVisDiscountGear; import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.nodes.IRevealer; +import tombenpotter.emt.ElectroMagicTools; import java.util.List; -public class ItemQuantumWing extends ItemArmor implements IVisDiscountGear, IElectricItem, ISpecialArmor, IMetalArmor { +public class ItemElectricGoggles extends ItemArmor implements IElectricItem, IVisDiscountGear, IGoggles, IRevealer, IMetalArmor, ISpecialArmor { - public int maxCharge = 1000000; + public double maxCharge = 10000; + public double transferLimit = 10; + public int tier = 2; + public int energyPerDamage = 100; + public int visDiscount = 5; - public ItemQuantumWing() { - super(ArmorMaterial.DIAMOND, 7, 1); - this.setMaxStackSize(1); - this.setMaxDamage(27); - this.setCreativeTab(CreativeTab.tabTombenpotter); - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 6; + public ItemElectricGoggles(ArmorMaterial material, int par3, int par4) { + super(material, par3, par4); } @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":quantumwings"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":electricgoggles"); } @Override - @SideOnly(Side.CLIENT) public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/quantumwing.png"; + return ElectroMagicTools.texturePath + ":textures/models/electricgoggles.png"; } @Override - @SideOnly(Side.CLIENT) - public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { - return new ModelWings(); - } - - @SuppressWarnings({"unchecked", "rawtypes"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 6"); - } - - @Override - public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { - if (world.isRemote) { - boolean isJumping = Minecraft.getMinecraft().gameSettings.keyBindJump.isPressed(); - boolean isHoldingJump = Minecraft.getMinecraft().gameSettings.keyBindJump.getIsKeyPressed(); - boolean isSneaking = Minecraft.getMinecraft().gameSettings.keyBindSneak.getIsKeyPressed(); - - if (isJumping) - player.motionY = 0.85; - - if (isHoldingJump && !player.onGround && player.motionY < 0 && !player.capabilities.isCreativeMode) - player.motionY *= 0.3; - - if (player.isInWater() && !player.capabilities.isCreativeMode) - player.motionY = -0.1; - - if ((player.worldObj.isRaining() || player.worldObj.isThundering()) && !player.capabilities.isCreativeMode) - player.motionY = -0.05; - - if (isSneaking && isHoldingJump) - player.motionY = 0; - - if (isSneaking && !player.onGround && !isHoldingJump) - player.motionY = -0.6; - - - if (player.fallDistance > 0.0F) - player.fallDistance = 0F; - } - } - - @Override - public boolean isMetalArmor(ItemStack itemstack, EntityPlayer player) { - return true; - } - - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public Item getChargedItem(ItemStack itemStack) { - return this; - } - - @Override - public Item getEmptyItem(ItemStack itemStack) { - return this; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 3; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 10000; + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { } @SuppressWarnings({"rawtypes", "unchecked"}) @@ -170,19 +100,35 @@ public class ItemQuantumWing extends ItemArmor implements IVisDiscountGear, IEle } } - public int getEnergyPerDamage() { - return 100; + @Override + public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { + return visDiscount; + } + + @Override + public boolean showNodes(ItemStack itemstack, EntityLivingBase player) { + return true; + } + + @Override + public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player) { + return true; + } + + @Override + public boolean isMetalArmor(ItemStack itemstack, EntityPlayer player) { + return true; } @Override public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) { if (source.isUnblockable()) { - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, 0.0D, 3); + return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, 0.0D, 0); } else { double absorptionRatio = getBaseAbsorptionRatio() * getDamageAbsorptionRatio(); int energyPerDamage = getEnergyPerDamage(); - int damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage; - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(3, absorptionRatio, damageLimit); + double damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage; + return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, absorptionRatio, (int) damageLimit); } } @@ -195,16 +141,58 @@ public class ItemQuantumWing extends ItemArmor implements IVisDiscountGear, IEle } } + @SuppressWarnings({"unchecked", "rawtypes"}) + @Override + public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { + list.add("Vis discount: " + String.valueOf(visDiscount) + "%"); + } + @Override public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { - ElectricItem.manager.discharge(stack, damage * getEnergyPerDamage(), 0x7fffffff, true, false); + ElectricItem.manager.discharge(stack, damage * getEnergyPerDamage(), 0x7fffffff, true, false, false); } public double getDamageAbsorptionRatio() { return 1.1000000000000001D; } + public int getEnergyPerDamage() { + return energyPerDamage; + } + private double getBaseAbsorptionRatio() { - return 0.34999999999999999D; + return 0.14999999999999999D; + } + + /* IC2 API METHODS */ + + @Override + public boolean canProvideEnergy(ItemStack itemStack) { + return false; + } + + @Override + public double getMaxCharge(ItemStack itemStack) { + return maxCharge; + } + + @Override + public int getTier(ItemStack itemStack) { + return 2; + } + + @Override + public double getTransferLimit(ItemStack itemStack) { + return transferLimit; + } + + @Override + public Item getChargedItem(ItemStack itemStack) { + return this; + } + + @Override + public Item getEmptyItem(ItemStack itemStack) { + return this; } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemNanoThaumicHelmet.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemNanoGoggles.java similarity index 62% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemNanoThaumicHelmet.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemNanoGoggles.java index 74713cb..1d7ff59 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemNanoThaumicHelmet.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemNanoGoggles.java @@ -9,13 +9,11 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.goggles; +package tombenpotter.emt.common.module.ic2.items.armor.goggles; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.Config; import ic2.api.item.ElectricItem; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; @@ -25,44 +23,32 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import thaumcraft.api.aspects.Aspect; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; -import java.util.List; +public class ItemNanoGoggles extends ItemElectricGoggles { -public class ItemNanoThaumicHelmet extends ItemQuantumThaumicHelmet { - - public int maxCharge = 100000; - - public ItemNanoThaumicHelmet(int par3, int par4) { - super(par3, par4); + public ItemNanoGoggles(ArmorMaterial material, int par3, int par4) { + super(material, par3, par4); this.setCreativeTab(CreativeTab.tabTombenpotter); this.setMaxDamage(27); this.setMaxStackSize(1); + visDiscount = 6; + tier = 3; + maxCharge = 100000; + energyPerDamage = 1000; + transferLimit = 100; } @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":nanothaumichelmet"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":nanothaumichelmet"); } @Override public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/thaumicnanohelmet.png"; - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 6; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - public int getEnergyPerDamage() { - return 1000; + return ElectroMagicTools.texturePath + ":textures/models/thaumicnanohelmet.png"; } @Override @@ -83,15 +69,4 @@ public class ItemNanoThaumicHelmet extends ItemQuantumThaumicHelmet { } } } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 100; - } - - @SuppressWarnings({"unchecked", "rawtypes"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 6%"); - } } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemQuantumGoggles.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemQuantumGoggles.java new file mode 100644 index 0000000..9293382 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemQuantumGoggles.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.items.armor.goggles; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import tombenpotter.emt.common.util.Config; +import ic2.api.item.ElectricItem; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; + +import java.util.*; + +public class ItemQuantumGoggles extends ItemNanoGoggles { + private static final Map potionCost = new HashMap(); + + public ItemQuantumGoggles(ArmorMaterial material, int par3, int par4) { + super(material, par3, par4); + this.setCreativeTab(CreativeTab.tabTombenpotter); + this.setMaxDamage(27); + this.setMaxStackSize(1); + maxCharge = 10000000; + tier = 3; + visDiscount = 8; + transferLimit = 10000; + energyPerDamage = 1000; + + potionCost.put(Integer.valueOf(Potion.poison.id), Integer.valueOf(10000)); + potionCost.put(Integer.valueOf(Potion.wither.id), Integer.valueOf(15000)); + potionCost.put(Integer.valueOf(Potion.confusion.id), Integer.valueOf(5000)); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":quantumthaumichelmet"); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { + return ElectroMagicTools.texturePath + ":textures/models/thaumicquantumhelmet.png"; + } + + @SuppressWarnings({"rawtypes", "unchecked"}) + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + int refill = player.getAir(); + if (ElectricItem.manager.canUse(itemStack, 1000) && refill < 100) { + player.setAir(refill + 200); + ElectricItem.manager.use(itemStack, 1000, null); + } + + Iterator i$ = (new LinkedList(player.getActivePotionEffects())).iterator(); + do { + if (!i$.hasNext()) { + break; + } + { + PotionEffect effect = (PotionEffect) i$.next(); + int id = effect.getPotionID(); + Integer cost = (Integer) potionCost.get(Integer.valueOf(id)); + if (cost != null) { + cost = Integer.valueOf(cost.intValue() * (effect.getAmplifier() + 1)); + if (ElectricItem.manager.canUse(itemStack, cost.intValue())) { + ElectricItem.manager.use(itemStack, cost.intValue(), null); + ItemStack milk = (new ItemStack(Items.milk_bucket)); + player.curePotionEffects(milk); + } + } + } + } while (true); + + if (Config.nightVisionOff == false) { + if (ElectricItem.manager.canUse(itemStack, 1 / 1000)) { + int x = MathHelper.floor_double(player.posX); + int z = MathHelper.floor_double(player.posZ); + int y = MathHelper.floor_double(player.posY); + int lightlevel = player.worldObj.getBlockLightValue(x, y, z); + if (lightlevel >= 0) + player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 300, -3)); + ElectricItem.manager.use(itemStack, 1 / 1000, player); + } else { + player.addPotionEffect(new PotionEffect(Potion.blindness.id, 300, 0, true)); + } + } + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemSolarHelmetRevealing.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemSolarHelmetRevealing.java similarity index 56% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemSolarHelmetRevealing.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemSolarHelmetRevealing.java index c23c126..cc67b3c 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/goggles/ItemSolarHelmetRevealing.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/goggles/ItemSolarHelmetRevealing.java @@ -9,40 +9,31 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.goggles; +package tombenpotter.emt.common.module.ic2.items.armor.goggles; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.Config; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import net.minecraftforge.common.ISpecialArmor; -import thaumcraft.api.IGoggles; -import thaumcraft.api.IVisDiscountGear; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.nodes.IRevealer; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; -import java.util.*; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.Map; -public class ItemSolarHelmetRevealing extends ItemArmor implements ISpecialArmor, IRevealer, IVisDiscountGear, IGoggles, IElectricItem { - - public int maxCharge = 10000000; +public class ItemSolarHelmetRevealing extends ItemQuantumGoggles { private int ticker; private int generating; private int genDay; @@ -56,14 +47,19 @@ public class ItemSolarHelmetRevealing extends ItemArmor implements ISpecialArmor private static final Map potionCost = new HashMap(); @SuppressWarnings("unchecked") - public ItemSolarHelmetRevealing(int par3, int par4) { - super(ArmorMaterial.IRON, par3, par4); + public ItemSolarHelmetRevealing(ArmorMaterial material, int par3, int par4) { + super(material, par3, par4); this.setMaxDamage(27); this.setMaxStackSize(1); this.setCreativeTab(CreativeTab.tabTombenpotter); this.maxCharge = 1000000; this.genDay = 256; this.genNight = 128; + maxCharge = 10000000; + visDiscount = 7; + tier = 3; + transferLimit = 10000; + energyPerDamage = 10000; potionCost.put(Integer.valueOf(Potion.poison.id), Integer.valueOf(10000)); potionCost.put(Integer.valueOf(Potion.wither.id), Integer.valueOf(15000)); @@ -72,7 +68,7 @@ public class ItemSolarHelmetRevealing extends ItemArmor implements ISpecialArmor @Override public String getArmorTexture(ItemStack stack, Entity entity, int slot, String layerType) { - return ElectricMagicTools.texturePath + ":textures/models/solarrevealinghelmet.png"; + return ElectroMagicTools.texturePath + ":textures/models/solarrevealinghelmet.png"; } @SuppressWarnings("unchecked") @@ -130,7 +126,7 @@ public class ItemSolarHelmetRevealing extends ItemArmor implements ISpecialArmor for (int i = 0; i < player.inventory.armorInventory.length; i++) { if (energyLeft > 0) { if ((player.inventory.armorInventory[i] != null) && (player.inventory.armorInventory[i].getItem() instanceof IElectricItem)) { - int sentPacket = ElectricItem.manager.charge(player.inventory.armorInventory[i], energyLeft, 4, false, false); + double sentPacket = ElectricItem.manager.charge(player.inventory.armorInventory[i], energyLeft, 4, false, false); energyLeft -= sentPacket; } } else { @@ -140,7 +136,7 @@ public class ItemSolarHelmetRevealing extends ItemArmor implements ISpecialArmor for (int j = 0; j < player.inventory.mainInventory.length; j++) { if (energyLeft > 0) { if ((player.inventory.mainInventory[j] != null) && (player.inventory.mainInventory[j].getItem() instanceof IElectricItem)) { - int sentPacket = ElectricItem.manager.charge(player.inventory.mainInventory[j], energyLeft, 4, false, false); + double sentPacket = ElectricItem.manager.charge(player.inventory.mainInventory[j], energyLeft, 4, false, false); energyLeft -= sentPacket; } } else { @@ -189,127 +185,6 @@ public class ItemSolarHelmetRevealing extends ItemArmor implements ISpecialArmor @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":solarrevealinghelmet"); - } - - @Override - public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player) { - return true; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 7%"); - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 7; - } - - @Override - public boolean showNodes(ItemStack itemstack, EntityLivingBase player) { - return true; - } - - @Override - public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) { - if (source.isUnblockable()) { - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, 0.0D, 0); - } else { - double absorptionRatio = getBaseAbsorptionRatio() * getDamageAbsorptionRatio(); - int energyPerDamage = getEnergyPerDamage(); - int damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage; - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, absorptionRatio, damageLimit); - } - } - - @Override - public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { - if (ElectricItem.manager.getCharge(armor) >= getEnergyPerDamage()) { - return (int) Math.round(20D * getBaseAbsorptionRatio() * getDamageAbsorptionRatio()); - } else { - return 0; - } - } - - @Override - public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { - ElectricItem.manager.discharge(stack, damage * getEnergyPerDamage(), 0x7fffffff, true, false); - } - - public double getDamageAbsorptionRatio() { - return 1.1000000000000001D; - } - - public int getEnergyPerDamage() { - return 10000; - } - - private double getBaseAbsorptionRatio() { - return 0.14999999999999999D; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } - } - - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return true; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 1; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 1000; - } - - @Override - public int getItemEnchantability() { - if (Config.enchanting == false) { - return 0; - } else { - return 4; - } - } - - @Override - public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { - if (Config.enchanting == false) { - return false; - } else { - return true; - } - } - - @Override - public Item getChargedItem(ItemStack itemStack) { - return this; - } - - @Override - public Item getEmptyItem(ItemStack itemStack) { - return this; + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":solarrevealinghelmet"); } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemNanoWing.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/wings/ItemNanoWing.java similarity index 74% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemNanoWing.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/armor/wings/ItemNanoWing.java index 19437b6..c1e8d18 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/armor/wings/ItemNanoWing.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/wings/ItemNanoWing.java @@ -1,70 +1,67 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.items.armor.wings; +package tombenpotter.emt.common.module.ic2.items.armor.wings; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.client.model.ModelWings; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.module.base.items.ItemThaumiumReinforcedWing; +import tombenpotter.emt.common.util.Config; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import ic2.api.item.IMetalArmor; import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraft.world.World; import net.minecraftforge.common.ISpecialArmor; -import thaumcraft.api.IVisDiscountGear; -import thaumcraft.api.aspects.Aspect; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; import java.util.List; -public class ItemNanoWing extends ItemArmor implements IVisDiscountGear, IElectricItem, ISpecialArmor, IMetalArmor { +public class ItemNanoWing extends ItemThaumiumReinforcedWing implements IElectricItem, ISpecialArmor, IMetalArmor { public int maxCharge = 100000; + public int tier = 3; + public double transferLimit = 1000; + public int energyPerDamage = 100; - public ItemNanoWing() { - super(ArmorMaterial.DIAMOND, 7, 1); + public ItemNanoWing(ArmorMaterial material, int par3, int par4) { + super(material, par3, par4); this.setMaxStackSize(1); this.setMaxDamage(27); this.setCreativeTab(CreativeTab.tabTombenpotter); - } - - @Override - public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) { - return 5; + visDiscount = 5; } @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":nanowings"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":nanowings"); + } + + @SuppressWarnings({"rawtypes", "unchecked"}) + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { + ItemStack itemStack = new ItemStack(this, 1); + if (getChargedItem(itemStack) == this) { + ItemStack charged = new ItemStack(this, 1); + ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); + itemList.add(charged); + } + if (getEmptyItem(itemStack) == this) { + itemList.add(new ItemStack(this, 1, getMaxDamage())); + } } @Override @SideOnly(Side.CLIENT) public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return ElectricMagicTools.texturePath + ":textures/models/nanowing.png"; - } - - @Override - @SideOnly(Side.CLIENT) - public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { - return new ModelWings(); - } - - @SuppressWarnings({"unchecked", "rawtypes"}) - @Override - public void addInformation(ItemStack stack, EntityPlayer par2EntityPlayer, List list, boolean par4) { - list.add("Vis discount: 5"); + return ElectroMagicTools.texturePath + ":textures/models/nanowing.png"; } @Override @@ -104,50 +101,6 @@ public class ItemNanoWing extends ItemArmor implements IVisDiscountGear, IElectr return true; } - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public Item getChargedItem(ItemStack itemStack) { - return this; - } - - @Override - public Item getEmptyItem(ItemStack itemStack) { - return this; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 3; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 1000; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } - } - @Override public boolean isRepairable() { return false; @@ -172,7 +125,7 @@ public class ItemNanoWing extends ItemArmor implements IVisDiscountGear, IElectr } public int getEnergyPerDamage() { - return 100; + return energyPerDamage; } @Override @@ -182,8 +135,8 @@ public class ItemNanoWing extends ItemArmor implements IVisDiscountGear, IElectr } else { double absorptionRatio = getBaseAbsorptionRatio() * getDamageAbsorptionRatio(); int energyPerDamage = getEnergyPerDamage(); - int damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage; - return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(3, absorptionRatio, damageLimit); + double damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage; + return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(3, absorptionRatio, (int) damageLimit); } } @@ -198,7 +151,7 @@ public class ItemNanoWing extends ItemArmor implements IVisDiscountGear, IElectr @Override public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { - ElectricItem.manager.discharge(stack, damage * getEnergyPerDamage(), 0x7fffffff, true, false); + ElectricItem.manager.discharge(stack, damage * getEnergyPerDamage(), 0x7fffffff, true, false, false); } public double getDamageAbsorptionRatio() { @@ -208,4 +161,36 @@ public class ItemNanoWing extends ItemArmor implements IVisDiscountGear, IElectr private double getBaseAbsorptionRatio() { return 0.14999999999999999D; } + + /* IC2 API METHODS */ + + @Override + public boolean canProvideEnergy(ItemStack itemStack) { + return false; + } + + @Override + public double getMaxCharge(ItemStack itemStack) { + return maxCharge; + } + + @Override + public int getTier(ItemStack itemStack) { + return 2; + } + + @Override + public double getTransferLimit(ItemStack itemStack) { + return transferLimit; + } + + @Override + public Item getChargedItem(ItemStack itemStack) { + return this; + } + + @Override + public Item getEmptyItem(ItemStack itemStack) { + return this; + } } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/wings/ItemQuantumWing.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/wings/ItemQuantumWing.java new file mode 100644 index 0000000..534929d --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/armor/wings/ItemQuantumWing.java @@ -0,0 +1,69 @@ +package tombenpotter.emt.common.module.ic2.items.armor.wings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; + +public class ItemQuantumWing extends ItemNanoWing { + + public ItemQuantumWing(ArmorMaterial material, int par3, int par4) { + super(material, par3, par4); + this.setMaxStackSize(1); + this.setMaxDamage(27); + this.setCreativeTab(CreativeTab.tabTombenpotter); + maxCharge = 1000000; + visDiscount = 6; + transferLimit = 10000; + energyPerDamage = 1000; + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":quantumwings"); + } + + @Override + @SideOnly(Side.CLIENT) + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { + return ElectroMagicTools.texturePath + ":textures/models/quantumwing.png"; + } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { + if (world.isRemote) { + boolean isJumping = Minecraft.getMinecraft().gameSettings.keyBindJump.isPressed(); + boolean isHoldingJump = Minecraft.getMinecraft().gameSettings.keyBindJump.getIsKeyPressed(); + boolean isSneaking = Minecraft.getMinecraft().gameSettings.keyBindSneak.getIsKeyPressed(); + + if (isJumping) + player.motionY = 0.85; + + if (isHoldingJump && !player.onGround && player.motionY < 0 && !player.capabilities.isCreativeMode) + player.motionY *= 0.3; + + if (player.isInWater() && !player.capabilities.isCreativeMode) + player.motionY = -0.1; + + if ((player.worldObj.isRaining() || player.worldObj.isThundering()) && !player.capabilities.isCreativeMode) + player.motionY = -0.05; + + if (isSneaking && isHoldingJump) + player.motionY = 0; + + if (isSneaking && !player.onGround && !isHoldingJump) + player.motionY = -0.6; + + + if (player.fallDistance > 0.0F) + player.fallDistance = 0F; + } + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTMachines.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTMachines.java similarity index 95% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTMachines.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTMachines.java index 3cb7f9e..d17068f 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTMachines.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTMachines.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.blocks; +package tombenpotter.emt.common.module.ic2.items.blocks; import net.minecraft.block.Block; import net.minecraft.item.ItemBlock; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTSolars.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTSolars.java similarity index 97% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTSolars.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTSolars.java index b426f86..01e8bab 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTSolars.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTSolars.java @@ -9,9 +9,9 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.blocks; +package tombenpotter.emt.common.module.ic2.items.blocks; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; +import tombenpotter.emt.common.util.Config; import net.minecraft.block.Block; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTSolars2.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTSolars2.java similarity index 95% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTSolars2.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTSolars2.java index 6d7247a..a49c5b4 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEMTSolars2.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEMTSolars2.java @@ -9,9 +9,9 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.blocks; +package tombenpotter.emt.common.module.ic2.items.blocks; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; +import tombenpotter.emt.common.util.Config; import net.minecraft.block.Block; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEssentiaGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEssentiaGenerator.java new file mode 100644 index 0000000..5bf0ea8 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEssentiaGenerator.java @@ -0,0 +1,20 @@ +package tombenpotter.emt.common.module.ic2.items.blocks; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; + +import java.util.List; + +public class ItemBlockEssentiaGenerator extends ItemBlock { + + public ItemBlockEssentiaGenerator(Block id) { + super(id); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) { + // list.add(""); + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEssentiaGenerators.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEssentiaGenerators.java similarity index 81% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEssentiaGenerators.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEssentiaGenerators.java index bc8bed6..712a626 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/blocks/ItemBlockEssentiaGenerators.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/blocks/ItemBlockEssentiaGenerators.java @@ -9,12 +9,15 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.blocks; +package tombenpotter.emt.common.module.ic2.items.blocks; import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; +import java.util.List; + public class ItemBlockEssentiaGenerators extends ItemBlock { public ItemBlockEssentiaGenerators(Block id) { @@ -42,12 +45,21 @@ public class ItemBlockEssentiaGenerators extends ItemBlock { name = "arbor"; break; } + case 4: { + name = "aer"; + break; + } default: name = "nothing"; } return getUnlocalizedName() + "." + name; } + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) { + list.add("Going away next version."); + } + @Override public int getMetadata(int meta) { return meta; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemChargeFocus.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/foci/ItemChargeFocus.java similarity index 84% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemChargeFocus.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/foci/ItemChargeFocus.java index be4be26..0d9065e 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemChargeFocus.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/foci/ItemChargeFocus.java @@ -9,12 +9,13 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.foci; +package tombenpotter.emt.common.module.ic2.items.foci; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.module.base.items.foci.ItemBaseFocus; +import tombenpotter.emt.common.util.Config; +import tombenpotter.emt.ElectroMagicTools; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.client.renderer.texture.IIconRegister; @@ -37,7 +38,7 @@ public class ItemChargeFocus extends ItemBaseFocus { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":chargefocus"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":chargefocus"); } @Override @@ -65,7 +66,7 @@ public class ItemChargeFocus extends ItemBaseFocus { for (int i = 0; i < player.inventory.armorInventory.length; i++) { if (energyLeft > 0) { if ((player.inventory.armorInventory[i] != null) && (player.inventory.armorInventory[i].getItem() instanceof IElectricItem)) { - int sentPacket = ElectricItem.manager.charge(player.inventory.armorInventory[i], energyLeft, 4, false, false); + double sentPacket = ElectricItem.manager.charge(player.inventory.armorInventory[i], energyLeft, 4, false, false); energyLeft -= sentPacket; } } else { @@ -75,7 +76,7 @@ public class ItemChargeFocus extends ItemBaseFocus { for (int j = 0; j < player.inventory.mainInventory.length; j++) { if (energyLeft > 0) { if ((player.inventory.mainInventory[j] != null) && (player.inventory.mainInventory[j].getItem() instanceof IElectricItem)) { - int sentPacket = ElectricItem.manager.charge(player.inventory.mainInventory[j], energyLeft, 4, false, false); + double sentPacket = ElectricItem.manager.charge(player.inventory.mainInventory[j], energyLeft, 4, false, false); energyLeft -= sentPacket; } } else { diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemWandChargingFocus.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/foci/ItemWandChargingFocus.java similarity index 86% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemWandChargingFocus.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/foci/ItemWandChargingFocus.java index e6b4ecd..dd4dbfe 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/foci/ItemWandChargingFocus.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/foci/ItemWandChargingFocus.java @@ -1,9 +1,10 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.items.foci; +package tombenpotter.emt.common.module.ic2.items.foci; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.module.base.items.foci.ItemBaseFocus; +import tombenpotter.emt.common.util.Config; +import tombenpotter.emt.ElectroMagicTools; import ic2.api.item.ElectricItem; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -23,7 +24,7 @@ public class ItemWandChargingFocus extends ItemBaseFocus { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":wandchargefocus"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":wandchargefocus"); } @Override diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemElectricHoeGrowth.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/ItemElectricHoeGrowth.java similarity index 84% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemElectricHoeGrowth.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/tools/ItemElectricHoeGrowth.java index 65e8e03..0852cb0 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemElectricHoeGrowth.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/ItemElectricHoeGrowth.java @@ -9,24 +9,24 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; +package tombenpotter.emt.common.module.ic2.items.tools; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; import thaumcraft.common.items.equipment.ItemElementalHoe; +import tombenpotter.emt.common.util.CreativeTab; -import javax.swing.*; import java.util.List; public class ItemElectricHoeGrowth extends ItemElementalHoe implements IElectricItem { - public Icon icon; + public IIcon icon; public int maxCharge = 1000000; public int growthCost = 1000; public int tillCost = 100; @@ -39,8 +39,11 @@ public class ItemElectricHoeGrowth extends ItemElementalHoe implements IElectric /** * @SideOnly(Side.CLIENT) - * @Override public void registerIcons(IconRegister iconRegister) { this.icon = iconRegister .registerIcon("electricmagictools:electrichoegrowth"); } + * @Override public void registerIcons(IIconRegister iconRegister) { + * this.icon = iconRegister.registerIcon("electromagictools:electrichoegrowth"); + * } */ + @SuppressWarnings({"rawtypes", "unchecked"}) @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { @@ -55,13 +58,20 @@ public class ItemElectricHoeGrowth extends ItemElementalHoe implements IElectric } } + @Override + public boolean isRepairable() { + return false; + } + + /* IC2 API METHODS */ + @Override public boolean canProvideEnergy(ItemStack itemStack) { return false; } @Override - public int getMaxCharge(ItemStack itemStack) { + public double getMaxCharge(ItemStack itemStack) { return maxCharge; } @@ -71,15 +81,10 @@ public class ItemElectricHoeGrowth extends ItemElementalHoe implements IElectric } @Override - public int getTransferLimit(ItemStack itemStack) { + public double getTransferLimit(ItemStack itemStack) { return 1000; } - @Override - public boolean isRepairable() { - return false; - } - @Override public Item getChargedItem(ItemStack itemStack) { return this; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemElectricThorHammer.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/ItemElectricThorHammer.java similarity index 91% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemElectricThorHammer.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/tools/ItemElectricThorHammer.java index 4cbaecd..1f8455e 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/hammer/ItemElectricThorHammer.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/ItemElectricThorHammer.java @@ -9,14 +9,12 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools.hammer; +package tombenpotter.emt.common.module.ic2.items.tools; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; -import electricMagicTools.tombenpotter.electricmagictools.common.entities.EntityArcher; +import tombenpotter.emt.common.util.Config; +import tombenpotter.emt.common.module.base.entities.EntityArcher; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.client.renderer.texture.IIconRegister; @@ -31,6 +29,8 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.DamageSource; import net.minecraft.world.World; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; import java.util.List; @@ -48,30 +48,10 @@ public class ItemElectricThorHammer extends ItemSword implements IElectricItem { // OreDictionary.registerOre("craftingToolForgeHammer", this); } - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 2; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 100; - } - @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":hammer/electricthorhammer"); + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":hammer/electricthorhammer"); } @SuppressWarnings({"rawtypes", "unchecked"}) @@ -88,29 +68,6 @@ public class ItemElectricThorHammer extends ItemSword implements IElectricItem { } } - @Override - public boolean isRepairable() { - return false; - } - - @Override - public int getItemEnchantability() { - if (Config.enchanting == false) { - return 0; - } else { - return 4; - } - } - - @Override - public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { - if (Config.enchanting == false) { - return false; - } else { - return true; - } - } - @Override public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { @@ -192,6 +149,27 @@ public class ItemElectricThorHammer extends ItemSword implements IElectricItem { } } + @Override + public boolean isRepairable() { + return false; + } + + @Override + public int getItemEnchantability() { + if (Config.enchanting == false) { + return 0; + } else { + return 4; + } + } + + @Override + public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { + return Config.enchanting; + } + + /* IC2 API METHODS */ + @Override public Item getChargedItem(ItemStack itemStack) { return this; @@ -201,4 +179,24 @@ public class ItemElectricThorHammer extends ItemSword implements IElectricItem { public Item getEmptyItem(ItemStack itemStack) { return this; } + + @Override + public boolean canProvideEnergy(ItemStack itemStack) { + return false; + } + + @Override + public double getMaxCharge(ItemStack itemStack) { + return maxCharge; + } + + @Override + public int getTier(ItemStack itemStack) { + return 2; + } + + @Override + public double getTransferLimit(ItemStack itemStack) { + return 100; + } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemThaumiumChainsaw.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemDiamondChainsaw.java similarity index 84% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemThaumiumChainsaw.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemDiamondChainsaw.java index 938fcb4..9f65e15 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemThaumiumChainsaw.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemDiamondChainsaw.java @@ -9,13 +9,11 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; +package tombenpotter.emt.common.module.ic2.items.tools.chainsaws; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.Config; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.block.Block; @@ -31,18 +29,21 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraft.world.World; import net.minecraftforge.event.ForgeEventFactory; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; import java.util.List; -public class ItemThaumiumChainsaw extends ItemAxe implements IElectricItem { +public class ItemDiamondChainsaw extends ItemAxe implements IElectricItem { - public int maxCharge = 60000; - private final int cost = 250; - private final int hitCost = 350; + public int maxCharge = 40000; + public int cost = 200; + public int hitCost = 300; + public int tier = 2; - public ItemThaumiumChainsaw() { + public ItemDiamondChainsaw() { super(ToolMaterial.EMERALD); - this.efficiencyOnProperMaterial = 21F; + this.efficiencyOnProperMaterial = 16F; this.setCreativeTab(CreativeTab.tabTombenpotter); this.setMaxDamage(27); this.setMaxStackSize(1); @@ -51,41 +52,7 @@ public class ItemThaumiumChainsaw extends ItemAxe implements IElectricItem { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":thaumiumchainsaw"); - } - - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 2; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 600; - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":diamondchainsaw"); } @Override @@ -96,7 +63,7 @@ public class ItemThaumiumChainsaw extends ItemAxe implements IElectricItem { @Override public boolean canHarvestBlock(Block block, ItemStack stack) { - return Items.diamond_axe.canHarvestBlock(block, stack) || Items.diamond_sword.canHarvestBlock(block, stack); + return Items.diamond_axe.canHarvestBlock(block, stack) || Items.diamond_sword.canHarvestBlock(block, stack) || Items.shears.canHarvestBlock(block, stack); } @Override @@ -112,29 +79,6 @@ public class ItemThaumiumChainsaw extends ItemAxe implements IElectricItem { } } - @Override - public boolean isRepairable() { - return false; - } - - @Override - public int getItemEnchantability() { - if (Config.enchanting == false) { - return 0; - } else { - return 4; - } - } - - @Override - public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { - if (Config.enchanting == false) { - return false; - } else { - return true; - } - } - @Override public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { @@ -143,6 +87,20 @@ public class ItemThaumiumChainsaw extends ItemAxe implements IElectricItem { return false; } + @SuppressWarnings({"rawtypes", "unchecked"}) + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { + ItemStack itemStack = new ItemStack(this, 1); + if (getChargedItem(itemStack) == this) { + ItemStack charged = new ItemStack(this, 1); + ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); + itemList.add(charged); + } + if (getEmptyItem(itemStack) == this) { + itemList.add(new ItemStack(this, 1, getMaxDamage())); + } + } + @Override public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float xOffset, float yOffset, float zOffset) { for (int i = 0; i < player.inventory.mainInventory.length; i++) { @@ -172,6 +130,27 @@ public class ItemThaumiumChainsaw extends ItemAxe implements IElectricItem { return super.onItemUse(stack, player, world, x, y, z, side, xOffset, yOffset, zOffset); } + @Override + public boolean isRepairable() { + return false; + } + + @Override + public int getItemEnchantability() { + if (Config.enchanting == false) { + return 0; + } else { + return 4; + } + } + + @Override + public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { + return Config.enchanting; + } + + /* IC2 API METHODS */ + @Override public Item getChargedItem(ItemStack itemStack) { return this; @@ -181,4 +160,24 @@ public class ItemThaumiumChainsaw extends ItemAxe implements IElectricItem { public Item getEmptyItem(ItemStack itemStack) { return this; } + + @Override + public boolean canProvideEnergy(ItemStack itemStack) { + return false; + } + + @Override + public double getMaxCharge(ItemStack itemStack) { + return maxCharge; + } + + @Override + public int getTier(ItemStack itemStack) { + return tier; + } + + @Override + public double getTransferLimit(ItemStack itemStack) { + return 300; + } } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemStreamChainsaw.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemStreamChainsaw.java new file mode 100644 index 0000000..22e8f92 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemStreamChainsaw.java @@ -0,0 +1,107 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + * + * This class originally belongs to Azanor, but with his permission I took it, and modified it to make it work as I wanted to. + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.items.tools.chainsaws; + +import cpw.mods.fml.common.network.NetworkRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ic2.api.item.ElectricItem; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumAction; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import thaumcraft.common.lib.Utils; +import thaumcraft.common.lib.network.PacketHandler; +import thaumcraft.common.lib.network.fx.PacketFXBlockBubble; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; + +import java.awt.*; +import java.util.ArrayList; + +public class ItemStreamChainsaw extends ItemThaumiumChainsaw { + + boolean alternateServer; + boolean alternateClient; + @SuppressWarnings("rawtypes") + public static ArrayList oreDictLogs = new ArrayList(); + + public ItemStreamChainsaw() { + this.efficiencyOnProperMaterial = 25F; + alternateServer = false; + alternateClient = false; + setCreativeTab(CreativeTab.tabTombenpotter); + this.maxStackSize = 1; + this.setMaxDamage(27); + maxCharge = 900000; + cost = 400; + hitCost = 500; + tier = 3; + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":streamchainsaw"); + } + + @Override + public EnumAction getItemUseAction(ItemStack itemstack) { + return EnumAction.bow; + } + + @Override + public boolean onItemUse(ItemStack itemstack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10) { + Block bi = world.getBlock(x, y, z); + if ((!player.isSneaking()) && (Utils.isWoodLog(world, x, y, z))) { + if (!world.isRemote) { + if (Utils.breakFurthestBlock(world, x, y, z, bi, player)) { + world.playSoundEffect(x, y, z, "thaumcraft:bubble", 0.15F, 1.0F); + ElectricItem.manager.use(itemstack, cost, player); + this.alternateServer = (!this.alternateServer); + } + } else { + player.swingItem(); + ElectricItem.manager.use(itemstack, cost, player); + this.alternateClient = (!this.alternateClient); + } + } + return super.onItemUse(itemstack, player, world, x, y, z, par7, par8, par9, par10); + } + + @Override + public boolean onBlockStartBreak(ItemStack itemstack, int x, int y, int z, EntityPlayer player) { + World world = player.worldObj; + Block bi = world.getBlock(x, y, z); + if ((!player.isSneaking()) && (Utils.isWoodLog(world, x, y, z))) { + if (!world.isRemote) { + Utils.breakFurthestBlock(world, x, y, z, bi, player); + PacketHandler.INSTANCE.sendToAllAround(new PacketFXBlockBubble(x, y, z, new Color(0.33F, 0.33F, 1.0F).getRGB()), new NetworkRegistry.TargetPoint(world.provider.dimensionId, x, y, z, 32.0D)); + + world.playSoundEffect(x, y, z, "thaumcraft:bubble", 0.15F, 1.0F); + } + ElectricItem.manager.use(itemstack, cost, player); + return true; + } + return super.onBlockStartBreak(itemstack, x, y, z, player); + } + + /* IC2 API METHODS */ + @Override + public double getTransferLimit(ItemStack itemStack) { + return 900; + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemThaumiumChainsaw.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemThaumiumChainsaw.java new file mode 100644 index 0000000..d3737a5 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/chainsaws/ItemThaumiumChainsaw.java @@ -0,0 +1,64 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.items.tools.chainsaws; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ic2.api.item.ElectricItem; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; + +public class ItemThaumiumChainsaw extends ItemDiamondChainsaw { + + public ItemThaumiumChainsaw() { + this.efficiencyOnProperMaterial = 21F; + this.setCreativeTab(CreativeTab.tabTombenpotter); + this.setMaxDamage(27); + this.setMaxStackSize(1); + maxCharge = 60000; + cost = 250; + hitCost = 350; + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":thaumiumchainsaw"); + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int par4, int par5, int par6, EntityLivingBase entityLiving) { + ElectricItem.manager.use(stack, cost, entityLiving); + return true; + } + + @Override + public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { + if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { + entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 12F); + } + return false; + } + + /* IC2 API METHODS */ + @Override + public double getTransferLimit(ItemStack itemStack) { + return 600; + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemRockbreakerDrill.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/drills/ItemRockbreakerDrill.java similarity index 74% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemRockbreakerDrill.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/tools/drills/ItemRockbreakerDrill.java index cb6a0df..97a48b9 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemRockbreakerDrill.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/drills/ItemRockbreakerDrill.java @@ -11,28 +11,22 @@ * * This class originally belongs to Azanor, but with his permission I took it, and modified it to make it work as I wanted to. ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; +package tombenpotter.emt.common.module.ic2.items.tools.drills; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.Config; import ic2.api.item.ElectricItem; -import ic2.api.item.IElectricItem; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; -import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; import net.minecraft.server.MinecraftServer; import net.minecraft.util.DamageSource; @@ -44,19 +38,21 @@ import net.minecraftforge.event.ForgeEventFactory; import thaumcraft.common.Thaumcraft; import thaumcraft.common.entities.EntityFollowingItem; import thaumcraft.common.lib.Utils; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; import javax.swing.*; import java.util.ArrayList; import java.util.Iterator; -import java.util.List; -public class ItemRockbreakerDrill extends ItemPickaxe implements IElectricItem { +public class ItemRockbreakerDrill extends ItemThaumiumDrill { private static final Block[] isEffective = {Blocks.nether_brick, Blocks.netherrack, Blocks.glowstone, Blocks.iron_block, Blocks.gold_block, Blocks.diamond_block, Blocks.lapis_block, Blocks.redstone_block, Blocks.redstone_ore, Blocks.emerald_ore, Blocks.emerald_block, Blocks.stonebrick, Blocks.glass, Blocks.stone, Blocks.gold_ore, Blocks.iron_ore, Blocks.coal_ore, Blocks.cobblestone, Blocks.diamond_ore, Blocks.lapis_ore, Blocks.dirt, Blocks.gravel, Blocks.sand, Blocks.sandstone, Blocks.soul_sand, Blocks.clay, Blocks.grass, Blocks.snow_layer, Blocks.snow, Blocks.farmland, Blocks.hardened_clay, Blocks.stained_hardened_clay, Blocks.mossy_cobblestone}; public Icon icon; int side; + public int searchCost = 1000; + public int hitCost = 400; public ItemRockbreakerDrill() { - super(ToolMaterial.EMERALD); side = 0; setCreativeTab(CreativeTab.tabTombenpotter); this.efficiencyOnProperMaterial = 25F; @@ -66,31 +62,15 @@ public class ItemRockbreakerDrill extends ItemPickaxe implements IElectricItem { } else { this.setMaxDamage(2571); } + maxCharge = 900000; + transferLimit = 900; + tier = 3; } - public int maxCharge = 900000; - private int cost; - private final int searchCost = 1000; - private final int hitCost = 400; - @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":rockbreakerdrill"); - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - ItemStack itemStack = new ItemStack(this, 1); - if (getChargedItem(itemStack) == this) { - ItemStack charged = new ItemStack(this, 1); - ElectricItem.manager.charge(charged, 2147483647, 2147483647, true, false); - itemList.add(charged); - } - if (getEmptyItem(itemStack) == this) { - itemList.add(new ItemStack(this, 1, getMaxDamage())); - } + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":rockbreakerdrill"); } private boolean isEffectiveAgainst(Block block) { @@ -205,7 +185,6 @@ public class ItemRockbreakerDrill extends ItemPickaxe implements IElectricItem { } Minecraft mc = Minecraft.getMinecraft(); Thaumcraft.instance.renderEventHandler.startScan(player, x, y, z, System.currentTimeMillis() + 5000L); - player.swingItem(); return super.onItemUse(stack, player, world, x, y, z, side, xOffset, yOffset, zOffset); } @@ -227,75 +206,4 @@ public class ItemRockbreakerDrill extends ItemPickaxe implements IElectricItem { } return false; } - - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 3; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 900; - } - - @Override - public boolean canHarvestBlock(Block block, ItemStack stack) { - return Items.diamond_pickaxe.canHarvestBlock(block, stack) || Items.diamond_shovel.canHarvestBlock(block, stack); - } - - @Override - public float getDigSpeed(ItemStack stack, Block block, int meta) { - if (!ElectricItem.manager.canUse(stack, cost)) { - return 1.0F; - } - - if (Items.wooden_pickaxe.getDigSpeed(stack, block, meta) > 1.0F || Items.wooden_shovel.getDigSpeed(stack, block, meta) > 1.0F) { - return efficiencyOnProperMaterial; - } else { - return super.getDigSpeed(stack, block, meta); - } - } - - @Override - public boolean isRepairable() { - return false; - } - - @Override - public int getItemEnchantability() { - if (Config.enchanting == false) { - return 0; - } else { - return 6; - } - } - - @Override - public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { - if (Config.enchanting == false) { - return false; - } else { - return true; - } - } - - @Override - public Item getChargedItem(ItemStack itemStack) { - return this; - } - - @Override - public Item getEmptyItem(ItemStack itemStack) { - return this; - } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemThaumiumDrill.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/drills/ItemThaumiumDrill.java similarity index 89% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemThaumiumDrill.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/tools/drills/ItemThaumiumDrill.java index 1514f32..6d5ce25 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemThaumiumDrill.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/drills/ItemThaumiumDrill.java @@ -9,13 +9,11 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; +package tombenpotter.emt.common.module.ic2.items.tools.drills; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.Config; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.block.Block; @@ -30,11 +28,18 @@ import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraftforge.event.ForgeEventFactory; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; import java.util.List; public class ItemThaumiumDrill extends ItemPickaxe implements IElectricItem { + public int maxCharge = 60000; + public int cost; + public int tier = 2; + public double transferLimit = 100; + public ItemThaumiumDrill() { super(ToolMaterial.EMERALD); this.efficiencyOnProperMaterial = 20F; @@ -47,33 +52,10 @@ public class ItemThaumiumDrill extends ItemPickaxe implements IElectricItem { } } - public int maxCharge = 60000; - private int cost; - @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":thaumiumdrill"); - } - - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 2; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 100; + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":thaumiumdrill"); } @SuppressWarnings({"rawtypes", "unchecked"}) @@ -119,29 +101,6 @@ public class ItemThaumiumDrill extends ItemPickaxe implements IElectricItem { } } - @Override - public boolean isRepairable() { - return false; - } - - @Override - public int getItemEnchantability() { - if (Config.enchanting == false) { - return 0; - } else { - return 4; - } - } - - @Override - public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { - if (Config.enchanting == false) { - return false; - } else { - return true; - } - } - @Override public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase entityliving1) { return true; @@ -176,6 +135,47 @@ public class ItemThaumiumDrill extends ItemPickaxe implements IElectricItem { return super.onItemUse(stack, player, world, x, y, z, side, xOffset, yOffset, zOffset); } + @Override + public boolean isRepairable() { + return false; + } + + @Override + public int getItemEnchantability() { + if (Config.enchanting == false) { + return 0; + } else { + return 4; + } + } + + @Override + public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { + return Config.enchanting; + } + + /* IC2 API METHODS */ + + @Override + public boolean canProvideEnergy(ItemStack itemStack) { + return false; + } + + @Override + public double getMaxCharge(ItemStack itemStack) { + return maxCharge; + } + + @Override + public int getTier(ItemStack itemStack) { + return tier; + } + + @Override + public double getTransferLimit(ItemStack itemStack) { + return transferLimit; + } + @Override public Item getChargedItem(ItemStack itemStack) { return this; diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolDiamond.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolDiamond.java new file mode 100644 index 0000000..9e03a26 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolDiamond.java @@ -0,0 +1,73 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.items.tools.omnitools; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import tombenpotter.emt.common.util.Config; +import ic2.api.item.ElectricItem; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; + +public class ItemOmnitoolDiamond extends ItemOmnitoolIron { + public ItemOmnitoolDiamond() { + super(); + this.efficiencyOnProperMaterial = 16F; + this.setCreativeTab(CreativeTab.tabTombenpotter); + this.setMaxStackSize(1); + if (Config.toolsInBore == false) { + this.setMaxDamage(27); + } else { + this.setMaxDamage(350); + } + maxCharge = 70000; + hitCost = 250; + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":diamondomnitool"); + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int par4, int par5, int par6, EntityLivingBase entityLiving) { + if (Config.toolsInBore == false) { + cost = 200; + } else { + cost = 1; + } + ElectricItem.manager.use(stack, cost, entityLiving); + return true; + } + + @Override + public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { + if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { + entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 10F); + } + return false; + } + + /* IC2 API METHODS */ + @Override + public double getTransferLimit(ItemStack itemStack) { + return 400; + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolIron.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolIron.java similarity index 90% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolIron.java rename to src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolIron.java index 6a257c1..b1e205d 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/items/tools/ItemOmnitoolIron.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolIron.java @@ -9,13 +9,13 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.items.tools; +package tombenpotter.emt.common.module.ic2.items.tools.omnitools; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.CreativeTab; -import electricMagicTools.tombenpotter.electricmagictools.common.ElectricMagicTools; +import tombenpotter.emt.common.util.Config; +import tombenpotter.emt.common.util.CreativeTab; +import tombenpotter.emt.ElectroMagicTools; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import net.minecraft.block.Block; @@ -37,8 +37,8 @@ import java.util.List; public class ItemOmnitoolIron extends ItemPickaxe implements IElectricItem { public int maxCharge = 20000; - private int cost; - private final int hitCost = 125; + public int cost; + public int hitCost = 125; public ItemOmnitoolIron() { super(ToolMaterial.EMERALD); @@ -55,27 +55,7 @@ public class ItemOmnitoolIron extends ItemPickaxe implements IElectricItem { @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon(ElectricMagicTools.texturePath + ":ironomnitool"); - } - - @Override - public boolean canProvideEnergy(ItemStack itemStack) { - return false; - } - - @Override - public int getMaxCharge(ItemStack itemStack) { - return maxCharge; - } - - @Override - public int getTier(ItemStack itemStack) { - return 2; - } - - @Override - public int getTransferLimit(ItemStack itemStack) { - return 200; + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":ironomnitool"); } @SuppressWarnings({"rawtypes", "unchecked"}) @@ -123,29 +103,6 @@ public class ItemOmnitoolIron extends ItemPickaxe implements IElectricItem { } } - @Override - public boolean isRepairable() { - return false; - } - - @Override - public int getItemEnchantability() { - if (Config.enchanting == false) { - return 0; - } else { - return 4; - } - } - - @Override - public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { - if (Config.enchanting == false) { - return false; - } else { - return true; - } - } - @Override public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { @@ -183,6 +140,27 @@ public class ItemOmnitoolIron extends ItemPickaxe implements IElectricItem { return super.onItemUse(stack, player, world, x, y, z, side, xOffset, yOffset, zOffset); } + @Override + public boolean isRepairable() { + return false; + } + + @Override + public int getItemEnchantability() { + if (Config.enchanting == false) { + return 0; + } else { + return 4; + } + } + + @Override + public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { + return Config.enchanting; + } + + /* IC2 API METHODS */ + @Override public Item getChargedItem(ItemStack itemStack) { return this; @@ -192,4 +170,24 @@ public class ItemOmnitoolIron extends ItemPickaxe implements IElectricItem { public Item getEmptyItem(ItemStack itemStack) { return this; } + + @Override + public boolean canProvideEnergy(ItemStack itemStack) { + return false; + } + + @Override + public double getMaxCharge(ItemStack itemStack) { + return maxCharge; + } + + @Override + public int getTier(ItemStack itemStack) { + return 2; + } + + @Override + public double getTransferLimit(ItemStack itemStack) { + return 200; + } } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolThaumium.java b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolThaumium.java new file mode 100644 index 0000000..0979828 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/items/tools/omnitools/ItemOmnitoolThaumium.java @@ -0,0 +1,74 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.items.tools.omnitools; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import tombenpotter.emt.common.util.Config; +import ic2.api.item.ElectricItem; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.util.CreativeTab; + +public class ItemOmnitoolThaumium extends ItemOmnitoolDiamond { + public ItemOmnitoolThaumium() { + super(); + this.efficiencyOnProperMaterial = 21F; + this.setCreativeTab(CreativeTab.tabTombenpotter); + this.setMaxStackSize(1); + if (Config.toolsInBore == false) { + this.setMaxDamage(27); + } else { + this.setMaxDamage(467); + } + maxCharge = 140000; + hitCost = 650; + } + + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(ElectroMagicTools.texturePath + ":thaumiumomnitool"); + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int par4, int par5, int par6, EntityLivingBase entityLiving) { + if (Config.toolsInBore == false) { + cost = 300; + } else { + cost = 1; + } + ElectricItem.manager.use(stack, cost, entityLiving); + return true; + } + + @Override + public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) { + if (ElectricItem.manager.use(itemstack, hitCost, attacker)) { + entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 10F); + } + return false; + } + + /* IC2 API METHODS */ + @Override + public double getTransferLimit(ItemStack itemStack) { + return 800; + } + +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/EMTInitRecipes.java b/src/main/java/tombenpotter/emt/common/module/ic2/recipes/EMTInitRecipes.java similarity index 58% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/EMTInitRecipes.java rename to src/main/java/tombenpotter/emt/common/module/ic2/recipes/EMTInitRecipes.java index 99845b3..b70bacc 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/EMTInitRecipes.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/recipes/EMTInitRecipes.java @@ -9,12 +9,12 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.recipes; +package tombenpotter.emt.common.module.ic2.recipes; import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.GameRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.ItemRegistry; +import tombenpotter.emt.common.module.ic2.IC2ModuleItemRegistry; import ic2.api.item.IC2Items; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -28,13 +28,13 @@ public class EMTInitRecipes { public static void add() { /** Crafting Recipes **/ - ironOmnitool = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.ironOmnitool), "X", "Z", "Y", 'X', new ItemStack(IC2Items.getItem("chainsaw").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'Y', new ItemStack(IC2Items.getItem("miningDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'Z', IC2Items.getItem("plateiron")); - diamondChainsaw = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.diamondChainsaw), " X ", "XYX", 'X', new ItemStack(Items.diamond), 'Y', new ItemStack(IC2Items.getItem("chainsaw").getItem(), 1, OreDictionary.WILDCARD_VALUE)); - ductTape = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.itemEMTItems, 1, 9), "XXX", "YYY", "XXX", 'X', new ItemStack(ItemRegistry.itemEMTItems, 1, 8), 'Y', new ItemStack(Items.paper)); - featherMesh = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.itemEMTItems, 1, 7), "XYX", "YXY", "XYX", 'X', new ItemStack(Items.feather), 'Y', new ItemStack(ItemRegistry.itemEMTItems, 1, 9)); - featherWing = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.itemEMTItems, 1, 12), "XYZ", "XYZ", "XYZ", 'X', new ItemStack(ItemRegistry.itemEMTItems, 1, 7), 'Y', new ItemStack(ItemRegistry.itemEMTItems, 1, 8), 'Z', new ItemStack(ItemRegistry.itemEMTItems, 1, 11)); - featherWings = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.featherWing), "XX", 'X', new ItemStack(ItemRegistry.itemEMTItems, 1, 12)); - taintedFeathers = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.itemEMTItems, 1, 14), " X ", "XYX", " X ", 'X', new ItemStack(ConfigItems.itemResource, 1, 12), 'Y', new ItemStack(Items.feather)); + ironOmnitool = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.ironOmnitool), "X", "Z", "Y", 'X', new ItemStack(IC2Items.getItem("chainsaw").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'Y', new ItemStack(IC2Items.getItem("miningDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'Z', IC2Items.getItem("plateiron")); + diamondChainsaw = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.diamondChainsaw), " X ", "XYX", 'X', new ItemStack(Items.diamond), 'Y', new ItemStack(IC2Items.getItem("chainsaw").getItem(), 1, OreDictionary.WILDCARD_VALUE)); + ductTape = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 9), "XXX", "YYY", "XXX", 'X', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 8), 'Y', new ItemStack(Items.paper)); + featherMesh = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 7), "XYX", "YXY", "XYX", 'X', new ItemStack(Items.feather), 'Y', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 9)); + featherWing = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 12), "XYZ", "XYZ", "XYZ", 'X', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 7), 'Y', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 8), 'Z', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 11)); + featherWings = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.featherWing), "XX", 'X', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 12)); + taintedFeathers = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 14), " X ", "XYX", " X ", 'X', new ItemStack(ConfigItems.itemResource, 1, 12), 'Y', new ItemStack(Items.feather)); if (Loader.isModLoaded("gregtech_addon") == false) { GameRegistry.addShapedRecipe(IC2Items.getItem("diamondDrill"), " Y ", "YXY", 'Y', new ItemStack(Items.diamond), 'X', new ItemStack(IC2Items.getItem("miningDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE)); @@ -48,18 +48,18 @@ public class EMTInitRecipes { /** OreDict Crafting Recipes **/ for (int i = 0; i < OreDictionary.getOres("logWood").size(); i++) { - cardboard = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.itemEMTItems, 1, 11), "XXX", "YYY", "XXX", 'X', new ItemStack(Items.paper), 'Y', OreDictionary.getOres("logWood").get(i)); + cardboard = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 11), "XXX", "YYY", "XXX", 'X', new ItemStack(Items.paper), 'Y', OreDictionary.getOres("logWood").get(i)); } for (int i = 0; i < OreDictionary.getOres("itemRubber").size(); i++) { - rubberBall = GameRegistry.addShapedRecipe(new ItemStack(ItemRegistry.itemEMTItems, 1, 10), "XXX", "XXX", "XXX", 'X', OreDictionary.getOres("itemRubber").get(i)); + rubberBall = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 10), "XXX", "XXX", "XXX", 'X', OreDictionary.getOres("itemRubber").get(i)); } /** Smelting Recipes **/ - GameRegistry.addSmelting(new ItemStack(ItemRegistry.itemEMTItems, 1, 1), new ItemStack(ConfigItems.itemResource, 1, 6), 0.0F); - GameRegistry.addSmelting(new ItemStack(ItemRegistry.itemEMTItems, 1, 2), new ItemStack(ConfigItems.itemResource, 1, 6), 0.0F); - GameRegistry.addSmelting(new ItemStack(ItemRegistry.itemEMTItems, 1, 3), new ItemStack(ConfigItems.itemResource, 1, 3), 0.0F); - GameRegistry.addSmelting(new ItemStack(ItemRegistry.itemEMTItems, 1, 4), new ItemStack(ConfigItems.itemResource, 1, 3), 0.0F); - GameRegistry.addSmelting(new ItemStack(ItemRegistry.itemEMTItems, 1, 10), new ItemStack(ItemRegistry.itemEMTItems, 2, 8), 0.0F); + GameRegistry.addSmelting(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 1), new ItemStack(ConfigItems.itemResource, 1, 6), 0.0F); + GameRegistry.addSmelting(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 2), new ItemStack(ConfigItems.itemResource, 1, 6), 0.0F); + GameRegistry.addSmelting(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 3), new ItemStack(ConfigItems.itemResource, 1, 3), 0.0F); + GameRegistry.addSmelting(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 4), new ItemStack(ConfigItems.itemResource, 1, 3), 0.0F); + GameRegistry.addSmelting(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 10), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 2, 8), 0.0F); } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/recipes/EMTPostInitRecipes.java b/src/main/java/tombenpotter/emt/common/module/ic2/recipes/EMTPostInitRecipes.java new file mode 100644 index 0000000..36f954a --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/recipes/EMTPostInitRecipes.java @@ -0,0 +1,315 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.recipes; + +import cpw.mods.fml.common.FMLLog; +import cpw.mods.fml.common.registry.GameRegistry; +import ic2.api.item.IC2Items; +import ic2.api.recipe.IRecipeInput; +import ic2.api.recipe.RecipeInputItemStack; +import ic2.api.recipe.Recipes; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.IRecipe; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.oredict.OreDictionary; +import thaumcraft.api.ThaumcraftApi; +import thaumcraft.api.crafting.CrucibleRecipe; +import thaumcraft.api.crafting.InfusionRecipe; +import thaumcraft.api.crafting.ShapedArcaneRecipe; +import thaumcraft.api.crafting.ShapelessArcaneRecipe; +import thaumcraft.common.config.ConfigBlocks; +import thaumcraft.common.config.ConfigItems; +import tombenpotter.emt.common.util.CraftingAspects; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.IC2ModuleItemRegistry; +import tombenpotter.emt.common.util.Config; + +import java.util.Iterator; + +public class EMTPostInitRecipes { + + public static void add() { + + /** Infusion Recipes **/ + + thaumiumDrill = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Drill", new ItemStack(IC2ModuleItemRegistry.thaumiumDrill), 5, CraftingAspects.thaumiumDrillCrafting, new ItemStack(IC2Items.getItem("diamondDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(Items.diamond), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("denseplateiron")}); + + thaumiumChainsaw = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Chainsaw", new ItemStack(IC2ModuleItemRegistry.thaumiumChainsaw), 5, CraftingAspects.thaumiumChainsawCrafting, new ItemStack(IC2ModuleItemRegistry.diamondChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(Items.diamond), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("denseplateiron")}); + + thaumicQuantumHelmet = ThaumcraftApi.addInfusionCraftingRecipe("Quantum Goggles of Revealing", new ItemStack(IC2ModuleItemRegistry.quantumThaumicHelmet), 6, CraftingAspects.thaumicQuantumHelmetCrafting, new ItemStack(IC2ModuleItemRegistry.nanoThaumicHelmet, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(Items.milk_bucket), new ItemStack(IC2Items.getItem("quantumHelmet").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("advancedCircuit")}); + + thaumicNanoHelmet = ThaumcraftApi.addInfusionCraftingRecipe("Nanosuit Goggles of Revealing", new ItemStack(IC2ModuleItemRegistry.nanoThaumicHelmet), 5, CraftingAspects.thaumicNanoHelmetCrafting, new ItemStack(IC2ModuleItemRegistry.electricGoggles, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(Items.gold_ingot), new ItemStack(IC2Items.getItem("nanoHelmet").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("carbonPlate"), IC2Items.getItem("electronicCircuit")}); + + thaumiumOmnitool = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Omnitool", new ItemStack(IC2ModuleItemRegistry.thaumiumOmnitool), 6, CraftingAspects.thaumiumOmnitoolCrafting, new ItemStack(IC2ModuleItemRegistry.thaumiumChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(IC2ModuleItemRegistry.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), IC2Items.getItem("carbonPlate"), IC2Items.getItem("plateobsidian")}); + + diamondOmnitoolToThaumium = ThaumcraftApi.addInfusionCraftingRecipe("Thaumium Omnitool", new ItemStack(IC2ModuleItemRegistry.thaumiumOmnitool), 6, CraftingAspects.thaumiumOmnitoolCrafting, new ItemStack(IC2ModuleItemRegistry.diamondOmnitool, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Blocks.diamond_block), new ItemStack(ConfigBlocks.blockMetalDevice, 1, 9), new ItemStack(ConfigBlocks.blockMetalDevice, 1, 9), new ItemStack(IC2Items.getItem("energyCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("carbonPlate"), IC2Items.getItem("advancedCircuit")}); + + explosionFocus = ThaumcraftApi.addInfusionCraftingRecipe("Explosion Focus", new ItemStack(IC2ModuleItemRegistry.explosionFocus), 6, CraftingAspects.laserFocusCrafting, new ItemStack(ConfigItems.itemFocusHellbat, 1), new ItemStack[]{new ItemStack(IC2Items.getItem("miningLaser").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.arrow), new ItemStack(Items.gunpowder), new ItemStack(Items.firework_charge), new ItemStack(ConfigItems.itemResource, 1, 1)}); + + shieldFocus = ThaumcraftApi.addInfusionCraftingRecipe("Shield Focus", new ItemStack(IC2ModuleItemRegistry.shieldFocus), 4, CraftingAspects.shieldFocusCrafting, new ItemStack(ConfigItems.itemFocusPortableHole, 1), new ItemStack[]{IC2Items.getItem("reinforcedStone"), IC2Items.getItem("reinforcedGlass"), IC2Items.getItem("reinforcedStone"), IC2Items.getItem("reinforcedGlass"), new ItemStack(Blocks.soul_sand), new ItemStack(Blocks.obsidian), new ItemStack(Blocks.obsidian)}); + + potentiaGenerator = ThaumcraftApi.addInfusionCraftingRecipe("Potentia Generator", new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 0), 6, CraftingAspects.potentiaGeneratorCrafting, IC2Items.getItem("semifluidGenerator"), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(ConfigItems.itemFocusTrade), new ItemStack(Blocks.hopper), new ItemStack(ConfigBlocks.blockJar), IC2Items.getItem("mvTransformer"), IC2Items.getItem("advancedMachine"), IC2Items.getItem("orewashingplant"), IC2Items.getItem("scrap")}); + + streamChainsaw = ThaumcraftApi.addInfusionCraftingRecipe("Chainsaw of the Stream", new ItemStack(IC2ModuleItemRegistry.streamChainsaw), 6, CraftingAspects.streamChaisnawCrafting, new ItemStack(IC2ModuleItemRegistry.thaumiumChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.water_bucket), new ItemStack(ConfigItems.itemAxeElemental), new ItemStack(ConfigBlocks.blockMagicalLog), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("compressedPlantBall"), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("overclockerUpgrade")}); + + rockbreakerDrill = ThaumcraftApi.addInfusionCraftingRecipe("Drill of the Rockbreaker", new ItemStack(IC2ModuleItemRegistry.rockbreakerDrill), 6, CraftingAspects.rockbreakerDrillCrafting, new ItemStack(IC2ModuleItemRegistry.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.flint_and_steel), new ItemStack(Items.fire_charge), new ItemStack(ConfigItems.itemPickElemental), new ItemStack(ConfigItems.itemShovelElemental), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("reinforcedStone"), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("overclockerUpgrade")}); + + thorHammer = ThaumcraftApi.addInfusionCraftingRecipe("Mjolnir", new ItemStack(IC2ModuleItemRegistry.thorHammer), 7, CraftingAspects.thorHammerCrafting, new ItemStack(IC2ModuleItemRegistry.taintedThorHammer, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 6), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 6), new ItemStack(ConfigItems.itemSwordElemental), new ItemStack(ConfigItems.itemResource, 1, 1), new ItemStack(ConfigItems.itemFocusShock), IC2Items.getItem("rubber")}); + + superchargedThorHammer = ThaumcraftApi.addInfusionCraftingRecipe("Supercharged Mjolnir", new ItemStack(IC2ModuleItemRegistry.electricThorHammer), 10, CraftingAspects.superchargedThorHammerCrafting, new ItemStack(IC2ModuleItemRegistry.thorHammer, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 6), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 6), new ItemStack(Blocks.web), new ItemStack(ConfigItems.itemFocusHellbat), new ItemStack(ConfigItems.itemSwordElemental), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), new ItemStack(IC2Items.getItem("nanoSaber").getItem(), 1, OreDictionary.WILDCARD_VALUE)}); + + wandRecharger = ThaumcraftApi.addInfusionCraftingRecipe("Industrial Wand Charging Station", new ItemStack(IC2ModuleBlockRegistry.emtMachines, 1, 0), 6, CraftingAspects.wandCharger, new ItemStack(ConfigBlocks.blockStoneDevice, 1, 5), new ItemStack[]{IC2Items.getItem("replicator"), IC2Items.getItem("iridiumPlate"), new ItemStack(Blocks.diamond_block), new ItemStack(ConfigItems.itemShard, 1, 5), new ItemStack(ConfigBlocks.blockJar)}); + + solarHelmetRevealing = ThaumcraftApi.addInfusionCraftingRecipe("Solar Helmet of Revealing", new ItemStack(IC2ModuleItemRegistry.solarHelmetRevealing), 5, CraftingAspects.solarHelmetRevealing, new ItemStack(IC2ModuleItemRegistry.quantumThaumicHelmet, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), IC2Items.getItem("glassFiberCableItem"), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemShard, 1, 4)}); + + electricBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe("Electric Boots of the Traveller", new ItemStack(IC2ModuleItemRegistry.electricBootsTraveller), 2, CraftingAspects.electricBootsTravel, new ItemStack(ConfigItems.itemBootsTraveller), new ItemStack[]{new ItemStack(Items.diamond), IC2Items.getItem("elemotor"), IC2Items.getItem("coil"), IC2Items.getItem("hazmatBoots"), new ItemStack(IC2Items.getItem("advBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE)}); + + nanoBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe("Nano Boots of the Traveller", new ItemStack(IC2ModuleItemRegistry.nanoBootsTraveller), 2, CraftingAspects.nanoBootsTravel, new ItemStack(IC2ModuleItemRegistry.electricBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Items.diamond), new ItemStack(IC2Items.getItem("nanoBoots").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("energyCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE)}); + + quantumBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe("Quantum Boots of the Traveller", new ItemStack(IC2ModuleItemRegistry.quantumBootsTraveller), 2, CraftingAspects.quantumBootsTravel, new ItemStack(IC2ModuleItemRegistry.nanoBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{new ItemStack(Blocks.diamond_block), new ItemStack(IC2Items.getItem("quantumBoots").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("iridiumPlate")}); + + etheralProcessor = ThaumcraftApi.addInfusionCraftingRecipe("Etheral Processor", new ItemStack(IC2ModuleBlockRegistry.emtMachines, 1, 1), 3, CraftingAspects.etherealProcessor, IC2Items.getItem("macerator"), new ItemStack[]{IC2Items.getItem("electroFurnace"), new ItemStack(ConfigBlocks.blockMetalDevice, 1, 9), new ItemStack(Blocks.end_stone), new ItemStack(Blocks.end_stone), new ItemStack(Blocks.iron_block), new ItemStack(Blocks.iron_block), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5)}); + + tripleCompressedSolar = ThaumcraftApi.addInfusionCraftingRecipe("Compressed Solars", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 2), 2, CraftingAspects.compressedSolars, new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), new ItemStack[]{new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1)}); + + electricHoeGrowth = ThaumcraftApi.addInfusionCraftingRecipe("Electric Hoe of Growth", new ItemStack(IC2ModuleItemRegistry.electricHoeGrowth), 4, CraftingAspects.electricHoeGrowth, new ItemStack(ConfigItems.itemHoeElemental), new ItemStack[]{new ItemStack(IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("electricHoe").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.dye, 1, 15), IC2Items.getItem("elemotor"), IC2Items.getItem("coil"), new ItemStack(Blocks.sapling, 1, OreDictionary.WILDCARD_VALUE)}); + + chargeFocus = ThaumcraftApi.addInfusionCraftingRecipe("Wand Focus: Charging", new ItemStack(IC2ModuleItemRegistry.chargeFocus), 4, CraftingAspects.chargeFocus, new ItemStack(IC2Items.getItem("advBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{IC2Items.getItem("generator"), IC2Items.getItem("batBox"), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), new ItemStack(ConfigItems.itemShard, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemShard, 1, OreDictionary.WILDCARD_VALUE)}); + + wandChargeFocus = ThaumcraftApi.addInfusionCraftingRecipe("Wand Focus: Wand Charging", new ItemStack(IC2ModuleItemRegistry.wandChargeFocus), 5, CraftingAspects.wandChargeFocus, new ItemStack(IC2ModuleBlockRegistry.emtMachines, 1, 0), new ItemStack[]{new ItemStack(IC2ModuleItemRegistry.chargeFocus), new ItemStack(IC2Items.getItem("energyPack").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate")}); + + inventoryChargingRing = ThaumcraftApi.addInfusionCraftingRecipe("Inventory Charging Ring", new ItemStack(IC2ModuleItemRegistry.emtBauble, 1, 1), 6, CraftingAspects.inventoryChargingRing, new ItemStack(ConfigItems.itemBaubleBlanks, 1, 1), new ItemStack[]{new ItemStack(IC2ModuleItemRegistry.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("generator"), IC2Items.getItem("geothermalGenerator"), IC2Items.getItem("waterMill"), IC2Items.getItem("solarPanel"), IC2Items.getItem("windMill"), IC2Items.getItem("nuclearReactor")}); + + armorChargingRing = ThaumcraftApi.addInfusionCraftingRecipe("Armor Charging Ring", new ItemStack(IC2ModuleItemRegistry.emtBauble, 1, 0), 6, CraftingAspects.armorChargingRing, new ItemStack(ConfigItems.itemBaubleBlanks, 1, 1), new ItemStack[]{new ItemStack(IC2ModuleItemRegistry.electricBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("generator"), IC2Items.getItem("geothermalGenerator"), IC2Items.getItem("waterMill"), IC2Items.getItem("solarPanel"), IC2Items.getItem("windMill"), IC2Items.getItem("nuclearReactor")}); + + nanoWings = ThaumcraftApi.addInfusionCraftingRecipe("Nanosuit Wings", new ItemStack(IC2ModuleItemRegistry.nanoWing), 4, CraftingAspects.nanoWing, new ItemStack(IC2ModuleItemRegistry.thaumiumWing), new ItemStack[]{IC2Items.getItem("carbonPlate"), IC2Items.getItem("carbonPlate"), IC2Items.getItem("carbonPlate"), new ItemStack(IC2Items.getItem("nanoBodyarmor").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemResource, 1, 1)}); + + quantumWings = ThaumcraftApi.addInfusionCraftingRecipe("Quantum Wings", new ItemStack(IC2ModuleItemRegistry.quantumWing), 6, CraftingAspects.quantumWing, new ItemStack(IC2ModuleItemRegistry.nanoWing, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[]{IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), new ItemStack(IC2Items.getItem("quantumBodyarmor").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemResource, 1, 1)}); + + /** Arcane Worktable Recipes **/ + + diamondOmnitool = ThaumcraftApi.addShapelessArcaneCraftingRecipe("Diamond Omnitool", new ItemStack(IC2ModuleItemRegistry.diamondOmnitool), CraftingAspects.diamondOmnitoolCrafting, new ItemStack(IC2ModuleItemRegistry.diamondChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(IC2Items.getItem("diamondDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE)); + + ironOmnitoolToDiamond = ThaumcraftApi.addArcaneCraftingRecipe("Diamond Omnitool", new ItemStack(IC2ModuleItemRegistry.diamondOmnitool), CraftingAspects.diamondOmnitoolCrafting, "XAX", "XBX", "XAX", 'X', new ItemStack(Items.diamond), 'A', IC2Items.getItem("advancedCircuit"), 'B', new ItemStack(IC2ModuleItemRegistry.ironOmnitool, 1, OreDictionary.WILDCARD_VALUE)); + + christmasFocus = ThaumcraftApi.addArcaneCraftingRecipe("Kris-tmas Focus", new ItemStack(IC2ModuleItemRegistry.christmasFocus), CraftingAspects.christmasFocusCrafting, "XYX", "YZY", "XYX", 'X', new ItemStack(Blocks.snow), 'Y', new ItemStack(Blocks.pumpkin), 'Z', new ItemStack(ConfigItems.itemFocusFrost)); + + electricGoggles = ThaumcraftApi.addArcaneCraftingRecipe("Electric Goggles", new ItemStack(IC2ModuleItemRegistry.electricGoggles), CraftingAspects.electricGogglesCrafting, " Y ", "AZA", "BXB", 'Z', new ItemStack(ConfigItems.itemGoggles), 'X', IC2Items.getItem("electronicCircuit"), 'Y', new ItemStack(Items.diamond_helmet), 'A', new ItemStack(IC2Items.getItem("chargedReBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'B', Items.repeater); + + shieldBlock = ThaumcraftApi.addArcaneCraftingRecipe("Shield Blocks", new ItemStack(IC2ModuleBlockRegistry.shield, 8), CraftingAspects.shieldBlockCrafting, "XYX", "X X", "XYX", 'X', new ItemStack(Blocks.glass), 'Y', new ItemStack(Blocks.obsidian)); + + tinyUranium = ThaumcraftApi.addShapelessArcaneCraftingRecipe("Tiny Uranium", new ItemStack(IC2Items.getItem("smallUran235").getItem(), 7), CraftingAspects.tinyUraniumCrafting, IC2Items.getItem("Uran238")); + + compressedSolar = ThaumcraftApi.addArcaneCraftingRecipe("Compressed Solars", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0), CraftingAspects.compressedSolars, "XXX", "XXX", "XXX", 'X', IC2Items.getItem("solarPanel")); + + doubleCompressedSolar = ThaumcraftApi.addArcaneCraftingRecipe("Compressed Solars", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), CraftingAspects.compressedSolars, "XXX", "XXX", "XXX", 'X', new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0)); + + electricScribingTools = ThaumcraftApi.addArcaneCraftingRecipe("Electric Scribing Tools", new ItemStack(IC2ModuleItemRegistry.electricScribingTools), CraftingAspects.electricScribingTools, "YXY", "XZX", "YXY", 'Y', IC2Items.getItem("electronicCircuit"), 'X', new ItemStack(ConfigItems.itemInkwell), 'Z', new ItemStack(IC2Items.getItem("energyCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE)); + + thaumiumWing = ThaumcraftApi.addArcaneCraftingRecipe("Thaumium Reinforced Wings", new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 15), CraftingAspects.thaumiumWing, "XYZ", "XYZ", "XYZ", 'X', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 14), 'Y', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), 'Z', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 13)); + + thaumiumWings = ThaumcraftApi.addArcaneCraftingRecipe("Thaumium Reinforced Wings", new ItemStack(IC2ModuleItemRegistry.thaumiumWing), CraftingAspects.thaumiumWing, "XX", 'X', new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 15)); + + /** Crucible Recipes **/ + + ignisGenerator = ThaumcraftApi.addCrucibleRecipe("Ignis Generator", new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 1), new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 0), CraftingAspects.ignisGeneratorCrafting); + + auramGenerator = ThaumcraftApi.addCrucibleRecipe("Auram Generator", new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 2), new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 0), CraftingAspects.auramGeneratorCrafting); + + arborGenerator = ThaumcraftApi.addCrucibleRecipe("Arbor Generator", new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 3), new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 0), CraftingAspects.arborGeneratorCrafting); + + aerGenerator = ThaumcraftApi.addCrucibleRecipe("Aer Generator", new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 4), new ItemStack(IC2ModuleBlockRegistry.essentiaGens, 1, 0), CraftingAspects.aerGenerator); + + waterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 3), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0), CraftingAspects.waterSolars); + + doubleWaterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 4), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), CraftingAspects.waterSolars); + + tripleWaterSolar = ThaumcraftApi.addCrucibleRecipe("Water Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 5), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 2), CraftingAspects.waterSolars); + + darkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 6), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0), CraftingAspects.darkSolars); + + doubleDarkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 7), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), CraftingAspects.darkSolars); + + tripleDarkSolar = ThaumcraftApi.addCrucibleRecipe("Entropy Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 8), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 2), CraftingAspects.darkSolars); + + orderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 9), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0), CraftingAspects.orderSolars); + + doubleOrderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 10), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), CraftingAspects.orderSolars); + + tripleOrderSolar = ThaumcraftApi.addCrucibleRecipe("Order Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 11), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 2), CraftingAspects.orderSolars); + + fireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 12), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0), CraftingAspects.fireSolars); + + doubleFireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 13), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), CraftingAspects.fireSolars); + + tripleFireSolar = ThaumcraftApi.addCrucibleRecipe("Fire Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 14), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 2), CraftingAspects.fireSolars); + + airSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 15), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0), CraftingAspects.airSolars); + + doubleAirSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 0), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), CraftingAspects.airSolars); + + tripleAirSolar = ThaumcraftApi.addCrucibleRecipe("Air Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 1), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 2), CraftingAspects.airSolars); + + earthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 2), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0), CraftingAspects.earthSolars); + + doubleEarthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 3), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1), CraftingAspects.earthSolars); + + tripleEarthSolar = ThaumcraftApi.addCrucibleRecipe("Earth Infused Solar Panels", new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 4), new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 2), CraftingAspects.earthSolars); + + portableNode = ThaumcraftApi.addCrucibleRecipe("Portable Node", new ItemStack(IC2ModuleBlockRegistry.portableNode), new ItemStack(ConfigItems.itemJarFilled), CraftingAspects.portableNode); + + /** IC2 Stuff related recipes **/ + + /* Ore Clusters Macerator Recipes */ + ItemStack ironClusterRecipe = IC2Items.getItem("smallIronDust").copy(); + ironClusterRecipe.stackSize = 22; + Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 16)), null, ironClusterRecipe); + + ItemStack goldClusterRecipe = IC2Items.getItem("smallGoldDust").copy(); + goldClusterRecipe.stackSize = 22; + Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 31)), null, goldClusterRecipe); + + ItemStack copperClusterRecipe = IC2Items.getItem("smallCopperDust").copy(); + copperClusterRecipe.stackSize = 22; + Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 17)), null, copperClusterRecipe); + + ItemStack tinClusterRecipe = IC2Items.getItem("smallTinDust").copy(); + tinClusterRecipe.stackSize = 22; + Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 18)), null, tinClusterRecipe); + + ItemStack silverClusterRecipe = IC2Items.getItem("smallSilverDust").copy(); + silverClusterRecipe.stackSize = 22; + Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 19)), null, silverClusterRecipe); + + ItemStack leadClusterRecipe = IC2Items.getItem("smallLeadDust").copy(); + leadClusterRecipe.stackSize = 22; + Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 20)), null, leadClusterRecipe); + + /* Thaumium Plates Recipes */ + thaumiumPlate = GameRegistry.addShapedRecipe(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5), "X", "Y", "Z", 'Y', new ItemStack(ConfigItems.itemResource, 1, 2), 'X', new ItemStack(IC2Items.getItem("ForgeHammer").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'Z', new ItemStack(Blocks.obsidian)); + Recipes.metalformerRolling.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigItems.itemResource, 1, 2)), null, new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 5)); + + /* Iron Sheet Recipe */ + Recipes.metalformerRolling.addRecipe(new RecipeInputItemStack(IC2Items.getItem("denseplateiron")), null, new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 13)); + + /* Ore Processing for Amber and Cinnabar */ + if (Config.removeAmberAndCinnabarMacerating == true) { + for (Iterator it = Recipes.macerator.getRecipes().keySet().iterator(); it.hasNext(); ) { + IRecipeInput input = it.next(); + if (input.matches(new ItemStack(ConfigBlocks.blockCustomOre, 1, 7))) { + it.remove(); + FMLLog.info("[EMT] Electro-Magic Tools : Removing conflicting amber macerating recipe(s)"); + } + } + + for (Iterator it = Recipes.macerator.getRecipes().keySet().iterator(); it.hasNext(); ) { + IRecipeInput input = it.next(); + if (input.matches(new ItemStack(ConfigBlocks.blockCustomOre, 1, 0))) { + it.remove(); + FMLLog.info("[EMT] Electro-Magic Tools : Removing Conflicting cinnabar macerating recipe(s)"); + } + } + } + ItemStack crushedAmberRecipe = new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 1); + crushedAmberRecipe.stackSize = 2; + Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigBlocks.blockCustomOre, 1, 7)), null, crushedAmberRecipe); + + ItemStack crushedCinnabarRecipe = new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 3); + crushedCinnabarRecipe.stackSize = 2; + Recipes.macerator.addRecipe(new RecipeInputItemStack(new ItemStack(ConfigBlocks.blockCustomOre, 1, 0)), null, crushedCinnabarRecipe); + + NBTTagCompound waterAmount = new NBTTagCompound(); + waterAmount.setInteger("amount", 1000); + + ItemStack smallCopperDust = IC2Items.getItem("smallCopperDust"); + smallCopperDust.stackSize = 2; + ItemStack smallTinDust = IC2Items.getItem("smallTinDust"); + smallCopperDust.stackSize = 2; + + Recipes.oreWashing.addRecipe(new RecipeInputItemStack(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 1)), waterAmount, new ItemStack[]{new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 2), smallCopperDust, IC2Items.getItem("stoneDust")}); + Recipes.oreWashing.addRecipe(new RecipeInputItemStack(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 3)), waterAmount, new ItemStack[]{new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 4), smallTinDust, IC2Items.getItem("stoneDust")}); + + NBTTagCompound heatAmount = new NBTTagCompound(); + heatAmount.setInteger("minHeat", 1000); + + Recipes.centrifuge.addRecipe(new RecipeInputItemStack(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 2)), heatAmount, new ItemStack[]{IC2Items.getItem("smallCopperDust"), new ItemStack(ConfigItems.itemResource, 1, 6)}); + Recipes.centrifuge.addRecipe(new RecipeInputItemStack(new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 4)), heatAmount, new ItemStack[]{IC2Items.getItem("smallTinDust"), new ItemStack(ConfigItems.itemResource, 1, 3)}); + } + + public static InfusionRecipe thaumiumDrill; + public static InfusionRecipe thaumiumChainsaw; + public static InfusionRecipe thaumicQuantumHelmet; + public static InfusionRecipe thaumiumOmnitool; + public static InfusionRecipe thaumicNanoHelmet; + public static InfusionRecipe explosionFocus; + public static InfusionRecipe shieldFocus; + public static InfusionRecipe potentiaGenerator; + public static InfusionRecipe streamChainsaw; + public static InfusionRecipe rockbreakerDrill; + public static InfusionRecipe thorHammer; + public static InfusionRecipe superchargedThorHammer; + public static InfusionRecipe wandRecharger; + public static InfusionRecipe solarHelmetRevealing; + public static InfusionRecipe electricBootsTravel; + public static InfusionRecipe nanoBootsTravel; + public static InfusionRecipe quantumBootsTravel; + public static InfusionRecipe diamondOmnitoolToThaumium; + public static InfusionRecipe etheralProcessor; + public static InfusionRecipe tripleCompressedSolar; + public static InfusionRecipe electricHoeGrowth; + public static InfusionRecipe chargeFocus; + public static InfusionRecipe wandChargeFocus; + public static InfusionRecipe inventoryChargingRing; + public static InfusionRecipe armorChargingRing; + public static InfusionRecipe nanoWings; + public static InfusionRecipe quantumWings; + + public static ShapelessArcaneRecipe diamondOmnitool; + public static ShapelessArcaneRecipe tinyUranium; + public static ShapedArcaneRecipe christmasFocus; + public static ShapedArcaneRecipe electricGoggles; + public static ShapedArcaneRecipe shieldBlock; + public static ShapedArcaneRecipe compressedSolar; + public static ShapedArcaneRecipe doubleCompressedSolar; + public static ShapedArcaneRecipe ironOmnitoolToDiamond; + public static ShapedArcaneRecipe electricScribingTools; + public static ShapedArcaneRecipe thaumiumWing; + public static ShapedArcaneRecipe thaumiumWings; + + public static CrucibleRecipe ignisGenerator; + public static CrucibleRecipe auramGenerator; + public static CrucibleRecipe arborGenerator; + public static CrucibleRecipe aerGenerator; + public static CrucibleRecipe waterSolar; + public static CrucibleRecipe doubleWaterSolar; + public static CrucibleRecipe tripleWaterSolar; + public static CrucibleRecipe darkSolar; + public static CrucibleRecipe doubleDarkSolar; + public static CrucibleRecipe tripleDarkSolar; + public static CrucibleRecipe orderSolar; + public static CrucibleRecipe doubleOrderSolar; + public static CrucibleRecipe tripleOrderSolar; + public static CrucibleRecipe fireSolar; + public static CrucibleRecipe doubleFireSolar; + public static CrucibleRecipe tripleFireSolar; + public static CrucibleRecipe airSolar; + public static CrucibleRecipe doubleAirSolar; + public static CrucibleRecipe tripleAirSolar; + public static CrucibleRecipe earthSolar; + public static CrucibleRecipe doubleEarthSolar; + public static CrucibleRecipe tripleEarthSolar; + public static CrucibleRecipe portableNode; + + public static IRecipe thaumiumPlate; +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/UuMInfusionRecipes.java b/src/main/java/tombenpotter/emt/common/module/ic2/recipes/UuMInfusionRecipes.java similarity index 97% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/UuMInfusionRecipes.java rename to src/main/java/tombenpotter/emt/common/module/ic2/recipes/UuMInfusionRecipes.java index 9a19ec6..2949177 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/recipes/UuMInfusionRecipes.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/recipes/UuMInfusionRecipes.java @@ -9,9 +9,9 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.recipes; +package tombenpotter.emt.common.module.ic2.recipes; -import electricMagicTools.tombenpotter.electricmagictools.common.lib.CraftingAspects; +import tombenpotter.emt.common.util.CraftingAspects; import ic2.api.item.IC2Items; import net.minecraft.init.Blocks; import net.minecraft.init.Items; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityEMT.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityEMT.java similarity index 95% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityEMT.java rename to src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityEMT.java index 3119f99..d49230d 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityEMT.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityEMT.java @@ -1,4 +1,4 @@ -package electricMagicTools.tombenpotter.electricmagictools.common.tile; +package tombenpotter.emt.common.module.ic2.tile; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.NetworkManager; diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityEtherealMacerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityEtherealMacerator.java similarity index 97% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityEtherealMacerator.java rename to src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityEtherealMacerator.java index b823e08..b01124f 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityEtherealMacerator.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityEtherealMacerator.java @@ -9,10 +9,11 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile; +package tombenpotter.emt.common.module.ic2.tile; -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEMT; +import tombenpotter.emt.common.util.Config; import ic2.api.item.IC2Items; import ic2.api.tile.IWrenchable; import net.minecraft.entity.player.EntityPlayer; @@ -281,7 +282,7 @@ public class TileEntityEtherealMacerator extends TileEntityEMT implements ISided @Override public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtMachines, 1, 1); + return new ItemStack(IC2ModuleBlockRegistry.emtMachines, 1, 1); } @Override diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityIndustrialWandRecharge.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityIndustrialWandRecharge.java similarity index 93% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityIndustrialWandRecharge.java rename to src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityIndustrialWandRecharge.java index 9f49448..ee04c4f 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/TileEntityIndustrialWandRecharge.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/TileEntityIndustrialWandRecharge.java @@ -9,9 +9,8 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile; +package tombenpotter.emt.common.module.ic2.tile; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; import ic2.api.energy.prefab.BasicSink; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; @@ -20,6 +19,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import thaumcraft.api.aspects.Aspect; import thaumcraft.common.items.wands.ItemWandCasting; +import tombenpotter.emt.common.util.Config; public class TileEntityIndustrialWandRecharge extends TileEntityEMT implements IInventory { private BasicSink ic2EnergySink = new BasicSink(this, 100000, 4); @@ -80,10 +80,9 @@ public class TileEntityIndustrialWandRecharge extends TileEntityEMT implements I if (getStackInSlot(0) != null) { ItemStack wand = getStackInSlot(0); - - if (ic2EnergySink.useEnergy(Config.wandChargerConsumption)) { - if (wand != null && wand.getItem() instanceof ItemWandCasting) { - ItemWandCasting wandItem = (ItemWandCasting) wand.getItem(); + if (wand != null && wand.getItem() instanceof ItemWandCasting) { + ItemWandCasting wandItem = (ItemWandCasting) wand.getItem(); + if (ic2EnergySink.useEnergy(Config.wandChargerConsumption) && wandItem.getAspectsWithRoom(wand) != null) { wandItem.addVis(wand, Aspect.ORDER, 1, true); wandItem.addVis(wand, Aspect.FIRE, 1, true); wandItem.addVis(wand, Aspect.ENTROPY, 1, true); diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityAerGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityAerGenerator.java new file mode 100644 index 0000000..6a4fe67 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityAerGenerator.java @@ -0,0 +1,10 @@ +package tombenpotter.emt.common.module.ic2.tile.generators; + +import thaumcraft.api.aspects.Aspect; + +public class TileEntityAerGenerator extends TileEntityBaseGenerator { + + public TileEntityAerGenerator() { + aspect = Aspect.AIR; + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityArborGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityArborGenerator.java new file mode 100644 index 0000000..9434822 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityArborGenerator.java @@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.generators; + +import thaumcraft.api.aspects.Aspect; + +public class TileEntityArborGenerator extends TileEntityBaseGenerator { + + public TileEntityArborGenerator() { + aspect = Aspect.TREE; + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityAuramGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityAuramGenerator.java new file mode 100644 index 0000000..5f0f600 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityAuramGenerator.java @@ -0,0 +1,20 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.generators; + +import thaumcraft.api.aspects.Aspect; + +public class TileEntityAuramGenerator extends TileEntityBaseGenerator { + public TileEntityAuramGenerator() { + aspect = Aspect.AURA; + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityBaseGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityBaseGenerator.java new file mode 100644 index 0000000..4a3425d --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityBaseGenerator.java @@ -0,0 +1,65 @@ +package tombenpotter.emt.common.module.ic2.tile.generators; + +import ic2.api.energy.prefab.BasicSource; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.common.util.ForgeDirection; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.common.lib.events.EssentiaHandler; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEMT; +import tombenpotter.emt.common.util.Config; +import tombenpotter.emt.common.util.EssentiasOutputs; + +public abstract class TileEntityBaseGenerator extends TileEntityEMT { + public static int waitTime; + public BasicSource energySource = new BasicSource(this, 1000000000, 3); + public Aspect aspect; + public double output; + + public TileEntityBaseGenerator() { + waitTime = 30; + output = EssentiasOutputs.outputs.get(aspect.getTag()); + } + + @Override + public void updateEntity() { + energySource.updateEntity(); + + if (waitTime > 0) { + waitTime--; + } + + if (waitTime <= 0) { + createEnergy(); + waitTime = Config.essentiaGeneratorsDelay; + } + } + + public void createEnergy() { + if (!this.worldObj.isRemote && EssentiaHandler.drainEssentia(this, aspect, ForgeDirection.UNKNOWN, 8)) { + energySource.addEnergy(output); + } + } + + @Override + public void onChunkUnload() { + energySource.onChunkUnload(); + } + + @Override + public void invalidate() { + energySource.invalidate(); + super.invalidate(); + } + + @Override + public void readFromNBT(NBTTagCompound tag) { + super.readFromNBT(tag); + energySource.readFromNBT(tag); + } + + @Override + public void writeToNBT(NBTTagCompound tag) { + super.writeToNBT(tag); + energySource.writeToNBT(tag); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityEssentiaGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityEssentiaGenerator.java new file mode 100644 index 0000000..aa17c0c --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityEssentiaGenerator.java @@ -0,0 +1,73 @@ +package tombenpotter.emt.common.module.ic2.tile.generators; + +import ic2.api.energy.prefab.BasicSource; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.common.util.ForgeDirection; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.common.lib.events.EssentiaHandler; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEMT; +import tombenpotter.emt.common.util.Config; +import tombenpotter.emt.common.util.EssentiasOutputs; + +public class TileEntityEssentiaGenerator extends TileEntityEMT { + + public String[] aspects = new String[4]; + public boolean[] isFree = new boolean[4]; + public static int waitTime; + public BasicSource energySource = new BasicSource(this, 1000000000, 3); + + public TileEntityEssentiaGenerator() { + waitTime = 30; + for (int i = 0; i < aspects.length; i++) { + aspects[i] = String.valueOf(i); + isFree[i] = true; + } + } + + public void updateEntity() { + energySource.updateEntity(); + if (waitTime > 0) { + waitTime--; + } + + if (waitTime <= 0 && !worldObj.isRemote) { + for (int i = 0; i < aspects.length; i++) { + if (EssentiaHandler.drainEssentia(this, Aspect.getAspect(aspects[i]), ForgeDirection.UNKNOWN, 8)) { + energySource.addEnergy(EssentiasOutputs.outputs.get(aspects[i])); + } + } + waitTime = Config.essentiaGeneratorsDelay; + } + } + + @Override + public void readFromNBT(NBTTagCompound tag) { + super.readFromNBT(tag); + energySource.readFromNBT(tag); + for (int i = 0; i < aspects.length; i++) { + this.aspects[i] = tag.getString("aspect" + String.valueOf(i)); + this.isFree[i] = tag.getBoolean("isFree" + String.valueOf(i)); + } + } + + @Override + public void writeToNBT(NBTTagCompound tag) { + super.writeToNBT(tag); + energySource.writeToNBT(tag); + for (int i = 0; i < aspects.length; i++) { + tag.setString("aspect" + String.valueOf(i), this.aspects[i]); + tag.setBoolean("isFree" + String.valueOf(i), this.isFree[i]); + } + } + + @Override + public void onChunkUnload() { + energySource.onChunkUnload(); + } + + @Override + public void invalidate() { + energySource.invalidate(); + super.invalidate(); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityIgnisGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityIgnisGenerator.java new file mode 100644 index 0000000..5de451c --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityIgnisGenerator.java @@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.generators; + +import thaumcraft.api.aspects.Aspect; + +public class TileEntityIgnisGenerator extends TileEntityBaseGenerator { + + public TileEntityIgnisGenerator() { + aspect = Aspect.FIRE; + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityPotentiaGenerator.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityPotentiaGenerator.java new file mode 100644 index 0000000..897bf1e --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/generators/TileEntityPotentiaGenerator.java @@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.generators; + +import thaumcraft.api.aspects.Aspect; + +public class TileEntityPotentiaGenerator extends TileEntityBaseGenerator { + + public TileEntityPotentiaGenerator() { + aspect = Aspect.ENERGY; + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityOrderSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/TileEntitySolarBase.java similarity index 55% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityOrderSolar.java rename to src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/TileEntitySolarBase.java index 730e95c..c87c8a0 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/tile/solars/TileEntityOrderSolar.java +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/TileEntitySolarBase.java @@ -1,45 +1,35 @@ -/******************************************************************************* - * Copyright (c) 2014 Tombenpotter. - * All rights reserved. - * - * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 - * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html - * - * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. - * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. - * http://www.minecraftforum.net/topic/1585216- - ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.tile.solars; +package tombenpotter.emt.common.module.ic2.tile.solars; -import electricMagicTools.tombenpotter.electricmagictools.common.BlockRegistry; -import electricMagicTools.tombenpotter.electricmagictools.common.Config; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEMT; import ic2.api.energy.prefab.BasicSource; import ic2.api.tile.IWrenchable; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEMT; import java.util.Random; -public class TileEntityOrderSolar extends TileEntityEMT implements IWrenchable { +public abstract class TileEntitySolarBase extends TileEntityEMT implements IWrenchable { - private BasicSource energySource = new BasicSource(this, 10000, 2); - private static Random random = new Random(); - private boolean initialized; + public BasicSource energySource = new BasicSource(this, 10000, 1); + public static Random random = new Random(); + public boolean initialized; public boolean theSunIsVisible; - private int tick; - private boolean canRain; - private boolean noSunlight; + public boolean canRain; + public boolean noSunlight; + public int tick; + public double output = 0; - public TileEntityOrderSolar() { - super(); + public TileEntitySolarBase() { this.tick = random.nextInt(64); } @Override public void updateEntity() { energySource.updateEntity(); + checkConditions(); + } + + public void checkConditions() { if (!initialized && worldObj != null) { canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; noSunlight = worldObj.provider.hasNoSky; @@ -52,13 +42,16 @@ public class TileEntityOrderSolar extends TileEntityEMT implements IWrenchable { updateSunState(); tick = 64; } + createEnergy(); + } + public void createEnergy() { if (theSunIsVisible) { - energySource.addEnergy(Config.compressedSolarOutput * 3); + energySource.addEnergy(output); } } - private void updateSunState() { + public void updateSunState() { boolean isRaining = canRain && (worldObj.isRaining() || worldObj.isThundering()); theSunIsVisible = worldObj.isDaytime() && !isRaining && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord); } @@ -98,7 +91,6 @@ public class TileEntityOrderSolar extends TileEntityEMT implements IWrenchable { @Override public void setFacing(short facing) { - } @Override @@ -110,9 +102,4 @@ public class TileEntityOrderSolar extends TileEntityEMT implements IWrenchable { public float getWrenchDropRate() { return 1; } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { - return new ItemStack(BlockRegistry.emtSolars, 1, 9); - } } diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityAirSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityAirSolar.java new file mode 100644 index 0000000..9919d58 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityAirSolar.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.air; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityAirSolar extends TileEntitySolarBase { + + public TileEntityAirSolar() { + output = Config.compressedSolarOutput; + } + + @Override + public void createEnergy() { + if (theSunIsVisible && this.yCoord >= 160) { + energySource.addEnergy(output * 2.5); + } else if (theSunIsVisible) { + energySource.addEnergy(output); + } + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 15); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityDoubleAirSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityDoubleAirSolar.java new file mode 100644 index 0000000..0ea0a54 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityDoubleAirSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.air; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityDoubleAirSolar extends TileEntityAirSolar { + + public TileEntityDoubleAirSolar() { + output = Config.doubleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 0); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityTripleAirSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityTripleAirSolar.java new file mode 100644 index 0000000..5b28c6b --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/air/TileEntityTripleAirSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.air; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityTripleAirSolar extends TileEntityAirSolar { + + public TileEntityTripleAirSolar() { + output = Config.tripleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 1); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityCompressedSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityCompressedSolar.java new file mode 100644 index 0000000..8b4e3ab --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityCompressedSolar.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.compressed; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityCompressedSolar extends TileEntitySolarBase { + + public TileEntityCompressedSolar() { + output = Config.compressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 0); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityDoubleCompressedSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityDoubleCompressedSolar.java new file mode 100644 index 0000000..8f447e7 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityDoubleCompressedSolar.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.compressed; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityDoubleCompressedSolar extends TileEntitySolarBase { + + public TileEntityDoubleCompressedSolar() { + output = Config.doubleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 1); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityTripleCompressedSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityTripleCompressedSolar.java new file mode 100644 index 0000000..beebedc --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/compressed/TileEntityTripleCompressedSolar.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.compressed; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityTripleCompressedSolar extends TileEntitySolarBase { + + public TileEntityTripleCompressedSolar() { + output = Config.tripleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 2); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityDarkSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityDarkSolar.java new file mode 100644 index 0000000..f82ab31 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityDarkSolar.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.dark; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityDarkSolar extends TileEntitySolarBase { + + public TileEntityDarkSolar() { + output = Config.compressedSolarOutput; + } + + @Override + public void createEnergy() { + if (worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord) && !worldObj.isDaytime() && !worldObj.isRaining() && !worldObj.isThundering()) { + energySource.addEnergy(output); + } + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 6); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityDoubleDarkSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityDoubleDarkSolar.java new file mode 100644 index 0000000..f58e45b --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityDoubleDarkSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.dark; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityDoubleDarkSolar extends TileEntityDarkSolar { + + public TileEntityDoubleDarkSolar() { + output = Config.doubleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 7); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityTripleDarkSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityTripleDarkSolar.java new file mode 100644 index 0000000..eb1ff6c --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/dark/TileEntityTripleDarkSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.dark; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityTripleDarkSolar extends TileEntityDarkSolar { + + public TileEntityTripleDarkSolar() { + output = Config.tripleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 8); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityDoubleEarthSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityDoubleEarthSolar.java new file mode 100644 index 0000000..5c6e96b --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityDoubleEarthSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.earth; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityDoubleEarthSolar extends TileEntityEarthSolar { + + public TileEntityDoubleEarthSolar() { + output = Config.doubleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 3); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityEarthSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityEarthSolar.java new file mode 100644 index 0000000..a3f8f3d --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityEarthSolar.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.earth; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityEarthSolar extends TileEntitySolarBase { + + public TileEntityEarthSolar() { + output = Config.compressedSolarOutput; + } + + @Override + public void createEnergy() { + if (theSunIsVisible && this.yCoord <= 10) { + energySource.addEnergy(output * 2.5); + } else if (theSunIsVisible) { + energySource.addEnergy(output); + } + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 2); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityTripleEarthSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityTripleEarthSolar.java new file mode 100644 index 0000000..68a971e --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/earth/TileEntityTripleEarthSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.earth; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityTripleEarthSolar extends TileEntityEarthSolar { + + public TileEntityTripleEarthSolar() { + output = Config.tripleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars2, 1, 4); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityDoubleFireSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityDoubleFireSolar.java new file mode 100644 index 0000000..40cfdf2 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityDoubleFireSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.fire; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityDoubleFireSolar extends TileEntityFireSolar { + + public TileEntityDoubleFireSolar() { + output = Config.doubleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 13); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityFireSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityFireSolar.java new file mode 100644 index 0000000..bf8ca36 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityFireSolar.java @@ -0,0 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.fire; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityFireSolar extends TileEntitySolarBase { + + public TileEntityFireSolar() { + output = Config.compressedSolarOutput; + } + + @Override + public void checkConditions() { + if (!initialized && worldObj != null) { + canRain = worldObj.getWorldChunkManager().getBiomeGenAt(xCoord, zCoord).getIntRainfall() > 0; + initialized = true; + } + + if (worldObj.provider.dimensionId == -1) { + energySource.addEnergy(output * 2); + } else { + if (tick-- == 0) { + updateSunState(); + tick = 64; + } + } + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 12); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityTripleFireSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityTripleFireSolar.java new file mode 100644 index 0000000..d35e5d0 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/fire/TileEntityTripleFireSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.fire; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityTripleFireSolar extends TileEntityFireSolar { + + public TileEntityTripleFireSolar() { + output = Config.tripleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 14); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityDoubleOrderSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityDoubleOrderSolar.java new file mode 100644 index 0000000..d04990a --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityDoubleOrderSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.order; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityDoubleOrderSolar extends TileEntityOrderSolar { + + public TileEntityDoubleOrderSolar() { + output = Config.doubleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 10); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityOrderSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityOrderSolar.java new file mode 100644 index 0000000..78c0e71 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityOrderSolar.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.order; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityOrderSolar extends TileEntitySolarBase { + + public TileEntityOrderSolar() { + output = Config.compressedSolarOutput; + } + + @Override + public void createEnergy() { + if (theSunIsVisible) { + energySource.addEnergy(output * 3); + } + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 9); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityTripleOrderSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityTripleOrderSolar.java new file mode 100644 index 0000000..56ff043 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/order/TileEntityTripleOrderSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.order; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityTripleOrderSolar extends TileEntityOrderSolar { + + public TileEntityTripleOrderSolar() { + output = Config.tripleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 11); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityDoubleWaterSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityDoubleWaterSolar.java new file mode 100644 index 0000000..377ee14 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityDoubleWaterSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.water; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityDoubleWaterSolar extends TileEntityWaterSolar { + + public TileEntityDoubleWaterSolar() { + output = Config.doubleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 4); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityTripleWaterSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityTripleWaterSolar.java new file mode 100644 index 0000000..13dc98f --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityTripleWaterSolar.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.water; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.util.Config; + +public class TileEntityTripleWaterSolar extends TileEntityWaterSolar { + + public TileEntityTripleWaterSolar() { + output = Config.tripleCompressedSolarOutput; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 5); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityWaterSolar.java b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityWaterSolar.java new file mode 100644 index 0000000..af2fc2b --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/ic2/tile/solars/water/TileEntityWaterSolar.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2014 Tombenpotter. + * All rights reserved. + * + * This program and the accompanying materials are made available under the terms of the GNU Public License v3.0 + * which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html + * + * This class was made by Tombenpotter and is distributed as a part of the Electro-Magic Tools mod. + * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. + * http://www.minecraftforum.net/topic/1585216- + ******************************************************************************/ +package tombenpotter.emt.common.module.ic2.tile.solars.water; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.tile.solars.TileEntitySolarBase; +import tombenpotter.emt.common.util.Config; + +public class TileEntityWaterSolar extends TileEntitySolarBase { + + public TileEntityWaterSolar() { + output = Config.compressedSolarOutput; + } + + @Override + public void createEnergy() { + if (worldObj.isRaining() && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord) || worldObj.isThundering() && worldObj.canBlockSeeTheSky(xCoord, yCoord + 1, zCoord)) { + energySource.addEnergy(output); + } + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(IC2ModuleBlockRegistry.emtSolars, 1, 3); + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaBlocksRegistry.java b/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaBlocksRegistry.java new file mode 100644 index 0000000..4e33657 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaBlocksRegistry.java @@ -0,0 +1,8 @@ +package tombenpotter.emt.common.module.vanilla; + +public class VanillaBlocksRegistry { + + public static void registerBlocks() { + + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaItemsRegistry.java b/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaItemsRegistry.java new file mode 100644 index 0000000..925f8e8 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaItemsRegistry.java @@ -0,0 +1,8 @@ +package tombenpotter.emt.common.module.vanilla; + +public class VanillaItemsRegistry { + + public static void registerItems() { + + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaRecipesRegistry.java b/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaRecipesRegistry.java new file mode 100644 index 0000000..cac3c9a --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaRecipesRegistry.java @@ -0,0 +1,8 @@ +package tombenpotter.emt.common.module.vanilla; + +public class VanillaRecipesRegistry { + + public static void registerRecipes() { + + } +} diff --git a/src/main/java/tombenpotter/emt/common/module/vanilla/items/ItemCrafting.java b/src/main/java/tombenpotter/emt/common/module/vanilla/items/ItemCrafting.java new file mode 100644 index 0000000..24f20a6 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/vanilla/items/ItemCrafting.java @@ -0,0 +1,16 @@ +package tombenpotter.emt.common.module.vanilla.items; + +import net.minecraft.item.Item; +import net.minecraft.util.IIcon; +import tombenpotter.emt.common.util.CreativeTab; + +public class ItemCrafting extends Item { + + public IIcon[] icon = new IIcon[500]; + + public ItemCrafting() { + this.setMaxDamage(0); + this.setHasSubtypes(true); + this.setCreativeTab(CreativeTab.tabTombenpotter); + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/Config.java b/src/main/java/tombenpotter/emt/common/util/Config.java similarity index 90% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/Config.java rename to src/main/java/tombenpotter/emt/common/util/Config.java index e1e827c..f0856c5 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/Config.java +++ b/src/main/java/tombenpotter/emt/common/util/Config.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.util; import net.minecraftforge.common.config.Configuration; @@ -22,11 +22,6 @@ public class Config { public static int inventoryBaubleProdution; public static int wandChargeFocusCost; - public static double potentiaGenOutput; - public static double arborGenOutput; - public static double auramGenOutput; - public static double ignisGenOutput; - public static double saxumGenOutput; public static double wandChargerConsumption; public static double compressedSolarOutput; public static double doubleCompressedSolarOutput; @@ -36,6 +31,14 @@ public class Config { public static double quantumBootsJump; public static double tripleCompressedSolarOutput; + public static double fireOutput; + public static double waterOutput; + public static double airOutput; + public static double earthOutput; + public static double orderOutput; + public static double entropyOutput; + public static double outputCap; + public static boolean capesOn; public static boolean toolsInBore; public static boolean nightVisionOff; @@ -93,17 +96,27 @@ public class Config { public static boolean thaumiumWingResearch; public static boolean nanoWingResearch; public static boolean quantumWingsResearch; + public static boolean aerGeneratorResearch; public static String CATEGORY_RESEARCH = "research"; public static String CATEGORY_VALUES = "numeric values"; + public static String CATEGORY_OUTPUTS = "essentia generator outputs"; public static Configuration config; public static void create() { config.addCustomCategoryComment(CATEGORY_VALUES, "The only way to change some numbers that my machines uses."); config.addCustomCategoryComment(CATEGORY_RESEARCH, "The only way to disable some researches. " + "Be careful, if you disable some researches, " + "all researches linked to it will be removed too. " + "Really, don't touch that unless you know exactly what you are doing."); + config.addCustomCategoryComment(CATEGORY_OUTPUTS, "Change outputs linked to different Essentias here"); config.load(); + randomConfig(); + essentiasConfig(); + valuesConfig(); + researchConfig(); + config.save(); + } + public static void randomConfig() { /** Random Booleans **/ capesOn = config.get(Configuration.CATEGORY_GENERAL, "Enable capes", true, "This config option is to enable or disable capes for people who have them. " + "Seriously, you shouldn't touch that unless you have another cape and " + "it conflicts with it.").getBoolean(capesOn); toolsInBore = config.get(Configuration.CATEGORY_GENERAL, "Tools for Arcane Bore", false, "This will augment the durablilty of the tools, and will also decrease the EU cost to 1. " + "The tools should have the same number of uses than before.").getBoolean(toolsInBore); @@ -115,12 +128,21 @@ public class Config { chanceOneRing = config.get(Configuration.CATEGORY_GENERAL, "One Ring spawning chance", 15, "If you have a lot of mods adding dungeon loot, you should definetely increase this").getInt(); removeAmberAndCinnabarMacerating = config.get(Configuration.CATEGORY_GENERAL, "Clear Amber/Cinnabar Macerating", true, "This is here because of conflicts between mods that add the same input and different outputs").getBoolean(removeAmberAndCinnabarMacerating); + } + + public static void essentiasConfig() { /** EU Yield/Consumption modifier **/ - potentiaGenOutput = config.get(CATEGORY_VALUES, "Potentia Generator Output", 3500, "This is the number you have to modify if you want to make the Potentia Generator yield " + "more or less EU per unit of essentia.").getDouble(potentiaGenOutput); - arborGenOutput = config.get(CATEGORY_VALUES, "Arbor Generator Output", 325, "This is the number you have to modify if you want to make the Arbor Generator yield " + "more or less EU per unit of essentia.").getDouble(arborGenOutput); - auramGenOutput = config.get(CATEGORY_VALUES, "Auram Generator Output", 3200, "This is the number you have to modify if you want to make the Auram Generator yield " + "more or less EU per unit of essentia.").getDouble(auramGenOutput); - ignisGenOutput = config.get(CATEGORY_VALUES, "Ignis Generator Output", 3200, "This is the number you have to modify if you want to make the Ignis Generator yield " + "more or less EU per unit of essentia.").getDouble(ignisGenOutput); - saxumGenOutput = config.get(CATEGORY_VALUES, "Saxum Generator Output", 350, "This is the number you have to modify if you want to make the Saxum Generator yield " + "more or less EU per unit of essentia.").getDouble(saxumGenOutput); + //Aer - 15,000 Aqua - 5,000 Ignis - 20,000 Ordo - 16,000 Perditio - 10,000 Terra - 2,000 + airOutput = config.get(CATEGORY_OUTPUTS, "Aer Output", 15000).getDouble(airOutput); + waterOutput = config.get(CATEGORY_OUTPUTS, "Aqua Output", 5000).getDouble(waterOutput); + fireOutput = config.get(CATEGORY_OUTPUTS, "Ignis Output", 20000).getDouble(fireOutput); + orderOutput = config.get(CATEGORY_OUTPUTS, "Ordo Output", 16000).getDouble(orderOutput); + entropyOutput = config.get(CATEGORY_OUTPUTS, "Perditio Output", 10000).getDouble(entropyOutput); + earthOutput = config.get(CATEGORY_OUTPUTS, "Terra Output", 2000).getDouble(earthOutput); + outputCap = config.get(CATEGORY_OUTPUTS, "Output Cap", -1).getDouble(outputCap); + } + + public static void valuesConfig() { wandChargerConsumption = config.get(CATEGORY_VALUES, "Wand Charging Station Consumption", 50000, "This is the number you have to modify if you want to make the Industrial Wand Charging " + "Station use more or less EU to charge 1 unit of Vis on your wand.").getDouble(wandChargerConsumption); compressedSolarOutput = config.get(CATEGORY_VALUES, "Compressed Solar Panel Output", 10, "This is the number you have to modify if you want to make the Compressed Solar Panel yield " + "more or less EU per tick. Really, you shouldn't touch that, " + "since it's pretty balanced as it is.").getDouble(compressedSolarOutput); doubleCompressedSolarOutput = config.get(CATEGORY_VALUES, "Double Compressed Solar Panel Output", 100, "This is the number you have to modify if you want to make the Double Compressed Solar Panel " + "yield more or less EU per tick. Really, you shouldn't touch that, " + "since it's pretty balanced as it is.").getDouble(doubleCompressedSolarOutput); @@ -136,7 +158,9 @@ public class Config { armorBaubleProduction = config.get(CATEGORY_VALUES, "Armor Charging Ring production", 32, "Default is 32").getInt(); inventoryBaubleProdution = config.get(CATEGORY_VALUES, "Inventory Charging Ring production", 32, "Default is 32").getInt(); wandChargeFocusCost = config.get(CATEGORY_VALUES, "Wand Focus: Wand Charging Cost", 40000, "Default is 40000").getInt(); + } + public static void researchConfig() { /** Disable Researches **/ thaumiumDrillResearch = config.get(CATEGORY_RESEARCH, "Thaumium Drill", false).getBoolean(thaumiumDrillResearch); thaumiumChainsawResearch = config.get(CATEGORY_RESEARCH, "Thaumium Chainsaw", false).getBoolean(thaumiumChainsawResearch); @@ -184,7 +208,6 @@ public class Config { thaumiumWingResearch = config.get(CATEGORY_RESEARCH, "Thaumium Reinforced Wings", false).getBoolean(thaumiumWingResearch); nanoWingResearch = config.get(CATEGORY_RESEARCH, "Nanosuit Wings", false).getBoolean(nanoWingResearch); quantumWingsResearch = config.get(CATEGORY_RESEARCH, "Quantum Wings", false).getBoolean(quantumWingsResearch); - - config.save(); + aerGeneratorResearch = config.get(CATEGORY_RESEARCH, "Aer Generator", false).getBoolean(aerGeneratorResearch); } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/CraftingAspects.java b/src/main/java/tombenpotter/emt/common/util/CraftingAspects.java similarity index 98% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/CraftingAspects.java rename to src/main/java/tombenpotter/emt/common/util/CraftingAspects.java index 0d7b0a9..ec8c313 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/CraftingAspects.java +++ b/src/main/java/tombenpotter/emt/common/util/CraftingAspects.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.lib; +package tombenpotter.emt.common.util; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; @@ -63,5 +63,6 @@ public class CraftingAspects { public static AspectList thaumiumWing = new AspectList().add(Aspect.FIRE, 48).add(Aspect.WATER, 48).add(Aspect.AIR, 48).add(Aspect.EARTH, 48).add(Aspect.ORDER, 48).add(Aspect.ENTROPY, 48); public static AspectList nanoWing = new AspectList().add(Aspect.FLIGHT, 48).add(Aspect.AIR, 32).add(Aspect.MECHANISM, 48).add(Aspect.ENERGY, 32); public static AspectList quantumWing = new AspectList().add(Aspect.FLIGHT, 48).add(Aspect.AIR, 32).add(Aspect.MECHANISM, 48).add(Aspect.ENERGY, 32).add(Aspect.ARMOR, 48); + public static AspectList aerGenerator = new AspectList().add(Aspect.EXCHANGE, 16).add(Aspect.AIR, 8); } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/CreativeTab.java b/src/main/java/tombenpotter/emt/common/util/CreativeTab.java similarity index 85% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/CreativeTab.java rename to src/main/java/tombenpotter/emt/common/util/CreativeTab.java index 77f07a9..c50948e 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/CreativeTab.java +++ b/src/main/java/tombenpotter/emt/common/util/CreativeTab.java @@ -9,8 +9,9 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.util; +import tombenpotter.emt.common.module.ic2.IC2ModuleItemRegistry; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -18,7 +19,7 @@ public class CreativeTab { public static CreativeTabs tabTombenpotter = new CreativeTabs("Electro-Magic Tools") { @Override public Item getTabIconItem() { - return ItemRegistry.thaumiumDrill; + return IC2ModuleItemRegistry.thorHammer; } }; } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/DungeonChestGenerator.java b/src/main/java/tombenpotter/emt/common/util/DungeonChestGenerator.java similarity index 54% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/DungeonChestGenerator.java rename to src/main/java/tombenpotter/emt/common/util/DungeonChestGenerator.java index 540c79e..8e49b9a 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/DungeonChestGenerator.java +++ b/src/main/java/tombenpotter/emt/common/util/DungeonChestGenerator.java @@ -1,17 +1,19 @@ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.util; import net.minecraft.item.ItemStack; import net.minecraft.util.WeightedRandomChestContent; import net.minecraftforge.common.ChestGenHooks; +import tombenpotter.emt.common.module.ic2.IC2ModuleItemRegistry; +import tombenpotter.emt.common.util.Config; public class DungeonChestGenerator { public static void generateLoot() { if (Config.thorHammerResearch == false) { - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ItemRegistry.taintedThorHammer), 0, 1, Config.chanceTaintedMjolnir)); + ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(IC2ModuleItemRegistry.taintedThorHammer), 0, 1, Config.chanceTaintedMjolnir)); } if (Config.oneRingSpawn == false) { - ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ItemRegistry.emtBauble, 1, 2), 0, 1, Config.chanceOneRing)); + ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(IC2ModuleItemRegistry.emtBauble, 1, 2), 0, 1, Config.chanceOneRing)); } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTEventHandler.java b/src/main/java/tombenpotter/emt/common/util/EMTEventHandler.java similarity index 82% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTEventHandler.java rename to src/main/java/tombenpotter/emt/common/util/EMTEventHandler.java index 172487e..e99d65e 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTEventHandler.java +++ b/src/main/java/tombenpotter/emt/common/util/EMTEventHandler.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.util; import cpw.mods.fml.client.event.ConfigChangedEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -19,6 +19,9 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraftforge.event.entity.living.LivingDropsEvent; import thaumcraft.common.entities.monster.EntityTaintChicken; +import tombenpotter.emt.ElectroMagicTools; +import tombenpotter.emt.common.module.ic2.IC2ModuleItemRegistry; +import tombenpotter.emt.common.util.Config; public class EMTEventHandler { @@ -28,18 +31,18 @@ public class EMTEventHandler { if (event.entityLiving instanceof EntityCreeper) { EntityCreeper creeper = (EntityCreeper) event.entityLiving; if (creeper.getPowered()) { - event.drops.add(new EntityItem(event.entityLiving.worldObj, event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, new ItemStack(ItemRegistry.itemEMTItems, 1, 6))); + event.drops.add(new EntityItem(event.entityLiving.worldObj, event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 6))); } } if (event.entityLiving instanceof EntityTaintChicken) { - event.drops.add(new EntityItem(event.entityLiving.worldObj, event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, new ItemStack(ItemRegistry.itemEMTItems, 1, 14))); + event.drops.add(new EntityItem(event.entityLiving.worldObj, event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, new ItemStack(IC2ModuleItemRegistry.itemEMTItems, 1, 14))); } } } @SubscribeEvent public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent eventArgs) { - if (eventArgs.modID.equals(ElectricMagicTools.modid)) + if (eventArgs.modID.equals(ElectroMagicTools.modid)) Config.create(); } } diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTResearchItem.java b/src/main/java/tombenpotter/emt/common/util/EMTResearchItem.java similarity index 97% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTResearchItem.java rename to src/main/java/tombenpotter/emt/common/util/EMTResearchItem.java index 9d8176c..9103e41 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/EMTResearchItem.java +++ b/src/main/java/tombenpotter/emt/common/util/EMTResearchItem.java @@ -18,7 +18,7 @@ * * http://www.minecraftforum.net/topic/1813058- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.common.util; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/tombenpotter/emt/common/util/EssentiasOutputs.java b/src/main/java/tombenpotter/emt/common/util/EssentiasOutputs.java new file mode 100644 index 0000000..20481f1 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/util/EssentiasOutputs.java @@ -0,0 +1,39 @@ +package tombenpotter.emt.common.util; + +import thaumcraft.api.aspects.Aspect; + +import java.util.Collection; +import java.util.HashMap; + +public class EssentiasOutputs { + + public static HashMap outputs = new HashMap(); + + public static void addOutput(Aspect aspect) { + if (!aspect.isPrimal()) { + Aspect[] parents = aspect.getComponents(); + if (Config.outputCap == (-1)) { + outputs.put(aspect.getTag(), (outputs.get(parents[0].getTag()) + outputs.get(parents[1].getTag()))); + } else { + double originalOutput = (outputs.get(parents[0].getTag()) + outputs.get(parents[1].getTag())); + if (originalOutput > Config.outputCap) outputs.put(aspect.getTag(), Config.outputCap); + } + } + } + + public static void addOutputs() { + Collection aspectCollection = Aspect.aspects.values(); + for (Aspect aspect : aspectCollection) { + if (!aspect.isPrimal()) addOutput(aspect); + } + } + + public static void addPrimalOutputs() { + outputs.put(Aspect.FIRE.getTag(), Config.fireOutput); + outputs.put(Aspect.WATER.getTag(), Config.waterOutput); + outputs.put(Aspect.ORDER.getTag(), Config.orderOutput); + outputs.put(Aspect.ENTROPY.getTag(), Config.entropyOutput); + outputs.put(Aspect.EARTH.getTag(), Config.earthOutput); + outputs.put(Aspect.AIR.getTag(), Config.airOutput); + } +} diff --git a/src/main/java/tombenpotter/emt/common/util/RegistryHandler.java b/src/main/java/tombenpotter/emt/common/util/RegistryHandler.java new file mode 100644 index 0000000..66c59f7 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/util/RegistryHandler.java @@ -0,0 +1,33 @@ +package tombenpotter.emt.common.util; + +import tombenpotter.emt.common.module.ic2.IC2ModuleBlockRegistry; +import tombenpotter.emt.common.module.ic2.IC2ModuleItemRegistry; +import tombenpotter.emt.common.module.ic2.IC2ModuleResearch; +import tombenpotter.emt.common.module.ic2.IC2ModuleTERegistry; +import tombenpotter.emt.common.module.vanilla.VanillaBlocksRegistry; +import tombenpotter.emt.common.module.vanilla.VanillaItemsRegistry; +import tombenpotter.emt.common.module.vanilla.VanillaRecipesRegistry; + +public class RegistryHandler { + + public static void registerVanillaRegistrys() { + VanillaBlocksRegistry.registerBlocks(); + VanillaItemsRegistry.registerItems(); + VanillaRecipesRegistry.registerRecipes(); + } + + public static void registerIc2Registrys() { + IC2ModuleItemRegistry.registerItems(); + IC2ModuleBlockRegistry.registerBlocks(); + IC2ModuleTERegistry.registerTEs(); + } + + public static void registerIc2PostRegistrys(){ + IC2ModuleResearch.addResearchTab(); + IC2ModuleResearch.addResearch(); + } + + public static void registerTeRegistrys() { + + } +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/ResearchAspects.java b/src/main/java/tombenpotter/emt/common/util/ResearchAspects.java similarity index 97% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/ResearchAspects.java rename to src/main/java/tombenpotter/emt/common/util/ResearchAspects.java index 6ea8056..15cc229 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/lib/ResearchAspects.java +++ b/src/main/java/tombenpotter/emt/common/util/ResearchAspects.java @@ -9,7 +9,7 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common.lib; +package tombenpotter.emt.common.util; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; @@ -60,5 +60,6 @@ public class ResearchAspects { public static AspectList thaumiumWing = new AspectList().add(Aspect.FLIGHT, 5).add(Aspect.AIR, 5).add(Aspect.MECHANISM, 8); public static AspectList nanoWing = new AspectList().add(Aspect.FLIGHT, 5).add(Aspect.AIR, 5).add(Aspect.MECHANISM, 8).add(Aspect.ENERGY, 4); public static AspectList quantumWing = new AspectList().add(Aspect.FLIGHT, 5).add(Aspect.AIR, 5).add(Aspect.MECHANISM, 8).add(Aspect.ENERGY, 4); + public static AspectList aerGenerator = new AspectList().add(Aspect.EXCHANGE, 4).add(Aspect.AIR, 3); } diff --git a/src/main/java/tombenpotter/emt/common/util/TextHelper.java b/src/main/java/tombenpotter/emt/common/util/TextHelper.java new file mode 100644 index 0000000..5c09b55 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/util/TextHelper.java @@ -0,0 +1,33 @@ +package tombenpotter.emt.common.util; + +public class TextHelper { + /** + * Color Coding * + */ + public static final String BLACK = (char) 167 + "0"; + public static final String BLUE = (char) 167 + "1"; + public static final String GREEN = (char) 167 + "2"; + public static final String TEAL = (char) 167 + "3"; + public static final String RED = (char) 167 + "4"; + public static final String PURPLE = (char) 167 + "5"; + public static final String ORANGE = (char) 167 + "6"; + public static final String LIGHT_GRAY = (char) 167 + "7"; + public static final String GRAY = (char) 167 + "8"; + public static final String LIGHT_BLUE = (char) 167 + "9"; + public static final String BRIGHT_GREEN = (char) 167 + "a"; + public static final String BRIGHT_BLUE = (char) 167 + "b"; + public static final String LIGHT_RED = (char) 167 + "c"; + public static final String PINK = (char) 167 + "d"; + public static final String YELLOW = (char) 167 + "e"; + public static final String WHITE = (char) 167 + "f"; + + /** + * Text formatting * + */ + public static final String OBFUSCATED = (char) 167 + "k"; + public static final String BOLD = (char) 167 + "l"; + public static final String STRIKETHROUGH = (char) 167 + "m"; + public static final String UNDERLINE = (char) 167 + "n"; + public static final String ITALIC = (char) 167 + "o"; + public static final String END = (char) 167 + "r"; +} diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/ClientProxy.java b/src/main/java/tombenpotter/emt/proxies/ClientProxy.java similarity index 68% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/ClientProxy.java rename to src/main/java/tombenpotter/emt/proxies/ClientProxy.java index e3a9be9..b0ff129 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/client/ClientProxy.java +++ b/src/main/java/tombenpotter/emt/proxies/ClientProxy.java @@ -9,14 +9,13 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.client; +package tombenpotter.emt.proxies; import cpw.mods.fml.client.registry.RenderingRegistry; -import electricMagicTools.tombenpotter.electricmagictools.client.renderer.RenderArcher; -import electricMagicTools.tombenpotter.electricmagictools.client.renderer.RenderLaser; -import electricMagicTools.tombenpotter.electricmagictools.common.CommonProxy; -import electricMagicTools.tombenpotter.electricmagictools.common.entities.EntityArcher; -import electricMagicTools.tombenpotter.electricmagictools.common.entities.EntityLaser; +import tombenpotter.emt.client.renderer.RenderArcher; +import tombenpotter.emt.client.renderer.RenderLaser; +import tombenpotter.emt.common.module.base.entities.EntityArcher; +import tombenpotter.emt.common.module.base.entities.EntityLaser; public class ClientProxy extends CommonProxy { diff --git a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/CommonProxy.java b/src/main/java/tombenpotter/emt/proxies/CommonProxy.java similarity index 72% rename from src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/CommonProxy.java rename to src/main/java/tombenpotter/emt/proxies/CommonProxy.java index b77a174..0421435 100644 --- a/src/main/java/electricMagicTools/tombenpotter/electricmagictools/common/CommonProxy.java +++ b/src/main/java/tombenpotter/emt/proxies/CommonProxy.java @@ -9,18 +9,18 @@ * Electro-Magic Tools is a derivative work on Thaumcraft 4 (c) Azanor 2012. * http://www.minecraftforum.net/topic/1585216- ******************************************************************************/ -package electricMagicTools.tombenpotter.electricmagictools.common; +package tombenpotter.emt.proxies; import cpw.mods.fml.common.network.IGuiHandler; -import electricMagicTools.tombenpotter.electricmagictools.client.gui.GuiEtherealMacerator; -import electricMagicTools.tombenpotter.electricmagictools.client.gui.GuiIndustrialWandRecharger; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityEtherealMacerator; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.TileEntityIndustrialWandRecharge; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.container.ContainerEtheralMacerator; -import electricMagicTools.tombenpotter.electricmagictools.common.tile.container.ContainerIndustrialWandRecharge; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import tombenpotter.emt.client.gui.GuiEtherealMacerator; +import tombenpotter.emt.client.gui.GuiIndustrialWandRecharger; +import tombenpotter.emt.client.gui.container.ContainerEtheralMacerator; +import tombenpotter.emt.client.gui.container.ContainerIndustrialWandRecharge; +import tombenpotter.emt.common.module.ic2.tile.TileEntityEtherealMacerator; +import tombenpotter.emt.common.module.ic2.tile.TileEntityIndustrialWandRecharge; public class CommonProxy implements IGuiHandler { @@ -29,7 +29,7 @@ public class CommonProxy implements IGuiHandler { } public void registerRenders() { - /* Empty in common proxy */ + /* Empty in base proxy */ } @Override @@ -40,14 +40,10 @@ public class CommonProxy implements IGuiHandler { case 0: if (entity != null && entity instanceof TileEntityIndustrialWandRecharge) { return new ContainerIndustrialWandRecharge(player.inventory, (TileEntityIndustrialWandRecharge) entity); - } else { - return null; } case 1: if (entity != null && entity instanceof TileEntityEtherealMacerator) { return new ContainerEtheralMacerator(player.inventory, (TileEntityEtherealMacerator) entity); - } else { - return null; } default: return null; @@ -62,14 +58,10 @@ public class CommonProxy implements IGuiHandler { case 0: if (entity != null && entity instanceof TileEntityIndustrialWandRecharge) { return new GuiIndustrialWandRecharger(player.inventory, (TileEntityIndustrialWandRecharge) entity); - } else { - return null; } case 1: if (entity != null && entity instanceof TileEntityEtherealMacerator) { return new GuiEtherealMacerator(player.inventory, (TileEntityEtherealMacerator) entity); - } else { - return null; } default: return null; diff --git a/src/main/resources/Thumbs.db b/src/main/resources/Thumbs.db new file mode 100644 index 0000000..1aa0879 Binary files /dev/null and b/src/main/resources/Thumbs.db differ diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/Thumbs.db b/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/Thumbs.db deleted file mode 100644 index fe25df2..0000000 Binary files a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/Thumbs.db and /dev/null differ diff --git a/src/main/resources/assets/electricmagictools/lang/en_US.lang b/src/main/resources/assets/electromagictools/lang/en_US.lang similarity index 97% rename from src/main/resources/assets/electricmagictools/lang/en_US.lang rename to src/main/resources/assets/electromagictools/lang/en_US.lang index c2e04b1..fe6ae8f 100644 --- a/src/main/resources/assets/electricmagictools/lang/en_US.lang +++ b/src/main/resources/assets/electromagictools/lang/en_US.lang @@ -1,14 +1,14 @@ -=============Creative Tab Name============= +#=============Creative Tab Name============= itemGroup.Electro-Magic Tools=Electro-Magic Tools -=============Thaumonomicon Tab Name============= +#=============Thaumonomicon Tab Name============= tc.research_category.EMT=Electro-Magic Tools -=============Enity Names============= +#=============Enity Names============= entity.Tombenpotter's Electro-Magic Tools.entityLaser.name=Laser entity.Tombenpotter's Electro-Magic Tools.entityArcher.name=Guardian Snowman -=============Item Names============= +#=============Item Names============= item.thaumiumdrill.name=Thaumium Drill item.thaumiumchainsaw.name=Thaumium Chainsaw item.quantumthaumichelmet.name=Quantum Goggles of Revealing @@ -58,13 +58,14 @@ item.thaumiumwing.name=Thaumium Reinforced Wings item.nanowing.name=Nanosuit Wings item.quantumwing.name=Quantum Wings -=============Block Names============= +#=============Block Names============= tile.shield.name=Shield Block tile.portablenode.name=Portable Node tile.essentiaGens.potentia.name=Potentia Generator tile.essentiaGens.ignis.name=Ignis Generator tile.essentiaGens.auram.name=Auram Generator tile.essentiaGens.arbor.name=Arbor Generator +tile.essentiaGens.aer.name=Aer Generator tile.emtmachines.wandrecharge.name=Industrial Wand Charging Station tile.emtmachines.etheralprocessor.name=Ethereal Processor tile.emtsolars.compressed.name=Compressed Solar Panel @@ -89,7 +90,7 @@ tile.emtsolars2.earth.name=Earth Infused Compressed Solar Panel tile.emtsolars2.doubleearth.name=Earth Infused Double Compressed Solar Panel tile.emtsolars2.tripleearth.name=Earth Infused Triple Compressed Solar Panel -=============Thaumonomicon Names============= +#=============Thaumonomicon Names============= emt.tag.Electric Magic Tools=Who says magic and technology can't go together? emt.tag.Thaumium Drill=Magical mining emt.tag.Thaumium Chainsaw=Felling trees and severing heads with a touch of magic @@ -106,7 +107,7 @@ emt.tag.Potentia Generator=Harnessing the power-producing potential of essentia emt.tag.Ignis Generator=If you can't handle the heat... emt.tag.Auram Generator=Harnessing the magic in the air emt.tag.Arbor Generator=Bringing power generation back to its basics -emt.tag.Saxum Generator=Using the remaining heat of solidifed lava +emt.tag.Aer Generator=Compressing your environement emt.tag.Chainsaw of the Stream=Felling trees in a single swoop emt.tag.Drill of the Rockbreaker=Mining it big emt.tag.Shield Block=Magical protection @@ -145,7 +146,7 @@ emt.tag.Thaumium Reinforced Wings=Already much better emt.tag.Nanosuit Wings=Nanotechnologies to the rescue! emt.tag.Quantum Wings=The last step is here... -=============Thaumonomicon Texts============= +#=============Thaumonomicon Texts============= emt.text.Electric Magic Tools=Who says magic can't work with technology? Our researchers have collaborated with the top mages of the school of Thaumaturgy to bring you the effectiveness of magic coupled with the convenience of electric tools. emt.text.Thaumium Drill=You have discovered a way to infuse Thaumium with mundane electricity. Fusing Thaumium to a Diamond Drill results in a tool that can dig through stone faster and has a higher capacity.

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

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

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

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

These blocks are unstable and do not drop when broken, even when Silk Touch is used. diff --git a/src/main/resources/assets/electricmagictools/lang/zh_CN.lang b/src/main/resources/assets/electromagictools/lang/zh_CN.lang similarity index 100% rename from src/main/resources/assets/electricmagictools/lang/zh_CN.lang rename to src/main/resources/assets/electromagictools/lang/zh_CN.lang diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/Thumbs.db b/src/main/resources/assets/electromagictools/textures/blocks/Thumbs.db similarity index 98% rename from src/main/resources/assets/electricmagictools/textures/blocks/Thumbs.db rename to src/main/resources/assets/electromagictools/textures/blocks/Thumbs.db index d64001b..65d3b9f 100644 Binary files a/src/main/resources/assets/electricmagictools/textures/blocks/Thumbs.db and b/src/main/resources/assets/electromagictools/textures/blocks/Thumbs.db differ diff --git a/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/Thumbs.db b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/Thumbs.db new file mode 100644 index 0000000..4ba24e5 Binary files /dev/null and b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/Thumbs.db differ diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/front.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/aerfront.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/front.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/aerfront.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/arborfront.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/arborfront.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/arborfront.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/arborfront.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/arborfront_alt.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/arborfront_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/arborfront_alt.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/arborfront_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/auramfront.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/auramfront.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/auramfront.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/auramfront.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/auramfront_alt.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/auramfront_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/auramfront_alt.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/auramfront_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/front_alt.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/front_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/front_alt.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/front_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/ignisfront.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/ignisfront.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/ignisfront.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/ignisfront.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/ignisfront_alt.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/ignisfront_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/ignisfront_alt.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/ignisfront_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/potentiafront.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/potentiafront.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/potentiafront.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/potentiafront.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/potentiafront_alt.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/potentiafront_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/potentiafront_alt.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/potentiafront_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/saxumfront.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/saxumfront.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/saxumfront.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/saxumfront.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/saxumfront_alt.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/saxumfront_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/saxumfront_alt.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/saxumfront_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/side.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/side.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/side.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/side.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/top_saxum.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/top_saxum.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/top.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_aer.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/top.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_aer.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/top_arbor.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_arbor.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/top_arbor.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_arbor.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/top_auram.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_auram.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/top_auram.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_auram.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/top_ignis.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_ignis.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/top_ignis.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_ignis.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/top_potentia.png b/src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_potentia.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/essentiagenerator/top_potentia.png rename to src/main/resources/assets/electromagictools/textures/blocks/essentiagenerator/top_potentia.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/Thumbs.db b/src/main/resources/assets/electromagictools/textures/blocks/machines/Thumbs.db similarity index 94% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/Thumbs.db rename to src/main/resources/assets/electromagictools/textures/blocks/machines/Thumbs.db index ccd84eb..5ba0e98 100644 Binary files a/src/main/resources/assets/electricmagictools/textures/blocks/machines/Thumbs.db and b/src/main/resources/assets/electromagictools/textures/blocks/machines/Thumbs.db differ diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/bottom.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/bottom.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/bottom.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/bottom.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmacerator.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmacerator.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmacerator.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmacerator.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfront.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfront.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfront_alt.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfront_alt.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfront_alt2.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront_alt2.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfront_alt2.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront_alt2.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfront_alt3.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront_alt3.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfront_alt3.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront_alt3.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfront_alt4.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront_alt4.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfront_alt4.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfront_alt4.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfrontactive.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfrontactive.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt2.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt2.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt2.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt2.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt3.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt3.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt3.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt3.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt4.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt4.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt4.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratorfrontactive_alt4.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratortop.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratortop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratortop.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratortop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratortop_alt.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratortop_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratortop_alt.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratortop_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratortopactive.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratortopactive.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratortopactive.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratortopactive.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratortopactive_alt.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratortopactive_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/etherealmaceratortopactive_alt.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/etherealmaceratortopactive_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/side.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/side.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/side.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/side.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/top.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/top.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/top.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/top.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/top_alt.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/top_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/top_alt.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/top_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/top_alt2.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/top_alt2.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/top_alt2.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/top_alt2.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/machines/wandcharger.png b/src/main/resources/assets/electromagictools/textures/blocks/machines/wandcharger.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/machines/wandcharger.png rename to src/main/resources/assets/electromagictools/textures/blocks/machines/wandcharger.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/portablenode.png b/src/main/resources/assets/electromagictools/textures/blocks/portablenode.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/portablenode.png rename to src/main/resources/assets/electromagictools/textures/blocks/portablenode.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/raindispeller.png b/src/main/resources/assets/electromagictools/textures/blocks/raindispeller.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/raindispeller.png rename to src/main/resources/assets/electromagictools/textures/blocks/raindispeller.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/shield.png b/src/main/resources/assets/electromagictools/textures/blocks/shield.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/shield.png rename to src/main/resources/assets/electromagictools/textures/blocks/shield.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/Thumbs.db b/src/main/resources/assets/electromagictools/textures/blocks/solars/Thumbs.db similarity index 95% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/Thumbs.db rename to src/main/resources/assets/electromagictools/textures/blocks/solars/Thumbs.db index 03d70cf..934e5fe 100644 Binary files a/src/main/resources/assets/electricmagictools/textures/blocks/solars/Thumbs.db and b/src/main/resources/assets/electromagictools/textures/blocks/solars/Thumbs.db differ diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/air/Thumbs.db b/src/main/resources/assets/electromagictools/textures/blocks/solars/air/Thumbs.db similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/air/Thumbs.db rename to src/main/resources/assets/electromagictools/textures/blocks/solars/air/Thumbs.db diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/air/airbottom.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/air/airbottom.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/air/airbottom.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/air/airbottom.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/air/airside.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/air/airside.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/air/airside.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/air/airside.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/air/doublesolartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/air/doublesolartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/air/doublesolartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/air/doublesolartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/air/solartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/air/solartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/air/solartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/air/solartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/air/triplesolartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/air/triplesolartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/air/triplesolartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/air/triplesolartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/bottom.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/bottom.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/bottom.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/bottom.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/dark/Thumbs.db b/src/main/resources/assets/electromagictools/textures/blocks/solars/dark/Thumbs.db similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/dark/Thumbs.db rename to src/main/resources/assets/electromagictools/textures/blocks/solars/dark/Thumbs.db diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/dark/darkbottom.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/dark/darkbottom.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/dark/darkbottom.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/dark/darkbottom.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/dark/darkside.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/dark/darkside.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/dark/darkside.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/dark/darkside.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/dark/doublesolartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/dark/doublesolartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/dark/doublesolartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/dark/doublesolartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/dark/solartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/dark/solartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/dark/solartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/dark/solartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/dark/triplesolartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/dark/triplesolartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/dark/triplesolartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/dark/triplesolartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/doublesolartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/doublesolartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/doublesolartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/doublesolartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/earth/doublesolartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/earth/doublesolartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/earth/doublesolartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/earth/doublesolartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/earth/earthbottom.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/earth/earthbottom.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/earth/earthbottom.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/earth/earthbottom.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/earth/earthside.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/earth/earthside.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/earth/earthside.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/earth/earthside.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/earth/solartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/earth/solartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/earth/solartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/earth/solartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/earth/triplesolartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/earth/triplesolartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/earth/triplesolartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/earth/triplesolartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/fire/doublesolartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/fire/doublesolartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/fire/doublesolartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/fire/doublesolartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/fire/firebottom.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/fire/firebottom.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/fire/firebottom.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/fire/firebottom.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/fire/fireside.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/fire/fireside.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/fire/fireside.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/fire/fireside.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/fire/solartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/fire/solartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/fire/solartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/fire/solartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/fire/triplesolartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/fire/triplesolartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/fire/triplesolartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/fire/triplesolartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/order/Thumbs.db b/src/main/resources/assets/electromagictools/textures/blocks/solars/order/Thumbs.db similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/order/Thumbs.db rename to src/main/resources/assets/electromagictools/textures/blocks/solars/order/Thumbs.db diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/order/doublesolartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/order/doublesolartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/order/doublesolartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/order/doublesolartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/order/orderbottom.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/order/orderbottom.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/order/orderbottom.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/order/orderbottom.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/order/orderside.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/order/orderside.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/order/orderside.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/order/orderside.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/order/solartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/order/solartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/order/solartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/order/solartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/order/triplesolartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/order/triplesolartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/order/triplesolartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/order/triplesolartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/side.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/side.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/side.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/side.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/solartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/solartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/solartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/solartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/triplesolartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/triplesolartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/triplesolartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/triplesolartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/water/Thumbs.db b/src/main/resources/assets/electromagictools/textures/blocks/solars/water/Thumbs.db similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/water/Thumbs.db rename to src/main/resources/assets/electromagictools/textures/blocks/solars/water/Thumbs.db diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/water/doublesolartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/water/doublesolartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/water/doublesolartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/water/doublesolartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/water/solartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/water/solartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/water/solartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/water/solartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/water/triplesolartop.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/water/triplesolartop.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/water/triplesolartop.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/water/triplesolartop.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/water/waterbottom.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/water/waterbottom.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/water/waterbottom.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/water/waterbottom.png diff --git a/src/main/resources/assets/electricmagictools/textures/blocks/solars/water/waterside.png b/src/main/resources/assets/electromagictools/textures/blocks/solars/water/waterside.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/blocks/solars/water/waterside.png rename to src/main/resources/assets/electromagictools/textures/blocks/solars/water/waterside.png diff --git a/src/main/resources/assets/electricmagictools/textures/guis/Thumbs.db b/src/main/resources/assets/electromagictools/textures/guis/Thumbs.db similarity index 97% rename from src/main/resources/assets/electricmagictools/textures/guis/Thumbs.db rename to src/main/resources/assets/electromagictools/textures/guis/Thumbs.db index 6b120b3..64f41b3 100644 Binary files a/src/main/resources/assets/electricmagictools/textures/guis/Thumbs.db and b/src/main/resources/assets/electromagictools/textures/guis/Thumbs.db differ diff --git a/src/main/resources/assets/electricmagictools/textures/guis/etherealmacerator.png b/src/main/resources/assets/electromagictools/textures/guis/etherealmacerator.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/guis/etherealmacerator.png rename to src/main/resources/assets/electromagictools/textures/guis/etherealmacerator.png diff --git a/src/main/resources/assets/electricmagictools/textures/guis/wandcharger.png b/src/main/resources/assets/electromagictools/textures/guis/wandcharger.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/guis/wandcharger.png rename to src/main/resources/assets/electromagictools/textures/guis/wandcharger.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/OLDlightningsummoner.png b/src/main/resources/assets/electromagictools/textures/items/OLDlightningsummoner.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/OLDlightningsummoner.png rename to src/main/resources/assets/electromagictools/textures/items/OLDlightningsummoner.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/Thumbs.db b/src/main/resources/assets/electromagictools/textures/items/Thumbs.db similarity index 96% rename from src/main/resources/assets/electricmagictools/textures/items/Thumbs.db rename to src/main/resources/assets/electromagictools/textures/items/Thumbs.db index 0b285c0..0d99886 100644 Binary files a/src/main/resources/assets/electricmagictools/textures/items/Thumbs.db and b/src/main/resources/assets/electromagictools/textures/items/Thumbs.db differ diff --git a/src/main/resources/assets/electricmagictools/textures/items/armoreumaker.png b/src/main/resources/assets/electromagictools/textures/items/armoreumaker.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/armoreumaker.png rename to src/main/resources/assets/electromagictools/textures/items/armoreumaker.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/cardboard.png b/src/main/resources/assets/electromagictools/textures/items/cardboard.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/cardboard.png rename to src/main/resources/assets/electromagictools/textures/items/cardboard.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/chainsaw.png b/src/main/resources/assets/electromagictools/textures/items/chainsaw.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/chainsaw.png rename to src/main/resources/assets/electromagictools/textures/items/chainsaw.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/chargefocus.png b/src/main/resources/assets/electromagictools/textures/items/chargefocus.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/chargefocus.png rename to src/main/resources/assets/electromagictools/textures/items/chargefocus.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/chargefocus.png.mcmeta b/src/main/resources/assets/electromagictools/textures/items/chargefocus.png.mcmeta similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/chargefocus.png.mcmeta rename to src/main/resources/assets/electromagictools/textures/items/chargefocus.png.mcmeta diff --git a/src/main/resources/assets/electricmagictools/textures/items/christmasfocus.png b/src/main/resources/assets/electromagictools/textures/items/christmasfocus.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/christmasfocus.png rename to src/main/resources/assets/electromagictools/textures/items/christmasfocus.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/clusteruranium.png b/src/main/resources/assets/electromagictools/textures/items/clusteruranium.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/clusteruranium.png rename to src/main/resources/assets/electromagictools/textures/items/clusteruranium.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/crushedamber.png b/src/main/resources/assets/electromagictools/textures/items/crushedamber.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/crushedamber.png rename to src/main/resources/assets/electromagictools/textures/items/crushedamber.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/crushedcinnabar.png b/src/main/resources/assets/electromagictools/textures/items/crushedcinnabar.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/crushedcinnabar.png rename to src/main/resources/assets/electromagictools/textures/items/crushedcinnabar.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/denseironsheet.png b/src/main/resources/assets/electromagictools/textures/items/denseironsheet.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/denseironsheet.png rename to src/main/resources/assets/electromagictools/textures/items/denseironsheet.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/diamondchainsaw.png b/src/main/resources/assets/electromagictools/textures/items/diamondchainsaw.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/diamondchainsaw.png rename to src/main/resources/assets/electromagictools/textures/items/diamondchainsaw.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/diamondchainsaw_16X.png b/src/main/resources/assets/electromagictools/textures/items/diamondchainsaw_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/diamondchainsaw_16X.png rename to src/main/resources/assets/electromagictools/textures/items/diamondchainsaw_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/diamonddrill_16X.png b/src/main/resources/assets/electromagictools/textures/items/diamonddrill_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/diamonddrill_16X.png rename to src/main/resources/assets/electromagictools/textures/items/diamonddrill_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/diamondomnitool.png b/src/main/resources/assets/electromagictools/textures/items/diamondomnitool.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/diamondomnitool.png rename to src/main/resources/assets/electromagictools/textures/items/diamondomnitool.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/diamondomnitool_16X.png b/src/main/resources/assets/electromagictools/textures/items/diamondomnitool_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/diamondomnitool_16X.png rename to src/main/resources/assets/electromagictools/textures/items/diamondomnitool_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/diamondomnitool_alt.png b/src/main/resources/assets/electromagictools/textures/items/diamondomnitool_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/diamondomnitool_alt.png rename to src/main/resources/assets/electromagictools/textures/items/diamondomnitool_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/drill.png b/src/main/resources/assets/electromagictools/textures/items/drill.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/drill.png rename to src/main/resources/assets/electromagictools/textures/items/drill.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/ducttape.png b/src/main/resources/assets/electromagictools/textures/items/ducttape.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/ducttape.png rename to src/main/resources/assets/electromagictools/textures/items/ducttape.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electricboots.png b/src/main/resources/assets/electromagictools/textures/items/electricboots.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electricboots.png rename to src/main/resources/assets/electromagictools/textures/items/electricboots.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electricboots_ALT.png b/src/main/resources/assets/electromagictools/textures/items/electricboots_ALT.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electricboots_ALT.png rename to src/main/resources/assets/electromagictools/textures/items/electricboots_ALT.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electricgoggles.png b/src/main/resources/assets/electromagictools/textures/items/electricgoggles.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electricgoggles.png rename to src/main/resources/assets/electromagictools/textures/items/electricgoggles.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electricgoggles_alt.png b/src/main/resources/assets/electromagictools/textures/items/electricgoggles_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electricgoggles_alt.png rename to src/main/resources/assets/electromagictools/textures/items/electricgoggles_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electrichoe_16X.png b/src/main/resources/assets/electromagictools/textures/items/electrichoe_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electrichoe_16X.png rename to src/main/resources/assets/electromagictools/textures/items/electrichoe_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth.png b/src/main/resources/assets/electromagictools/textures/items/electrichoegrowth.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth.png rename to src/main/resources/assets/electromagictools/textures/items/electrichoegrowth.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth_16X.png b/src/main/resources/assets/electromagictools/textures/items/electrichoegrowth_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth_16X.png rename to src/main/resources/assets/electromagictools/textures/items/electrichoegrowth_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth_32x.png b/src/main/resources/assets/electromagictools/textures/items/electrichoegrowth_32x.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth_32x.png rename to src/main/resources/assets/electromagictools/textures/items/electrichoegrowth_32x.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth_alt.png b/src/main/resources/assets/electromagictools/textures/items/electrichoegrowth_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth_alt.png rename to src/main/resources/assets/electromagictools/textures/items/electrichoegrowth_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth_alt32x.png b/src/main/resources/assets/electromagictools/textures/items/electrichoegrowth_alt32x.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/electrichoegrowth_alt32x.png rename to src/main/resources/assets/electromagictools/textures/items/electrichoegrowth_alt32x.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/explosionfocus.png b/src/main/resources/assets/electromagictools/textures/items/explosionfocus.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/explosionfocus.png rename to src/main/resources/assets/electromagictools/textures/items/explosionfocus.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/feathercarboardwing.png b/src/main/resources/assets/electromagictools/textures/items/feathercarboardwing.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/feathercarboardwing.png rename to src/main/resources/assets/electromagictools/textures/items/feathercarboardwing.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/feathercardboardwing.png b/src/main/resources/assets/electromagictools/textures/items/feathercardboardwing.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/feathercardboardwing.png rename to src/main/resources/assets/electromagictools/textures/items/feathercardboardwing.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/feathermesh.png b/src/main/resources/assets/electromagictools/textures/items/feathermesh.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/feathermesh.png rename to src/main/resources/assets/electromagictools/textures/items/feathermesh.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/featherwings.png b/src/main/resources/assets/electromagictools/textures/items/featherwings.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/featherwings.png rename to src/main/resources/assets/electromagictools/textures/items/featherwings.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/featherwings_flat.png b/src/main/resources/assets/electromagictools/textures/items/featherwings_flat.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/featherwings_flat.png rename to src/main/resources/assets/electromagictools/textures/items/featherwings_flat.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/glue.png b/src/main/resources/assets/electromagictools/textures/items/glue.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/glue.png rename to src/main/resources/assets/electromagictools/textures/items/glue.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/glueball.png b/src/main/resources/assets/electromagictools/textures/items/glueball.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/glueball.png rename to src/main/resources/assets/electromagictools/textures/items/glueball.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/electricthorhammer.png b/src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/electricthorhammer.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/electricthorhammer.png.mcmeta b/src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer.png.mcmeta similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/electricthorhammer.png.mcmeta rename to src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer.png.mcmeta diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/electricthorhammer_alt.png b/src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/electricthorhammer_alt.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/electricthorhammer_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/hammerStages/electric01.png b/src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric01.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/hammerStages/electric01.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric01.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/hammerStages/electric02.png b/src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric02.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/hammerStages/electric02.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric02.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/hammerStages/electric03.png b/src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric03.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/hammerStages/electric03.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric03.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/hammerStages/electric04.png b/src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric04.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/hammerStages/electric04.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/hammerStages/electric04.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/taintedthorhammer.png b/src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/taintedthorhammer.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/taintedthorhammer.png.mcmeta b/src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer.png.mcmeta similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/taintedthorhammer.png.mcmeta rename to src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer.png.mcmeta diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/taintedthorhammer_long.png b/src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer_long.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/taintedthorhammer_long.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer_long.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/taintedthorhammer_short.png b/src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer_short.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/taintedthorhammer_short.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/taintedthorhammer_short.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/hammer/thorhammer.png b/src/main/resources/assets/electromagictools/textures/items/hammer/thorhammer.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/hammer/thorhammer.png rename to src/main/resources/assets/electromagictools/textures/items/hammer/thorhammer.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/inventoryeumaker.png b/src/main/resources/assets/electromagictools/textures/items/inventoryeumaker.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/inventoryeumaker.png rename to src/main/resources/assets/electromagictools/textures/items/inventoryeumaker.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/ironomnitool.png b/src/main/resources/assets/electromagictools/textures/items/ironomnitool.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/ironomnitool.png rename to src/main/resources/assets/electromagictools/textures/items/ironomnitool.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/ironomnitool_16X.png b/src/main/resources/assets/electromagictools/textures/items/ironomnitool_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/ironomnitool_16X.png rename to src/main/resources/assets/electromagictools/textures/items/ironomnitool_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/lightningsummoner.png b/src/main/resources/assets/electromagictools/textures/items/lightningsummoner.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/lightningsummoner.png rename to src/main/resources/assets/electromagictools/textures/items/lightningsummoner.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/lightningsummoner_alt.png b/src/main/resources/assets/electromagictools/textures/items/lightningsummoner_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/lightningsummoner_alt.png rename to src/main/resources/assets/electromagictools/textures/items/lightningsummoner_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/nanobootstravel.png b/src/main/resources/assets/electromagictools/textures/items/nanobootstravel.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/nanobootstravel.png rename to src/main/resources/assets/electromagictools/textures/items/nanobootstravel.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/nanothaumichelmet.png b/src/main/resources/assets/electromagictools/textures/items/nanothaumichelmet.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/nanothaumichelmet.png rename to src/main/resources/assets/electromagictools/textures/items/nanothaumichelmet.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/nanothaumichelmet_alt.png b/src/main/resources/assets/electromagictools/textures/items/nanothaumichelmet_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/nanothaumichelmet_alt.png rename to src/main/resources/assets/electromagictools/textures/items/nanothaumichelmet_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/nanowings.png b/src/main/resources/assets/electromagictools/textures/items/nanowings.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/nanowings.png rename to src/main/resources/assets/electromagictools/textures/items/nanowings.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/onering.png b/src/main/resources/assets/electromagictools/textures/items/onering.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/onering.png rename to src/main/resources/assets/electromagictools/textures/items/onering.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/purifiedamber.png b/src/main/resources/assets/electromagictools/textures/items/purifiedamber.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/purifiedamber.png rename to src/main/resources/assets/electromagictools/textures/items/purifiedamber.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/purifiedcinnabar.png b/src/main/resources/assets/electromagictools/textures/items/purifiedcinnabar.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/purifiedcinnabar.png rename to src/main/resources/assets/electromagictools/textures/items/purifiedcinnabar.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/quantumbootstravel.png b/src/main/resources/assets/electromagictools/textures/items/quantumbootstravel.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/quantumbootstravel.png rename to src/main/resources/assets/electromagictools/textures/items/quantumbootstravel.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/quantumthaumichelmet.png b/src/main/resources/assets/electromagictools/textures/items/quantumthaumichelmet.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/quantumthaumichelmet.png rename to src/main/resources/assets/electromagictools/textures/items/quantumthaumichelmet.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/quantumthaumichelmet_alt.png b/src/main/resources/assets/electromagictools/textures/items/quantumthaumichelmet_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/quantumthaumichelmet_alt.png rename to src/main/resources/assets/electromagictools/textures/items/quantumthaumichelmet_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/quantumwings.png b/src/main/resources/assets/electromagictools/textures/items/quantumwings.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/quantumwings.png rename to src/main/resources/assets/electromagictools/textures/items/quantumwings.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/rockbreakerdrill.png b/src/main/resources/assets/electromagictools/textures/items/rockbreakerdrill.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/rockbreakerdrill.png rename to src/main/resources/assets/electromagictools/textures/items/rockbreakerdrill.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/rockbreakerdrill_16X.png b/src/main/resources/assets/electromagictools/textures/items/rockbreakerdrill_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/rockbreakerdrill_16X.png rename to src/main/resources/assets/electromagictools/textures/items/rockbreakerdrill_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/rubberball.png b/src/main/resources/assets/electromagictools/textures/items/rubberball.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/rubberball.png rename to src/main/resources/assets/electromagictools/textures/items/rubberball.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/shieldfocus.png b/src/main/resources/assets/electromagictools/textures/items/shieldfocus.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/shieldfocus.png rename to src/main/resources/assets/electromagictools/textures/items/shieldfocus.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/shieldfocus_alt.png b/src/main/resources/assets/electromagictools/textures/items/shieldfocus_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/shieldfocus_alt.png rename to src/main/resources/assets/electromagictools/textures/items/shieldfocus_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/solarrevealinghelmet.png b/src/main/resources/assets/electromagictools/textures/items/solarrevealinghelmet.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/solarrevealinghelmet.png rename to src/main/resources/assets/electromagictools/textures/items/solarrevealinghelmet.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/solarrevealinghelmet_alt.png b/src/main/resources/assets/electromagictools/textures/items/solarrevealinghelmet_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/solarrevealinghelmet_alt.png rename to src/main/resources/assets/electromagictools/textures/items/solarrevealinghelmet_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/solarrevealinghelmet_alt2.png b/src/main/resources/assets/electromagictools/textures/items/solarrevealinghelmet_alt2.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/solarrevealinghelmet_alt2.png rename to src/main/resources/assets/electromagictools/textures/items/solarrevealinghelmet_alt2.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/solarrevealinghelmet_alt3.png b/src/main/resources/assets/electromagictools/textures/items/solarrevealinghelmet_alt3.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/solarrevealinghelmet_alt3.png rename to src/main/resources/assets/electromagictools/textures/items/solarrevealinghelmet_alt3.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/streamchainsaw.png b/src/main/resources/assets/electromagictools/textures/items/streamchainsaw.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/streamchainsaw.png rename to src/main/resources/assets/electromagictools/textures/items/streamchainsaw.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/streamchainsaw.png.mcmeta b/src/main/resources/assets/electromagictools/textures/items/streamchainsaw.png.mcmeta similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/streamchainsaw.png.mcmeta rename to src/main/resources/assets/electromagictools/textures/items/streamchainsaw.png.mcmeta diff --git a/src/main/resources/assets/electricmagictools/textures/items/taintedfeather.png b/src/main/resources/assets/electromagictools/textures/items/taintedfeather.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/taintedfeather.png rename to src/main/resources/assets/electromagictools/textures/items/taintedfeather.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumWing.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumWing.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumWing.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumWing.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumchainsaw.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumchainsaw.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumchainsaw.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumchainsaw.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumchainsaw_16X.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumchainsaw_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumchainsaw_16X.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumchainsaw_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumchainsaw_alt.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumchainsaw_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumchainsaw_alt.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumchainsaw_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumdrill.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumdrill.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumdrill.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumdrill.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumdrill_16X.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumdrill_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumdrill_16X.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumdrill_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumdrill_alt.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumdrill_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumdrill_alt.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumdrill_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumdrill_alt2.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumdrill_alt2.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumdrill_alt2.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumdrill_alt2.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumomnitool.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumomnitool.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumomnitool.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumomnitool.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumomnitool_16X.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumomnitool_16X.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumomnitool_16X.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumomnitool_16X.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumomnitool_alt.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumomnitool_alt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumomnitool_alt.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumomnitool_alt.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumomnitool_alt2.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumomnitool_alt2.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumomnitool_alt2.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumomnitool_alt2.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumplate.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumplate.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumplate.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumplate.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/thaumiumwings.png b/src/main/resources/assets/electromagictools/textures/items/thaumiumwings.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/thaumiumwings.png rename to src/main/resources/assets/electromagictools/textures/items/thaumiumwings.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/wandchargefocus.png b/src/main/resources/assets/electromagictools/textures/items/wandchargefocus.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/wandchargefocus.png rename to src/main/resources/assets/electromagictools/textures/items/wandchargefocus.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/wings_random.png b/src/main/resources/assets/electromagictools/textures/items/wings_random.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/wings_random.png rename to src/main/resources/assets/electromagictools/textures/items/wings_random.png diff --git a/src/main/resources/assets/electricmagictools/textures/items/wings_random2.png b/src/main/resources/assets/electromagictools/textures/items/wings_random2.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/items/wings_random2.png rename to src/main/resources/assets/electromagictools/textures/items/wings_random2.png diff --git a/src/main/resources/assets/electricmagictools/textures/misc/Thumbs.db b/src/main/resources/assets/electromagictools/textures/misc/Thumbs.db similarity index 98% rename from src/main/resources/assets/electricmagictools/textures/misc/Thumbs.db rename to src/main/resources/assets/electromagictools/textures/misc/Thumbs.db index 86fbe54..517cfa4 100644 Binary files a/src/main/resources/assets/electricmagictools/textures/misc/Thumbs.db and b/src/main/resources/assets/electromagictools/textures/misc/Thumbs.db differ diff --git a/src/main/resources/assets/electricmagictools/textures/misc/emt.png b/src/main/resources/assets/electromagictools/textures/misc/emt.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/misc/emt.png rename to src/main/resources/assets/electromagictools/textures/misc/emt.png diff --git a/src/main/resources/assets/electricmagictools/textures/misc/thaumiumplaterecipe.png b/src/main/resources/assets/electromagictools/textures/misc/thaumiumplaterecipe.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/misc/thaumiumplaterecipe.png rename to src/main/resources/assets/electromagictools/textures/misc/thaumiumplaterecipe.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/Thumbs.db b/src/main/resources/assets/electromagictools/textures/models/Thumbs.db similarity index 98% rename from src/main/resources/assets/electricmagictools/textures/models/Thumbs.db rename to src/main/resources/assets/electromagictools/textures/models/Thumbs.db index 3bac5e1..57ba9ae 100644 Binary files a/src/main/resources/assets/electricmagictools/textures/models/Thumbs.db and b/src/main/resources/assets/electromagictools/textures/models/Thumbs.db differ diff --git a/src/main/resources/assets/electricmagictools/textures/models/electricboots.png b/src/main/resources/assets/electromagictools/textures/models/electricboots.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/electricboots.png rename to src/main/resources/assets/electromagictools/textures/models/electricboots.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/electricgoggles.png b/src/main/resources/assets/electromagictools/textures/models/electricgoggles.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/electricgoggles.png rename to src/main/resources/assets/electromagictools/textures/models/electricgoggles.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/featherwing.png b/src/main/resources/assets/electromagictools/textures/models/featherwing.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/featherwing.png rename to src/main/resources/assets/electromagictools/textures/models/featherwing.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/featherwing_noString.png b/src/main/resources/assets/electromagictools/textures/models/featherwing_noString.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/featherwing_noString.png rename to src/main/resources/assets/electromagictools/textures/models/featherwing_noString.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/lasermodel.png b/src/main/resources/assets/electromagictools/textures/models/lasermodel.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/lasermodel.png rename to src/main/resources/assets/electromagictools/textures/models/lasermodel.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/nanobootstravel.png b/src/main/resources/assets/electromagictools/textures/models/nanobootstravel.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/nanobootstravel.png rename to src/main/resources/assets/electromagictools/textures/models/nanobootstravel.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/nanowing.png b/src/main/resources/assets/electromagictools/textures/models/nanowing.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/nanowing.png rename to src/main/resources/assets/electromagictools/textures/models/nanowing.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/quantumbootstravel.png b/src/main/resources/assets/electromagictools/textures/models/quantumbootstravel.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/quantumbootstravel.png rename to src/main/resources/assets/electromagictools/textures/models/quantumbootstravel.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/quantumwing.png b/src/main/resources/assets/electromagictools/textures/models/quantumwing.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/quantumwing.png rename to src/main/resources/assets/electromagictools/textures/models/quantumwing.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/scaryhelmet.png b/src/main/resources/assets/electromagictools/textures/models/scaryhelmet.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/scaryhelmet.png rename to src/main/resources/assets/electromagictools/textures/models/scaryhelmet.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/solarrevealinghelmet.png b/src/main/resources/assets/electromagictools/textures/models/solarrevealinghelmet.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/solarrevealinghelmet.png rename to src/main/resources/assets/electromagictools/textures/models/solarrevealinghelmet.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/thaumicnanohelmet.png b/src/main/resources/assets/electromagictools/textures/models/thaumicnanohelmet.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/thaumicnanohelmet.png rename to src/main/resources/assets/electromagictools/textures/models/thaumicnanohelmet.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/thaumicquantumhelmet.png b/src/main/resources/assets/electromagictools/textures/models/thaumicquantumhelmet.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/thaumicquantumhelmet.png rename to src/main/resources/assets/electromagictools/textures/models/thaumicquantumhelmet.png diff --git a/src/main/resources/assets/electricmagictools/textures/models/thaumiumwing.png b/src/main/resources/assets/electromagictools/textures/models/thaumiumwing.png similarity index 100% rename from src/main/resources/assets/electricmagictools/textures/models/thaumiumwing.png rename to src/main/resources/assets/electromagictools/textures/models/thaumiumwing.png diff --git a/src/main/resources/emt.png b/src/main/resources/emt.png new file mode 100644 index 0000000..661f59d Binary files /dev/null and b/src/main/resources/emt.png differ diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 2fc7377..f082844 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,14 +3,14 @@ "modid": "Electro-MagicTools", "name": "Electro-MagicTools", "description": "Ever thought about combining magic and electricity?", - "version": "$version", - "mcversion": "$mcversion", - "url": "http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1292998-", + "version": "1.1.4", + "mcversion": "1.7.10", + "url": "http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1292998-industrialcraft-2-thaumcraft-4-electro-magic", "updateUrl": "", "authorList": ["Tombenpotter"], "credits": "Azanor, the IC2 guys, and the forge guys!", - "logoFile": "/assets/tombenpotter/textures/misc/emt.png", + "logoFile": "emt.png", "screenshots": [], - "dependencies": [] + "dependencies": ["Thaumcraft 4"] } ]