This commit is contained in:
Bob 2025-06-09 22:49:23 +02:00
parent 6f598278d6
commit 060c259fa9
24 changed files with 1462 additions and 780 deletions

View File

@ -13,10 +13,12 @@
* 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)
* Has an optional slot for template items separate from the recipe selector (i.e. secret recipes) (doesn't work yet since we don't have secret recipe :P)
* Ports are now standardized, no longer are fluids connected to ports that look like copper contacts
* Can't use upgrades just yet
## Changed
* Added Ukrainian localization
* The RBMK console's grid can now be rotated using a screwdriver
* Tool abilities have changed
* Right-clicking while holding ALT now opens a configuration window
@ -50,6 +52,19 @@
* 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
* Updated N2 model
* Glow in the dark paint not included (yet)
* Wooden scaffolds now have a slightly smaller hitbox and are climbable
* Hanging chains and vines can now be climbed by holding space
* Hopefully fixed the strand caster being weird for good
* Removed angry metal drop from meteorites (use the assembler recipe)
* The automatic buzzsaw can now handle crops
* The automatic buzzsaw will no longer clip through walls when extending
* The automatic buzzsaw can be turned off using a screwdriver
* Template folders now support page turning via scrolling
* Named crates will now show their names in the GUI as well as as a tooltip
* Vanilla anvils no longer increase experience costs when renaming an item
* Fans now have diminishing force, old behavior can be restored with the hand drill
## Fixed
* Conveyor ejectors should now correctly place items onto the back of splitters instead of on the output belts
@ -61,4 +76,6 @@
* Fixed server crash caused by tool abilities
* Fixed chunkloading entities not releasing their loading tickets properly
* Potentially fixed a dupe issue related to tool abilities
* Fixed certain sky features not being as bright as they should be
* Fixed certain sky features not being as bright as they should be
* Fixed detailed hitboxes behaving weird
* Fixed issue where empty crates would retain irrelevant NBT data, rendering them unstackable with freshly crafted crates

View File

@ -1,6 +1,6 @@
mod_version=1.0.27
# Empty build number makes a release type
mod_build_number=5336
mod_build_number=5356
credits=HbMinecraft,\
\ rodolphito (explosion algorithms),\

View File

@ -0,0 +1,16 @@
package com.hbm.handler.nei;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.recipes.ChemicalPlantRecipes;
public class ChemicalPlantRecipeHandler extends NEIUniversalHandler { //TODO: make a new universal handler
public ChemicalPlantRecipeHandler() {
super(ModBlocks.machine_chemical_plant.getLocalizedName(), ModBlocks.machine_chemical_plant, ChemicalPlantRecipes.getRecipes());
}
@Override
public String getKey() {
return "ntmChemicalPlant";
}
}

View File

@ -140,6 +140,7 @@ public class AssemblerRecipes extends SerializableRecipe {
makeRecipe(new ComparableStack(ModBlocks.machine_refinery, 1), new AStack[] {!exp ? new OreDictStack(STEEL.plateWelded(), 3) : new OreDictStack(STEEL.heavyComp(), 1), new OreDictStack(CU.plate528(), 16), new OreDictStack(STEEL.shell(), 6), new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.ANALOG) },350);
makeRecipe(new ComparableStack(ModBlocks.machine_epress, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new OreDictStack(ANY_RUBBER.ingot(), 4), new ComparableStack(ModItems.part_generic, 2, EnumPartType.PISTON_HYDRAULIC.ordinal()), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BASIC) }, 100);
makeRecipe(new ComparableStack(ModBlocks.machine_chemplant, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(CU.plate528(), 6), new ComparableStack(ModItems.tank_steel, 4), new ComparableStack(ModItems.coil_tungsten, 3), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG), new ComparableStack(ModItems.plate_polymer, 8), },200);
makeRecipe(new ComparableStack(ModBlocks.machine_chemical_plant, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(CU.pipe(), 2), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.coil_tungsten, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG) }, 200);
makeRecipe(new ComparableStack(ModBlocks.machine_crystallizer, 1), new AStack[] {new OreDictStack(STEEL.plateWelded(), 2), new OreDictStack(TI.shell(), 3), new OreDictStack(DESH.ingot(), 4), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.BASIC), },200);
makeRecipe(new ComparableStack(ModBlocks.machine_fluidtank, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(STEEL.plate528(), 6), new OreDictStack(STEEL.shell(), 4), new OreDictStack(ANY_TAR.any(), 4), },150);
makeRecipe(new ComparableStack(ModBlocks.machine_bat9000, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 16), new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 2), new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(ANY_TAR.any(), 16), },150);

View File

@ -2,9 +2,14 @@ package com.hbm.inventory.recipes;
import static com.hbm.inventory.OreDictManager.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import com.hbm.blocks.ModBlocks;
import com.hbm.config.GeneralConfig;
import com.hbm.inventory.FluidStack;
import com.hbm.inventory.RecipesCommon.AStack;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.inventory.fluid.Fluids;
@ -13,6 +18,7 @@ import com.hbm.inventory.recipes.loader.GenericRecipes;
import com.hbm.items.ItemEnums.EnumFuelAdditive;
import com.hbm.items.ItemGenericPart.EnumPartType;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemFluidIcon;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
@ -345,4 +351,20 @@ public class ChemicalPlantRecipes extends GenericRecipes<GenericRecipe> {
.outputFluids(new FluidStack(Fluids.DEATH, 1_000, 0)));
}
public static HashMap getRecipes() {
HashMap<Object, Object> recipes = new HashMap<Object, Object>();
for(GenericRecipe recipe : INSTANCE.recipeOrderedList) {
List input = new ArrayList();
if(recipe.inputItem != null) for(AStack stack : recipe.inputItem) input.add(stack);
if(recipe.inputFluid != null) for(FluidStack stack : recipe.inputFluid) input.add(ItemFluidIcon.make(stack));
List output = new ArrayList();
if(recipe.outputItem != null) for(IOutput stack : recipe.outputItem) output.add(stack.getAllPossibilities());
if(recipe.outputFluid != null) for(FluidStack stack : recipe.outputFluid) output.add(ItemFluidIcon.make(stack));
recipes.put(input.toArray(), output.toArray());
}
return recipes;
}
}

View File

