facing oblivion to become the lode star

This commit is contained in:
Boblet 2025-06-06 14:03:52 +02:00
parent 60f05defe0
commit cf82ea3796
18 changed files with 178 additions and 25 deletions

View File

@ -8,6 +8,13 @@
* Reworked chemical plant * Reworked chemical plant
* No longer needs template items for everything, comes with a convenient recipe selector GUI * No longer needs template items for everything, comes with a convenient recipe selector GUI
* Three item and three fluids for in and outputs * Three item and three fluids for in and outputs
* Slots are locked to the ingredients they accept, allowing for better performance and shift click support
* Item IO now works like most other machines instead of using chutes
* If the center block right above the chemplant is not air, it will render with a frame, making chemplant stacking actually nice to look at
* Now has a more convenient 3x3 footprint
* Features 12 access ports, more than enough for full coverage of the entire machine's IO
* Has an optional slot for template items separate from the recipe selector (i.e. secret recipes)
* Ports are now standardized, no longer are fluids connected to ports that look like copper contacts
## Changed ## Changed
* The RBMK console's grid can now be rotated using a screwdriver * The RBMK console's grid can now be rotated using a screwdriver
@ -28,10 +35,11 @@
* Water to hydrogen peroxide is now 1,000 : 1,000 (instead of 1,000 : 800) * Water to hydrogen peroxide is now 1,000 : 1,000 (instead of 1,000 : 800)
* Sulfuric acid's peroxide requirement has been adjusted accordingly * Sulfuric acid's peroxide requirement has been adjusted accordingly
* Nitric acid has an alternate recipe using air and water, however it takes 4x as long and has a base consumption of 2kHE/t * Nitric acid has an alternate recipe using air and water, however it takes 4x as long and has a base consumption of 2kHE/t
* Desh now only takes 10 seconds to produce instead of 15 * Desh now only takes 5 seconds to produce instead of 15
* Laminate now only takes 50mB of either fluid per recipe and processes much quicker * Laminate now only takes 50mB of either fluid per recipe and processes much quicker
* Ducrete now uses U238 in the form of ferrouranium, and no longer requires gravel at all * Ducrete now uses U238 in the form of ferrouranium, decreasing U238 needed, and no longer requires gravel at all
* All recipes for nuclear fuel production now have a higher base consumption * All recipes for nuclear fuel production now have a higher base consumption
* Base consumption in general has been tweaked for many later-game recipes. Many recipes however still use the old 100HE/t rate
* Cordite now uses sawdust instead of wood planks and sugar * Cordite now uses sawdust instead of wood planks and sugar
* Kevlar is now made from aromatics, nitric acid and chlorine (or phosgene in 528 mode) * Kevlar is now made from aromatics, nitric acid and chlorine (or phosgene in 528 mode)
* Electrolysis using the chemplant has been removed. Hydrogen can be made using water and coal (or coke), and oxygen can be distilled from intake air * Electrolysis using the chemplant has been removed. Hydrogen can be made using water and coal (or coke), and oxygen can be distilled from intake air
@ -40,6 +48,7 @@
* Glyphid meat processing is now less autistic * Glyphid meat processing is now less autistic
* Making rusty steel now only takes 2 seconds per recipe * Making rusty steel now only takes 2 seconds per recipe
* Perfluoromethyl can now also be made in the chemical plant (technically, the process isn't just simple mixing after all) * Perfluoromethyl can now also be made in the chemical plant (technically, the process isn't just simple mixing after all)
* Recipe changes are still subject to balancing
* Removed niter to nitric acid liquefaction recipe * Removed niter to nitric acid liquefaction recipe
## Fixed ## Fixed
@ -52,3 +61,4 @@
* Fixed server crash caused by tool abilities * Fixed server crash caused by tool abilities
* Fixed chunkloading entities not releasing their loading tickets properly * Fixed chunkloading entities not releasing their loading tickets properly
* Potentially fixed a dupe issue related to tool abilities * Potentially fixed a dupe issue related to tool abilities
* Fixed certain sky features not being as bright as they should be

View File

@ -4,6 +4,7 @@ import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.BlockEnums.EnumStoneType; import com.hbm.blocks.BlockEnums.EnumStoneType;
import com.hbm.inventory.material.MaterialShapes; import com.hbm.inventory.material.MaterialShapes;
import com.hbm.items.ItemEnums.EnumCokeType; import com.hbm.items.ItemEnums.EnumCokeType;
import com.hbm.items.ItemGenericPart.EnumPartType;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial; import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial;
import com.hbm.items.special.ItemWasteLong; import com.hbm.items.special.ItemWasteLong;
@ -421,6 +422,7 @@ public class MineralRecipes {
GameRegistry.addRecipe(new ItemStack(ModItems.egg_balefire_shard, 9), new Object[] { "#", '#', ModItems.egg_balefire }); GameRegistry.addRecipe(new ItemStack(ModItems.egg_balefire_shard, 9), new Object[] { "#", '#', ModItems.egg_balefire });
GameRegistry.addRecipe(new ItemStack(ModItems.nitra, 1), new Object[] { "##", "##", '#', ModItems.nitra_small }); GameRegistry.addRecipe(new ItemStack(ModItems.nitra, 1), new Object[] { "##", "##", '#', ModItems.nitra_small });
GameRegistry.addRecipe(new ItemStack(ModItems.nitra_small, 4), new Object[] { "#", '#', ModItems.nitra }); GameRegistry.addRecipe(new ItemStack(ModItems.nitra_small, 4), new Object[] { "#", '#', ModItems.nitra });
GameRegistry.addRecipe(new ItemStack(ModBlocks.glass_polarized, 4), new Object[] { "##", "##", '#', DictFrame.fromOne(ModItems.part_generic, EnumPartType.GLASS_POLARIZED) });
add1To9Pair(ModItems.powder_paleogenite, ModItems.powder_paleogenite_tiny); add1To9Pair(ModItems.powder_paleogenite, ModItems.powder_paleogenite_tiny);
add1To9Pair(ModItems.ingot_osmiridium, ModItems.nugget_osmiridium); add1To9Pair(ModItems.ingot_osmiridium, ModItems.nugget_osmiridium);

View File

@ -11,6 +11,7 @@ import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.recipes.loader.GenericRecipe; import com.hbm.inventory.recipes.loader.GenericRecipe;
import com.hbm.inventory.recipes.loader.GenericRecipes; import com.hbm.inventory.recipes.loader.GenericRecipes;
import com.hbm.items.ItemEnums.EnumFuelAdditive; import com.hbm.items.ItemEnums.EnumFuelAdditive;
import com.hbm.items.ItemGenericPart.EnumPartType;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
@ -130,7 +131,7 @@ public class ChemicalPlantRecipes extends GenericRecipes<GenericRecipe> {
.outputItems(new ItemStack(ModBlocks.asphalt, 16))); .outputItems(new ItemStack(ModBlocks.asphalt, 16)));
/// SOLIDS /// /// SOLIDS ///
this.register(new GenericRecipe("chem.desh").setup(200, 100) this.register(new GenericRecipe("chem.desh").setup(100, 100)
.inputItems(new ComparableStack(ModItems.powder_desh_mix)) .inputItems(new ComparableStack(ModItems.powder_desh_mix))
.inputFluids((GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleChemsitry) ? .inputFluids((GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleChemsitry) ?
new FluidStack[] {new FluidStack(Fluids.LIGHTOIL, 200)} : new FluidStack[] {new FluidStack(Fluids.LIGHTOIL, 200)} :
@ -160,11 +161,11 @@ public class ChemicalPlantRecipes extends GenericRecipes<GenericRecipe> {
.inputFluids(new FluidStack(Fluids.UNSATURATEDS, 250, GeneralConfig.enable528 ? 2 : 0), new FluidStack(Fluids.CHLORINE, 250, GeneralConfig.enable528 ? 2 : 0)) .inputFluids(new FluidStack(Fluids.UNSATURATEDS, 250, GeneralConfig.enable528 ? 2 : 0), new FluidStack(Fluids.CHLORINE, 250, GeneralConfig.enable528 ? 2 : 0))
.outputItems(new ItemStack(ModItems.ingot_pvc, 2))); .outputItems(new ItemStack(ModItems.ingot_pvc, 2)));
this.register(new GenericRecipe("chem.kevlar").setup(20, 300) this.register(new GenericRecipe("chem.kevlar").setup(60, 300)
.inputFluids(new FluidStack(Fluids.AROMATICS, 200), new FluidStack(Fluids.NITRIC_ACID, 100), new FluidStack(GeneralConfig.enable528 ? Fluids.PHOSGENE : Fluids.CHLORINE, 100)) .inputFluids(new FluidStack(Fluids.AROMATICS, 200), new FluidStack(Fluids.NITRIC_ACID, 100), new FluidStack(GeneralConfig.enable528 ? Fluids.PHOSGENE : Fluids.CHLORINE, 100))
.outputItems(new ItemStack(ModItems.plate_kevlar, 4))); .outputItems(new ItemStack(ModItems.plate_kevlar, 4)));
this.register(new GenericRecipe("chem.meth").setup(30, 300) this.register(new GenericRecipe("chem.meth").setup(60, 300)
.inputItems(new ComparableStack(Items.wheat), new ComparableStack(Items.dye, 2, 3)) .inputItems(new ComparableStack(Items.wheat), new ComparableStack(Items.dye, 2, 3))
.inputFluids(new FluidStack(Fluids.LUBRICANT, 400), new FluidStack(Fluids.PEROXIDE, 500)) .inputFluids(new FluidStack(Fluids.LUBRICANT, 400), new FluidStack(Fluids.PEROXIDE, 500))
.outputItems(new ItemStack(ModItems.chocolate, 4))); .outputItems(new ItemStack(ModItems.chocolate, 4)));
@ -281,6 +282,11 @@ public class ChemicalPlantRecipes extends GenericRecipes<GenericRecipe> {
.inputItems(new OreDictStack(KEY_ANYGLASS), new OreDictStack(STEEL.bolt(), 4)) .inputItems(new OreDictStack(KEY_ANYGLASS), new OreDictStack(STEEL.bolt(), 4))
.outputItems(new ItemStack(ModBlocks.reinforced_laminate))); .outputItems(new ItemStack(ModBlocks.reinforced_laminate)));
this.register(new GenericRecipe("chem.polarized").setup(100, 500)
.inputFluids(new FluidStack(Fluids.PETROLEUM, 1_000))
.inputItems(new OreDictStack(KEY_ANYPANE))
.outputItems(DictFrame.fromOne(ModItems.part_generic, EnumPartType.GLASS_POLARIZED, 16)));
/// NUCLEAR PROCESSING /// /// NUCLEAR PROCESSING ///
this.register(new GenericRecipe("chem.yellowcake").setup(250, 500) this.register(new GenericRecipe("chem.yellowcake").setup(250, 500)
.inputItems(new OreDictStack(U.billet(), 2), new OreDictStack(S.dust(), 2)) .inputItems(new OreDictStack(U.billet(), 2), new OreDictStack(S.dust(), 2))

View File

@ -88,6 +88,8 @@ public abstract class GenericRecipes<T extends GenericRecipe> extends Serializab
public void writeRecipe(Object recipeObject, JsonWriter writer) throws IOException { public void writeRecipe(Object recipeObject, JsonWriter writer) throws IOException {
T recipe = (T) recipeObject; T recipe = (T) recipeObject;
writer.name("name").value(recipe.name);
if(this.inputItemLimit() > 0 && recipe.inputItem != null) { if(this.inputItemLimit() > 0 && recipe.inputItem != null) {
writer.name("inputItem").beginArray(); writer.name("inputItem").beginArray();
for(AStack stack : recipe.inputItem) this.writeAStack(stack, writer); for(AStack stack : recipe.inputItem) this.writeAStack(stack, writer);

View File

@ -14,7 +14,8 @@ public class ItemGenericPart extends ItemEnumMulti {
PISTON_HYDRAULIC("piston_hydraulic"), PISTON_HYDRAULIC("piston_hydraulic"),
PISTON_ELECTRIC("piston_electric"), PISTON_ELECTRIC("piston_electric"),
LDE("low_density_element"), LDE("low_density_element"),
HDE("heavy_duty_element"); HDE("heavy_duty_element"),
GLASS_POLARIZED("glass_polarized");
private String texName; private String texName;

View File

@ -1027,7 +1027,7 @@ public class ModEventHandlerClient {
return null; return null;
} }
public static boolean renderLodeStar = false; // GENUINELY shut the fuck up i'm not kidding public static boolean renderLodeStar = false;
public static long lastStarCheck = 0L; public static long lastStarCheck = 0L;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
@ -1064,16 +1064,16 @@ public class ModEventHandlerClient {
long millis = Clock.get_ms(); long millis = Clock.get_ms();
if(lastStarCheck + 200 < millis) { if(lastStarCheck + 200 < millis) {
renderLodeStar = false; // GENUINELY shut the fuck up i'm not kidding renderLodeStar = false;
lastStarCheck = millis; lastStarCheck = millis;
if(player != null) { // GENUINELY shut the fuck up i'm not kidding if(player != null) {
Vec3NT pos = new Vec3NT(player.posX, player.posY, player.posZ); // GENUINELY shut the fuck up i'm not kidding Vec3NT pos = new Vec3NT(player.posX, player.posY, player.posZ);
Vec3NT lodestarHeading = new Vec3NT(0, 0, -1D).rotateAroundXDeg(-15).multiply(25); // GENUINELY shut the fuck up i'm not kidding Vec3NT lodestarHeading = new Vec3NT(0, 0, -1D).rotateAroundXDeg(-15).multiply(25);
Vec3NT nextPos = new Vec3NT(pos).add(lodestarHeading.xCoord,lodestarHeading.yCoord, lodestarHeading.zCoord); // GENUINELY shut the fuck up i'm not kidding Vec3NT nextPos = new Vec3NT(pos).add(lodestarHeading.xCoord,lodestarHeading.yCoord, lodestarHeading.zCoord);
MovingObjectPosition mop = world.func_147447_a(pos, nextPos, false, true, false); // GENUINELY shut the fuck up i'm not kidding MovingObjectPosition mop = world.func_147447_a(pos, nextPos, false, true, false);
if(mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK && world.getBlock(mop.blockX, mop.blockY, mop.blockZ) == ModBlocks.glass_polarized) { // GENUINELY shut the fuck up i'm not kidding if(mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK && world.getBlock(mop.blockX, mop.blockY, mop.blockZ) == ModBlocks.glass_polarized) {
renderLodeStar = true; // GENUINELY shut the fuck up i'm not kidding renderLodeStar = true;
} }
} }
} }

View File

@ -581,6 +581,7 @@ public class ResourceManager {
public static final ResourceLocation chemplant_piston_tex = new ResourceLocation(RefStrings.MODID, "textures/models/chemplant_piston_new.png"); public static final ResourceLocation chemplant_piston_tex = new ResourceLocation(RefStrings.MODID, "textures/models/chemplant_piston_new.png");
public static final ResourceLocation chemplant_fluid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/lavabase_small.png"); public static final ResourceLocation chemplant_fluid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/lavabase_small.png");
public static final ResourceLocation chemical_plant_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/chemical_plant.png"); public static final ResourceLocation chemical_plant_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/chemical_plant.png");
public static final ResourceLocation chemical_plant_fluid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/chemical_plant_fluid.png");
public static final ResourceLocation chemfac_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/chemfac.png"); public static final ResourceLocation chemfac_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/chemfac.png");
//Mixer //Mixer

View File

@ -1,11 +1,20 @@
package com.hbm.render.tileentity; package com.hbm.render.tileentity;
import java.awt.Color;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.FluidStack;
import com.hbm.inventory.recipes.ChemicalPlantRecipes;
import com.hbm.inventory.recipes.loader.GenericRecipe;
import com.hbm.main.ResourceManager; import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase; import com.hbm.render.item.ItemRenderBase;
import com.hbm.tileentity.machine.TileEntityMachineChemicalPlant;
import com.hbm.util.BobMathUtil;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -15,15 +24,88 @@ import net.minecraftforge.client.IItemRenderer;
public class RenderChemicalPlant extends TileEntitySpecialRenderer implements IItemRendererProvider { public class RenderChemicalPlant extends TileEntitySpecialRenderer implements IItemRendererProvider {
@Override @Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float interp) {
GL11.glPushMatrix(); GL11.glPushMatrix();
GL11.glTranslated(x + 0.5, y, z + 0.5); GL11.glTranslated(x + 0.5, y, z + 0.5);
GL11.glRotated(90, 0, 1, 0); GL11.glRotated(90, 0, 1, 0);
GL11.glShadeModel(GL11.GL_SMOOTH); GL11.glShadeModel(GL11.GL_SMOOTH);
switch(tileEntity.getBlockMetadata() - BlockDummyable.offset) {
case 2: GL11.glRotatef(0, 0F, 1F, 0F); break;
case 4: GL11.glRotatef(90, 0F, 1F, 0F); break;
case 3: GL11.glRotatef(180, 0F, 1F, 0F); break;
case 5: GL11.glRotatef(270, 0F, 1F, 0F); break;
}
TileEntityMachineChemicalPlant chemplant = (TileEntityMachineChemicalPlant) tileEntity;
float anim = chemplant.prevAnim + (chemplant.anim - chemplant.prevAnim) * interp;
GenericRecipe recipe = ChemicalPlantRecipes.INSTANCE.recipeNameMap.get(chemplant.chemplantModule.recipe);
bindTexture(ResourceManager.chemical_plant_tex); bindTexture(ResourceManager.chemical_plant_tex);
ResourceManager.chemical_plant.renderPart("Base"); ResourceManager.chemical_plant.renderPart("Base");
if(chemplant.frame) ResourceManager.chemical_plant.renderPart("Frame");
GL11.glPushMatrix();
GL11.glTranslated(BobMathUtil.sps(anim * 0.125) * 0.375, 0, 0);
ResourceManager.chemical_plant.renderPart("Slider"); ResourceManager.chemical_plant.renderPart("Slider");
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glTranslated(0.5, 0, 0.5);
GL11.glRotated((anim * 15) % 360D, 0, 1, 0);
GL11.glTranslated(-0.5, 0, -0.5);
ResourceManager.chemical_plant.renderPart("Spinner");
GL11.glPopMatrix();
if(chemplant.didProcess && recipe != null) {
int colors = 0;
int r = 0;
int g = 0;
int b = 0;
if(recipe.outputFluid != null) for(FluidStack stack : recipe.outputFluid) {
Color color = new Color(stack.type.getColor());
r += color.getRed();
g += color.getGreen();
b += color.getBlue();
colors++;
}
if(colors == 0 && recipe.inputFluid != null) for(FluidStack stack : recipe.inputFluid) {
Color color = new Color(stack.type.getColor());
r += color.getRed();
g += color.getGreen();
b += color.getBlue();
colors++;
}
if(colors > 0) {
bindTexture(ResourceManager.chemical_plant_fluid_tex);
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_BLEND);
GL11.glAlphaFunc(GL11.GL_GREATER, 0);
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
GL11.glColor4f(r / 255F / colors, g / 255F / colors, b / 255F / colors, 0.5F);
GL11.glDepthMask(false);
GL11.glMatrixMode(GL11.GL_TEXTURE);
GL11.glLoadIdentity();
GL11.glTranslated(-anim / 100F, BobMathUtil.sps(anim * 0.1) * 0.1 - 0.25, 0);
ResourceManager.chemical_plant.renderPart("Fluid");
GL11.glMatrixMode(GL11.GL_TEXTURE);
GL11.glLoadIdentity();
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glDepthMask(true);
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F);
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glPopMatrix();
}
}
GL11.glShadeModel(GL11.GL_FLAT); GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix(); GL11.glPopMatrix();
@ -48,7 +130,9 @@ public class RenderChemicalPlant extends TileEntitySpecialRenderer implements II
GL11.glScaled(0.75, 0.75, 0.75); GL11.glScaled(0.75, 0.75, 0.75);
GL11.glShadeModel(GL11.GL_SMOOTH); GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.chemical_plant_tex); bindTexture(ResourceManager.chemical_plant_tex);
ResourceManager.chemical_plant.renderAll(); ResourceManager.chemical_plant.renderPart("Base");
ResourceManager.chemical_plant.renderPart("Slider");
ResourceManager.chemical_plant.renderPart("Spinner");
GL11.glShadeModel(GL11.GL_FLAT); GL11.glShadeModel(GL11.GL_FLAT);
}}; }};
} }

