Added turbine creative builder and tweaked wind turbine attributes

This commit is contained in:
Calclavia 2014-02-27 19:11:24 +08:00
parent 2892fd9b9b
commit 4d2e7a10f6
31 changed files with 159 additions and 55 deletions

View file

@ -27,7 +27,7 @@ public class TileGenerator extends TileElectrical implements IRotatable
public TileGenerator() public TileGenerator()
{ {
energy = new EnergyStorageHandler(100000); energy = new EnergyStorageHandler(1000000);
} }
public byte toggleGearRatio() public byte toggleGearRatio()
@ -63,12 +63,12 @@ public class TileGenerator extends TileElectrical implements IRotatable
if (mech != null) if (mech != null)
{ {
long receive = energy.receiveEnergy((long) Math.abs(mech.getTorque() * mech.getAngularVelocity()), true); long power = (long) Math.abs(mech.getTorque() * mech.getAngularVelocity());
long receive = energy.receiveEnergy(power, true);
if (receive > 0) if (receive > 0)
{ {
double percentageUsed = (double) receive / ((double) mech.getTorque() * (double) mech.getAngularVelocity()); double percentageUsed = (double) receive / (double) power;
// TODO: Make sure this calculation/decrease is correct!
mech.setTorque((long) (mech.getTorque() - (mech.getTorque() * percentageUsed))); mech.setTorque((long) (mech.getTorque() - (mech.getTorque() * percentageUsed)));
mech.setAngularVelocity((float) (mech.getAngularVelocity() - (mech.getAngularVelocity() * percentageUsed))); mech.setAngularVelocity((float) (mech.getAngularVelocity() - (mech.getAngularVelocity() * percentageUsed)));
} }
@ -90,7 +90,7 @@ public class TileGenerator extends TileElectrical implements IRotatable
{ {
if (extract > 0) if (extract > 0)
{ {
long torqueRatio = (long) ((gearRatio + 1) / 5d * (extract)); long torqueRatio = (long) ((gearRatio + 1) / 4d * (extract));
final float maxAngularVelocity = extract / (float) torqueRatio; final float maxAngularVelocity = extract / (float) torqueRatio;

View file

@ -1,10 +1,10 @@
package resonantinduction.mechanical; package resonantinduction.mechanical;
import net.minecraftforge.client.MinecraftForgeClient; import net.minecraftforge.client.MinecraftForgeClient;
import resonantinduction.mechanical.energy.gear.RenderGear;
import resonantinduction.mechanical.energy.gear.RenderGearShaft;
import resonantinduction.mechanical.fluid.pipe.RenderPipe; import resonantinduction.mechanical.fluid.pipe.RenderPipe;
import resonantinduction.mechanical.fluid.tank.ItemTankRenderer; import resonantinduction.mechanical.fluid.tank.ItemTankRenderer;
import resonantinduction.mechanical.gear.RenderGear;
import resonantinduction.mechanical.gear.RenderGearShaft;
import calclavia.lib.render.item.GlobalItemRenderer; import calclavia.lib.render.item.GlobalItemRenderer;
public class ClientProxy extends CommonProxy public class ClientProxy extends CommonProxy

View file

@ -13,6 +13,15 @@ import resonantinduction.core.Settings;
import resonantinduction.core.TabRI; import resonantinduction.core.TabRI;
import resonantinduction.mechanical.belt.BlockConveyorBelt; import resonantinduction.mechanical.belt.BlockConveyorBelt;
import resonantinduction.mechanical.belt.TileConveyorBelt; import resonantinduction.mechanical.belt.TileConveyorBelt;
import resonantinduction.mechanical.energy.gear.ItemGear;
import resonantinduction.mechanical.energy.gear.ItemGearShaft;
import resonantinduction.mechanical.energy.network.PacketNetwork;
import resonantinduction.mechanical.energy.turbine.BlockWaterTurbine;
import resonantinduction.mechanical.energy.turbine.BlockWindTurbine;
import resonantinduction.mechanical.energy.turbine.SchematicWaterTurbine;
import resonantinduction.mechanical.energy.turbine.SchematicWindTurbine;
import resonantinduction.mechanical.energy.turbine.TileWaterTurbine;
import resonantinduction.mechanical.energy.turbine.TileWindTurbine;
import resonantinduction.mechanical.fluid.pipe.ItemBlockFluidContainer; import resonantinduction.mechanical.fluid.pipe.ItemBlockFluidContainer;
import resonantinduction.mechanical.fluid.pipe.ItemPipe; import resonantinduction.mechanical.fluid.pipe.ItemPipe;
import resonantinduction.mechanical.fluid.tank.BlockTank; import resonantinduction.mechanical.fluid.tank.BlockTank;
@ -21,15 +30,12 @@ import resonantinduction.mechanical.fluid.transport.BlockGrate;
import resonantinduction.mechanical.fluid.transport.BlockPump; import resonantinduction.mechanical.fluid.transport.BlockPump;
import resonantinduction.mechanical.fluid.transport.TileGrate; import resonantinduction.mechanical.fluid.transport.TileGrate;
import resonantinduction.mechanical.fluid.transport.TilePump; import resonantinduction.mechanical.fluid.transport.TilePump;
import resonantinduction.mechanical.gear.ItemGear;
import resonantinduction.mechanical.gear.ItemGearShaft;
import resonantinduction.mechanical.logistic.belt.BlockDetector; import resonantinduction.mechanical.logistic.belt.BlockDetector;
import resonantinduction.mechanical.logistic.belt.BlockManipulator; import resonantinduction.mechanical.logistic.belt.BlockManipulator;
import resonantinduction.mechanical.logistic.belt.BlockRejector; import resonantinduction.mechanical.logistic.belt.BlockRejector;
import resonantinduction.mechanical.logistic.belt.TileDetector; import resonantinduction.mechanical.logistic.belt.TileDetector;
import resonantinduction.mechanical.logistic.belt.TileManipulator; import resonantinduction.mechanical.logistic.belt.TileManipulator;
import resonantinduction.mechanical.logistic.belt.TileRejector; import resonantinduction.mechanical.logistic.belt.TileRejector;
import resonantinduction.mechanical.network.PacketNetwork;
import resonantinduction.mechanical.process.BlockFilter; import resonantinduction.mechanical.process.BlockFilter;
import resonantinduction.mechanical.process.TileFilter; import resonantinduction.mechanical.process.TileFilter;
import resonantinduction.mechanical.process.crusher.BlockMechanicalPiston; import resonantinduction.mechanical.process.crusher.BlockMechanicalPiston;
@ -38,13 +44,11 @@ import resonantinduction.mechanical.process.grinder.BlockGrindingWheel;
import resonantinduction.mechanical.process.grinder.TileGrinderWheel; import resonantinduction.mechanical.process.grinder.TileGrinderWheel;
import resonantinduction.mechanical.process.purifier.BlockMixer; import resonantinduction.mechanical.process.purifier.BlockMixer;
import resonantinduction.mechanical.process.purifier.TileMixer; import resonantinduction.mechanical.process.purifier.TileMixer;
import resonantinduction.mechanical.turbine.BlockWaterTurbine; import calclavia.components.creative.BlockCreativeBuilder;
import resonantinduction.mechanical.turbine.BlockWindTurbine;
import resonantinduction.mechanical.turbine.TileWaterTurbine;
import resonantinduction.mechanical.turbine.TileWindTurbine;
import calclavia.lib.content.ContentRegistry; import calclavia.lib.content.ContentRegistry;
import calclavia.lib.network.PacketAnnotation; import calclavia.lib.network.PacketAnnotation;
import calclavia.lib.network.PacketHandler; import calclavia.lib.network.PacketHandler;
import calclavia.lib.prefab.item.ItemBlockMetadata;
import calclavia.lib.recipe.UniversalRecipe; import calclavia.lib.recipe.UniversalRecipe;
import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.EventHandler;
@ -85,8 +89,8 @@ public class Mechanical
// Energy // Energy
public static Item itemGear; public static Item itemGear;
public static Item itemGearShaft; public static Item itemGearShaft;
public static Block windTurbine; public static Block blockWindTurbine;
public static Block waterTurbine; public static Block blockWaterTurbine;
// Transport // Transport
public static Block blockConveyorBelt; public static Block blockConveyorBelt;
@ -115,11 +119,13 @@ public class Mechanical
Settings.load(); Settings.load();
NetworkRegistry.instance().registerGuiHandler(this, proxy); NetworkRegistry.instance().registerGuiHandler(this, proxy);
MinecraftForge.EVENT_BUS.register(new MicroblockHighlightHandler()); MinecraftForge.EVENT_BUS.register(new MicroblockHighlightHandler());
BlockCreativeBuilder.register(new SchematicWindTurbine());
BlockCreativeBuilder.register(new SchematicWaterTurbine());
itemGear = contentRegistry.createItem(ItemGear.class); itemGear = contentRegistry.createItem(ItemGear.class);
itemGearShaft = contentRegistry.createItem(ItemGearShaft.class); itemGearShaft = contentRegistry.createItem(ItemGearShaft.class);
windTurbine = contentRegistry.createTile(BlockWindTurbine.class, TileWindTurbine.class); blockWindTurbine = contentRegistry.createBlock(BlockWindTurbine.class, ItemBlockMetadata.class, TileWindTurbine.class);
waterTurbine = contentRegistry.createTile(BlockWaterTurbine.class, TileWaterTurbine.class); blockWaterTurbine = contentRegistry.createBlock(BlockWaterTurbine.class, ItemBlockMetadata.class, TileWaterTurbine.class);
blockConveyorBelt = contentRegistry.createTile(BlockConveyorBelt.class, TileConveyorBelt.class); blockConveyorBelt = contentRegistry.createTile(BlockConveyorBelt.class, TileConveyorBelt.class);
blockManipulator = contentRegistry.createTile(BlockManipulator.class, TileManipulator.class); blockManipulator = contentRegistry.createTile(BlockManipulator.class, TileManipulator.class);
@ -171,8 +177,8 @@ public class Mechanical
GameRegistry.addRecipe(new ShapedOreRecipe(blockDetector, "SWS", "SRS", "SWS", 'S', Item.ingotIron, 'W', UniversalRecipe.WIRE.get())); GameRegistry.addRecipe(new ShapedOreRecipe(blockDetector, "SWS", "SRS", "SWS", 'S', Item.ingotIron, 'W', UniversalRecipe.WIRE.get()));
GameRegistry.addRecipe(new ShapedOreRecipe(blockRejector, "S S", "SPS", "SRS", 'P', Block.pistonBase, 'S', Item.ingotIron, 'R', Item.redstone)); GameRegistry.addRecipe(new ShapedOreRecipe(blockRejector, "S S", "SPS", "SRS", 'P', Block.pistonBase, 'S', Item.ingotIron, 'R', Item.redstone));
GameRegistry.addRecipe(new ShapedOreRecipe(windTurbine, "CWC", "WGW", "CWC", 'G', itemGear, 'C', Block.cloth, 'W', "plankWood")); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blockWindTurbine, 1, 0), "CWC", "WGW", "CWC", 'G', itemGear, 'C', Block.cloth, 'W', "plankWood"));
GameRegistry.addRecipe(new ShapedOreRecipe(waterTurbine, " W ", "WGW", " W ", 'G', itemGear, 'W', UniversalRecipe.PRIMARY_METAL.get())); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blockWaterTurbine, 1, 0), " W ", "WGW", " W ", 'G', itemGear, 'W', UniversalRecipe.PRIMARY_METAL.get()));
GameRegistry.addRecipe(new ShapedOreRecipe(blockTank, "GGG", "GSG", "GGG", 'G', Block.glass, 'S', Item.ingotIron)); GameRegistry.addRecipe(new ShapedOreRecipe(blockTank, "GGG", "GSG", "GGG", 'G', Block.glass, 'S', Item.ingotIron));
GameRegistry.addRecipe(new ShapedOreRecipe(blockGrate, "BBB", "B B", "BBB", 'B', Block.fenceIron)); GameRegistry.addRecipe(new ShapedOreRecipe(blockGrate, "BBB", "B B", "BBB", 'B', Block.fenceIron));

