finished vacuum refinery, more oils

This commit is contained in:
Bob 2023-03-05 18:37:23 +01:00
parent cd3dce4350
commit 0df987b689
20 changed files with 269 additions and 26 deletions

View File

@ -28,9 +28,9 @@ public class ContainerMachineRefinery extends Container {
this.addSlotToContainer(new Slot(tedf, 3, 80, 90));
//Heavy Oil Output
this.addSlotToContainer(new SlotMachineOutput(tedf, 4, 80, 108));
//Nahptha Input
//Naphtha Input
this.addSlotToContainer(new Slot(tedf, 5, 98, 90));
//Nahptha Output
//Naphtha Output
this.addSlotToContainer(new SlotMachineOutput(tedf, 6, 98, 108));
//Light Oil Input
this.addSlotToContainer(new Slot(tedf, 7, 116, 90));

View File

@ -97,13 +97,18 @@ public class Fluids {
public static FluidType COALCREOSOTE;
public static FluidType SEEDSLURRY;
public static FluidType NITRIC_ACID;
public static FluidType SOLVENT; //oranic solvent in fact
public static FluidType BLOOD; //BLOOD ORB! BLOOD ORB! BLOOD ORB!
public static FluidType SOLVENT; //oranic solvent in fact
public static FluidType BLOOD; //BLOOD ORB! BLOOD ORB! BLOOD ORB!
public static FluidType BLOOD_HOT;
public static FluidType SYNGAS;
public static FluidType OXYHYDROGEN;
public static FluidType RADIOSOLVENT;
public static FluidType CHLORINE; //everone's favorite!
public static FluidType CHLORINE; //everone's favorite!
public static FluidType HEAVYOIL_VACUUM;
public static FluidType REFORMATE;
public static FluidType LIGHTOIL_VACUUM;
public static FluidType SOURGAS;
public static FluidType XYLENE;
private static final HashMap<Integer, FluidType> idMapping = new HashMap();
private static final HashMap<String, FluidType> nameMapping = new HashMap();
@ -223,7 +228,12 @@ public class Fluids {
SYNGAS = new FluidType("SYNGAS", 0x131313, 1, 4, 2, EnumSymbol.NONE).addTraits(GASEOUS);
OXYHYDROGEN = new FluidType("OXYHYDROGEN", 0x483FC1, 0, 4, 2, EnumSymbol.NONE).addTraits(GASEOUS);
RADIOSOLVENT = new FluidType("RADIOSOLVENT", 0xA4D7DD, 3, 3, 0, EnumSymbol.NONE).addTraits(LIQUID, LEADCON, new FT_Corrosive(50), new FT_VentRadiation(0.01F));
CHLORINE = new FluidType(89, "CHLORINE", 0xBAB572, 4, 0, 0, EnumSymbol.OXIDIZER).addTraits(GASEOUS, new FT_Corrosive(25), new FT_Poison(true, 1));
CHLORINE = new FluidType("CHLORINE", 0xBAB572, 4, 0, 0, EnumSymbol.OXIDIZER).addTraits(GASEOUS, new FT_Corrosive(25), new FT_Poison(true, 1));
HEAVYOIL_VACUUM = new FluidType("HEAVYOIL_VACUUM", 0x131214, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID);
REFORMATE = new FluidType("REFORMATE", 0x835472, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID);
LIGHTOIL_VACUUM = new FluidType("LIGHTOIL_VACUUM", 0x8C8851, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID);
SOURGAS = new FluidType("SOURGAS", 0xC9BE0D, 4, 4, 0, EnumSymbol.ACID).addTraits(GASEOUS, new FT_Corrosive(10));
XYLENE = new FluidType(94, "XYLENE", 0x5C4E76, 2, 3, 0, EnumSymbol.NONE).addTraits(LIQUID);
// ^ ^ ^ ^ ^ ^ ^ ^
@ -268,10 +278,13 @@ public class Fluids {
metaOrder.add(HOTOIL);
metaOrder.add(HOTCRACKOIL);
metaOrder.add(HEAVYOIL);
metaOrder.add(HEAVYOIL_VACUUM);
metaOrder.add(NAPHTHA);
metaOrder.add(NAPHTHA_CRACK);
metaOrder.add(REFORMATE);
metaOrder.add(LIGHTOIL);
metaOrder.add(LIGHTOIL_CRACK);
metaOrder.add(LIGHTOIL_VACUUM);
metaOrder.add(BITUMEN);
metaOrder.add(SMEAR);
metaOrder.add(HEATINGOIL);
@ -279,11 +292,13 @@ public class Fluids {
metaOrder.add(LUBRICANT);
metaOrder.add(GAS);
metaOrder.add(PETROLEUM);
metaOrder.add(SOURGAS);
metaOrder.add(LPG);
metaOrder.add(SYNGAS);
metaOrder.add(OXYHYDROGEN);
metaOrder.add(AROMATICS);
metaOrder.add(UNSATURATEDS);
metaOrder.add(XYLENE);
metaOrder.add(DIESEL);
metaOrder.add(DIESEL_CRACK);
metaOrder.add(KEROSENE);

View File

@ -40,7 +40,7 @@ public class GUIMachineVacuumDistill extends GuiInfoContainer {
protected void drawGuiContainerForegroundLayer(int i, int j) {
String name = this.refinery.hasCustomInventoryName() ? this.refinery.getInventoryName() : I18n.format(this.refinery.getInventoryName());
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 0xffffff);
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 5, 0xffffff);
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
}
@ -51,9 +51,9 @@ public class GUIMachineVacuumDistill extends GuiInfoContainer {
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
int j = (int) (refinery.power * 54 / refinery.maxPower);
drawTexturedModalRect(guiLeft + 8, guiTop + 70 - j, 176, 52 - j, 16, j);
drawTexturedModalRect(guiLeft + 26, guiTop + 70 - j, 176, 52 - j, 16, j);
refinery.tanks[0].renderTank(guiLeft + 26, guiTop + 70, this.zLevel, 34, 52);
refinery.tanks[0].renderTank(guiLeft + 44, guiTop + 70, this.zLevel, 16, 52);
refinery.tanks[1].renderTank(guiLeft + 80, guiTop + 70, this.zLevel, 16, 52);
refinery.tanks[2].renderTank(guiLeft + 98, guiTop + 70, this.zLevel, 16, 52);
refinery.tanks[3].renderTank(guiLeft + 116, guiTop + 70, this.zLevel, 16, 52);

View File

@ -36,6 +36,8 @@ public class FractionRecipes extends SerializableRecipe {
public static final int coal_frac_oil = 70;
public static final int creo_frac_coaloil = 10;
public static final int creo_frac_bitu = 90;
public static final int reform_frac_arom = 40;
public static final int reform_frac_xyle = 60;
private static Map<FluidType, Pair<FluidStack, FluidStack>> fractions = new HashMap();
@ -49,6 +51,7 @@ public class FractionRecipes extends SerializableRecipe {
fractions.put(Fluids.LIGHTOIL_CRACK, new Pair(new FluidStack(Fluids.KEROSENE, lcrack_frac_kero), new FluidStack(Fluids.PETROLEUM, lcrack_frac_petro)));
fractions.put(Fluids.COALOIL, new Pair(new FluidStack(Fluids.COALGAS, coal_frac_coalgas), new FluidStack(Fluids.OIL, coal_frac_oil)));
fractions.put(Fluids.COALCREOSOTE, new Pair(new FluidStack(Fluids.COALOIL, creo_frac_coaloil), new FluidStack(Fluids.BITUMEN, creo_frac_bitu)));
fractions.put(Fluids.REFORMATE, new Pair(new FluidStack(Fluids.AROMATICS, reform_frac_arom), new FluidStack(Fluids.XYLENE, reform_frac_xyle)));
}
public static Pair<FluidStack, FluidStack> getFractions(FluidType oil) {

View File

@ -344,6 +344,8 @@ public class ModItems {
public static Item ingot_polymer;
public static Item ingot_bakelite;
public static Item ingot_rubber;
public static Item ingot_pet;
public static Item ingot_pvc;
public static Item ingot_fiberglass;
public static Item ingot_asbestos;
@ -1232,6 +1234,7 @@ public class ModItems {
public static Item ballistite;
public static Item ball_dynamite;
public static Item ball_tnt;
public static Item ball_tatb;
public static Item ball_fireclay;
public static Item pellet_cluster;
@ -2818,6 +2821,8 @@ public class ModItems {
ingot_polymer = new ItemCustomLore().setUnlocalizedName("ingot_polymer").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_polymer");
ingot_bakelite = new ItemCustomLore().setUnlocalizedName("ingot_bakelite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bakelite");
ingot_rubber = new ItemCustomLore().setUnlocalizedName("ingot_rubber").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_rubber");
ingot_pet = new ItemCustomLore().setUnlocalizedName("ingot_pet").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pet");
ingot_pvc = new ItemCustomLore().setUnlocalizedName("ingot_pvc").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pvc");
ingot_desh = new ItemCustomLore().setUnlocalizedName("ingot_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_desh");
nugget_desh = new ItemCustomLore().setUnlocalizedName("nugget_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_desh");
ingot_dineutronium = new ItemCustomLore().setUnlocalizedName("ingot_dineutronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_dineutronium");
@ -4058,6 +4063,7 @@ public class ModItems {
ballistite = new Item().setUnlocalizedName("ballistite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ballistite");
ball_dynamite = new Item().setUnlocalizedName("ball_dynamite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ball_dynamite");
ball_tnt = new Item().setUnlocalizedName("ball_tnt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ball_tnt");
ball_tatb = new Item().setUnlocalizedName("ball_tatb").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ball_tatb");
ball_fireclay = new Item().setUnlocalizedName("ball_fireclay").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ball_fireclay");
pellet_gas = new ItemCustomLore().setUnlocalizedName("pellet_gas").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellet_gas");
magnetron = new ItemCustomLore().setUnlocalizedName("magnetron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":magnetron_alt");
@ -5908,6 +5914,8 @@ public class ModItems {
GameRegistry.registerItem(ingot_polymer, ingot_polymer.getUnlocalizedName());
GameRegistry.registerItem(ingot_bakelite, ingot_bakelite.getUnlocalizedName());
GameRegistry.registerItem(ingot_rubber, ingot_rubber.getUnlocalizedName());
GameRegistry.registerItem(ingot_pet, ingot_pet.getUnlocalizedName());
GameRegistry.registerItem(ingot_pvc, ingot_pvc.getUnlocalizedName());
GameRegistry.registerItem(ingot_schraranium, ingot_schraranium.getUnlocalizedName());
GameRegistry.registerItem(ingot_schrabidium, ingot_schrabidium.getUnlocalizedName());
GameRegistry.registerItem(ingot_schrabidate, ingot_schrabidate.getUnlocalizedName());
@ -6148,6 +6156,7 @@ public class ModItems {
GameRegistry.registerItem(ballistite, ballistite.getUnlocalizedName());
GameRegistry.registerItem(ball_dynamite, ball_dynamite.getUnlocalizedName());
GameRegistry.registerItem(ball_tnt, ball_tnt.getUnlocalizedName());
GameRegistry.registerItem(ball_tatb, ball_tatb.getUnlocalizedName());
GameRegistry.registerItem(ball_fireclay, ball_fireclay.getUnlocalizedName());
//Ores

View File

@ -1,6 +1,7 @@
package com.hbm.render.entity.projectile;
import java.awt.Color;
import java.util.Random;
import org.lwjgl.opengl.GL11;
@ -89,13 +90,18 @@ public class RenderChemical extends Render {
Tessellator tess = Tessellator.instance;
GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
Random rand = new Random(chem.getEntityId());
int i = rand.nextInt(2);
int j = rand.nextInt(2);
tess.startDrawingQuads();
tess.setNormal(0.0F, 1.0F, 0.0F);
tess.setColorRGBA_I(color, (int) Math.max(127 * (1 - exp), 0));
tess.addVertexWithUV(-size, -size, 0.0D, 1, 1);
tess.addVertexWithUV(size, -size, 0.0D, 0, 1);
tess.addVertexWithUV(size, size, 0.0D, 0, 0);
tess.addVertexWithUV(-size, size, 0.0D, 1, 0);
tess.addVertexWithUV(-size, -size, 0.0D, 1 - i, 1 - j);
tess.addVertexWithUV(size, -size, 0.0D, i, 1 - j);
tess.addVertexWithUV(size, size, 0.0D, i, j);
tess.addVertexWithUV(-size, size, 0.0D, 1 - i, j);
tess.draw();
GL11.glDepthMask(true);

View File

@ -4,16 +4,27 @@ import org.lwjgl.opengl.GL11;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.items.ModItems;
import com.hbm.lib.RefStrings;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.util.HorsePronter;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
public class RenderCatalyticReformer extends TileEntitySpecialRenderer implements IItemRendererProvider {
private static ResourceLocation extra = new ResourceLocation(RefStrings.MODID, "textures/models/horse/dyx.png");
@Override
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float f) {
@ -34,6 +45,37 @@ public class RenderCatalyticReformer extends TileEntitySpecialRenderer implement
ResourceManager.catalytic_reformer.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
/// rapidly spinning dicks ///
GL11.glTranslated(-1.125, 1.375, 1);
double s = 0.125D;
GL11.glScaled(s, s, s);
GL11.glRotated(System.currentTimeMillis() / 5D % 360D, 0, -1, 0);
GL11.glTranslated(0, 0.1, -0.5);
this.bindTexture(extra);
HorsePronter.reset();
double r = 60;
HorsePronter.pose(HorsePronter.id_body, 0, -r, 0);
HorsePronter.pose(HorsePronter.id_tail, 0, 45, 90);
HorsePronter.pose(HorsePronter.id_lbl, 0, -90 + r, 35);
HorsePronter.pose(HorsePronter.id_rbl, 0, -90 + r, -35);
HorsePronter.pose(HorsePronter.id_lfl, 0, r - 10, 5);
HorsePronter.pose(HorsePronter.id_rfl, 0, r - 10, -5);
HorsePronter.pose(HorsePronter.id_head, 0, r, 0);
HorsePronter.enableHorn();
HorsePronter.enableWings();
HorsePronter.pront();
ItemStack stack = new ItemStack(ModItems.cigarette);
double scale = 0.25;
GL11.glTranslated(0.02, 1.13, -0.42);
GL11.glScaled(scale, scale, scale);
GL11.glRotated(90, 0, -1, 0);
GL11.glRotated(60, 0, 0, -1);
bindTexture(TextureMap.locationItemsTexture);
IIcon icon = stack.getIconIndex();
ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glPopMatrix();
}
@ -47,8 +89,8 @@ public class RenderCatalyticReformer extends TileEntitySpecialRenderer implement
public IItemRenderer getRenderer() {
return new ItemRenderBase() {
public void renderInventory() {
GL11.glTranslated(0, -4, 0);
GL11.glScaled(3, 3, 3);
GL11.glTranslated(0, -3, 0);
GL11.glScaled(3.5, 3.5, 3.5);
}
public void renderCommon() {
GL11.glScaled(0.5, 0.5, 0.5);

View File

@ -6,12 +6,19 @@ import org.lwjgl.BufferUtils;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import com.hbm.items.ModItems;
import com.hbm.lib.RefStrings;
import com.hbm.main.ResourceManager;
import com.hbm.render.util.HorsePronter;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
@ -35,8 +42,9 @@ public class RendererObjTester extends TileEntitySpecialRenderer {
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5, y, z + 0.5);
GL11.glEnable(GL11.GL_LIGHTING);
this.bindTexture(HorsePronter.tex_demohorse);
GL11.glTranslated(0, 0, 0.75);
this.bindTexture(new ResourceLocation(RefStrings.MODID, "textures/models/horse/dyx.png"));
HorsePronter.reset();
//HorsePronter.pose(HorsePronter.id_lfl, 0, System.currentTimeMillis() % 360 / 10D, 0);
double r = 60;
@ -48,8 +56,23 @@ public class RendererObjTester extends TileEntitySpecialRenderer {
HorsePronter.pose(HorsePronter.id_rfl, 0, r - 10, -5);
HorsePronter.pose(HorsePronter.id_head, 0, r, 0);
HorsePronter.enableHorn();
HorsePronter.enableWings();
HorsePronter.pront();
ItemStack stack = new ItemStack(ModItems.cigarette);
double scale = 0.25;
GL11.glTranslated(0.02, 1.13, -0.42);
GL11.glScaled(scale, scale, scale);
GL11.glRotated(90, 0, -1, 0);
GL11.glRotated(60, 0, 0, -1);
bindTexture(TextureMap.locationItemsTexture);
IIcon icon = stack.getIconIndex();
float f14 = icon.getMinU();
float f15 = icon.getMaxU();
float f4 = icon.getMinV();
float f5 = icon.getMaxV();
ItemRenderer.renderItemIn2D(Tessellator.instance, f15, f4, f14, f5, icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
GL11.glPopMatrix();
}

View File

@ -71,6 +71,17 @@ public class HorsePronter {
enableWings();
}
public static void poseStandardSit() {
double r = 60;
pose(HorsePronter.id_body, 0, -r, 0);
pose(HorsePronter.id_tail, 0, 45, 90);
pose(HorsePronter.id_lbl, 0, -90 + r, 35);
pose(HorsePronter.id_rbl, 0, -90 + r, -35);
pose(HorsePronter.id_lfl, 0, r - 10, 5);
pose(HorsePronter.id_rfl, 0, r - 10, -5);
pose(HorsePronter.id_head, 0, r, 0);
}
public static void pose(int id, double yaw, double pitch, double roll) {
pose[id].xCoord = yaw;
pose[id].yCoord = pitch;
@ -80,6 +91,7 @@ public class HorsePronter {
public static void pront() {
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_CULL_FACE);
doTransforms(id_body);
horse.renderPart("Body");
@ -100,7 +112,8 @@ public class HorsePronter {
horse.renderPart("LeftWing");
horse.renderPart("RightWing");
}
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glPopMatrix();
}

View File

@ -1,11 +1,15 @@
package com.hbm.tileentity.machine.oil;
import com.hbm.inventory.container.ContainerMachineVacuumDistill;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUIMachineVacuumDistill;
import com.hbm.lib.Library;
import com.hbm.tileentity.IGUIProvider;
import com.hbm.tileentity.IPersistentNBT;
import com.hbm.tileentity.TileEntityMachineBase;
import com.hbm.util.fauxpointtwelve.DirPos;
import api.hbm.energy.IEnergyUser;
import api.hbm.fluid.IFluidStandardTransceiver;
@ -14,10 +18,12 @@ import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implements IEnergyUser, IFluidStandardTransceiver, IGUIProvider {
public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implements IEnergyUser, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider {
public long power;
public static final long maxPower = 1_000_000;
@ -29,10 +35,10 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem
this.tanks = new FluidTank[5];
this.tanks[0] = new FluidTank(Fluids.OIL, 64_000);
this.tanks[1] = new FluidTank(Fluids.HEAVYOIL, 24_000);
this.tanks[2] = new FluidTank(Fluids.NAPHTHA, 24_000);
this.tanks[3] = new FluidTank(Fluids.LIGHTOIL, 24_000);
this.tanks[4] = new FluidTank(Fluids.PETROLEUM, 24_000);
this.tanks[1] = new FluidTank(Fluids.HEAVYOIL_VACUUM, 24_000);
this.tanks[2] = new FluidTank(Fluids.REFORMATE, 24_000);
this.tanks[3] = new FluidTank(Fluids.LIGHTOIL_VACUUM, 24_000);
this.tanks[4] = new FluidTank(Fluids.SOURGAS, 24_000);
}
@Override
@ -43,6 +49,99 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem
@Override
public void updateEntity() {
if(!worldObj.isRemote) {
this.updateConnections();
power = Library.chargeTEFromItems(slots, 0, power, maxPower);
tanks[0].loadTank(1, 2, slots);
refine();
tanks[1].unloadTank(3, 4, slots);
tanks[2].unloadTank(5, 6, slots);
tanks[3].unloadTank(7, 8, slots);
tanks[4].unloadTank(9, 10, slots);
for(DirPos pos : getConPos()) {
for(int i = 1; i < 5; i++) {
if(tanks[i].getFill() > 0) {
this.sendFluid(tanks[i].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
}
}
}
NBTTagCompound data = new NBTTagCompound();
data.setLong("power", this.power);
for(int i = 0; i < 5; i++) tanks[i].writeToNBT(data, "" + i);
this.networkPack(data, 150);
}
}
@Override
public void networkUnpack(NBTTagCompound nbt) {
this.power = nbt.getLong("power");
for(int i = 0; i < 5; i++) tanks[i].readFromNBT(nbt, "" + i);
}
private void refine() {
if(power < 10_000) return;
if(tanks[0].getFill() < 100) return;
if(tanks[1].getFill() + 40 > tanks[1].getMaxFill()) return;
if(tanks[2].getFill() + 25 > tanks[2].getMaxFill()) return;
if(tanks[3].getFill() + 15 > tanks[3].getMaxFill()) return;
if(tanks[4].getFill() + 10 > tanks[4].getMaxFill()) return;
power -= 10_000;
tanks[0].setFill(tanks[0].getFill() - 100);
tanks[1].setFill(tanks[1].getFill() + 40);
tanks[2].setFill(tanks[2].getFill() + 25);
tanks[3].setFill(tanks[3].getFill() + 15);
tanks[4].setFill(tanks[4].getFill() + 10);
}
private void updateConnections() {
for(DirPos pos : getConPos()) {
this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
}
}
public DirPos[] getConPos() {
return new DirPos[] {
new DirPos(xCoord + 2, yCoord, zCoord + 1, Library.POS_X),
new DirPos(xCoord + 2, yCoord, zCoord - 1, Library.POS_X),
new DirPos(xCoord - 2, yCoord, zCoord + 1, Library.NEG_X),
new DirPos(xCoord - 2, yCoord, zCoord - 1, Library.NEG_X),
new DirPos(xCoord + 1, yCoord, zCoord + 2, Library.POS_Z),
new DirPos(xCoord - 1, yCoord, zCoord + 2, Library.POS_Z),
new DirPos(xCoord + 1, yCoord, zCoord - 2, Library.NEG_Z),
new DirPos(xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z)
};
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
power = nbt.getLong("power");
tanks[0].readFromNBT(nbt, "input");
tanks[1].readFromNBT(nbt, "heavy");
tanks[2].readFromNBT(nbt, "naphtha");
tanks[3].readFromNBT(nbt, "light");
tanks[4].readFromNBT(nbt, "petroleum");
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
nbt.setLong("power", power);
tanks[0].writeToNBT(nbt, "input");
tanks[1].writeToNBT(nbt, "heavy");
tanks[2].writeToNBT(nbt, "naphtha");
tanks[3].writeToNBT(nbt, "light");
tanks[4].writeToNBT(nbt, "petroleum");
}
AxisAlignedBB bb = null;
@ -87,17 +186,36 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem
@Override
public FluidTank[] getAllTanks() {
return null;
return tanks;
}
@Override
public FluidTank[] getSendingTanks() {
return null;
return new FluidTank[] {tanks[1], tanks[2], tanks[3], tanks[4]};
}
@Override
public FluidTank[] getReceivingTanks() {
return null;
return new FluidTank[] {tanks[0]};
}
@Override
public boolean canConnect(FluidType type, ForgeDirection dir) {
return dir != ForgeDirection.UNKNOWN && dir != ForgeDirection.DOWN;
}
@Override
public void writeNBT(NBTTagCompound nbt) {
if(tanks[0].getFill() == 0 && tanks[1].getFill() == 0 && tanks[2].getFill() == 0 && tanks[3].getFill() == 0 && tanks[4].getFill() == 0) return;
NBTTagCompound data = new NBTTagCompound();
for(int i = 0; i < 5; i++) this.tanks[i].writeToNBT(data, "" + i);
nbt.setTag(NBT_PERSISTENT_KEY, data);
}
@Override
public void readNBT(NBTTagCompound nbt) {
NBTTagCompound data = nbt.getCompoundTag(NBT_PERSISTENT_KEY);
for(int i = 0; i < 5; i++) this.tanks[i].readFromNBT(data, "" + i);
}
@Override

View File

@ -403,6 +403,7 @@ container.turretRichard=Richard
container.turretSentry=Brown
container.turretTauon=Tauon
container.uf6_tank=UF6 Tank
container.vacuumDistill=Vakuumraffinerie
container.wasteDrum=Abklingbecken-Trommel
container.watzPowerplant=Watzkraftwerk
container.zirnox=ZIRNOX Atomreaktor
@ -611,6 +612,7 @@ hbmfluid.gasoline=Benzin
hbmfluid.gasoline_leaded=Bleibenzin
hbmfluid.heatingoil=Heizöl
hbmfluid.heavyoil=Schweröl
hbmfluid.heavyoil_vacuum=Vakuum-Schweröl
hbmfluid.heavywater=Schweres Wasser
hbmfluid.helium3=Helium-3
hbmfluid.hotcrackoil=Heißes Crack-Öl
@ -621,6 +623,7 @@ hbmfluid.kerosene=Kerosin
hbmfluid.lava=Lava
hbmfluid.lightoil=Leichtöl
hbmfluid.lightoil_crack=Crack-Leichtöl
hbmfluid.lightoil_vacuum=Vakuum-Leichtöl
hbmfluid.lpg=LPG
hbmfluid.lubricant=Schmiermittel
hbmfluid.mercury=Quecksilber
@ -647,12 +650,14 @@ hbmfluid.plasma_xm=Xenon-Quecksilber-Plasma
hbmfluid.puf6=Plutoniumhexafluorid
hbmfluid.radiosolvent=Hochleistungs-Lösungsmittel
hbmfluid.reclaimed=Wiederaufbetreitetes Industrieöl
hbmfluid.reformate=Reformat
hbmfluid.salient=Saftiges Grün
hbmfluid.sas3=Schrabidiumtrisulfat
hbmfluid.schrabidic=Schrabidische Säure
hbmfluid.seedslurry=Saatgemisch
hbmfluid.smear=Industrieöl
hbmfluid.solvent=Lösungsmittel
hbmfluid.sourgas=Saures Gas
hbmfluid.spentsteam=Niedrigdruckdampf
hbmfluid.steam=Dampf
hbmfluid.sulfuric_acid=Schwefelsäure
@ -669,6 +674,7 @@ hbmfluid.watz=Giftiger Schlamm
hbmfluid.woodoil=Holzöl
hbmfluid.xenon=Xenongas
hbmfluid.xpjuice=Erfahrungssaft
hbmfluid.xylene=BTX
hbmmat.actinium227=Actinium-227
hbmmat.advancedalloy=Fortgeschrittene Legierung
@ -3885,6 +3891,7 @@ tile.machine_turbine.desc=Effizienz: 85%%
tile.machine_turbinegas.name=Kombizyklus-Gasturbine
tile.machine_turbofan.name=Turbofan
tile.machine_uf6_tank.name=Uranhexafluorid-Tank
tile.machine_vacuum_distill.name=Vakuumraffinerie
tile.machine_waste_drum.name=Abklingbecken-Trommel
tile.machine_well.name=Ölbohrturm
tile.machine_zirnox.name=ZIRNOX Atomreaktor

View File

@ -684,6 +684,7 @@ container.turretRichard=Richard
container.turretSentry=Brown
container.turretTauon=Tauon
container.uf6_tank=UF6 Tank
container.vacuumDistill=Vacuum Refinery
container.wasteDrum=Spent Fuel Pool Drum
container.watzPowerplant=Watz Power Plant
container.zirnox=ZIRNOX Nuclear Reactor
@ -1168,6 +1169,7 @@ hbmfluid.gasoline=Gasoline
hbmfluid.gasoline_leaded=Leaded Gasoline
hbmfluid.heatingoil=Heating Oil
hbmfluid.heavyoil=Heavy Oil
hbmfluid.heavyoil_vacuum=Vacuum Heavy Oil
hbmfluid.heavywater=Heavy Water
hbmfluid.helium3=Helium-3
hbmfluid.hotcrackoil=Hot Cracked Oil
@ -1178,6 +1180,7 @@ hbmfluid.kerosene=Kerosene
hbmfluid.lava=Lava
hbmfluid.lightoil=Light Oil
hbmfluid.lightoil_crack=Cracked Light Oil
hbmfluid.lightoil_vacuum=Vacuum Light Oil
hbmfluid.lpg=LPG
hbmfluid.lubricant=Engine Lubricant
hbmfluid.mercury=Mercury
@ -1204,12 +1207,14 @@ hbmfluid.plasma_xm=Xenon-Mercury Plasma
hbmfluid.puf6=Plutonium Hexafluoride
hbmfluid.radiosolvent=High-Performance Solvent
hbmfluid.reclaimed=Reclaimed Industrial Oil
hbmfluid.reformate=Reformate
hbmfluid.salient=Salient Green
hbmfluid.sas3=Schrabidium Trisulfide
hbmfluid.schrabidic=Schrabidic Acid
hbmfluid.seedslurry=Seeding Slurry
hbmfluid.smear=Industrial Oil
hbmfluid.solvent=Solvent
hbmfluid.sourgas=Sour Gas
hbmfluid.spentsteam=Low-Pressure Steam
hbmfluid.steam=Steam
hbmfluid.sulfuric_acid=Sulfuric Acid
@ -1226,6 +1231,7 @@ hbmfluid.watz=Poisonous Mud
hbmfluid.woodoil=Wood Oil
hbmfluid.xenon=Xenon Gas
hbmfluid.xpjuice=Experience Juice
hbmfluid.xylene=BTX
hbmpseudofluid.none=Empty
hbmpseudofluid.heuf6=Highly Enriched UF6
hbmpseudofluid.meuf6=Medium Enriched UF6
@ -4690,6 +4696,7 @@ tile.machine_turbine.desc=Efficiency: 85%%
tile.machine_turbinegas.name=Combined Cycle Gas Turbine
tile.machine_turbofan.name=Turbofan
tile.machine_uf6_tank.name=Uranium Hexafluoride Tank
tile.machine_vacuum_distill.name=Vacuum Refinery
tile.machine_waste_drum.name=Spent Fuel Pool Drum
tile.machine_well.name=Oil Derrick
tile.machine_zirnox.name=ZIRNOX Nuclear Reactor

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 548 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 554 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 555 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 648 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB