diff --git a/src/main/java/mekanism/client/ClientProxy.java b/src/main/java/mekanism/client/ClientProxy.java index 771ff981f..45481f90b 100644 --- a/src/main/java/mekanism/client/ClientProxy.java +++ b/src/main/java/mekanism/client/ClientProxy.java @@ -75,6 +75,7 @@ import mekanism.client.render.tileentity.RenderEnergyCube; import mekanism.client.render.tileentity.RenderFluidicPlenisher; import mekanism.client.render.tileentity.RenderGasTank; import mekanism.client.render.tileentity.RenderLaser; +import mekanism.client.render.tileentity.RenderLaserAmplifier; import mekanism.client.render.tileentity.RenderLogisticalSorter; import mekanism.client.render.tileentity.RenderMetallurgicInfuser; import mekanism.client.render.tileentity.RenderObsidianTNT; @@ -127,6 +128,7 @@ import mekanism.common.tile.TileEntityFactory; import mekanism.common.tile.TileEntityFluidicPlenisher; import mekanism.common.tile.TileEntityGasTank; import mekanism.common.tile.TileEntityLaser; +import mekanism.common.tile.TileEntityLaserAmplifier; import mekanism.common.tile.TileEntityLogisticalSorter; import mekanism.common.tile.TileEntityMetallurgicInfuser; import mekanism.common.tile.TileEntityObsidianTNT; @@ -312,6 +314,7 @@ public class ClientProxy extends CommonProxy ClientRegistry.registerTileEntity(TileEntityPortableTank.class, "PortableTank", new RenderPortableTank()); ClientRegistry.registerTileEntity(TileEntityFluidicPlenisher.class, "FluidicPlenisher", new RenderFluidicPlenisher()); ClientRegistry.registerTileEntity(TileEntityLaser.class, "Laser", new RenderLaser()); + ClientRegistry.registerTileEntity(TileEntityLaserAmplifier.class, "LaserAmplifier", new RenderLaserAmplifier()); } @Override diff --git a/src/main/java/mekanism/client/render/tileentity/RenderLaserAmplifier.java b/src/main/java/mekanism/client/render/tileentity/RenderLaserAmplifier.java new file mode 100644 index 000000000..1a311b07e --- /dev/null +++ b/src/main/java/mekanism/client/render/tileentity/RenderLaserAmplifier.java @@ -0,0 +1,65 @@ +package mekanism.client.render.tileentity; + +import mekanism.client.model.ModelLaser; +import mekanism.common.tile.TileEntityLaser; +import mekanism.common.util.MekanismUtils; +import mekanism.common.util.MekanismUtils.ResourceType; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +@SideOnly(Side.CLIENT) +public class RenderLaserAmplifier extends TileEntitySpecialRenderer +{ + private ModelLaser model = new ModelLaser(); + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float partialTick) + { + renderAModelAt((TileEntityLaser)tileEntity, x, y, z, partialTick); + } + + private void renderAModelAt(TileEntityLaser tileEntity, double x, double y, double z, float partialTick) + { + GL11.glPushMatrix(); + GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); + + bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "Laser.png")); + + switch(tileEntity.facing) + { + case 0: + GL11.glTranslatef(0.0F, -2.0F, 0.0F); + GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); + break; + case 5: + GL11.glTranslatef(0.0F, -1.0F, 0.0F); + GL11.glTranslatef(1.0F, 0.0F, 0.0F); + GL11.glRotatef(90, 0.0F, 0.0F, -1.0F); + break; + case 4: + GL11.glTranslatef(0.0F, -1.0F, 0.0F); + GL11.glTranslatef(-1.0F, 0.0F, 0.0F); + GL11.glRotatef(90, 0.0F, 0.0F, 1.0F); + break; + case 2: + GL11.glTranslatef(0.0F, -1.0F, 0.0F); + GL11.glTranslatef(0.0F, 0.0F, -1.0F); + GL11.glRotatef(90, -1.0F, 0.0F, 0.0F); + break; + case 3: + GL11.glTranslatef(0.0F, -1.0F, 0.0F); + GL11.glTranslatef(0.0F, 0.0F, 1.0F); + GL11.glRotatef(90, 1.0F, 0.0F, 0.0F); + break; + } + + GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); + model.render(0.0625F); + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/mekanism/common/CommonProxy.java b/src/main/java/mekanism/common/CommonProxy.java index dd2ce8bc3..55504e83b 100644 --- a/src/main/java/mekanism/common/CommonProxy.java +++ b/src/main/java/mekanism/common/CommonProxy.java @@ -67,6 +67,7 @@ import mekanism.common.tile.TileEntityFactory; import mekanism.common.tile.TileEntityFluidicPlenisher; import mekanism.common.tile.TileEntityGasTank; import mekanism.common.tile.TileEntityLaser; +import mekanism.common.tile.TileEntityLaserAmplifier; import mekanism.common.tile.TileEntityLogisticalSorter; import mekanism.common.tile.TileEntityMetallurgicInfuser; import mekanism.common.tile.TileEntityObsidianTNT; @@ -141,6 +142,7 @@ public class CommonProxy GameRegistry.registerTileEntity(TileEntityPortableTank.class, "PortableTank"); GameRegistry.registerTileEntity(TileEntityFluidicPlenisher.class, "FluidicPlenisher"); GameRegistry.registerTileEntity(TileEntityLaser.class, "Laser"); + GameRegistry.registerTileEntity(TileEntityLaserAmplifier.class, "LaserAmplifier"); } /** diff --git a/src/main/java/mekanism/common/block/BlockMachine.java b/src/main/java/mekanism/common/block/BlockMachine.java index d0d9cf292..98725dde2 100644 --- a/src/main/java/mekanism/common/block/BlockMachine.java +++ b/src/main/java/mekanism/common/block/BlockMachine.java @@ -47,6 +47,7 @@ import mekanism.common.tile.TileEntityEnrichmentChamber; import mekanism.common.tile.TileEntityFactory; import mekanism.common.tile.TileEntityFluidicPlenisher; import mekanism.common.tile.TileEntityLaser; +import mekanism.common.tile.TileEntityLaserAmplifier; import mekanism.common.tile.TileEntityLogisticalSorter; import mekanism.common.tile.TileEntityMetallurgicInfuser; import mekanism.common.tile.TileEntityOsmiumCompressor; @@ -125,6 +126,7 @@ import dan200.computercraft.api.peripheral.IPeripheralProvider; * 1:11: Portable Tank * 1:12: Fluidic Plenisher * 1:13: Laser + * 1:14: Laser Amplifier * @author AidanBrady * */ @@ -1273,7 +1275,8 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds, IPer PRESSURIZED_REACTION_CHAMBER(Mekanism.MachineBlock2, 10, "PressurizedReactionChamber", 40, 20000, TileEntityPRC.class, true, true, false), PORTABLE_TANK(Mekanism.MachineBlock2, 11, "PortableTank", 41, 0, TileEntityPortableTank.class, false, true, false), FLUIDIC_PLENISHER(Mekanism.MachineBlock2, 12, "FluidicPlenisher", 42, 10000, TileEntityFluidicPlenisher.class, true, true, false), - LASER(Mekanism.MachineBlock2, 13, "Laser", -1, 100000, TileEntityLaser.class, true, true, false); + LASER(Mekanism.MachineBlock2, 13, "Laser", -1, 100000, TileEntityLaser.class, true, true, false), + LASER_AMPLIFIER(Mekanism.MachineBlock2, 14, "LaserAmplifier", -1, 0, TileEntityLaserAmplifier.class, false, true, false); public Block typeBlock; public int meta; diff --git a/src/main/java/mekanism/common/item/ItemBlockMachine.java b/src/main/java/mekanism/common/item/ItemBlockMachine.java index 3a57222ea..185085ccd 100644 --- a/src/main/java/mekanism/common/item/ItemBlockMachine.java +++ b/src/main/java/mekanism/common/item/ItemBlockMachine.java @@ -106,6 +106,7 @@ import cpw.mods.fml.relauncher.SideOnly; * 1:11: Portable Tank * 1:12: Fluidic Plenisher * 1:13: Laser + * 1:14: Laser Amplifier * @author AidanBrady * */ diff --git a/src/main/java/mekanism/common/tile/TileEntityAdvancedElectricMachine.java b/src/main/java/mekanism/common/tile/TileEntityAdvancedElectricMachine.java index 45c6355bf..599d8097f 100644 --- a/src/main/java/mekanism/common/tile/TileEntityAdvancedElectricMachine.java +++ b/src/main/java/mekanism/common/tile/TileEntityAdvancedElectricMachine.java @@ -26,7 +26,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; import cpw.mods.fml.common.Optional.Method; - import dan200.computercraft.api.lua.ILuaContext; import dan200.computercraft.api.peripheral.IComputerAccess; diff --git a/src/main/java/mekanism/common/tile/TileEntityBin.java b/src/main/java/mekanism/common/tile/TileEntityBin.java index a3143891c..f976a4559 100644 --- a/src/main/java/mekanism/common/tile/TileEntityBin.java +++ b/src/main/java/mekanism/common/tile/TileEntityBin.java @@ -24,9 +24,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -import cpw.mods.fml.common.Optional.Interface; - import powercrystals.minefactoryreloaded.api.IDeepStorageUnit; +import cpw.mods.fml.common.Optional.Interface; @Interface(iface = "powercrystals.minefactoryreloaded.api.IDeepStorageUnit", modid = "MineFactoryReloaded") public class TileEntityBin extends TileEntityBasicBlock implements ISidedInventory, IActiveState, IDeepStorageUnit, IConfigurable diff --git a/src/main/java/mekanism/common/tile/TileEntityChanceMachine.java b/src/main/java/mekanism/common/tile/TileEntityChanceMachine.java index f1c85b4fa..eecb42551 100644 --- a/src/main/java/mekanism/common/tile/TileEntityChanceMachine.java +++ b/src/main/java/mekanism/common/tile/TileEntityChanceMachine.java @@ -15,7 +15,6 @@ import mekanism.common.util.MekanismUtils; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import cpw.mods.fml.common.Optional.Method; - import dan200.computercraft.api.lua.ILuaContext; import dan200.computercraft.api.peripheral.IComputerAccess; diff --git a/src/main/java/mekanism/common/tile/TileEntityCombiner.java b/src/main/java/mekanism/common/tile/TileEntityCombiner.java index c16220ae0..2ad64a8ee 100644 --- a/src/main/java/mekanism/common/tile/TileEntityCombiner.java +++ b/src/main/java/mekanism/common/tile/TileEntityCombiner.java @@ -5,7 +5,6 @@ import java.util.Map; import mekanism.api.gas.Gas; import mekanism.api.gas.GasRegistry; import mekanism.api.gas.GasStack; -import mekanism.client.gui.GuiProgress.ProgressBar; import mekanism.common.Mekanism; import mekanism.common.block.BlockMachine.MachineType; import mekanism.common.recipe.RecipeHandler.Recipe; diff --git a/src/main/java/mekanism/common/tile/TileEntityContainerBlock.java b/src/main/java/mekanism/common/tile/TileEntityContainerBlock.java index 13325142b..3b023e88f 100644 --- a/src/main/java/mekanism/common/tile/TileEntityContainerBlock.java +++ b/src/main/java/mekanism/common/tile/TileEntityContainerBlock.java @@ -1,7 +1,6 @@ package mekanism.common.tile; import mekanism.common.ISustainedInventory; -import mekanism.common.Mekanism; import mekanism.common.util.InventoryUtils; import mekanism.common.util.MekanismUtils; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/mekanism/common/tile/TileEntityDynamicTank.java b/src/main/java/mekanism/common/tile/TileEntityDynamicTank.java index c89906ad8..4fc85f90d 100644 --- a/src/main/java/mekanism/common/tile/TileEntityDynamicTank.java +++ b/src/main/java/mekanism/common/tile/TileEntityDynamicTank.java @@ -14,8 +14,8 @@ import mekanism.common.tank.DynamicTankCache; import mekanism.common.tank.SynchronizedTankData; import mekanism.common.tank.SynchronizedTankData.ValveData; import mekanism.common.tank.TankUpdateProtocol; -import mekanism.common.util.FluidContainerUtils.ContainerEditMode; import mekanism.common.util.FluidContainerUtils; +import mekanism.common.util.FluidContainerUtils.ContainerEditMode; import mekanism.common.util.MekanismUtils; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; diff --git a/src/main/java/mekanism/common/tile/TileEntityElectricBlock.java b/src/main/java/mekanism/common/tile/TileEntityElectricBlock.java index d4e426cde..bebed09c4 100644 --- a/src/main/java/mekanism/common/tile/TileEntityElectricBlock.java +++ b/src/main/java/mekanism/common/tile/TileEntityElectricBlock.java @@ -22,15 +22,14 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.util.ForgeDirection; -import cpw.mods.fml.common.Optional.Interface; -import cpw.mods.fml.common.Optional.InterfaceList; -import cpw.mods.fml.common.Optional.Method; - import buildcraft.api.power.IPowerEmitter; import buildcraft.api.power.IPowerReceptor; import buildcraft.api.power.PowerHandler; import buildcraft.api.power.PowerHandler.PowerReceiver; import cofh.api.energy.IEnergyHandler; +import cpw.mods.fml.common.Optional.Interface; +import cpw.mods.fml.common.Optional.InterfaceList; +import cpw.mods.fml.common.Optional.Method; @InterfaceList({ @Interface(iface = "ic2.api.energy.tile.IEnergySink", modid = "IC2API", striprefs = true), diff --git a/src/main/java/mekanism/common/tile/TileEntityElectricMachine.java b/src/main/java/mekanism/common/tile/TileEntityElectricMachine.java index 06a74c2dc..596f6fb3d 100644 --- a/src/main/java/mekanism/common/tile/TileEntityElectricMachine.java +++ b/src/main/java/mekanism/common/tile/TileEntityElectricMachine.java @@ -11,10 +11,7 @@ import mekanism.common.util.InventoryUtils; import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils.ResourceType; import net.minecraft.item.ItemStack; -import cpw.mods.fml.common.Optional.Interface; -import cpw.mods.fml.common.Optional.InterfaceList; import cpw.mods.fml.common.Optional.Method; - import dan200.computercraft.api.lua.ILuaContext; import dan200.computercraft.api.peripheral.IComputerAccess; diff --git a/src/main/java/mekanism/common/tile/TileEntityEnergizedSmelter.java b/src/main/java/mekanism/common/tile/TileEntityEnergizedSmelter.java index ddfd6ef22..ef7ca3590 100644 --- a/src/main/java/mekanism/common/tile/TileEntityEnergizedSmelter.java +++ b/src/main/java/mekanism/common/tile/TileEntityEnergizedSmelter.java @@ -3,14 +3,9 @@ package mekanism.common.tile; import java.util.HashMap; import java.util.Map; -import mekanism.client.gui.GuiProgress.ProgressBar; import mekanism.common.Mekanism; import mekanism.common.block.BlockMachine.MachineType; -import mekanism.common.recipe.RecipeHandler; - import net.minecraft.item.ItemStack; -import cpw.mods.fml.common.Optional.Interface; -import cpw.mods.fml.common.Optional.InterfaceList; public class TileEntityEnergizedSmelter extends TileEntityElectricMachine { diff --git a/src/main/java/mekanism/common/tile/TileEntityEnrichmentChamber.java b/src/main/java/mekanism/common/tile/TileEntityEnrichmentChamber.java index 5bb8b3daa..f3f9c39c5 100644 --- a/src/main/java/mekanism/common/tile/TileEntityEnrichmentChamber.java +++ b/src/main/java/mekanism/common/tile/TileEntityEnrichmentChamber.java @@ -2,7 +2,6 @@ package mekanism.common.tile; import java.util.Map; -import mekanism.client.gui.GuiProgress.ProgressBar; import mekanism.common.Mekanism; import mekanism.common.block.BlockMachine.MachineType; import mekanism.common.recipe.RecipeHandler.Recipe; diff --git a/src/main/java/mekanism/common/tile/TileEntityLaser.java b/src/main/java/mekanism/common/tile/TileEntityLaser.java index 42cf51da7..9acc76125 100644 --- a/src/main/java/mekanism/common/tile/TileEntityLaser.java +++ b/src/main/java/mekanism/common/tile/TileEntityLaser.java @@ -1,17 +1,16 @@ package mekanism.common.tile; +import io.netty.buffer.ByteBuf; + import java.util.ArrayList; import mekanism.api.Coord4D; import mekanism.api.lasers.LaserManager; import mekanism.common.Mekanism; import mekanism.common.network.PacketTileEntity.TileEntityMessage; - import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.ForgeDirection; -import io.netty.buffer.ByteBuf; - public class TileEntityLaser extends TileEntityElectricBlock { public static final double LASER_ENERGY = 1E10; diff --git a/src/main/java/mekanism/common/tile/TileEntityLaserAmplifier.java b/src/main/java/mekanism/common/tile/TileEntityLaserAmplifier.java index 78012f027..09c26a93d 100644 --- a/src/main/java/mekanism/common/tile/TileEntityLaserAmplifier.java +++ b/src/main/java/mekanism/common/tile/TileEntityLaserAmplifier.java @@ -3,7 +3,6 @@ package mekanism.common.tile; import mekanism.api.Coord4D; import mekanism.api.lasers.ILaserReceptor; import mekanism.api.lasers.LaserManager; - import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; diff --git a/src/main/java/mekanism/common/tile/TileEntityPrecisionSawmill.java b/src/main/java/mekanism/common/tile/TileEntityPrecisionSawmill.java index 5146289ed..1dbe0c144 100644 --- a/src/main/java/mekanism/common/tile/TileEntityPrecisionSawmill.java +++ b/src/main/java/mekanism/common/tile/TileEntityPrecisionSawmill.java @@ -2,7 +2,6 @@ package mekanism.common.tile; import java.util.Map; -import mekanism.client.gui.GuiProgress.ProgressBar; import mekanism.common.Mekanism; import mekanism.common.block.BlockMachine.MachineType; import mekanism.common.recipe.RecipeHandler.Recipe; diff --git a/src/main/java/mekanism/common/tile/TileEntityPurificationChamber.java b/src/main/java/mekanism/common/tile/TileEntityPurificationChamber.java index 7d8764f0e..3bb8c1757 100644 --- a/src/main/java/mekanism/common/tile/TileEntityPurificationChamber.java +++ b/src/main/java/mekanism/common/tile/TileEntityPurificationChamber.java @@ -9,7 +9,6 @@ import mekanism.api.gas.GasTransmission; import mekanism.api.gas.IGasHandler; import mekanism.api.gas.IGasItem; import mekanism.api.gas.ITubeConnection; -import mekanism.client.gui.GuiProgress.ProgressBar; import mekanism.common.Mekanism; import mekanism.common.block.BlockMachine.MachineType; import mekanism.common.recipe.RecipeHandler.Recipe; diff --git a/src/main/java/mekanism/common/tile/TileEntityTeleporter.java b/src/main/java/mekanism/common/tile/TileEntityTeleporter.java index 1a113a34a..2e2ae0661 100644 --- a/src/main/java/mekanism/common/tile/TileEntityTeleporter.java +++ b/src/main/java/mekanism/common/tile/TileEntityTeleporter.java @@ -11,7 +11,6 @@ import java.util.Set; import mekanism.api.Coord4D; import mekanism.api.EnumColor; import mekanism.common.Mekanism; -import mekanism.common.PacketHandler; import mekanism.common.Teleporter; import mekanism.common.block.BlockMachine.MachineType; import mekanism.common.network.PacketPortalFX.PortalFXMessage; diff --git a/src/main/resources/assets/mekanism/lang/en_US.lang b/src/main/resources/assets/mekanism/lang/en_US.lang index c09209b45..c1495f543 100644 --- a/src/main/resources/assets/mekanism/lang/en_US.lang +++ b/src/main/resources/assets/mekanism/lang/en_US.lang @@ -116,6 +116,7 @@ tile.MachineBlock2.PressurizedReactionChamber.short.name=PRC tile.MachineBlock2.PortableTank.name=Portable Tank tile.MachineBlock2.FluidicPlenisher.name=Fluidic Plenisher tile.MachineBlock2.Laser.name=Laser +tile.MachineBlock2.LaserAmplifier.name=Laser Amplifier //Plastic tile.PlasticBlock.name=Plastic Block @@ -572,6 +573,7 @@ tooltip.PressurizedReactionChamber=An advanced machine that processes a !nsolid, tooltip.PortableTank=A handy, portable tank that lets you !ncarry 14 buckets of fluid wherever you !nplease. Also doubles as a bucket! tooltip.FluidicPlenisher=A machine that is capable of creating entire !nlakes by filling ravines with fluids. tooltip.Laser=An advanced form of linear energy transfer that utilizes !nan extremely compressed beam of !nlight. +tooltip.LaserAmplifier=A block that can be used to both merge !nand amplify laser beams. tooltip.HeatGenerator=A generator that uses the heat of lava or !nother burnable resources to produce energy. tooltip.SolarGenerator=A generator that uses the power !nof the sun to produce energy. diff --git a/src/main/resources/assets/mekanism/render/LaserAmplifier.png b/src/main/resources/assets/mekanism/render/LaserAmplifier.png new file mode 100644 index 000000000..1982a3fd0 Binary files /dev/null and b/src/main/resources/assets/mekanism/render/LaserAmplifier.png differ diff --git a/src/main/resources/assets/mekanism/textures/blocks/ReactorControllerOff.png b/src/main/resources/assets/mekanism/textures/blocks/ReactorControllerOff.png index e2f20767e..0f4edbaa7 100644 Binary files a/src/main/resources/assets/mekanism/textures/blocks/ReactorControllerOff.png and b/src/main/resources/assets/mekanism/textures/blocks/ReactorControllerOff.png differ diff --git a/src/main/resources/assets/mekanism/textures/blocks/ReactorControllerOn.png b/src/main/resources/assets/mekanism/textures/blocks/ReactorControllerOn.png index 0de13b514..3ac8feafc 100644 Binary files a/src/main/resources/assets/mekanism/textures/blocks/ReactorControllerOn.png and b/src/main/resources/assets/mekanism/textures/blocks/ReactorControllerOn.png differ diff --git a/src/main/resources/assets/mekanism/textures/blocks/ReactorControllerOn.png.mcmeta b/src/main/resources/assets/mekanism/textures/blocks/ReactorControllerOn.png.mcmeta deleted file mode 100644 index efc331201..000000000 --- a/src/main/resources/assets/mekanism/textures/blocks/ReactorControllerOn.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 10 - } -} diff --git a/src/main/resources/assets/mekanism/textures/blocks/ReactorLaserFocus.png b/src/main/resources/assets/mekanism/textures/blocks/ReactorLaserFocus.png index 464779cb9..d67d31cc8 100644 Binary files a/src/main/resources/assets/mekanism/textures/blocks/ReactorLaserFocus.png and b/src/main/resources/assets/mekanism/textures/blocks/ReactorLaserFocus.png differ