View file

@ -1,8 +1,8 @@
package resonantinduction.mechanical; package resonantinduction.mechanical;
import resonantinduction.mechanical.energy.gear.PartGear;
import resonantinduction.mechanical.energy.gear.PartGearShaft;
import resonantinduction.mechanical.fluid.pipe.PartPipe; import resonantinduction.mechanical.fluid.pipe.PartPipe;
import resonantinduction.mechanical.gear.PartGear;
import resonantinduction.mechanical.gear.PartGearShaft;
import codechicken.multipart.MultiPartRegistry; import codechicken.multipart.MultiPartRegistry;
import codechicken.multipart.MultiPartRegistry.IPartFactory; import codechicken.multipart.MultiPartRegistry.IPartFactory;
import codechicken.multipart.MultipartGenerator; import codechicken.multipart.MultipartGenerator;

View file

@ -16,7 +16,7 @@ import resonantinduction.api.mechanical.IMechanical;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.ResonantInduction; import resonantinduction.core.ResonantInduction;
import resonantinduction.mechanical.Mechanical; import resonantinduction.mechanical.Mechanical;
import resonantinduction.mechanical.network.TileMechanical; import resonantinduction.mechanical.energy.network.TileMechanical;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
import calclavia.lib.prefab.tile.IRotatable; import calclavia.lib.prefab.tile.IRotatable;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.gear; package resonantinduction.mechanical.energy.gear;
import java.util.HashMap; import java.util.HashMap;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.gear; package resonantinduction.mechanical.energy.gear;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.gear; package resonantinduction.mechanical.energy.gear;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.gear; package resonantinduction.mechanical.energy.gear;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.gear; package resonantinduction.mechanical.energy.gear;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
import java.util.Arrays; import java.util.Arrays;
@ -16,7 +16,7 @@ import resonantinduction.api.mechanical.IMechanical;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.resource.ItemHandCrank; import resonantinduction.core.resource.ItemHandCrank;
import resonantinduction.mechanical.Mechanical; import resonantinduction.mechanical.Mechanical;
import resonantinduction.mechanical.network.PartMechanical; import resonantinduction.mechanical.energy.network.PartMechanical;
import calclavia.lib.multiblock.reference.IMultiBlockStructure; import calclavia.lib.multiblock.reference.IMultiBlockStructure;
import calclavia.lib.multiblock.reference.MultiBlockHandler; import calclavia.lib.multiblock.reference.MultiBlockHandler;
import calclavia.lib.utility.WrenchUtility; import calclavia.lib.utility.WrenchUtility;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.gear; package resonantinduction.mechanical.energy.gear;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
import java.util.Collection; import java.util.Collection;
@ -10,7 +10,7 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import resonantinduction.api.mechanical.IMechanical; import resonantinduction.api.mechanical.IMechanical;
import resonantinduction.mechanical.Mechanical; import resonantinduction.mechanical.Mechanical;
import resonantinduction.mechanical.network.PartMechanical; import resonantinduction.mechanical.energy.network.PartMechanical;
import codechicken.lib.raytracer.IndexedCuboid6; import codechicken.lib.raytracer.IndexedCuboid6;
import codechicken.lib.vec.Cuboid6; import codechicken.lib.vec.Cuboid6;
import codechicken.lib.vec.Vector3; import codechicken.lib.vec.Vector3;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.gear; package resonantinduction.mechanical.energy.gear;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.client.model.AdvancedModelLoader; import net.minecraftforge.client.model.AdvancedModelLoader;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.gear; package resonantinduction.mechanical.energy.gear;
import static org.lwjgl.opengl.GL11.glRotatef; import static org.lwjgl.opengl.GL11.glRotatef;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.network; package resonantinduction.mechanical.energy.network;
import java.util.EnumSet; import java.util.EnumSet;
import java.util.HashMap; import java.util.HashMap;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.network; package resonantinduction.mechanical.energy.network;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.network; package resonantinduction.mechanical.energy.network;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
import java.util.ArrayList; import java.util.ArrayList;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.network; package resonantinduction.mechanical.energy.network;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
@ -8,7 +8,7 @@ import resonantinduction.api.mechanical.IMechanical;
import resonantinduction.api.mechanical.IMechanicalNetwork; import resonantinduction.api.mechanical.IMechanicalNetwork;
import resonantinduction.core.ResonantInduction; import resonantinduction.core.ResonantInduction;
import resonantinduction.mechanical.Mechanical; import resonantinduction.mechanical.Mechanical;
import resonantinduction.mechanical.gear.PartGearShaft; import resonantinduction.mechanical.energy.gear.PartGearShaft;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
import calclavia.lib.network.IPacketReceiver; import calclavia.lib.network.IPacketReceiver;
import calclavia.lib.network.PacketHandler; import calclavia.lib.network.PacketHandler;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.turbine; package resonantinduction.mechanical.energy.turbine;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.turbine; package resonantinduction.mechanical.energy.turbine;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.turbine; package resonantinduction.mechanical.energy.turbine;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.turbine; package resonantinduction.mechanical.energy.turbine;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
@ -44,14 +44,14 @@ public class RenderWindTurbine extends TileEntitySpecialRenderer
if (tile.getMultiBlock().isConstructed()) if (tile.getMultiBlock().isConstructed())
{ {
GL11.glScalef(0.3f, 1, 0.3f); GL11.glScalef(0.3f, 1, 0.3f);
GL11.glScalef(tile.multiBlockRadius * 2 + 1, 1, tile.multiBlockRadius * 2 + 1); GL11.glScalef(tile.multiBlockRadius * 2 + 1, Math.min(tile.multiBlockRadius, 2), tile.multiBlockRadius * 2 + 1);
RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "planks_oak.png"); RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "planks_oak.png");
MODEL.renderOnly("LargeBladeArm"); MODEL.renderOnly("LargeBladeArm");
RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "wool_colored_white.png"); RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "wool_colored_white.png");
MODEL.renderOnly("LargeBlade"); MODEL.renderOnly("LargeBlade");
RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "cobblestone.png"); RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "cobblestone.png");
GL11.glScalef(1f, 2f, 1f); GL11.glScalef(1f, 2f, 1f);
GL11.glTranslatef(0, -0.08f, 0); GL11.glTranslatef(0, -0.05f, 0);
MODEL.renderOnly("LargeHub"); MODEL.renderOnly("LargeHub");
} }
else else