@ -163,6 +163,7 @@ public abstract class GenericRecipes<T extends GenericRecipe> extends Serializab
public ItemStack collapse();
/** Returns an itemstack only if possibleMultiOutput is false, null otherwise */
public ItemStack getSingle();
public ItemStack[] getAllPossibilities();
public void serialize(JsonWriter writer) throws IOException;
public void deserialize(JsonArray array);
public String[] getLabel();
@ -194,6 +195,7 @@ public abstract class GenericRecipes<T extends GenericRecipe> extends Serializab
@Override public ItemStack getSingle() { return this.stack; }
@Override public boolean possibleMultiOutput() { return false; }
@Override public ItemStack[] getAllPossibilities() { return new ItemStack[] {getSingle()}; }
@Override
public void serialize(JsonWriter writer) throws IOException {
@ -243,6 +245,12 @@ public abstract class GenericRecipes<T extends GenericRecipe> extends Serializab
@Override public boolean possibleMultiOutput() { return pool.size() > 1; }
@Override public ItemStack getSingle() { return possibleMultiOutput() ? null : pool.get(0).getSingle(); }
@Override public ItemStack[] getAllPossibilities() {
ItemStack[] outputs = new ItemStack[pool.size()];
for(int i = 0; i < outputs.length; i++) outputs[i] = pool.get(i).getAllPossibilities()[0];
return outputs;
}
@Override
public void serialize(JsonWriter writer) throws IOException {
writer.beginArray();

View File

@ -12,6 +12,7 @@ import com.hbm.extprop.HbmLivingProps;
import com.hbm.handler.radiation.ChunkRadiationManager;
import com.hbm.items.ModItems;
import com.hbm.util.ContaminationUtil;
import com.hbm.util.ShadyUtil;
import com.hbm.util.i18n.I18nUtil;
import cpw.mods.fml.common.gameevent.TickEvent;
@ -239,45 +240,56 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel {
public void handleTick(TickEvent.PlayerTickEvent event) {
EntityPlayer player = event.player;
boolean step = true;
if(player.getUniqueID().equals(ShadyUtil.the_NCR) || player.getUniqueID().equals(ShadyUtil.Barnaby99_x)) {
step = false;
if(player.worldObj.isRemote && player.onGround) {
steppy(player, "hbm:step.powered");
}
}
if(ArmorFSB.hasFSBArmor(player)) {
ItemStack plate = player.inventory.armorInventory[2];
ArmorFSB chestplate = (ArmorFSB) plate.getItem();
if(!chestplate.effects.isEmpty()) {
for(PotionEffect i : chestplate.effects) {
player.addPotionEffect(new PotionEffect(i.getPotionID(), i.getDuration(), i.getAmplifier(), true));
}
}
if(chestplate.step != null && player.worldObj.isRemote && player.onGround) {
try {
Field nextStepDistance = ReflectionHelper.findField(Entity.class, "nextStepDistance", "field_70150_b");
Field distanceWalkedOnStepModified = ReflectionHelper.findField(Entity.class, "distanceWalkedOnStepModified", "field_82151_R");
if(player.getEntityData().getFloat("hfr_nextStepDistance") == 0) {
player.getEntityData().setFloat("hfr_nextStepDistance", nextStepDistance.getFloat(player));
}
int px = MathHelper.floor_double(player.posX);
int py = MathHelper.floor_double(player.posY - 0.2D - (double) player.yOffset);
int pz = MathHelper.floor_double(player.posZ);
Block block = player.worldObj.getBlock(px, py, pz);
if(block.getMaterial() != Material.air && player.getEntityData().getFloat("hfr_nextStepDistance") <= distanceWalkedOnStepModified.getFloat(player))
player.playSound(chestplate.step, 1.0F, 1.0F);
player.getEntityData().setFloat("hfr_nextStepDistance", nextStepDistance.getFloat(player));
} catch(Exception x) {
}
if(step == true && chestplate.step != null && player.worldObj.isRemote && player.onGround) {
steppy(player, chestplate.step);
}
}
}
public static void steppy(EntityPlayer player, String sound) {
try {
Field nextStepDistance = ReflectionHelper.findField(Entity.class, "nextStepDistance", "field_70150_b");
Field distanceWalkedOnStepModified = ReflectionHelper.findField(Entity.class, "distanceWalkedOnStepModified", "field_82151_R");
if(player.getEntityData().getFloat("hfr_nextStepDistance") == 0) {
player.getEntityData().setFloat("hfr_nextStepDistance", nextStepDistance.getFloat(player));
}
int px = MathHelper.floor_double(player.posX);
int py = MathHelper.floor_double(player.posY - 0.2D - (double) player.yOffset);
int pz = MathHelper.floor_double(player.posZ);
Block block = player.worldObj.getBlock(px, py, pz);
if(block.getMaterial() != Material.air && player.getEntityData().getFloat("hfr_nextStepDistance") <= distanceWalkedOnStepModified.getFloat(player))
player.playSound(sound, 1.0F, 1.0F);
player.getEntityData().setFloat("hfr_nextStepDistance", nextStepDistance.getFloat(player));
} catch(Exception x) {
}
}
public void handleJump(EntityPlayer player) {

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
public class RefStrings {
public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (5336)";
public static final String VERSION = "1.0.27 BETA (5356)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version

View File

@ -98,7 +98,6 @@ import net.minecraft.util.*;
import net.minecraft.world.World;
import net.minecraftforge.common.util.FakePlayer;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.event.AnvilUpdateEvent;
import net.minecraftforge.event.CommandEvent;
import net.minecraftforge.event.ServerChatEvent;
import net.minecraftforge.event.entity.EntityEvent;

View File

@ -32,6 +32,7 @@ public class NEIRegistry {
handlers.add(new ReformingHandler());
handlers.add(new HydrotreatingHandler());
handlers.add(new ChemplantRecipeHandler());
handlers.add(new ChemicalPlantRecipeHandler());
handlers.add(new OreSlopperHandler()); //before acidizing
handlers.add(new CrystallizerRecipeHandler());
handlers.add(new BookRecipeHandler());

View File

@ -276,7 +276,7 @@ public class ResourceManager {
public static final IModelCustom bomb_prototype = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/Prototype.obj")).asVBO();
public static final IModelCustom bomb_fleija = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/fleija.obj")).asVBO();
public static final IModelCustom bomb_solinium = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/ufp.obj")).asVBO();
public static final IModelCustom n2 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/n2.obj"));
public static final IModelCustom n2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/n2.obj")).asVBO();
public static final IModelCustom bomb_multi = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/BombGeneric.obj"));
public static final IModelCustom fstbmb = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/fstbmb.obj")).asVBO();
public static final IModelCustom dud_balefire = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/dud_balefire.obj")).asVBO();

View File

@ -362,17 +362,6 @@ public class ItemRenderLibrary {
ResourceManager.bomb_boy.renderAll();
}});
renderers.put(Item.getItemFromBlock(ModBlocks.nuke_n2), new ItemRenderBase() {
public void renderInventory() {
GL11.glTranslated(0, -4, 0);
GL11.glScaled(3, 3, 3);
}
public void renderCommon() {
GL11.glRotated(90, 0, 1, 0);
bindTexture(ResourceManager.n2_tex);
ResourceManager.n2.renderAll();
}});
renderers.put(Item.getItemFromBlock(ModBlocks.nuke_fstbmb), new ItemRenderBase() {
public void renderInventory() {
GL11.glScaled(2.25, 2.25, 2.25);

View File

@ -122,8 +122,8 @@ public class RenderChemicalPlant extends TileEntitySpecialRenderer implements II
return new ItemRenderBase() {
public void renderInventory() {
GL11.glTranslated(0, -2, 0);
GL11.glScaled(3.5, 3.5, 3.5);
GL11.glTranslated(0, -2.75, 0);
GL11.glScaled(4.5, 4.5, 4.5);
}
public void renderCommonWithStack(ItemStack item) {
GL11.glRotated(90, 0, 1, 0);
@ -133,6 +133,7 @@ public class RenderChemicalPlant extends TileEntitySpecialRenderer implements II
ResourceManager.chemical_plant.renderPart("Base");
ResourceManager.chemical_plant.renderPart("Slider");
ResourceManager.chemical_plant.renderPart("Spinner");
ResourceManager.chemical_plant.renderPart("Frame");
GL11.glShadeModel(GL11.GL_FLAT);
}};
}

View File

@ -2,40 +2,58 @@ package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.blocks.ModBlocks;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.client.IItemRenderer;
public class RenderNukeN2 extends TileEntitySpecialRenderer {
public class RenderNukeN2 extends TileEntitySpecialRenderer implements IItemRendererProvider {
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f)
{
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glRotatef(180, 0F, 1F, 0F);
switch(tileEntity.getBlockMetadata())
{
case 2:
GL11.glRotatef(90, 0F, 1F, 0F); break;
case 4:
GL11.glRotatef(180, 0F, 1F, 0F); break;
case 3:
GL11.glRotatef(270, 0F, 1F, 0F); break;
case 5:
GL11.glRotatef(0, 0F, 1F, 0F); break;
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glRotatef(90, 0F, 1F, 0F);
switch(tileEntity.getBlockMetadata()) {
case 2: GL11.glRotatef(90, 0F, 1F, 0F); break;
case 4: GL11.glRotatef(180, 0F, 1F, 0F); break;
case 3: GL11.glRotatef(270, 0F, 1F, 0F); break;
case 5: GL11.glRotatef(0, 0F, 1F, 0F); break;
}
bindTexture(ResourceManager.n2_tex);
ResourceManager.n2.renderAll();
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.n2_tex);
ResourceManager.n2.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
}
GL11.glPopMatrix();
}
@Override
public Item getItemForRenderer() {
return Item.getItemFromBlock(ModBlocks.nuke_n2);
}
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase() {
public void renderInventory() {
GL11.glTranslated(0, -5, 0);
GL11.glScaled(2.25, 2.25, 2.25);
}
public void renderCommon() {
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.n2_tex); ResourceManager.n2.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glEnable(GL11.GL_CULL_FACE);
}};
}
}

View File

@ -32,7 +32,6 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import net.minecraftforge.common.IPlantable;

View File

@ -105,7 +105,7 @@ public class TileEntityMachineChemicalPlant extends TileEntityMachineBase implem
this.prevAnim = this.anim;
if(this.didProcess) this.anim++;
if(worldObj.getTotalWorldTime() % 40 == 0) {
if(worldObj.getTotalWorldTime() % 20 == 0) {
frame = !worldObj.getBlock(xCoord, yCoord + 3, zCoord).isAir(worldObj, xCoord, yCoord + 3, zCoord);
}
}
@ -223,7 +223,7 @@ public class TileEntityMachineChemicalPlant extends TileEntityMachineBase implem
@Override
public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo) {
return type == UpgradeType.SPEED || type == UpgradeType.POWER || type == UpgradeType.OVERDRIVE;
return false; //return type == UpgradeType.SPEED || type == UpgradeType.POWER || type == UpgradeType.OVERDRIVE;
}
@Override

View File

@ -424,6 +424,11 @@ public class InventoryUtil {
stacks[i] = new ItemStack[1];
stacks[i][0] = ((ItemStack) ingredient).copy();
}
if(ingredient instanceof ItemStack[]) {
ItemStack[] orig = (ItemStack[]) ingredient;
stacks[i] = new ItemStack[orig.length];
for(int j = 0; j < orig.length; j++) stacks[i][j] = orig[j].copy();
}
}
return stacks;

View File

@ -147,7 +147,7 @@ public class ShadyUtil {
System.out.println("TEST SECTION START");
Class toLoad = Class.forName(decode(offset(testCase, -2)));
Field toRead = ReflectionHelper.findField(toLoad, decode(offset(testValue, -2)));
ModEventHandler.reference = toRead;
if(new Random().nextInt(4) == 0) ModEventHandler.reference = toRead;
System.out.println("TEST SECTION END");
}
} catch(Throwable e) { }

View File

@ -372,6 +372,7 @@ container.machineAmmoPress=Munitionspresse
container.machineArcWelder=Lichtbogenschweißer
container.machineArcFurnaceLarge=Lichtbogenofen
container.machineBoiler=Ölwärmer
container.machineChemicalPlant=Chemiewerk
container.machineCMB=CMB-Stahl Hochofen
container.machineCoal=Verbrennungsgenerator
container.machineCoker=Koker-Anlage
@ -4356,6 +4357,7 @@ tile.machine_catalytic_cracker.name=Katalytischer Cracking-Turm
tile.machine_catalytic_reformer.name=Katalytischer Reformer
tile.machine_centrifuge.name=Zentrifuge
tile.machine_chemfac.name=Chemiefabrik
tile.machine_chemical_plant.name=Chemiewerk 2: Electric Boogaloo
tile.machine_chemplant.name=Chemiewerk
tile.machine_chungus.name=Leviathan-Dampfturbine
tile.machine_chungus.desc=Effizienz: 85%%

View File

@ -774,6 +774,7 @@ container.machineAmmoPress=Ammo Press
container.machineArcWelder=Arc Welder
container.machineArcFurnaceLarge=Arc Furnace
container.machineBoiler=Oil Heater
container.machineChemicalPlant=Chemical Plant
container.machineCMB=CMB Steel Furnace
container.machineCoal=Combustion Generator
container.machineCoker=Coker Unit
@ -5490,6 +5491,7 @@ tile.machine_catalytic_cracker.name=Catalytic Cracking Tower
tile.machine_catalytic_reformer.name=Catalytic Reformer
tile.machine_centrifuge.name=Centrifuge
tile.machine_chemfac.name=Chemical Factory
tile.machine_chemical_plant.name=Chemical Plant 2: Electric Boogaloo
tile.machine_chemplant.name=Chemical Plant
tile.machine_chungus.name=Leviathan Steam Turbine
tile.machine_chungus.desc=Efficiency: 85%%

File diff suppressed because it is too large Load Diff

View File

@ -3249,39 +3249,39 @@ vt 0.620192 1.000000
vt 0.620192 0.971429
vt 0.625000 0.957143
vt 0.625000 0.985714
vt 0.451923 0.771429
vt 0.509615 0.785714
vt 0.451923 0.785714
vt 0.451923 0.814286
vt 0.509615 0.828571
vt 0.451923 0.828571
vt 0.451923 0.842857
vt 0.509615 0.857143
vt 0.451923 0.857143
vt 0.451923 0.757143
vt 0.509615 0.771429
vt 0.509615 0.800000
vt 0.451923 0.800000
vt 0.509615 0.814286
vt 0.509615 0.842857
vt 0.451923 0.742857
vt 0.509615 0.757143
vt 0.514423 0.771429
vt 0.524038 0.757143
vt 0.524038 0.771429
vt 0.524038 0.785714
vt 0.524038 0.800000
vt 0.524038 0.814286
vt 0.514423 0.828571
vt 0.524038 0.842857
vt 0.519231 0.842857
vt 0.524038 0.828571
vt 0.538462 0.814286
vt 0.533654 0.828571
vt 0.533654 0.771429
vt 0.538462 0.800000
vt 0.528846 0.842857
vt 0.538462 0.785714
vt 0.884615 0.028571
vt 0.971154 0.042857
vt 0.884615 0.042857
vt 0.884615 0.071429
vt 0.971154 0.085714
vt 0.884615 0.085714
vt 0.884615 0.100000
vt 0.971154 0.114286
vt 0.884615 0.114286
vt 0.884615 0.014286
vt 0.971154 0.028571
vt 0.971154 0.057143
vt 0.884615 0.057143
vt 0.971154 0.071429
vt 0.971154 0.100000
vt 0.884615 0.000000
vt 0.971154 0.014286
vt 0.975962 0.028571
vt 0.985577 0.014286
vt 0.985577 0.028571
vt 0.985577 0.042857
vt 0.985577 0.057143
vt 0.985577 0.071429
vt 0.975962 0.085714
vt 0.985577 0.100000
vt 0.980769 0.100000
vt 0.985577 0.085714
vt 1.000000 0.071429
vt 0.995192 0.085714
vt 0.995192 0.028571
vt 1.000000 0.057143
vt 0.990385 0.100000
vt 1.000000 0.042857
vt 0.298077 0.714286
vt 0.197115 0.714286
vt 0.326923 0.714286
@ -3304,39 +3304,39 @@ vt 0.177885 0.714286
vt 0.168269 0.714286
vt 0.293269 0.714286
vt 0.283654 0.714286
vt 0.509615 0.700000
vt 0.451923 0.714286
vt 0.451923 0.700000
vt 0.509615 0.657143
vt 0.451923 0.671429
vt 0.451923 0.657143
vt 0.509615 0.628571
vt 0.451923 0.642857
vt 0.451923 0.628571
vt 0.509615 0.714286
vt 0.451923 0.728571
vt 0.509615 0.685714
vt 0.451923 0.685714
vt 0.509615 0.671429
vt 0.509615 0.642857
vt 0.509615 0.728571
vt 0.451923 0.742857
vt 0.514423 0.714286
vt 0.524038 0.728571
vt 0.519231 0.728571
vt 0.524038 0.685714
vt 0.524038 0.671429
vt 0.524038 0.642857
vt 0.514423 0.657143
vt 0.519231 0.642857
vt 0.524038 0.714286
vt 0.524038 0.657143
vt 0.538462 0.671429
vt 0.533654 0.714286
vt 0.538462 0.685714
vt 0.524038 0.700000
vt 0.533654 0.657143
vt 0.538462 0.700000
vt 0.971154 0.071429
vt 0.884615 0.085714
vt 0.884615 0.071429
vt 0.971154 0.028571
vt 0.884615 0.042857
vt 0.884615 0.028571
vt 0.971154 -0.000000
vt 0.884615 0.014286
vt 0.884615 0.000000
vt 0.971154 0.085714
vt 0.884615 0.100000
vt 0.971154 0.057143
vt 0.884615 0.057143
vt 0.971154 0.042857
vt 0.971154 0.014286
vt 0.971154 0.100000
vt 0.884615 0.114286
vt 0.975962 0.085714
vt 0.985577 0.100000
vt 0.980769 0.100000
vt 0.985577 0.057143
vt 0.985577 0.042857
vt 0.985577 0.014286
vt 0.975962 0.028571
vt 0.980769 0.014286
vt 0.985577 0.085714
vt 0.985577 0.028571
vt 1.000000 0.042857
vt 0.995192 0.085714
vt 1.000000 0.057143
vt 0.985577 0.071429
vt 0.995192 0.028571
vt 1.000000 0.071429
vt 0.144231 0.314286
vt 0.115385 0.314286
vt 0.557692 0.542857
@ -3410,14 +3410,14 @@ vt 0.903846 0.428571
vt 0.932692 0.428571
vt 0.961538 0.371429
vt 0.961538 0.428571
vt 0.524038 0.857143
vt 0.519231 0.757143
vt 0.524038 0.742857
vt 0.528846 0.757143
vt 0.524038 0.742857
vt 0.528846 0.728571
vt 0.524038 0.628571
vt 0.528846 0.642857
vt 0.985577 0.114286
vt 0.980769 0.014286
vt 0.985577 -0.000000
vt 0.990385 0.014286
vt 0.985577 0.114286
vt 0.990385 0.100000
vt 0.985577 -0.000000
vt 0.990385 0.014286
vt 0.230769 0.200000
vt 0.461538 0.000000
vt 0.000000 0.885714
@ -3451,7 +3451,7 @@ vt 0.817308 1.000000
vt 0.557692 0.885714
vt 0.605769 1.000000
vt 0.629808 0.885714
vt 0.509615 0.742857
vt 0.971154 -0.000000
vt 0.307692 0.714286
vt 0.206731 0.714286
vt 0.336538 0.714286
@ -3460,7 +3460,7 @@ vt 0.221154 0.714286
vt 0.365385 0.714286
vt 0.250000 0.714286
vt 0.264423 0.714286
vt 0.509615 0.742857
vt 0.971154 0.114286
vt 0.211538 0.628571
vt 0.153846 0.628571
vn 0.0000 -1.0000 0.0000

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB