Added stone and metal wind turbines
This commit is contained in:
parent
6c5f2f5ecb
commit
b8e1661a84
8 changed files with 219 additions and 124 deletions
|
@ -83,16 +83,16 @@ public class PartGear extends PartMechanical implements IMechanical, IMultiBlock
|
||||||
switch (tier)
|
switch (tier)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
torque *= 0.97f;
|
torque *= 0.96f;
|
||||||
angularVelocity *= 0.98f;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
torque *= 0.98f;
|
|
||||||
angularVelocity *= 0.97f;
|
angularVelocity *= 0.97f;
|
||||||
break;
|
break;
|
||||||
|
case 1:
|
||||||
|
torque *= 0.97f;
|
||||||
|
angularVelocity *= 0.96f;
|
||||||
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
torque *= 0.99f;
|
torque *= 0.98f;
|
||||||
angularVelocity *= 0.99f;
|
angularVelocity *= 0.98f;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,8 +99,8 @@ public abstract class TileMechanical extends TileAdvanced implements IMechanical
|
||||||
@Override
|
@Override
|
||||||
public void invalidate()
|
public void invalidate()
|
||||||
{
|
{
|
||||||
super.invalidate();
|
|
||||||
getNetwork().split(this);
|
getNetwork().split(this);
|
||||||
|
super.invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected float getLoad()
|
protected float getLoad()
|
||||||
|
|
|
@ -0,0 +1,112 @@
|
||||||
|
package resonantinduction.mechanical.energy.turbine;
|
||||||
|
|
||||||
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import resonantinduction.core.Reference;
|
||||||
|
import calclavia.lib.prefab.turbine.BlockTurbine;
|
||||||
|
import calclavia.lib.prefab.turbine.TileTurbine;
|
||||||
|
|
||||||
|
public class BlockMechanicalTurbine extends BlockTurbine
|
||||||
|
{
|
||||||
|
public BlockMechanicalTurbine(int id)
|
||||||
|
{
|
||||||
|
super(id, Material.iron);
|
||||||
|
setTextureName(Reference.PREFIX + "material_wood_surface");
|
||||||
|
rotationMask = Byte.parseByte("111111", 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entityLiving, ItemStack itemStack)
|
||||||
|
{
|
||||||
|
super.onBlockPlacedBy(world, x, y, z, entityLiving, itemStack);
|
||||||
|
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
||||||
|
|
||||||
|
if (tileEntity instanceof TileMechanicalTurbine)
|
||||||
|
{
|
||||||
|
((TileMechanicalTurbine) tileEntity).tier = itemStack.getItemDamage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onUseWrench(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
|
||||||
|
{
|
||||||
|
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
||||||
|
|
||||||
|
if (tileEntity instanceof TileTurbine)
|
||||||
|
{
|
||||||
|
if (!world.isRemote)
|
||||||
|
{
|
||||||
|
return ((TileTurbine) tileEntity).getMultiBlock().toggleConstruct();
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onMachineActivated(World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float hitX, float hitY, float hitZ)
|
||||||
|
{
|
||||||
|
if (entityPlayer.getCurrentEquippedItem() == null)
|
||||||
|
{
|
||||||
|
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
||||||
|
|
||||||
|
if (tileEntity instanceof TileTurbine)
|
||||||
|
{
|
||||||
|
if (!world.isRemote && !((TileTurbine) tileEntity).getMultiBlock().isConstructed())
|
||||||
|
{
|
||||||
|
((TileTurbine) tileEntity).multiBlockRadius = Math.max(((TileTurbine) tileEntity).multiBlockRadius + 1, 1);
|
||||||
|
entityPlayer.addChatMessage("Turbine radius: " + ((TileTurbine) tileEntity).multiBlockRadius);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onSneakMachineActivated(World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float hitX, float hitY, float hitZ)
|
||||||
|
{
|
||||||
|
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
||||||
|
|
||||||
|
if (tileEntity instanceof TileTurbine)
|
||||||
|
{
|
||||||
|
if (!world.isRemote && !((TileTurbine) tileEntity).getMultiBlock().isConstructed())
|
||||||
|
{
|
||||||
|
((TileTurbine) tileEntity).multiBlockRadius = Math.max(((TileTurbine) tileEntity).multiBlockRadius - 1, 1);
|
||||||
|
entityPlayer.addChatMessage("Turbine radius: " + ((TileTurbine) tileEntity).multiBlockRadius);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onSneakUseWrench(World world, int x, int y, int z, EntityPlayer par5EntityPlayer, int side, float hitX, float hitY, float hitZ)
|
||||||
|
{
|
||||||
|
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
||||||
|
|
||||||
|
if (tileEntity instanceof TileTurbine)
|
||||||
|
{
|
||||||
|
if (!world.isRemote && !((TileTurbine) tileEntity).getMultiBlock().isConstructed())
|
||||||
|
{
|
||||||
|
if (side == ((TileTurbine) tileEntity).getDirection().ordinal())
|
||||||
|
world.setBlockMetadataWithNotify(x, y, z, side ^ 1, 3);
|
||||||
|
else
|
||||||
|
world.setBlockMetadataWithNotify(x, y, z, side, 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -11,13 +11,11 @@ import calclavia.lib.prefab.turbine.TileTurbine;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
public class BlockWaterTurbine extends BlockTurbine
|
public class BlockWaterTurbine extends BlockMechanicalTurbine
|
||||||
{
|
{
|
||||||
public BlockWaterTurbine(int id)
|
public BlockWaterTurbine(int id)
|
||||||
{
|
{
|
||||||
super(id, Material.iron);
|
super(id);
|
||||||
setTextureName(Reference.PREFIX + "material_wood_surface");
|
|
||||||
rotationMask = Byte.parseByte("111111", 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
|
@ -27,25 +25,6 @@ public class BlockWaterTurbine extends BlockTurbine
|
||||||
return RIBlockRenderingHandler.ID;
|
return RIBlockRenderingHandler.ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onSneakUseWrench(World world, int x, int y, int z, EntityPlayer par5EntityPlayer, int side, float hitX, float hitY, float hitZ)
|
|
||||||
{
|
|
||||||
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
|
||||||
|
|
||||||
if (tileEntity instanceof TileTurbine)
|
|
||||||
{
|
|
||||||
if (!world.isRemote && !((TileTurbine) tileEntity).getMultiBlock().isConstructed())
|
|
||||||
{
|
|
||||||
if (side == ((TileTurbine) tileEntity).getDirection().ordinal())
|
|
||||||
world.setBlockMetadataWithNotify(x, y, z, side ^ 1, 3);
|
|
||||||
else
|
|
||||||
world.setBlockMetadataWithNotify(x, y, z, side, 3);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileEntity createNewTileEntity(World var1)
|
public TileEntity createNewTileEntity(World var1)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
package resonantinduction.mechanical.energy.turbine;
|
package resonantinduction.mechanical.energy.turbine;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import resonantinduction.core.Reference;
|
import resonantinduction.core.Reference;
|
||||||
|
@ -11,73 +15,18 @@ import calclavia.lib.prefab.turbine.TileTurbine;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
public class BlockWindTurbine extends BlockTurbine
|
public class BlockWindTurbine extends BlockMechanicalTurbine
|
||||||
{
|
{
|
||||||
public BlockWindTurbine(int id)
|
public BlockWindTurbine(int id)
|
||||||
{
|
{
|
||||||
super(id, Material.iron);
|
super(id);
|
||||||
setTextureName(Reference.PREFIX + "material_wood_surface");
|
|
||||||
rotationMask = Byte.parseByte("111111", 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onMachineActivated(World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float hitX, float hitY, float hitZ)
|
public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List)
|
||||||
{
|
{
|
||||||
if (entityPlayer.getCurrentEquippedItem() == null)
|
for (int i = 0; i < 3; i++)
|
||||||
{
|
par3List.add(new ItemStack(par1, 1, i));
|
||||||
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
|
||||||
|
|
||||||
if (tileEntity instanceof TileTurbine)
|
|
||||||
{
|
|
||||||
if (!world.isRemote && !((TileTurbine) tileEntity).getMultiBlock().isConstructed())
|
|
||||||
{
|
|
||||||
((TileTurbine) tileEntity).multiBlockRadius = Math.max(((TileTurbine) tileEntity).multiBlockRadius + 1, 1);
|
|
||||||
entityPlayer.addChatMessage("Turbine radius: " + ((TileTurbine) tileEntity).multiBlockRadius);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onSneakMachineActivated(World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float hitX, float hitY, float hitZ)
|
|
||||||
{
|
|
||||||
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
|
||||||
|
|
||||||
if (tileEntity instanceof TileTurbine)
|
|
||||||
{
|
|
||||||
if (!world.isRemote && !((TileTurbine) tileEntity).getMultiBlock().isConstructed())
|
|
||||||
{
|
|
||||||
((TileTurbine) tileEntity).multiBlockRadius = Math.max(((TileTurbine) tileEntity).multiBlockRadius - 1, 1);
|
|
||||||
entityPlayer.addChatMessage("Turbine radius: " + ((TileTurbine) tileEntity).multiBlockRadius);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onSneakUseWrench(World world, int x, int y, int z, EntityPlayer par5EntityPlayer, int side, float hitX, float hitY, float hitZ)
|
|
||||||
{
|
|
||||||
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
|
||||||
|
|
||||||
if (tileEntity instanceof TileTurbine)
|
|
||||||
{
|
|
||||||
if (!world.isRemote && !((TileTurbine) tileEntity).getMultiBlock().isConstructed())
|
|
||||||
{
|
|
||||||
if (side == ((TileTurbine) tileEntity).getDirection().ordinal())
|
|
||||||
world.setBlockMetadataWithNotify(x, y, z, side ^ 1, 3);
|
|
||||||
else
|
|
||||||
world.setBlockMetadataWithNotify(x, y, z, side, 3);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package resonantinduction.mechanical.energy.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.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraftforge.client.model.AdvancedModelLoader;
|
import net.minecraftforge.client.model.AdvancedModelLoader;
|
||||||
import net.minecraftforge.client.model.IModelCustom;
|
import net.minecraftforge.client.model.IModelCustom;
|
||||||
|
@ -8,20 +9,20 @@ import net.minecraftforge.client.model.IModelCustom;
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import resonantinduction.core.Reference;
|
import resonantinduction.core.Reference;
|
||||||
import calclavia.lib.prefab.turbine.TileTurbine;
|
|
||||||
import calclavia.lib.render.RenderUtility;
|
import calclavia.lib.render.RenderUtility;
|
||||||
|
import calclavia.lib.render.item.ISimpleItemRenderer;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public class RenderWindTurbine extends TileEntitySpecialRenderer
|
public class RenderWindTurbine extends TileEntitySpecialRenderer implements ISimpleItemRenderer
|
||||||
{
|
{
|
||||||
public static final IModelCustom MODEL = AdvancedModelLoader.loadModel(Reference.MODEL_DIRECTORY + "windTurbines.obj");
|
public static final IModelCustom MODEL = AdvancedModelLoader.loadModel(Reference.MODEL_DIRECTORY + "windTurbines.obj");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void renderTileEntityAt(TileEntity t, double x, double y, double z, float f)
|
public void renderTileEntityAt(TileEntity t, double x, double y, double z, float f)
|
||||||
{
|
{
|
||||||
TileTurbine tile = (TileTurbine) t;
|
TileMechanicalTurbine tile = (TileMechanicalTurbine) t;
|
||||||
|
|
||||||
if (tile.getMultiBlock().isPrimary())
|
if (tile.getMultiBlock().isPrimary())
|
||||||
{
|
{
|
||||||
|
@ -29,42 +30,66 @@ public class RenderWindTurbine extends TileEntitySpecialRenderer
|
||||||
GL11.glTranslatef((float) x + 0.5f, (float) y + 0.5f, (float) z + 0.5f);
|
GL11.glTranslatef((float) x + 0.5f, (float) y + 0.5f, (float) z + 0.5f);
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
|
|
||||||
if (tile.worldObj != null)
|
|
||||||
{
|
|
||||||
RenderUtility.rotateBlockBasedOnDirectionUp(tile.getDirection());
|
RenderUtility.rotateBlockBasedOnDirectionUp(tile.getDirection());
|
||||||
}
|
|
||||||
|
|
||||||
GL11.glTranslatef(0, -0.35f, 0);
|
GL11.glTranslatef(0, -0.35f, 0);
|
||||||
GL11.glRotatef((float) Math.toDegrees(tile.rotation), 0, 1, 0);
|
GL11.glRotatef((float) Math.toDegrees(tile.rotation), 0, 1, 0);
|
||||||
|
|
||||||
/**
|
render(tile.tier, tile.multiBlockRadius, tile.getMultiBlock().isConstructed());
|
||||||
* TODO: Bind based on tier.
|
|
||||||
* cobblestone, iron_block
|
GL11.glPopMatrix();
|
||||||
*/
|
GL11.glPopMatrix();
|
||||||
if (tile.getMultiBlock().isConstructed())
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void renderInventoryItem(ItemStack itemStack)
|
||||||
{
|
{
|
||||||
GL11.glScalef(0.3f, 1, 0.3f);
|
GL11.glPushMatrix();
|
||||||
GL11.glScalef(tile.multiBlockRadius * 2 + 1, Math.min(tile.multiBlockRadius, 2), tile.multiBlockRadius * 2 + 1);
|
GL11.glTranslatef(0.5f, 0.5f, 0.5f);
|
||||||
|
render(itemStack.getItemDamage(), 1, false);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void render(int tier, int size, boolean isConstructed)
|
||||||
|
{
|
||||||
|
switch (tier)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "planks_oak.png");
|
RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "planks_oak.png");
|
||||||
MODEL.renderOnly("LargeBladeArm");
|
break;
|
||||||
RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "wool_colored_white.png");
|
case 1:
|
||||||
MODEL.renderOnly("LargeBlade");
|
|
||||||
RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "cobblestone.png");
|
RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "cobblestone.png");
|
||||||
GL11.glScalef(1f, 2f, 1f);
|
break;
|
||||||
GL11.glTranslatef(0, -0.05f, 0);
|
case 2:
|
||||||
MODEL.renderOnly("LargeHub");
|
RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "iron_block.png");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isConstructed)
|
||||||
|
{
|
||||||
|
if (tier == 2)
|
||||||
|
{
|
||||||
|
MODEL.renderOnly("LargeMetalHub", "LargeMetalBlade");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GL11.glScalef(0.3f, 1, 0.3f);
|
||||||
|
GL11.glScalef(size * 2 + 1, Math.min(size, 2), size * 2 + 1);
|
||||||
|
MODEL.renderOnly("LargeBladeArm");
|
||||||
|
GL11.glScalef(1f, 2f, 1f);
|
||||||
|
GL11.glTranslatef(0, -0.05f, 0);
|
||||||
|
MODEL.renderOnly("LargeHub");
|
||||||
|
RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "wool_colored_white.png");
|
||||||
|
MODEL.renderOnly("LargeBlade");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "cobblestone.png");
|
|
||||||
MODEL.renderOnly("SmallHub");
|
|
||||||
RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "planks_oak.png");
|
|
||||||
MODEL.renderOnly("SmallBlade");
|
MODEL.renderOnly("SmallBlade");
|
||||||
}
|
RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "log_oak.png");
|
||||||
|
MODEL.renderOnly("SmallHub");
|
||||||
GL11.glPopMatrix();
|
|
||||||
GL11.glPopMatrix();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
|
@ -1,5 +1,6 @@
|
||||||
package resonantinduction.mechanical.energy.turbine;
|
package resonantinduction.mechanical.energy.turbine;
|
||||||
|
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
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;
|
||||||
|
@ -7,10 +8,16 @@ import resonantinduction.api.mechanical.IMechanicalNetwork;
|
||||||
import resonantinduction.mechanical.energy.network.MechanicalNetwork;
|
import resonantinduction.mechanical.energy.network.MechanicalNetwork;
|
||||||
import universalelectricity.api.energy.EnergyStorageHandler;
|
import universalelectricity.api.energy.EnergyStorageHandler;
|
||||||
import universalelectricity.api.vector.Vector3;
|
import universalelectricity.api.vector.Vector3;
|
||||||
|
import calclavia.lib.network.Synced;
|
||||||
|
import calclavia.lib.network.Synced.SyncedInput;
|
||||||
|
import calclavia.lib.network.Synced.SyncedOutput;
|
||||||
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
|
||||||
{
|
{
|
||||||
|
@Synced()
|
||||||
|
public int tier;
|
||||||
|
|
||||||
public TileMechanicalTurbine()
|
public TileMechanicalTurbine()
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
|
@ -96,4 +103,23 @@ public class TileMechanicalTurbine extends TileTurbine implements IMechanical
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SyncedInput
|
||||||
|
public void readFromNBT(NBTTagCompound nbt)
|
||||||
|
{
|
||||||
|
super.readFromNBT(nbt);
|
||||||
|
tier = nbt.getInteger("tier");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Writes a tile entity to NBT.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
@SyncedOutput
|
||||||
|
public void writeToNBT(NBTTagCompound nbt)
|
||||||
|
{
|
||||||
|
super.writeToNBT(nbt);
|
||||||
|
nbt.setInteger("tier", tier);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,8 +73,12 @@ item.resonantinduction\:gear.2.name=Metal Gear
|
||||||
item.resonantinduction\:gearShaft.0.name=Wooden Gear Shaft
|
item.resonantinduction\:gearShaft.0.name=Wooden Gear Shaft
|
||||||
item.resonantinduction\:gearShaft.1.name=Stone Gear Shaft
|
item.resonantinduction\:gearShaft.1.name=Stone Gear Shaft
|
||||||
item.resonantinduction\:gearShaft.2.name=Metal Gear Shaft
|
item.resonantinduction\:gearShaft.2.name=Metal Gear Shaft
|
||||||
tile.resonantinduction\:windTurbine.name=Wind Turbine
|
tile.resonantinduction\:windTurbine.0.name=Wooden Wind Turbine
|
||||||
tile.resonantinduction\:windTurbine.tooltip=The wind turbine generates power through air flow and pressure.
|
tile.resonantinduction\:windTurbine.0.tooltip=The wooden wind turbine is light, fragile and spins fast.
|
||||||
|
tile.resonantinduction\:windTurbine.1.name=Stone Wind Turbine
|
||||||
|
tile.resonantinduction\:windTurbine.1.tooltip=The stone turbine is heavy, strong and durable.
|
||||||
|
tile.resonantinduction\:windTurbine.2.name=Metal Wind Turbine
|
||||||
|
tile.resonantinduction\:windTurbine.2,tooltip=The metal wind turbine is strong and lightweight.
|
||||||
tile.resonantinduction\:waterTurbine.name=Water Turbine
|
tile.resonantinduction\:waterTurbine.name=Water Turbine
|
||||||
tile.resonantinduction\:waterTurbine.tooltip=The water turbine generates power through water flow.
|
tile.resonantinduction\:waterTurbine.tooltip=The water turbine generates power through water flow.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue