From dcb5fac39411ea142e334d42d09bf95a994cfef1 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Sun, 31 Mar 2013 19:12:10 -0400 Subject: [PATCH] v5.5.4 Beta #1 *Refactored API, removing core interfaces and adding more descriptive javadocs. MDK users, be prepared to update. *Fixed differing progress not being recognized. *Fixed Theoretical Elementizer displaying incorrect progress. *Made IGasStorage work in both items and blocks -- IStorageTank extends this now. *Better storage tank code. *Loads of reformatting and added missing javadocs. --- src/minecraft/mekanism/api/EnumGas.java | 2 +- .../mekanism/api/GasTransferProtocol.java | 5 + .../mekanism/api/GasTransmission.java | 5 + .../mekanism/api/ICableOutputter.java | 10 ++ src/minecraft/mekanism/api/IConfigurable.java | 5 + src/minecraft/mekanism/api/IGasStorage.java | 12 +- src/minecraft/mekanism/api/IStorageTank.java | 23 +--- .../mekanism/api/IStrictEnergyAcceptor.java | 5 + .../mekanism/api/ITubeConnection.java | 5 + .../mekanism/api/IUniversalCable.java | 5 + .../mekanism/api/IUpgradeManagement.java | 5 + src/minecraft/mekanism/api/InfuseObject.java | 5 + .../mekanism/api/InfuseRegistry.java | 5 + src/minecraft/mekanism/api/InfusionInput.java | 5 + .../mekanism/api/InfusionOutput.java | 5 + src/minecraft/mekanism/api/InfusionType.java | 5 + src/minecraft/mekanism/api/RecipeHelper.java | 7 +- src/minecraft/mekanism/client/GuiFactory.java | 2 +- .../client/GuiTheoreticalElementizer.java | 9 +- src/minecraft/mekanism/client/IHasSound.java | 14 +++ .../mekanism/client/ItemRenderingHandler.java | 4 +- .../mekanism/client/SoundHandler.java | 2 +- .../mekanism/client/ThreadClientUpdate.java | 4 +- .../mekanism/common/BlockEnergyCube.java | 3 +- .../mekanism/common/BlockMachine.java | 2 - .../mekanism/common/ContainerFactory.java | 3 +- .../{api => common}/IActiveState.java | 2 +- .../mekanism/common/IBoundingBlock.java | 6 + .../mekanism/common/IC2EnergyHandler.java | 6 + .../{api => common}/IElectricMachine.java | 5 +- .../mekanism/{api => common}/IEnergyCube.java | 9 +- src/minecraft/mekanism/common/IFactory.java | 5 + .../mekanism/common/ISustainedInventory.java | 5 + .../{api => common}/ITileNetwork.java | 8 +- .../mekanism/common/ItemBlockEnergyCube.java | 3 +- .../mekanism/common/ItemStorageTank.java | 117 +++++++++++------- src/minecraft/mekanism/common/Mekanism.java | 24 ++-- .../mekanism/common/MekanismUtils.java | 12 +- src/minecraft/mekanism/common/OreHandler.java | 4 +- .../mekanism/common/PacketHandler.java | 1 - .../mekanism/{api => common}/Tier.java | 2 +- .../TileEntityAdvancedElectricMachine.java | 33 +++-- .../common/TileEntityAdvancedFactory.java | 2 +- .../mekanism/common/TileEntityBasicBlock.java | 1 - .../common/TileEntityBasicMachine.java | 11 +- .../common/TileEntityBoundingBlock.java | 1 - .../common/TileEntityControlPanel.java | 1 - .../common/TileEntityElectricBlock.java | 1 - .../common/TileEntityElectricMachine.java | 25 ++-- .../common/TileEntityEliteFactory.java | 2 +- .../mekanism/common/TileEntityEnergyCube.java | 2 +- .../mekanism/common/TileEntityFactory.java | 39 +++--- .../mekanism/common/TileEntityGasTank.java | 6 +- .../common/TileEntityMetallurgicInfuser.java | 42 +++---- .../common/TileEntityPurificationChamber.java | 6 +- .../TileEntityTheoreticalElementizer.java | 22 +--- src/minecraft/mekanism/common/Version.java | 1 + .../generators/common/BlockGenerator.java | 2 +- .../generators/common/MekanismGenerators.java | 6 +- .../TileEntityElectrolyticSeparator.java | 6 +- .../common/TileEntityGenerator.java | 7 +- .../common/TileEntityHydrogenGenerator.java | 6 +- .../common/TileEntitySolarGenerator.java | 2 +- .../mekanism/tools/common/MekanismTools.java | 2 +- 64 files changed, 348 insertions(+), 244 deletions(-) rename src/minecraft/mekanism/{api => common}/IActiveState.java (93%) rename src/minecraft/mekanism/{api => common}/IElectricMachine.java (76%) rename src/minecraft/mekanism/{api => common}/IEnergyCube.java (71%) rename src/minecraft/mekanism/{api => common}/ITileNetwork.java (60%) rename src/minecraft/mekanism/{api => common}/Tier.java (98%) diff --git a/src/minecraft/mekanism/api/EnumGas.java b/src/minecraft/mekanism/api/EnumGas.java index 516ae4d10..b43edfb30 100644 --- a/src/minecraft/mekanism/api/EnumGas.java +++ b/src/minecraft/mekanism/api/EnumGas.java @@ -1,7 +1,7 @@ package mekanism.api; /** - * + * The gasses currently available in Mekanism. * @author AidanBrady * */ diff --git a/src/minecraft/mekanism/api/GasTransferProtocol.java b/src/minecraft/mekanism/api/GasTransferProtocol.java index 39beee30b..80e32e00f 100644 --- a/src/minecraft/mekanism/api/GasTransferProtocol.java +++ b/src/minecraft/mekanism/api/GasTransferProtocol.java @@ -7,6 +7,11 @@ import java.util.Collections; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.ForgeDirection; +/** + * The actual protocol gas goes through when it is transferred via Pressurized Tubes. + * @author AidanBrady + * + */ public class GasTransferProtocol { /** List of iterated tubes, to prevent infinite loops. */ diff --git a/src/minecraft/mekanism/api/GasTransmission.java b/src/minecraft/mekanism/api/GasTransmission.java index c438097e0..9bff9df7f 100644 --- a/src/minecraft/mekanism/api/GasTransmission.java +++ b/src/minecraft/mekanism/api/GasTransmission.java @@ -5,6 +5,11 @@ import net.minecraftforge.common.ForgeDirection; import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.VectorHelper; +/** + * A handy class containing several utilities for efficient gas transfer. + * @author AidanBrady + * + */ public class GasTransmission { /** diff --git a/src/minecraft/mekanism/api/ICableOutputter.java b/src/minecraft/mekanism/api/ICableOutputter.java index a005ccbc8..dcd639865 100644 --- a/src/minecraft/mekanism/api/ICableOutputter.java +++ b/src/minecraft/mekanism/api/ICableOutputter.java @@ -2,7 +2,17 @@ package mekanism.api; import net.minecraftforge.common.ForgeDirection; +/** + * Implement this if your TileEntity is capable of outputting energy to cables, overriding Mekanism's default implementation. + * @author AidanBrady + * + */ public interface ICableOutputter { + /** + * Whether or not this block can output to a cable on a specific side. + * @param side - side to check + * @return if the block can output + */ public boolean canOutputTo(ForgeDirection side); } diff --git a/src/minecraft/mekanism/api/IConfigurable.java b/src/minecraft/mekanism/api/IConfigurable.java index 42f55c42e..2674dff06 100644 --- a/src/minecraft/mekanism/api/IConfigurable.java +++ b/src/minecraft/mekanism/api/IConfigurable.java @@ -2,6 +2,11 @@ package mekanism.api; import java.util.ArrayList; +/** + * Implement this if your TileEntity is capable of being modified by a Configurator in it's 'modify' mode. + * @author AidanBrady + * + */ public interface IConfigurable { /** diff --git a/src/minecraft/mekanism/api/IGasStorage.java b/src/minecraft/mekanism/api/IGasStorage.java index 59a950b5d..e85ff471e 100644 --- a/src/minecraft/mekanism/api/IGasStorage.java +++ b/src/minecraft/mekanism/api/IGasStorage.java @@ -1,7 +1,8 @@ package mekanism.api; /** - * Implement this if your tile entity can store some form of gas. + * Implement this if your tile entity can store some form of gas. If you want your item to store gas, implement IStorageTank + * instead. * @author AidanBrady * */ @@ -10,21 +11,24 @@ public interface IGasStorage /** * Get the gas of a declared type. * @param type - type of gas + * @param data - ItemStack parameter if necessary * @return gas stored */ - public int getGas(EnumGas type); + public int getGas(EnumGas type, Object... data); /** * Set the gas of a declared type to a new amount; * @param type - type of gas + * @param data - ItemStack parameter if necessary * @param amount - amount to store */ - public void setGas(EnumGas type, int amount); + public void setGas(EnumGas type, int amount, Object... data); /** * Gets the maximum amount of gas this tile entity can store. * @param type - type of gas + * @param data - ItemStack parameter if necessary * @return maximum gas */ - public int getMaxGas(EnumGas type); + public int getMaxGas(EnumGas type, Object... data); } diff --git a/src/minecraft/mekanism/api/IStorageTank.java b/src/minecraft/mekanism/api/IStorageTank.java index 309b8bc14..7d1b41e39 100644 --- a/src/minecraft/mekanism/api/IStorageTank.java +++ b/src/minecraft/mekanism/api/IStorageTank.java @@ -7,29 +7,8 @@ import net.minecraft.item.ItemStack; * @author AidanBrady * */ -public interface IStorageTank +public interface IStorageTank extends IGasStorage { - /** - * Gets the amount of gas the item has from NBT storage. - * @param itemstack - * @return amount of gas - */ - public int getGas(ItemStack itemstack); - - /** - * Sets the gas the item has stored in it's NBTTagCompound. - * @param itemstack - itemstack of a Storage Tank to set the gas of - * @param type - the type of gas to set - * @param amount - the amount of gas to set - */ - public void setGas(ItemStack itemstack, EnumGas type, int amount); - - /** - * Gets the maximum amount of hydrogen this item can hold. - * @return maximum hydrogen - */ - public int getMaxGas(); - /** * Gets the rate of transfer this item can handle. * @return diff --git a/src/minecraft/mekanism/api/IStrictEnergyAcceptor.java b/src/minecraft/mekanism/api/IStrictEnergyAcceptor.java index 3d3d9b692..22fb7343f 100644 --- a/src/minecraft/mekanism/api/IStrictEnergyAcceptor.java +++ b/src/minecraft/mekanism/api/IStrictEnergyAcceptor.java @@ -2,6 +2,11 @@ package mekanism.api; import net.minecraftforge.common.ForgeDirection; +/** + * Implement this if your TileEntity can accept energy at a floating-point double value from Universal Cables. + * @author AidanBrady + * + */ public interface IStrictEnergyAcceptor { /** diff --git a/src/minecraft/mekanism/api/ITubeConnection.java b/src/minecraft/mekanism/api/ITubeConnection.java index f0f20f346..7c6c4bd65 100644 --- a/src/minecraft/mekanism/api/ITubeConnection.java +++ b/src/minecraft/mekanism/api/ITubeConnection.java @@ -2,6 +2,11 @@ package mekanism.api; import net.minecraftforge.common.ForgeDirection; +/** + * Implement this if your block can connect to Pressurized Tubes. + * @author AidanBrady + * + */ public interface ITubeConnection { /** diff --git a/src/minecraft/mekanism/api/IUniversalCable.java b/src/minecraft/mekanism/api/IUniversalCable.java index 3b88d551f..b8d485394 100644 --- a/src/minecraft/mekanism/api/IUniversalCable.java +++ b/src/minecraft/mekanism/api/IUniversalCable.java @@ -1,5 +1,10 @@ package mekanism.api; +/** + * Implement this in your TileEntity class if the block can transfer energy as a Universal Cable. + * @author AidanBrady + * + */ public interface IUniversalCable { /** diff --git a/src/minecraft/mekanism/api/IUpgradeManagement.java b/src/minecraft/mekanism/api/IUpgradeManagement.java index af1279f07..02c09ae2e 100644 --- a/src/minecraft/mekanism/api/IUpgradeManagement.java +++ b/src/minecraft/mekanism/api/IUpgradeManagement.java @@ -1,5 +1,10 @@ package mekanism.api; +/** + * Implement this if your block or item can store Mekanism-based upgrades. + * @author AidanBrady + * + */ public interface IUpgradeManagement { /** diff --git a/src/minecraft/mekanism/api/InfuseObject.java b/src/minecraft/mekanism/api/InfuseObject.java index 3942a3fd0..62ebaf14a 100644 --- a/src/minecraft/mekanism/api/InfuseObject.java +++ b/src/minecraft/mekanism/api/InfuseObject.java @@ -1,5 +1,10 @@ package mekanism.api; +/** + * InfuseObject - an object associated with an ItemStack that can modify a Metallurgic Infuser's internal infuse. + * @author AidanBrady + * + */ public class InfuseObject { /** The type of infuse this item stores */ diff --git a/src/minecraft/mekanism/api/InfuseRegistry.java b/src/minecraft/mekanism/api/InfuseRegistry.java index c64197f5d..b01fdcdc7 100644 --- a/src/minecraft/mekanism/api/InfuseRegistry.java +++ b/src/minecraft/mekanism/api/InfuseRegistry.java @@ -5,6 +5,11 @@ import java.util.HashMap; import net.minecraft.item.ItemStack; +/** + * Use this class to add a new object that registers as an infuse object. + * @author AidanBrady + * + */ public class InfuseRegistry { /** diff --git a/src/minecraft/mekanism/api/InfusionInput.java b/src/minecraft/mekanism/api/InfusionInput.java index 65a78e191..ddbf4827e 100644 --- a/src/minecraft/mekanism/api/InfusionInput.java +++ b/src/minecraft/mekanism/api/InfusionInput.java @@ -2,6 +2,11 @@ package mekanism.api; import net.minecraft.item.ItemStack; +/** + * An infusion input, containing the type of and amount of infuse the operation requires, as well as the input ItemStack. + * @author AidanBrady + * + */ public class InfusionInput { /** The type of this infusion */ diff --git a/src/minecraft/mekanism/api/InfusionOutput.java b/src/minecraft/mekanism/api/InfusionOutput.java index fa1aa9db7..a6c488fc3 100644 --- a/src/minecraft/mekanism/api/InfusionOutput.java +++ b/src/minecraft/mekanism/api/InfusionOutput.java @@ -2,6 +2,11 @@ package mekanism.api; import net.minecraft.item.ItemStack; +/** + * An infusion output, containing a reference to it's input as well as the output resource. + * @author AidanBrady + * + */ public class InfusionOutput { /** The input infusion */ diff --git a/src/minecraft/mekanism/api/InfusionType.java b/src/minecraft/mekanism/api/InfusionType.java index 633cb1025..1373cb10b 100644 --- a/src/minecraft/mekanism/api/InfusionType.java +++ b/src/minecraft/mekanism/api/InfusionType.java @@ -1,5 +1,10 @@ package mekanism.api; +/** + * The types of infuse currently available in Mekanism. + * @author AidanBrady + * + */ public enum InfusionType { COAL("COAL"), diff --git a/src/minecraft/mekanism/api/RecipeHelper.java b/src/minecraft/mekanism/api/RecipeHelper.java index 428b27a5d..a40123799 100644 --- a/src/minecraft/mekanism/api/RecipeHelper.java +++ b/src/minecraft/mekanism/api/RecipeHelper.java @@ -4,7 +4,12 @@ import java.lang.reflect.Method; import net.minecraft.item.ItemStack; -public class RecipeHelper +/** + * Use this handy class to add recipes to Mekanism machinery. + * @author AidanBrady + * + */ +public final class RecipeHelper { /** * Add an Enrichment Chamber recipe. diff --git a/src/minecraft/mekanism/client/GuiFactory.java b/src/minecraft/mekanism/client/GuiFactory.java index 4bc64300b..0f8b83c84 100644 --- a/src/minecraft/mekanism/client/GuiFactory.java +++ b/src/minecraft/mekanism/client/GuiFactory.java @@ -1,9 +1,9 @@ package mekanism.client; -import mekanism.api.Tier.FactoryTier; import mekanism.common.ContainerFactory; import mekanism.common.TileEntityFactory; import mekanism.common.IFactory.RecipeType; +import mekanism.common.Tier.FactoryTier; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; diff --git a/src/minecraft/mekanism/client/GuiTheoreticalElementizer.java b/src/minecraft/mekanism/client/GuiTheoreticalElementizer.java index 5568c03e2..7ffa4d823 100644 --- a/src/minecraft/mekanism/client/GuiTheoreticalElementizer.java +++ b/src/minecraft/mekanism/client/GuiTheoreticalElementizer.java @@ -17,15 +17,10 @@ public class GuiTheoreticalElementizer extends GuiAdvancedElectricMachine { super.drawGuiContainerForegroundLayer(par1, par2); String displayText = ""; + if(tileEntity.isActive) { - if(MekanismUtils.getTicks(tileEntity.speedMultiplier) == 1000) - { - displayText = "Status: " + Double.toString(Math.round(tileEntity.operatingTicks/10)).replace(".0", "") + "%"; - } - else { - displayText = "Status: " + Integer.toString((int)(tileEntity.operatingTicks/8.5)).replace(".0", "") + "%"; - } + displayText = "Status: " + (int)(((float)tileEntity.operatingTicks/MekanismUtils.getTicks(tileEntity.speedMultiplier, tileEntity.TICKS_REQUIRED))*100) + "%"; } else { displayText = "Status: " + EnumColor.DARK_RED + "Off"; diff --git a/src/minecraft/mekanism/client/IHasSound.java b/src/minecraft/mekanism/client/IHasSound.java index 5befb363e..82abc1d9c 100644 --- a/src/minecraft/mekanism/client/IHasSound.java +++ b/src/minecraft/mekanism/client/IHasSound.java @@ -1,5 +1,14 @@ package mekanism.client; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +/** + * Implement this if your TileEntity has a specific sound. + * @author AidanBrady + * + */ +@SideOnly(Side.CLIENT) public interface IHasSound { /** @@ -12,4 +21,9 @@ public interface IHasSound * Removes the sound; */ public void removeSound(); + + /** + * Ticks and updates the block's sound. + */ + public void updateSound(); } diff --git a/src/minecraft/mekanism/client/ItemRenderingHandler.java b/src/minecraft/mekanism/client/ItemRenderingHandler.java index bced8afec..c84825b5d 100644 --- a/src/minecraft/mekanism/client/ItemRenderingHandler.java +++ b/src/minecraft/mekanism/client/ItemRenderingHandler.java @@ -1,8 +1,8 @@ package mekanism.client; -import mekanism.api.IEnergyCube; -import mekanism.api.Tier.EnergyCubeTier; +import mekanism.common.IEnergyCube; import mekanism.common.Mekanism; +import mekanism.common.Tier.EnergyCubeTier; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; diff --git a/src/minecraft/mekanism/client/SoundHandler.java b/src/minecraft/mekanism/client/SoundHandler.java index 26eb256ba..861a7442a 100644 --- a/src/minecraft/mekanism/client/SoundHandler.java +++ b/src/minecraft/mekanism/client/SoundHandler.java @@ -5,7 +5,7 @@ import java.util.Collections; import java.util.List; import java.util.Random; -import mekanism.api.IActiveState; +import mekanism.common.IActiveState; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import paulscode.sound.SoundSystem; diff --git a/src/minecraft/mekanism/client/ThreadClientUpdate.java b/src/minecraft/mekanism/client/ThreadClientUpdate.java index baed9dbd3..6f2bb158e 100644 --- a/src/minecraft/mekanism/client/ThreadClientUpdate.java +++ b/src/minecraft/mekanism/client/ThreadClientUpdate.java @@ -26,7 +26,7 @@ public class ThreadClientUpdate extends Thread downloadType = type; try { url = new URL(location); - setDaemon(true); + setDaemon(false); start(); } catch (MalformedURLException e) { e.printStackTrace(); @@ -54,7 +54,7 @@ public class ThreadClientUpdate extends Thread outputStream.close(); stream.close(); - if(downloadType == 2) + if(downloadType == 0) { GuiCredits.onFinishedDownloading(); System.out.println("[Mekanism] Successfully updated to latest version (" + Mekanism.latestVersionNumber + ")."); diff --git a/src/minecraft/mekanism/common/BlockEnergyCube.java b/src/minecraft/mekanism/common/BlockEnergyCube.java index 02d07cd33..b9c62be9c 100644 --- a/src/minecraft/mekanism/common/BlockEnergyCube.java +++ b/src/minecraft/mekanism/common/BlockEnergyCube.java @@ -12,8 +12,7 @@ import thermalexpansion.api.core.IDismantleable; import universalelectricity.core.item.IItemElectric; import universalelectricity.prefab.implement.IToolConfigurator; -import mekanism.api.IEnergyCube; -import mekanism.api.Tier.EnergyCubeTier; +import mekanism.common.Tier.EnergyCubeTier; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; diff --git a/src/minecraft/mekanism/common/BlockMachine.java b/src/minecraft/mekanism/common/BlockMachine.java index 5c4016006..e8b99749d 100644 --- a/src/minecraft/mekanism/common/BlockMachine.java +++ b/src/minecraft/mekanism/common/BlockMachine.java @@ -9,8 +9,6 @@ import thermalexpansion.api.core.IDismantleable; import universalelectricity.core.item.IItemElectric; import universalelectricity.prefab.implement.IToolConfigurator; -import mekanism.api.IActiveState; -import mekanism.api.Tier; import mekanism.api.IUpgradeManagement; import mekanism.client.ClientProxy; import mekanism.common.IFactory.RecipeType; diff --git a/src/minecraft/mekanism/common/ContainerFactory.java b/src/minecraft/mekanism/common/ContainerFactory.java index 63781ce38..3e44c1880 100644 --- a/src/minecraft/mekanism/common/ContainerFactory.java +++ b/src/minecraft/mekanism/common/ContainerFactory.java @@ -2,9 +2,8 @@ package mekanism.common; import universalelectricity.core.item.IItemElectric; import ic2.api.IElectricItem; -import mekanism.api.Tier; -import mekanism.api.Tier.FactoryTier; import mekanism.common.IFactory.RecipeType; +import mekanism.common.Tier.FactoryTier; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/minecraft/mekanism/api/IActiveState.java b/src/minecraft/mekanism/common/IActiveState.java similarity index 93% rename from src/minecraft/mekanism/api/IActiveState.java rename to src/minecraft/mekanism/common/IActiveState.java index f89a1cb33..9057473a9 100644 --- a/src/minecraft/mekanism/api/IActiveState.java +++ b/src/minecraft/mekanism/common/IActiveState.java @@ -1,4 +1,4 @@ -package mekanism.api; +package mekanism.common; /** * Implement this if your machine/generator has some form of active state. diff --git a/src/minecraft/mekanism/common/IBoundingBlock.java b/src/minecraft/mekanism/common/IBoundingBlock.java index 96ef9a2da..575c01ee7 100644 --- a/src/minecraft/mekanism/common/IBoundingBlock.java +++ b/src/minecraft/mekanism/common/IBoundingBlock.java @@ -1,5 +1,11 @@ package mekanism.common; +/** + * Internal interface. A bounding block is not actually a 'bounding' block, it is really just a fake block that is + * used to mimic actual block bounds. + * @author AidanBrady + * + */ public interface IBoundingBlock { /** diff --git a/src/minecraft/mekanism/common/IC2EnergyHandler.java b/src/minecraft/mekanism/common/IC2EnergyHandler.java index be8a6cd9e..825e34748 100644 --- a/src/minecraft/mekanism/common/IC2EnergyHandler.java +++ b/src/minecraft/mekanism/common/IC2EnergyHandler.java @@ -11,6 +11,12 @@ import ic2.api.energy.event.EnergyTileSourceEvent; import ic2.api.energy.tile.IEnergyConductor; import ic2.api.energy.tile.IEnergySource; +/** + * This here is the core implementation of IC2 into Universal Cable. Thanks to Player's hard work at making the EnergyNet + * an event-based system, this is possible. + * @author AidanBrady + * + */ public class IC2EnergyHandler { @ForgeSubscribe diff --git a/src/minecraft/mekanism/api/IElectricMachine.java b/src/minecraft/mekanism/common/IElectricMachine.java similarity index 76% rename from src/minecraft/mekanism/api/IElectricMachine.java rename to src/minecraft/mekanism/common/IElectricMachine.java index a60189e3f..f34bfdb72 100644 --- a/src/minecraft/mekanism/api/IElectricMachine.java +++ b/src/minecraft/mekanism/common/IElectricMachine.java @@ -1,9 +1,10 @@ -package mekanism.api; +package mekanism.common; import java.util.Map; /** - * A group of common methods used by all Mekanism machines. + * Internal interface containing methods that are shared by many core Mekanism machines. TODO: remove next minor MC + * version. * @author AidanBrady * */ diff --git a/src/minecraft/mekanism/api/IEnergyCube.java b/src/minecraft/mekanism/common/IEnergyCube.java similarity index 71% rename from src/minecraft/mekanism/api/IEnergyCube.java rename to src/minecraft/mekanism/common/IEnergyCube.java index 9b8450d17..75e2b791b 100644 --- a/src/minecraft/mekanism/api/IEnergyCube.java +++ b/src/minecraft/mekanism/common/IEnergyCube.java @@ -1,8 +1,13 @@ -package mekanism.api; +package mekanism.common; -import mekanism.api.Tier.EnergyCubeTier; +import mekanism.common.Tier.EnergyCubeTier; import net.minecraft.item.ItemStack; +/** + * Internal interface used when dealing with Energy Cubes and their tiers. + * @author AidanBrady + * + */ public interface IEnergyCube { /** diff --git a/src/minecraft/mekanism/common/IFactory.java b/src/minecraft/mekanism/common/IFactory.java index e34ea5ecd..fa2ae1a4f 100644 --- a/src/minecraft/mekanism/common/IFactory.java +++ b/src/minecraft/mekanism/common/IFactory.java @@ -4,6 +4,11 @@ import mekanism.common.RecipeHandler.Recipe; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; +/** + * Internal interface for managing various Factory types. + * @author AidanBrady + * + */ public interface IFactory { /** diff --git a/src/minecraft/mekanism/common/ISustainedInventory.java b/src/minecraft/mekanism/common/ISustainedInventory.java index c95e44571..584f44e7b 100644 --- a/src/minecraft/mekanism/common/ISustainedInventory.java +++ b/src/minecraft/mekanism/common/ISustainedInventory.java @@ -3,6 +3,11 @@ package mekanism.common; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +/** + * Internal interface used in blocks and items that are capable of storing sustained inventories. + * @author AidanBrady + * + */ public interface ISustainedInventory { /** diff --git a/src/minecraft/mekanism/api/ITileNetwork.java b/src/minecraft/mekanism/common/ITileNetwork.java similarity index 60% rename from src/minecraft/mekanism/api/ITileNetwork.java rename to src/minecraft/mekanism/common/ITileNetwork.java index 6eea8dd78..33888bbf5 100644 --- a/src/minecraft/mekanism/api/ITileNetwork.java +++ b/src/minecraft/mekanism/common/ITileNetwork.java @@ -1,18 +1,18 @@ -package mekanism.api; +package mekanism.common; import java.util.ArrayList; import com.google.common.io.ByteArrayDataInput; /** - * Implement this in your TileEntity class if you plan to have your machine send and receive packets. Send packets sparingly! + * Internal interface used for blocks that send data between clients and the server * @author AidanBrady * */ public interface ITileNetwork { /** - * Called when a networked machine receives a packet. + * Receive and manage a data input. * @param network * @param packet * @param player @@ -21,7 +21,7 @@ public interface ITileNetwork public void handlePacketData(ByteArrayDataInput dataStream) throws Exception; /** - * Gets an ArrayList of data this machine keeps synchronized with the client. + * Gets an ArrayList of data this tile entity keeps synchronized with the client. * @param data - list of data * @return ArrayList */ diff --git a/src/minecraft/mekanism/common/ItemBlockEnergyCube.java b/src/minecraft/mekanism/common/ItemBlockEnergyCube.java index 2dd4958f9..51754a088 100644 --- a/src/minecraft/mekanism/common/ItemBlockEnergyCube.java +++ b/src/minecraft/mekanism/common/ItemBlockEnergyCube.java @@ -16,8 +16,7 @@ import universalelectricity.core.electricity.ElectricityDisplay.ElectricUnit; import universalelectricity.core.item.IItemElectric; import mekanism.api.EnumColor; -import mekanism.api.IEnergyCube; -import mekanism.api.Tier.EnergyCubeTier; +import mekanism.common.Tier.EnergyCubeTier; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; diff --git a/src/minecraft/mekanism/common/ItemStorageTank.java b/src/minecraft/mekanism/common/ItemStorageTank.java index c1c8c0010..d81560545 100644 --- a/src/minecraft/mekanism/common/ItemStorageTank.java +++ b/src/minecraft/mekanism/common/ItemStorageTank.java @@ -33,7 +33,7 @@ public class ItemStorageTank extends ItemMekanism implements IStorageTank @Override public void addInformation(ItemStack itemstack, EntityPlayer entityplayer, List list, boolean flag) { - int gas = getGas(itemstack); + int gas = getGas(getGasType(itemstack), itemstack); if(getGasType(itemstack) == EnumGas.NONE) { @@ -55,54 +55,69 @@ public class ItemStorageTank extends ItemMekanism implements IStorageTank { ItemStorageTank item = ((ItemStorageTank)itemstack.getItem()); - if(item.getGas(itemstack) == 0 && item.getGasType(itemstack) != EnumGas.NONE) + if(getGasType(itemstack) != EnumGas.NONE && getGas(getGasType(itemstack), itemstack) == 0) { - item.setGasType(itemstack, EnumGas.NONE); + setGasType(itemstack, EnumGas.NONE); } } @Override - public int getGas(ItemStack itemstack) + public int getGas(EnumGas type, Object... data) { - if(itemstack.stackTagCompound == null) + if(data[0] instanceof ItemStack) { - return 0; + ItemStack itemstack = (ItemStack)data[0]; + + if(getGasType(itemstack) == type) + { + if(itemstack.stackTagCompound == null) + { + return 0; + } + + int stored = 0; + + if(itemstack.stackTagCompound.getTag("gas") != null) + { + stored = itemstack.stackTagCompound.getInteger("gas"); + } + + itemstack.setItemDamage((int)(Math.abs((((float)stored/MAX_GAS)*100)-100))); + return stored; + } } - int stored = 0; - - if(itemstack.stackTagCompound.getTag("gas") != null) - { - stored = itemstack.stackTagCompound.getInteger("gas"); - } - - itemstack.setItemDamage((int)(Math.abs((((float)stored/MAX_GAS)*100)-100))); - return stored; + return 0; } @Override - public void setGas(ItemStack itemstack, EnumGas type, int amount) + public void setGas(EnumGas type, int amount, Object... data) { - if(itemstack.stackTagCompound == null) + if(data[0] instanceof ItemStack) { - itemstack.setTagCompound(new NBTTagCompound()); - } - - if(getGasType(itemstack) == EnumGas.NONE) - { - setGasType(itemstack, type); - } - - if(getGasType(itemstack) == type) - { - int stored = Math.max(Math.min(amount, MAX_GAS), 0); - itemstack.stackTagCompound.setInteger("gas", stored); - itemstack.setItemDamage((int)(Math.abs((((float)stored/MAX_GAS)*100)-100))); - } - - if(getGas(itemstack) == 0) - { - setGasType(itemstack, EnumGas.NONE); + ItemStack itemstack = (ItemStack)data[0]; + + if(itemstack.stackTagCompound == null) + { + itemstack.setTagCompound(new NBTTagCompound()); + } + + if(getGasType(itemstack) == EnumGas.NONE) + { + setGasType(itemstack, type); + } + + if(getGasType(itemstack) == type) + { + int stored = Math.max(Math.min(amount, MAX_GAS), 0); + itemstack.stackTagCompound.setInteger("gas", stored); + itemstack.setItemDamage((int)(Math.abs((((float)stored/MAX_GAS)*100)-100))); + } + + if(getGas(getGasType(itemstack), itemstack) == 0) + { + setGasType(itemstack, EnumGas.NONE); + } } } @@ -126,18 +141,29 @@ public class ItemStorageTank extends ItemMekanism implements IStorageTank { if(type != EnumGas.NONE) { - ItemStack charged = new ItemStack(this); - setGasType(charged, type); - setGas(charged, type, ((IStorageTank)charged.getItem()).getMaxGas()); - list.add(charged); + ItemStack filled = new ItemStack(this); + setGasType(filled, type); + setGas(type, ((IStorageTank)filled.getItem()).getMaxGas(type, filled), filled); + list.add(filled); } } } @Override - public int getMaxGas() + public int getMaxGas(EnumGas type, Object... data) { - return MAX_GAS; + if(data[0] instanceof ItemStack) + { + ItemStack itemStack = (ItemStack)data[0]; + IStorageTank tank = (IStorageTank)itemStack.getItem(); + + if(getGasType(itemStack) == EnumGas.NONE || getGasType(itemStack) == type) + { + return MAX_GAS; + } + } + + return 0; } @Override @@ -151,10 +177,11 @@ public class ItemStorageTank extends ItemMekanism implements IStorageTank { if(getGasType(itemstack) == type || getGasType(itemstack) == EnumGas.NONE) { - int rejects = Math.max((getGas(itemstack) + amount) - MAX_GAS, 0); - setGas(itemstack, type, getGas(itemstack) + amount - rejects); + int rejects = Math.max((getGas(getGasType(itemstack), itemstack) + amount) - MAX_GAS, 0); + setGas(type, getGas(type, itemstack) + amount - rejects, itemstack); return rejects; } + return amount; } @@ -163,8 +190,8 @@ public class ItemStorageTank extends ItemMekanism implements IStorageTank { if(getGasType(itemstack) == type) { - int gasToUse = Math.min(getGas(itemstack), amount); - setGas(itemstack, type, getGas(itemstack) - gasToUse); + int gasToUse = Math.min(getGas(type, itemstack), amount); + setGas(type, getGas(type, itemstack) - gasToUse, itemstack); return gasToUse; } diff --git a/src/minecraft/mekanism/common/Mekanism.java b/src/minecraft/mekanism/common/Mekanism.java index 729dab8b1..a30524ea9 100644 --- a/src/minecraft/mekanism/common/Mekanism.java +++ b/src/minecraft/mekanism/common/Mekanism.java @@ -11,10 +11,10 @@ import java.util.logging.Logger; import mekanism.api.InfuseObject; import mekanism.api.InfusionInput; import mekanism.api.InfusionType; -import mekanism.api.Tier.EnergyCubeTier; -import mekanism.api.Tier.FactoryTier; import mekanism.client.SoundHandler; import mekanism.common.IFactory.RecipeType; +import mekanism.common.Tier.EnergyCubeTier; +import mekanism.common.Tier.FactoryTier; import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -52,7 +52,7 @@ import cpw.mods.fml.relauncher.SideOnly; * @author AidanBrady * */ -@Mod(modid = "Mekanism", name = "Mekanism", version = "5.5.2") +@Mod(modid = "Mekanism", name = "Mekanism", version = "5.5.4") @NetworkMod(channels = {"Mekanism"}, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketHandler.class) public class Mekanism { @@ -74,7 +74,7 @@ public class Mekanism public static Configuration configuration; /** Mekanism version number */ - public static Version versionNumber = new Version(5, 5, 2); + public static Version versionNumber = new Version(5, 5, 4); /** Map of Teleporters */ public static Map> teleporters = new HashMap>(); @@ -226,16 +226,16 @@ public class Mekanism "RCR", "ECE", "RCR", Character.valueOf('C'), Item.ingotGold, Character.valueOf('R'), Item.redstone, Character.valueOf('E'), EnrichedAlloy })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(MachineBlock, 1, 0), new Object[] { - "ARA", "CIC", "ARA", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('R'), Item.redstone, Character.valueOf('I'), new ItemStack(BasicBlock, 1, 9), Character.valueOf('C'), ControlCircuit + "ARA", "CIC", "ARA", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('R'), Item.redstone, Character.valueOf('I'), new ItemStack(BasicBlock, 1, 8), Character.valueOf('C'), ControlCircuit })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(MachineBlock, 1, 1), new Object[] { - "RCR", "GIG", "RCR", Character.valueOf('R'), Item.redstone, Character.valueOf('C'), "basicCircuit", Character.valueOf('G'), Block.glass, Character.valueOf('I'), new ItemStack(BasicBlock, 1, 9) + "RCR", "GIG", "RCR", Character.valueOf('R'), Item.redstone, Character.valueOf('C'), "basicCircuit", Character.valueOf('G'), Block.glass, Character.valueOf('I'), new ItemStack(BasicBlock, 1, 8) })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(MachineBlock, 1, 2), new Object[] { - "SCS", "RIR", "SCS", Character.valueOf('S'), Block.cobblestone, Character.valueOf('C'), "basicCircuit", Character.valueOf('R'), Item.redstone, Character.valueOf('I'), new ItemStack(BasicBlock, 1, 9) + "SCS", "RIR", "SCS", Character.valueOf('S'), Block.cobblestone, Character.valueOf('C'), "basicCircuit", Character.valueOf('R'), Item.redstone, Character.valueOf('I'), new ItemStack(BasicBlock, 1, 8) })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(MachineBlock, 1, 3), new Object[] { - "RLR", "CIC", "RLR", Character.valueOf('R'), Item.redstone, Character.valueOf('L'), Item.bucketLava, Character.valueOf('C'), "basicCircuit", Character.valueOf('I'), new ItemStack(BasicBlock, 1, 9) + "RLR", "CIC", "RLR", Character.valueOf('R'), Item.redstone, Character.valueOf('L'), Item.bucketLava, Character.valueOf('C'), "basicCircuit", Character.valueOf('I'), new ItemStack(BasicBlock, 1, 8) })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SpeedUpgrade), new Object[] { " G ", "APA", " G ", Character.valueOf('P'), "dustOsmium", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('G'), Block.glass @@ -256,7 +256,7 @@ public class Mekanism "PPP", "PDP", "PPP", Character.valueOf('P'), "ingotOsmium", Character.valueOf('D'), "dustIron" })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(MekanismUtils.getEnergyCube(EnergyCubeTier.BASIC), new Object[] { - "RLR", "TIT", "RLR", Character.valueOf('R'), Item.redstone, Character.valueOf('L'), new ItemStack(Item.dyePowder, 1, 4), Character.valueOf('T'), EnergyTablet.getUnchargedItem(), Character.valueOf('I'), new ItemStack(BasicBlock, 1, 9) + "RLR", "TIT", "RLR", Character.valueOf('R'), Item.redstone, Character.valueOf('L'), new ItemStack(Item.dyePowder, 1, 4), Character.valueOf('T'), EnergyTablet.getUnchargedItem(), Character.valueOf('I'), new ItemStack(BasicBlock, 1, 8) })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(MekanismUtils.getEnergyCube(EnergyCubeTier.ADVANCED), new Object[] { "EGE", "TBT", "EGE", Character.valueOf('E'), EnrichedAlloy, Character.valueOf('G'), Item.ingotGold, Character.valueOf('T'), EnergyTablet.getUnchargedItem(), Character.valueOf('B'), MekanismUtils.getEnergyCube(EnergyCubeTier.BASIC) @@ -292,7 +292,7 @@ public class Mekanism "COC", "OTO", "COC", Character.valueOf('C'), "basicCircuit", Character.valueOf('O'), new ItemStack(BasicBlock, 1, 8), Character.valueOf('T'), TeleportationCore })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(MachineBlock, 1, 9), new Object[] { - "CAC", "ERE", "CAC", Character.valueOf('C'), "basicCircuit", Character.valueOf('A'), AtomicCore, Character.valueOf('E'), EnrichedAlloy, Character.valueOf('R'), new ItemStack(BasicBlock, 1, 9) + "CAC", "ERE", "CAC", Character.valueOf('C'), "basicCircuit", Character.valueOf('A'), AtomicCore, Character.valueOf('E'), EnrichedAlloy, Character.valueOf('R'), new ItemStack(BasicBlock, 1, 8) })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(Configurator), new Object[] { " L ", "AEA", " S ", Character.valueOf('L'), new ItemStack(Item.dyePowder, 1, 4), Character.valueOf('A'), EnrichedAlloy, Character.valueOf('E'), EnergyTablet.getUnchargedItem(), Character.valueOf('S'), Item.stick @@ -307,7 +307,7 @@ public class Mekanism " S ", "SPS", " S ", Character.valueOf('S'), "ingotSteel", Character.valueOf('P'), "ingotOsmium" })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(MachineBlock, 1, 10), new Object[] { - "SCS", "GIG", "SCS", Character.valueOf('S'), Block.cobblestone, Character.valueOf('C'), ControlCircuit, Character.valueOf('G'), Block.glass, Character.valueOf('I'), new ItemStack(BasicBlock, 1, 9) + "SCS", "GIG", "SCS", Character.valueOf('S'), Block.cobblestone, Character.valueOf('C'), ControlCircuit, Character.valueOf('G'), Block.glass, Character.valueOf('I'), new ItemStack(BasicBlock, 1, 8) })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(Transmitter, 8, 1), new Object[] { "OOO", "RRR", "OOO", Character.valueOf('O'), "ingotOsmium", Character.valueOf('R'), Item.redstone @@ -604,7 +604,7 @@ public class Mekanism OreDictionary.registerOre("dustDirtySilver", new ItemStack(DirtyDust, 1, 5)); OreDictionary.registerOre("dustDirtyObsidian", new ItemStack(DirtyDust, 1, 6)); - //for railcraft + //for RailCraft. cj + obsidian dust = rawr OreDictionary.registerOre("dustObsidian", new ItemStack(DirtyDust, 1, 6)); OreDictionary.registerOre("clumpIron", new ItemStack(Clump, 1, 0)); diff --git a/src/minecraft/mekanism/common/MekanismUtils.java b/src/minecraft/mekanism/common/MekanismUtils.java index 07ffc4ff7..3e601de42 100644 --- a/src/minecraft/mekanism/common/MekanismUtils.java +++ b/src/minecraft/mekanism/common/MekanismUtils.java @@ -20,15 +20,14 @@ import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.VectorHelper; import mekanism.api.EnumColor; -import mekanism.api.IActiveState; import mekanism.api.ICableOutputter; import mekanism.api.IConfigurable; import mekanism.api.IStrictEnergyAcceptor; import mekanism.api.IUniversalCable; import mekanism.api.InfuseObject; -import mekanism.api.Tier.EnergyCubeTier; -import mekanism.api.Tier.FactoryTier; import mekanism.common.IFactory.RecipeType; +import mekanism.common.Tier.EnergyCubeTier; +import mekanism.common.Tier.FactoryTier; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; @@ -418,17 +417,18 @@ public final class MekanismUtils /** * Gets the operating ticks required for a machine via it's upgrades. * @param multiplier - speed multiplier + * @param def - the original, default ticks required * @return max operating ticks */ - public static int getTicks(int multiplier) + public static int getTicks(int multiplier, int def) { - return 200/(multiplier+1); + return def/(multiplier+1); } /** * Gets the maximum energy for a machine via it's upgrades. * @param multiplier - energy multiplier - * @param def - original, definitive max energy + * @param def - original, default max energy * @return max energy */ public static double getEnergy(int multiplier, double def) diff --git a/src/minecraft/mekanism/common/OreHandler.java b/src/minecraft/mekanism/common/OreHandler.java index 60e7dfe37..2de45393f 100644 --- a/src/minecraft/mekanism/common/OreHandler.java +++ b/src/minecraft/mekanism/common/OreHandler.java @@ -17,12 +17,12 @@ public class OreHandler implements IWorldGenerator { if(!(chunkGenerator instanceof ChunkProviderHell) && !(chunkGenerator instanceof ChunkProviderEnd)) { - for(int i=0;i<8;i++) + for(int i = 0; i < 8; i++) { int randPosX = (chunkX*16) + random.nextInt(16); int randPosY = random.nextInt(60); int randPosZ = (chunkZ*16) + random.nextInt(16); - (new WorldGenMinable(new ItemStack(Mekanism.OreBlock, 1, 0).itemID, 8)).generate(world, random, randPosX, randPosY, randPosZ); + new WorldGenMinable(new ItemStack(Mekanism.OreBlock, 1, 0).itemID, 8).generate(world, random, randPosX, randPosY, randPosZ); } } } diff --git a/src/minecraft/mekanism/common/PacketHandler.java b/src/minecraft/mekanism/common/PacketHandler.java index 26caa26eb..83f601033 100644 --- a/src/minecraft/mekanism/common/PacketHandler.java +++ b/src/minecraft/mekanism/common/PacketHandler.java @@ -8,7 +8,6 @@ import java.util.Random; import universalelectricity.core.electricity.ElectricityPack; -import mekanism.api.ITileNetwork; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; diff --git a/src/minecraft/mekanism/api/Tier.java b/src/minecraft/mekanism/common/Tier.java similarity index 98% rename from src/minecraft/mekanism/api/Tier.java rename to src/minecraft/mekanism/common/Tier.java index 931d0d890..d7d0068a7 100644 --- a/src/minecraft/mekanism/api/Tier.java +++ b/src/minecraft/mekanism/common/Tier.java @@ -1,4 +1,4 @@ -package mekanism.api; +package mekanism.common; /** * Tier information for Mekanism. This currently includes tiers for Energy Cubes and Smelting Factories. diff --git a/src/minecraft/mekanism/common/TileEntityAdvancedElectricMachine.java b/src/minecraft/mekanism/common/TileEntityAdvancedElectricMachine.java index b6c634f54..8424e2f24 100644 --- a/src/minecraft/mekanism/common/TileEntityAdvancedElectricMachine.java +++ b/src/minecraft/mekanism/common/TileEntityAdvancedElectricMachine.java @@ -92,9 +92,9 @@ public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicM if(inventory[3].itemID == Item.redstone.itemID && electricityStored+1000 <= MekanismUtils.getEnergy(energyMultiplier, MAX_ELECTRICITY)) { setJoules(electricityStored + 1000); - --inventory[3].stackSize; + inventory[3].stackSize--; - if (inventory[3].stackSize <= 0) + if(inventory[3].stackSize <= 0) { inventory[3] = null; } @@ -112,7 +112,7 @@ public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicM else if(upgradeTicks == UPGRADE_TICKS_REQUIRED) { upgradeTicks = 0; - energyMultiplier+=1; + energyMultiplier++; inventory[4].stackSize--; @@ -131,7 +131,7 @@ public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicM else if(upgradeTicks == UPGRADE_TICKS_REQUIRED) { upgradeTicks = 0; - speedMultiplier+=1; + speedMultiplier++; inventory[4].stackSize--; @@ -153,18 +153,19 @@ public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicM if(electricityStored >= ENERGY_PER_TICK && secondaryEnergyStored >= SECONDARY_ENERGY_PER_TICK) { - if(canOperate() && (operatingTicks+1) < MekanismUtils.getTicks(speedMultiplier) && secondaryEnergyStored >= SECONDARY_ENERGY_PER_TICK) + if(canOperate() && (operatingTicks+1) < MekanismUtils.getTicks(speedMultiplier, TICKS_REQUIRED) && secondaryEnergyStored >= SECONDARY_ENERGY_PER_TICK) { - ++operatingTicks; + operatingTicks++; secondaryEnergyStored -= SECONDARY_ENERGY_PER_TICK; electricityStored -= ENERGY_PER_TICK; } - else if((operatingTicks+1) >= MekanismUtils.getTicks(speedMultiplier)) + else if((operatingTicks+1) >= MekanismUtils.getTicks(speedMultiplier, TICKS_REQUIRED)) { if(!worldObj.isRemote) { operate(); } + operatingTicks = 0; secondaryEnergyStored -= SECONDARY_ENERGY_PER_TICK; electricityStored -= ENERGY_PER_TICK; @@ -219,17 +220,16 @@ public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicM { ItemStack itemstack = RecipeHandler.getOutput(inventory[0], true, getRecipes()); - if (inventory[0].stackSize <= 0) + if(inventory[0].stackSize <= 0) { inventory[0] = null; } - if (inventory[2] == null) + if(inventory[2] == null) { inventory[2] = itemstack; } - else - { + else { inventory[2].stackSize += itemstack.stackSize; } } @@ -237,29 +237,28 @@ public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicM @Override public boolean canOperate() { - if (inventory[0] == null) + if(inventory[0] == null) { return false; } ItemStack itemstack = RecipeHandler.getOutput(inventory[0], false, getRecipes()); - if (itemstack == null) + if(itemstack == null) { return false; } - if (inventory[2] == null) + if(inventory[2] == null) { return true; } - if (!inventory[2].isItemEqual(itemstack)) + if(!inventory[2].isItemEqual(itemstack)) { return false; } - else - { + else { return inventory[2].stackSize + itemstack.stackSize <= inventory[2].getMaxStackSize(); } } diff --git a/src/minecraft/mekanism/common/TileEntityAdvancedFactory.java b/src/minecraft/mekanism/common/TileEntityAdvancedFactory.java index 915a51c61..096ab0892 100644 --- a/src/minecraft/mekanism/common/TileEntityAdvancedFactory.java +++ b/src/minecraft/mekanism/common/TileEntityAdvancedFactory.java @@ -2,7 +2,7 @@ package mekanism.common; import mekanism.api.EnumColor; import mekanism.api.SideData; -import mekanism.api.Tier.FactoryTier; +import mekanism.common.Tier.FactoryTier; public class TileEntityAdvancedFactory extends TileEntityFactory { diff --git a/src/minecraft/mekanism/common/TileEntityBasicBlock.java b/src/minecraft/mekanism/common/TileEntityBasicBlock.java index b77190a2d..613858691 100644 --- a/src/minecraft/mekanism/common/TileEntityBasicBlock.java +++ b/src/minecraft/mekanism/common/TileEntityBasicBlock.java @@ -5,7 +5,6 @@ import java.util.ArrayList; import com.google.common.io.ByteArrayDataInput; import ic2.api.IWrenchable; -import mekanism.api.ITileNetwork; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; diff --git a/src/minecraft/mekanism/common/TileEntityBasicMachine.java b/src/minecraft/mekanism/common/TileEntityBasicMachine.java index 5716102e4..b8edc5ae4 100644 --- a/src/minecraft/mekanism/common/TileEntityBasicMachine.java +++ b/src/minecraft/mekanism/common/TileEntityBasicMachine.java @@ -7,9 +7,7 @@ import java.util.ArrayList; import com.google.common.io.ByteArrayDataInput; -import mekanism.api.IActiveState; import mekanism.api.IConfigurable; -import mekanism.api.IElectricMachine; import mekanism.api.IStrictEnergyAcceptor; import mekanism.api.IUpgradeManagement; import mekanism.api.SideData; @@ -109,15 +107,16 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp { synchronized(Mekanism.audioHandler.sounds) { - handleSound(); + updateSound(); } } } catch(NoSuchMethodError e) {} } } - + @SideOnly(Side.CLIENT) - public void handleSound() + @Override + public void updateSound() { if(Mekanism.audioHandler != null) { @@ -292,7 +291,7 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp */ public int getScaledProgress(int i) { - return operatingTicks*i / MekanismUtils.getTicks(speedMultiplier); + return operatingTicks*i / MekanismUtils.getTicks(speedMultiplier, TICKS_REQUIRED); } public int getScaledUpgradeProgress(int i) diff --git a/src/minecraft/mekanism/common/TileEntityBoundingBlock.java b/src/minecraft/mekanism/common/TileEntityBoundingBlock.java index 2da8a8ac5..bdc098934 100644 --- a/src/minecraft/mekanism/common/TileEntityBoundingBlock.java +++ b/src/minecraft/mekanism/common/TileEntityBoundingBlock.java @@ -4,7 +4,6 @@ import java.util.ArrayList; import com.google.common.io.ByteArrayDataInput; -import mekanism.api.ITileNetwork; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; diff --git a/src/minecraft/mekanism/common/TileEntityControlPanel.java b/src/minecraft/mekanism/common/TileEntityControlPanel.java index 89f025844..d642c8b7f 100644 --- a/src/minecraft/mekanism/common/TileEntityControlPanel.java +++ b/src/minecraft/mekanism/common/TileEntityControlPanel.java @@ -2,7 +2,6 @@ package mekanism.common; import java.util.ArrayList; -import mekanism.api.ITileNetwork; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; diff --git a/src/minecraft/mekanism/common/TileEntityElectricBlock.java b/src/minecraft/mekanism/common/TileEntityElectricBlock.java index 7c520b19d..2050a60c0 100644 --- a/src/minecraft/mekanism/common/TileEntityElectricBlock.java +++ b/src/minecraft/mekanism/common/TileEntityElectricBlock.java @@ -15,7 +15,6 @@ import ic2.api.IWrenchable; import ic2.api.energy.event.EnergyTileLoadEvent; import ic2.api.energy.event.EnergyTileUnloadEvent; import ic2.api.energy.tile.IEnergyTile; -import mekanism.api.ITileNetwork; import net.minecraft.inventory.IInventory; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.ForgeDirection; diff --git a/src/minecraft/mekanism/common/TileEntityElectricMachine.java b/src/minecraft/mekanism/common/TileEntityElectricMachine.java index 89855b683..38bf246d9 100644 --- a/src/minecraft/mekanism/common/TileEntityElectricMachine.java +++ b/src/minecraft/mekanism/common/TileEntityElectricMachine.java @@ -62,9 +62,9 @@ public abstract class TileEntityElectricMachine extends TileEntityBasicMachine if(inventory[1].itemID == Item.redstone.itemID && electricityStored+1000 <= MekanismUtils.getEnergy(energyMultiplier, MAX_ELECTRICITY)) { setJoules(electricityStored + 1000); - --inventory[1].stackSize; + inventory[1].stackSize--; - if (inventory[1].stackSize <= 0) + if(inventory[1].stackSize <= 0) { inventory[1] = null; } @@ -82,7 +82,7 @@ public abstract class TileEntityElectricMachine extends TileEntityBasicMachine else if(upgradeTicks == UPGRADE_TICKS_REQUIRED) { upgradeTicks = 0; - energyMultiplier+=1; + energyMultiplier++; inventory[3].stackSize--; @@ -101,7 +101,7 @@ public abstract class TileEntityElectricMachine extends TileEntityBasicMachine else if(upgradeTicks == UPGRADE_TICKS_REQUIRED) { upgradeTicks = 0; - speedMultiplier+=1; + speedMultiplier++; inventory[3].stackSize--; @@ -121,17 +121,18 @@ public abstract class TileEntityElectricMachine extends TileEntityBasicMachine if(electricityStored >= ENERGY_PER_TICK) { - if(canOperate() && (operatingTicks+1) < MekanismUtils.getTicks(speedMultiplier)) + if(canOperate() && (operatingTicks+1) < MekanismUtils.getTicks(speedMultiplier, TICKS_REQUIRED)) { operatingTicks++; electricityStored -= ENERGY_PER_TICK; } - else if(canOperate() && (operatingTicks+1) >= MekanismUtils.getTicks(speedMultiplier)) + else if(canOperate() && (operatingTicks+1) >= MekanismUtils.getTicks(speedMultiplier, TICKS_REQUIRED)) { if(!worldObj.isRemote) { operate(); } + operatingTicks = 0; electricityStored -= ENERGY_PER_TICK; } @@ -159,12 +160,12 @@ public abstract class TileEntityElectricMachine extends TileEntityBasicMachine { ItemStack itemstack = RecipeHandler.getOutput(inventory[0], true, getRecipes()); - if (inventory[0].stackSize <= 0) + if(inventory[0].stackSize <= 0) { inventory[0] = null; } - if (inventory[2] == null) + if(inventory[2] == null) { inventory[2] = itemstack; } @@ -176,24 +177,24 @@ public abstract class TileEntityElectricMachine extends TileEntityBasicMachine @Override public boolean canOperate() { - if (inventory[0] == null) + if(inventory[0] == null) { return false; } ItemStack itemstack = RecipeHandler.getOutput(inventory[0], false, getRecipes()); - if (itemstack == null) + if(itemstack == null) { return false; } - if (inventory[2] == null) + if(inventory[2] == null) { return true; } - if (!inventory[2].isItemEqual(itemstack)) + if(!inventory[2].isItemEqual(itemstack)) { return false; } diff --git a/src/minecraft/mekanism/common/TileEntityEliteFactory.java b/src/minecraft/mekanism/common/TileEntityEliteFactory.java index 0bf008a44..36d8ec06d 100644 --- a/src/minecraft/mekanism/common/TileEntityEliteFactory.java +++ b/src/minecraft/mekanism/common/TileEntityEliteFactory.java @@ -2,7 +2,7 @@ package mekanism.common; import mekanism.api.EnumColor; import mekanism.api.SideData; -import mekanism.api.Tier.FactoryTier; +import mekanism.common.Tier.FactoryTier; public class TileEntityEliteFactory extends TileEntityFactory { diff --git a/src/minecraft/mekanism/common/TileEntityEnergyCube.java b/src/minecraft/mekanism/common/TileEntityEnergyCube.java index 3eea7610b..cbc45ba94 100644 --- a/src/minecraft/mekanism/common/TileEntityEnergyCube.java +++ b/src/minecraft/mekanism/common/TileEntityEnergyCube.java @@ -17,7 +17,7 @@ import java.util.HashSet; import mekanism.api.ICableOutputter; import mekanism.api.IUniversalCable; import mekanism.api.IStrictEnergyAcceptor; -import mekanism.api.Tier.EnergyCubeTier; +import mekanism.common.Tier.EnergyCubeTier; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; diff --git a/src/minecraft/mekanism/common/TileEntityFactory.java b/src/minecraft/mekanism/common/TileEntityFactory.java index 3d978be8c..1638d8af3 100644 --- a/src/minecraft/mekanism/common/TileEntityFactory.java +++ b/src/minecraft/mekanism/common/TileEntityFactory.java @@ -7,15 +7,14 @@ import ic2.api.ElectricItem; import ic2.api.IElectricItem; import ic2.api.energy.tile.IEnergySink; import mekanism.api.EnumColor; -import mekanism.api.IActiveState; import mekanism.api.IConfigurable; import mekanism.api.IStrictEnergyAcceptor; import mekanism.api.IUpgradeManagement; import mekanism.api.SideData; -import mekanism.api.Tier.FactoryTier; import mekanism.client.IHasSound; import mekanism.client.Sound; import mekanism.common.IFactory.RecipeType; +import mekanism.common.Tier.FactoryTier; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -111,7 +110,7 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg { synchronized(Mekanism.audioHandler.sounds) { - handleSound(); + updateSound(); } } } catch(NoSuchMethodError e) {} @@ -146,9 +145,9 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg if(inventory[1].itemID == Item.redstone.itemID && electricityStored+1000 <= MekanismUtils.getEnergy(energyMultiplier, MAX_ELECTRICITY)) { setJoules(electricityStored + 1000); - --inventory[1].stackSize; + inventory[1].stackSize--; - if (inventory[1].stackSize <= 0) + if(inventory[1].stackSize <= 0) { inventory[1] = null; } @@ -166,7 +165,7 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg else if(upgradeTicks == UPGRADE_TICKS_REQUIRED) { upgradeTicks = 0; - energyMultiplier+=1; + energyMultiplier++; inventory[0].stackSize--; @@ -185,7 +184,7 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg else if(upgradeTicks == UPGRADE_TICKS_REQUIRED) { upgradeTicks = 0; - speedMultiplier+=1; + speedMultiplier++; inventory[0].stackSize--; @@ -207,17 +206,18 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg { if(electricityStored >= ENERGY_PER_TICK) { - if(canOperate(getInputSlot(process), getOutputSlot(process)) && (progress[process]+1) < MekanismUtils.getTicks(speedMultiplier)) + if(canOperate(getInputSlot(process), getOutputSlot(process)) && (progress[process]+1) < MekanismUtils.getTicks(speedMultiplier, TICKS_REQUIRED)) { - ++progress[process]; + progress[process]++; electricityStored -= ENERGY_PER_TICK; } - else if(canOperate(getInputSlot(process), getOutputSlot(process)) && (progress[process]+1) >= MekanismUtils.getTicks(speedMultiplier)) + else if(canOperate(getInputSlot(process), getOutputSlot(process)) && (progress[process]+1) >= MekanismUtils.getTicks(speedMultiplier, TICKS_REQUIRED)) { if(!worldObj.isRemote) { operate(getInputSlot(process), getOutputSlot(process)); } + progress[process] = 0; electricityStored -= ENERGY_PER_TICK; } @@ -253,7 +253,8 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg } @SideOnly(Side.CLIENT) - public void handleSound() + @Override + public void updateSound() { if(Mekanism.audioHandler != null) { @@ -295,7 +296,7 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg public int getScaledProgress(int i, int process) { - return progress[process]*i / MekanismUtils.getTicks(speedMultiplier); + return progress[process]*i / MekanismUtils.getTicks(speedMultiplier, TICKS_REQUIRED); } /** @@ -315,24 +316,24 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg public boolean canOperate(int inputSlot, int outputSlot) { - if (inventory[inputSlot] == null) + if(inventory[inputSlot] == null) { return false; } ItemStack itemstack = RecipeType.values()[recipeType].getCopiedOutput(inventory[inputSlot], false); - if (itemstack == null) + if(itemstack == null) { return false; } - if (inventory[outputSlot] == null) + if(inventory[outputSlot] == null) { return true; } - if (!inventory[outputSlot].isItemEqual(itemstack)) + if(!inventory[outputSlot].isItemEqual(itemstack)) { return false; } @@ -343,19 +344,19 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg public void operate(int inputSlot, int outputSlot) { - if (!canOperate(inputSlot, outputSlot)) + if(!canOperate(inputSlot, outputSlot)) { return; } ItemStack itemstack = RecipeType.values()[recipeType].getCopiedOutput(inventory[inputSlot], true); - if (inventory[inputSlot].stackSize <= 0) + if(inventory[inputSlot].stackSize <= 0) { inventory[inputSlot] = null; } - if (inventory[outputSlot] == null) + if(inventory[outputSlot] == null) { inventory[outputSlot] = itemstack; } diff --git a/src/minecraft/mekanism/common/TileEntityGasTank.java b/src/minecraft/mekanism/common/TileEntityGasTank.java index a083323d2..85d1b892e 100644 --- a/src/minecraft/mekanism/common/TileEntityGasTank.java +++ b/src/minecraft/mekanism/common/TileEntityGasTank.java @@ -153,7 +153,7 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasS } @Override - public int getGas(EnumGas type) + public int getGas(EnumGas type, Object... data) { if(type == gasType) { @@ -164,7 +164,7 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasS } @Override - public void setGas(EnumGas type, int amount) + public void setGas(EnumGas type, int amount, Object... data) { if(type == gasType) { @@ -173,7 +173,7 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasS } @Override - public int getMaxGas(EnumGas type) + public int getMaxGas(EnumGas type, Object... data) { return MAX_GAS; } diff --git a/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java b/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java index 3760a6253..c752f8937 100644 --- a/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java +++ b/src/minecraft/mekanism/common/TileEntityMetallurgicInfuser.java @@ -8,7 +8,6 @@ import ic2.api.energy.tile.IEnergySink; import java.util.ArrayList; import mekanism.api.EnumColor; -import mekanism.api.IActiveState; import mekanism.api.IConfigurable; import mekanism.api.IStrictEnergyAcceptor; import mekanism.api.IUpgradeManagement; @@ -112,7 +111,7 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem { synchronized(Mekanism.audioHandler.sounds) { - handleSound(); + updateSound(); } } } catch(NoSuchMethodError e) {} @@ -139,9 +138,9 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem if(inventory[4].itemID == Item.redstone.itemID && electricityStored+1000 <= MekanismUtils.getEnergy(energyMultiplier, MAX_ELECTRICITY)) { setJoules(electricityStored + 1000); - --inventory[4].stackSize; + inventory[4].stackSize--; - if (inventory[4].stackSize <= 0) + if(inventory[4].stackSize <= 0) { inventory[4] = null; } @@ -159,7 +158,7 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem else if(upgradeTicks == UPGRADE_TICKS_REQUIRED) { upgradeTicks = 0; - energyMultiplier+=1; + energyMultiplier++; inventory[0].stackSize--; @@ -178,7 +177,7 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem else if(upgradeTicks == UPGRADE_TICKS_REQUIRED) { upgradeTicks = 0; - speedMultiplier+=1; + speedMultiplier++; inventory[0].stackSize--; @@ -210,7 +209,7 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem type = infuse.type; inventory[1].stackSize--; - if (inventory[1].stackSize <= 0) + if(inventory[1].stackSize <= 0) { inventory[1] = null; } @@ -221,17 +220,18 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem if(electricityStored >= ENERGY_PER_TICK) { - if(canOperate() && (operatingTicks+1) < MekanismUtils.getTicks(speedMultiplier)) + if(canOperate() && (operatingTicks+1) < MekanismUtils.getTicks(speedMultiplier, TICKS_REQUIRED)) { - ++operatingTicks; + operatingTicks++; electricityStored -= ENERGY_PER_TICK; } - else if(canOperate() && (operatingTicks+1) >= MekanismUtils.getTicks(speedMultiplier)) + else if(canOperate() && (operatingTicks+1) >= MekanismUtils.getTicks(speedMultiplier, TICKS_REQUIRED)) { if(!worldObj.isRemote) { operate(); } + operatingTicks = 0; electricityStored -= ENERGY_PER_TICK; } @@ -261,7 +261,8 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem } @SideOnly(Side.CLIENT) - public void handleSound() + @Override + public void updateSound() { if(Mekanism.audioHandler != null) { @@ -292,7 +293,7 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem public void operate() { - if (!canOperate()) + if(!canOperate()) { return; } @@ -301,12 +302,12 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem infuseStored -= output.getInfuseRequired(); - if (inventory[2].stackSize <= 0) + if(inventory[2].stackSize <= 0) { inventory[2] = null; } - if (inventory[3] == null) + if(inventory[3] == null) { inventory[3] = output.resource.copy(); } @@ -317,14 +318,14 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem public boolean canOperate() { - if (inventory[2] == null) + if(inventory[2] == null) { return false; } InfusionOutput output = RecipeHandler.getOutput(InfusionInput.getInfusion(type, infuseStored, inventory[2]), false, Recipe.METALLURGIC_INFUSER.get()); - if (output == null) + if(output == null) { return false; } @@ -334,17 +335,16 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem return false; } - if (inventory[3] == null) + if(inventory[3] == null) { return true; } - if (!inventory[3].isItemEqual(output.resource)) + if(!inventory[3].isItemEqual(output.resource)) { return false; } - else - { + else { return inventory[3].stackSize + output.resource.stackSize <= inventory[3].getMaxStackSize(); } } @@ -361,7 +361,7 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem public int getScaledProgress(int i) { - return operatingTicks*i / MekanismUtils.getTicks(speedMultiplier); + return operatingTicks*i / MekanismUtils.getTicks(speedMultiplier, TICKS_REQUIRED); } public int getScaledUpgradeProgress(int i) diff --git a/src/minecraft/mekanism/common/TileEntityPurificationChamber.java b/src/minecraft/mekanism/common/TileEntityPurificationChamber.java index 0b1282f39..add474e12 100644 --- a/src/minecraft/mekanism/common/TileEntityPurificationChamber.java +++ b/src/minecraft/mekanism/common/TileEntityPurificationChamber.java @@ -35,7 +35,7 @@ public class TileEntityPurificationChamber extends TileEntityAdvancedElectricMac } @Override - public int getGas(EnumGas type) + public int getGas(EnumGas type, Object... data) { if(type == EnumGas.OXYGEN) { @@ -46,7 +46,7 @@ public class TileEntityPurificationChamber extends TileEntityAdvancedElectricMac } @Override - public void setGas(EnumGas type, int amount) + public void setGas(EnumGas type, int amount, Object... data) { if(type == EnumGas.OXYGEN) { @@ -55,7 +55,7 @@ public class TileEntityPurificationChamber extends TileEntityAdvancedElectricMac } @Override - public int getMaxGas(EnumGas type) + public int getMaxGas(EnumGas type, Object... data) { if(type == EnumGas.OXYGEN) { diff --git a/src/minecraft/mekanism/common/TileEntityTheoreticalElementizer.java b/src/minecraft/mekanism/common/TileEntityTheoreticalElementizer.java index c3e6da5aa..67336d4c7 100644 --- a/src/minecraft/mekanism/common/TileEntityTheoreticalElementizer.java +++ b/src/minecraft/mekanism/common/TileEntityTheoreticalElementizer.java @@ -21,13 +21,13 @@ public class TileEntityTheoreticalElementizer extends TileEntityAdvancedElectric @Override public HashMap getRecipes() { - return (HashMap)Collections.synchronizedMap(new HashMap()); + return new HashMap(); } @Override public void operate() { - if (!canOperate()) + if(!canOperate()) { return; } @@ -36,7 +36,7 @@ public class TileEntityTheoreticalElementizer extends TileEntityAdvancedElectric inventory[0].stackSize--; - if (inventory[0].stackSize <= 0) + if(inventory[0].stackSize <= 0) { inventory[0] = null; } @@ -47,22 +47,12 @@ public class TileEntityTheoreticalElementizer extends TileEntityAdvancedElectric @Override public boolean canOperate() { - if (inventory[0] == null) + if(inventory[0] == null) { return false; } - - if(electricityStored < ENERGY_PER_TICK) - { - return false; - } - - if(secondaryEnergyStored < SECONDARY_ENERGY_PER_TICK) - { - return false; - } - if (inventory[2] != null) + if(inventory[2] != null) { return false; } @@ -73,7 +63,7 @@ public class TileEntityTheoreticalElementizer extends TileEntityAdvancedElectric @Override public int getFuelTicks(ItemStack itemstack) { - if (itemstack.itemID == Item.diamond.itemID) return 1000; + if(itemstack.itemID == Item.diamond.itemID) return 1000; return 0; } diff --git a/src/minecraft/mekanism/common/Version.java b/src/minecraft/mekanism/common/Version.java index 1f07f21f5..a19024d88 100644 --- a/src/minecraft/mekanism/common/Version.java +++ b/src/minecraft/mekanism/common/Version.java @@ -89,6 +89,7 @@ public class Version public static Version get(String s) { String[] split = s.replace('.', ':').split(":"); + if(split.length != 3) { System.out.println(split.length); diff --git a/src/minecraft/mekanism/generators/common/BlockGenerator.java b/src/minecraft/mekanism/generators/common/BlockGenerator.java index ed0ae5666..c915052df 100644 --- a/src/minecraft/mekanism/generators/common/BlockGenerator.java +++ b/src/minecraft/mekanism/generators/common/BlockGenerator.java @@ -5,7 +5,7 @@ import java.util.Random; import buildcraft.api.tools.IToolWrench; -import mekanism.api.IActiveState; +import mekanism.common.IActiveState; import mekanism.common.IBoundingBlock; import mekanism.common.ISustainedInventory; import mekanism.common.Mekanism; diff --git a/src/minecraft/mekanism/generators/common/MekanismGenerators.java b/src/minecraft/mekanism/generators/common/MekanismGenerators.java index 3abef89d9..92a033bee 100644 --- a/src/minecraft/mekanism/generators/common/MekanismGenerators.java +++ b/src/minecraft/mekanism/generators/common/MekanismGenerators.java @@ -22,7 +22,7 @@ import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; -@Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "5.5.2", dependencies = "required-after:Mekanism") +@Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "5.5.4", dependencies = "required-after:Mekanism") @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class MekanismGenerators { @@ -77,13 +77,13 @@ public class MekanismGenerators "SES", "SES", "III", Character.valueOf('S'), new ItemStack(Generator, 1, 1), Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('I'), Item.ingotIron })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(Generator, 1, 4), new Object[] { - "RER", "BIB", "NEN", Character.valueOf('R'), Item.redstone, Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('B'), BioFuel, Character.valueOf('I'), new ItemStack(Mekanism.BasicBlock, 1, 9), Character.valueOf('N'), Item.ingotIron + "RER", "BIB", "NEN", Character.valueOf('R'), Item.redstone, Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('B'), BioFuel, Character.valueOf('I'), new ItemStack(Mekanism.BasicBlock, 1, 8), Character.valueOf('N'), Item.ingotIron })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(Generator, 1, 2), new Object[] { "IRI", "ECE", "IRI", Character.valueOf('I'), Item.ingotIron, Character.valueOf('R'), Item.redstone, Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('C'), ElectrolyticCore })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(Generator, 1, 3), new Object[] { - "PEP", "ICI", "PEP", Character.valueOf('P'), "ingotOsmium", Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('I'), new ItemStack(Mekanism.BasicBlock, 1, 9), Character.valueOf('C'), ElectrolyticCore + "PEP", "ICI", "PEP", Character.valueOf('P'), "ingotOsmium", Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('I'), new ItemStack(Mekanism.BasicBlock, 1, 8), Character.valueOf('C'), ElectrolyticCore })); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(ElectrolyticCore), new Object[] { "EPE", "IEG", "EPE", Character.valueOf('E'), Mekanism.EnrichedAlloy, Character.valueOf('P'), "dustOsmium", Character.valueOf('I'), "dustIron", Character.valueOf('G'), "dustGold" diff --git a/src/minecraft/mekanism/generators/common/TileEntityElectrolyticSeparator.java b/src/minecraft/mekanism/generators/common/TileEntityElectrolyticSeparator.java index 994461eff..4a9f882d3 100644 --- a/src/minecraft/mekanism/generators/common/TileEntityElectrolyticSeparator.java +++ b/src/minecraft/mekanism/generators/common/TileEntityElectrolyticSeparator.java @@ -364,13 +364,13 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp } @Override - public int getMaxGas(EnumGas type) + public int getMaxGas(EnumGas type, Object... data) { return MAX_GAS; } @Override - public void setGas(EnumGas type, int amount) + public void setGas(EnumGas type, int amount, Object... data) { if(type == EnumGas.HYDROGEN) { @@ -383,7 +383,7 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp } @Override - public int getGas(EnumGas type) + public int getGas(EnumGas type, Object... data) { if(type == EnumGas.HYDROGEN) { diff --git a/src/minecraft/mekanism/generators/common/TileEntityGenerator.java b/src/minecraft/mekanism/generators/common/TileEntityGenerator.java index c65f284a1..ff264d215 100644 --- a/src/minecraft/mekanism/generators/common/TileEntityGenerator.java +++ b/src/minecraft/mekanism/generators/common/TileEntityGenerator.java @@ -16,12 +16,12 @@ import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import mekanism.api.IActiveState; import mekanism.api.ICableOutputter; import mekanism.api.IUniversalCable; import mekanism.client.IHasSound; import mekanism.client.Sound; import mekanism.common.CableUtils; +import mekanism.common.IActiveState; import mekanism.common.Mekanism; import mekanism.common.MekanismUtils; import mekanism.common.PacketHandler; @@ -88,7 +88,7 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem { synchronized(Mekanism.audioHandler.sounds) { - handleSound(); + updateSound(); } } } catch(NoSuchMethodError e) {} @@ -144,7 +144,8 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem } @SideOnly(Side.CLIENT) - public void handleSound() + @Override + public void updateSound() { if(Mekanism.audioHandler != null) { diff --git a/src/minecraft/mekanism/generators/common/TileEntityHydrogenGenerator.java b/src/minecraft/mekanism/generators/common/TileEntityHydrogenGenerator.java index 26470c8f5..08f3661b9 100644 --- a/src/minecraft/mekanism/generators/common/TileEntityHydrogenGenerator.java +++ b/src/minecraft/mekanism/generators/common/TileEntityHydrogenGenerator.java @@ -115,7 +115,7 @@ public class TileEntityHydrogenGenerator extends TileEntityGenerator implements } @Override - public void setGas(EnumGas type, int amount) + public void setGas(EnumGas type, int amount, Object... data) { if(type == EnumGas.HYDROGEN) { @@ -124,7 +124,7 @@ public class TileEntityHydrogenGenerator extends TileEntityGenerator implements } @Override - public int getGas(EnumGas type) + public int getGas(EnumGas type, Object... data) { if(type == EnumGas.HYDROGEN) { @@ -272,7 +272,7 @@ public class TileEntityHydrogenGenerator extends TileEntityGenerator implements } @Override - public int getMaxGas(EnumGas type) + public int getMaxGas(EnumGas type, Object... data) { if(type == EnumGas.HYDROGEN) { diff --git a/src/minecraft/mekanism/generators/common/TileEntitySolarGenerator.java b/src/minecraft/mekanism/generators/common/TileEntitySolarGenerator.java index 41cb12746..cb2db890e 100644 --- a/src/minecraft/mekanism/generators/common/TileEntitySolarGenerator.java +++ b/src/minecraft/mekanism/generators/common/TileEntitySolarGenerator.java @@ -38,7 +38,7 @@ public class TileEntitySolarGenerator extends TileEntityGenerator } @Override - public void handleSound() {} + public void updateSound() {/* No super - prevent sound updating */} @Override public int getSizeInventorySide(ForgeDirection side) diff --git a/src/minecraft/mekanism/tools/common/MekanismTools.java b/src/minecraft/mekanism/tools/common/MekanismTools.java index f2ba4f580..f027da7ce 100644 --- a/src/minecraft/mekanism/tools/common/MekanismTools.java +++ b/src/minecraft/mekanism/tools/common/MekanismTools.java @@ -22,7 +22,7 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.registry.LanguageRegistry; -@Mod(modid = "MekanismTools", name = "MekanismTools", version = "5.5.2", dependencies = "required-after:Mekanism") +@Mod(modid = "MekanismTools", name = "MekanismTools", version = "5.5.4", dependencies = "required-after:Mekanism") @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class MekanismTools {