View File

@ -67,19 +67,15 @@ public class RenderNTMSkyboxChainloader extends IRenderHandler { //why an abstra
GL11.glDisable(GL11.GL_FOG); GL11.glDisable(GL11.GL_FOG);
OpenGlHelper.glBlendFunc(770, 1, 1, 0); OpenGlHelper.glBlendFunc(770, 1, 1, 0);
float brightness = (float) Math.sin(world.getCelestialAngle(partialTicks) * Math.PI); float var12 = 0.5F + world.rand.nextFloat() * 0.25F;
brightness *= brightness;
GL11.glColor4f(brightness, brightness, brightness, 1.0F);
float var12 = 1F + world.rand.nextFloat() * 0.5F;
double dist = 100D; double dist = 100D;
if(ModEventHandlerClient.renderLodeStar) { if(ModEventHandlerClient.renderLodeStar) {
GL11.glPushMatrix(); GL11.glPushMatrix();
GL11.glRotatef(-75.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(-75.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(10.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(10.0F, 0.0F, 1.0F, 0.0F);
FMLClientHandler.instance().getClient().renderEngine.bindTexture(lodeStar); // GENUINELY shut the fuck up i'm not kidding GL11.glColor4f(1F, 1F, 1F, 1.0F);
FMLClientHandler.instance().getClient().renderEngine.bindTexture(lodeStar);
tessellator.startDrawingQuads(); tessellator.startDrawingQuads();
tessellator.addVertexWithUV(-var12, dist, -var12, 0.0D, 0.0D); tessellator.addVertexWithUV(-var12, dist, -var12, 0.0D, 0.0D);
@ -91,6 +87,11 @@ public class RenderNTMSkyboxChainloader extends IRenderHandler { //why an abstra
GL11.glPopMatrix(); GL11.glPopMatrix();
} }
float brightness = (float) Math.sin(world.getCelestialAngle(partialTicks) * Math.PI);
brightness *= brightness;
GL11.glColor4f(brightness, brightness, brightness, 1.0F);
GL11.glPushMatrix(); GL11.glPushMatrix();
GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(world.getCelestialAngle(partialTicks) * 360.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(world.getCelestialAngle(partialTicks) * 360.0F, 1.0F, 0.0F, 0.0F);

View File

@ -43,6 +43,10 @@ public class TileEntityMachineChemicalPlant extends TileEntityMachineBase implem
public long maxPower = 1_000_000; public long maxPower = 1_000_000;
public boolean didProcess = false; public boolean didProcess = false;
public boolean frame = false;
public int anim;
public int prevAnim;
public ModuleMachineChemplant chemplantModule; public ModuleMachineChemplant chemplantModule;
public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(this); public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(this);
@ -98,6 +102,12 @@ public class TileEntityMachineChemicalPlant extends TileEntityMachineBase implem
} else { } else {
this.prevAnim = this.anim;
if(this.didProcess) this.anim++;
if(worldObj.getTotalWorldTime() % 40 == 0) {
frame = !worldObj.getBlock(xCoord, yCoord + 3, zCoord).isAir(worldObj, xCoord, yCoord + 3, zCoord);
}
} }
} }
@ -125,6 +135,7 @@ public class TileEntityMachineChemicalPlant extends TileEntityMachineBase implem
for(FluidTank tank : outputTanks) tank.serialize(buf); for(FluidTank tank : outputTanks) tank.serialize(buf);
buf.writeLong(power); buf.writeLong(power);
buf.writeLong(maxPower); buf.writeLong(maxPower);
buf.writeBoolean(didProcess);
this.chemplantModule.serialize(buf); this.chemplantModule.serialize(buf);
} }
@ -135,6 +146,7 @@ public class TileEntityMachineChemicalPlant extends TileEntityMachineBase implem
for(FluidTank tank : outputTanks) tank.deserialize(buf); for(FluidTank tank : outputTanks) tank.deserialize(buf);
this.power = buf.readLong(); this.power = buf.readLong();
this.maxPower = buf.readLong(); this.maxPower = buf.readLong();
this.didProcess = buf.readBoolean();
this.chemplantModule.deserialize(buf); this.chemplantModule.deserialize(buf);
} }

View File

@ -177,6 +177,21 @@ cannery.stirling.1=Er muss auf einem Hitzeerzeuger platziert werden, zum Beispie
cannery.stirling.2=Die Hitze die maximal verwendet werden kann ist limitiert, Übergeschwindigkeit kann zu katastrophalen Fehlfunktionen führen. cannery.stirling.2=Die Hitze die maximal verwendet werden kann ist limitiert, Übergeschwindigkeit kann zu katastrophalen Fehlfunktionen führen.
cannery.stirling.3=Die verbesserte Version kann wesentlich mehr Hitze aufnehmen, ohne kaputt zu werden. cannery.stirling.3=Die verbesserte Version kann wesentlich mehr Hitze aufnehmen, ohne kaputt zu werden.
chem.hydrogen=Wasserstoff
chem.hydrogencoke=Wasserstoff aus Koks
chem.oxygen=Sauerstoff
chem.xenon=Xenongas
chem.xenonoxy=Xenongas (Gekühlt)
chem.helium3=Helium-3
chem.ethanol=Ethanol
chem.biogas=Biogas
chem.biofuel=Biodieselumesterung
chem.reoil=Wiederaufbereitetes Öl
chem.gasoline=Benzin
chem.tarsand=Bitumen aus Teersand
chem.meatprocessing=Glyphidflesch-Verarbeitung
chem.birkeland=Salpetersäure aus Luft
chem.ARSENIC=Arsenextraktion chem.ARSENIC=Arsenextraktion
chem.ASPHALT=Asphaltherstellung chem.ASPHALT=Asphaltherstellung
chem.BAKELITE=Bakelitherstellung chem.BAKELITE=Bakelitherstellung
@ -2770,6 +2785,7 @@ item.part_barrel_light.name=Leichter %slauf
item.part_beryllium.name=Berylliumstaubkiste item.part_beryllium.name=Berylliumstaubkiste
item.part_carbon.name=Kohlenstoffstaubkiste item.part_carbon.name=Kohlenstoffstaubkiste
item.part_copper.name=Kupferstaubkiste item.part_copper.name=Kupferstaubkiste
item.part_generic.glass_polarized.name=Polarisierte Linse
item.part_generic.hde.name=Schwerlastkomponente item.part_generic.hde.name=Schwerlastkomponente
item.part_generic.lde.name=Leichtbauteil item.part_generic.lde.name=Leichtbauteil
item.part_generic.piston_electric.name=Electrischer Kolben item.part_generic.piston_electric.name=Electrischer Kolben
@ -4219,6 +4235,7 @@ tile.geiger.name=Geigerzähler
tile.glass_ash.name=Ascheglas tile.glass_ash.name=Ascheglas
tile.glass_boron.name=Borglas tile.glass_boron.name=Borglas
tile.glass_lead.name=Bleiglas tile.glass_lead.name=Bleiglas
tile.glass_polarized.name=Polarisiertes Glas
tile.glass_polonium.name=Poloniumglas tile.glass_polonium.name=Poloniumglas
tile.glass_quartz.name=Quarzglas tile.glass_quartz.name=Quarzglas
tile.glass_trinitite.name=Trinity-Glas tile.glass_trinitite.name=Trinity-Glas

View File

@ -566,6 +566,21 @@ cannery.schottky.7=If any virtual particles encounter any malformed segments, al
cannery.schottky.8=Note that virtual particles will never use the same Diode exit twice. Infinite loops will fail, but re-entering a Diode is otherwise fine cannery.schottky.8=Note that virtual particles will never use the same Diode exit twice. Infinite loops will fail, but re-entering a Diode is otherwise fine
cannery.schottky.9=Your Schottky Particle Diode should be properly enclosed, with free paths for each intersection exit cannery.schottky.9=Your Schottky Particle Diode should be properly enclosed, with free paths for each intersection exit
chem.hydrogen=Hydrogen
chem.hydrogencoke=Hydrogen from Coke
chem.oxygen=Oxygen
chem.xenon=Xenon Gas
chem.xenonoxy=Xenon Gas (Cooled)
chem.helium3=Helium-3
chem.ethanol=Ethanol
chem.biogas=Biogas
chem.biofuel=Biofuel Transesterification
chem.reoil=Reclaimed Oil
chem.gasoline=Gasoline
chem.tarsand=Bitumen from Tar Sand
chem.meatprocessing=Glyphid Meat Processing
chem.birkeland=Nitric Acid from Air
chem.ARSENIC=Arsenic Extraction chem.ARSENIC=Arsenic Extraction
chem.ASPHALT=Asphalt Production chem.ASPHALT=Asphalt Production
chem.BAKELITE=Bakelite Production chem.BAKELITE=Bakelite Production
@ -3620,6 +3635,7 @@ item.part_barrel_light.name=Light %s Barrel
item.part_beryllium.name=Box of Beryllium Dust item.part_beryllium.name=Box of Beryllium Dust
item.part_carbon.name=Box of Carbon Dust item.part_carbon.name=Box of Carbon Dust
item.part_copper.name=Box of Copper Dust item.part_copper.name=Box of Copper Dust
item.part_generic.glass_polarized.name=Polarized Lens
item.part_generic.hde.name=Heavy Duty Element item.part_generic.hde.name=Heavy Duty Element
item.part_generic.lde.name=Low-Density Element item.part_generic.lde.name=Low-Density Element
item.part_generic.piston_electric.name=Electric Piston item.part_generic.piston_electric.name=Electric Piston
@ -5344,6 +5360,7 @@ tile.geiger.name=Geiger Counter
tile.glass_ash.name=Ash Glass tile.glass_ash.name=Ash Glass
tile.glass_boron.name=Boron Glass tile.glass_boron.name=Boron Glass
tile.glass_lead.name=Lead Glass tile.glass_lead.name=Lead Glass
tile.glass_polarized.name=Polarized Glass
tile.glass_polonium.name=Polonium Glass tile.glass_polonium.name=Polonium Glass
tile.glass_quartz.name=Quartz Glass tile.glass_quartz.name=Quartz Glass
tile.glass_trinitite.name=Trinity Glass tile.glass_trinitite.name=Trinity Glass

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 B

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB