arc furnace, new press texture, amGen
@ -335,6 +335,9 @@ container.rtgFurnace=RTG-Ofen
|
||||
tile.machine_electric_furnace_off.name=Elektrischer Ofen
|
||||
tile.machine_electric_furnace_on.name=Elektrischer Ofen
|
||||
container.electricFurnace=Elektrischer Ofen
|
||||
tile.machine_arc_furnace_off.name=Lichtbogenofen
|
||||
tile.machine_arc_furnace_on.name=Lichtbogenofen
|
||||
container.arcFurnace=Lichtbogenofen
|
||||
tile.machine_generator.name=Atomreaktor (Alt)
|
||||
container.generator=Atomreaktor
|
||||
tile.red_wire_coated.name=Geschirmtes rotes Kupferkabel
|
||||
@ -518,6 +521,9 @@ item.chemistry_template.name=Chemievorlage:
|
||||
item.siren_track.name=Sirenentrack
|
||||
|
||||
item.fuse.name=Sicherung
|
||||
item.arc_electrode.name=Graphitelektrode
|
||||
item.arc_electrode_burnt.name=Geschmolzene Elektrode
|
||||
item.arc_electrode_desh.name=Desh-Elektrode
|
||||
|
||||
tile.test_nuke.name=Test Atombombe
|
||||
|
||||
@ -1085,6 +1091,8 @@ item.rod_dual_waste.name=Doppelter Atommüllstab
|
||||
item.rod_quad_waste.name=Vierfacher Atommüllstab
|
||||
|
||||
item.gun_rpg.name=Carl Gustav Reaktive Panzerbüchse
|
||||
item.gun_karl.name=Karl
|
||||
item.gun_panzerschreck.name=Panzerschreck
|
||||
item.gun_rpg_ammo.name=Rakete
|
||||
item.gun_stinger.name=FIM-92 Stinger
|
||||
item.gun_skystinger.name=The One Sky Stinger
|
||||
|
||||
@ -335,6 +335,9 @@ container.rtgFurnace=RTG Furnace
|
||||
tile.machine_electric_furnace_off.name=Electric Furnace
|
||||
tile.machine_electric_furnace_on.name=Electric Furnace
|
||||
container.electricFurnace=Electric Furnace
|
||||
tile.machine_arc_furnace_off.name=Arc Furnace
|
||||
tile.machine_arc_furnace_on.name=Arc Furnace
|
||||
container.arcFurnace=Arc Furnace
|
||||
tile.machine_generator.name=Nuclear Reactor (Old)
|
||||
container.generator=Nuclear Reactor
|
||||
tile.red_wire_coated.name=Coated Red Copper Cable
|
||||
@ -518,6 +521,9 @@ item.chemistry_template.name=Chemistry Template:
|
||||
item.siren_track.name=Siren Track
|
||||
|
||||
item.fuse.name=Fuse
|
||||
item.arc_electrode.name=Graphite Electrode
|
||||
item.arc_electrode_burnt.name=Molten Electrode
|
||||
item.arc_electrode_desh.name=Desh Electrode
|
||||
|
||||
tile.test_nuke.name=Test Nuke
|
||||
|
||||
@ -1085,6 +1091,8 @@ item.rod_dual_waste.name=Nuclear Waste Dual Rod
|
||||
item.rod_quad_waste.name=Nuclear Waste Quad Rod
|
||||
|
||||
item.gun_rpg.name=Carl Gustav Recoilless Rifle
|
||||
item.gun_karl.name=Karl
|
||||
item.gun_panzerschreck.name=Panzerschreck
|
||||
item.gun_rpg_ammo.name=Rocket
|
||||
item.gun_stinger.name=FIM-92 Stinger
|
||||
item.gun_skystinger.name=The One Sky Stinger
|
||||
|
||||
BIN
assets/hbm/textures/blocks/machine_amgen_side.png
Normal file
|
After Width: | Height: | Size: 346 B |
BIN
assets/hbm/textures/blocks/machine_amgen_top.png
Normal file
|
After Width: | Height: | Size: 386 B |
|
Before Width: | Height: | Size: 486 B After Width: | Height: | Size: 486 B |
BIN
assets/hbm/textures/blocks/machine_gas_furnace_off.png
Normal file
|
After Width: | Height: | Size: 447 B |
BIN
assets/hbm/textures/blocks/machine_gas_furnace_on.png
Normal file
|
After Width: | Height: | Size: 736 B |
BIN
assets/hbm/textures/blocks/machine_gas_furnace_side.png
Normal file
|
After Width: | Height: | Size: 435 B |
BIN
assets/hbm/textures/blocks/machine_gas_furnace_top.png
Normal file
|
After Width: | Height: | Size: 427 B |
BIN
assets/hbm/textures/gui/gui_arc.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 361 B After Width: | Height: | Size: 361 B |
|
Before Width: | Height: | Size: 361 B After Width: | Height: | Size: 361 B |
BIN
assets/hbm/textures/items/arc_electrode_desh.png
Normal file
|
After Width: | Height: | Size: 250 B |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 4.6 KiB |
@ -332,6 +332,7 @@ public class ModBlocks {
|
||||
|
||||
public static Block machine_arc_furnace_off;
|
||||
public static Block machine_arc_furnace_on;
|
||||
public static final int guiID_machine_arc = 82;
|
||||
|
||||
//public static Block machine_deuterium;
|
||||
public static final int guiID_machine_deuterium = 20;
|
||||
@ -461,6 +462,7 @@ public class ModBlocks {
|
||||
public static Block machine_rtg_cyan;
|
||||
//public static Block machine_rtg_blue;
|
||||
//public static Block machine_rtg_purple;
|
||||
public static Block machine_amgen;
|
||||
|
||||
public static Block machine_well;
|
||||
public static Block oil_pipe;
|
||||
@ -893,6 +895,7 @@ public class ModBlocks {
|
||||
machine_rtg_cyan = new MachineRTG(Material.iron).setBlockName("machine_rtg_cyan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||
//machine_rtg_blue = new MachineRTG(Material.iron).setBlockName("machine_rtg_blue").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||
//machine_rtg_purple = new MachineRTG(Material.iron).setBlockName("machine_rtg_purple").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||
machine_amgen = new MachineAmgen(Material.iron).setBlockName("machine_amgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||
|
||||
red_wire_coated = new WireCoated(Material.iron).setBlockName("red_wire_coated").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_wire_coated");
|
||||
red_cable = new BlockCable(Material.iron).setBlockName("red_cable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_cable_icon");
|
||||
@ -1413,6 +1416,7 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(machine_radgen, machine_radgen.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_cyclotron, machine_cyclotron.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_rtg_grey, machine_rtg_grey.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_amgen, machine_amgen.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_spp_bottom, machine_spp_bottom.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_spp_top, machine_spp_top.getUnlocalizedName());
|
||||
//GameRegistry.registerBlock(machine_rtg_red, machine_rtg_red.getUnlocalizedName());
|
||||
|
||||
44
com/hbm/blocks/machine/MachineAmgen.java
Normal file
@ -0,0 +1,44 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineAmgen;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.BlockContainer;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class MachineAmgen extends BlockContainer {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconTop;
|
||||
|
||||
public MachineAmgen(Material p_i45386_1_) {
|
||||
super(p_i45386_1_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
|
||||
return new TileEntityMachineAmgen();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconRegister) {
|
||||
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_amgen_top");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_amgen_side");
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIcon(int side, int metadata) {
|
||||
return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon);
|
||||
}
|
||||
|
||||
}
|
||||
@ -6,7 +6,6 @@ import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineArcFurnace;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineElectricFurnace;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
@ -39,6 +38,8 @@ public class MachineArcFurnace extends BlockContainer {
|
||||
private IIcon iconTop;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconBottom;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconRods;
|
||||
|
||||
public MachineArcFurnace(boolean blockState) {
|
||||
super(Material.iron);
|
||||
@ -53,12 +54,23 @@ public class MachineArcFurnace extends BlockContainer {
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_arc_furnace_top_on" : ":machine_arc_furnace_top"));
|
||||
this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + ":machine_arc_furnace_bottom");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_arc_furnace_side");
|
||||
this.iconRods = iconRegister.registerIcon(RefStrings.MODID + ":machine_arc_furnace_top_rods");
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIcon(int side, int metadata) {
|
||||
|
||||
if(this == ModBlocks.machine_arc_furnace_off) {
|
||||
|
||||
if(side == 1 && metadata > 5) {
|
||||
return iconRods;
|
||||
}
|
||||
}
|
||||
|
||||
if(metadata > 5)
|
||||
metadata -= 4;
|
||||
|
||||
if(side == 0)
|
||||
return this.iconBottom;
|
||||
if(side == 1)
|
||||
@ -147,7 +159,7 @@ public class MachineArcFurnace extends BlockContainer {
|
||||
TileEntityMachineArcFurnace entity = (TileEntityMachineArcFurnace) world.getTileEntity(x, y, z);
|
||||
if(entity != null)
|
||||
{
|
||||
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_electric_furnace, world, x, y, z);
|
||||
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_arc, world, x, y, z);
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
|
||||
28
com/hbm/entity/logic/EntityEMP.java
Normal file
@ -0,0 +1,28 @@
|
||||
package com.hbm.entity.logic;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityEMP extends Entity {
|
||||
|
||||
public EntityEMP(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void entityInit() { }
|
||||
|
||||
@Override
|
||||
protected void readEntityFromNBT(NBTTagCompound nbt) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void writeEntityToNBT(NBTTagCompound nbt) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
48
com/hbm/entity/missile/EntityMissileEMPStrong.java
Normal file
@ -0,0 +1,48 @@
|
||||
package com.hbm.entity.missile;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMissileEMPStrong extends EntityMissileBaseAdvanced {
|
||||
|
||||
public EntityMissileEMPStrong(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityMissileEMPStrong(World world, float x, float y, float z, int a, int b) {
|
||||
super(world, x, y, z, a, b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onImpact() {
|
||||
ExplosionLarge.explode(worldObj, posX, posY, posZ, 25.0F, true, true, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getDebris() {
|
||||
List<ItemStack> list = new ArrayList<ItemStack>();
|
||||
|
||||
list.add(new ItemStack(ModItems.plate_steel, 10));
|
||||
list.add(new ItemStack(ModItems.plate_titanium, 6));
|
||||
list.add(new ItemStack(ModItems.thruster_medium, 1));
|
||||
list.add(new ItemStack(ModItems.circuit_targeting_tier2, 1));
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getDebrisRareDrop() {
|
||||
return new ItemStack(ModItems.warhead_generic_medium);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMissileType() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@ -731,6 +731,15 @@ public class GUIHandler implements IGuiHandler {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
case ModBlocks.guiID_machine_arc:
|
||||
{
|
||||
if(entity instanceof TileEntityMachineArcFurnace)
|
||||
{
|
||||
return new ContainerMachineArcFurnace(player.inventory, (TileEntityMachineArcFurnace) entity);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//CLIENTONLY CONTAINERS
|
||||
@ -1462,6 +1471,15 @@ public class GUIHandler implements IGuiHandler {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
case ModBlocks.guiID_machine_arc:
|
||||
{
|
||||
if(entity instanceof TileEntityMachineArcFurnace)
|
||||
{
|
||||
return new GUIMachineArcFurnace(player.inventory, (TileEntityMachineArcFurnace) entity);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//CLIENTONLY GUIS
|
||||
|
||||
88
com/hbm/inventory/container/ContainerMachineArcFurnace.java
Normal file
@ -0,0 +1,88 @@
|
||||
package com.hbm.inventory.container;
|
||||
|
||||
import com.hbm.inventory.SlotMachineOutput;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineArcFurnace;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineElectricFurnace;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.ICrafting;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ContainerMachineArcFurnace extends Container {
|
||||
|
||||
private TileEntityMachineArcFurnace diFurnace;
|
||||
|
||||
public ContainerMachineArcFurnace(InventoryPlayer invPlayer, TileEntityMachineArcFurnace tedf) {
|
||||
|
||||
diFurnace = tedf;
|
||||
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 56, 17));
|
||||
this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 1, 116, 35));
|
||||
this.addSlotToContainer(new Slot(tedf, 2, 38, 53));
|
||||
this.addSlotToContainer(new Slot(tedf, 3, 56, 53));
|
||||
this.addSlotToContainer(new Slot(tedf, 4, 74, 53));
|
||||
this.addSlotToContainer(new Slot(tedf, 5, 8, 53));
|
||||
|
||||
for(int i = 0; i < 3; i++)
|
||||
{
|
||||
for(int j = 0; j < 9; j++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 9; i++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addCraftingToCrafters(ICrafting crafting) {
|
||||
super.addCraftingToCrafters(crafting);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2)
|
||||
{
|
||||
ItemStack var3 = null;
|
||||
Slot var4 = (Slot) this.inventorySlots.get(par2);
|
||||
|
||||
if (var4 != null && var4.getHasStack())
|
||||
{
|
||||
ItemStack var5 = var4.getStack();
|
||||
var3 = var5.copy();
|
||||
|
||||
if (par2 <= 5) {
|
||||
if (!this.mergeItemStack(var5, 6, this.inventorySlots.size(), true))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else if (!this.mergeItemStack(var5, 0, 1, false))
|
||||
{
|
||||
if (!this.mergeItemStack(var5, 2, 6, false))
|
||||
return null;
|
||||
}
|
||||
|
||||
if (var5.stackSize == 0)
|
||||
{
|
||||
var4.putStack((ItemStack) null);
|
||||
}
|
||||
else
|
||||
{
|
||||
var4.onSlotChanged();
|
||||
}
|
||||
}
|
||||
|
||||
return var3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
return diFurnace.isUseableByPlayer(player);
|
||||
}
|
||||
}
|
||||
73
com/hbm/inventory/gui/GUIMachineArcFurnace.java
Normal file
@ -0,0 +1,73 @@
|
||||
package com.hbm.inventory.gui;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.container.ContainerMachineArcFurnace;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineArcFurnace;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUIMachineArcFurnace extends GuiInfoContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_arc.png");
|
||||
private TileEntityMachineArcFurnace diFurnace;
|
||||
|
||||
public GUIMachineArcFurnace(InventoryPlayer invPlayer, TileEntityMachineArcFurnace tedf) {
|
||||
super(new ContainerMachineArcFurnace(invPlayer, tedf));
|
||||
diFurnace = tedf;
|
||||
|
||||
this.xSize = 176;
|
||||
this.ySize = 166;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float f) {
|
||||
super.drawScreen(mouseX, mouseY, f);
|
||||
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 51 - 34, 16, 34, diFurnace.power, diFurnace.maxPower);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(int i, int j) {
|
||||
String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName());
|
||||
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
//failsafe TE clone
|
||||
//if initial TE invalidates, new TE is fetched
|
||||
//if initial ZE is still present, it'll be used instead
|
||||
//works so that container packets can still be used
|
||||
//efficiency!
|
||||
TileEntityMachineArcFurnace fs = null;
|
||||
|
||||
if(diFurnace.isInvalid() && diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord) instanceof TileEntityMachineArcFurnace)
|
||||
fs = (TileEntityMachineArcFurnace) diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord);
|
||||
else
|
||||
fs = diFurnace;
|
||||
|
||||
if(fs.hasPower()) {
|
||||
int i = (int)diFurnace.getPowerRemainingScaled(34);
|
||||
drawTexturedModalRect(guiLeft + 8, guiTop + 51 - i, 176, 67 - i, 16, i);
|
||||
}
|
||||
|
||||
if(diFurnace.canProcess() && diFurnace.hasPower())
|
||||
{
|
||||
drawTexturedModalRect(guiLeft + 55, guiTop + 35, 176, 0, 15, 16);
|
||||
}
|
||||
|
||||
int j1 = fs.getDiFurnaceProgressScaled(24);
|
||||
drawTexturedModalRect(guiLeft + 79, guiTop + 34, 176, 16, j1 + 1, 17);
|
||||
}
|
||||
}
|
||||
@ -1118,6 +1118,9 @@ public class ModItems {
|
||||
public static Item titanium_filter;
|
||||
public static Item screwdriver;
|
||||
public static Item overfuse;
|
||||
public static Item arc_electrode;
|
||||
public static Item arc_electrode_burnt;
|
||||
public static Item arc_electrode_desh;
|
||||
public static Item dynosphere_base;
|
||||
public static Item dynosphere_desh;
|
||||
public static Item dynosphere_desh_charged;
|
||||
@ -2573,6 +2576,9 @@ public class ModItems {
|
||||
titanium_filter = new ItemCapacitor(72000).setUnlocalizedName("titanium_filter").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":titanium_filter");
|
||||
screwdriver = new ItemCustomLore().setUnlocalizedName("screwdriver").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":screwdriver");
|
||||
overfuse = new ItemCustomLore().setUnlocalizedName("overfuse").setMaxStackSize(1).setFull3D().setTextureName(RefStrings.MODID + ":overfuse");
|
||||
arc_electrode = new ItemCustomLore().setUnlocalizedName("arc_electrode").setMaxDamage(250).setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setFull3D().setTextureName(RefStrings.MODID + ":arc_electrode");
|
||||
arc_electrode_burnt = new Item().setUnlocalizedName("arc_electrode_burnt").setMaxStackSize(1).setFull3D().setTextureName(RefStrings.MODID + ":arc_electrode_burnt");
|
||||
arc_electrode_desh = new ItemCustomLore().setUnlocalizedName("arc_electrode_desh").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setFull3D().setTextureName(RefStrings.MODID + ":arc_electrode_desh");
|
||||
|
||||
dynosphere_base = new Item().setUnlocalizedName("dynosphere_base").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":dynosphere_base");
|
||||
dynosphere_desh = new ItemBattery(10000L, 100, 0).setUnlocalizedName("dynosphere_desh").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":dynosphere_desh");
|
||||
@ -3641,6 +3647,9 @@ public class ModItems {
|
||||
GameRegistry.registerItem(titanium_filter, titanium_filter.getUnlocalizedName());
|
||||
GameRegistry.registerItem(screwdriver, screwdriver.getUnlocalizedName());
|
||||
GameRegistry.registerItem(overfuse, overfuse.getUnlocalizedName());
|
||||
GameRegistry.registerItem(arc_electrode, arc_electrode.getUnlocalizedName());
|
||||
GameRegistry.registerItem(arc_electrode_burnt, arc_electrode_burnt.getUnlocalizedName());
|
||||
GameRegistry.registerItem(arc_electrode_desh, arc_electrode_desh.getUnlocalizedName());
|
||||
|
||||
//Particle Collider Items
|
||||
GameRegistry.registerItem(crystal_energy, crystal_energy.getUnlocalizedName());
|
||||
|
||||
@ -626,6 +626,8 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.factory_core_advanced), new Object[] { "BSB", "LHL", "BSB", 'B', ItemBattery.getEmptyBattery(ModItems.battery_advanced), 'S', "blockSulfur", 'L', "blockLead", 'H', Item.getItemFromBlock(ModBlocks.factory_advanced_hull) }));
|
||||
|
||||
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.fuse, 1), new Object[] { " S ", "GAG", " S ", 'S', "plateSteel", 'G', Item.getItemFromBlock(Blocks.glass_pane), 'A', ModItems.wire_aluminium }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.arc_electrode, 1), new Object[] { "C", "T", "C", 'C', "dustCoal", 'T', ModItems.bolt_tungsten }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.arc_electrode_desh, 1), new Object[] { "C", "T", "C", 'C', "dustDesh", 'T', ModItems.arc_electrode }));
|
||||
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.redcoil_capacitor, 1), new Object[] { "PFP", "CBC", "CBC", 'P', "plateGold", 'B', Item.getItemFromBlock(Blocks.redstone_block), 'C', ModItems.coil_advanced_alloy, 'F', ModItems.fuse }));
|
||||
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.titanium_filter, 1), new Object[] { "PFP", "CBC", "CBC", 'P', "plateLead", 'B', "U238", 'C', "plateTitanium", 'F', ModItems.fuse }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.detonator, 1), new Object[] { " W", "SC", "CE", 'S', "plateSteel", 'W', ModItems.wire_red_copper, 'C', ModItems.circuit_red_copper, 'E', "ingotSteel" }));
|
||||
|
||||
@ -109,6 +109,7 @@ import com.hbm.entity.grenade.EntityGrenadeZOMG;
|
||||
import com.hbm.entity.item.EntityMinecartTest;
|
||||
import com.hbm.entity.logic.EntityBomber;
|
||||
import com.hbm.entity.logic.EntityDeathBlast;
|
||||
import com.hbm.entity.logic.EntityEMP;
|
||||
import com.hbm.entity.logic.EntityMissileTest;
|
||||
import com.hbm.entity.logic.EntityNukeExplosion;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
|
||||
@ -132,6 +133,7 @@ import com.hbm.entity.missile.EntityMissileClusterStrong;
|
||||
import com.hbm.entity.missile.EntityMissileDoomsday;
|
||||
import com.hbm.entity.missile.EntityMissileDrill;
|
||||
import com.hbm.entity.missile.EntityMissileEMP;
|
||||
import com.hbm.entity.missile.EntityMissileEMPStrong;
|
||||
import com.hbm.entity.missile.EntityMissileEndo;
|
||||
import com.hbm.entity.missile.EntityMissileExo;
|
||||
import com.hbm.entity.missile.EntityMissileGeneric;
|
||||
@ -287,6 +289,7 @@ import com.hbm.tileentity.machine.TileEntityFWatzCore;
|
||||
import com.hbm.tileentity.machine.TileEntityForceField;
|
||||
import com.hbm.tileentity.machine.TileEntityFusionMultiblock;
|
||||
import com.hbm.tileentity.machine.TileEntityHatch;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineAmgen;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineArcFurnace;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineAssembler;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineBattery;
|
||||
@ -784,6 +787,7 @@ public class MainRegistry
|
||||
GameRegistry.registerTileEntity(TileEntityCoreReceiver.class, "tileentity_v0_receiver");
|
||||
GameRegistry.registerTileEntity(TileEntityCoreInjector.class, "tileentity_v0_injector");
|
||||
GameRegistry.registerTileEntity(TileEntityMachineArcFurnace.class, "tileentity_arc_furnace");
|
||||
GameRegistry.registerTileEntity(TileEntityMachineAmgen.class, "tileentity_amgen");
|
||||
|
||||
EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true);
|
||||
@ -920,6 +924,8 @@ public class MainRegistry
|
||||
EntityRegistry.registerModEntity(EntityMinerRocket.class, "entity_miner_lander", 132, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityFogFX.class, "entity_nuclear_fog", 133, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityDuchessGambit.class, "entity_duchessgambit", 134, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityMissileEMPStrong.class, "entity_missile_emp_strong", 135, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityEMP.class, "entity_emp_logic", 136, this, 1000, 1, true);
|
||||
|
||||
EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00);
|
||||
EntityRegistry.registerGlobalEntityID(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x813b9b, 0xd71fdd);
|
||||
@ -1509,6 +1515,8 @@ public class MainRegistry
|
||||
recipes.overridePreSetRecipe(new ItemStack(Blocks.stone), new ItemStack(Blocks.gravel, 1));
|
||||
recipes.overridePreSetRecipe(new ItemStack(Blocks.cobblestone), new ItemStack(Blocks.gravel, 1));
|
||||
recipes.overridePreSetRecipe(new ItemStack(Blocks.stonebrick), new ItemStack(Blocks.gravel, 1));
|
||||
recipes.overridePreSetRecipe(new ItemStack(Blocks.gravel), new ItemStack(Blocks.sand, 1));
|
||||
recipes.overridePreSetRecipe(new ItemStack(Blocks.sand), new ItemStack(ModItems.dust, 2));
|
||||
recipes.overridePreSetRecipe(new ItemStack(Blocks.brick_block), new ItemStack(Items.clay_ball, 4));
|
||||
recipes.overridePreSetRecipe(new ItemStack(Blocks.brick_stairs), new ItemStack(Items.clay_ball, 3));
|
||||
recipes.overridePreSetRecipe(new ItemStack(Items.flower_pot), new ItemStack(Items.clay_ball, 3));
|
||||
@ -1529,6 +1537,8 @@ public class MainRegistry
|
||||
recipes.overridePreSetRecipe(new ItemStack(ModItems.fragment_meteorite), new ItemStack(ModItems.powder_meteorite_tiny, 1));
|
||||
recipes.overridePreSetRecipe(new ItemStack(ModBlocks.block_meteor), new ItemStack(ModItems.powder_meteorite, 10));
|
||||
recipes.overridePreSetRecipe(new ItemStack(Items.enchanted_book), new ItemStack(ModItems.powder_magic, 1));
|
||||
recipes.overridePreSetRecipe(new ItemStack(ModItems.arc_electrode_burnt), new ItemStack(ModItems.powder_coal, 1));
|
||||
recipes.overridePreSetRecipe(new ItemStack(ModItems.arc_electrode_desh), new ItemStack(ModItems.powder_desh, 2));
|
||||
|
||||
for(int i = 0; i < 16; i++) {
|
||||
recipes.overridePreSetRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, i), new ItemStack(Items.clay_ball, 4));
|
||||
|
||||
@ -336,6 +336,7 @@ public class ResourceManager {
|
||||
public static final ResourceLocation missileV2_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileV2_BU.png");
|
||||
public static final ResourceLocation missileAA_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileAA.png");
|
||||
public static final ResourceLocation missileStrong_HE_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileStrong_HE.png");
|
||||
public static final ResourceLocation missileStrong_EMP_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileStrong_EMP.png");
|
||||
public static final ResourceLocation missileStrong_IN_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileStrong_IN.png");
|
||||
public static final ResourceLocation missileStrong_CL_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileStrong_CL.png");
|
||||
public static final ResourceLocation missileStrong_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileStrong_BU.png");
|
||||
|
||||
@ -10,6 +10,7 @@ import com.hbm.tileentity.deco.TileEntityBomber;
|
||||
import com.hbm.tileentity.machine.TileEntityAMSBase;
|
||||
import com.hbm.tileentity.machine.TileEntityAMSEmitter;
|
||||
import com.hbm.tileentity.machine.TileEntityAMSLimiter;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineArcFurnace;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineBoiler;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineBoilerElectric;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineCentrifuge;
|
||||
@ -195,6 +196,12 @@ public class AuxGaugePacket implements IMessage {
|
||||
if(m.id == 0)
|
||||
furn.dualCookTime = m.value;
|
||||
}
|
||||
if (te instanceof TileEntityMachineArcFurnace) {
|
||||
TileEntityMachineArcFurnace furn = (TileEntityMachineArcFurnace)te;
|
||||
|
||||
if(m.id == 0)
|
||||
furn.dualCookTime = m.value;
|
||||
}
|
||||
if (te instanceof TileEntityMachineBoilerElectric) {
|
||||
TileEntityMachineBoilerElectric boiler = (TileEntityMachineBoilerElectric)te;
|
||||
|
||||
|
||||
83
com/hbm/tileentity/machine/TileEntityMachineAmgen.java
Normal file
@ -0,0 +1,83 @@
|
||||
package com.hbm.tileentity.machine;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||
import com.hbm.interfaces.IConsumer;
|
||||
import com.hbm.interfaces.ISource;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.saveddata.RadiationSavedData;
|
||||
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.chunk.Chunk;
|
||||
|
||||
public class TileEntityMachineAmgen extends TileEntity implements ISource {
|
||||
|
||||
public List<IConsumer> list = new ArrayList();
|
||||
public long power;
|
||||
public long maxPower = 50;
|
||||
boolean tact = false;
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
RadiationSavedData data = RadiationSavedData.getData(worldObj);
|
||||
Chunk c = worldObj.getChunkFromBlockCoords(xCoord, zCoord);
|
||||
float rad = data.getRadNumFromCoord(c.xPosition, c.zPosition);
|
||||
|
||||
power += rad;
|
||||
|
||||
data.decrementRad(worldObj, xCoord, zCoord, 5F);
|
||||
|
||||
tact = false;
|
||||
ffgeuaInit();
|
||||
tact = true;
|
||||
ffgeuaInit();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ffgeuaInit() {
|
||||
ffgeua(this.xCoord, this.yCoord + 1, this.zCoord, getTact());
|
||||
ffgeua(this.xCoord, this.yCoord - 1, this.zCoord, getTact());
|
||||
ffgeua(this.xCoord - 1, this.yCoord, this.zCoord, getTact());
|
||||
ffgeua(this.xCoord + 1, this.yCoord, this.zCoord, getTact());
|
||||
ffgeua(this.xCoord, this.yCoord, this.zCoord - 1, getTact());
|
||||
ffgeua(this.xCoord, this.yCoord, this.zCoord + 1, getTact());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ffgeua(int x, int y, int z, boolean newTact) {
|
||||
|
||||
Library.ffgeua(x, y, z, newTact, this, worldObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getTact() {
|
||||
return tact;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getSPower() {
|
||||
return power;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSPower(long i) {
|
||||
power = i;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IConsumer> getList() {
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearList() {
|
||||
list.clear();
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,7 +1,9 @@
|
||||
package com.hbm.tileentity.machine;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.machine.MachineArcFurnace;
|
||||
import com.hbm.interfaces.IConsumer;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.special.ItemBattery;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.packet.AuxElectricityPacket;
|
||||
@ -23,16 +25,22 @@ public class TileEntityMachineArcFurnace extends TileEntity implements ISidedInv
|
||||
public int dualCookTime;
|
||||
public long power;
|
||||
public static final long maxPower = 100000;
|
||||
public static final int processingSpeed = 100;
|
||||
public static final int processingSpeed = 20;
|
||||
|
||||
private static final int[] slots_top = new int[] {1};
|
||||
private static final int[] slots_bottom = new int[] {2, 0};
|
||||
//0: i
|
||||
//1: o
|
||||
//2: 1
|
||||
//3: 2
|
||||
//4: 3
|
||||
//5: b
|
||||
private static final int[] slots_top = new int[] {0, 2, 3, 4, 5};
|
||||
private static final int[] slots_bottom = new int[] {1, 2, 3, 4, 5};
|
||||
private static final int[] slots_side = new int[] {0};
|
||||
|
||||
private String customName;
|
||||
|
||||
public TileEntityMachineArcFurnace() {
|
||||
slots = new ItemStack[3];
|
||||
slots = new ItemStack[6];
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -68,7 +76,7 @@ public class TileEntityMachineArcFurnace extends TileEntity implements ISidedInv
|
||||
|
||||
@Override
|
||||
public String getInventoryName() {
|
||||
return this.hasCustomInventoryName() ? this.customName : "container.electricFurnace";
|
||||
return this.hasCustomInventoryName() ? this.customName : "container.arcFurnace";
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -103,11 +111,18 @@ public class TileEntityMachineArcFurnace extends TileEntity implements ISidedInv
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack itemStack) {
|
||||
if(i == 0)
|
||||
|
||||
if(i == 1)
|
||||
return false;
|
||||
|
||||
if(i == 5)
|
||||
if(itemStack.getItem() instanceof ItemBattery)
|
||||
return true;
|
||||
|
||||
if(i == 1)
|
||||
if(i == 2 || i == 3 || i == 4)
|
||||
return itemStack.getItem() == ModItems.arc_electrode || itemStack.getItem() == ModItems.arc_electrode_desh;
|
||||
|
||||
if(i == 0)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
@ -188,12 +203,16 @@ public class TileEntityMachineArcFurnace extends TileEntity implements ISidedInv
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
|
||||
if(i == 0)
|
||||
if(i == 5)
|
||||
if (itemStack.getItem() instanceof ItemBattery && ItemBattery.getCharge(itemStack) == 0)
|
||||
return true;
|
||||
if(i == 2)
|
||||
|
||||
if(i == 1)
|
||||
return true;
|
||||
|
||||
if(i == 2 || i == 3 || i == 4)
|
||||
return itemStack.getItem() == ModItems.arc_electrode_burnt;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -213,46 +232,62 @@ public class TileEntityMachineArcFurnace extends TileEntity implements ISidedInv
|
||||
return this.dualCookTime > 0;
|
||||
}
|
||||
|
||||
private boolean hasElectrodes() {
|
||||
|
||||
if(slots[2] != null && slots[3] != null && slots[4] != null) {
|
||||
if((slots[2].getItem() == ModItems.arc_electrode || slots[2].getItem() == ModItems.arc_electrode_desh) &&
|
||||
(slots[3].getItem() == ModItems.arc_electrode || slots[3].getItem() == ModItems.arc_electrode_desh) &&
|
||||
(slots[4].getItem() == ModItems.arc_electrode || slots[4].getItem() == ModItems.arc_electrode_desh))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean canProcess() {
|
||||
if(slots[1] == null)
|
||||
|
||||
if(!hasElectrodes())
|
||||
return false;
|
||||
|
||||
if(slots[0] == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[1]);
|
||||
ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[0]);
|
||||
|
||||
if(itemStack == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if(slots[2] == null)
|
||||
if(slots[1] == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if(!slots[2].isItemEqual(itemStack)) {
|
||||
if(!slots[1].isItemEqual(itemStack)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(slots[2].stackSize < getInventoryStackLimit() && slots[2].stackSize < slots[2].getMaxStackSize()) {
|
||||
if(slots[1].stackSize < getInventoryStackLimit() && slots[1].stackSize < slots[1].getMaxStackSize()) {
|
||||
return true;
|
||||
}else{
|
||||
return slots[2].stackSize < itemStack.getMaxStackSize();
|
||||
return slots[1].stackSize < itemStack.getMaxStackSize();
|
||||
}
|
||||
}
|
||||
|
||||
private void processItem() {
|
||||
if(canProcess()) {
|
||||
ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[1]);
|
||||
ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[0]);
|
||||
|
||||
if(slots[2] == null)
|
||||
if(slots[1] == null)
|
||||
{
|
||||
slots[2] = itemStack.copy();
|
||||
}else if(slots[2].isItemEqual(itemStack)) {
|
||||
slots[2].stackSize += itemStack.stackSize;
|
||||
slots[1] = itemStack.copy();
|
||||
}else if(slots[1].isItemEqual(itemStack)) {
|
||||
slots[1].stackSize += itemStack.stackSize;
|
||||
}
|
||||
|
||||
for(int i = 1; i < 2; i++)
|
||||
for(int i = 0; i < 1; i++)
|
||||
{
|
||||
if(slots[i].stackSize <= 0)
|
||||
{
|
||||
@ -265,6 +300,15 @@ public class TileEntityMachineArcFurnace extends TileEntity implements ISidedInv
|
||||
slots[i] = null;
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 2; i < 5; i++) {
|
||||
if(slots[i] != null && slots[i].getItem() == ModItems.arc_electrode) {
|
||||
if(slots[i].getItemDamage() < slots[i].getMaxDamage())
|
||||
slots[i].setItemDamage(slots[i].getItemDamage() + 1);
|
||||
else
|
||||
slots[i] = new ItemStack(ModItems.arc_electrode_burnt);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -279,9 +323,9 @@ public class TileEntityMachineArcFurnace extends TileEntity implements ISidedInv
|
||||
{
|
||||
dualCookTime++;
|
||||
|
||||
power -= 50;
|
||||
power -= 1000;
|
||||
|
||||
if(this.dualCookTime == TileEntityMachineElectricFurnace.processingSpeed)
|
||||
if(this.dualCookTime == processingSpeed)
|
||||
{
|
||||
this.dualCookTime = 0;
|
||||
this.processItem();
|
||||
@ -304,7 +348,19 @@ public class TileEntityMachineArcFurnace extends TileEntity implements ISidedInv
|
||||
MachineArcFurnace.updateBlockState(this.dualCookTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord);
|
||||
}
|
||||
|
||||
power = Library.chargeTEFromItems(slots, 0, power, maxPower);
|
||||
if(worldObj.getBlock(xCoord, yCoord, zCoord) == ModBlocks.machine_arc_furnace_off) {
|
||||
|
||||
int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord);
|
||||
|
||||
if(hasElectrodes() && meta <= 5) {
|
||||
worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, meta + 4, 2);
|
||||
}
|
||||
if(!hasElectrodes() && meta > 5) {
|
||||
worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, meta - 4, 2);
|
||||
}
|
||||
}
|
||||
|
||||
power = Library.chargeTEFromItems(slots, 5, power, maxPower);
|
||||
|
||||
PacketDispatcher.wrapper.sendToAll(new AuxElectricityPacket(xCoord, yCoord, zCoord, power));
|
||||
PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, dualCookTime, 0));
|
||||
|
||||