i didn't expect this to be done in time tbh

This commit is contained in:
Bob 2023-02-19 20:40:08 +01:00
parent 2b7a8f7d0f
commit 1dc976d337
26 changed files with 2157 additions and 23 deletions

View File

@ -1,6 +1,6 @@
mod_version=1.0.27
# Empty build number makes a release type
mod_build_number=4501
mod_build_number=4515
credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\
\ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models, porting),\

View File

@ -1021,6 +1021,8 @@ public class ModBlocks {
public static Block drill_pipe;
public static final int guiID_machine_drill = 45;
public static Block machine_excavator;
public static Block machine_autosaw;
public static Block machine_mining_laser;
public static Block barricade; // a sand bag that drops nothing, for automated walling purposes
@ -2234,6 +2236,7 @@ public class ModBlocks {
machine_fraction_tower = new MachineFractionTower(Material.iron).setBlockName("machine_fraction_tower").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
fraction_spacer = new FractionSpacer(Material.iron).setBlockName("fraction_spacer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_catalytic_cracker = new MachineCatalyticCracker(Material.iron).setBlockName("machine_catalytic_cracker").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_autosaw = new MachineAutosaw().setBlockName("machine_autosaw").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_drill = new MachineMiningDrill(Material.iron).setBlockName("machine_drill").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_drill");
machine_excavator = new MachineExcavator().setBlockName("machine_excavator").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
drill_pipe = new BlockNoDrop(Material.iron).setBlockName("drill_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":drill_pipe");
@ -3281,6 +3284,7 @@ public class ModBlocks {
GameRegistry.registerBlock(fraction_spacer, fraction_spacer.getUnlocalizedName());
GameRegistry.registerBlock(machine_catalytic_cracker, machine_catalytic_cracker.getUnlocalizedName());
GameRegistry.registerBlock(machine_drill, machine_drill.getUnlocalizedName());
GameRegistry.registerBlock(machine_autosaw, machine_autosaw.getUnlocalizedName());
register(machine_excavator);
register(machine_mining_laser);
register(barricade);

View File

@ -0,0 +1,57 @@
package com.hbm.blocks.machine;
import java.util.ArrayList;
import java.util.List;
import com.hbm.blocks.ILookOverlay;
import com.hbm.tileentity.machine.TileEntityMachineAutosaw;
import com.hbm.util.I18nUtil;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre;
public class MachineAutosaw extends BlockContainer implements ILookOverlay {
public MachineAutosaw() {
super(Material.iron);
}
@Override
public TileEntity createNewTileEntity(World world, int meta) {
return new TileEntityMachineAutosaw();
}
@Override
public int getRenderType() {
return -1;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public void printHook(Pre event, World world, int x, int y, int z) {
TileEntity te = world.getTileEntity(x, y, z);
if(!(te instanceof TileEntityMachineAutosaw))
return;
TileEntityMachineAutosaw saw = (TileEntityMachineAutosaw) te;
List<String> text = new ArrayList();
text.add(I18nUtil.resolveKey("hbmfluid." + saw.tank.getTankType().getName().toLowerCase()) + ": " + saw.tank.getFill() + "/" + saw.tank.getMaxFill() + "mB");
ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text);
}
}

View File

@ -1,15 +1,26 @@
package com.hbm.blocks.machine;
import java.util.ArrayList;
import java.util.List;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ILookOverlay;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.items.machine.IItemFluidIdentifier;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.machine.TileEntityMachineHephaestus;
import com.hbm.util.I18nUtil;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre;
import net.minecraftforge.common.util.ForgeDirection;
public class MachineHephaestus extends BlockDummyable {
public class MachineHephaestus extends BlockDummyable implements ILookOverlay {
public MachineHephaestus(Material mat) {
super(mat);
@ -49,4 +60,59 @@ public class MachineHephaestus extends BlockDummyable {
this.makeExtra(world, x, y + 11, z + 1);
this.makeExtra(world, x, y + 11, z - 1);
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(!world.isRemote && !player.isSneaking()) {
if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IItemFluidIdentifier) {
int[] pos = this.findCore(world, x, y, z);
if(pos == null)
return false;
TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]);
if(!(te instanceof TileEntityMachineHephaestus))
return false;
TileEntityMachineHephaestus heatex = (TileEntityMachineHephaestus) te;
FluidType type = ((IItemFluidIdentifier) player.getHeldItem().getItem()).getType(world, pos[0], pos[1], pos[2], player.getHeldItem());
heatex.input.setTankType(type);
heatex.markDirty();
return true;
}
return false;
} else {
return true;
}
}
@Override
public void printHook(Pre event, World world, int x, int y, int z) {
int[] pos = this.findCore(world, x, y, z);
if(pos == null)
return;
TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]);
if(!(te instanceof TileEntityMachineHephaestus))
return;
TileEntityMachineHephaestus heatex = (TileEntityMachineHephaestus) te;
List<String> text = new ArrayList();
text.add(String.format("%,d", heatex.bufferedHeat) + " TU");
for(int i = 0; i < heatex.getAllTanks().length; i++) {
FluidTank tank = heatex.getAllTanks()[i];
text.add((i == 0 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + tank.getTankType().getName().toLowerCase()) + ": " + tank.getFill() + "/" + tank.getMaxFill() + "mB");
}
ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text);
}
}

View File

@ -6,6 +6,7 @@ import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial;
import com.hbm.items.special.ItemWasteLong;
import com.hbm.items.special.ItemWasteShort;
import com.hbm.items.special.ItemByproduct.EnumByproduct;
import com.hbm.main.CraftingManager;
import static com.hbm.inventory.OreDictManager.*;
@ -442,6 +443,17 @@ public class MineralRecipes {
CraftingManager.addShapelessAuto(new ItemStack(ModItems.ball_fireclay, 4), new Object[] { Items.clay_ball, Items.clay_ball, Items.clay_ball, AL.dust() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.ball_fireclay, 4), new Object[] { Items.clay_ball, Items.clay_ball, Items.clay_ball, AL.ore() });
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_IRON), new ItemStack(ModItems.powder_iron));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_COPPER), new ItemStack(ModItems.powder_copper));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_LITHIUM), new ItemStack(ModItems.powder_lithium));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_SILICON), new ItemStack(ModItems.powder_quartz));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_LEAD), new ItemStack(ModItems.powder_lead));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_TITANIUM), new ItemStack(ModItems.powder_titanium));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_ALUMINIUM), new ItemStack(ModItems.powder_aluminium));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_SULFUR), new ItemStack(ModItems.sulfur));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_CALCIUM), new ItemStack(ModItems.powder_calcium));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_BISMUTH), new ItemStack(ModItems.powder_bismuth));
}
//Bundled 1/9 recipes

View File

@ -102,6 +102,8 @@ public class SmeltingRecipes {
GameRegistry.addSmelting(ModItems.powder_ra226, new ItemStack(ModItems.ingot_ra226), 1.0F);
GameRegistry.addSmelting(ModItems.powder_tantalium, new ItemStack(ModItems.ingot_tantalium), 1.0F);
GameRegistry.addSmelting(ModItems.powder_niobium, new ItemStack(ModItems.ingot_niobium), 1.0F);
GameRegistry.addSmelting(ModItems.powder_bismuth, new ItemStack(ModItems.ingot_bismuth), 1.0F);
GameRegistry.addSmelting(ModItems.powder_calcium, new ItemStack(ModItems.ingot_calcium), 1.0F);
GameRegistry.addSmelting(ModItems.combine_scrap, new ItemStack(ModItems.ingot_combine_steel), 1.0F);
GameRegistry.addSmelting(ModItems.tank_waste, new ItemStack(ModItems.tank_waste), 0.0F);

View File

@ -517,6 +517,8 @@ public class EntityEffectHandler {
forward = 1;
player.addVelocity(lookingIn.xCoord * forward + strafeVec.xCoord * strafe, 0, lookingIn.zCoord * forward + strafeVec.zCoord * strafe);
player.motionY = 0;
player.fallDistance = 0F;
player.playSound("hbm:player.dash", 1.0F, 1.0F);
props.setDashCooldown(HbmPlayerProps.dashCooldownLength);

View File

@ -152,8 +152,9 @@ public class OreDictManager {
public static final DictFrame TCALLOY = new DictFrame("TcAlloy");
/** LEAD */
public static final DictFrame PB = new DictFrame("Lead");
//public static final DictFrame BI = new DictFrame("Bismuth");
public static final DictFrame BI = new DictFrame("Bismuth");
public static final DictFrame AS = new DictFrame("Arsenic");
public static final DictFrame CA = new DictFrame("Calcium");
/** TANTALUM */
public static final DictFrame TA = new DictFrame("Tantalum");
public static final DictFrame COLTAN = new DictFrame("Coltan");
@ -329,8 +330,9 @@ public class OreDictManager {
STEEL .ingot(ingot_steel) .dustSmall(powder_steel_tiny) .dust(powder_steel) .plate(plate_steel) .block(block_steel);
TCALLOY .ingot(ingot_tcalloy) .dust(powder_tcalloy);
PB .nugget(nugget_lead) .ingot(ingot_lead) .dust(powder_lead) .plate(plate_lead) .block(block_lead) .ore(ore_lead, ore_meteor_lead);
//BI .nugget(nugget_bismuth) .ingot(ingot_bismuth); THAT'S WHAT YOU THOUGHT!
BI .nugget(nugget_bismuth) .ingot(ingot_bismuth) .dust(powder_bismuth);
AS .nugget(nugget_arsenic) .ingot(ingot_arsenic);
CA .ingot(ingot_calcium) .dust(powder_calcium);
TA .nugget(nugget_tantalium) .gem(gem_tantalium) .ingot(ingot_tantalium) .dust(powder_tantalium) .block(block_tantalium);
COLTAN .ingot(fragment_coltan) .dust(powder_coltan_ore) .block(block_coltan) .ore(ore_coltan);
NB .nugget(fragment_niobium) .ingot(ingot_niobium) .dustSmall(powder_niobium_tiny) .dust(powder_niobium) .block(block_niobium);

View File

@ -917,6 +917,14 @@ public class AssemblerRecipes {
new OreDictStack(OreDictManager.getReflector(), 8),
new OreDictStack(CU.plate(), 12)
}, 150);
makeRecipe(new ComparableStack(ModBlocks.machine_hephaestus, 1), new AStack[] {
new ComparableStack(ModItems.pipes_steel, 1),
new OreDictStack(STEEL.ingot(), 12),
new OreDictStack(CU.plate(), 24),
new OreDictStack(RUBBER.ingot(), 8),
new ComparableStack(ModBlocks.glass_quartz, 16)
}, 150);
makeRecipe(new ComparableStack(ModBlocks.block_cap_nuka, 1), new AStack[] { new ComparableStack(ModItems.cap_nuka, 128) }, 10);
makeRecipe(new ComparableStack(ModBlocks.block_cap_quantum, 1), new AStack[] { new ComparableStack(ModItems.cap_quantum, 128) }, 10);

View File

@ -337,6 +337,14 @@ public class AnvilRecipes {
new ComparableStack(ModItems.plate_polymer, 8)
}, new AnvilOutput(new ItemStack(ModBlocks.machine_boiler))).setTier(2));
constructionRecipes.add(new AnvilConstructionRecipe(
new AStack[] {
new OreDictStack(STEEL.plate(), 12),
new OreDictStack(IRON.ingot(), 8),
new OreDictStack(CU.ingot(), 2),
new ComparableStack(ModItems.sawblade)
}, new AnvilOutput(new ItemStack(ModBlocks.machine_autosaw))).setTier(2));
constructionRecipes.add(new AnvilConstructionRecipe(
new AStack[] {
new OreDictStack(STEEL.ingot(), 6),

View File

@ -345,6 +345,9 @@ public class ModItems {
public static Item ingot_fiberglass;
public static Item ingot_asbestos;
public static Item powder_asbestos;
public static Item ingot_calcium;
public static Item powder_calcium;
public static Item powder_bismuth;
public static Item ingot_lanthanium;
public static Item ingot_actinium;
@ -2845,6 +2848,9 @@ public class ModItems {
nugget_mercury = new Item().setUnlocalizedName("nugget_mercury_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_mercury_tiny");
ingot_mercury = new ItemCustomLore().setUnlocalizedName("nugget_mercury").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_mercury");
bottle_mercury = new ItemCustomLore().setUnlocalizedName("bottle_mercury").setContainerItem(Items.glass_bottle).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bottle_mercury");
ingot_calcium = new Item().setUnlocalizedName("ingot_calcium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_calcium");
powder_calcium = new Item().setUnlocalizedName("powder_calcium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_calcium");
powder_bismuth = new Item().setUnlocalizedName("powder_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_bismuth");
ore_byproduct = new ItemByproduct().setUnlocalizedName("ore_byproduct").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":byproduct");
@ -5901,6 +5907,7 @@ public class ModItems {
GameRegistry.registerItem(ingot_lead, ingot_lead.getUnlocalizedName());
GameRegistry.registerItem(ingot_bismuth, ingot_bismuth.getUnlocalizedName());
GameRegistry.registerItem(ingot_arsenic, ingot_arsenic.getUnlocalizedName());
GameRegistry.registerItem(ingot_calcium, ingot_calcium.getUnlocalizedName());
GameRegistry.registerItem(ingot_tantalium, ingot_tantalium.getUnlocalizedName());
GameRegistry.registerItem(ingot_niobium, ingot_niobium.getUnlocalizedName());
GameRegistry.registerItem(ingot_beryllium, ingot_beryllium.getUnlocalizedName());
@ -6070,6 +6077,8 @@ public class ModItems {
GameRegistry.registerItem(powder_steel_tiny, powder_steel_tiny.getUnlocalizedName());
GameRegistry.registerItem(powder_tcalloy, powder_tcalloy.getUnlocalizedName());
GameRegistry.registerItem(powder_lead, powder_lead.getUnlocalizedName());
GameRegistry.registerItem(powder_bismuth, powder_bismuth.getUnlocalizedName());
GameRegistry.registerItem(powder_calcium, powder_calcium.getUnlocalizedName());
GameRegistry.registerItem(powder_coltan_ore, powder_coltan_ore.getUnlocalizedName());
GameRegistry.registerItem(powder_coltan, powder_coltan.getUnlocalizedName());
GameRegistry.registerItem(powder_tantalium, powder_tantalium.getUnlocalizedName());

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 (4501)";
public static final String VERSION = "1.0.27 BETA (4515)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version

View File

@ -269,6 +269,7 @@ public class ClientProxy extends ServerProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineExcavator.class, new RenderExcavator());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMixer.class, new RenderMixer());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineHephaestus.class, new RenderHephaestus());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAutosaw.class, new RenderAutosaw());
//Foundry
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryBasin.class, new RenderFoundry());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryMold.class, new RenderFoundry());

View File

@ -146,6 +146,9 @@ public class ResourceManager {
//Magnusson Device
public static final IModelCustom microwave = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/microwave.obj"));
//Big Man Johnson
public static final IModelCustom autosaw = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/autosaw.obj"));
//Mining Drill
public static final IModelCustom drill_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/drill_main.obj"));
public static final IModelCustom drill_bolt = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/drill_bolt.obj"));
@ -471,6 +474,9 @@ public class ResourceManager {
//Magnusson Device
public static final ResourceLocation microwave_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/microwave.png");
//Big Man Johnson
public static final ResourceLocation autosaw_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/autosaw.png");
//Mining Drill
public static final ResourceLocation drill_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/mining_drill.png");
public static final ResourceLocation drill_bolt_tex = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png");

View File

@ -0,0 +1,84 @@
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 com.hbm.tileentity.machine.TileEntityMachineAutosaw;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.client.IItemRenderer;
public class RenderAutosaw extends TileEntitySpecialRenderer implements IItemRendererProvider {
@Override
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) {
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
TileEntityMachineAutosaw saw = (TileEntityMachineAutosaw) tile;
double turn = saw.prevRotationYaw + (saw.rotationYaw - saw.prevRotationYaw) * interp;
double angle = 80 - (saw.prevRotationPitch + (saw.rotationPitch - saw.prevRotationPitch) * interp);
float spin = saw.lastSpin + (saw.spin - saw.lastSpin) * interp;
renderCommon(turn, angle, spin);
GL11.glPopMatrix();
}
private void renderCommon(double turn, double angle, double spin) {
bindTexture(ResourceManager.autosaw_tex);
ResourceManager.autosaw.renderPart("Base");
GL11.glRotated(turn, 0, -1, 0);
ResourceManager.autosaw.renderPart("Main");
GL11.glTranslated(0, 1.75, 0);
GL11.glRotated(angle, 1, 0, 0);
GL11.glTranslated(0, -1.75, 0);
ResourceManager.autosaw.renderPart("ArmUpper");
GL11.glTranslated(0, 1.75, -4);
GL11.glRotated(angle * -2, 1, 0, 0);
GL11.glTranslated(0, -1.75, 4);
GL11.glTranslated(-0.01, 0, 0);
ResourceManager.autosaw.renderPart("ArmLower");
GL11.glTranslated(0.01, 0, 0);
GL11.glTranslated(0, 1.75, -8);
GL11.glRotated(angle, 1, 0, 0);
GL11.glTranslated(0, -1.75, 8);
ResourceManager.autosaw.renderPart("ArmTip");
GL11.glTranslated(0, 1.75, -10);
GL11.glRotated(spin, 0, -1, 0);
GL11.glTranslated(0, -1.75, 10);
ResourceManager.autosaw.renderPart("Sawblade");
}
@Override
public Item getItemForRenderer() {
return Item.getItemFromBlock(ModBlocks.machine_autosaw);
}
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() {
GL11.glTranslated(0, -3.5, -3);
GL11.glScaled(5, 5, 5);
}
public void renderCommonWithStack(ItemStack item) {
GL11.glScaled(0.5, 0.5, 0.5);
GL11.glRotatef(-90, 0F, 1F, 0F);
RenderAutosaw.this.renderCommon(0D, 80D, System.currentTimeMillis() % 3600 * 0.1D);
}};
}
}