View file

@ -0,0 +1,44 @@
package resonantinduction.mechanical.energy.turbine;
import java.util.HashMap;
import net.minecraftforge.common.ForgeDirection;
import resonantinduction.mechanical.Mechanical;
import universalelectricity.api.vector.Vector3;
import calclavia.lib.schematic.Schematic;
import com.builtbroken.common.Pair;
public class SchematicWaterTurbine extends Schematic
{
@Override
public String getName()
{
return "schematic.waterTurbine.name";
}
@Override
public HashMap<Vector3, Pair<Integer, Integer>> getStructure(ForgeDirection dir, int size)
{
HashMap<Vector3, Pair<Integer, Integer>> returnMap = new HashMap<Vector3, Pair<Integer, Integer>>();
int r = size;
for (int x = -r; x <= r; x++)
{
for (int y = -r; y <= r; y++)
{
for (int z = -r; z <= r; z++)
{
if ((dir.offsetX != 0 && x == 0) || (dir.offsetY != 0 && y == 0) || (dir.offsetZ != 0 && z == 0))
{
Vector3 targetPosition = new Vector3(x, y, z);
returnMap.put(targetPosition, new Pair(Mechanical.blockWaterTurbine.blockID, dir.ordinal()));
}
}
}
}
return returnMap;
}
}

