From a40dbd882a8fbe7a3f2d0083ff66725f95c6731b Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 5 Oct 2023 22:42:19 +0200 Subject: [PATCH] arc welder stuff --- src/main/java/com/hbm/blocks/ModBlocks.java | 3 + .../hbm/blocks/machine/MachineArcWelder.java | 32 ++++++++++ src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ResourceManager.java | 6 ++ .../render/tileentity/RenderArcWelder.java | 57 ++++++++++++++++++ .../java/com/hbm/tileentity/TileMappings.java | 1 + .../machine/TileEntityMachineArcWelder.java | 54 +++++++++++++++++ .../gui/processing/gui_arc_welder.png | Bin 0 -> 2952 bytes 8 files changed, 154 insertions(+) create mode 100644 src/main/java/com/hbm/blocks/machine/MachineArcWelder.java create mode 100644 src/main/java/com/hbm/render/tileentity/RenderArcWelder.java create mode 100644 src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcWelder.java create mode 100644 src/main/resources/assets/hbm/textures/gui/processing/gui_arc_welder.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 2e4a6cda9..66d22a2ee 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1036,6 +1036,7 @@ public class ModBlocks { public static Block machine_assembler; public static Block machine_assemfac; + public static Block machine_arc_welder; public static Block machine_chemplant; public static Block machine_chemfac; @@ -2272,6 +2273,7 @@ public class ModBlocks { barricade = new BlockNoDrop(Material.sand).setBlockName("barricade").setHardness(1.0F).setResistance(2.5F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":barricade"); machine_assembler = new MachineAssembler(Material.iron).setBlockName("machine_assembler").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_assembler"); machine_assemfac = new MachineAssemfac(Material.iron).setBlockName("machine_assemfac").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_arc_welder = new MachineArcWelder(Material.iron).setBlockName("machine_arc_welder").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_chemplant = new MachineChemplant(Material.iron).setBlockName("machine_chemplant").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_chemfac = new MachineChemfac(Material.iron).setBlockName("machine_chemfac").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_mixer = new MachineMixer(Material.iron).setBlockName("machine_mixer").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); @@ -3319,6 +3321,7 @@ public class ModBlocks { GameRegistry.registerBlock(machine_assemfac, machine_assemfac.getUnlocalizedName()); GameRegistry.registerBlock(machine_chemplant, machine_chemplant.getUnlocalizedName()); GameRegistry.registerBlock(machine_chemfac, machine_chemfac.getUnlocalizedName()); + register(machine_arc_welder); register(machine_mixer); register(machine_fluidtank); register(machine_bat9000); diff --git a/src/main/java/com/hbm/blocks/machine/MachineArcWelder.java b/src/main/java/com/hbm/blocks/machine/MachineArcWelder.java new file mode 100644 index 000000000..a728122bc --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineArcWelder.java @@ -0,0 +1,32 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.TileEntityMachineArcWelder; + +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class MachineArcWelder extends BlockDummyable { + + public MachineArcWelder(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachineArcWelder(); + return new TileEntityProxyCombo().inventory().power().fluid(); + } + + @Override + public int[] getDimensions() { + return new int[] {1, 0, 1, 0, 1, 1}; + } + + @Override + public int getOffset() { + return 0; + } +} diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index ea4100179..8b4ff3564 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -293,6 +293,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRadioTelex.class, new RenderTelex()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePumpSteam.class, new RenderPump()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePumpElectric.class, new RenderPump()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineArcWelder.class, new RenderArcWelder()); //Foundry ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryBasin.class, new RenderFoundry()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryMold.class, new RenderFoundry()); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index c7a57a2a6..18cf110cc 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -147,6 +147,9 @@ public class ResourceManager { //Mixer public static final IModelCustom mixer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/mixer.obj")); + //Arc Welder + public static final IModelCustom arc_welder = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/arc_welder.obj")); + //F6 TANKS public static final IModelCustom tank = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/tank.obj")); @@ -513,6 +516,9 @@ public class ResourceManager { //Mixer public static final ResourceLocation mixer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/mixer.png"); + + //Welder + public static final ResourceLocation arc_welder_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/arc_welder.png"); //F6 TANKS public static final ResourceLocation uf6_tex = new ResourceLocation(RefStrings.MODID, "textures/models/UF6Tank.png"); diff --git a/src/main/java/com/hbm/render/tileentity/RenderArcWelder.java b/src/main/java/com/hbm/render/tileentity/RenderArcWelder.java new file mode 100644 index 000000000..f7b1ef53c --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderArcWelder.java @@ -0,0 +1,57 @@ +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 net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderArcWelder extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y, z + 0.5); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + switch(tile.getBlockMetadata() - BlockDummyable.offset) { + 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; + } + + GL11.glTranslated(-0.5, 0, 0); + + bindTexture(ResourceManager.arc_welder_tex); + ResourceManager.arc_welder.renderAll(); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.radio_telex); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase( ) { + public void renderInventory() { + GL11.glTranslated(0, -2, 0); + GL11.glScaled(6, 6, 6); + } + public void renderCommon() { + GL11.glTranslated(0, 0, -0.5); + bindTexture(ResourceManager.arc_welder_tex); + ResourceManager.arc_welder.renderAll(); + }}; + } +} diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 3e6c9cc6d..d5ef30c31 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -307,6 +307,7 @@ public class TileMappings { put(TileEntityMachineCompressor.class, "tileentity_compressor"); put(TileEntityElectrolyser.class, "tileentity_electrolyser"); put(TileEntityMachineMixer.class, "tileentity_mixer"); + put(TileEntityMachineArcWelder.class, "tileentity_arc_welder"); put(TileEntitySteamEngine.class, "tileentity_steam_engine"); put(TileEntityMachineTurbine.class, "tileentity_turbine"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcWelder.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcWelder.java new file mode 100644 index 000000000..f2099415d --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcWelder.java @@ -0,0 +1,54 @@ +package com.hbm.tileentity.machine; + +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.tileentity.TileEntityMachineBase; + +import api.hbm.energy.IEnergyUser; +import api.hbm.fluid.IFluidStandardReceiver; + +public class TileEntityMachineArcWelder extends TileEntityMachineBase implements IEnergyUser, IFluidStandardReceiver { + + public long power; + public long maxPower; + + public FluidTank tank; + + public TileEntityMachineArcWelder() { + super(8); + } + + @Override + public String getName() { + return "container.machineArcWelder"; + } + + @Override + public void updateEntity() { + + } + + @Override + public long getPower() { + return power; + } + + @Override + public void setPower(long power) { + this.power = power; + } + + @Override + public long getMaxPower() { + return maxPower; + } + + @Override + public FluidTank[] getAllTanks() { + return new FluidTank[] {tank}; + } + + @Override + public FluidTank[] getReceivingTanks() { + return new FluidTank[] {tank}; + } +} diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_arc_welder.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_arc_welder.png new file mode 100644 index 0000000000000000000000000000000000000000..14366acc325432628c0d5dd3f694de688a8539d3 GIT binary patch literal 2952 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 literal 0 HcmV?d00001