View File

@ -2,14 +2,18 @@ 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 com.hbm.tileentity.machine.TileEntityMachineHephaestus;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.client.IItemRenderer;
public class RenderHephaestus extends TileEntitySpecialRenderer {
public class RenderHephaestus extends TileEntitySpecialRenderer implements IItemRendererProvider {
@Override
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) {
@ -68,4 +72,37 @@ public class RenderHephaestus extends TileEntitySpecialRenderer {
GL11.glPopMatrix();
}
@Override
public Item getItemForRenderer() {
return Item.getItemFromBlock(ModBlocks.machine_hephaestus);
}
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase() {
public void renderInventory() {
GL11.glTranslated(0, -4.5, 0);
GL11.glScaled(2.25, 2.25, 2.25);
}
public void renderCommon() {
GL11.glScaled(0.5, 0.5, 0.5);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.hephaestus_tex);
ResourceManager.hephaestus.renderPart("Main");
GL11.glPushMatrix();
for(int i = 0; i < 3; i++) {
ResourceManager.hephaestus.renderPart("Rotor");
GL11.glRotated(120, 0, 1, 0);
}
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
bindTexture(RenderExcavator.cobble);
ResourceManager.hephaestus.renderPart("Core");
}};
}
}

View File

@ -3,13 +3,17 @@ package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.tileentity.machine.TileEntityMachineTurbineGas;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.client.IItemRenderer;
public class RenderTurbineGas extends TileEntitySpecialRenderer {
public class RenderTurbineGas extends TileEntitySpecialRenderer implements IItemRendererProvider {
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {
@ -35,4 +39,27 @@ public class RenderTurbineGas extends TileEntitySpecialRenderer {
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
}
@Override
public Item getItemForRenderer() {
return Item.getItemFromBlock(ModBlocks.machine_turbinegas);
}
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase() {
public void renderInventory() {
GL11.glTranslated(0, -1, 1.5);
GL11.glScaled(2.5, 2.5, 2.5);
}
public void renderCommon() {
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glScaled(0.75, 0.75, 0.75);
GL11.glRotated(90, 0, 1, 0);
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.turbinegas_tex);
ResourceManager.turbinegas.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}};
}
}

View File

