From eb5e8b0cca7070a97678b6e22b60787b99716f32 Mon Sep 17 00:00:00 2001 From: Ben Spiers Date: Wed, 18 Mar 2015 17:05:59 +0000 Subject: [PATCH] Make the reactor use Hohlraums properly --- .../generators/common/FusionReactor.java | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main/java/mekanism/generators/common/FusionReactor.java b/src/main/java/mekanism/generators/common/FusionReactor.java index 8a2d7b6e2..eabd909d7 100644 --- a/src/main/java/mekanism/generators/common/FusionReactor.java +++ b/src/main/java/mekanism/generators/common/FusionReactor.java @@ -20,10 +20,12 @@ import mekanism.api.reactor.INeutronCapture; import mekanism.api.reactor.IReactorBlock; import mekanism.common.Mekanism; import mekanism.common.network.PacketTileEntity.TileEntityMessage; +import mekanism.generators.common.item.ItemHohlraum; import mekanism.generators.common.tile.reactor.TileEntityReactorController; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.item.ItemCoal; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; @@ -87,7 +89,17 @@ public class FusionReactor implements IFusionReactor public boolean hasHohlraum() { - return controller != null && controller.inventory[0] != null && controller.inventory[0].getItem() instanceof ItemCoal; + if(controller != null) + { + ItemStack hohlraum = controller.inventory[0]; + if(hohlraum != null && hohlraum.getItem() instanceof ItemHohlraum) + { + GasStack gasStack = ((ItemHohlraum)hohlraum.getItem()).getGas(hohlraum); + return gasStack.getGas() == GasRegistry.getGas("fusionFuelDT") && gasStack.amount > 0; + } + } + + return false; } @Override @@ -149,14 +161,11 @@ public class FusionReactor implements IFusionReactor public void vaporiseHohlraum() { - getFuelTank().receive(new GasStack(GasRegistry.getGas("fusionFuelDT"), 10), true); - controller.inventory[0].stackSize -= 1; - - if(controller.inventory[0].stackSize == 0) - { - controller.inventory[0] = null; - } - + getFuelTank().receive(((ItemHohlraum)controller.inventory[0].getItem()).getGas(controller.inventory[0]), true); + lastPlasmaTemperature = plasmaTemperature; + + controller.inventory[0] = null; + burning = true; }