View file

@ -0,0 +1,44 @@
package resonantinduction.mechanical.energy.turbine;
import java.util.HashMap;
import net.minecraftforge.common.ForgeDirection;
import resonantinduction.mechanical.Mechanical;
import universalelectricity.api.vector.Vector3;
import calclavia.lib.schematic.Schematic;
import com.builtbroken.common.Pair;
public class SchematicWindTurbine extends Schematic
{
@Override
public String getName()
{
return "schematic.windTurbine.name";
}
@Override
public HashMap<Vector3, Pair<Integer, Integer>> getStructure(ForgeDirection dir, int size)
{
HashMap<Vector3, Pair<Integer, Integer>> returnMap = new HashMap<Vector3, Pair<Integer, Integer>>();
int r = size;
for (int x = -r; x <= r; x++)
{
for (int y = -r; y <= r; y++)
{
for (int z = -r; z <= r; z++)
{
if ((dir.offsetX != 0 && x == 0) || (dir.offsetY != 0 && y == 0) || (dir.offsetZ != 0 && z == 0))
{
Vector3 targetPosition = new Vector3(x, y, z);
returnMap.put(targetPosition, new Pair(Mechanical.blockWindTurbine.blockID, dir.ordinal()));
}
}
}
}
return returnMap;
}
}