@ -269,6 +269,7 @@ public class TileMappings {
put(TileEntityDiFurnaceRTG.class, "tileentity_rtg_difurnace");
put(TileEntityMachineRadiolysis.class, "tileentity_radiolysis");
put(TileEntityUVLamp.class, "tileentity_uv_lamp");
put(TileEntityMachineAutosaw.class, "tileentity_autosaw");
put(TileEntityCondenser.class, "tileentity_condenser");
put(TileEntityTowerSmall.class, "tileentity_cooling_tower_small");

View File

@ -9,7 +9,6 @@ import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.lib.Library;
import com.hbm.main.MainRegistry;
import com.hbm.saveddata.TomSaveData;
import com.hbm.tileentity.INBTPacketReceiver;
import com.hbm.tileentity.TileEntityLoadedBase;

View File

@ -0,0 +1,301 @@
package com.hbm.tileentity.machine;
import java.util.List;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.lib.ModDamageSource;
import com.hbm.tileentity.INBTPacketReceiver;
import com.hbm.tileentity.TileEntityLoadedBase;
import api.hbm.fluid.IFluidStandardReceiver;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.BlockLeaves;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
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;
public class TileEntityMachineAutosaw extends TileEntityLoadedBase implements INBTPacketReceiver, IFluidStandardReceiver {
public FluidTank tank;
public boolean isOn;
public float syncYaw;
public float rotationYaw;
public float prevRotationYaw;
public float syncPitch;
public float rotationPitch;
public float prevRotationPitch;
// 0: searching, 1: extending, 2: retracting
private int state = 0;
private int turnProgress;
public float spin;
public float lastSpin;
public TileEntityMachineAutosaw() {
this.tank = new FluidTank(Fluids.WOODOIL, 100);
}
@Override
public void updateEntity() {
if(!worldObj.isRemote) {
if(worldObj.getTotalWorldTime() % 20 == 0) {
if(tank.getFill() > 0) {
tank.setFill(tank.getFill() - 1);
this.isOn = true;
} else {
this.isOn = false;
}
this.subscribeToAllAround(tank.getTankType(), this);
}
if(isOn) {
Vec3 pivot = Vec3.createVectorHelper(xCoord + 0.5, yCoord + 1.75, zCoord + 0.5);
Vec3 upperArm = Vec3.createVectorHelper(0, 0, -4);
upperArm.rotateAroundX((float) Math.toRadians(80 - rotationPitch));
upperArm.rotateAroundY(-(float) Math.toRadians(rotationYaw));
Vec3 lowerArm = Vec3.createVectorHelper(0, 0, -4);
lowerArm.rotateAroundX((float) -Math.toRadians(80 - rotationPitch));
lowerArm.rotateAroundY(-(float) Math.toRadians(rotationYaw));
Vec3 armTip = Vec3.createVectorHelper(0, 0, -2);
armTip.rotateAroundY(-(float) Math.toRadians(rotationYaw));
double cX = pivot.xCoord + upperArm.xCoord + lowerArm.xCoord + armTip.xCoord;
double cY = pivot.yCoord;
double cZ = pivot.zCoord + upperArm.zCoord + lowerArm.zCoord + armTip.zCoord;
List<EntityLivingBase> affected = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(cX - 1, cY - 0.25, cZ - 1, cX + 1, cY + 0.25, cZ + 1));
for(EntityLivingBase e : affected) {
e.attackEntityFrom(ModDamageSource.turbofan, 100);
}
if(state == 0) {
this.rotationYaw += 1;
if(this.rotationYaw >= 360) {
this.rotationYaw -= 360;
}
Vec3 grace = Vec3.createVectorHelper(0, 0, -3.5);
grace.rotateAroundY(-(float) Math.toRadians(rotationYaw));
grace.xCoord += pivot.xCoord;
grace.yCoord += pivot.yCoord;
grace.zCoord += pivot.zCoord;
Vec3 detector = Vec3.createVectorHelper(0, 0, -9);
detector.rotateAroundY(-(float) Math.toRadians(rotationYaw));
detector.xCoord += pivot.xCoord;
detector.yCoord += pivot.yCoord;
detector.zCoord += pivot.zCoord;
MovingObjectPosition pos = worldObj.func_147447_a(grace, detector, false, false, false);
if(pos != null && pos.typeOfHit == pos.typeOfHit.BLOCK) {
Block b = worldObj.getBlock(pos.blockX, pos.blockY, pos.blockZ);
if(b.getMaterial() == Material.wood || b.getMaterial() == Material.leaves || b.getMaterial() == Material.plants) {
state = 1;
}
}
}
int hitY = (int) Math.floor(cY);
int hitX0 = (int) Math.floor(cX - 0.5);
int hitZ0 = (int) Math.floor(cZ - 0.5);
int hitX1 = (int) Math.floor(cX + 0.5);
int hitZ1 = (int) Math.floor(cZ + 0.5);
this.tryInteract(hitX0, hitY, hitZ0);
this.tryInteract(hitX1, hitY, hitZ0);
this.tryInteract(hitX0, hitY, hitZ1);
this.tryInteract(hitX1, hitY, hitZ1);
if(state == 1) {
this.rotationPitch += 2;
if(this.rotationPitch > 80) {
this.rotationPitch = 80;
state = 2;
}
}
if(state == 2) {
this.rotationPitch -= 2;
if(this.rotationPitch <= 0) {
this.rotationPitch = 0;
state = 0;
}
}
}
NBTTagCompound data = new NBTTagCompound();
data.setBoolean("isOn", isOn);
data.setFloat("yaw", this.rotationYaw);
data.setFloat("pitch", this.rotationPitch);
tank.writeToNBT(data, "t");
INBTPacketReceiver.networkPack(this, data, 100);
} else {
this.lastSpin = this.spin;
if(isOn) {
this.spin += 15F;
Vec3 vec = Vec3.createVectorHelper(0.625, 0, 1.625);
vec.rotateAroundY(-(float) Math.toRadians(rotationYaw));
worldObj.spawnParticle("smoke", xCoord + 0.5 + vec.xCoord, yCoord + 2.0625, zCoord + 0.5 + vec.zCoord, 0, 0, 0);
}
if(this.spin >= 360F) {
this.spin -= 360F;
this.lastSpin -= 360F;
}
this.prevRotationYaw = this.rotationYaw;
this.prevRotationPitch = this.rotationPitch;
if(this.turnProgress > 0) {
double d0 = MathHelper.wrapAngleTo180_double(this.syncYaw - (double) this.rotationYaw);
double d1 = MathHelper.wrapAngleTo180_double(this.syncPitch - (double) this.rotationPitch);
this.rotationYaw = (float) ((double) this.rotationYaw + d0 / (double) this.turnProgress);
this.rotationPitch = (float) ((double) this.rotationPitch + d1 / (double) this.turnProgress);
--this.turnProgress;
} else {
this.rotationYaw = this.syncYaw;
this.rotationPitch = this.syncPitch;
}
}
}
protected void tryInteract(int x, int y, int z) {
Block b = worldObj.getBlock(x, y, z);
if(b.getMaterial() == Material.leaves || b.getMaterial() == Material.plants) {
worldObj.func_147480_a(x, y, z, true);
return;
}
if(b.getMaterial() == Material.wood) {
fellTree(x, y, z);
if(state == 1) {
state = 2;
}
}
}
protected void fellTree(int x, int y, int z) {
if(worldObj.getBlock(x, y - 1, z).getMaterial() == Material.wood) {
y--;
if(worldObj.getBlock(x, y - 2, z).getMaterial() == Material.wood) {
y--;
}
}
int meta = -1;
for(int i = y; i < y + 10; i++) {
int[][] dir = new int[][] {{0, 0}, {1, 0}, {-1, 0}, {0, 1}, {0, -1}};
for(int[] d : dir) {
Block b = worldObj.getBlock(x + d[0], i, z + d[1]);
if(b.getMaterial() == Material.wood) {
worldObj.func_147480_a(x + d[0], i, z + d[1], true);
} else if(b instanceof BlockLeaves) {
meta = worldObj.getBlockMetadata(x + d[0], i, z + d[1]) & 3;
worldObj.func_147480_a(x + d[0], i, z + d[1], true);
}
}
}
if(meta >= 0) {
if(Blocks.sapling.canPlaceBlockAt(worldObj, x, y, z)) {
worldObj.setBlock(x, y, z, Blocks.sapling, meta, 3);
}
}
}
@Override
public void networkUnpack(NBTTagCompound nbt) {
this.isOn = nbt.getBoolean("isOn");
this.syncYaw = nbt.getFloat("yaw");
this.syncPitch = nbt.getFloat("pitch");
this.turnProgress = 3; //use 3-ply for extra smoothness
this.tank.readFromNBT(nbt, "t");
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
this.isOn = nbt.getBoolean("isOn");
this.rotationYaw = nbt.getFloat("yaw");
this.rotationPitch = nbt.getFloat("pitch");
this.state = nbt.getInteger("state");
this.tank.readFromNBT(nbt, "t");
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
nbt.setBoolean("isOn", this.isOn);
nbt.setFloat("yaw", this.rotationYaw);
nbt.setFloat("pitch", this.rotationPitch);
nbt.setInteger("state", this.state);
tank.writeToNBT(nbt, "t");
}
@Override
public FluidTank[] getAllTanks() {
return new FluidTank[] {tank};
}
@Override
public FluidTank[] getReceivingTanks() {
return new FluidTank[] {tank};
}
AxisAlignedBB bb = null;
@Override
public AxisAlignedBB getRenderBoundingBox() {
if(bb == null) {
bb = AxisAlignedBB.getBoundingBox(
xCoord - 12,
yCoord,
zCoord - 12,
xCoord + 13,
yCoord + 10,
zCoord + 13
);
}
return bb;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared() {
return 65536.0D;
}
}

View File

@ -141,12 +141,12 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements
protected int heatFromBlock(int x, int y, int z) {
Block b = worldObj.getBlock(x, y, z);
if(b == Blocks.lava || b == Blocks.flowing_lava) return 200;
if(b == ModBlocks.volcanic_lava_block) return 800;
if(b == Blocks.lava || b == Blocks.flowing_lava) return 25;
if(b == ModBlocks.volcanic_lava_block) return 500;
if(b == ModBlocks.ore_volcano) {
this.fissureScanTime = worldObj.getTotalWorldTime();
return 2_000;
return 1_000;
}
return 0;
@ -161,7 +161,7 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements
}
if(fissure) {
heat *= 5;
heat *= 3;
}
return heat;
@ -187,14 +187,14 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements
private DirPos[] getConPos() {
return new DirPos[] {
new DirPos(xCoord + 1, yCoord, zCoord, Library.POS_X),
new DirPos(xCoord - 1, yCoord, zCoord, Library.NEG_X),
new DirPos(xCoord, yCoord, zCoord + 1, Library.POS_Z),
new DirPos(xCoord, yCoord, zCoord - 1, Library.NEG_Z),
new DirPos(xCoord + 1, yCoord + 11, zCoord, Library.POS_X),
new DirPos(xCoord - 1, yCoord + 11, zCoord, Library.NEG_X),
new DirPos(xCoord, yCoord + 11, zCoord + 1, Library.POS_Z),
new DirPos(xCoord, yCoord + 11, zCoord - 1, Library.NEG_Z)
new DirPos(xCoord + 2, yCoord, zCoord, Library.POS_X),
new DirPos(xCoord - 2, yCoord, zCoord, Library.NEG_X),
new DirPos(xCoord, yCoord, zCoord + 2, Library.POS_Z),
new DirPos(xCoord, yCoord, zCoord - 2, Library.NEG_Z),
new DirPos(xCoord + 2, yCoord + 11, zCoord, Library.POS_X),
new DirPos(xCoord - 2, yCoord + 11, zCoord, Library.NEG_X),
new DirPos(xCoord, yCoord + 11, zCoord + 2, Library.POS_Z),
new DirPos(xCoord, yCoord + 11, zCoord - 2, Library.NEG_Z)
};
}

View File

@ -1043,7 +1043,7 @@ item.balefire_scrambled.name=Rühr-Balefire-Ei
item.ball_dynamite.name=Dynamit
item.ball_fireclay.name=Schamott
item.ball_tnt.name=TNT
item.ballistitc_gauntlet.name=Ballistischer Panzerhandschuh
item.ballistic_gauntlet.name=Ballistischer Panzerhandschuh
item.ballistite.name=Ballistit
item.bandaid.name=Samtenes Pflaster
item.bathwater.name=Toxisches Seifenwasser
@ -1945,6 +1945,7 @@ item.ingot_beryllium.name=Berylliumbarren
item.ingot_bismuth.name=Bismutbarren
item.ingot_boron.name=Borbarren
item.ingot_c4.name=C4-Tafel
item.ingot_calcium.name=Kalziumbarren
item.ingot_chainsteel.name=Schwerer Kettenstahl
item.ingot_co60.name=Kobalt-60-Barren
item.ingot_cobalt.name=Kobaltbarren
@ -2406,6 +2407,16 @@ item.ore.niobium=Niob
item.ore.titanium=Titan
item.ore.tungsten=Wolfram
item.ore_bedrock.name=Bedrock-%serz
item.ore_byproduct.b_aluminium.name=Kristallines Aluminiumfragment
item.ore_byproduct.b_bismuth.name=Kristallines Bismutfragment
item.ore_byproduct.b_calcium.name=Kristallines Kalziumfragment
item.ore_byproduct.b_copper.name=Kristallines Kupferfragment
item.ore_byproduct.b_iron.name=Kristallines Eisenfragment
item.ore_byproduct.b_lead.name=Kristallines Bleifragment
item.ore_byproduct.b_lithium.name=Kristallines Lithiumfragment
item.ore_byproduct.b_silicon.name=Kristallines Siliziumfragment
item.ore_byproduct.b_sulfur.name=Kristallines Schwefelfragment
item.ore_byproduct.b_titanium.name=Kristallines Titanfragment
item.ore_centrifuged.name=Zentrifugiertes %serz
item.ore_cleaned.name=Gereinigtes %serz
item.ore_deepcleaned.name=Tiefengereinigtes %serz
@ -2540,11 +2551,13 @@ item.powder_australium.name=Australiumstaub
item.powder_bakelite.name=Bakelitstaub
item.powder_balefire.name=Thermonukleare Asche
item.powder_beryllium.name=Berylliumstaub
item.powder_bismuth.name=Bismutstaub
item.powder_borax.name=Borax
item.powder_boron.name=Borstaub
item.powder_boron_tiny.name=Kleiner Haufen Borstaub
item.powder_bromine.name=Bromstaub
item.powder_caesium.name=Caesiumstaub
item.powder_calcium.name=Kalziumstaub
item.powder_cerium.name=Cerstaub
item.powder_cerium_tiny.name=Kleiner Haufen Cerstaub
item.powder_chlorophyte.name=Grünalgenstaub
@ -3747,6 +3760,7 @@ tile.machine_armor_table.name=Rüstungsmodifikationstisch
tile.machine_assembler.name=Fertigungsmaschine
tile.machine_assemfac.name=Fertigungsfabrik
tile.machine_autocrafter.name=Automatische Werkbank
tile.machine_autosaw.name=Automatische Kreissäge
tile.machine_bat9000.name=Big-Ass Tank 9000
tile.machine_battery.name=Energiespeicherblock
tile.machine_battery_potato.name=Kartoffelbatterieblock
@ -3796,7 +3810,8 @@ tile.machine_fracking_tower.name=Hydraulischer Frackingturm
tile.machine_fraction_tower.name=Fraktionierungsturm
tile.machine_gascent.name=Gaszentrifuge
tile.machine_generator.name=Atomreaktor (Alt)
tile.machine_geo.name=Gepthermiegenerator
tile.machine_geo.name=Geothermiegenerator
tile.machine_hephaestus.name=Geothermischer Wärmetauscher
tile.machine_industrial_generator.name=Industrieller Generator
tile.machine_keyforge.name=Schlossertisch
tile.machine_large_turbine.name=Industrielle Dampfturbine
@ -3970,6 +3985,7 @@ tile.ore_unobtainium.name=Glimmerblende
tile.ore_uranium.name=Uranerz
tile.ore_uranium_scorched.name=Verschmortes Uranerz
tile.ore_verticium.name=Dollargrünes Mineral
tile.ore_volcano.name=Thermale Fissur
tile.ore_weidanium.name=Weidit
tile.pink_barrel.name=Kerosinfass
tile.pink_log.name=Pinkes Holz

View File

@ -1653,7 +1653,7 @@ item.balefire_scrambled.name=Scrambled Balefire Egg
item.ball_dynamite.name=Dynamite
item.ball_fireclay.name=Fireclay
item.ball_tnt.name=TNT
item.ballistitc_gauntlet.name=Ballistic Gauntlet
item.ballistic_gauntlet.name=Ballistic Gauntlet
item.ballistite.name=Ballistite
item.bandaid.name=Velvet Band-Aid
item.bathwater.name=Toxic Soapy Water
@ -2620,6 +2620,7 @@ item.ingot_beryllium.name=Beryllium Ingot
item.ingot_bismuth.name=Bismuth Ingot
item.ingot_boron.name=Boron Ingot
item.ingot_c4.name=Bar of Composition C-4
item.ingot_calcium.name=Calcium Ingot
item.ingot_chainsteel.name=Heavy Chainsteel
item.ingot_co60.name=Cobalt-60 Ingot
item.ingot_cobalt.name=Cobalt Ingot
@ -3114,6 +3115,16 @@ item.ore.niobium=Niobium
item.ore.titanium=Titanium
item.ore.tungsten=Tungsten
item.ore_bedrock.name=%s Bedrock Ore
item.ore_byproduct.b_aluminium.name=Crystalline Aluminium Fragment
item.ore_byproduct.b_bismuth.name=Crystalline Bismuth Fragment
item.ore_byproduct.b_calcium.name=Crystalline Calcium Fragment
item.ore_byproduct.b_copper.name=Crystalline Copper Fragment
item.ore_byproduct.b_iron.name=Crystalline Iron Fragment
item.ore_byproduct.b_lead.name=Crystalline Lead Fragment
item.ore_byproduct.b_lithium.name=Crystalline Lithium Fragment
item.ore_byproduct.b_silicon.name=Crystalline Silicon Fragment
item.ore_byproduct.b_sulfur.name=Crystalline Sulfur Fragment
item.ore_byproduct.b_titanium.name=Crystalline Titanium Fragment
item.ore_centrifuged.name=Centrifuged %s Ore
item.ore_cleaned.name=Cleaned %s Ore
item.ore_deepcleaned.name=Deep Cleaned %s Ore
@ -3294,11 +3305,13 @@ item.powder_australium.name=Australium Powder
item.powder_bakelite.name=Bakelite Powder
item.powder_balefire.name=Thermonuclear Ashes
item.powder_beryllium.name=Beryllium Powder
item.powder_bismuth.name=Bismuth Powder
item.powder_borax.name=Borax
item.powder_boron.name=Boron Powder
item.powder_boron_tiny.name=Tiny Pile of Boron Powder
item.powder_bromine.name=Bromine Powder
item.powder_caesium.name=Caesium Powder
item.powder_calcium.name=Calcium Powder
item.powder_cerium.name=Cerium Powder
item.powder_cerium_tiny.name=Tiny Pile of Cerium Powder
item.powder_chlorophyte.name=Chlorophyte Powder
@ -4591,6 +4604,7 @@ tile.machine_armor_table.name=Armor Modification Table
tile.machine_assembler.name=Assembly Machine
tile.machine_assemfac.name=Assembly Factory
tile.machine_autocrafter.name=Automatic Crafting Table
tile.machine_autosaw.name=Automatic Buzz Saw
tile.machine_bat9000.name=Big-Ass Tank 9000
tile.machine_battery.name=Energy Storage Block
tile.machine_battery_potato.name=Potato Battery Block
@ -4641,6 +4655,7 @@ tile.machine_fracking_tower.name=Hydraulic Fracking Tower
tile.machine_gascent.name=Gas Centrifuge
tile.machine_generator.name=Nuclear Reactor (Old)
tile.machine_geo.name=Geothermal Electric Generator
tile.machine_hephaestus.name=Geothermal Heat Exchanger
tile.machine_industrial_generator.name=Industrial Generator
tile.machine_keyforge.name=Locksmith Table
tile.machine_large_turbine.name=Industrial Steam Turbine
@ -4817,6 +4832,7 @@ tile.ore_unobtainium.name=Brightblende Ore
tile.ore_uranium.name=Uranium Ore
tile.ore_uranium_scorched.name=Scorched Uranium Ore
tile.ore_verticium.name=Dollar Green Mineral
tile.ore_volcano.name=Geothermal Vent
tile.ore_weidanium.name=Weidite
tile.pink_barrel.name=Kerosene Barrel
tile.pink_log.name=Pink Log

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB