From efc755d77ad065b28f7ee13c576f45282ec9efa0 Mon Sep 17 00:00:00 2001 From: Henry Mao Date: Fri, 14 Dec 2012 22:13:14 +0800 Subject: [PATCH] Updated to Forge 6.4.2 --- Include Resources.bat | 4 - buildnumber.txt | 2 +- publish.bat | 6 +- src/common/assemblyline/ALCommonProxy.java | 46 ---- .../machine/belt/BlockConveyorBelt.java | 95 -------- .../core/electricity/ElectricityPack.java | 24 -- .../prefab/modifier/IModifier.java | 22 -- .../prefab/modifier/SlotModifier.java | 29 --- .../prefab/multiblock/BlockMulti.java | 98 --------- .../prefab/multiblock/IBlockActivate.java | 17 -- .../prefab/multiblock/IMultiBlock.java | 28 --- .../prefab/multiblock/TileEntityMulti.java | 120 ---------- .../prefab/ore/OreGenBase.java | 99 --------- .../prefab/ore/OreGenReplace.java | 126 ----------- .../prefab/ore/OreGenReplaceStone.java | 18 -- .../prefab/ore/OreGenerator.java | 75 ------- .../prefab/potion/CustomPotion.java | 37 ---- .../prefab/potion/CustomPotionEffect.java | 40 ---- .../prefab/repair/IRepairable.java | 31 --- .../prefab/repair/IToolRepair.java | 19 -- .../prefab/tile/TileEntityConductor.java | 146 ------------- .../assemblyline/api/IBelt.java | 5 +- .../assemblyline/api/IBotArm.java | 0 .../assemblyline/api/IManipulator.java | 2 +- .../ClientProxy.java} | 29 +-- .../{ => client}/gui/GuiAutoCrafting.java | 14 +- .../{ => client}/gui/GuiButtonImage.java | 4 +- .../{ => client}/gui/GuiSorter.java | 16 +- .../{ => client}/model/ModelConveyorBelt.java | 6 +- .../{ => client}/model/ModelDropBox.java | 6 +- .../{ => client}/model/ModelManipulator.java | 6 +- .../{ => client}/model/ModelSorter.java | 6 +- .../render/RenderConveyorBelt.java | 15 +- .../{ => client}/render/RenderHelper.java | 21 +- .../render/RenderManipulator.java | 12 +- .../{ => client}/render/RenderSorter.java | 12 +- .../assemblyline/common}/AssemblyLine.java | 36 ++- .../assemblyline/common/CommonProxy.java | 51 +++++ .../assemblyline/common}/ai/ArmHelper.java | 10 +- .../assemblyline/common}/ai/Task.java | 4 +- .../assemblyline/common}/ai/TaskIdle.java | 4 +- .../assemblyline/common}/ai/TaskManager.java | 4 +- .../common/block}/BlockArchitectTable.java | 10 +- .../common}/machine/BlockMulti.java | 22 +- .../common}/machine/ContainerSorter.java | 14 +- .../common}/machine/ItemBlockMulti.java | 8 +- .../machine/TileEntityManipulator.java | 29 ++- .../common}/machine/TileEntityRejector.java | 32 ++- .../machine/TileEntityRoboticSorter.java | 18 +- .../machine/belt/BlockConveyorBelt.java | 205 ++++++++++++++++++ .../machine/belt/TileEntityConveyorBelt.java | 23 +- .../machine/belt/TileEntityCoveredBelt.java | 2 +- .../machine/belt/TileEntityElevatorBelt.java | 6 +- .../common}/machine/crafter/BlockCrafter.java | 10 +- .../machine/crafter/ContainerCrafter.java | 14 +- .../machine/crafter/EntityCraftingArm.java | 19 +- .../machine/crafter/ItemCrafterArm.java | 4 +- .../machine/crafter/TaskArmCollect.java | 6 +- .../machine/crafter/TaskArmSearch.java | 8 +- .../crafter/TileEntityAutoCrafter.java | 8 +- .../crafter/TileEntityCraftingArm.java | 20 +- .../universalelectricity/core/UELoader.java | 20 +- .../core/UniversalElectricity.java | 12 +- .../core/electricity/ElectricInfo.java | 0 .../core/electricity/Electricity.java | 6 +- .../electricity/ElectricityConnections.java | 19 +- .../core/electricity/ElectricityNetwork.java | 28 ++- .../core/electricity/ElectricityPack.java | 56 +++++ .../core/implement/IConductor.java | 6 +- .../core/implement/IDisableable.java | 0 .../core/implement/IItemElectric.java | 2 +- .../core/implement/IJouleStorage.java | 0 .../core/implement/IVoltage.java | 0 .../core/vector/Vector2.java | 7 +- .../core/vector/Vector3.java | 79 +++++-- .../prefab/BlockConductor.java | 12 +- .../prefab/BlockMachine.java | 20 +- .../prefab/ItemElectric.java | 16 +- .../prefab/RecipeHelper.java | 6 +- .../prefab/SlotElectricItem.java | 6 +- .../prefab/UEDamageSource.java | 2 +- .../universalelectricity/prefab/UETab.java | 6 +- .../prefab/UpdateNotifier.java | 2 +- .../prefab/implement/IRedstoneProvider.java | 0 .../prefab/implement/IRedstoneReceptor.java | 0 .../prefab/implement/IRotatable.java | 0 .../prefab/implement/ITier.java | 0 .../prefab/implement/IToolConfigurator.java | 2 +- .../prefab/network/ConnectionHandler.java | 8 +- .../prefab/network/IPacketReceiver.java | 6 +- .../network/ISimpleConnectionHandler.java | 0 .../prefab/network/PacketManager.java | 12 +- .../prefab/tile/TileEntityAdvanced.java | 6 +- .../prefab/tile/TileEntityConductor.java | 181 ++++++++++++++++ .../prefab/tile/TileEntityDisableable.java | 0 .../tile/TileEntityElectricityProducer.java | 0 .../tile/TileEntityElectricityReceiver.java | 2 +- .../prefab/vector/Region2.java | 0 .../prefab/vector/Region3.java | 6 +- 99 files changed, 910 insertions(+), 1421 deletions(-) delete mode 100644 Include Resources.bat delete mode 100644 src/common/assemblyline/ALCommonProxy.java delete mode 100644 src/common/assemblyline/machine/belt/BlockConveyorBelt.java delete mode 100644 src/common/universalelectricity/core/electricity/ElectricityPack.java delete mode 100644 src/common/universalelectricity/prefab/modifier/IModifier.java delete mode 100644 src/common/universalelectricity/prefab/modifier/SlotModifier.java delete mode 100644 src/common/universalelectricity/prefab/multiblock/BlockMulti.java delete mode 100644 src/common/universalelectricity/prefab/multiblock/IBlockActivate.java delete mode 100644 src/common/universalelectricity/prefab/multiblock/IMultiBlock.java delete mode 100644 src/common/universalelectricity/prefab/multiblock/TileEntityMulti.java delete mode 100644 src/common/universalelectricity/prefab/ore/OreGenBase.java delete mode 100644 src/common/universalelectricity/prefab/ore/OreGenReplace.java delete mode 100644 src/common/universalelectricity/prefab/ore/OreGenReplaceStone.java delete mode 100644 src/common/universalelectricity/prefab/ore/OreGenerator.java delete mode 100644 src/common/universalelectricity/prefab/potion/CustomPotion.java delete mode 100644 src/common/universalelectricity/prefab/potion/CustomPotionEffect.java delete mode 100644 src/common/universalelectricity/prefab/repair/IRepairable.java delete mode 100644 src/common/universalelectricity/prefab/repair/IToolRepair.java delete mode 100644 src/common/universalelectricity/prefab/tile/TileEntityConductor.java rename src/{common => minecraft}/assemblyline/api/IBelt.java (88%) rename src/{common => minecraft}/assemblyline/api/IBotArm.java (100%) rename src/{common => minecraft}/assemblyline/api/IManipulator.java (92%) rename src/minecraft/assemblyline/{ALClientProxy.java => client/ClientProxy.java} (62%) rename src/minecraft/assemblyline/{ => client}/gui/GuiAutoCrafting.java (83%) rename src/minecraft/assemblyline/{ => client}/gui/GuiButtonImage.java (93%) rename src/minecraft/assemblyline/{ => client}/gui/GuiSorter.java (88%) rename src/minecraft/assemblyline/{ => client}/model/ModelConveyorBelt.java (98%) rename src/minecraft/assemblyline/{ => client}/model/ModelDropBox.java (95%) rename src/minecraft/assemblyline/{ => client}/model/ModelManipulator.java (97%) rename src/minecraft/assemblyline/{ => client}/model/ModelSorter.java (96%) rename src/minecraft/assemblyline/{ => client}/render/RenderConveyorBelt.java (77%) rename src/minecraft/assemblyline/{ => client}/render/RenderHelper.java (82%) rename src/minecraft/assemblyline/{ => client}/render/RenderManipulator.java (80%) rename src/minecraft/assemblyline/{ => client}/render/RenderSorter.java (80%) rename src/{common/assemblyline => minecraft/assemblyline/common}/AssemblyLine.java (79%) create mode 100644 src/minecraft/assemblyline/common/CommonProxy.java rename src/{common/assemblyline => minecraft/assemblyline/common}/ai/ArmHelper.java (87%) rename src/{common/assemblyline => minecraft/assemblyline/common}/ai/Task.java (88%) rename src/{common/assemblyline => minecraft/assemblyline/common}/ai/TaskIdle.java (71%) rename src/{common/assemblyline => minecraft/assemblyline/common}/ai/TaskManager.java (94%) rename src/{common/assemblyline/machine => minecraft/assemblyline/common/block}/BlockArchitectTable.java (83%) rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/BlockMulti.java (93%) rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/ContainerSorter.java (86%) rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/ItemBlockMulti.java (67%) rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/TileEntityManipulator.java (94%) rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/TileEntityRejector.java (94%) rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/TileEntityRoboticSorter.java (91%) create mode 100644 src/minecraft/assemblyline/common/machine/belt/BlockConveyorBelt.java rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/belt/TileEntityConveyorBelt.java (94%) rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/belt/TileEntityCoveredBelt.java (84%) rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/belt/TileEntityElevatorBelt.java (90%) rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/crafter/BlockCrafter.java (92%) rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/crafter/ContainerCrafter.java (87%) rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/crafter/EntityCraftingArm.java (94%) rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/crafter/ItemCrafterArm.java (63%) rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/crafter/TaskArmCollect.java (80%) rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/crafter/TaskArmSearch.java (89%) rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/crafter/TileEntityAutoCrafter.java (69%) rename src/{common/assemblyline => minecraft/assemblyline/common}/machine/crafter/TileEntityCraftingArm.java (92%) rename src/{common => minecraft}/universalelectricity/core/UELoader.java (73%) rename src/{common => minecraft}/universalelectricity/core/UniversalElectricity.java (93%) rename src/{common => minecraft}/universalelectricity/core/electricity/ElectricInfo.java (100%) rename src/{common => minecraft}/universalelectricity/core/electricity/Electricity.java (95%) rename src/{common => minecraft}/universalelectricity/core/electricity/ElectricityConnections.java (78%) rename src/{common => minecraft}/universalelectricity/core/electricity/ElectricityNetwork.java (92%) create mode 100644 src/minecraft/universalelectricity/core/electricity/ElectricityPack.java rename src/{common => minecraft}/universalelectricity/core/implement/IConductor.java (94%) rename src/{common => minecraft}/universalelectricity/core/implement/IDisableable.java (100%) rename src/{common => minecraft}/universalelectricity/core/implement/IItemElectric.java (95%) rename src/{common => minecraft}/universalelectricity/core/implement/IJouleStorage.java (100%) rename src/{common => minecraft}/universalelectricity/core/implement/IVoltage.java (100%) rename src/{common => minecraft}/universalelectricity/core/vector/Vector2.java (93%) rename src/{common => minecraft}/universalelectricity/core/vector/Vector3.java (88%) rename src/{common => minecraft}/universalelectricity/prefab/BlockConductor.java (81%) rename src/{common => minecraft}/universalelectricity/prefab/BlockMachine.java (93%) rename src/{common => minecraft}/universalelectricity/prefab/ItemElectric.java (94%) rename src/{common => minecraft}/universalelectricity/prefab/RecipeHelper.java (96%) rename src/{common => minecraft}/universalelectricity/prefab/SlotElectricItem.java (84%) rename src/{common => minecraft}/universalelectricity/prefab/UEDamageSource.java (97%) rename src/{common => minecraft}/universalelectricity/prefab/UETab.java (86%) rename src/{common => minecraft}/universalelectricity/prefab/UpdateNotifier.java (98%) rename src/{common => minecraft}/universalelectricity/prefab/implement/IRedstoneProvider.java (100%) rename src/{common => minecraft}/universalelectricity/prefab/implement/IRedstoneReceptor.java (100%) rename src/{common => minecraft}/universalelectricity/prefab/implement/IRotatable.java (100%) rename src/{common => minecraft}/universalelectricity/prefab/implement/ITier.java (100%) rename src/{common => minecraft}/universalelectricity/prefab/implement/IToolConfigurator.java (95%) rename src/{common => minecraft}/universalelectricity/prefab/network/ConnectionHandler.java (92%) rename src/{common => minecraft}/universalelectricity/prefab/network/IPacketReceiver.java (68%) rename src/{common => minecraft}/universalelectricity/prefab/network/ISimpleConnectionHandler.java (100%) rename src/{common => minecraft}/universalelectricity/prefab/network/PacketManager.java (95%) rename src/{common => minecraft}/universalelectricity/prefab/tile/TileEntityAdvanced.java (89%) create mode 100644 src/minecraft/universalelectricity/prefab/tile/TileEntityConductor.java rename src/{common => minecraft}/universalelectricity/prefab/tile/TileEntityDisableable.java (100%) rename src/{common => minecraft}/universalelectricity/prefab/tile/TileEntityElectricityProducer.java (100%) rename src/{common => minecraft}/universalelectricity/prefab/tile/TileEntityElectricityReceiver.java (99%) rename src/{common => minecraft}/universalelectricity/prefab/vector/Region2.java (100%) rename src/{common => minecraft}/universalelectricity/prefab/vector/Region3.java (96%) diff --git a/Include Resources.bat b/Include Resources.bat deleted file mode 100644 index 0d85a808..00000000 --- a/Include Resources.bat +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -cd resources -"..\..\7za.exe" a "..\jars\bin\minecraft.jar" "*" -pause \ No newline at end of file diff --git a/buildnumber.txt b/buildnumber.txt index 3597e237..c1911caf 100644 --- a/buildnumber.txt +++ b/buildnumber.txt @@ -1 +1 @@ -14 +16 diff --git a/publish.bat b/publish.bat index 5c9ceaa8..2e117f7b 100644 --- a/publish.bat +++ b/publish.bat @@ -8,6 +8,10 @@ set /p CurrentBuild=buildnumber.txt +if %PROMOTION%==* ( + echo %MODVERSION% >recommendedversion.txt +) + set FILE_NAME=AssemblyLine_v%MODVERSION%.%BUILD_NUMBER%.jar set API_NAME=AssemblyLine_v%MODVERSION%.%BUILD_NUMBER%_api.zip set BACKUP_NAME=AssemblyLine_v%MODVERSION%.%BUILD_NUMBER%_backup.zip @@ -39,7 +43,7 @@ echo open www.calclavia.com>ftpscript.txt echo al@calclavia.com>>ftpscript.txt echo VkE4laBa84R9>>ftpscript.txt echo binary>>ftpscript.txt -echo put "modversion.txt">>ftpscript.txt +echo put "recommendedversion.txt">>ftpscript.txt echo put "builds\%FILE_NAME%">>ftpscript.txt echo put "builds\%API_NAME%">>ftpscript.txt echo put info.txt>>ftpscript.txt diff --git a/src/common/assemblyline/ALCommonProxy.java b/src/common/assemblyline/ALCommonProxy.java deleted file mode 100644 index 2f5816ed..00000000 --- a/src/common/assemblyline/ALCommonProxy.java +++ /dev/null @@ -1,46 +0,0 @@ -package assemblyline; - -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.TileEntity; -import net.minecraft.src.World; -import assemblyline.machine.ContainerSorter; -import assemblyline.machine.TileEntityRejector; -import cpw.mods.fml.common.network.IGuiHandler; - -public class ALCommonProxy implements IGuiHandler -{ - public static final int GUI_ARCHITECHT_TABLE = 4; - - public void preInit() - { - - } - - public void init() - { - - } - - @Override - public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) - { - TileEntity tileEntity = world.getBlockTileEntity(x, y, z); - - if (tileEntity != null) - { - switch (ID) - { - case 0: - return new ContainerSorter(player.inventory, ((TileEntityRejector) tileEntity)); - } - } - - return null; - } - - @Override - public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) - { - return null; - } -} diff --git a/src/common/assemblyline/machine/belt/BlockConveyorBelt.java b/src/common/assemblyline/machine/belt/BlockConveyorBelt.java deleted file mode 100644 index fa32fd95..00000000 --- a/src/common/assemblyline/machine/belt/BlockConveyorBelt.java +++ /dev/null @@ -1,95 +0,0 @@ -package assemblyline.machine.belt; - -import net.minecraft.src.EntityLiving; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.MathHelper; -import net.minecraft.src.TileEntity; -import net.minecraft.src.World; -import universalelectricity.core.UniversalElectricity; -import universalelectricity.prefab.BlockMachine; -import universalelectricity.prefab.UETab; -import assemblyline.render.RenderHelper; - -/** - * The block for the actual conveyor belt! - * - * @author Calclavia, DarkGuardsman - */ -public class BlockConveyorBelt extends BlockMachine -{ - public BlockConveyorBelt(int id) - { - super("Conveyor Belt", id, UniversalElectricity.machine); - this.setBlockBounds(0, 0, 0, 1, 0.3f, 1); - this.setCreativeTab(UETab.INSTANCE); - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLiving par5EntityLiving) - { - int meta = world.getBlockMetadata(x, y, z); - int angle = MathHelper.floor_double((par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - world.setBlockMetadataWithNotify(x, y, z, meta + angle); - } - - @Override - public boolean onUseWrench(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer, int side, float hitX, float hitY, float hitZ) - { - int metadata = par1World.getBlockMetadata(x, y, z); - - if (metadata >= 0 && metadata < 8) - { - if (metadata >= 3) - { - par1World.setBlockAndMetadataWithNotify(x, y, z, this.blockID, 0); - return true; - } - else if (metadata >= 7) - { - par1World.setBlockAndMetadataWithNotify(x, y, z, this.blockID, 4); - return true; - } - else - { - par1World.setBlockAndMetadataWithNotify(x, y, z, this.blockID, metadata + 1); - return true; - } - } - - return true; - } - - /** - * Returns the TileEntity used by this block. - */ - @Override - public TileEntity createNewTileEntity(World var1, int metadata) - { - if (metadata >= 0 && metadata < 4) { return new TileEntityConveyorBelt(); } - if (metadata >= 4 && metadata < 8) { return new TileEntityCoveredBelt(); } - // if (metadata >= 8 && metadata < 12) { - // //TODO vertical Belt } - // if (metadata >= 12 && metadata < 16) { - // //TODO IDK} - - return null; - } - - @Override - public int getRenderType() - { - return RenderHelper.BLOCK_RENDER_ID; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } -} diff --git a/src/common/universalelectricity/core/electricity/ElectricityPack.java b/src/common/universalelectricity/core/electricity/ElectricityPack.java deleted file mode 100644 index d73a98c7..00000000 --- a/src/common/universalelectricity/core/electricity/ElectricityPack.java +++ /dev/null @@ -1,24 +0,0 @@ -package universalelectricity.core.electricity; - -public class ElectricityPack -{ - public double amperes; - public double voltage; - - public ElectricityPack(double amperes, double voltage) - { - this.amperes = amperes; - this.voltage = voltage; - } - - public double getWatts() - { - return ElectricInfo.getWatts(amperes, voltage); - } - - @Override - public String toString() - { - return "ElectricityPack [Amps:" + this.amperes + " Volts:" + this.voltage + "]"; - } -} diff --git a/src/common/universalelectricity/prefab/modifier/IModifier.java b/src/common/universalelectricity/prefab/modifier/IModifier.java deleted file mode 100644 index e95cfd96..00000000 --- a/src/common/universalelectricity/prefab/modifier/IModifier.java +++ /dev/null @@ -1,22 +0,0 @@ -package universalelectricity.prefab.modifier; - -import net.minecraft.src.ItemStack; - -/** - * This must be applied to an item that acts as a modifier or an upgrade. - * - * @author Calclavia - * - */ -public interface IModifier -{ - /** - * @return - The name of the modifier. - */ - public String getName(ItemStack itemstack); - - /** - * @return - How much effect does this modifier have? - */ - public int getEffectiveness(ItemStack itemstack); -} diff --git a/src/common/universalelectricity/prefab/modifier/SlotModifier.java b/src/common/universalelectricity/prefab/modifier/SlotModifier.java deleted file mode 100644 index fab96f3b..00000000 --- a/src/common/universalelectricity/prefab/modifier/SlotModifier.java +++ /dev/null @@ -1,29 +0,0 @@ -package universalelectricity.prefab.modifier; - -import net.minecraft.src.IInventory; -import net.minecraft.src.ItemStack; -import net.minecraft.src.Slot; - -/** - * This slot should be used by any container that contains an item that is a modifier. An example of - * this would be upgrade slots. - * - * @author Calclavia - * - */ -public class SlotModifier extends Slot -{ - public SlotModifier(IInventory par2IInventory, int par3, int par4, int par5) - { - super(par2IInventory, par3, par4, par5); - } - - /** - * Check if the stack is a valid item for this slot. Always true beside for the armor slots. - */ - @Override - public boolean isItemValid(ItemStack par1ItemStack) - { - return par1ItemStack.getItem() instanceof IModifier; - } -} diff --git a/src/common/universalelectricity/prefab/multiblock/BlockMulti.java b/src/common/universalelectricity/prefab/multiblock/BlockMulti.java deleted file mode 100644 index acc5be5f..00000000 --- a/src/common/universalelectricity/prefab/multiblock/BlockMulti.java +++ /dev/null @@ -1,98 +0,0 @@ -package universalelectricity.prefab.multiblock; - -import java.util.Random; - -import net.minecraft.src.Block; -import net.minecraft.src.BlockContainer; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.ItemStack; -import net.minecraft.src.MovingObjectPosition; -import net.minecraft.src.TileEntity; -import net.minecraft.src.World; -import universalelectricity.core.UniversalElectricity; -import universalelectricity.core.vector.Vector3; - -public class BlockMulti extends BlockContainer -{ - public BlockMulti(int id) - { - super(id, UniversalElectricity.machine); - this.setHardness(0.8F); - this.setBlockName("MultiBlock"); - } - - public void makeFakeBlock(World worldObj, Vector3 position, Vector3 mainBlock) - { - worldObj.setBlockWithNotify(position.intX(), position.intY(), position.intZ(), this.blockID); - ((TileEntityMulti) worldObj.getBlockTileEntity(position.intX(), position.intY(), position.intZ())).setMainBlock(mainBlock); - } - - @Override - public void breakBlock(World par1World, int x, int y, int z, int par5, int par6) - { - TileEntityMulti tileEntity = (TileEntityMulti) par1World.getBlockTileEntity(x, y, z); - tileEntity.onBlockRemoval(); - super.breakBlock(par1World, x, y, z, par5, par6); - } - - /** - * Called when the block is right clicked by the player. This modified version detects electric - * items and wrench actions on your machine block. Do not override this function. Use - * machineActivated instead! (It does the same thing) - */ - @Override - public boolean onBlockActivated(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) - { - TileEntityMulti tileEntity = (TileEntityMulti) par1World.getBlockTileEntity(x, y, z); - return tileEntity.onBlockActivated(par1World, x, y, z, par5EntityPlayer); - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(Random par1Random) - { - return 0; - } - - @Override - public int getRenderType() - { - return -1; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - public TileEntity createNewTileEntity(World var1) - { - return new TileEntityMulti(); - } - - @Override - public ItemStack getPickBlock(MovingObjectPosition target, World par1World, int x, int y, int z) - { - TileEntity tileEntity = par1World.getBlockTileEntity(x, y, z); - Vector3 mainBlockPosition = ((TileEntityMulti) tileEntity).mainBlockPosition; - - if (mainBlockPosition != null) - { - int mainBlockID = par1World.getBlockId(mainBlockPosition.intX(), mainBlockPosition.intY(), mainBlockPosition.intZ()); - - if (mainBlockID > 0) { return Block.blocksList[mainBlockID].getPickBlock(target, par1World, mainBlockPosition.intX(), mainBlockPosition.intY(), mainBlockPosition.intZ()); } - } - - return null; - } -} \ No newline at end of file diff --git a/src/common/universalelectricity/prefab/multiblock/IBlockActivate.java b/src/common/universalelectricity/prefab/multiblock/IBlockActivate.java deleted file mode 100644 index bbac0a96..00000000 --- a/src/common/universalelectricity/prefab/multiblock/IBlockActivate.java +++ /dev/null @@ -1,17 +0,0 @@ -package universalelectricity.prefab.multiblock; - -import net.minecraft.src.EntityPlayer; - -/** - * A general interface to be implemented by anything that needs it. - * - * @author Calclavia - * - */ -public interface IBlockActivate -{ - /** - * Called when activated - */ - public boolean onActivated(EntityPlayer entityPlayer); -} \ No newline at end of file diff --git a/src/common/universalelectricity/prefab/multiblock/IMultiBlock.java b/src/common/universalelectricity/prefab/multiblock/IMultiBlock.java deleted file mode 100644 index ffe68f25..00000000 --- a/src/common/universalelectricity/prefab/multiblock/IMultiBlock.java +++ /dev/null @@ -1,28 +0,0 @@ -package universalelectricity.prefab.multiblock; - -import net.minecraft.src.TileEntity; -import universalelectricity.core.vector.Vector3; - -/** - * Interface to be applied to tile entity blocks that occupies more than one block space. Useful for - * large machines. - * - * @author Calclavia - * - */ -public interface IMultiBlock extends IBlockActivate -{ - /** - * Called when this multiblock is created - * - * @param placedPosition - The position the block was placed at - */ - public void onCreate(Vector3 placedPosition); - - /** - * Called when one of the multiblocks of this block is destroyed - * - * @param callingBlock - The tile entity who called the onDestroy function - */ - public void onDestroy(TileEntity callingBlock); -} diff --git a/src/common/universalelectricity/prefab/multiblock/TileEntityMulti.java b/src/common/universalelectricity/prefab/multiblock/TileEntityMulti.java deleted file mode 100644 index efe5152a..00000000 --- a/src/common/universalelectricity/prefab/multiblock/TileEntityMulti.java +++ /dev/null @@ -1,120 +0,0 @@ -package universalelectricity.prefab.multiblock; - -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.INetworkManager; -import net.minecraft.src.NBTTagCompound; -import net.minecraft.src.Packet; -import net.minecraft.src.Packet250CustomPayload; -import net.minecraft.src.TileEntity; -import net.minecraft.src.World; -import universalelectricity.core.vector.Vector3; -import universalelectricity.prefab.network.IPacketReceiver; -import universalelectricity.prefab.network.PacketManager; - -import com.google.common.io.ByteArrayDataInput; - -/** - * This is a multiblock to be used for blocks that are bigger than one block. - * - * @author Calclavia - * - */ -public class TileEntityMulti extends TileEntity implements IPacketReceiver -{ - // The the position of the main block - public Vector3 mainBlockPosition; - - public void setMainBlock(Vector3 mainBlock) - { - this.mainBlockPosition = mainBlock; - - if (!this.worldObj.isRemote) - { - PacketManager.sendPacketToClients(this.getDescriptionPacket()); - } - } - - @Override - public Packet getDescriptionPacket() - { - return PacketManager.getPacket("BasicComponents", this, this.mainBlockPosition.x, this.mainBlockPosition.y, this.mainBlockPosition.z); - } - - public void onBlockRemoval() - { - if (mainBlockPosition != null) - { - TileEntity tileEntity = this.worldObj.getBlockTileEntity((int) mainBlockPosition.x, (int) mainBlockPosition.y, (int) mainBlockPosition.z); - - if (tileEntity != null && tileEntity instanceof IMultiBlock) - { - IMultiBlock mainBlock = (IMultiBlock) tileEntity; - - if (mainBlock != null) - { - mainBlock.onDestroy(this); - } - } - } - } - - public boolean onBlockActivated(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer) - { - if (mainBlockPosition != null) - { - TileEntity tileEntity = this.worldObj.getBlockTileEntity((int) mainBlockPosition.x, (int) mainBlockPosition.y, (int) mainBlockPosition.z); - - if (tileEntity != null) - { - if (tileEntity instanceof IMultiBlock) { return ((IMultiBlock) tileEntity).onActivated(par5EntityPlayer); } - } - } - - return false; - } - - /** - * Reads a tile entity from NBT. - */ - @Override - public void readFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readFromNBT(par1NBTTagCompound); - - this.mainBlockPosition = Vector3.readFromNBT("mainBlockPosition", par1NBTTagCompound); - } - - /** - * Writes a tile entity to NBT. - */ - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeToNBT(par1NBTTagCompound); - - this.mainBlockPosition.writeToNBT("mainBlockPosition", par1NBTTagCompound); - } - - /** - * Determines if this TileEntity requires update calls. - * - * @return True if you want updateEntity() to be called, false if not - */ - public boolean canUpdate() - { - return false; - } - - @Override - public void handlePacketData(INetworkManager network, int packetType, Packet250CustomPayload packet, EntityPlayer player, ByteArrayDataInput dataStream) - { - try - { - this.mainBlockPosition = new Vector3(dataStream.readDouble(), dataStream.readDouble(), dataStream.readDouble()); - } - catch (Exception e) - { - e.printStackTrace(); - } - } -} \ No newline at end of file diff --git a/src/common/universalelectricity/prefab/ore/OreGenBase.java b/src/common/universalelectricity/prefab/ore/OreGenBase.java deleted file mode 100644 index 66ccfe68..00000000 --- a/src/common/universalelectricity/prefab/ore/OreGenBase.java +++ /dev/null @@ -1,99 +0,0 @@ -package universalelectricity.prefab.ore; - -import java.util.Random; - -import net.minecraft.src.Block; -import net.minecraft.src.IChunkProvider; -import net.minecraft.src.ItemStack; -import net.minecraft.src.World; -import net.minecraftforge.common.Configuration; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.oredict.OreDictionary; -import universalelectricity.core.UniversalElectricity; - -/** - * This class is used for storing ore generation data. If you are too lazy to generate your own - * ores, you can do {@link #OreGenerator.ORES_TO_GENERATE.add()} to add your ore to the list of ores - * to generate. - * - * @author Calclavia - * - */ -public abstract class OreGenBase -{ - public String name; - - public String oreDictionaryName; - - public boolean shouldGenerate; - - public int blockIndexTexture; - - public ItemStack oreStack; - - public int oreID; - - public int oreMeta; - - /** - * What harvest level does this machine need to be acquired? - */ - public int harvestLevel; - - /** - * The predefined tool classes are "pickaxe", "shovel", "axe". You can add others for custom - * tools. - */ - public String harvestTool; - - /** - * @param name - The name of the ore for display - * @param textureFile - The 16x16 png texture of your ore to override - * @param minGenerateLevel - The highest generation level of your ore - * @param maxGenerateLevel - The lowest generation level of your ore - * @param amountPerChunk - The amount of ores to generate per chunk - * @param amountPerBranch - The amount of ores to generate in a clutter. E.g coal generates with - * a lot of other coal next to it. How much do you want? - */ - public OreGenBase(String name, String oreDiectionaryName, ItemStack stack, String harvestTool, int harvestLevel) - { - this.name = name; - this.shouldGenerate = false; - this.harvestTool = harvestTool; - this.harvestLevel = harvestLevel; - this.oreDictionaryName = oreDiectionaryName; - this.oreStack = stack; - this.oreID = stack.itemID; - this.oreMeta = stack.getItemDamage(); - - OreDictionary.registerOre(oreDictionaryName, stack); - MinecraftForge.setBlockHarvestLevel(Block.blocksList[stack.itemID], stack.getItemDamage(), harvestTool, harvestLevel); - } - - public OreGenBase enable(Configuration config) - { - this.shouldGenerate = shouldGenerateOre(config, this.name); - return this; - } - - public OreGenBase enable() - { - this.enable(UniversalElectricity.CONFIGURATION); - return this; - } - - /** - * Checks the config file and see if Universal Electricity should generate this ore - */ - private static boolean shouldGenerateOre(Configuration configuration, String oreName) - { - configuration.load(); - boolean shouldGenerate = configuration.get("Ore Generation", "Generate " + oreName, true).getBoolean(true); - configuration.save(); - return shouldGenerate; - } - - public abstract void generate(World world, Random random, int varX, int varZ); - - public abstract boolean isOreGeneratedInWorld(World world, IChunkProvider chunkGenerator); -} diff --git a/src/common/universalelectricity/prefab/ore/OreGenReplace.java b/src/common/universalelectricity/prefab/ore/OreGenReplace.java deleted file mode 100644 index 3bb7f7d0..00000000 --- a/src/common/universalelectricity/prefab/ore/OreGenReplace.java +++ /dev/null @@ -1,126 +0,0 @@ -package universalelectricity.prefab.ore; - -import java.util.Random; - -import net.minecraft.src.ChunkProviderEnd; -import net.minecraft.src.ChunkProviderGenerate; -import net.minecraft.src.ChunkProviderHell; -import net.minecraft.src.IChunkProvider; -import net.minecraft.src.ItemStack; -import net.minecraft.src.MathHelper; -import net.minecraft.src.World; - -/** - * This class is used for storing ore generation data. If you are too lazy to generate your own - * ores, you can do {@link #OreGenerator.ORES_TO_GENERATE.add()} to add your ore to the list of ores - * to generate. - * - * @author Calclavia - * - */ -public class OreGenReplace extends OreGenBase -{ - - public int minGenerateLevel; - public int maxGenerateLevel; - public int amountPerChunk; - public int amountPerBranch; - public int replaceID; - - public boolean generateSurface; - public boolean generateNether; - public boolean generateEnd; - - /** - * @param name - The name of the ore for display - * @param textureFile - The 16x16 png texture of your ore to override - * @param minGenerateLevel - The highest generation level of your ore - * @param maxGenerateLevel - The lowest generation level of your ore - * @param amountPerChunk - The amount of ores to generate per chunk - * @param amountPerBranch - The amount of ores to generate in a clutter. E.g coal generates with - * a lot of other coal next to it. How much do you want? - */ - public OreGenReplace(String name, String oreDiectionaryName, ItemStack stack, int replaceID, int minGenerateLevel, int maxGenerateLevel, int amountPerChunk, int amountPerBranch, String harvestTool, int harvestLevel) - { - super(name, oreDiectionaryName, stack, harvestTool, harvestLevel); - this.minGenerateLevel = minGenerateLevel; - this.maxGenerateLevel = maxGenerateLevel; - this.amountPerChunk = amountPerChunk; - this.amountPerBranch = amountPerBranch; - this.replaceID = replaceID; - } - - public void generate(World world, Random random, int varX, int varZ) - { - - for (int i = 0; i < this.amountPerChunk; i++) - { - int x = varX + random.nextInt(16); - int z = varZ + random.nextInt(16); - int y = random.nextInt(this.maxGenerateLevel - this.minGenerateLevel) + this.minGenerateLevel; - generateReplace(world, random, x, y, z); - } - } - - public boolean generateReplace(World par1World, Random par2Random, int par3, int par4, int par5) - { - float var6 = par2Random.nextFloat() * (float) Math.PI; - double var7 = (double) ((float) (par3 + 8) + MathHelper.sin(var6) * (float) this.amountPerBranch / 8.0F); - double var9 = (double) ((float) (par3 + 8) - MathHelper.sin(var6) * (float) this.amountPerBranch / 8.0F); - double var11 = (double) ((float) (par5 + 8) + MathHelper.cos(var6) * (float) this.amountPerBranch / 8.0F); - double var13 = (double) ((float) (par5 + 8) - MathHelper.cos(var6) * (float) this.amountPerBranch / 8.0F); - double var15 = (double) (par4 + par2Random.nextInt(3) - 2); - double var17 = (double) (par4 + par2Random.nextInt(3) - 2); - - for (int var19 = 0; var19 <= this.amountPerBranch; ++var19) - { - double var20 = var7 + (var9 - var7) * (double) var19 / (double) this.amountPerBranch; - double var22 = var15 + (var17 - var15) * (double) var19 / (double) this.amountPerBranch; - double var24 = var11 + (var13 - var11) * (double) var19 / (double) this.amountPerBranch; - double var26 = par2Random.nextDouble() * (double) this.amountPerBranch / 16.0D; - double var28 = (double) (MathHelper.sin((float) var19 * (float) Math.PI / (float) this.amountPerBranch) + 1.0F) * var26 + 1.0D; - double var30 = (double) (MathHelper.sin((float) var19 * (float) Math.PI / (float) this.amountPerBranch) + 1.0F) * var26 + 1.0D; - int var32 = MathHelper.floor_double(var20 - var28 / 2.0D); - int var33 = MathHelper.floor_double(var22 - var30 / 2.0D); - int var34 = MathHelper.floor_double(var24 - var28 / 2.0D); - int var35 = MathHelper.floor_double(var20 + var28 / 2.0D); - int var36 = MathHelper.floor_double(var22 + var30 / 2.0D); - int var37 = MathHelper.floor_double(var24 + var28 / 2.0D); - - for (int var38 = var32; var38 <= var35; ++var38) - { - double var39 = ((double) var38 + 0.5D - var20) / (var28 / 2.0D); - - if (var39 * var39 < 1.0D) - { - for (int var41 = var33; var41 <= var36; ++var41) - { - double var42 = ((double) var41 + 0.5D - var22) / (var30 / 2.0D); - - if (var39 * var39 + var42 * var42 < 1.0D) - { - for (int var44 = var34; var44 <= var37; ++var44) - { - double var45 = ((double) var44 + 0.5D - var24) / (var28 / 2.0D); - - int block = par1World.getBlockId(var38, var41, var44); - if (var39 * var39 + var42 * var42 + var45 * var45 < 1.0D && (this.replaceID == 0 || block == this.replaceID)) - { - par1World.setBlockAndMetadata(var38, var41, var44, this.oreID, this.oreMeta); - } - } - } - } - } - } - } - - return true; - } - - @Override - public boolean isOreGeneratedInWorld(World world, IChunkProvider chunkGenerator) - { - return ((this.generateSurface && chunkGenerator instanceof ChunkProviderGenerate) || (this.generateNether && chunkGenerator instanceof ChunkProviderHell) || (this.generateEnd && chunkGenerator instanceof ChunkProviderEnd)); - } -} diff --git a/src/common/universalelectricity/prefab/ore/OreGenReplaceStone.java b/src/common/universalelectricity/prefab/ore/OreGenReplaceStone.java deleted file mode 100644 index 463fa2bc..00000000 --- a/src/common/universalelectricity/prefab/ore/OreGenReplaceStone.java +++ /dev/null @@ -1,18 +0,0 @@ -package universalelectricity.prefab.ore; - -import net.minecraft.src.ItemStack; - -public class OreGenReplaceStone extends OreGenReplace -{ - public OreGenReplaceStone(String name, String oreDiectionaryName, ItemStack stack, int replaceID, int minGenerateLevel, int maxGenerateLevel, int amountPerChunk, int amountPerBranch, String harvestTool, int harvestLevel) - { - super(name, oreDiectionaryName, stack, 1, minGenerateLevel, maxGenerateLevel, amountPerChunk, amountPerBranch, harvestTool, harvestLevel); - this.generateSurface = true; - } - - // A simplified version of the constructor - public OreGenReplaceStone(String name, String oreDiectionaryName, ItemStack stack, int replaceID, int maxGenerateLevel, int amountPerChunk, int amountPerBranch) - { - this(name, oreDiectionaryName, stack, 0, replaceID, maxGenerateLevel, amountPerChunk, amountPerBranch, "pickaxe", 1); - } -} \ No newline at end of file diff --git a/src/common/universalelectricity/prefab/ore/OreGenerator.java b/src/common/universalelectricity/prefab/ore/OreGenerator.java deleted file mode 100644 index 68a1a1df..00000000 --- a/src/common/universalelectricity/prefab/ore/OreGenerator.java +++ /dev/null @@ -1,75 +0,0 @@ -package universalelectricity.prefab.ore; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import net.minecraft.src.IChunkProvider; -import net.minecraft.src.World; -import cpw.mods.fml.common.IWorldGenerator; -import cpw.mods.fml.common.registry.GameRegistry; - -public class OreGenerator implements IWorldGenerator -{ - public static boolean isInitiated = false; - - /** - * Add your ore data to this list of ores for it to automatically generate! No hassle indeed! - */ - private static final List ORES_TO_GENERATE = new ArrayList(); - - /** - * Adds an ore to the ore generate list. Do this in pre-init. - */ - public static void addOre(OreGenBase data) - { - if (!isInitiated) - { - GameRegistry.registerWorldGenerator(new OreGenerator()); - } - - ORES_TO_GENERATE.add(data); - } - - /** - * Checks to see if this ore - * - * @param oreName - * @return - */ - public static boolean oreExists(String oreName) - { - for (OreGenBase ore : ORES_TO_GENERATE) - { - if (ore.oreDictionaryName == oreName) { return true; } - } - - return false; - } - - /** - * Removes an ore to the ore generate list. Do this in init. - */ - public static void removeOre(OreGenBase data) - { - ORES_TO_GENERATE.remove(data); - } - - @Override - public void generate(Random rand, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) - { - chunkX = chunkX << 4; - chunkZ = chunkZ << 4; - - // Checks to make sure this is the normal - // world - for (OreGenBase oreData : ORES_TO_GENERATE) - { - if (oreData.shouldGenerate && oreData.isOreGeneratedInWorld(world, chunkGenerator)) - { - oreData.generate(world, rand, chunkX, chunkZ); - } - - } - } -} diff --git a/src/common/universalelectricity/prefab/potion/CustomPotion.java b/src/common/universalelectricity/prefab/potion/CustomPotion.java deleted file mode 100644 index 3a296c14..00000000 --- a/src/common/universalelectricity/prefab/potion/CustomPotion.java +++ /dev/null @@ -1,37 +0,0 @@ -package universalelectricity.prefab.potion; - -import net.minecraft.src.Potion; -import cpw.mods.fml.common.registry.LanguageRegistry; - -public abstract class CustomPotion extends Potion -{ - /** - * Creates a new type of potion - * - * @param id - The ID of this potion. Make it greater than 20. - * @param isBadEffect - Is this potion a good potion or a bad one? - * @param color - The color of this potion. - * @param name - The name of this potion. - */ - public CustomPotion(int id, boolean isBadEffect, int color, String name) - { - super(id, isBadEffect, color); - this.setPotionName("potion." + name); - LanguageRegistry.instance().addStringLocalization(this.getName(), name); - } - - @Override - public Potion setIconIndex(int par1, int par2) - { - super.setIconIndex(par1, par2); - return this; - } - - /** - * You must register all your potion effects during mod initialization! - */ - public void register() - { - Potion.potionTypes[this.getId()] = this; - } -} diff --git a/src/common/universalelectricity/prefab/potion/CustomPotionEffect.java b/src/common/universalelectricity/prefab/potion/CustomPotionEffect.java deleted file mode 100644 index da4818e8..00000000 --- a/src/common/universalelectricity/prefab/potion/CustomPotionEffect.java +++ /dev/null @@ -1,40 +0,0 @@ -package universalelectricity.prefab.potion; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.src.ItemStack; -import net.minecraft.src.Potion; -import net.minecraft.src.PotionEffect; - -public class CustomPotionEffect extends PotionEffect -{ - public CustomPotionEffect(int potionID, int duration, int amplifier) - { - super(potionID, duration, amplifier); - } - - public CustomPotionEffect(Potion potion, int duration, int amplifier) - { - this(potion.getId(), duration, amplifier); - } - - /** - * Creates a potion effect with custom curable items. - * - * @param curativeItems - ItemStacks that can cure this potion effect - */ - public CustomPotionEffect(int potionID, int duration, int amplifier, List curativeItems) - { - super(potionID, duration, amplifier); - - if (curativeItems == null) - { - this.setCurativeItems(new ArrayList()); - } - else - { - this.setCurativeItems(curativeItems); - } - } -} diff --git a/src/common/universalelectricity/prefab/repair/IRepairable.java b/src/common/universalelectricity/prefab/repair/IRepairable.java deleted file mode 100644 index f8c9d370..00000000 --- a/src/common/universalelectricity/prefab/repair/IRepairable.java +++ /dev/null @@ -1,31 +0,0 @@ -package universalelectricity.prefab.repair; - -import net.minecraft.src.EntityPlayer; - -/** - * Applied to TileEntities/Machines that can be repaired. - * - * @author Calclavia - * - */ -public interface IRepairable -{ - /** - * Called when the machine is being repaired. - * - * @param itemStack - The repairing tool that the player is holding - * @param player - The player who is repairing this machine. - */ - public void onRepair(IToolRepair itemStack, EntityPlayer player); - - /** - * @return The maximum possible damage of this machine. - */ - public int getMaxDamage(); - - /** - * @return How damaged is this machine? - */ - public int getDamage(); - -} diff --git a/src/common/universalelectricity/prefab/repair/IToolRepair.java b/src/common/universalelectricity/prefab/repair/IToolRepair.java deleted file mode 100644 index d1adceed..00000000 --- a/src/common/universalelectricity/prefab/repair/IToolRepair.java +++ /dev/null @@ -1,19 +0,0 @@ -package universalelectricity.prefab.repair; - -import net.minecraft.src.ItemStack; - -public interface IToolRepair -{ - /** - * A unique ID for mods to recognize what repair tool this is. - */ - public String getID(); - - /** - * How effective is this repairing tool? - * - * @param itemStack The ItemStack - * @return A effectiveness value. - */ - public int getEffectiveness(ItemStack itemStack); -} diff --git a/src/common/universalelectricity/prefab/tile/TileEntityConductor.java b/src/common/universalelectricity/prefab/tile/TileEntityConductor.java deleted file mode 100644 index b6a7cbfb..00000000 --- a/src/common/universalelectricity/prefab/tile/TileEntityConductor.java +++ /dev/null @@ -1,146 +0,0 @@ -package universalelectricity.prefab.tile; - -import java.util.EnumSet; - -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.INetworkManager; -import net.minecraft.src.Packet250CustomPayload; -import net.minecraft.src.TileEntity; -import net.minecraftforge.common.ForgeDirection; -import universalelectricity.core.electricity.Electricity; -import universalelectricity.core.electricity.ElectricityConnections; -import universalelectricity.core.electricity.ElectricityNetwork; -import universalelectricity.core.implement.IConductor; -import universalelectricity.core.vector.Vector3; -import universalelectricity.prefab.network.IPacketReceiver; - -import com.google.common.io.ByteArrayDataInput; - -/** - * This tile entity pre-fabricated for all conductors. - * - * @author Calclavia - * - */ -public abstract class TileEntityConductor extends TileEntityAdvanced implements IConductor, IPacketReceiver -{ - private ElectricityNetwork network; - - /** - * Stores information on the blocks that this conductor is connected to - */ - public TileEntity[] connectedBlocks = - { null, null, null, null, null, null }; - - public TileEntityConductor() - { - ElectricityConnections.registerConnector(this, EnumSet.range(ForgeDirection.DOWN, ForgeDirection.EAST)); - this.reset(); - } - - @Override - public ElectricityNetwork getNetwork() - { - return this.network; - } - - @Override - public void setNetwork(ElectricityNetwork network) - { - this.network = network; - } - - @Override - public TileEntity[] getConnectedBlocks() - { - return this.connectedBlocks; - } - - @Override - public void updateConnection(TileEntity tileEntity, ForgeDirection side) - { - if (tileEntity != null) - { - if (ElectricityConnections.isConnector(tileEntity)) - { - this.connectedBlocks[side.ordinal()] = tileEntity; - - if (tileEntity.getClass() == this.getClass()) - { - Electricity.instance.mergeConnection(this.getNetwork(), ((TileEntityConductor) tileEntity).getNetwork()); - } - - return; - } - } - - if (this.connectedBlocks[side.ordinal()] != null) - { - if (this.connectedBlocks[side.ordinal()] instanceof IConductor) - { - Electricity.instance.splitConnection(this, (IConductor) this.getConnectedBlocks()[side.ordinal()]); - } - } - - this.connectedBlocks[side.ordinal()] = null; - } - - @Override - public void updateConnectionWithoutSplit(TileEntity tileEntity, ForgeDirection side) - { - if (tileEntity != null) - { - if (ElectricityConnections.isConnector(tileEntity)) - { - this.connectedBlocks[side.ordinal()] = tileEntity; - - if (tileEntity.getClass() == this.getClass()) - { - Electricity.instance.mergeConnection(this.getNetwork(), ((TileEntityConductor) tileEntity).getNetwork()); - } - - return; - } - } - - this.connectedBlocks[side.ordinal()] = null; - } - - @Override - public void handlePacketData(INetworkManager network, int type, Packet250CustomPayload packet, EntityPlayer player, ByteArrayDataInput dataStream) - { - if (this.worldObj.isRemote) - { - this.refreshConnectedBlocks(); - } - } - - @Override - public void initiate() - { - this.refreshConnectedBlocks(); - } - - @Override - public void reset() - { - this.network = null; - - if (Electricity.instance != null) - { - Electricity.instance.registerConductor(this); - } - } - - @Override - public void refreshConnectedBlocks() - { - if (this.worldObj != null) - { - for (byte i = 0; i < 6; i++) - { - this.updateConnection(Vector3.getConnectorFromSide(this.worldObj, Vector3.get(this), ForgeDirection.getOrientation(i)), ForgeDirection.getOrientation(i)); - } - } - } -} diff --git a/src/common/assemblyline/api/IBelt.java b/src/minecraft/assemblyline/api/IBelt.java similarity index 88% rename from src/common/assemblyline/api/IBelt.java rename to src/minecraft/assemblyline/api/IBelt.java index 75c507d3..8a2763f2 100644 --- a/src/common/assemblyline/api/IBelt.java +++ b/src/minecraft/assemblyline/api/IBelt.java @@ -2,7 +2,7 @@ package assemblyline.api; import java.util.List; -import net.minecraft.src.Entity; +import net.minecraft.entity.Entity; import net.minecraftforge.common.ForgeDirection; public interface IBelt @@ -19,8 +19,7 @@ public interface IBelt * Causes the belt to ignore the entity for a few updates help in cases where another machine * needs to affect this particular entity without the belt interfering * - * @param entity - * - entity being ignored + * @param entity - entity being ignored */ public void ignoreEntity(Entity entity); diff --git a/src/common/assemblyline/api/IBotArm.java b/src/minecraft/assemblyline/api/IBotArm.java similarity index 100% rename from src/common/assemblyline/api/IBotArm.java rename to src/minecraft/assemblyline/api/IBotArm.java diff --git a/src/common/assemblyline/api/IManipulator.java b/src/minecraft/assemblyline/api/IManipulator.java similarity index 92% rename from src/common/assemblyline/api/IManipulator.java rename to src/minecraft/assemblyline/api/IManipulator.java index 8233738b..60490b7f 100644 --- a/src/common/assemblyline/api/IManipulator.java +++ b/src/minecraft/assemblyline/api/IManipulator.java @@ -1,6 +1,6 @@ package assemblyline.api; -import net.minecraft.src.ItemStack; +import net.minecraft.item.ItemStack; import universalelectricity.core.vector.Vector3; public interface IManipulator diff --git a/src/minecraft/assemblyline/ALClientProxy.java b/src/minecraft/assemblyline/client/ClientProxy.java similarity index 62% rename from src/minecraft/assemblyline/ALClientProxy.java rename to src/minecraft/assemblyline/client/ClientProxy.java index cffe9bb4..3acd544b 100644 --- a/src/minecraft/assemblyline/ALClientProxy.java +++ b/src/minecraft/assemblyline/client/ClientProxy.java @@ -1,21 +1,23 @@ -package assemblyline; +package assemblyline.client; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.TileEntity; -import net.minecraft.src.World; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; import net.minecraftforge.client.MinecraftForgeClient; -import assemblyline.gui.GuiSorter; -import assemblyline.machine.TileEntityManipulator; -import assemblyline.machine.TileEntityRejector; -import assemblyline.machine.belt.TileEntityConveyorBelt; -import assemblyline.render.RenderConveyorBelt; -import assemblyline.render.RenderHelper; -import assemblyline.render.RenderManipulator; -import assemblyline.render.RenderSorter; +import assemblyline.client.gui.GuiSorter; +import assemblyline.client.render.RenderConveyorBelt; +import assemblyline.client.render.RenderHelper; +import assemblyline.client.render.RenderManipulator; +import assemblyline.client.render.RenderSorter; +import assemblyline.common.AssemblyLine; +import assemblyline.common.CommonProxy; +import assemblyline.common.machine.TileEntityManipulator; +import assemblyline.common.machine.TileEntityRejector; +import assemblyline.common.machine.belt.TileEntityConveyorBelt; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; -public class ALClientProxy extends ALCommonProxy +public class ClientProxy extends CommonProxy { @Override public void preInit() @@ -27,6 +29,7 @@ public class ALClientProxy extends ALCommonProxy @Override public void init() { + super.init(); // ClientRegistry.registerTileEntity(TileEntityConveyorBelt.class, // "belt", new RenderConveyorBelt()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityConveyorBelt.class, new RenderConveyorBelt()); diff --git a/src/minecraft/assemblyline/gui/GuiAutoCrafting.java b/src/minecraft/assemblyline/client/gui/GuiAutoCrafting.java similarity index 83% rename from src/minecraft/assemblyline/gui/GuiAutoCrafting.java rename to src/minecraft/assemblyline/client/gui/GuiAutoCrafting.java index 98232267..23021935 100644 --- a/src/minecraft/assemblyline/gui/GuiAutoCrafting.java +++ b/src/minecraft/assemblyline/client/gui/GuiAutoCrafting.java @@ -1,14 +1,14 @@ -package assemblyline.gui; +package assemblyline.client.gui; -import net.minecraft.src.ContainerWorkbench; -import net.minecraft.src.GuiContainer; -import net.minecraft.src.InventoryPlayer; -import net.minecraft.src.StatCollector; -import net.minecraft.src.World; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.ContainerWorkbench; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; import org.lwjgl.opengl.GL11; -import assemblyline.AssemblyLine; +import assemblyline.common.AssemblyLine; import cpw.mods.fml.common.Side; import cpw.mods.fml.common.asm.SideOnly; diff --git a/src/minecraft/assemblyline/gui/GuiButtonImage.java b/src/minecraft/assemblyline/client/gui/GuiButtonImage.java similarity index 93% rename from src/minecraft/assemblyline/gui/GuiButtonImage.java rename to src/minecraft/assemblyline/client/gui/GuiButtonImage.java index 7854433a..08d24b6f 100644 --- a/src/minecraft/assemblyline/gui/GuiButtonImage.java +++ b/src/minecraft/assemblyline/client/gui/GuiButtonImage.java @@ -1,7 +1,7 @@ -package assemblyline.gui; +package assemblyline.client.gui; import net.minecraft.client.Minecraft; -import net.minecraft.src.GuiButton; +import net.minecraft.client.gui.GuiButton; import org.lwjgl.opengl.GL11; diff --git a/src/minecraft/assemblyline/gui/GuiSorter.java b/src/minecraft/assemblyline/client/gui/GuiSorter.java similarity index 88% rename from src/minecraft/assemblyline/gui/GuiSorter.java rename to src/minecraft/assemblyline/client/gui/GuiSorter.java index 17924b72..79987ee6 100644 --- a/src/minecraft/assemblyline/gui/GuiSorter.java +++ b/src/minecraft/assemblyline/client/gui/GuiSorter.java @@ -1,16 +1,16 @@ -package assemblyline.gui; +package assemblyline.client.gui; -import net.minecraft.src.GuiButton; -import net.minecraft.src.GuiContainer; -import net.minecraft.src.InventoryPlayer; -import net.minecraft.src.StatCollector; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.StatCollector; import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; -import assemblyline.AssemblyLine; -import assemblyline.machine.ContainerSorter; -import assemblyline.machine.TileEntityRejector; +import assemblyline.common.AssemblyLine; +import assemblyline.common.machine.ContainerSorter; +import assemblyline.common.machine.TileEntityRejector; public class GuiSorter extends GuiContainer { diff --git a/src/minecraft/assemblyline/model/ModelConveyorBelt.java b/src/minecraft/assemblyline/client/model/ModelConveyorBelt.java similarity index 98% rename from src/minecraft/assemblyline/model/ModelConveyorBelt.java rename to src/minecraft/assemblyline/client/model/ModelConveyorBelt.java index 7c3afdee..33b75771 100644 --- a/src/minecraft/assemblyline/model/ModelConveyorBelt.java +++ b/src/minecraft/assemblyline/client/model/ModelConveyorBelt.java @@ -1,7 +1,7 @@ -package assemblyline.model; +package assemblyline.client.model; -import net.minecraft.src.ModelBase; -import net.minecraft.src.ModelRenderer; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; public class ModelConveyorBelt extends ModelBase { diff --git a/src/minecraft/assemblyline/model/ModelDropBox.java b/src/minecraft/assemblyline/client/model/ModelDropBox.java similarity index 95% rename from src/minecraft/assemblyline/model/ModelDropBox.java rename to src/minecraft/assemblyline/client/model/ModelDropBox.java index 675a1a26..3f021670 100644 --- a/src/minecraft/assemblyline/model/ModelDropBox.java +++ b/src/minecraft/assemblyline/client/model/ModelDropBox.java @@ -1,7 +1,7 @@ -package assemblyline.model; +package assemblyline.client.model; -import net.minecraft.src.ModelBase; -import net.minecraft.src.ModelRenderer; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; public class ModelDropBox extends ModelBase { diff --git a/src/minecraft/assemblyline/model/ModelManipulator.java b/src/minecraft/assemblyline/client/model/ModelManipulator.java similarity index 97% rename from src/minecraft/assemblyline/model/ModelManipulator.java rename to src/minecraft/assemblyline/client/model/ModelManipulator.java index bff21629..b14bc5dd 100644 --- a/src/minecraft/assemblyline/model/ModelManipulator.java +++ b/src/minecraft/assemblyline/client/model/ModelManipulator.java @@ -1,7 +1,7 @@ -package assemblyline.model; +package assemblyline.client.model; -import net.minecraft.src.ModelBase; -import net.minecraft.src.ModelRenderer; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; public class ModelManipulator extends ModelBase { diff --git a/src/minecraft/assemblyline/model/ModelSorter.java b/src/minecraft/assemblyline/client/model/ModelSorter.java similarity index 96% rename from src/minecraft/assemblyline/model/ModelSorter.java rename to src/minecraft/assemblyline/client/model/ModelSorter.java index 78bec3f6..a1b55538 100644 --- a/src/minecraft/assemblyline/model/ModelSorter.java +++ b/src/minecraft/assemblyline/client/model/ModelSorter.java @@ -4,10 +4,10 @@ // Keep in mind that you still need to fill in some blanks // - ZeuX -package assemblyline.model; +package assemblyline.client.model; -import net.minecraft.src.ModelBase; -import net.minecraft.src.ModelRenderer; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; public class ModelSorter extends ModelBase { diff --git a/src/minecraft/assemblyline/render/RenderConveyorBelt.java b/src/minecraft/assemblyline/client/render/RenderConveyorBelt.java similarity index 77% rename from src/minecraft/assemblyline/render/RenderConveyorBelt.java rename to src/minecraft/assemblyline/client/render/RenderConveyorBelt.java index a05f8d95..21313663 100644 --- a/src/minecraft/assemblyline/render/RenderConveyorBelt.java +++ b/src/minecraft/assemblyline/client/render/RenderConveyorBelt.java @@ -1,14 +1,17 @@ -package assemblyline.render; +package assemblyline.client.render; -import net.minecraft.src.TileEntity; -import net.minecraft.src.TileEntitySpecialRenderer; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; import org.lwjgl.opengl.GL11; -import assemblyline.AssemblyLine; -import assemblyline.machine.belt.TileEntityConveyorBelt; -import assemblyline.model.ModelConveyorBelt; +import cpw.mods.fml.common.Side; +import cpw.mods.fml.common.asm.SideOnly; +import assemblyline.client.model.ModelConveyorBelt; +import assemblyline.common.AssemblyLine; +import assemblyline.common.machine.belt.TileEntityConveyorBelt; +@SideOnly(Side.CLIENT) public class RenderConveyorBelt extends TileEntitySpecialRenderer { private ModelConveyorBelt model = new ModelConveyorBelt(); diff --git a/src/minecraft/assemblyline/render/RenderHelper.java b/src/minecraft/assemblyline/client/render/RenderHelper.java similarity index 82% rename from src/minecraft/assemblyline/render/RenderHelper.java rename to src/minecraft/assemblyline/client/render/RenderHelper.java index f4cedb3d..686b503e 100644 --- a/src/minecraft/assemblyline/render/RenderHelper.java +++ b/src/minecraft/assemblyline/client/render/RenderHelper.java @@ -1,20 +1,23 @@ -package assemblyline.render; +package assemblyline.client.render; -import net.minecraft.src.Block; -import net.minecraft.src.IBlockAccess; -import net.minecraft.src.RenderBlocks; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.world.IBlockAccess; import org.lwjgl.opengl.GL11; -import assemblyline.AssemblyLine; -import assemblyline.machine.BlockMulti.MachineType; -import assemblyline.model.ModelConveyorBelt; -import assemblyline.model.ModelManipulator; -import assemblyline.model.ModelSorter; +import assemblyline.client.model.ModelConveyorBelt; +import assemblyline.client.model.ModelManipulator; +import assemblyline.client.model.ModelSorter; +import assemblyline.common.AssemblyLine; +import assemblyline.common.machine.BlockMulti.MachineType; import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.common.Side; +import cpw.mods.fml.common.asm.SideOnly; +@SideOnly(Side.CLIENT) public class RenderHelper implements ISimpleBlockRenderingHandler { public static RenderHelper instance = new RenderHelper(); diff --git a/src/minecraft/assemblyline/render/RenderManipulator.java b/src/minecraft/assemblyline/client/render/RenderManipulator.java similarity index 80% rename from src/minecraft/assemblyline/render/RenderManipulator.java rename to src/minecraft/assemblyline/client/render/RenderManipulator.java index 68dd2f33..60172da2 100644 --- a/src/minecraft/assemblyline/render/RenderManipulator.java +++ b/src/minecraft/assemblyline/client/render/RenderManipulator.java @@ -1,13 +1,13 @@ -package assemblyline.render; +package assemblyline.client.render; -import net.minecraft.src.TileEntity; -import net.minecraft.src.TileEntitySpecialRenderer; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; import org.lwjgl.opengl.GL11; -import assemblyline.AssemblyLine; -import assemblyline.machine.TileEntityManipulator; -import assemblyline.model.ModelManipulator; +import assemblyline.client.model.ModelManipulator; +import assemblyline.common.AssemblyLine; +import assemblyline.common.machine.TileEntityManipulator; public class RenderManipulator extends TileEntitySpecialRenderer { diff --git a/src/minecraft/assemblyline/render/RenderSorter.java b/src/minecraft/assemblyline/client/render/RenderSorter.java similarity index 80% rename from src/minecraft/assemblyline/render/RenderSorter.java rename to src/minecraft/assemblyline/client/render/RenderSorter.java index 61c166fa..f68f2732 100644 --- a/src/minecraft/assemblyline/render/RenderSorter.java +++ b/src/minecraft/assemblyline/client/render/RenderSorter.java @@ -1,13 +1,13 @@ -package assemblyline.render; +package assemblyline.client.render; -import net.minecraft.src.TileEntity; -import net.minecraft.src.TileEntitySpecialRenderer; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; import org.lwjgl.opengl.GL11; -import assemblyline.AssemblyLine; -import assemblyline.machine.TileEntityRejector; -import assemblyline.model.ModelSorter; +import assemblyline.client.model.ModelSorter; +import assemblyline.common.AssemblyLine; +import assemblyline.common.machine.TileEntityRejector; public class RenderSorter extends TileEntitySpecialRenderer { diff --git a/src/common/assemblyline/AssemblyLine.java b/src/minecraft/assemblyline/common/AssemblyLine.java similarity index 79% rename from src/common/assemblyline/AssemblyLine.java rename to src/minecraft/assemblyline/common/AssemblyLine.java index fdd8b612..5040c169 100644 --- a/src/common/assemblyline/AssemblyLine.java +++ b/src/minecraft/assemblyline/common/AssemblyLine.java @@ -1,10 +1,10 @@ -package assemblyline; +package assemblyline.common; import java.io.File; -import net.minecraft.src.Block; -import net.minecraft.src.Item; -import net.minecraft.src.ItemStack; +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import net.minecraftforge.common.Configuration; import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; @@ -12,14 +12,14 @@ import universalelectricity.core.UniversalElectricity; import universalelectricity.prefab.UETab; import universalelectricity.prefab.UpdateNotifier; import universalelectricity.prefab.network.PacketManager; -import assemblyline.machine.BlockArchitectTable; -import assemblyline.machine.BlockMulti; -import assemblyline.machine.BlockMulti.MachineType; -import assemblyline.machine.ItemBlockMulti; -import assemblyline.machine.TileEntityManipulator; -import assemblyline.machine.TileEntityRejector; -import assemblyline.machine.belt.BlockConveyorBelt; -import assemblyline.machine.belt.TileEntityConveyorBelt; +import assemblyline.common.block.BlockArchitectTable; +import assemblyline.common.machine.BlockMulti; +import assemblyline.common.machine.ItemBlockMulti; +import assemblyline.common.machine.TileEntityManipulator; +import assemblyline.common.machine.TileEntityRejector; +import assemblyline.common.machine.BlockMulti.MachineType; +import assemblyline.common.machine.belt.BlockConveyorBelt; +import assemblyline.common.machine.belt.TileEntityConveyorBelt; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.Init; @@ -37,8 +37,8 @@ import cpw.mods.fml.common.registry.LanguageRegistry; @NetworkMod(channels = { AssemblyLine.CHANNEL }, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketManager.class) public class AssemblyLine { - @SidedProxy(clientSide = "assemblyline.ALClientProxy", serverSide = "assemblyline.ALCommonProxy") - public static ALCommonProxy proxy; + @SidedProxy(clientSide = "assemblyline.client.ClientProxy", serverSide = "assemblyline.common.CommonProxy") + public static CommonProxy proxy; @Instance(AssemblyLine.CHANNEL) public static AssemblyLine instance; @@ -75,7 +75,7 @@ public class AssemblyLine GameRegistry.registerBlock(blockArchitectTable); GameRegistry.registerBlock(blockInteraction, ItemBlockMulti.class); - UpdateNotifier.INSTANCE.checkUpdate(NAME, VERSION, "http://calclavia.com/downloads/al/modversion.txt"); + UpdateNotifier.INSTANCE.checkUpdate(NAME, VERSION, "http://calclavia.com/downloads/al/recommendedversion.txt"); proxy.preInit(); } @@ -85,11 +85,7 @@ public class AssemblyLine { proxy.init(); - //TODO Load language files and use those for block naming - - GameRegistry.registerTileEntity(TileEntityConveyorBelt.class, "ConveyorBelt"); - GameRegistry.registerTileEntity(TileEntityRejector.class, "Sorter"); - GameRegistry.registerTileEntity(TileEntityManipulator.class, "Manipulator"); + // TODO Load language files and use those for block naming // Add Names LanguageRegistry.addName(blockConveyorBelt, "Conveyor Belt"); diff --git a/src/minecraft/assemblyline/common/CommonProxy.java b/src/minecraft/assemblyline/common/CommonProxy.java new file mode 100644 index 00000000..392afcf6 --- /dev/null +++ b/src/minecraft/assemblyline/common/CommonProxy.java @@ -0,0 +1,51 @@ +package assemblyline.common; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import assemblyline.common.machine.ContainerSorter; +import assemblyline.common.machine.TileEntityManipulator; +import assemblyline.common.machine.TileEntityRejector; +import assemblyline.common.machine.belt.TileEntityConveyorBelt; +import cpw.mods.fml.common.network.IGuiHandler; +import cpw.mods.fml.common.registry.GameRegistry; + +public class CommonProxy implements IGuiHandler +{ + public static final int GUI_ARCHITECHT_TABLE = 4; + + public void preInit() + { + + } + + public void init() + { + GameRegistry.registerTileEntity(TileEntityConveyorBelt.class, "ConveyorBelt"); + GameRegistry.registerTileEntity(TileEntityRejector.class, "Sorter"); + GameRegistry.registerTileEntity(TileEntityManipulator.class, "Manipulator"); + } + + @Override + public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) + { + TileEntity tileEntity = world.getBlockTileEntity(x, y, z); + + if (tileEntity != null) + { + switch (ID) + { + case 0: + return new ContainerSorter(player.inventory, ((TileEntityRejector) tileEntity)); + } + } + + return null; + } + + @Override + public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) + { + return null; + } +} diff --git a/src/common/assemblyline/ai/ArmHelper.java b/src/minecraft/assemblyline/common/ai/ArmHelper.java similarity index 87% rename from src/common/assemblyline/ai/ArmHelper.java rename to src/minecraft/assemblyline/common/ai/ArmHelper.java index 9f79c336..7dd28d95 100644 --- a/src/common/assemblyline/ai/ArmHelper.java +++ b/src/minecraft/assemblyline/common/ai/ArmHelper.java @@ -1,11 +1,11 @@ -package assemblyline.ai; +package assemblyline.common.ai; import java.util.List; -import net.minecraft.src.AxisAlignedBB; -import net.minecraft.src.EntityItem; -import net.minecraft.src.ItemStack; -import net.minecraft.src.World; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import universalelectricity.core.vector.Vector3; public class ArmHelper diff --git a/src/common/assemblyline/ai/Task.java b/src/minecraft/assemblyline/common/ai/Task.java similarity index 88% rename from src/common/assemblyline/ai/Task.java rename to src/minecraft/assemblyline/common/ai/Task.java index 1e01480a..7658ab4c 100644 --- a/src/common/assemblyline/ai/Task.java +++ b/src/minecraft/assemblyline/common/ai/Task.java @@ -1,6 +1,6 @@ -package assemblyline.ai; +package assemblyline.common.ai; -import assemblyline.machine.crafter.TileEntityCraftingArm; +import assemblyline.common.machine.crafter.TileEntityCraftingArm; /** * An AI Task that is used by TileEntities with AI. diff --git a/src/common/assemblyline/ai/TaskIdle.java b/src/minecraft/assemblyline/common/ai/TaskIdle.java similarity index 71% rename from src/common/assemblyline/ai/TaskIdle.java rename to src/minecraft/assemblyline/common/ai/TaskIdle.java index 077651be..1fee8ac9 100644 --- a/src/common/assemblyline/ai/TaskIdle.java +++ b/src/minecraft/assemblyline/common/ai/TaskIdle.java @@ -1,6 +1,6 @@ -package assemblyline.ai; +package assemblyline.common.ai; -import assemblyline.machine.crafter.TileEntityCraftingArm; +import assemblyline.common.machine.crafter.TileEntityCraftingArm; public class TaskIdle extends Task { diff --git a/src/common/assemblyline/ai/TaskManager.java b/src/minecraft/assemblyline/common/ai/TaskManager.java similarity index 94% rename from src/common/assemblyline/ai/TaskManager.java rename to src/minecraft/assemblyline/common/ai/TaskManager.java index 784ced88..d60c13ac 100644 --- a/src/common/assemblyline/ai/TaskManager.java +++ b/src/minecraft/assemblyline/common/ai/TaskManager.java @@ -1,10 +1,10 @@ -package assemblyline.ai; +package assemblyline.common.ai; import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import net.minecraft.src.TileEntity; +import net.minecraft.tileentity.TileEntity; import cpw.mods.fml.common.FMLLog; public class TaskManager diff --git a/src/common/assemblyline/machine/BlockArchitectTable.java b/src/minecraft/assemblyline/common/block/BlockArchitectTable.java similarity index 83% rename from src/common/assemblyline/machine/BlockArchitectTable.java rename to src/minecraft/assemblyline/common/block/BlockArchitectTable.java index 6c5a19bc..38a12012 100644 --- a/src/common/assemblyline/machine/BlockArchitectTable.java +++ b/src/minecraft/assemblyline/common/block/BlockArchitectTable.java @@ -1,9 +1,9 @@ -package assemblyline.machine; +package assemblyline.common.block; -import net.minecraft.src.Block; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.Material; -import net.minecraft.src.World; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; import universalelectricity.prefab.UETab; public class BlockArchitectTable extends Block diff --git a/src/common/assemblyline/machine/BlockMulti.java b/src/minecraft/assemblyline/common/machine/BlockMulti.java similarity index 93% rename from src/common/assemblyline/machine/BlockMulti.java rename to src/minecraft/assemblyline/common/machine/BlockMulti.java index de921eb1..5a1123d7 100644 --- a/src/common/assemblyline/machine/BlockMulti.java +++ b/src/minecraft/assemblyline/common/machine/BlockMulti.java @@ -1,21 +1,21 @@ -package assemblyline.machine; +package assemblyline.common.machine; import java.util.List; -import net.minecraft.src.AxisAlignedBB; -import net.minecraft.src.CreativeTabs; -import net.minecraft.src.EntityLiving; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.ItemStack; -import net.minecraft.src.MathHelper; -import net.minecraft.src.TileEntity; -import net.minecraft.src.World; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; import universalelectricity.core.UniversalElectricity; import universalelectricity.prefab.BlockMachine; import universalelectricity.prefab.UETab; import universalelectricity.prefab.implement.IRedstoneReceptor; -import assemblyline.AssemblyLine; -import assemblyline.render.RenderHelper; +import assemblyline.client.render.RenderHelper; +import assemblyline.common.AssemblyLine; import cpw.mods.fml.common.network.PacketDispatcher; /** diff --git a/src/common/assemblyline/machine/ContainerSorter.java b/src/minecraft/assemblyline/common/machine/ContainerSorter.java similarity index 86% rename from src/common/assemblyline/machine/ContainerSorter.java rename to src/minecraft/assemblyline/common/machine/ContainerSorter.java index 1175c63d..12140bb7 100644 --- a/src/common/assemblyline/machine/ContainerSorter.java +++ b/src/minecraft/assemblyline/common/machine/ContainerSorter.java @@ -1,11 +1,11 @@ -package assemblyline.machine; +package assemblyline.common.machine; -import net.minecraft.src.Container; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.InventoryPlayer; -import net.minecraft.src.Item; -import net.minecraft.src.ItemStack; -import net.minecraft.src.Slot; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; public class ContainerSorter extends Container { diff --git a/src/common/assemblyline/machine/ItemBlockMulti.java b/src/minecraft/assemblyline/common/machine/ItemBlockMulti.java similarity index 67% rename from src/common/assemblyline/machine/ItemBlockMulti.java rename to src/minecraft/assemblyline/common/machine/ItemBlockMulti.java index c130423c..d6fc2d7c 100644 --- a/src/common/assemblyline/machine/ItemBlockMulti.java +++ b/src/minecraft/assemblyline/common/machine/ItemBlockMulti.java @@ -1,8 +1,8 @@ -package assemblyline.machine; +package assemblyline.common.machine; -import net.minecraft.src.ItemBlock; -import net.minecraft.src.ItemStack; -import assemblyline.machine.BlockMulti.MachineType; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import assemblyline.common.machine.BlockMulti.MachineType; public class ItemBlockMulti extends ItemBlock { diff --git a/src/common/assemblyline/machine/TileEntityManipulator.java b/src/minecraft/assemblyline/common/machine/TileEntityManipulator.java similarity index 94% rename from src/common/assemblyline/machine/TileEntityManipulator.java rename to src/minecraft/assemblyline/common/machine/TileEntityManipulator.java index 68aeced1..04d0275d 100644 --- a/src/common/assemblyline/machine/TileEntityManipulator.java +++ b/src/minecraft/assemblyline/common/machine/TileEntityManipulator.java @@ -1,30 +1,29 @@ -package assemblyline.machine; +package assemblyline.common.machine; import java.util.List; -import net.minecraft.src.AxisAlignedBB; -import net.minecraft.src.EntityItem; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.IInventory; -import net.minecraft.src.INetworkManager; -import net.minecraft.src.ItemStack; -import net.minecraft.src.NBTTagCompound; -import net.minecraft.src.Packet; -import net.minecraft.src.Packet250CustomPayload; -import net.minecraft.src.TileEntity; -import net.minecraft.src.TileEntityChest; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.INetworkManager; +import net.minecraft.network.packet.Packet; +import net.minecraft.network.packet.Packet250CustomPayload; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.tileentity.TileEntityChest; +import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ISidedInventory; -import universalelectricity.core.electricity.ElectricInfo; import universalelectricity.core.implement.IConductor; import universalelectricity.core.vector.Vector3; import universalelectricity.prefab.implement.IRedstoneReceptor; import universalelectricity.prefab.network.IPacketReceiver; import universalelectricity.prefab.network.PacketManager; import universalelectricity.prefab.tile.TileEntityElectricityReceiver; -import assemblyline.AssemblyLine; import assemblyline.api.IManipulator; -import assemblyline.machine.BlockMulti.MachineType; +import assemblyline.common.AssemblyLine; +import assemblyline.common.machine.BlockMulti.MachineType; import com.google.common.io.ByteArrayDataInput; diff --git a/src/common/assemblyline/machine/TileEntityRejector.java b/src/minecraft/assemblyline/common/machine/TileEntityRejector.java similarity index 94% rename from src/common/assemblyline/machine/TileEntityRejector.java rename to src/minecraft/assemblyline/common/machine/TileEntityRejector.java index bb04918f..80a048e4 100644 --- a/src/common/assemblyline/machine/TileEntityRejector.java +++ b/src/minecraft/assemblyline/common/machine/TileEntityRejector.java @@ -1,29 +1,27 @@ -package assemblyline.machine; +package assemblyline.common.machine; -import java.util.EnumSet; import java.util.List; -import net.minecraft.src.AxisAlignedBB; -import net.minecraft.src.Entity; -import net.minecraft.src.EntityItem; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.IInventory; -import net.minecraft.src.INetworkManager; -import net.minecraft.src.ItemStack; -import net.minecraft.src.NBTTagCompound; -import net.minecraft.src.NBTTagList; -import net.minecraft.src.Packet; -import net.minecraft.src.Packet250CustomPayload; -import net.minecraft.src.TileEntity; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.network.INetworkManager; +import net.minecraft.network.packet.Packet; +import net.minecraft.network.packet.Packet250CustomPayload; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.ForgeDirection; -import universalelectricity.core.electricity.ElectricityConnections; import universalelectricity.core.implement.IConductor; import universalelectricity.core.vector.Vector3; import universalelectricity.prefab.network.IPacketReceiver; import universalelectricity.prefab.network.PacketManager; import universalelectricity.prefab.tile.TileEntityElectricityReceiver; -import assemblyline.AssemblyLine; -import assemblyline.machine.belt.TileEntityConveyorBelt; +import assemblyline.common.AssemblyLine; +import assemblyline.common.machine.belt.TileEntityConveyorBelt; import com.google.common.io.ByteArrayDataInput; diff --git a/src/common/assemblyline/machine/TileEntityRoboticSorter.java b/src/minecraft/assemblyline/common/machine/TileEntityRoboticSorter.java similarity index 91% rename from src/common/assemblyline/machine/TileEntityRoboticSorter.java rename to src/minecraft/assemblyline/common/machine/TileEntityRoboticSorter.java index e4b92562..1e3e7425 100644 --- a/src/common/assemblyline/machine/TileEntityRoboticSorter.java +++ b/src/minecraft/assemblyline/common/machine/TileEntityRoboticSorter.java @@ -1,15 +1,15 @@ -package assemblyline.machine; +package assemblyline.common.machine; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.IInventory; -import net.minecraft.src.INetworkManager; -import net.minecraft.src.ItemStack; -import net.minecraft.src.NBTTagCompound; -import net.minecraft.src.NBTTagList; -import net.minecraft.src.Packet250CustomPayload; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.network.INetworkManager; +import net.minecraft.network.packet.Packet250CustomPayload; import universalelectricity.prefab.network.IPacketReceiver; import universalelectricity.prefab.tile.TileEntityElectricityReceiver; -import assemblyline.machine.belt.TileEntityConveyorBelt; +import assemblyline.common.machine.belt.TileEntityConveyorBelt; import com.google.common.io.ByteArrayDataInput; diff --git a/src/minecraft/assemblyline/common/machine/belt/BlockConveyorBelt.java b/src/minecraft/assemblyline/common/machine/belt/BlockConveyorBelt.java new file mode 100644 index 00000000..b61120c8 --- /dev/null +++ b/src/minecraft/assemblyline/common/machine/belt/BlockConveyorBelt.java @@ -0,0 +1,205 @@ +package assemblyline.common.machine.belt; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import universalelectricity.core.UniversalElectricity; +import universalelectricity.prefab.BlockMachine; +import universalelectricity.prefab.UETab; +import assemblyline.client.render.RenderHelper; + +/** + * The block for the actual conveyor belt! + * + * @author Calclavia, DarkGuardsman + */ +public class BlockConveyorBelt extends BlockMachine +{ + public BlockConveyorBelt(int id) + { + super("Conveyor Belt", id, UniversalElectricity.machine); + this.setBlockBounds(0, 0, 0, 1, 0.3f, 1); + this.setCreativeTab(UETab.INSTANCE); + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLiving par5EntityLiving) + { + int meta = world.getBlockMetadata(x, y, z); + int angle = MathHelper.floor_double((par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + world.setBlockMetadataWithNotify(x, y, z, meta + angle); + } + + @Override + public boolean onUseWrench(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer, int side, float hitX, float hitY, float hitZ) + { + int metadata = par1World.getBlockMetadata(x, y, z); + + if (metadata >= 0 && metadata < 8) + { + if (metadata >= 3) + { + par1World.setBlockAndMetadataWithNotify(x, y, z, this.blockID, 0); + return true; + } + else if (metadata >= 7) + { + par1World.setBlockAndMetadataWithNotify(x, y, z, this.blockID, 4); + return true; + } + else + { + par1World.setBlockAndMetadataWithNotify(x, y, z, this.blockID, metadata + 1); + return true; + } + } + + return true; + } + + /** + * @author AtomicStryker + */ + //@Override + public void onEntityCollidedWithBlockTest(World world, int x, int y, int z, Entity entity) + { + TileEntityConveyorBelt tileEntity = (TileEntityConveyorBelt) world.getBlockTileEntity(x, y, z); + + if (tileEntity.running) + { + int metadata = tileEntity.getBeltDirection(); + if (metadata == 4) + { + entity.setVelocity(0.1D, 0.2D, 0.0D); + entity.onGround = false; + } + else if (metadata == 5) + { + entity.setVelocity(0.0D, 0.2D, 0.1D); + entity.onGround = false; + } + else if (metadata == 6) + { + entity.setVelocity(-0.1D, 0.2D, 0.0D); + entity.onGround = false; + } + else if (metadata == 7) + { + entity.setVelocity(0.0D, 0.2D, -0.1D); + entity.onGround = false; + } + else if (metadata == 8) + { + entity.setVelocity(0.1D, 0.0D, 0.0D); + entity.onGround = false; + } + else if (metadata == 9) + { + entity.setVelocity(0.0D, 0.0D, 0.1D); + entity.onGround = false; + } + else if (metadata == 10) + { + entity.setVelocity(-0.1D, 0.0D, 0.0D); + entity.onGround = false; + } + else if (metadata == 11) + { + entity.setVelocity(0.0D, 0.0D, -0.1D); + entity.onGround = false; + } + else if (metadata == 0) + { + if (entity.posZ > (double) z + 0.55D) + { + entity.setVelocity(0.05D, 0.0D, -0.05D); + } + else if (entity.posZ < (double) z + 0.45D) + { + entity.setVelocity(0.05D, 0.0D, 0.05D); + } + else + { + entity.setVelocity(0.1D, 0.0D, 0.0D); + } + } + else if (metadata == 1) + { + if (entity.posX > (double) x + 0.55D) + { + entity.setVelocity(-0.05D, 0.0D, 0.05D); + } + else if (entity.posX < (double) x + 0.45D) + { + entity.setVelocity(0.05D, 0.0D, 0.05D); + } + else + { + entity.setVelocity(0.0D, 0.0D, 0.1D); + } + } + else if (metadata == 2) + { + if (entity.posZ > (double) z + 0.55D) + { + entity.setVelocity(-0.05D, 0.0D, -0.05D); + } + else if (entity.posZ < (double) z + 0.45D) + { + entity.setVelocity(-0.05D, 0.0D, 0.05D); + } + else + { + entity.setVelocity(-0.1D, 0.0D, 0.0D); + } + } + else if (metadata == 3) + { + if (entity.posX > (double) x + 0.55D) + { + entity.setVelocity(-0.05D, 0.0D, -0.05D); + } + else if (entity.posX < (double) x + 0.45D) + { + entity.setVelocity(0.05D, 0.0D, -0.05D); + } + else + { + entity.setVelocity(0.0D, 0.0D, -0.1D); + } + } + } + } + + /** + * Returns the TileEntity used by this block. + */ + @Override + public TileEntity createNewTileEntity(World var1, int metadata) + { + if (metadata >= 0 && metadata < 4) { return new TileEntityConveyorBelt(); } + if (metadata >= 4 && metadata < 8) { return new TileEntityCoveredBelt(); } + return null; + } + + @Override + public int getRenderType() + { + return RenderHelper.BLOCK_RENDER_ID; + } + + @Override + public boolean isOpaqueCube() + { + return false; + } + + @Override + public boolean renderAsNormalBlock() + { + return false; + } +} diff --git a/src/common/assemblyline/machine/belt/TileEntityConveyorBelt.java b/src/minecraft/assemblyline/common/machine/belt/TileEntityConveyorBelt.java similarity index 94% rename from src/common/assemblyline/machine/belt/TileEntityConveyorBelt.java rename to src/minecraft/assemblyline/common/machine/belt/TileEntityConveyorBelt.java index 3a2778bb..c18f9e78 100644 --- a/src/common/assemblyline/machine/belt/TileEntityConveyorBelt.java +++ b/src/minecraft/assemblyline/common/machine/belt/TileEntityConveyorBelt.java @@ -1,27 +1,26 @@ -package assemblyline.machine.belt; +package assemblyline.common.machine.belt; import java.util.ArrayList; import java.util.EnumSet; import java.util.List; -import net.minecraft.src.AxisAlignedBB; -import net.minecraft.src.Entity; -import net.minecraft.src.EntityItem; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.INetworkManager; -import net.minecraft.src.Packet; -import net.minecraft.src.Packet250CustomPayload; -import net.minecraft.src.TileEntity; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.network.INetworkManager; +import net.minecraft.network.packet.Packet; +import net.minecraft.network.packet.Packet250CustomPayload; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.ForgeDirection; -import universalelectricity.core.electricity.ElectricInfo; import universalelectricity.core.electricity.ElectricityConnections; import universalelectricity.core.implement.IConductor; import universalelectricity.core.vector.Vector3; import universalelectricity.prefab.network.IPacketReceiver; import universalelectricity.prefab.network.PacketManager; import universalelectricity.prefab.tile.TileEntityElectricityReceiver; -import assemblyline.AssemblyLine; import assemblyline.api.IBelt; +import assemblyline.common.AssemblyLine; import com.google.common.io.ByteArrayDataInput; @@ -41,7 +40,6 @@ public class TileEntityConveyorBelt extends TileEntityElectricityReceiver implem public float wheelRotation = 0; public boolean running = false; public boolean textureFlip = false; - public boolean slantedBelt = false; public TileEntityConveyorBelt[] adjBelts = { null, null, null, null }; public int clearCount = 0; @@ -349,7 +347,6 @@ public class TileEntityConveyorBelt extends TileEntityElectricityReceiver implem @Override public ForgeDirection getFacing() { - return ForgeDirection.getOrientation(this.getBeltDirection()); } diff --git a/src/common/assemblyline/machine/belt/TileEntityCoveredBelt.java b/src/minecraft/assemblyline/common/machine/belt/TileEntityCoveredBelt.java similarity index 84% rename from src/common/assemblyline/machine/belt/TileEntityCoveredBelt.java rename to src/minecraft/assemblyline/common/machine/belt/TileEntityCoveredBelt.java index 6ecfe26e..b105d577 100644 --- a/src/common/assemblyline/machine/belt/TileEntityCoveredBelt.java +++ b/src/minecraft/assemblyline/common/machine/belt/TileEntityCoveredBelt.java @@ -1,4 +1,4 @@ -package assemblyline.machine.belt; +package assemblyline.common.machine.belt; /** * For the moment this is just a render place holder, but will be convered to prevent item pickups diff --git a/src/common/assemblyline/machine/belt/TileEntityElevatorBelt.java b/src/minecraft/assemblyline/common/machine/belt/TileEntityElevatorBelt.java similarity index 90% rename from src/common/assemblyline/machine/belt/TileEntityElevatorBelt.java rename to src/minecraft/assemblyline/common/machine/belt/TileEntityElevatorBelt.java index 7c68f0b8..3b9f8e88 100644 --- a/src/common/assemblyline/machine/belt/TileEntityElevatorBelt.java +++ b/src/minecraft/assemblyline/common/machine/belt/TileEntityElevatorBelt.java @@ -1,10 +1,10 @@ -package assemblyline.machine.belt; +package assemblyline.common.machine.belt; import java.util.ArrayList; import java.util.List; -import net.minecraft.src.Entity; -import net.minecraft.src.TileEntity; +import net.minecraft.entity.Entity; +import net.minecraft.tileentity.TileEntity; /** * @author Rseifert diff --git a/src/common/assemblyline/machine/crafter/BlockCrafter.java b/src/minecraft/assemblyline/common/machine/crafter/BlockCrafter.java similarity index 92% rename from src/common/assemblyline/machine/crafter/BlockCrafter.java rename to src/minecraft/assemblyline/common/machine/crafter/BlockCrafter.java index ec944a34..8ac22373 100644 --- a/src/common/assemblyline/machine/crafter/BlockCrafter.java +++ b/src/minecraft/assemblyline/common/machine/crafter/BlockCrafter.java @@ -1,12 +1,12 @@ -package assemblyline.machine.crafter; +package assemblyline.common.machine.crafter; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.TileEntity; -import net.minecraft.src.World; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; import universalelectricity.core.UniversalElectricity; import universalelectricity.prefab.BlockMachine; import universalelectricity.prefab.UETab; -import assemblyline.AssemblyLine; +import assemblyline.common.AssemblyLine; public class BlockCrafter extends BlockMachine { diff --git a/src/common/assemblyline/machine/crafter/ContainerCrafter.java b/src/minecraft/assemblyline/common/machine/crafter/ContainerCrafter.java similarity index 87% rename from src/common/assemblyline/machine/crafter/ContainerCrafter.java rename to src/minecraft/assemblyline/common/machine/crafter/ContainerCrafter.java index 32df1e23..2e4e4a6a 100644 --- a/src/common/assemblyline/machine/crafter/ContainerCrafter.java +++ b/src/minecraft/assemblyline/common/machine/crafter/ContainerCrafter.java @@ -1,11 +1,11 @@ -package assemblyline.machine.crafter; +package assemblyline.common.machine.crafter; -import net.minecraft.src.Container; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.InventoryPlayer; -import net.minecraft.src.Item; -import net.minecraft.src.ItemStack; -import net.minecraft.src.Slot; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; /** * I am planning to make the crafter not use a GUI. diff --git a/src/common/assemblyline/machine/crafter/EntityCraftingArm.java b/src/minecraft/assemblyline/common/machine/crafter/EntityCraftingArm.java similarity index 94% rename from src/common/assemblyline/machine/crafter/EntityCraftingArm.java rename to src/minecraft/assemblyline/common/machine/crafter/EntityCraftingArm.java index 8938a94b..6d006720 100644 --- a/src/common/assemblyline/machine/crafter/EntityCraftingArm.java +++ b/src/minecraft/assemblyline/common/machine/crafter/EntityCraftingArm.java @@ -1,12 +1,12 @@ -package assemblyline.machine.crafter; +package assemblyline.common.machine.crafter; -import net.minecraft.src.AxisAlignedBB; -import net.minecraft.src.Entity; -import net.minecraft.src.EntityItem; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.ItemStack; -import net.minecraft.src.NBTTagCompound; -import net.minecraft.src.World; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import universalelectricity.core.vector.Vector3; /** @@ -20,6 +20,7 @@ public class EntityCraftingArm extends Entity /** * Used to ID the type of arm */ + public static enum CraftingArmType { ARM, SOLDER, DRILL, BREAKER @@ -91,7 +92,7 @@ public class EntityCraftingArm extends Entity clawPos.y = nbt.getDouble("clawY"); clawPos.z = nbt.getDouble("clawZ"); - if (nbt.tagMap.containsKey("itemStackBeingHeld")) + if (nbt.hasKey("itemStackBeingHeld")) { itemStackBeingHeld = ItemStack.loadItemStackFromNBT(nbt.getCompoundTag("itemStackBeingHeld")); } diff --git a/src/common/assemblyline/machine/crafter/ItemCrafterArm.java b/src/minecraft/assemblyline/common/machine/crafter/ItemCrafterArm.java similarity index 63% rename from src/common/assemblyline/machine/crafter/ItemCrafterArm.java rename to src/minecraft/assemblyline/common/machine/crafter/ItemCrafterArm.java index abd743c6..f3071e80 100644 --- a/src/common/assemblyline/machine/crafter/ItemCrafterArm.java +++ b/src/minecraft/assemblyline/common/machine/crafter/ItemCrafterArm.java @@ -1,6 +1,6 @@ -package assemblyline.machine.crafter; +package assemblyline.common.machine.crafter; -import net.minecraft.src.Item; +import net.minecraft.item.Item; public class ItemCrafterArm extends Item { diff --git a/src/common/assemblyline/machine/crafter/TaskArmCollect.java b/src/minecraft/assemblyline/common/machine/crafter/TaskArmCollect.java similarity index 80% rename from src/common/assemblyline/machine/crafter/TaskArmCollect.java rename to src/minecraft/assemblyline/common/machine/crafter/TaskArmCollect.java index 943a4b30..9016a8e2 100644 --- a/src/common/assemblyline/machine/crafter/TaskArmCollect.java +++ b/src/minecraft/assemblyline/common/machine/crafter/TaskArmCollect.java @@ -1,7 +1,7 @@ -package assemblyline.machine.crafter; +package assemblyline.common.machine.crafter; -import net.minecraft.src.EntityItem; -import assemblyline.ai.Task; +import net.minecraft.entity.item.EntityItem; +import assemblyline.common.ai.Task; /** * Used by arms to collect items in a specific region. diff --git a/src/common/assemblyline/machine/crafter/TaskArmSearch.java b/src/minecraft/assemblyline/common/machine/crafter/TaskArmSearch.java similarity index 89% rename from src/common/assemblyline/machine/crafter/TaskArmSearch.java rename to src/minecraft/assemblyline/common/machine/crafter/TaskArmSearch.java index 9d1d23ba..e8d0443d 100644 --- a/src/common/assemblyline/machine/crafter/TaskArmSearch.java +++ b/src/minecraft/assemblyline/common/machine/crafter/TaskArmSearch.java @@ -1,10 +1,10 @@ -package assemblyline.machine.crafter; +package assemblyline.common.machine.crafter; import java.util.List; -import net.minecraft.src.AxisAlignedBB; -import net.minecraft.src.Entity; -import assemblyline.ai.Task; +import net.minecraft.entity.Entity; +import net.minecraft.util.AxisAlignedBB; +import assemblyline.common.ai.Task; /** * Used by arms to search for entities in a region diff --git a/src/common/assemblyline/machine/crafter/TileEntityAutoCrafter.java b/src/minecraft/assemblyline/common/machine/crafter/TileEntityAutoCrafter.java similarity index 69% rename from src/common/assemblyline/machine/crafter/TileEntityAutoCrafter.java rename to src/minecraft/assemblyline/common/machine/crafter/TileEntityAutoCrafter.java index 35df0967..f4419583 100644 --- a/src/common/assemblyline/machine/crafter/TileEntityAutoCrafter.java +++ b/src/minecraft/assemblyline/common/machine/crafter/TileEntityAutoCrafter.java @@ -1,8 +1,8 @@ -package assemblyline.machine.crafter; +package assemblyline.common.machine.crafter; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.INetworkManager; -import net.minecraft.src.Packet250CustomPayload; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.network.INetworkManager; +import net.minecraft.network.packet.Packet250CustomPayload; import universalelectricity.prefab.tile.TileEntityAdvanced; import com.google.common.io.ByteArrayDataInput; diff --git a/src/common/assemblyline/machine/crafter/TileEntityCraftingArm.java b/src/minecraft/assemblyline/common/machine/crafter/TileEntityCraftingArm.java similarity index 92% rename from src/common/assemblyline/machine/crafter/TileEntityCraftingArm.java rename to src/minecraft/assemblyline/common/machine/crafter/TileEntityCraftingArm.java index 30734836..79663ff2 100644 --- a/src/common/assemblyline/machine/crafter/TileEntityCraftingArm.java +++ b/src/minecraft/assemblyline/common/machine/crafter/TileEntityCraftingArm.java @@ -1,15 +1,15 @@ -package assemblyline.machine.crafter; +package assemblyline.common.machine.crafter; import java.util.EnumSet; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.IInventory; -import net.minecraft.src.INetworkManager; -import net.minecraft.src.ItemStack; -import net.minecraft.src.NBTTagCompound; -import net.minecraft.src.NBTTagList; -import net.minecraft.src.Packet250CustomPayload; -import net.minecraft.src.TileEntity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.network.INetworkManager; +import net.minecraft.network.packet.Packet250CustomPayload; +import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.ForgeDirection; import universalelectricity.core.electricity.ElectricityConnections; import universalelectricity.core.implement.IConductor; @@ -17,7 +17,7 @@ import universalelectricity.core.implement.IJouleStorage; import universalelectricity.core.vector.Vector3; import universalelectricity.prefab.network.IPacketReceiver; import universalelectricity.prefab.tile.TileEntityElectricityReceiver; -import assemblyline.ai.TaskManager; +import assemblyline.common.ai.TaskManager; import com.google.common.io.ByteArrayDataInput; diff --git a/src/common/universalelectricity/core/UELoader.java b/src/minecraft/universalelectricity/core/UELoader.java similarity index 73% rename from src/common/universalelectricity/core/UELoader.java rename to src/minecraft/universalelectricity/core/UELoader.java index c22bae0d..b00f7460 100644 --- a/src/common/universalelectricity/core/UELoader.java +++ b/src/minecraft/universalelectricity/core/UELoader.java @@ -4,6 +4,7 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.world.WorldEvent.Unload; import universalelectricity.core.electricity.Electricity; +import universalelectricity.core.electricity.ElectricityConnections; import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.common.Loader; @@ -26,31 +27,31 @@ public class UELoader Electricity.instance = new Electricity(); MinecraftForge.EVENT_BUS.register(this); + UniversalElectricity.IC2_RATIO = UniversalElectricity.CONFIGURATION.get("Compatiblity", "IndustrialCraft Conversion Ratio", UniversalElectricity.IC2_RATIO).getDouble(UniversalElectricity.IC2_RATIO); + UniversalElectricity.BC3_RATIO = UniversalElectricity.CONFIGURATION.get("Compatiblity", "BuildCraft Conversion Ratio", UniversalElectricity.BC3_RATIO).getDouble(UniversalElectricity.BC3_RATIO); + UniversalElectricity.TO_IC2_RATIO = 1 / UniversalElectricity.IC2_RATIO; + UniversalElectricity.TO_BC_RATIO = 1 / UniversalElectricity.BC3_RATIO; + if (UniversalElectricity.BC3_RATIO <= 0 || !Loader.isModLoaded("BuildCraft|Core")) { - FMLLog.fine("Disabled Buildcraft electricity conversion!"); + System.out.println("Disabled Buildcraft electricity conversion!"); } else { - FMLLog.fine("Buildcraft conversion ratio: " + UniversalElectricity.BC3_RATIO); + System.out.println("Buildcraft conversion ratio: " + UniversalElectricity.BC3_RATIO); } if (UniversalElectricity.IC2_RATIO <= 0 || !Loader.isModLoaded("IC2")) { - FMLLog.fine("Disabled Industrialcraft electricity conversion!"); + System.out.println("Disabled Industrialcraft electricity conversion!"); } else { - FMLLog.fine("IC2 conversion ratio: " + UniversalElectricity.IC2_RATIO); + System.out.println("IC2 conversion ratio: " + UniversalElectricity.IC2_RATIO); } FMLLog.finest("Universal Electricity v" + UniversalElectricity.VERSION + " successfully loaded!"); - UniversalElectricity.IC2_RATIO = UniversalElectricity.CONFIGURATION.get("Compatiblity", "IndustrialCraft Conversion Ratio", UniversalElectricity.IC2_RATIO).getInt(); - UniversalElectricity.BC3_RATIO = UniversalElectricity.CONFIGURATION.get("Compatiblity", "BuildCraft Conversion Ratio", UniversalElectricity.BC3_RATIO).getInt(); - UniversalElectricity.TO_IC2_RATIO = 1 / UniversalElectricity.IC2_RATIO; - UniversalElectricity.TO_BC_RATIO = 1 / UniversalElectricity.BC3_RATIO; - isInitialized = true; } } @@ -59,5 +60,6 @@ public class UELoader public void onWorldUnload(Unload event) { Electricity.instance = new Electricity(); + ElectricityConnections.clearAll(); } } diff --git a/src/common/universalelectricity/core/UniversalElectricity.java b/src/minecraft/universalelectricity/core/UniversalElectricity.java similarity index 93% rename from src/common/universalelectricity/core/UniversalElectricity.java rename to src/minecraft/universalelectricity/core/UniversalElectricity.java index 505f15d9..b2e614ad 100644 --- a/src/common/universalelectricity/core/UniversalElectricity.java +++ b/src/minecraft/universalelectricity/core/UniversalElectricity.java @@ -4,8 +4,8 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import net.minecraft.src.MapColor; -import net.minecraft.src.Material; +import net.minecraft.block.material.MapColor; +import net.minecraft.block.material.Material; import net.minecraftforge.common.Configuration; import net.minecraftforge.common.ForgeVersion; import cpw.mods.fml.common.FMLLog; @@ -43,11 +43,11 @@ public class UniversalElectricity * Conversion ratios between Buildcraft and Industrialcraft energy. */ // EU to Watts ratio - public static int IC2_RATIO = 7; + public static double IC2_RATIO = 10; // MJ to Watts ratio. - public static int BC3_RATIO = 85; - public static int TO_IC2_RATIO = 1 / IC2_RATIO; - public static int TO_BC_RATIO = 1 / BC3_RATIO; + public static double BC3_RATIO = 85; + public static double TO_IC2_RATIO = 1 / IC2_RATIO; + public static double TO_BC_RATIO = 1 / BC3_RATIO; /** * Use this material for all your machine blocks. It can be breakable by hand. diff --git a/src/common/universalelectricity/core/electricity/ElectricInfo.java b/src/minecraft/universalelectricity/core/electricity/ElectricInfo.java similarity index 100% rename from src/common/universalelectricity/core/electricity/ElectricInfo.java rename to src/minecraft/universalelectricity/core/electricity/ElectricInfo.java diff --git a/src/common/universalelectricity/core/electricity/Electricity.java b/src/minecraft/universalelectricity/core/electricity/Electricity.java similarity index 95% rename from src/common/universalelectricity/core/electricity/Electricity.java rename to src/minecraft/universalelectricity/core/electricity/Electricity.java index 9a2cd661..3ed41f54 100644 --- a/src/common/universalelectricity/core/electricity/Electricity.java +++ b/src/minecraft/universalelectricity/core/electricity/Electricity.java @@ -4,7 +4,7 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import net.minecraft.src.TileEntity; +import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.ForgeDirection; import universalelectricity.core.implement.IConductor; import universalelectricity.core.vector.Vector3; @@ -89,7 +89,7 @@ public class Electricity { for (byte i = 0; i < 6; i++) { - conductor.updateConnectionWithoutSplit(Vector3.getConnectorFromSide(((TileEntity) conductor).worldObj, Vector3.get((TileEntity) conductor), ForgeDirection.getOrientation(i)), ForgeDirection.getOrientation(i)); + conductor.updateConnectionWithoutSplit(Vector3.getConnectorFromSide(((TileEntity) conductor).worldObj, new Vector3((TileEntity) conductor), ForgeDirection.getOrientation(i)), ForgeDirection.getOrientation(i)); } } @@ -136,7 +136,5 @@ public class Electricity ElectricityNetwork network = ((ElectricityNetwork) it.next()); network.resetConductors(); } - - System.out.println(electricityNetworks.size()); } } diff --git a/src/common/universalelectricity/core/electricity/ElectricityConnections.java b/src/minecraft/universalelectricity/core/electricity/ElectricityConnections.java similarity index 78% rename from src/common/universalelectricity/core/electricity/ElectricityConnections.java rename to src/minecraft/universalelectricity/core/electricity/ElectricityConnections.java index f4678fb8..8f95df5c 100644 --- a/src/common/universalelectricity/core/electricity/ElectricityConnections.java +++ b/src/minecraft/universalelectricity/core/electricity/ElectricityConnections.java @@ -3,7 +3,7 @@ package universalelectricity.core.electricity; import java.util.EnumSet; import java.util.HashMap; -import net.minecraft.src.TileEntity; +import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.ForgeDirection; /** @@ -28,6 +28,11 @@ public class ElectricityConnections connectors.put(tileEntity, connectableDirections); } + public static void unregisterConnector(TileEntity tileEntity) + { + connectors.remove(tileEntity); + } + public static boolean isConnector(TileEntity tileEntity) { return connectors.containsKey(tileEntity); @@ -35,9 +40,12 @@ public class ElectricityConnections public static boolean canConnect(TileEntity tileEntity, ForgeDirection side) { - EnumSet enumSet = connectors.get(tileEntity); + if (isConnector(tileEntity)) + { + EnumSet enumSet = connectors.get(tileEntity); - if (enumSet != null) { return enumSet.contains(side); } + if (enumSet != null) { return enumSet.contains(side); } + } return false; } @@ -49,4 +57,9 @@ public class ElectricityConnections { return connectors.get(tileEntity); } + + public static void clearAll() + { + connectors.clear(); + } } diff --git a/src/common/universalelectricity/core/electricity/ElectricityNetwork.java b/src/minecraft/universalelectricity/core/electricity/ElectricityNetwork.java similarity index 92% rename from src/common/universalelectricity/core/electricity/ElectricityNetwork.java rename to src/minecraft/universalelectricity/core/electricity/ElectricityNetwork.java index cba111d1..3396ba60 100644 --- a/src/common/universalelectricity/core/electricity/ElectricityNetwork.java +++ b/src/minecraft/universalelectricity/core/electricity/ElectricityNetwork.java @@ -6,7 +6,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import net.minecraft.src.TileEntity; +import net.minecraft.tileentity.TileEntity; import universalelectricity.core.implement.IConductor; import cpw.mods.fml.common.FMLLog; @@ -25,12 +25,17 @@ public class ElectricityNetwork /** * Sets this tile entity to start producing energy in this network. */ + public void startProducing(TileEntity tileEntity, ElectricityPack electricityPack) + { + if (tileEntity != null && electricityPack.getWatts() > 0) + { + this.producers.put(tileEntity, electricityPack); + } + } + public void startProducing(TileEntity tileEntity, double amperes, double voltage) { - if (tileEntity != null && amperes > 0 && voltage > 0) - { - this.producers.put(tileEntity, new ElectricityPack(amperes, voltage)); - } + this.startProducing(tileEntity, new ElectricityPack(amperes, voltage)); } public boolean isProducing(TileEntity tileEntity) @@ -49,12 +54,17 @@ public class ElectricityNetwork /** * Sets this tile entity to start producing energy in this network. */ + public void startRequesting(TileEntity tileEntity, ElectricityPack electricityPack) + { + if (tileEntity != null && electricityPack.getWatts() > 0) + { + this.consumers.put(tileEntity, electricityPack); + } + } + public void startRequesting(TileEntity tileEntity, double amperes, double voltage) { - if (tileEntity != null && amperes > 0 && voltage > 0) - { - this.consumers.put(tileEntity, new ElectricityPack(amperes, voltage)); - } + this.startRequesting(tileEntity, new ElectricityPack(amperes, voltage)); } public boolean isRequesting(TileEntity tileEntity) diff --git a/src/minecraft/universalelectricity/core/electricity/ElectricityPack.java b/src/minecraft/universalelectricity/core/electricity/ElectricityPack.java new file mode 100644 index 00000000..375a88ae --- /dev/null +++ b/src/minecraft/universalelectricity/core/electricity/ElectricityPack.java @@ -0,0 +1,56 @@ +package universalelectricity.core.electricity; + +/** + * A simple way to store electrical data. + * + * @author Calclavia + * + */ +public class ElectricityPack implements Cloneable +{ + public double amperes; + public double voltage; + + public ElectricityPack(double amperes, double voltage) + { + this.amperes = amperes; + this.voltage = voltage; + } + + public ElectricityPack() + { + this(0, 0); + } + + public double getWatts() + { + return ElectricInfo.getWatts(amperes, voltage); + } + + public double getConductance() + { + return ElectricInfo.getConductance(amperes, voltage); + } + + public double getResistance() + { + return ElectricInfo.getResistance(amperes, voltage); + } + + @Override + public String toString() + { + return "ElectricityPack [Amps:" + this.amperes + " Volts:" + this.voltage + "]"; + } + + @Override + public ElectricityPack clone() + { + return new ElectricityPack(this.amperes, this.voltage); + } + + public boolean isEquals(ElectricityPack electricityPack) + { + return this.amperes == electricityPack.amperes && this.voltage == electricityPack.voltage; + } +} diff --git a/src/common/universalelectricity/core/implement/IConductor.java b/src/minecraft/universalelectricity/core/implement/IConductor.java similarity index 94% rename from src/common/universalelectricity/core/implement/IConductor.java rename to src/minecraft/universalelectricity/core/implement/IConductor.java index deb13073..97f20df6 100644 --- a/src/common/universalelectricity/core/implement/IConductor.java +++ b/src/minecraft/universalelectricity/core/implement/IConductor.java @@ -1,6 +1,6 @@ package universalelectricity.core.implement; -import net.minecraft.src.TileEntity; +import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.ForgeDirection; import universalelectricity.core.electricity.ElectricityNetwork; @@ -52,6 +52,9 @@ public interface IConductor */ public void reset(); + /** + * Instantly refreshes all connected blocks + */ public void refreshConnectedBlocks(); /** @@ -63,5 +66,4 @@ public interface IConductor public void updateConnection(TileEntity tileEntity, ForgeDirection side); public void updateConnectionWithoutSplit(TileEntity connectorFromSide, ForgeDirection orientation); - } diff --git a/src/common/universalelectricity/core/implement/IDisableable.java b/src/minecraft/universalelectricity/core/implement/IDisableable.java similarity index 100% rename from src/common/universalelectricity/core/implement/IDisableable.java rename to src/minecraft/universalelectricity/core/implement/IDisableable.java diff --git a/src/common/universalelectricity/core/implement/IItemElectric.java b/src/minecraft/universalelectricity/core/implement/IItemElectric.java similarity index 95% rename from src/common/universalelectricity/core/implement/IItemElectric.java rename to src/minecraft/universalelectricity/core/implement/IItemElectric.java index 8d365c53..0ea5e6c9 100644 --- a/src/common/universalelectricity/core/implement/IItemElectric.java +++ b/src/minecraft/universalelectricity/core/implement/IItemElectric.java @@ -1,6 +1,6 @@ package universalelectricity.core.implement; -import net.minecraft.src.ItemStack; +import net.minecraft.item.ItemStack; public interface IItemElectric extends IJouleStorage, IVoltage { diff --git a/src/common/universalelectricity/core/implement/IJouleStorage.java b/src/minecraft/universalelectricity/core/implement/IJouleStorage.java similarity index 100% rename from src/common/universalelectricity/core/implement/IJouleStorage.java rename to src/minecraft/universalelectricity/core/implement/IJouleStorage.java diff --git a/src/common/universalelectricity/core/implement/IVoltage.java b/src/minecraft/universalelectricity/core/implement/IVoltage.java similarity index 100% rename from src/common/universalelectricity/core/implement/IVoltage.java rename to src/minecraft/universalelectricity/core/implement/IVoltage.java diff --git a/src/common/universalelectricity/core/vector/Vector2.java b/src/minecraft/universalelectricity/core/vector/Vector2.java similarity index 93% rename from src/common/universalelectricity/core/vector/Vector2.java rename to src/minecraft/universalelectricity/core/vector/Vector2.java index 752d9f23..8e349ff3 100644 --- a/src/common/universalelectricity/core/vector/Vector2.java +++ b/src/minecraft/universalelectricity/core/vector/Vector2.java @@ -1,6 +1,6 @@ package universalelectricity.core.vector; -import net.minecraft.src.MathHelper; +import net.minecraft.util.MathHelper; /** * Vector2 Class is used for defining objects in a 2D space. Vector2 makes it easier to handle the @@ -100,6 +100,11 @@ public class Vector2 implements Cloneable return new Vector2(Math.floor(this.x), Math.floor(this.y)); } + public boolean isEquals(Vector2 vector) + { + return this.x == vector.x && this.y == vector.y; + } + @Override public String toString() { diff --git a/src/common/universalelectricity/core/vector/Vector3.java b/src/minecraft/universalelectricity/core/vector/Vector3.java similarity index 88% rename from src/common/universalelectricity/core/vector/Vector3.java rename to src/minecraft/universalelectricity/core/vector/Vector3.java index cfa6cdf0..dc4b558f 100644 --- a/src/common/universalelectricity/core/vector/Vector3.java +++ b/src/minecraft/universalelectricity/core/vector/Vector3.java @@ -2,16 +2,16 @@ package universalelectricity.core.vector; import java.util.List; -import net.minecraft.src.AxisAlignedBB; -import net.minecraft.src.ChunkCoordinates; -import net.minecraft.src.Entity; -import net.minecraft.src.IBlockAccess; -import net.minecraft.src.MathHelper; -import net.minecraft.src.MovingObjectPosition; -import net.minecraft.src.NBTTagCompound; -import net.minecraft.src.TileEntity; -import net.minecraft.src.Vec3; -import net.minecraft.src.World; +import net.minecraft.entity.Entity; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChunkCoordinates; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; import universalelectricity.core.electricity.ElectricityConnections; @@ -46,6 +46,41 @@ public class Vector3 extends Vector2 implements Cloneable this.z = z; } + public Vector3(Entity par1) + { + this.x = par1.posX; + this.y = par1.posY; + this.z = par1.posZ; + } + + public Vector3(TileEntity par1) + { + this.x = par1.xCoord; + this.y = par1.yCoord; + this.z = par1.zCoord; + } + + public Vector3(Vec3 par1) + { + this.x = par1.xCoord; + this.y = par1.yCoord; + this.z = par1.zCoord; + } + + public Vector3(MovingObjectPosition par1) + { + this.x = par1.blockX; + this.y = par1.blockY; + this.z = par1.blockZ; + } + + public Vector3(ChunkCoordinates par1) + { + this.x = par1.posX; + this.y = par1.posY; + this.z = par1.posZ; + } + /** * Returns the coordinates as integers */ @@ -64,6 +99,11 @@ public class Vector3 extends Vector2 implements Cloneable return (int) Math.floor(this.z); } + public boolean isEquals(Vector3 vector) + { + return this.x == vector.x && this.y == vector.y && this.z == vector.z; + } + /** * Makes a new copy of this Vector. Prevents variable referencing problems. */ @@ -73,33 +113,34 @@ public class Vector3 extends Vector2 implements Cloneable return new Vector3(this.x, this.y, this.z); } - /** - * Vector3 Shortcut Functions - */ - + @Deprecated public static Vector3 get(Entity par1) { - return new Vector3(par1.posX, par1.posY, par1.posZ); + return new Vector3(par1); } + @Deprecated public static Vector3 get(TileEntity par1) { - return new Vector3(par1.xCoord, par1.yCoord, par1.zCoord); + return new Vector3(par1); } + @Deprecated public static Vector3 get(Vec3 par1) { - return new Vector3(par1.xCoord, par1.yCoord, par1.zCoord); + return new Vector3(par1); } + @Deprecated public static Vector3 get(MovingObjectPosition par1) { - return new Vector3(par1.blockX, par1.blockY, par1.blockZ); + return new Vector3(par1); } + @Deprecated public static Vector3 get(ChunkCoordinates par1) { - return new Vector3(par1.posX, par1.posY, par1.posZ); + return new Vector3(par1); } public int getBlockID(IBlockAccess world) diff --git a/src/common/universalelectricity/prefab/BlockConductor.java b/src/minecraft/universalelectricity/prefab/BlockConductor.java similarity index 81% rename from src/common/universalelectricity/prefab/BlockConductor.java rename to src/minecraft/universalelectricity/prefab/BlockConductor.java index 3ca1f65c..4be3469d 100644 --- a/src/common/universalelectricity/prefab/BlockConductor.java +++ b/src/minecraft/universalelectricity/prefab/BlockConductor.java @@ -1,9 +1,9 @@ package universalelectricity.prefab; -import net.minecraft.src.BlockContainer; -import net.minecraft.src.Material; -import net.minecraft.src.TileEntity; -import net.minecraft.src.World; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; import universalelectricity.core.implement.IConductor; public abstract class BlockConductor extends BlockContainer @@ -30,8 +30,6 @@ public abstract class BlockConductor extends BlockContainer ((IConductor) tileEntity).refreshConnectedBlocks(); } } - - world.scheduleBlockUpdate(x, y, z, this.blockID, this.tickRate()); } /** @@ -50,7 +48,5 @@ public abstract class BlockConductor extends BlockContainer ((IConductor) tileEntity).refreshConnectedBlocks(); } } - - world.markBlockForUpdate(x, y, z); } } diff --git a/src/common/universalelectricity/prefab/BlockMachine.java b/src/minecraft/universalelectricity/prefab/BlockMachine.java similarity index 93% rename from src/common/universalelectricity/prefab/BlockMachine.java rename to src/minecraft/universalelectricity/prefab/BlockMachine.java index 39d62e5a..72145365 100644 --- a/src/common/universalelectricity/prefab/BlockMachine.java +++ b/src/minecraft/universalelectricity/prefab/BlockMachine.java @@ -2,16 +2,16 @@ package universalelectricity.prefab; import java.util.Random; -import net.minecraft.src.BlockContainer; -import net.minecraft.src.CreativeTabs; -import net.minecraft.src.EntityItem; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.IInventory; -import net.minecraft.src.ItemStack; -import net.minecraft.src.Material; -import net.minecraft.src.NBTTagCompound; -import net.minecraft.src.TileEntity; -import net.minecraft.src.World; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; import universalelectricity.core.implement.IItemElectric; import universalelectricity.prefab.implement.IToolConfigurator; diff --git a/src/common/universalelectricity/prefab/ItemElectric.java b/src/minecraft/universalelectricity/prefab/ItemElectric.java similarity index 94% rename from src/common/universalelectricity/prefab/ItemElectric.java rename to src/minecraft/universalelectricity/prefab/ItemElectric.java index 6eb61a6a..feafe4ec 100644 --- a/src/common/universalelectricity/prefab/ItemElectric.java +++ b/src/minecraft/universalelectricity/prefab/ItemElectric.java @@ -2,14 +2,14 @@ package universalelectricity.prefab; import java.util.List; -import net.minecraft.src.CreativeTabs; -import net.minecraft.src.Entity; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.Item; -import net.minecraft.src.ItemStack; -import net.minecraft.src.NBTTagCompound; -import net.minecraft.src.NBTTagFloat; -import net.minecraft.src.World; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagFloat; +import net.minecraft.world.World; import universalelectricity.core.electricity.ElectricInfo; import universalelectricity.core.electricity.ElectricInfo.ElectricUnit; import universalelectricity.core.implement.IItemElectric; diff --git a/src/common/universalelectricity/prefab/RecipeHelper.java b/src/minecraft/universalelectricity/prefab/RecipeHelper.java similarity index 96% rename from src/common/universalelectricity/prefab/RecipeHelper.java rename to src/minecraft/universalelectricity/prefab/RecipeHelper.java index a93e676c..7471c1d8 100644 --- a/src/common/universalelectricity/prefab/RecipeHelper.java +++ b/src/minecraft/universalelectricity/prefab/RecipeHelper.java @@ -4,9 +4,9 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import net.minecraft.src.CraftingManager; -import net.minecraft.src.IRecipe; -import net.minecraft.src.ItemStack; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.CraftingManager; +import net.minecraft.item.crafting.IRecipe; import net.minecraftforge.common.Configuration; import cpw.mods.fml.common.registry.GameRegistry; diff --git a/src/common/universalelectricity/prefab/SlotElectricItem.java b/src/minecraft/universalelectricity/prefab/SlotElectricItem.java similarity index 84% rename from src/common/universalelectricity/prefab/SlotElectricItem.java rename to src/minecraft/universalelectricity/prefab/SlotElectricItem.java index 45956e2f..dc5d97c6 100644 --- a/src/common/universalelectricity/prefab/SlotElectricItem.java +++ b/src/minecraft/universalelectricity/prefab/SlotElectricItem.java @@ -1,8 +1,8 @@ package universalelectricity.prefab; -import net.minecraft.src.IInventory; -import net.minecraft.src.ItemStack; -import net.minecraft.src.Slot; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; import universalelectricity.core.implement.IItemElectric; /** diff --git a/src/common/universalelectricity/prefab/UEDamageSource.java b/src/minecraft/universalelectricity/prefab/UEDamageSource.java similarity index 97% rename from src/common/universalelectricity/prefab/UEDamageSource.java rename to src/minecraft/universalelectricity/prefab/UEDamageSource.java index 90ad5500..7d23d521 100644 --- a/src/common/universalelectricity/prefab/UEDamageSource.java +++ b/src/minecraft/universalelectricity/prefab/UEDamageSource.java @@ -3,7 +3,7 @@ package universalelectricity.prefab; import java.util.ArrayList; import java.util.List; -import net.minecraft.src.DamageSource; +import net.minecraft.util.DamageSource; import cpw.mods.fml.common.registry.LanguageRegistry; public class UEDamageSource extends DamageSource diff --git a/src/common/universalelectricity/prefab/UETab.java b/src/minecraft/universalelectricity/prefab/UETab.java similarity index 86% rename from src/common/universalelectricity/prefab/UETab.java rename to src/minecraft/universalelectricity/prefab/UETab.java index 1cf92eed..d48592cc 100644 --- a/src/common/universalelectricity/prefab/UETab.java +++ b/src/minecraft/universalelectricity/prefab/UETab.java @@ -1,8 +1,8 @@ package universalelectricity.prefab; -import net.minecraft.src.Block; -import net.minecraft.src.CreativeTabs; -import net.minecraft.src.ItemStack; +import net.minecraft.block.Block; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.ItemStack; import cpw.mods.fml.common.registry.LanguageRegistry; public class UETab extends CreativeTabs diff --git a/src/common/universalelectricity/prefab/UpdateNotifier.java b/src/minecraft/universalelectricity/prefab/UpdateNotifier.java similarity index 98% rename from src/common/universalelectricity/prefab/UpdateNotifier.java rename to src/minecraft/universalelectricity/prefab/UpdateNotifier.java index 1b8beaec..2d7b496c 100644 --- a/src/common/universalelectricity/prefab/UpdateNotifier.java +++ b/src/minecraft/universalelectricity/prefab/UpdateNotifier.java @@ -7,7 +7,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Map; -import net.minecraft.src.EntityPlayer; +import net.minecraft.entity.player.EntityPlayer; import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.common.IPlayerTracker; import cpw.mods.fml.common.registry.GameRegistry; diff --git a/src/common/universalelectricity/prefab/implement/IRedstoneProvider.java b/src/minecraft/universalelectricity/prefab/implement/IRedstoneProvider.java similarity index 100% rename from src/common/universalelectricity/prefab/implement/IRedstoneProvider.java rename to src/minecraft/universalelectricity/prefab/implement/IRedstoneProvider.java diff --git a/src/common/universalelectricity/prefab/implement/IRedstoneReceptor.java b/src/minecraft/universalelectricity/prefab/implement/IRedstoneReceptor.java similarity index 100% rename from src/common/universalelectricity/prefab/implement/IRedstoneReceptor.java rename to src/minecraft/universalelectricity/prefab/implement/IRedstoneReceptor.java diff --git a/src/common/universalelectricity/prefab/implement/IRotatable.java b/src/minecraft/universalelectricity/prefab/implement/IRotatable.java similarity index 100% rename from src/common/universalelectricity/prefab/implement/IRotatable.java rename to src/minecraft/universalelectricity/prefab/implement/IRotatable.java diff --git a/src/common/universalelectricity/prefab/implement/ITier.java b/src/minecraft/universalelectricity/prefab/implement/ITier.java similarity index 100% rename from src/common/universalelectricity/prefab/implement/ITier.java rename to src/minecraft/universalelectricity/prefab/implement/ITier.java diff --git a/src/common/universalelectricity/prefab/implement/IToolConfigurator.java b/src/minecraft/universalelectricity/prefab/implement/IToolConfigurator.java similarity index 95% rename from src/common/universalelectricity/prefab/implement/IToolConfigurator.java rename to src/minecraft/universalelectricity/prefab/implement/IToolConfigurator.java index 1932b16e..c12d47d0 100644 --- a/src/common/universalelectricity/prefab/implement/IToolConfigurator.java +++ b/src/minecraft/universalelectricity/prefab/implement/IToolConfigurator.java @@ -1,6 +1,6 @@ package universalelectricity.prefab.implement; -import net.minecraft.src.EntityPlayer; +import net.minecraft.entity.player.EntityPlayer; /** * Code written by Buildcraft. Applied to items that acts as a block configurator such as wrenches, diff --git a/src/common/universalelectricity/prefab/network/ConnectionHandler.java b/src/minecraft/universalelectricity/prefab/network/ConnectionHandler.java similarity index 92% rename from src/common/universalelectricity/prefab/network/ConnectionHandler.java rename to src/minecraft/universalelectricity/prefab/network/ConnectionHandler.java index c95f95ab..86ec30aa 100644 --- a/src/common/universalelectricity/prefab/network/ConnectionHandler.java +++ b/src/minecraft/universalelectricity/prefab/network/ConnectionHandler.java @@ -3,11 +3,11 @@ package universalelectricity.prefab.network; import java.util.ArrayList; import java.util.List; +import net.minecraft.network.INetworkManager; +import net.minecraft.network.NetLoginHandler; +import net.minecraft.network.packet.NetHandler; +import net.minecraft.network.packet.Packet1Login; import net.minecraft.server.MinecraftServer; -import net.minecraft.src.INetworkManager; -import net.minecraft.src.NetHandler; -import net.minecraft.src.NetLoginHandler; -import net.minecraft.src.Packet1Login; import cpw.mods.fml.common.network.IConnectionHandler; import cpw.mods.fml.common.network.Player; diff --git a/src/common/universalelectricity/prefab/network/IPacketReceiver.java b/src/minecraft/universalelectricity/prefab/network/IPacketReceiver.java similarity index 68% rename from src/common/universalelectricity/prefab/network/IPacketReceiver.java rename to src/minecraft/universalelectricity/prefab/network/IPacketReceiver.java index bf39ea4d..65f63833 100644 --- a/src/common/universalelectricity/prefab/network/IPacketReceiver.java +++ b/src/minecraft/universalelectricity/prefab/network/IPacketReceiver.java @@ -1,8 +1,8 @@ package universalelectricity.prefab.network; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.INetworkManager; -import net.minecraft.src.Packet250CustomPayload; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.network.INetworkManager; +import net.minecraft.network.packet.Packet250CustomPayload; import com.google.common.io.ByteArrayDataInput; diff --git a/src/common/universalelectricity/prefab/network/ISimpleConnectionHandler.java b/src/minecraft/universalelectricity/prefab/network/ISimpleConnectionHandler.java similarity index 100% rename from src/common/universalelectricity/prefab/network/ISimpleConnectionHandler.java rename to src/minecraft/universalelectricity/prefab/network/ISimpleConnectionHandler.java diff --git a/src/common/universalelectricity/prefab/network/PacketManager.java b/src/minecraft/universalelectricity/prefab/network/PacketManager.java similarity index 95% rename from src/common/universalelectricity/prefab/network/PacketManager.java rename to src/minecraft/universalelectricity/prefab/network/PacketManager.java index fbd66700..3227cc17 100644 --- a/src/common/universalelectricity/prefab/network/PacketManager.java +++ b/src/minecraft/universalelectricity/prefab/network/PacketManager.java @@ -4,12 +4,12 @@ import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; -import net.minecraft.src.EntityPlayer; -import net.minecraft.src.INetworkManager; -import net.minecraft.src.Packet; -import net.minecraft.src.Packet250CustomPayload; -import net.minecraft.src.TileEntity; -import net.minecraft.src.World; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.network.INetworkManager; +import net.minecraft.network.packet.Packet; +import net.minecraft.network.packet.Packet250CustomPayload; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; import universalelectricity.core.vector.Vector3; import com.google.common.io.ByteArrayDataInput; diff --git a/src/common/universalelectricity/prefab/tile/TileEntityAdvanced.java b/src/minecraft/universalelectricity/prefab/tile/TileEntityAdvanced.java similarity index 89% rename from src/common/universalelectricity/prefab/tile/TileEntityAdvanced.java rename to src/minecraft/universalelectricity/prefab/tile/TileEntityAdvanced.java index c005fa53..9a0c20b2 100644 --- a/src/common/universalelectricity/prefab/tile/TileEntityAdvanced.java +++ b/src/minecraft/universalelectricity/prefab/tile/TileEntityAdvanced.java @@ -1,7 +1,7 @@ package universalelectricity.prefab.tile; -import net.minecraft.src.Block; -import net.minecraft.src.TileEntity; +import net.minecraft.block.Block; +import net.minecraft.tileentity.TileEntity; /** * A TileEntity with some pre-added functionalities. @@ -32,7 +32,7 @@ public abstract class TileEntityAdvanced extends TileEntity /** * Called on the TileEntity's first tick. */ - protected void initiate() + public void initiate() { } diff --git a/src/minecraft/universalelectricity/prefab/tile/TileEntityConductor.java b/src/minecraft/universalelectricity/prefab/tile/TileEntityConductor.java new file mode 100644 index 00000000..e9f1d4e5 --- /dev/null +++ b/src/minecraft/universalelectricity/prefab/tile/TileEntityConductor.java @@ -0,0 +1,181 @@ +package universalelectricity.prefab.tile; + +import java.util.EnumSet; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.network.INetworkManager; +import net.minecraft.network.packet.Packet; +import net.minecraft.network.packet.Packet250CustomPayload; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.ForgeDirection; +import universalelectricity.core.electricity.Electricity; +import universalelectricity.core.electricity.ElectricityConnections; +import universalelectricity.core.electricity.ElectricityNetwork; +import universalelectricity.core.implement.IConductor; +import universalelectricity.core.vector.Vector3; +import universalelectricity.prefab.network.IPacketReceiver; +import universalelectricity.prefab.network.PacketManager; + +import com.google.common.io.ByteArrayDataInput; + +/** + * This tile entity pre-fabricated for all conductors. + * + * @author Calclavia + * + */ +public abstract class TileEntityConductor extends TileEntityAdvanced implements IConductor, IPacketReceiver +{ + private ElectricityNetwork network; + + /** + * Used client side to render. + */ + public boolean[] visuallyConnected = { false, false, false, false, false, false }; + + /** + * Stores information on the blocks that this conductor is connected to. + */ + public TileEntity[] connectedBlocks = { null, null, null, null, null, null }; + + protected String channel = ""; + + public TileEntityConductor() + { + ElectricityConnections.registerConnector(this, EnumSet.range(ForgeDirection.DOWN, ForgeDirection.EAST)); + this.reset(); + } + + @Override + public ElectricityNetwork getNetwork() + { + return this.network; + } + + @Override + public void setNetwork(ElectricityNetwork network) + { + this.network = network; + } + + @Override + public TileEntity[] getConnectedBlocks() + { + return this.connectedBlocks; + } + + @Override + public void updateConnection(TileEntity tileEntity, ForgeDirection side) + { + if (!this.worldObj.isRemote) + { + if (tileEntity != null) + { + if (ElectricityConnections.canConnect(tileEntity, side.getOpposite())) + { + this.connectedBlocks[side.ordinal()] = tileEntity; + this.visuallyConnected[side.ordinal()] = true; + + if (tileEntity.getClass() == this.getClass()) + { + Electricity.instance.mergeConnection(this.getNetwork(), ((IConductor) tileEntity).getNetwork()); + } + + return; + } + } + + if (this.connectedBlocks[side.ordinal()] != null) + { + if (this.connectedBlocks[side.ordinal()] instanceof IConductor) + { + Electricity.instance.splitConnection(this, (IConductor) this.getConnectedBlocks()[side.ordinal()]); + } + } + + this.connectedBlocks[side.ordinal()] = null; + this.visuallyConnected[side.ordinal()] = false; + } + } + + @Override + public void updateConnectionWithoutSplit(TileEntity tileEntity, ForgeDirection side) + { + if (!this.worldObj.isRemote) + { + if (tileEntity != null) + { + if (ElectricityConnections.canConnect(tileEntity, side.getOpposite())) + { + this.connectedBlocks[side.ordinal()] = tileEntity; + this.visuallyConnected[side.ordinal()] = true; + + if (tileEntity.getClass() == this.getClass()) + { + Electricity.instance.mergeConnection(this.getNetwork(), ((IConductor) tileEntity).getNetwork()); + } + + return; + } + } + + this.connectedBlocks[side.ordinal()] = null; + this.visuallyConnected[side.ordinal()] = false; + } + } + + @Override + public void handlePacketData(INetworkManager network, int type, Packet250CustomPayload packet, EntityPlayer player, ByteArrayDataInput dataStream) + { + if (this.worldObj.isRemote) + { + this.visuallyConnected[0] = dataStream.readBoolean(); + this.visuallyConnected[1] = dataStream.readBoolean(); + this.visuallyConnected[2] = dataStream.readBoolean(); + this.visuallyConnected[3] = dataStream.readBoolean(); + this.visuallyConnected[4] = dataStream.readBoolean(); + this.visuallyConnected[5] = dataStream.readBoolean(); + } + } + + @Override + public void initiate() + { + this.refreshConnectedBlocks(); + } + + @Override + public void reset() + { + this.network = null; + + if (Electricity.instance != null) + { + Electricity.instance.registerConductor(this); + } + } + + @Override + public void refreshConnectedBlocks() + { + if (this.worldObj != null) + { + if (!this.worldObj.isRemote) + { + for (byte i = 0; i < 6; i++) + { + this.updateConnection(Vector3.getConnectorFromSide(this.worldObj, new Vector3(this), ForgeDirection.getOrientation(i)), ForgeDirection.getOrientation(i)); + } + + this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord); + } + + } + } + + @Override + public Packet getDescriptionPacket() + { + return PacketManager.getPacket(this.channel, this, this.visuallyConnected[0], this.visuallyConnected[1], this.visuallyConnected[2], this.visuallyConnected[3], this.visuallyConnected[4], this.visuallyConnected[5]); + } +} diff --git a/src/common/universalelectricity/prefab/tile/TileEntityDisableable.java b/src/minecraft/universalelectricity/prefab/tile/TileEntityDisableable.java similarity index 100% rename from src/common/universalelectricity/prefab/tile/TileEntityDisableable.java rename to src/minecraft/universalelectricity/prefab/tile/TileEntityDisableable.java diff --git a/src/common/universalelectricity/prefab/tile/TileEntityElectricityProducer.java b/src/minecraft/universalelectricity/prefab/tile/TileEntityElectricityProducer.java similarity index 100% rename from src/common/universalelectricity/prefab/tile/TileEntityElectricityProducer.java rename to src/minecraft/universalelectricity/prefab/tile/TileEntityElectricityProducer.java diff --git a/src/common/universalelectricity/prefab/tile/TileEntityElectricityReceiver.java b/src/minecraft/universalelectricity/prefab/tile/TileEntityElectricityReceiver.java similarity index 99% rename from src/common/universalelectricity/prefab/tile/TileEntityElectricityReceiver.java rename to src/minecraft/universalelectricity/prefab/tile/TileEntityElectricityReceiver.java index 04482d22..14060e41 100644 --- a/src/common/universalelectricity/prefab/tile/TileEntityElectricityReceiver.java +++ b/src/minecraft/universalelectricity/prefab/tile/TileEntityElectricityReceiver.java @@ -25,7 +25,7 @@ public abstract class TileEntityElectricityReceiver extends TileEntityDisableabl { super.updateEntity(); } - + @Override public double getVoltage() { diff --git a/src/common/universalelectricity/prefab/vector/Region2.java b/src/minecraft/universalelectricity/prefab/vector/Region2.java similarity index 100% rename from src/common/universalelectricity/prefab/vector/Region2.java rename to src/minecraft/universalelectricity/prefab/vector/Region2.java diff --git a/src/common/universalelectricity/prefab/vector/Region3.java b/src/minecraft/universalelectricity/prefab/vector/Region3.java similarity index 96% rename from src/common/universalelectricity/prefab/vector/Region3.java rename to src/minecraft/universalelectricity/prefab/vector/Region3.java index 8ee10851..665f4975 100644 --- a/src/common/universalelectricity/prefab/vector/Region3.java +++ b/src/minecraft/universalelectricity/prefab/vector/Region3.java @@ -3,9 +3,9 @@ package universalelectricity.prefab.vector; import java.util.ArrayList; import java.util.List; -import net.minecraft.src.AxisAlignedBB; -import net.minecraft.src.Entity; -import net.minecraft.src.World; +import net.minecraft.entity.Entity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; import universalelectricity.core.vector.Vector3; /**