View file

@ -1,15 +1,21 @@
package resonantinduction.mechanical.turbine; package resonantinduction.mechanical.energy.turbine;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import resonantinduction.api.mechanical.IMechanical; import resonantinduction.api.mechanical.IMechanical;
import resonantinduction.api.mechanical.IMechanicalNetwork; import resonantinduction.api.mechanical.IMechanicalNetwork;
import resonantinduction.mechanical.network.MechanicalNetwork; import resonantinduction.mechanical.energy.network.MechanicalNetwork;
import universalelectricity.api.energy.EnergyStorageHandler;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
import calclavia.lib.prefab.turbine.TileTurbine; import calclavia.lib.prefab.turbine.TileTurbine;
public class TileMechanicalTurbine extends TileTurbine implements IMechanical public class TileMechanicalTurbine extends TileTurbine implements IMechanical
{ {
public TileMechanicalTurbine()
{
super();
energy = new EnergyStorageHandler(0);
}
/** /**
* Mechanical Methods * Mechanical Methods

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.turbine; package resonantinduction.mechanical.energy.turbine;
import java.lang.reflect.Method; import java.lang.reflect.Method;

View file

@ -1,4 +1,4 @@
package resonantinduction.mechanical.turbine; package resonantinduction.mechanical.energy.turbine;
import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.biome.BiomeGenOcean; import net.minecraft.world.biome.BiomeGenOcean;
@ -37,7 +37,7 @@ public class TileWindTurbine extends TileMechanicalTurbine
} }
if (getMultiBlock().isConstructed()) if (getMultiBlock().isConstructed())
torque = (long) (defaultTorque / (9f / multiBlockRadius)); torque = (long) (defaultTorque / (2.5f / multiBlockRadius));
else else
torque = defaultTorque / 12; torque = defaultTorque / 12;
@ -52,6 +52,6 @@ public class TileWindTurbine extends TileMechanicalTurbine
if (!worldObj.canBlockSeeTheSky(xCoord, yCoord + 4, zCoord)) if (!worldObj.canBlockSeeTheSky(xCoord, yCoord + 4, zCoord))
return 0; return 0;
return (long) (((((float) yCoord + 4) / 256) * maxPower) * (hasBonus ? 2 : 1)) * (worldObj.isRaining() ? 2 : 1); return (long) (((((float) yCoord + 4) / 256) * maxPower) * (hasBonus ? 2 : 1) * (worldObj.isRaining() ? 1.5 : 1));
} }
} }

View file

@ -8,7 +8,7 @@ import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.fluids.IFluidHandler; import net.minecraftforge.fluids.IFluidHandler;
import resonantinduction.api.mechanical.fluid.IFluidPipe; import resonantinduction.api.mechanical.fluid.IFluidPipe;
import resonantinduction.api.mechanical.fluid.IPressure; import resonantinduction.api.mechanical.fluid.IPressure;
import resonantinduction.mechanical.network.TileMechanical; import resonantinduction.mechanical.energy.network.TileMechanical;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
import calclavia.lib.prefab.tile.IRotatable; import calclavia.lib.prefab.tile.IRotatable;

View file

@ -7,7 +7,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import resonantinduction.mechanical.network.TileMechanical; import resonantinduction.mechanical.energy.network.TileMechanical;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
import calclavia.lib.utility.MovementUtility; import calclavia.lib.utility.MovementUtility;
import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Loader;

View file

@ -13,7 +13,7 @@ import resonantinduction.api.recipe.MachineRecipes.RecipeType;
import resonantinduction.api.recipe.RecipeResource; import resonantinduction.api.recipe.RecipeResource;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.ResonantInduction; import resonantinduction.core.ResonantInduction;
import resonantinduction.mechanical.network.TileMechanical; import resonantinduction.mechanical.energy.network.TileMechanical;
import resonantinduction.mechanical.process.Timer; import resonantinduction.mechanical.process.Timer;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;
import calclavia.lib.prefab.tile.IRotatable; import calclavia.lib.prefab.tile.IRotatable;

View file

@ -18,7 +18,7 @@ import resonantinduction.api.recipe.MachineRecipes.RecipeType;
import resonantinduction.core.Reference; import resonantinduction.core.Reference;
import resonantinduction.core.resource.ResourceGenerator; import resonantinduction.core.resource.ResourceGenerator;
import resonantinduction.core.resource.fluid.BlockFluidMixture; import resonantinduction.core.resource.fluid.BlockFluidMixture;
import resonantinduction.mechanical.network.TileMechanical; import resonantinduction.mechanical.energy.network.TileMechanical;
import resonantinduction.mechanical.process.Timer; import resonantinduction.mechanical.process.Timer;
import universalelectricity.api.vector.Vector3; import universalelectricity.api.vector.Vector3;

View file

@ -11,6 +11,10 @@ meta.resonantinduction.credits=Visit website for credits.
fluid.mixture=Mixture fluid.mixture=Mixture
toolmode.link.name=Linking toolmode.link.name=Linking
### Schematics
schematic.windTurbine.name=Wind Turbine
schematic.waterTurbine.name=Water Turbine
### Core ### Core
misc.resonantinduction.ingot=Ingot misc.resonantinduction.ingot=Ingot
item.resonantinduction\:ingot.name=%v Ingot item.resonantinduction\:ingot.name=%v Ingot