Resistive Heater model, fixed Fusion Reactor

This commit is contained in:
aidancbrady 2016-04-14 15:54:52 -04:00
parent 6fac6c3f22
commit 982749bb47
10 changed files with 214 additions and 16 deletions

View file

@ -98,6 +98,7 @@ import mekanism.client.render.tileentity.RenderMetallurgicInfuser;
import mekanism.client.render.tileentity.RenderObsidianTNT;
import mekanism.client.render.tileentity.RenderPersonalChest;
import mekanism.client.render.tileentity.RenderPressurizedReactionChamber;
import mekanism.client.render.tileentity.RenderResistiveHeater;
import mekanism.client.render.tileentity.RenderRotaryCondensentrator;
import mekanism.client.render.tileentity.RenderSecurityDesk;
import mekanism.client.render.tileentity.RenderSeismicVibrator;
@ -312,7 +313,8 @@ public class ClientProxy extends CommonProxy
GameRegistry.registerTileEntity(TileEntityInductionProvider.class, "InductionProvider");
GameRegistry.registerTileEntity(TileEntityOredictionificator.class, "Oredictionificator");
GameRegistry.registerTileEntity(TileEntityStructuralGlass.class, "StructuralGlass");
GameRegistry.registerTileEntity(TileEntityResistiveHeater.class, "ResistiveHeater");
ClientRegistry.registerTileEntity(TileEntityFormulaicAssemblicator.class, "FormulaicAssemblicator", new RenderConfigurableMachine());
ClientRegistry.registerTileEntity(TileEntityResistiveHeater.class, "ResistiveHeater", new RenderResistiveHeater());
ClientRegistry.registerTileEntity(TileEntityBoilerCasing.class, "BoilerCasing", new RenderThermoelectricBoiler());
ClientRegistry.registerTileEntity(TileEntityBoilerValve.class, "BoilerValve", new RenderThermoelectricBoiler());
ClientRegistry.registerTileEntity(TileEntitySecurityDesk.class, "SecurityDesk", new RenderSecurityDesk());

View file

@ -0,0 +1,189 @@
package mekanism.client.model;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelResistiveHeater extends ModelBase
{
ModelRenderer wallLeft;
ModelRenderer base;
ModelRenderer fin10;
ModelRenderer portRight;
ModelRenderer fin9;
ModelRenderer fin2;
ModelRenderer bar2;
ModelRenderer fin4;
ModelRenderer fin3;
ModelRenderer fin6;
ModelRenderer center;
ModelRenderer fin8;
ModelRenderer fin7;
ModelRenderer fin5;
ModelRenderer fin1;
ModelRenderer bar1;
ModelRenderer bar4;
ModelRenderer bar3;
ModelRenderer wallRight;
ModelRenderer portLeft;
public ModelResistiveHeater()
{
textureWidth = 128;
textureHeight = 64;
wallLeft = new ModelRenderer(this, 0, 23);
wallLeft.mirror = true;
wallLeft.addBox(0F, 0F, 0F, 3, 9, 16);
wallLeft.setRotationPoint(5F, 8F, -8F);
wallLeft.setTextureSize(128, 64);
setRotation(wallLeft, 0F, 0F, 0F);
base = new ModelRenderer(this, 0, 0);
base.addBox(0F, 0F, 0F, 16, 7, 16);
base.setRotationPoint(-8F, 17F, -8F);
base.setTextureSize(128, 64);
base.mirror = true;
setRotation(base, 0F, 0F, 0F);
fin10 = new ModelRenderer(this, 38, 38);
fin10.mirror = true;
fin10.addBox(0F, 0F, 0F, 10, 9, 1);
fin10.setRotationPoint(-5F, 8.5F, 6.5F);
fin10.setTextureSize(128, 64);
setRotation(fin10, 0F, 0F, 0F);
portRight = new ModelRenderer(this, 48, 0);
portRight.addBox(0F, 0F, 0F, 1, 8, 8);
portRight.setRotationPoint(-8.01F, 12F, -4F);
portRight.setTextureSize(128, 64);
portRight.mirror = true;
setRotation(portRight, 0F, 0F, 0F);
fin9 = new ModelRenderer(this, 0, 48);
fin9.mirror = true;
fin9.addBox(0F, 0F, 0F, 10, 9, 1);
fin9.setRotationPoint(-5F, 8.5F, 5F);
fin9.setTextureSize(128, 64);
setRotation(fin9, 0F, 0F, 0F);
fin2 = new ModelRenderer(this, 0, 48);
fin2.addBox(0F, 0F, 0F, 10, 9, 1);
fin2.setRotationPoint(-5F, 8.5F, -6F);
fin2.setTextureSize(128, 64);
fin2.mirror = true;
setRotation(fin2, 0F, 0F, 0F);
bar2 = new ModelRenderer(this, 36, 23);
bar2.addBox(0F, 0F, 0F, 1, 1, 13);
bar2.setRotationPoint(-2F, 9.5F, -6.5F);
bar2.setTextureSize(128, 64);
bar2.mirror = true;
setRotation(bar2, 0F, 0F, 0F);
fin4 = new ModelRenderer(this, 0, 48);
fin4.addBox(0F, 0F, 0F, 10, 9, 1);
fin4.setRotationPoint(-5F, 8.5F, -3F);
fin4.setTextureSize(128, 64);
fin4.mirror = true;
setRotation(fin4, 0F, 0F, 0F);
fin3 = new ModelRenderer(this, 0, 48);
fin3.mirror = true;
fin3.addBox(0F, 0F, 0F, 10, 9, 1);
fin3.setRotationPoint(-5F, 8.5F, -4.5F);
fin3.setTextureSize(128, 64);
setRotation(fin3, 0F, 0F, 0F);
fin6 = new ModelRenderer(this, 0, 48);
fin6.addBox(0F, 0F, 0F, 10, 9, 1);
fin6.setRotationPoint(-5F, 8.5F, 0.5F);
fin6.setTextureSize(128, 64);
fin6.mirror = true;
setRotation(fin6, 0F, 0F, 0F);
center = new ModelRenderer(this, 0, 0);
center.addBox(0F, 0F, 0F, 6, 6, 1);
center.setRotationPoint(-3F, 11.5F, -0.5F);
center.setTextureSize(128, 64);
center.mirror = true;
setRotation(center, 0F, 0F, 0F);
fin8 = new ModelRenderer(this, 0, 48);
fin8.addBox(0F, 0F, 0F, 10, 9, 1);
fin8.setRotationPoint(-5F, 8.5F, 3.5F);
fin8.setTextureSize(128, 64);
fin8.mirror = true;
setRotation(fin8, 0F, 0F, 0F);
fin7 = new ModelRenderer(this, 0, 48);
fin7.mirror = true;
fin7.addBox(0F, 0F, 0F, 10, 9, 1);
fin7.setRotationPoint(-5F, 8.5F, 2F);
fin7.setTextureSize(128, 64);
setRotation(fin7, 0F, 0F, 0F);
fin5 = new ModelRenderer(this, 0, 48);
fin5.mirror = true;
fin5.addBox(0F, 0F, 0F, 10, 9, 1);
fin5.setRotationPoint(-5F, 8.5F, -1.5F);
fin5.setTextureSize(128, 64);
setRotation(fin5, 0F, 0F, 0F);
fin1 = new ModelRenderer(this, 22, 48);
fin1.addBox(0F, 0F, 0F, 10, 9, 1);
fin1.setRotationPoint(-5F, 8.5F, -7.5F);
fin1.setTextureSize(128, 64);
fin1.mirror = true;
setRotation(fin1, 0F, 0F, 0F);
bar1 = new ModelRenderer(this, 36, 23);
bar1.addBox(0F, 0F, 0F, 1, 1, 13);
bar1.setRotationPoint(-4F, 9.5F, -6.5F);
bar1.setTextureSize(128, 64);
bar1.mirror = true;
setRotation(bar1, 0F, 0F, 0F);
bar4 = new ModelRenderer(this, 36, 23);
bar4.addBox(0F, 0F, 0F, 1, 1, 13);
bar4.setRotationPoint(3F, 9.5F, -6.5F);
bar4.setTextureSize(128, 64);
bar4.mirror = true;
setRotation(bar4, 0F, 0F, 0F);
bar3 = new ModelRenderer(this, 36, 23);
bar3.addBox(0F, 0F, 0F, 1, 1, 13);
bar3.setRotationPoint(1F, 9.5F, -6.5F);
bar3.setTextureSize(128, 64);
bar3.mirror = true;
setRotation(bar3, 0F, 0F, 0F);
wallRight = new ModelRenderer(this, 0, 23);
wallRight.addBox(0F, 0F, 0F, 3, 9, 16);
wallRight.setRotationPoint(-8F, 8F, -8F);
wallRight.setTextureSize(128, 64);
wallRight.mirror = true;
setRotation(wallRight, 0F, 0F, 0F);
portLeft = new ModelRenderer(this, 48, 0);
portLeft.addBox(0F, 0F, 0F, 1, 8, 8);
portLeft.setRotationPoint(7.01F, 12F, -4F);
portLeft.setTextureSize(128, 64);
portLeft.mirror = true;
setRotation(portLeft, 0F, 0F, 0F);
}
public void render(float size)
{
wallLeft.render(size);
base.render(size);
fin10.render(size);
portRight.render(size);
fin9.render(size);
fin2.render(size);
bar2.render(size);
fin4.render(size);
fin3.render(size);
fin6.render(size);
center.render(size);
fin8.render(size);
fin7.render(size);
fin5.render(size);
fin1.render(size);
bar1.render(size);
bar4.render(size);
bar3.render(size);
wallRight.render(size);
portLeft.render(size);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}

View file

@ -16,6 +16,7 @@ import mekanism.client.model.ModelLaserAmplifier;
import mekanism.client.model.ModelLogisticalSorter;
import mekanism.client.model.ModelMetallurgicInfuser;
import mekanism.client.model.ModelPressurizedReactionChamber;
import mekanism.client.model.ModelResistiveHeater;
import mekanism.client.model.ModelRotaryCondensentrator;
import mekanism.client.model.ModelSeismicVibrator;
import mekanism.client.model.ModelSolarNeutronActivator;
@ -55,6 +56,7 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler
public ModelLaser laser = new ModelLaser();
public ModelLaserAmplifier laserAmplifier = new ModelLaserAmplifier();
public ModelSolarNeutronActivator solarNeutronActivator = new ModelSolarNeutronActivator();
public ModelResistiveHeater resistiveHeater = new ModelResistiveHeater();
@Override
public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
@ -211,6 +213,14 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "LaserTractorBeam.png"));
laserAmplifier.render(0.0560F);
}
else if(type == MachineType.RESISTIVE_HEATER)
{
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(180F, 0.0F, -1.0F, 0.0F);
GL11.glTranslatef(0.05F, -0.96F, 0.05F);
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "ResistiveHeater.png"));
resistiveHeater.render(0.0625F);
}
else if(type == MachineType.SOLAR_NEUTRON_ACTIVATOR)
{
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);

View file

@ -1,7 +1,7 @@
package mekanism.client.render.tileentity;
import mekanism.client.model.ModelMetallurgicInfuser;
import mekanism.common.tile.TileEntityOredictionificator;
import mekanism.client.model.ModelResistiveHeater;
import mekanism.common.tile.TileEntityResistiveHeater;
import mekanism.common.util.MekanismUtils;
import mekanism.common.util.MekanismUtils.ResourceType;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
@ -13,22 +13,21 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class RenderOredictionificator extends TileEntitySpecialRenderer
public class RenderResistiveHeater extends TileEntitySpecialRenderer
{
private ModelMetallurgicInfuser model = new ModelMetallurgicInfuser();
private ModelResistiveHeater model = new ModelResistiveHeater();
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float partialTick)
{
renderAModelAt((TileEntityOredictionificator)tileEntity, x, y, z, partialTick);
renderAModelAt((TileEntityResistiveHeater)tileEntity, x, y, z, partialTick);
}
private void renderAModelAt(TileEntityOredictionificator tileEntity, double x, double y, double z, float partialTick)
private void renderAModelAt(TileEntityResistiveHeater 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, "MetallurgicInfuser.png"));
bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "ResistiveHeater.png"));
switch(tileEntity.facing)
{

View file

@ -203,6 +203,7 @@ public class CommonProxy implements IGuiProvider
GameRegistry.registerTileEntity(TileEntityInductionProvider.class, "InductionProvider");
GameRegistry.registerTileEntity(TileEntityOredictionificator.class, "Oredictionificator");
GameRegistry.registerTileEntity(TileEntityStructuralGlass.class, "StructuralGlass");
GameRegistry.registerTileEntity(TileEntityFormulaicAssemblicator.class, "FormulaicAssemblicator");
GameRegistry.registerTileEntity(TileEntityResistiveHeater.class, "ResistiveHeater");
GameRegistry.registerTileEntity(TileEntityBoilerCasing.class, "BoilerCasing");
GameRegistry.registerTileEntity(TileEntityBoilerValve.class, "BoilerValve");

View file

@ -78,7 +78,6 @@ import mekanism.common.tile.TileEntityAdvancedBoundingBlock;
import mekanism.common.tile.TileEntityBoundingBlock;
import mekanism.common.tile.TileEntityCardboardBox;
import mekanism.common.tile.TileEntityElectricBlock;
import mekanism.common.tile.TileEntityFormulaicAssemblicator;
import mekanism.common.tile.TileEntityPressureDisperser;
import mekanism.common.tile.TileEntityQuantumEntangloporter;
import mekanism.common.tile.TileEntitySuperheatingElement;
@ -1147,7 +1146,6 @@ public class Mekanism
GameRegistry.registerTileEntity(TileEntityQuantumEntangloporter.class, "QuantumEntangloporter");
GameRegistry.registerTileEntity(TileEntityPressureDisperser.class, "PressureDisperser");
GameRegistry.registerTileEntity(TileEntitySuperheatingElement.class, "SuperheatingElement");
GameRegistry.registerTileEntity(TileEntityFormulaicAssemblicator.class, "FormulaicAssemblicator");
//Load tile entities that have special renderers.
proxy.registerSpecialTileEntities();

View file

@ -1186,7 +1186,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds, IBlo
SOLAR_NEUTRON_ACTIVATOR(MachineBlock.MACHINE_BLOCK_3, 1, "SolarNeutronActivator", 47, TileEntitySolarNeutronActivator.class, false, true, false),
AMBIENT_ACCUMULATOR(MachineBlock.MACHINE_BLOCK_3, 2, "AmbientAccumulator", 48, TileEntityAmbientAccumulator.class, true, false, false),
OREDICTIONIFICATOR(MachineBlock.MACHINE_BLOCK_3, 3, "Oredictionificator", 52, TileEntityOredictionificator.class, false, false, false),
RESISTIVE_HEATER(MachineBlock.MACHINE_BLOCK_3, 4, "ResistiveHeater", 53, TileEntityResistiveHeater.class, true, false, false),
RESISTIVE_HEATER(MachineBlock.MACHINE_BLOCK_3, 4, "ResistiveHeater", 53, TileEntityResistiveHeater.class, true, true, false),
FORMULAIC_ASSEMBLICATOR(MachineBlock.MACHINE_BLOCK_3, 5, "FormulaicAssemblicator", 56, TileEntityFormulaicAssemblicator.class, true, false, true);
public MachineBlock typeBlock;

View file

@ -141,7 +141,7 @@ public class FusionReactor implements IFusionReactor
else {
burning = false;
}
//Perform the heat transfer calculations
transferHeat();
@ -218,7 +218,7 @@ public class FusionReactor implements IFusionReactor
double plasmaCaseHeat = plasmaCaseConductivity * (lastPlasmaTemperature - lastCaseTemperature);
plasmaTemperature -= plasmaCaseHeat / plasmaHeatCapacity;
caseTemperature += plasmaCaseHeat / caseHeatCapacity;
//Transfer from casing to water if necessary
if(activelyCooled)
{

View file

@ -35,8 +35,7 @@ import cpw.mods.fml.relauncher.SideOnly;
public class TileEntityReactorController extends TileEntityReactorBlock implements IActiveState, IHasSound, ISoundSource
{
public static final int MAX_WATER = 100 * FluidContainerRegistry.BUCKET_VOLUME;
public static final int MAX_STEAM = MAX_WATER * 1000;
public static final int MAX_STEAM = MAX_WATER * 100;
public static final int MAX_FUEL = 1 * FluidContainerRegistry.BUCKET_VOLUME;
public FluidTank waterTank = new FluidTank(MAX_WATER);

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB