i'm stealing your catalytic converter so i can sell it to buy crack.

please don't ask such feeble-minded questions. it's rude.
This commit is contained in:
Bob 2023-03-12 19:31:56 +01:00
parent e7f0dc610b
commit 43ab1f3134
64 changed files with 519 additions and 732 deletions

View File

@ -10,5 +10,5 @@ credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion al
\ Pashtet (russian localization), MartinTheDragon (calculator, chunk-based fallout), haru315 (spiral point algorithm),\
\ Sten89 (models), Pixelguru26 (textures), TheBlueHat (textures), Alcater (GUI textures, porting), impbk2002 (project settings),\
\ OvermindDL1 (project settings), TehTemmie (reacher radiation function), Toshayo (satellite loot system, project settings), Silly541 (config for safe ME drives),\
\ Voxelstice (OpenComputers integration, turbine spinup), martemen (project settings), Pvndols (thorium fuel recipe, gas turbine), JamesH2 (blood, nitric acid),\
\ Voxelstice (OpenComputers integration, turbine spinup), martemen (project settings), Pvndols (thorium fuel recipe, gas turbine), JamesH2 (blood mechanics, nitric acid),\
\ sdddddf80 (recipe configs), SuperCraftAlex (tooltips)

View File

@ -1168,8 +1168,6 @@ public class ModBlocks {
public static Block dummy_port_drill;
public static Block dummy_block_assembler;
public static Block dummy_port_assembler;
public static Block dummy_block_turbofan;
public static Block dummy_port_turbofan;
public static Block dummy_block_ams_limiter;
public static Block dummy_port_ams_limiter;
public static Block dummy_block_ams_emitter;
@ -2286,8 +2284,6 @@ public class ModBlocks {
dummy_port_drill = new DummyBlockDrill(Material.iron, true).setBlockName("dummy_port_drill").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_lead");
dummy_block_assembler = new DummyBlockAssembler(Material.iron, false).setBlockName("dummy_block_assembler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
dummy_port_assembler = new DummyBlockAssembler(Material.iron, true).setBlockName("dummy_port_assembler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
dummy_block_turbofan = new DummyBlockTurbofan(Material.iron, false).setBlockName("dummy_block_turbofan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
dummy_port_turbofan = new DummyBlockTurbofan(Material.iron, true).setBlockName("dummy_port_turbofan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
dummy_block_ams_limiter = new DummyBlockAMSLimiter(Material.iron).setBlockName("dummy_block_ams_limiter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper");
dummy_port_ams_limiter = new DummyBlockAMSLimiter(Material.iron).setBlockName("dummy_port_ams_limiter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper");
dummy_block_ams_emitter = new DummyBlockAMSEmitter(Material.iron).setBlockName("dummy_block_ams_emitter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper");
@ -3345,8 +3341,6 @@ public class ModBlocks {
GameRegistry.registerBlock(dummy_port_drill, dummy_port_drill.getUnlocalizedName());
GameRegistry.registerBlock(dummy_block_assembler, dummy_block_assembler.getUnlocalizedName());
GameRegistry.registerBlock(dummy_port_assembler, dummy_port_assembler.getUnlocalizedName());
GameRegistry.registerBlock(dummy_block_turbofan, dummy_block_turbofan.getUnlocalizedName());
GameRegistry.registerBlock(dummy_port_turbofan, dummy_port_turbofan.getUnlocalizedName());
GameRegistry.registerBlock(dummy_block_ams_limiter, dummy_block_ams_limiter.getUnlocalizedName());
GameRegistry.registerBlock(dummy_port_ams_limiter, dummy_port_ams_limiter.getUnlocalizedName());
GameRegistry.registerBlock(dummy_block_ams_emitter, dummy_block_ams_emitter.getUnlocalizedName());

View File

@ -70,9 +70,10 @@ public class MachineFluidTank extends BlockDummyable implements IPersistentInfoP
TileEntityMachineFluidTank tank = (TileEntityMachineFluidTank) world.getTileEntity(pos[0], pos[1], pos[2]);
if(tank.hasExploded) return false;
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]);
if(tank != null) {
if(tank.hasExploded) return false;
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]);
}
return true;
} else {
return true;

View File

@ -1,329 +1,82 @@
package com.hbm.blocks.machine;
import java.util.List;
import java.util.Random;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ITooltipProvider;
import com.hbm.blocks.ModBlocks;
import com.hbm.handler.MultiblockHandler;
import com.hbm.interfaces.IMultiblock;
import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade;
import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.machine.TileEntityDummy;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.machine.TileEntityMachineTurbofan;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class MachineTurbofan extends BlockContainer implements IMultiblock, ITooltipProvider {
public class MachineTurbofan extends BlockDummyable implements ITooltipProvider {
public MachineTurbofan(Material p_i45386_1_) {
super(p_i45386_1_);
public MachineTurbofan(Material mat) {
super(mat);
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityMachineTurbofan();
public TileEntity createNewTileEntity(World world, int meta) {
if(meta >= 12) return new TileEntityMachineTurbofan();
if(meta >= 6) return new TileEntityProxyCombo().fluid().power();
return null;
}
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) {
return Item.getItemFromBlock(ModBlocks.machine_turbofan);
public int[] getDimensions() {
return new int[] {2, 0, 1, 1, 3, 3};
}
@Override
public int getRenderType() {
return -1;
public int getOffset() {
return 1;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
if (i == 0) {
world.setBlockMetadataWithNotify(x, y, z, 5, 2);
if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.turbofanDimensionEast)) {
MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.turbofanDimensionEast, ModBlocks.dummy_block_turbofan);
//
DummyBlockTurbofan.safeBreak = true;
world.setBlock(x, y, z + 1, ModBlocks.dummy_port_turbofan);
TileEntity te = world.getTileEntity(x, y, z + 1);
if(te instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x - 1, y, z - 1, ModBlocks.dummy_port_turbofan);
TileEntity te2 = world.getTileEntity(x - 1, y, z - 1);
if(te instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te2;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x, y, z - 1, ModBlocks.dummy_port_turbofan);
TileEntity te3 = world.getTileEntity(x, y, z - 1);
if(te3 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te3;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x - 1, y, z + 1, ModBlocks.dummy_port_turbofan);
TileEntity te4 = world.getTileEntity(x - 1, y, z + 1);
if(te4 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te4;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
DummyBlockTurbofan.safeBreak = false;
//
} else
world.func_147480_a(x, y, z, true);
}
if (i == 1) {
world.setBlockMetadataWithNotify(x, y, z, 3, 2);
if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.turbofanDimensionSouth)) {
MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.turbofanDimensionSouth, ModBlocks.dummy_block_turbofan);
//
DummyBlockTurbofan.safeBreak = true;
world.setBlock(x + 1, y, z, ModBlocks.dummy_port_turbofan);
TileEntity te = world.getTileEntity(x + 1, y, z);
if(te instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x - 1, y, z - 1, ModBlocks.dummy_port_turbofan);
TileEntity te2 = world.getTileEntity(x - 1, y, z - 1);
if(te instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te2;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x + 1, y, z - 1, ModBlocks.dummy_port_turbofan);
TileEntity te3 = world.getTileEntity(x + 1, y, z - 1);
if(te3 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te3;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x - 1, y, z, ModBlocks.dummy_port_turbofan);
TileEntity te4 = world.getTileEntity(x - 1, y, z);
if(te4 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te4;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
DummyBlockTurbofan.safeBreak = false;
//
} else
world.func_147480_a(x, y, z, true);
}
if (i == 2) {
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.turbofanDimensionWest)) {
MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.turbofanDimensionWest, ModBlocks.dummy_block_turbofan);
//
DummyBlockTurbofan.safeBreak = true;
world.setBlock(x + 1, y, z + 1, ModBlocks.dummy_port_turbofan);
TileEntity te = world.getTileEntity(x + 1, y, z + 1);
if(te instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x, y, z - 1, ModBlocks.dummy_port_turbofan);
TileEntity te2 = world.getTileEntity(x, y, z - 1);
if(te instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te2;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x + 1, y, z - 1, ModBlocks.dummy_port_turbofan);
TileEntity te3 = world.getTileEntity(x + 1, y, z - 1);
if(te3 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te3;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x, y, z + 1, ModBlocks.dummy_port_turbofan);
TileEntity te4 = world.getTileEntity(x, y, z + 1);
if(te4 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te4;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
DummyBlockTurbofan.safeBreak = false;
//
} else
world.func_147480_a(x, y, z, true);
}
if (i == 3) {
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.turbofanDimensionNorth)) {
MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.turbofanDimensionNorth, ModBlocks.dummy_block_turbofan);
//
DummyBlockTurbofan.safeBreak = true;
world.setBlock(x + 1, y, z + 1, ModBlocks.dummy_port_turbofan);
TileEntity te = world.getTileEntity(x + 1, y, z + 1);
if(te instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x - 1, y, z, ModBlocks.dummy_port_turbofan);
TileEntity te2 = world.getTileEntity(x - 1, y, z);
if(te instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te2;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x + 1, y, z, ModBlocks.dummy_port_turbofan);
TileEntity te3 = world.getTileEntity(x + 1, y, z);
if(te3 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te3;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x - 1, y, z + 1, ModBlocks.dummy_port_turbofan);
TileEntity te4 = world.getTileEntity(x - 1, y, z + 1);
if(te4 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te4;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
DummyBlockTurbofan.safeBreak = false;
//
} else
world.func_147480_a(x, y, z, true);
}
}
@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) {
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(world.isRemote) {
return true;
} else if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.linker) {
return false;
}else if (!player.isSneaking()) {
TileEntityMachineTurbofan entity = (TileEntityMachineTurbofan) world.getTileEntity(x, y, z);
if (entity != null) {
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x,
y, z);
} else if(!player.isSneaking()) {
int[] pos = this.findCore(world, x, y, z);
if(pos == null)
return false;
TileEntityMachineTurbofan turbofan = (TileEntityMachineTurbofan) world.getTileEntity(pos[0], pos[1], pos[2]);
if(turbofan != null) {
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]);
}
return true;
} else {
return false;
return true;
}
}
private final Random field_149933_a = new Random();
private static boolean keepInventory;
@Override
public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_)
{
if (!keepInventory)
{
ISidedInventory tileentityfurnace = (ISidedInventory)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_);
protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) {
super.fillSpace(world, x, y, z, dir, o);
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
if (tileentityfurnace != null)
{
for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1)
{
ItemStack itemstack = tileentityfurnace.getStackInSlot(i1);
if (itemstack != null)
{
float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
while (itemstack.stackSize > 0)
{
int j1 = this.field_149933_a.nextInt(21) + 10;
if (j1 > itemstack.stackSize)
{
j1 = itemstack.stackSize;
}
itemstack.stackSize -= j1;
EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage()));
if (itemstack.hasTagCompound())
{
entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy());
}
float f3 = 0.05F;
entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3;
entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F;
entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3;
p_149749_1_.spawnEntityInWorld(entityitem);
}
}
}
p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_);
}
}
super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_);
}
this.makeExtra(world, x, y, z);
this.makeExtra(world, x - rot.offsetX, y, z - rot.offsetZ);
this.makeExtra(world, x - dir.offsetX * 2, y, z - dir.offsetZ * 2);
this.makeExtra(world, x - dir.offsetX * 2 - rot.offsetX, y, z - dir.offsetZ * 2 - rot.offsetZ);
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
list.add(EnumChatFormatting.YELLOW + "Fuel efficiency:");
list.add(EnumChatFormatting.YELLOW + "-" + FuelGrade.AERO.getGrade() + ": " + EnumChatFormatting.RED + "100%");
}

View File

@ -37,20 +37,6 @@ public abstract class TurretBaseNT extends BlockDummyable {
@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) {
return true;
} else if(!player.isSneaking()) {
int[] pos = this.findCore(world, x, y, z);
if(pos == null)
return false;
openGUI(world, player, pos[0], pos[1], pos[2]);
return true;
} else {
return false;
}
return this.standardOpenBehavior(world, x, y, z, player, 0);
}
public abstract void openGUI(World world, EntityPlayer player, int x, int y, int z);
}

View File

@ -23,9 +23,4 @@ public class TurretBrandon extends TurretBaseNT {
return new TileEntityTurretBrandon();
return new TileEntityProxyCombo().inventory().power();
}
@Override
public void openGUI(World world, EntityPlayer player, int x, int y, int z) {
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z);
}
}

View File

@ -1,13 +1,10 @@
package com.hbm.blocks.turret;
import com.hbm.blocks.BlockDummyable;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.turret.TileEntityTurretChekhov;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.IBlockAccess;
@ -48,21 +45,4 @@ public class TurretChekhov extends BlockDummyable {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ);
}
@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) {
return true;
} else if(!player.isSneaking()) {
int[] pos = this.findCore(world, x, y, z);
if(pos == null)
return false;
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]);
return true;
} else {
return false;
}
}
}

View File

@ -1,13 +1,10 @@
package com.hbm.blocks.turret;
import com.hbm.blocks.BlockDummyable;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.turret.TileEntityTurretFriendly;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.IBlockAccess;
@ -47,21 +44,4 @@ public class TurretFriendly extends BlockDummyable {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ);
}
@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) {
return true;
} else if(!player.isSneaking()) {
int[] pos = this.findCore(world, x, y, z);
if(pos == null)
return false;
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]);
return true;
} else {
return false;
}
}
}

View File

@ -1,12 +1,9 @@
package com.hbm.blocks.turret;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.turret.TileEntityTurretFritz;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
@ -23,9 +20,4 @@ public class TurretFritz extends TurretBaseNT {
return new TileEntityTurretFritz();
return new TileEntityProxyCombo().inventory().power().fluid();
}
@Override
public void openGUI(World world, EntityPlayer player, int x, int y, int z) {
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z);
}
}

View File

@ -47,21 +47,4 @@ public class TurretHoward extends BlockDummyable {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ);
}
@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) {
return true;
} else if(!player.isSneaking()) {
int[] pos = this.findCore(world, x, y, z);
if(pos == null)
return false;
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]);
return true;
} else {
return false;
}
}
}

View File

@ -4,6 +4,7 @@ import com.hbm.blocks.BlockDummyable;
import com.hbm.tileentity.turret.TileEntityTurretHowardDamaged;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.IBlockAccess;
@ -43,4 +44,9 @@ public class TurretHowardDamaged extends BlockDummyable {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ);
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float fX, float fY, float fZ) {
return false;
}
}

View File

@ -1,13 +1,10 @@
package com.hbm.blocks.turret;
import com.hbm.blocks.BlockDummyable;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.turret.TileEntityTurretJeremy;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.IBlockAccess;
@ -47,21 +44,4 @@ public class TurretJeremy extends BlockDummyable {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ);
}
@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) {
return true;
} else if(!player.isSneaking()) {
int[] pos = this.findCore(world, x, y, z);
if(pos == null)
return false;
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]);
return true;
} else {
return false;
}
}
}

View File

@ -23,9 +23,4 @@ public class TurretMaxwell extends TurretBaseNT {
return new TileEntityTurretMaxwell();
return new TileEntityProxyCombo().inventory().power();
}
@Override
public void openGUI(World world, EntityPlayer player, int x, int y, int z) {
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z);
}
}

View File

@ -1,13 +1,10 @@
package com.hbm.blocks.turret;
import com.hbm.blocks.BlockDummyable;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.turret.TileEntityTurretRichard;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.IBlockAccess;
@ -47,21 +44,4 @@ public class TurretRichard extends BlockDummyable {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ);
}
@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) {
return true;
} else if(!player.isSneaking()) {
int[] pos = this.findCore(world, x, y, z);
if(pos == null)
return false;
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]);
return true;
} else {
return false;
}
}
}

View File

@ -36,7 +36,7 @@ public class TurretSentry extends BlockContainer {
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z);
return true;
} else {
return true;
return false;
}
}

View File

@ -1,13 +1,10 @@
package com.hbm.blocks.turret;
import com.hbm.blocks.BlockDummyable;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.turret.TileEntityTurretTauon;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.IBlockAccess;
@ -47,21 +44,4 @@ public class TurretTauon extends BlockDummyable {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ);
}
@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) {
return true;
} else if(!player.isSneaking()) {
int[] pos = this.findCore(world, x, y, z);
if(pos == null)
return false;
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]);
return true;
} else {
return false;
}
}
}

View File

@ -120,6 +120,7 @@ public class ConsumableRecipes {
CraftingManager.addShapelessAuto(new ItemStack(ModItems.fmn, 1), new Object[] { COAL.dust(), PO210.dust(), ST.dust() });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.five_htp, 1), new Object[] { COAL.dust(), EUPH.dust(), ModItems.canteen_fab });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.cigarette, 16), new Object[] { ASBESTOS.ingot(), ANY_TAR.any(), PO210.nugget(), DictFrame.fromOne(ModItems.plant_item, ItemEnums.EnumPlantType.TOBACCO) });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.crackpipe, 1), new Object[] { ModItems.catalytic_converter });
if(GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleMedicineRecipes) {
CraftingManager.addShapelessAuto(new ItemStack(ModItems.siox, 8), new Object[] { COAL.dust(), ASBESTOS.dust(), GOLD.nugget() });

View File

@ -127,6 +127,7 @@ public class HazardRegistry {
public static final float ingot = 1.0F;
public static final float gem = 1.0F;
public static final float plate = 1.0F;
public static final float plateCast = 3.0F;
public static final float powder_mult = 3.0F;
public static final float powder = ingot * powder_mult;
public static final float powder_tiny = nugget * powder_mult;

View File

@ -19,6 +19,8 @@ import com.hbm.hazard.HazardEntry;
import com.hbm.hazard.HazardRegistry;
import com.hbm.hazard.HazardSystem;
import com.hbm.inventory.material.MaterialShapes;
import com.hbm.inventory.material.Mats;
import com.hbm.inventory.material.NTMMaterial;
import com.hbm.items.ModItems;
import com.hbm.items.ItemEnums.EnumBriquetteType;
import com.hbm.items.ItemEnums.EnumCokeType;
@ -170,6 +172,8 @@ public class OreDictManager {
public static final DictFrame DURA = new DictFrame("DuraSteel");
public static final DictFrame POLYMER = new DictFrame("Polymer");
public static final DictFrame BAKELITE = new DictFrame("Bakelite");
public static final DictFrame PET = new DictFrame("PET");
public static final DictFrame PVC = new DictFrame("PVC");
public static final DictFrame RUBBER = new DictFrame("Rubber");
public static final DictFrame MAGTUNG = new DictFrame("MagnetizedTungsten");
public static final DictFrame CMB = new DictFrame("CMBSteel");
@ -260,6 +264,8 @@ public class OreDictManager {
*/
/** Any post oil polymer like teflon ("polymer") or bakelite */
public static final DictGroup ANY_PLASTIC = new DictGroup("AnyPlastic", POLYMER, BAKELITE); //using the Any prefix means that it's just the secondary prefix, and that shape prefixes are applicable
/** Any post vacuum polymer like PET or PVC */
public static final DictGroup ANY_HARDPLASTIC = new DictGroup("AnyHardPlastic", PET, PVC);
/** Any "powder" propellant like gunpowder, ballistite and cordite */
public static final DictFrame ANY_GUNPOWDER = new DictFrame("AnyPropellant");
/** Any smokeless powder like ballistite and cordite */
@ -344,6 +350,8 @@ public class OreDictManager {
POLYMER .ingot(ingot_polymer) .dust(powder_polymer) .block(block_polymer);
BAKELITE .ingot(ingot_bakelite) .dust(powder_bakelite) .block(block_bakelite);
RUBBER .ingot(ingot_rubber) .block(block_rubber);
PET .ingot(ingot_pet);
PVC .ingot(ingot_pvc);
MAGTUNG .ingot(ingot_magnetized_tungsten) .dust(powder_magnetized_tungsten) .block(block_magnetized_tungsten);
CMB .ingot(ingot_combine_steel) .dust(powder_combine_steel) .plate(plate_combine_steel) .block(block_combine_steel);
DESH .nugget(nugget_desh) .ingot(ingot_desh) .dust(powder_desh) .block(block_desh);
@ -452,6 +460,10 @@ public class OreDictManager {
OreDictionary.registerOre(KEY_CIRCUIT_BISMUTH, circuit_bismuth);
OreDictionary.registerOre(KEY_CIRCUIT_BISMUTH, circuit_arsenic);
for(NTMMaterial mat : Mats.orderedList) {
for(String name : mat.names) OreDictionary.registerOre("plateTriple" + name, new ItemStack(ModItems.plate_cast, 1, mat.id));
}
for(EnumBedrockOre ore : EnumBedrockOre.values()) {
OreDictionary.registerOre("ore" + ore.oreName, new ItemStack(ModItems.ore_enriched, 1, ore.ordinal()));
}
@ -535,6 +547,7 @@ public class OreDictManager {
public static void registerGroups() {
ANY_PLASTIC.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(BLOCK, true);
ANY_HARDPLASTIC.addPrefix(INGOT, true);
ANY_TAR.addPrefix(ANY, false);
}
@ -572,18 +585,19 @@ public class OreDictManager {
/*
* Quick access methods to grab ore names for recipes.
*/
public String any() { return ANY + mats[0]; }
public String nugget() { return NUGGET + mats[0]; }
public String tiny() { return TINY + mats[0]; }
public String ingot() { return INGOT + mats[0]; }
public String dustTiny() { return DUSTTINY + mats[0]; }
public String dust() { return DUST + mats[0]; }
public String gem() { return GEM + mats[0]; }
public String crystal() { return CRYSTAL + mats[0]; }
public String plate() { return PLATE + mats[0]; }
public String billet() { return BILLET + mats[0]; }
public String block() { return BLOCK + mats[0]; }
public String ore() { return ORE + mats[0]; }
public String any() { return ANY + mats[0]; }
public String nugget() { return NUGGET + mats[0]; }
public String tiny() { return TINY + mats[0]; }
public String ingot() { return INGOT + mats[0]; }
public String dustTiny() { return DUSTTINY + mats[0]; }
public String dust() { return DUST + mats[0]; }
public String gem() { return GEM + mats[0]; }
public String crystal() { return CRYSTAL + mats[0]; }
public String plate() { return PLATE + mats[0]; }
public String plateCast() { return PLATECAST + mats[0]; }
public String billet() { return BILLET + mats[0]; }
public String block() { return BLOCK + mats[0]; }
public String ore() { return ORE + mats[0]; }
public String[] anys() { return appendToAll(ANY); }
public String[] nuggets() { return appendToAll(NUGGET); }
public String[] tinys() { return appendToAll(TINY); }
@ -594,6 +608,7 @@ public class OreDictManager {
public String[] gems() { return appendToAll(GEM); }
public String[] crystals() { return appendToAll(CRYSTAL); }
public String[] plates() { return appendToAll(PLATE); }
public String[] plateCasts() { return appendToAll(PLATECAST); }
public String[] billets() { return appendToAll(BILLET); }
public String[] blocks() { return appendToAll(BLOCK); }
public String[] ores() { return appendToAll(ORE); }
@ -685,6 +700,10 @@ public class OreDictManager {
hazMult = HazardRegistry.plate;
return makeObject(PLATE, plate);
}
public DictFrame plateCast(Object... plate) {
hazMult = HazardRegistry.plateCast;
return makeObject(PLATECAST, plate);
}
public DictFrame billet(Object... billet) {
hazMult = HazardRegistry.billet;
return makeObject(BILLET, billet);

View File

@ -14,6 +14,7 @@ public class OreNames {
public static final String GEM = "gem";
public static final String CRYSTAL = "crystal";
public static final String PLATE = "plate";
public static final String PLATECAST = "plateTriple";
public static final String BILLET = "billet";
public static final String BLOCK = "block";
public static final String ORE = "ore";

View File

@ -1,8 +1,11 @@
package com.hbm.inventory.container;
import com.hbm.inventory.SlotMachineOutput;
import com.hbm.items.ModItems;
import com.hbm.items.machine.IItemFluidIdentifier;
import com.hbm.tileentity.machine.oil.TileEntityMachineCatalyticReformer;
import api.hbm.energy.IBatteryItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
@ -70,14 +73,28 @@ public class ContainerMachineCatalyticReformer extends Container {
if(!this.mergeItemStack(var5, 11, this.inventorySlots.size(), true)) {
return null;
}
} else if(!this.mergeItemStack(var5, 0, 1, false))
if(!this.mergeItemStack(var5, 1, 2, false))
if(!this.mergeItemStack(var5, 3, 4, false))
if(!this.mergeItemStack(var5, 5, 6, false))
if(!this.mergeItemStack(var5, 7, 8, false))
if(!this.mergeItemStack(var5, 9, 11, false)) {
} else {
if(var3.getItem() instanceof IBatteryItem) {
if(!this.mergeItemStack(var5, 0, 1, false)) {
return null;
}
} else if(var3.getItem() instanceof IItemFluidIdentifier) {
if(!this.mergeItemStack(var5, 9, 10, false)) {
return null;
}
} else if(var3.getItem() == ModItems.catalytic_converter) {
if(!this.mergeItemStack(var5, 10, 11, false)) {
return null;
}
} else {
if(!this.mergeItemStack(var5, 1, 2, false))
if(!this.mergeItemStack(var5, 3, 4, false))
if(!this.mergeItemStack(var5, 5, 6, false))
if(!this.mergeItemStack(var5, 7, 8, false))
return null;
}
}
}
if(var5.stackSize == 0) {
var4.putStack((ItemStack) null);

View File

@ -22,19 +22,18 @@ public class ContainerMachineTurbofan extends Container {
this.addSlotToContainer(new Slot(tedf, 0, 17, 17));
this.addSlotToContainer(new SlotMachineOutput(tedf, 1, 17, 53));
this.addSlotToContainer(new Slot(tedf, 2, 107, 17));
this.addSlotToContainer(new Slot(tedf, 2, 98, 71));
this.addSlotToContainer(new Slot(tedf, 3, 143, 71));
this.addSlotToContainer(new Slot(tedf, 4, 44, 71));
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 < 3; i++) {
for(int j = 0; j < 9; j++) {
this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 121 + i * 18));
}
}
for(int i = 0; i < 9; i++)
{
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142));
for(int i = 0; i < 9; i++) {
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 179));
}
}
@ -45,40 +44,32 @@ public class ContainerMachineTurbofan extends Container {
}
@Override
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2)
{
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) {
ItemStack var3 = null;
Slot var4 = (Slot) this.inventorySlots.get(par2);
if (var4 != null && var4.getHasStack())
{
if(var4 != null && var4.getHasStack()) {
ItemStack var5 = var4.getStack();
var3 = var5.copy();
if (par2 <= 2) {
if (!this.mergeItemStack(var5, 3, this.inventorySlots.size(), true))
{
if(par2 <= 4) {
if(!this.mergeItemStack(var5, 5, this.inventorySlots.size(), true)) {
return null;
}
}
else if (!this.mergeItemStack(var5, 0, 1, false))
{
if (!this.mergeItemStack(var5, 2, 3, false))
} else if(!this.mergeItemStack(var5, 0, 1, false)) {
if(!this.mergeItemStack(var5, 2, 3, false))
return null;
}
if (var5.stackSize == 0)
{
if(var5.stackSize == 0) {
var4.putStack((ItemStack) null);
}
else
{
} else {
var4.onSlotChanged();
}
}
return var3;
}
}
@Override
public boolean canInteractWith(EntityPlayer player) {

View File

@ -234,15 +234,15 @@ public class Fluids {
OXYHYDROGEN = new FluidType("OXYHYDROGEN", 0x483FC1, 0, 4, 2, EnumSymbol.NONE).addTraits(GASEOUS);
RADIOSOLVENT = new FluidType("RADIOSOLVENT", 0xA4D7DD, 3, 3, 0, EnumSymbol.NONE).addTraits(LIQUID, LEADCON, new FT_Corrosive(50), new FT_VentRadiation(0.01F));
CHLORINE = new FluidType("CHLORINE", 0xBAB572, 4, 0, 0, EnumSymbol.OXIDIZER).addTraits(GASEOUS, new FT_Corrosive(25), new FT_Poison(true, 1));
HEAVYOIL_VACUUM = new FluidType("HEAVYOIL_VACUUM", 0x131214, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID);
REFORMATE = new FluidType("REFORMATE", 0x835472, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID);
LIGHTOIL_VACUUM = new FluidType("LIGHTOIL_VACUUM", 0x8C8851, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID);
HEAVYOIL_VACUUM = new FluidType("HEAVYOIL_VACUUM", 0x131214, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(0x513F39, ExtContainer.CANISTER);
REFORMATE = new FluidType("REFORMATE", 0x835472, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(0xD180D6, ExtContainer.CANISTER);
LIGHTOIL_VACUUM = new FluidType("LIGHTOIL_VACUUM", 0x8C8851, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(0xB46B52, ExtContainer.CANISTER);
SOURGAS = new FluidType("SOURGAS", 0xC9BE0D, 4, 4, 0, EnumSymbol.ACID).addTraits(GASEOUS, new FT_Corrosive(10));
XYLENE = new FluidType("XYLENE", 0x5C4E76, 2, 3, 0, EnumSymbol.NONE).addTraits(LIQUID);
HEATINGOIL_VACUUM = new FluidType("HEATINGOIL_VACUUM", 0x211D06, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID);
DIESEL_REFORM = new FluidType("DIESEL_REFORM", 0xCDC3C6, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID);
DIESEL_CRACK_REFORM = new FluidType("DIESEL_CRACK_REFORM",0xCDC3CC, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID);
KEROSENE_REFORM = new FluidType("KEROSENE_REFORM", 0xFFA5F3, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID);
XYLENE = new FluidType("XYLENE", 0x5C4E76, 2, 3, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(0xA380D6, ExtContainer.CANISTER);
HEATINGOIL_VACUUM = new FluidType("HEATINGOIL_VACUUM", 0x211D06, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(0x694235, ExtContainer.CANISTER);
DIESEL_REFORM = new FluidType("DIESEL_REFORM", 0xCDC3C6, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(0xFFC500, ExtContainer.CANISTER);
DIESEL_CRACK_REFORM = new FluidType("DIESEL_CRACK_REFORM",0xCDC3CC, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(0xFFC500, ExtContainer.CANISTER);
KEROSENE_REFORM = new FluidType("KEROSENE_REFORM", 0xFFA5F3, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(0xFF377D, ExtContainer.CANISTER);
REFORMGAS = new FluidType(99, "REFORMGAS", 0x6362AE, 1, 4, 1, EnumSymbol.NONE).addTraits(GASEOUS);
@ -417,6 +417,8 @@ public class Fluids {
double complexityChemplant = 1.1D;
double complexityLubed = 1.15D;
double complexityLeaded = 1.5D;
double complexityVacuum = 3.0D;
double complexityReform = 2.5D;
double flammabilityLow = 0.25D;
double flammabilityNormal = 1.0D;
double flammabilityHigh = 2.0D;
@ -430,7 +432,7 @@ public class Fluids {
registerCalculatedFuel(RECLAIMED, (baseline / 0.28 * flammabilityLow * demandLow * complexityRefinery * complexityFraction * complexityChemplant), 1.25D, FuelGrade.LOW);
registerCalculatedFuel(PETROIL, (baseline / 0.28 * flammabilityLow * demandLow * complexityRefinery * complexityFraction * complexityChemplant * complexityLubed), 1.5D, FuelGrade.MEDIUM);
registerCalculatedFuel(PETROIL_LEADED, (baseline / 0.28 * flammabilityLow * demandLow * complexityRefinery * complexityFraction * complexityChemplant * complexityLubed * complexityLeaded), 1.5D, FuelGrade.MEDIUM);
registerCalculatedFuel(HEATINGOIL, (baseline / 0.31 * flammabilityNormal * demandLow * complexityRefinery * complexityFraction * complexityFraction), 1.0D, FuelGrade.LOW);
registerCalculatedFuel(HEATINGOIL, (baseline / 0.31 * flammabilityNormal * demandLow * complexityRefinery * complexityFraction * complexityFraction), 1.25D, FuelGrade.LOW);
registerCalculatedFuel(NAPHTHA, (baseline / 0.25 * flammabilityLow * demandLow * complexityRefinery), 1.5D, FuelGrade.MEDIUM);
registerCalculatedFuel(NAPHTHA_CRACK, (baseline / 0.40 * flammabilityLow * demandLow * complexityRefinery * complexityCracking), 1.5D, FuelGrade.MEDIUM);
registerCalculatedFuel(GASOLINE, (baseline / 0.20 * flammabilityNormal * demandLow * complexityRefinery * complexityChemplant), 2.5D, FuelGrade.HIGH);
@ -446,8 +448,17 @@ public class Fluids {
registerCalculatedFuel(LPG, (baseline / 0.05 * flammabilityNormal * demandMedium * complexityRefinery * complexityChemplant), 2.5, FuelGrade.HIGH);
registerCalculatedFuel(NITAN, KEROSENE.getTrait(FT_Flammable.class).getHeatEnergy() * 25L, 2.5, FuelGrade.HIGH);
registerCalculatedFuel(BALEFIRE, KEROSENE.getTrait(FT_Flammable.class).getHeatEnergy() * 100L, 2.5, FuelGrade.HIGH);
registerCalculatedFuel(HEAVYOIL_VACUUM, (baseline / 0.4 * flammabilityLow * demandLow * complexityVacuum), 1.25D, FuelGrade.LOW);
registerCalculatedFuel(REFORMATE, (baseline / 0.25 * flammabilityNormal * demandHigh * complexityVacuum), 2.5D, FuelGrade.HIGH);
registerCalculatedFuel(LIGHTOIL_VACUUM, (baseline / 0.20 * flammabilityNormal * demandHigh * complexityVacuum), 1.5D, FuelGrade.MEDIUM);
registerCalculatedFuel(SOURGAS, (baseline / 0.15 * flammabilityLow * demandVeryLow * complexityVacuum), 0, null);
registerCalculatedFuel(XYLENE, (baseline / 0.15 * flammabilityNormal * demandMedium * complexityVacuum * complexityFraction), 2.5D, FuelGrade.HIGH);
registerCalculatedFuel(HEATINGOIL_VACUUM, (baseline / 0.24 * flammabilityNormal * demandLow * complexityVacuum * complexityFraction), 1.25D, FuelGrade.LOW);
registerCalculatedFuel(DIESEL_REFORM, DIESEL.getTrait(FT_Flammable.class).getHeatEnergy() * complexityReform, 2.5D, FuelGrade.HIGH);
registerCalculatedFuel(DIESEL_CRACK_REFORM, DIESEL_CRACK.getTrait(FT_Flammable.class).getHeatEnergy() * complexityReform, 2.5D, FuelGrade.HIGH);
registerCalculatedFuel(KEROSENE_REFORM, KEROSENE.getTrait(FT_Flammable.class).getHeatEnergy() * complexityReform, 1.5D, FuelGrade.AERO);
registerCalculatedFuel(REFORMGAS, (baseline / 0.06 * flammabilityHigh * demandLow * complexityVacuum * complexityFraction), 1.25D, FuelGrade.GAS);
//TODO: consult the spreadsheet for the values of the vacuum oils
//all hail the spreadsheet
//the spreadsheet must not be questioned
//none may enter the orb- i mean the spreadsheet

View File

@ -4,6 +4,8 @@ import org.lwjgl.opengl.GL11;
import com.hbm.inventory.container.ContainerMachineTurbofan;
import com.hbm.lib.RefStrings;
import com.hbm.render.util.GaugeUtil;
import com.hbm.render.util.GaugeUtil.Gauge;
import com.hbm.tileentity.machine.TileEntityMachineTurbofan;
import net.minecraft.client.Minecraft;
@ -13,55 +15,49 @@ import net.minecraft.util.ResourceLocation;
public class GUIMachineTurbofan extends GuiInfoContainer {
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_turbofan.png");
private TileEntityMachineTurbofan diFurnace;
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/generators/gui_turbofan.png");
private TileEntityMachineTurbofan turbofan;
public GUIMachineTurbofan(InventoryPlayer invPlayer, TileEntityMachineTurbofan tedf) {
super(new ContainerMachineTurbofan(invPlayer, tedf));
diFurnace = tedf;
turbofan = tedf;
this.xSize = 176;
this.ySize = 166;
this.ySize = 203;
}
@Override
public void drawScreen(int mouseX, int mouseY, float f) {
super.drawScreen(mouseX, mouseY, f);
diFurnace.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 53, guiTop + 69 - 52, 34, 52);
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 152 - 9, guiTop + 69 - 52, 16, 52, diFurnace.power, diFurnace.maxPower);
String[] text = new String[] { "Acceptable upgrades:",
" -Pink (afterburner)" };
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 96, guiTop + 21, 8, 8, guiLeft + 96, guiTop + 21 + 16, text);
turbofan.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 35, guiTop + 17, 34, 52);
if(turbofan.showBlood) turbofan.blood.renderTankInfo(this, mouseX, mouseY, guiLeft + 98, guiTop + 17, 16, 16);
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 143, guiTop + 17, 16, 52, turbofan.power, turbofan.maxPower);
}
@Override
protected void drawGuiContainerForegroundLayer(int i, int j) {
String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName());
String name = this.turbofan.hasCustomInventoryName() ? this.turbofan.getInventoryName() : I18n.format(this.turbofan.getInventoryName());
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
this.fontRendererObj.drawString(name, 43 - 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_) {
protected void drawGuiContainerBackgroundLayer(float interp, int x, int y) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
if(diFurnace.power > 0) {
int i = (int)diFurnace.getPowerScaled(52);
drawTexturedModalRect(guiLeft + 152 - 9, guiTop + 69 - i, 176 + 16, 52 - i, 16, i);
}
int i = (int)turbofan.getPowerScaled(52);
drawTexturedModalRect(guiLeft + 152 - 9, guiTop + 69 - i, 176 + 16, 52 - i, 16, i);
if(diFurnace.afterburner > 0) {
int i = Math.min(diFurnace.afterburner, 6);
drawTexturedModalRect(guiLeft + 107, guiTop + 53, 176, (i - 1) * 16, 16, 16);
if(turbofan.afterburner > 0) {
int a = Math.min(turbofan.afterburner, 6);
drawTexturedModalRect(guiLeft + 98, guiTop + 44, 176, (a - 1) * 16, 16, 16);
}
this.drawInfoPanel(guiLeft + 96, guiTop + 21, 8, 8, 8);
diFurnace.tank.renderTank(guiLeft + 53, guiTop + 69, this.zLevel, 34, 52);
if(turbofan.showBlood) GaugeUtil.renderGauge(Gauge.ROUND_SMALL, guiLeft + 97, guiTop + 16, this.zLevel, (double) turbofan.blood.getFill() / (double) turbofan.blood.getMaxFill());
turbofan.tank.renderTank(guiLeft + 35, guiTop + 69, this.zLevel, 34, 52);
}
}

View File

@ -93,9 +93,11 @@ public abstract class GUITurretBase extends GuiInfoContainer {
lines.add(list.subList(0, list.size() / 2).toArray());
lines.add(list.subList(list.size() / 2, list.size()).toArray());
} else {
lines.add(list.subList(0, list.size() / 3).toArray());
lines.add(list.subList(list.size() / 3, list.size() / 3 * 2).toArray());
lines.add(list.subList(list.size() / 3 * 2, list.size()).toArray());
int bound0 = (int) Math.ceil(list.size() / 3D);
int bound1 = (int) Math.ceil(list.size() / 3D * 2D);
lines.add(list.subList(0, bound0).toArray());
lines.add(list.subList(bound0, bound1).toArray());
lines.add(list.subList(bound1, list.size()).toArray());
}
lines.add(new Object[] {I18nUtil.resolveKey(selected.getDisplayName())});

View File

@ -28,8 +28,7 @@ public class GUITurretFritz extends GUITurretBase {
super.drawGuiContainerBackgroundLayer(p_146976_1_, mX, mY);
FluidTank tank = ((TileEntityTurretFritz)this.turret).tank;
tank.renderTank(guiLeft + 134, guiTop + 116, this.zLevel, 7, 52);
tank.renderTank(guiLeft + 134, guiTop + 115, this.zLevel, 7, 52);
}
protected ResourceLocation getTexture() {

View File

@ -19,6 +19,7 @@ public class MaterialShapes {
public static final MaterialShapes CRYSTAL = new MaterialShapes(INGOT.quantity, "crystal");
public static final MaterialShapes DUST = new MaterialShapes(INGOT.quantity, "dust");
public static final MaterialShapes PLATE = new MaterialShapes(INGOT.quantity, "plate");
public static final MaterialShapes CASTPLATE = new MaterialShapes(INGOT.quantity * 3, "plateTriple");
public static final MaterialShapes QUART = new MaterialShapes(162);
public static final MaterialShapes BLOCK = new MaterialShapes(INGOT.quantity * 9, "block");

View File

@ -47,7 +47,7 @@ public class Mats {
public static final int _AS = 30;
//Vanilla and vanilla-like
public static final NTMMaterial MAT_STONE = makeSmeltable(_VS + 00, df("Stone"), 0x4D2F23).omitAutoGen();
public static final NTMMaterial MAT_STONE = makeSmeltable(_VS + 00, df("Stone"), 0x808080, 0x4D2F23).omitAutoGen();
public static final NTMMaterial MAT_CARBON = makeAdditive( 1499, df("Carbon"), 0x404040).omitAutoGen();
public static final NTMMaterial MAT_COAL = make( 1400, COAL) .setConversion(MAT_CARBON, 2, 1).omitAutoGen();
public static final NTMMaterial MAT_LIGNITE = make( 1401, LIGNITE) .setConversion(MAT_CARBON, 3, 1);
@ -55,7 +55,7 @@ public class Mats {
public static final NTMMaterial MAT_PETCOKE = make( 1411, PETCOKE) .setConversion(MAT_CARBON, 4, 3);
public static final NTMMaterial MAT_LIGCOKE = make( 1412, LIGCOKE) .setConversion(MAT_CARBON, 4, 3);
public static final NTMMaterial MAT_GRAPHITE = make( 1420, GRAPHITE) .setConversion(MAT_CARBON, 1, 1);
public static final NTMMaterial MAT_IRON = makeSmeltable(2600, IRON, 0xFFA259).omitAutoGen();
public static final NTMMaterial MAT_IRON = makeSmeltable(2600, IRON, 0xFFFFFF, 0xFFA259).omitAutoGen();
public static final NTMMaterial MAT_GOLD = makeSmeltable(7900, GOLD, 0xE8D754).omitAutoGen();
public static final NTMMaterial MAT_REDSTONE = makeSmeltable(_VS + 01, REDSTONE, 0xFF1000).omitAutoGen();
public static final NTMMaterial MAT_OBSIDIAN = makeSmeltable(_VS + 02, df("Obsidian"), 0x3D234D).omitAutoGen();
@ -85,7 +85,7 @@ public class Mats {
public static final NTMMaterial MAT_TECHNIETIUM = makeSmeltable(4399, TC99, 0xCADFDF).setShapes(NUGGET, BILLET, INGOT, BLOCK);
public static final NTMMaterial MAT_RADIUM = makeSmeltable(8826, RA226, 0xE9FAF6).setShapes(NUGGET, BILLET, INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_ACTINIUM = makeSmeltable(8927, AC227, 0x958989).setShapes(NUGGET, BILLET, INGOT);
public static final NTMMaterial MAT_CO60 = makeSmeltable(2760, CO60, 0x8F72AE).setShapes(NUGGET, BILLET, INGOT, DUST);
public static final NTMMaterial MAT_CO60 = makeSmeltable(2760, CO60, 0x92A1C0, 0x8F72AE).setShapes(NUGGET, BILLET, INGOT, DUST);
public static final NTMMaterial MAT_AU198 = makeSmeltable(7998, AU198, 0xE8D754).setShapes(NUGGET, BILLET, INGOT, DUST);
public static final NTMMaterial MAT_PB209 = makeSmeltable(8209, PB209, 0x7B535D).setShapes(NUGGET, BILLET, INGOT, DUST);
public static final NTMMaterial MAT_SCHRABIDIUM = makeSmeltable(12626, SA326, 0x32FFFF).setShapes(NUGGET, WIRE, BILLET, INGOT, DUST, PLATE, BLOCK);
@ -97,16 +97,16 @@ public class Mats {
//Base metals
public static final NTMMaterial MAT_TITANIUM = makeSmeltable(2200, TI, 0xA99E79).setShapes(INGOT, DUST, PLATE, BLOCK);
public static final NTMMaterial MAT_COPPER = makeSmeltable(2900, CU, 0xC18336).setShapes(WIRE, INGOT, DUST, PLATE, BLOCK);
public static final NTMMaterial MAT_TUNGSTEN = makeSmeltable(7400, W, 0x977474).setShapes(WIRE, INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_ALUMINIUM = makeSmeltable(1300, AL, 0xD0B8EB).setShapes(WIRE, INGOT, DUST, PLATE, BLOCK);
public static final NTMMaterial MAT_TUNGSTEN = makeSmeltable(7400, W, 0x565656, 0x977474).setShapes(WIRE, INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_ALUMINIUM = makeSmeltable(1300, AL, 0xE8F2F9, 0xD0B8EB).setShapes(WIRE, INGOT, DUST, PLATE, BLOCK);
public static final NTMMaterial MAT_LEAD = makeSmeltable(8200, PB, 0x646470).setShapes(NUGGET, INGOT, DUST, PLATE, BLOCK);
public static final NTMMaterial MAT_BISMUTH = makeSmeltable(8300, df("Bismuth"), 0xB200FF).setShapes(NUGGET, BILLET, INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_ARSENIC = makeSmeltable(3300, AS, 0x558080).setShapes(NUGGET, INGOT);
public static final NTMMaterial MAT_TANTALIUM = makeSmeltable(7300, TA, 0xA89B74).setShapes(NUGGET, INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_NIOBIUM = makeSmeltable(4100, NB, 0xD576B1).setShapes(NUGGET, DUSTTINY, INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_BERYLLIUM = makeSmeltable(400, BE, 0xAE9572).setShapes(NUGGET, INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_COBALT = makeSmeltable(2700, CO, 0x8F72AE).setShapes(NUGGET, DUSTTINY, BILLET, INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_BORON = makeSmeltable(500, B, 0xAD72AE).setShapes(DUSTTINY, INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_COBALT = makeSmeltable(2700, CO, 0x92A1C0, 0x8F72AE).setShapes(NUGGET, DUSTTINY, BILLET, INGOT, DUST, BLOCK);
public static final NTMMaterial MAT_BORON = makeSmeltable(500, B, 0x8D98A2, 0xAD72AE).setShapes(DUSTTINY, INGOT, DUST, BLOCK);
//Alloys
public static final NTMMaterial MAT_STEEL = makeSmeltable(_AS + 0, STEEL, 0x4A4A4A).setShapes(DUSTTINY, INGOT, DUST, PLATE, BLOCK);
@ -121,17 +121,20 @@ public class Mats {
public static final NTMMaterial MAT_CMB = makeSmeltable(_AS + 9, CMB, 0x6F6FB4).setShapes(INGOT, DUST, PLATE, BLOCK);
public static final NTMMaterial MAT_FLUX = makeAdditive(_AS + 10, df("Flux"), 0xDECCAD).setShapes(DUST);
public static final NTMMaterial MAT_SLAG = makeSmeltable(_AS + 11, SLAG, 0x6C6562).setShapes(BLOCK);
public static NTMMaterial makeSmeltable(int id, DictFrame dict, int color) { return makeSmeltable(id, dict, color, color); }
public static NTMMaterial makeAdditive(int id, DictFrame dict, int color) { return makeAdditive(id, dict, color, color); }
public static NTMMaterial make(int id, DictFrame dict) {
return new NTMMaterial(id, dict);
}
public static NTMMaterial makeSmeltable(int id, DictFrame dict, int color) {
return new NTMMaterial(id, dict).smeltable(SmeltingBehavior.SMELTABLE).setMoltenColor(color);
public static NTMMaterial makeSmeltable(int id, DictFrame dict, int solidColor, int moltenColor) {
return new NTMMaterial(id, dict).smeltable(SmeltingBehavior.SMELTABLE).setSolidColor(solidColor).setMoltenColor(moltenColor);
}
public static NTMMaterial makeAdditive(int id, DictFrame dict, int color) {
return new NTMMaterial(id, dict).smeltable(SmeltingBehavior.ADDITIVE).setMoltenColor(color);
public static NTMMaterial makeAdditive(int id, DictFrame dict, int solidColor, int moltenColor) {
return new NTMMaterial(id, dict).smeltable(SmeltingBehavior.ADDITIVE).setSolidColor(solidColor).setMoltenColor(moltenColor);
}
public static DictFrame df(String string) {

View File

@ -14,7 +14,7 @@ public class NTMMaterial {
public MaterialShapes[] shapes = new MaterialShapes[0];
public boolean omitItemGen = false;
public SmeltingBehavior smeltable = SmeltingBehavior.NOT_SMELTABLE;
public int solidColor = 0xFF4A00; //TODO
public int solidColor = 0xFF4A00;
public int moltenColor = 0xFF4A00;
public NTMMaterial smeltsInto;
@ -67,6 +67,11 @@ public class NTMMaterial {
return this;
}
public NTMMaterial setSolidColor(int color) {
this.solidColor = color;
return this;
}
public NTMMaterial setMoltenColor(int color) {
this.moltenColor = color;
return this;

View File

@ -170,7 +170,6 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModItems.asbestos_cloth, 4), new AStack[] {new OreDictStack(ASBESTOS.ingot(), 2), new ComparableStack(Items.string, 6), new ComparableStack(Blocks.wool, 1), },50);
makeRecipe(new ComparableStack(ModItems.filter_coal, 1), new AStack[] {new OreDictStack(COAL.dust(), 4), new ComparableStack(Items.string, 6), new ComparableStack(Items.paper, 1), },50);
makeRecipe(new ComparableStack(ModItems.centrifuge_element, 1), new AStack[] {new OreDictStack(STEEL.plate(), 4), new OreDictStack(TI.plate(), 4), new ComparableStack(ModItems.motor, 1), }, 100);
//makeRecipe(new ComparableStack(ModItems.centrifuge_tower, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_element, 4), new OreDictStack(STEEL.plate(), 4), new ComparableStack(ModItems.wire_red_copper, 4), new OreDictStack(ANY_PLASTIC.ingot(), 2), },150);
makeRecipe(new ComparableStack(ModItems.magnet_circular, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_conductor, 5), new OreDictStack(STEEL.ingot(), 4), new OreDictStack(ALLOY.plate(), 6), },150);
makeRecipe(new ComparableStack(ModItems.reactor_core, 1), new AStack[] {new OreDictStack(PB.ingot(), 8), new OreDictStack(BE.ingot(), 6), new OreDictStack(STEEL.plate(), 16), new OreDictStack(OreDictManager.getReflector(), 8), new OreDictStack(FIBER.ingot(), 2) },100);
makeRecipe(new ComparableStack(ModItems.rtg_unit, 1), new AStack[] {new ComparableStack(ModItems.thermo_element, 2), new ComparableStack(ModItems.board_copper, 1), new OreDictStack(PB.ingot(), 2), new OreDictStack(STEEL.plate(), 2), new ComparableStack(ModItems.circuit_copper, 1), },100);
@ -193,7 +192,7 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModItems.warhead_buster_medium, 1), new AStack[] {new ComparableStack(ModItems.warhead_generic_medium, 1), new ComparableStack(ModBlocks.det_cord, 4), new ComparableStack(ModBlocks.det_charge, 4), },150);
makeRecipe(new ComparableStack(ModItems.warhead_buster_large, 1), new AStack[] {new ComparableStack(ModItems.warhead_generic_large, 1), new ComparableStack(ModBlocks.det_charge, 8), },200);
makeRecipe(new ComparableStack(ModItems.warhead_nuclear, 1), new AStack[] {new ComparableStack(ModItems.boy_shielding, 1), new ComparableStack(ModItems.boy_target, 1), new ComparableStack(ModItems.boy_bullet, 1), new ComparableStack(ModItems.boy_propellant, 1), new ComparableStack(ModItems.wire_red_copper, 6), new OreDictStack(TI.plate(), 20), new OreDictStack(STEEL.plate(), 12), },300);
makeRecipe(new ComparableStack(ModItems.warhead_mirv, 1), new AStack[] {new OreDictStack(TI.plate(), 20), new OreDictStack(STEEL.plate(), 12), new OreDictStack(PU239.ingot(), 1), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 8), new OreDictStack(BE.ingot(), 4), new OreDictStack(LI.ingot(), 4), new ComparableStack(ModItems.cell_deuterium, 6), },500);
makeRecipe(new ComparableStack(ModItems.warhead_mirv, 1), new AStack[] {new OreDictStack(TI.plate(), 20), new OreDictStack(STEEL.plate(), 12), new OreDictStack(PU239.ingot(), 1), new ComparableStack(ModItems.ball_tatb, 8), new OreDictStack(BE.ingot(), 4), new OreDictStack(LI.ingot(), 4), new ComparableStack(ModItems.cell_deuterium, 6), },500);
makeRecipe(new ComparableStack(ModItems.warhead_volcano, 1), new AStack[] {new OreDictStack(TI.plate(), 24), new OreDictStack(STEEL.plate(), 16), new ComparableStack(ModBlocks.det_nuke, 3), new OreDictStack(U238.block(), 24), new ComparableStack(ModItems.circuit_tantalium, 5) }, 600);
makeRecipe(new ComparableStack(ModItems.warhead_thermo_endo, 1), new AStack[] {new ComparableStack(ModBlocks.therm_endo, 2), new OreDictStack(TI.plate(), 12), new OreDictStack(STEEL.plate(), 6), },300);
makeRecipe(new ComparableStack(ModItems.warhead_thermo_exo, 1), new AStack[] {new ComparableStack(ModBlocks.therm_exo, 2), new OreDictStack(TI.plate(), 12), new OreDictStack(STEEL.plate(), 6), },300);

View File

@ -110,7 +110,9 @@ public class ChemplantRecipes extends SerializableRecipe {
.outputItems(new ItemStack(ModItems.ingot_rubber)));
recipes.add(new ChemRecipe(94, "PET", 100)
.inputItems(new OreDictStack(AL.dust()))
.inputFluids(new FluidStack(Fluids.XYLENE, 500))
.inputFluids(
new FluidStack(Fluids.XYLENE, 500),
new FluidStack(Fluids.OXYGEN, 100))
.outputItems(new ItemStack(ModItems.ingot_pet)));
recipes.add(new ChemRecipe(89, "DYNAMITE", 50)
.inputItems(

View File

@ -40,15 +40,17 @@ public class CrackingRecipes extends SerializableRecipe {
@Override
public void registerDefaults() {
cracking.put(Fluids.OIL, new Pair(new FluidStack(Fluids.CRACKOIL, oil_crack_oil), new FluidStack(Fluids.PETROLEUM, oil_crack_petro)));
cracking.put(Fluids.BITUMEN, new Pair(new FluidStack(Fluids.OIL, bitumen_crack_oil), new FluidStack(Fluids.AROMATICS, bitumen_crack_aroma)));
cracking.put(Fluids.SMEAR, new Pair(new FluidStack(Fluids.NAPHTHA, smear_crack_napht), new FluidStack(Fluids.PETROLEUM, smear_crack_petro)));
cracking.put(Fluids.GAS, new Pair(new FluidStack(Fluids.PETROLEUM, gas_crack_petro), new FluidStack(Fluids.UNSATURATEDS, gas_crack_unsat)));
cracking.put(Fluids.DIESEL, new Pair(new FluidStack(Fluids.KEROSENE, diesel_crack_kero), new FluidStack(Fluids.PETROLEUM, diesel_crack_petro)));
cracking.put(Fluids.DIESEL_CRACK, new Pair(new FluidStack(Fluids.KEROSENE, diesel_crack_kero), new FluidStack(Fluids.PETROLEUM, diesel_crack_petro)));
cracking.put(Fluids.KEROSENE, new Pair(new FluidStack(Fluids.PETROLEUM, kero_crack_petro), new FluidStack(Fluids.NONE, 0)));
cracking.put(Fluids.WOODOIL, new Pair(new FluidStack(Fluids.HEATINGOIL, wood_crack_heat), new FluidStack(Fluids.AROMATICS, wood_crack_aroma)));
cracking.put(Fluids.XYLENE, new Pair(new FluidStack(Fluids.AROMATICS, xyl_crack_aroma), new FluidStack(Fluids.PETROLEUM, xyl_crack_petro)));
cracking.put(Fluids.OIL, new Pair(new FluidStack(Fluids.CRACKOIL, oil_crack_oil), new FluidStack(Fluids.PETROLEUM, oil_crack_petro)));
cracking.put(Fluids.BITUMEN, new Pair(new FluidStack(Fluids.OIL, bitumen_crack_oil), new FluidStack(Fluids.AROMATICS, bitumen_crack_aroma)));
cracking.put(Fluids.SMEAR, new Pair(new FluidStack(Fluids.NAPHTHA, smear_crack_napht), new FluidStack(Fluids.PETROLEUM, smear_crack_petro)));
cracking.put(Fluids.GAS, new Pair(new FluidStack(Fluids.PETROLEUM, gas_crack_petro), new FluidStack(Fluids.UNSATURATEDS, gas_crack_unsat)));
cracking.put(Fluids.DIESEL, new Pair(new FluidStack(Fluids.KEROSENE, diesel_crack_kero), new FluidStack(Fluids.PETROLEUM, diesel_crack_petro)));
cracking.put(Fluids.DIESEL_CRACK, new Pair(new FluidStack(Fluids.KEROSENE, diesel_crack_kero), new FluidStack(Fluids.PETROLEUM, diesel_crack_petro)));
cracking.put(Fluids.KEROSENE, new Pair(new FluidStack(Fluids.PETROLEUM, kero_crack_petro), new FluidStack(Fluids.NONE, 0)));
cracking.put(Fluids.WOODOIL, new Pair(new FluidStack(Fluids.HEATINGOIL, wood_crack_heat), new FluidStack(Fluids.AROMATICS, wood_crack_aroma)));
cracking.put(Fluids.XYLENE, new Pair(new FluidStack(Fluids.AROMATICS, xyl_crack_aroma), new FluidStack(Fluids.PETROLEUM, xyl_crack_petro)));
cracking.put(Fluids.HEATINGOIL_VACUUM, new Pair(new FluidStack(Fluids.HEATINGOIL, 80), new FluidStack(Fluids.REFORMGAS, 20)));
cracking.put(Fluids.REFORMATE, new Pair(new FluidStack(Fluids.UNSATURATEDS, 40), new FluidStack(Fluids.REFORMGAS, 60)));
}
public static Pair<FluidStack, FluidStack> getCracking(FluidType oil) {

View File

@ -33,6 +33,7 @@ public class MixerRecipes extends SerializableRecipe {
recipes.put(Fluids.NITAN, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.KEROSENE, 600)).setStack2(new FluidStack(Fluids.MERCURY, 200)).setSolid(new ComparableStack(ModItems.powder_nitan_mix)));
recipes.put(Fluids.FRACKSOL, new MixerRecipe(1_000, 20).setStack1(new FluidStack(Fluids.WATER, 1_000)).setStack2(new FluidStack(Fluids.PETROLEUM, 100)).setSolid(new OreDictStack(OreDictManager.S.dust())));
recipes.put(Fluids.ENDERJUICE, new MixerRecipe(100, 100).setStack1(new FluidStack(Fluids.XPJUICE, 500)).setSolid(new OreDictStack(OreDictManager.DIAMOND.dust())));
recipes.put(Fluids.SALIENT, new MixerRecipe(1000, 20).setStack1(new FluidStack(Fluids.SEEDSLURRY, 500)).setStack2(new FluidStack(Fluids.BLOOD, 500)));
recipes.put(Fluids.SOLVENT, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500)));
recipes.put(Fluids.SULFURIC_ACID, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.ACID, 800)).setSolid(new OreDictStack(OreDictManager.S.dust())));

View File

@ -71,51 +71,40 @@ public class SolidificationRecipes extends SerializableRecipe {
registerRecipe(CRACKOIL, SF_CRACK, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRACK));
registerRecipe(COALOIL, SF_COALOIL, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.COAL));
registerRecipe(HEAVYOIL, SF_HEAVY, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE));
registerRecipe(HEAVYOIL_VACUUM, SF_HEAVY, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE));
registerRecipe(BITUMEN, SF_BITUMEN, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE));
registerRecipe(COALCREOSOTE, SF_CREOSOTE, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.COAL));
registerRecipe(WOODOIL, SF_WOOD, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WOOD));
registerRecipe(SMEAR, SF_SMEAR, ModItems.solid_fuel);
registerRecipe(HEATINGOIL, SF_HEATING, ModItems.solid_fuel);
registerRecipe(RECLAIMED, SF_RECLAIMED, ModItems.solid_fuel);
registerRecipe(PETROIL, SF_PETROIL, ModItems.solid_fuel);
registerRecipe(LUBRICANT, SF_LUBE, ModItems.solid_fuel);
registerRecipe(NAPHTHA, SF_NAPH, ModItems.solid_fuel);
registerRecipe(NAPHTHA_CRACK, SF_NAPH, ModItems.solid_fuel);
registerRecipe(DIESEL, SF_DIESEL, ModItems.solid_fuel);
registerRecipe(DIESEL_CRACK, SF_DIESEL, ModItems.solid_fuel);
registerRecipe(LIGHTOIL, SF_LIGHT, ModItems.solid_fuel);
registerRecipe(LIGHTOIL_CRACK, SF_LIGHT, ModItems.solid_fuel);
registerRecipe(KEROSENE, SF_KEROSENE, ModItems.solid_fuel);
registerRecipe(GAS, SF_GAS, ModItems.solid_fuel);
registerRecipe(PETROLEUM, SF_PETROLEUM, ModItems.solid_fuel);
registerRecipe(LPG, SF_LPG, ModItems.solid_fuel);
registerRecipe(BIOGAS, SF_BIOGAS, ModItems.solid_fuel);
registerRecipe(BIOFUEL, SF_BIOFUEL, ModItems.solid_fuel);
registerRecipe(AROMATICS, SF_AROMA, ModItems.solid_fuel);
registerRecipe(UNSATURATEDS, SF_UNSAT, ModItems.solid_fuel);
registerRecipe(BALEFIRE, 250, ModItems.solid_fuel_bf);
registerSFAuto(SMEAR);
registerSFAuto(HEATINGOIL);
registerSFAuto(HEATINGOIL_VACUUM);
registerSFAuto(RECLAIMED);
registerSFAuto(PETROIL);
//registerSFAuto(LUBRICANT);
registerSFAuto(NAPHTHA);
registerSFAuto(NAPHTHA_CRACK);
registerSFAuto(DIESEL);
registerSFAuto(DIESEL_REFORM);
registerSFAuto(DIESEL_CRACK);
registerSFAuto(DIESEL_CRACK_REFORM);
registerSFAuto(LIGHTOIL);
registerSFAuto(LIGHTOIL_CRACK);
registerSFAuto(LIGHTOIL_VACUUM);
registerSFAuto(KEROSENE);
registerSFAuto(GAS);
registerSFAuto(SOURGAS);
registerSFAuto(REFORMGAS);
registerSFAuto(SYNGAS);
registerSFAuto(PETROLEUM);
registerSFAuto(LPG);
registerSFAuto(BIOGAS);
registerSFAuto(BIOFUEL);
registerSFAuto(AROMATICS);
registerSFAuto(UNSATURATEDS);
registerSFAuto(REFORMATE);
registerSFAuto(XYLENE);
registerSFAuto(BALEFIRE, 24000000L, ModItems.solid_fuel_bf); //holy shit this is energy dense*/
}

View File

@ -10,6 +10,7 @@ import static com.hbm.inventory.OreDictManager.*;
import com.hbm.inventory.RecipesCommon.AStack;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.recipes.AssemblerRecipes;
import com.hbm.items.ItemAmmoEnums.*;
import com.hbm.items.ModItems;
@ -389,7 +390,7 @@ public class AnvilRecipes {
new ComparableStack(ModBlocks.concrete_asbestos, 4),
new ComparableStack(ModBlocks.steel_scaffold, 16),
new ComparableStack(ModBlocks.deco_pipe_quad, 12),
new OreDictStack("dustSulfur", 32),
new OreDictStack(Fluids.SOURGAS.getDict(1_000), 8),
},
new AnvilOutput(new ItemStack(ModBlocks.machine_deuterium_tower))).setTier(4));

View File

@ -763,6 +763,7 @@ public class ModItems {
public static Item mold_base;
public static Item mold;
public static Item scraps;
public static Item plate_cast;
public static Item part_lithium;
public static Item part_beryllium;
@ -777,7 +778,9 @@ public class ModItems {
public static Item laser_crystal_digamma;
public static Item thermo_element;
//public static Item limiter;
public static Item catalytic_converter;
public static Item crackpipe;
public static Item pellet_rtg_depleted;
@ -898,25 +901,7 @@ public class ModItems {
public static Item canister_empty;
public static Item canister_full;
@Deprecated public static Item canister_smear;
@Deprecated public static Item canister_canola;
@Deprecated public static Item canister_oil;
@Deprecated public static Item canister_fuel;
@Deprecated public static Item canister_kerosene;
@Deprecated public static Item canister_reoil;
@Deprecated public static Item canister_petroil;
public static Item canister_napalm;
@Deprecated public static Item canister_gasoline;
@Deprecated public static Item canister_NITAN;
@Deprecated public static Item canister_fracksol;
@Deprecated public static Item canister_heavyoil;
@Deprecated public static Item canister_bitumen;
@Deprecated public static Item canister_heatingoil;
@Deprecated public static Item canister_naphtha;
@Deprecated public static Item canister_lightoil;
@Deprecated public static Item canister_biofuel;
@Deprecated public static Item canister_ethanol;
public static Item gas_empty;
public static Item gas_full;
@ -3415,6 +3400,7 @@ public class ModItems {
mold_base = new Item().setUnlocalizedName("mold_base").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":mold_base");
mold = new ItemMold().setUnlocalizedName("mold").setCreativeTab(MainRegistry.controlTab);
scraps = new ItemScraps().setUnlocalizedName("scraps").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scraps");
plate_cast = new ItemPlateCast().setUnlocalizedName("plate_cast").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_cast");
part_lithium = new Item().setUnlocalizedName("part_lithium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":part_lithium");
part_beryllium = new Item().setUnlocalizedName("part_beryllium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":part_beryllium");
@ -3430,29 +3416,13 @@ public class ModItems {
thermo_element = new Item().setUnlocalizedName("thermo_element").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":thermo_element");
//limiter = new Item().setUnlocalizedName("limiter").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":limiter");
catalytic_converter = new Item().setUnlocalizedName("catalytic_converter").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":catalytic_converter");
antiknock = new Item().setUnlocalizedName("antiknock").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":antiknock");
canister_empty = new ItemCustomLore().setUnlocalizedName("canister_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":canister_empty");
canister_full = new ItemCanister().setUnlocalizedName("canister_full").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_empty");
canister_smear = new ItemCustomLore().setUnlocalizedName("canister_smear").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_smear");
canister_canola = new ItemCustomLore().setUnlocalizedName("canister_canola").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_canola");
canister_oil = new ItemCustomLore().setUnlocalizedName("canister_oil").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_oil");
canister_fuel = new ItemCustomLore().setUnlocalizedName("canister_fuel").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_fuel");
canister_kerosene = new ItemCustomLore().setUnlocalizedName("canister_kerosene").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_kerosene");
canister_reoil = new ItemCustomLore().setUnlocalizedName("canister_reoil").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_reoil");
canister_petroil = new ItemCustomLore().setUnlocalizedName("canister_petroil").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_petroil");
canister_napalm = new ItemCustomLore().setUnlocalizedName("canister_napalm").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_napalm");
canister_gasoline = new ItemCustomLore().setUnlocalizedName("canister_gasoline").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_gasoline");
canister_fracksol = new ItemCustomLore().setUnlocalizedName("canister_fracksol").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_fracksol");
canister_NITAN = new ItemCustomLore().setUnlocalizedName("canister_NITAN").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_superfuel");
canister_heavyoil = new ItemCustomLore().setUnlocalizedName("canister_heavyoil").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_heavyoil");
canister_bitumen = new ItemCustomLore().setUnlocalizedName("canister_bitumen").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_bitumen");
canister_heatingoil = new ItemCustomLore().setUnlocalizedName("canister_heatingoil").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_heatingoil");
canister_naphtha = new ItemCustomLore().setUnlocalizedName("canister_naphtha").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_naphtha");
canister_lightoil = new ItemCustomLore().setUnlocalizedName("canister_lightoil").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_lightoil");
canister_biofuel = new ItemCustomLore().setUnlocalizedName("canister_biofuel").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_biofuel");
canister_ethanol = new ItemCustomLore().setUnlocalizedName("canister_ethanol").setCreativeTab(null).setTextureName(RefStrings.MODID + ":canister_ethanol");
gas_empty = new Item().setUnlocalizedName("gas_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":gas_empty");
gas_full = new Item().setUnlocalizedName("gas_full").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.gas_empty).setTextureName(RefStrings.MODID + ":gas_full");
gas_petroleum = new Item().setUnlocalizedName("gas_petroleum").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.gas_empty).setTextureName(RefStrings.MODID + ":gas_petroleum");
@ -3532,6 +3502,7 @@ public class ModItems {
gun_kit_2 = new ItemSyringe().setUnlocalizedName("gun_kit_2").setMaxStackSize(16).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":gun_kit_2");
cbt_device = new ItemSyringe().setUnlocalizedName("cbt_device").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":cbt_device");
cigarette = new ItemCigarette().setUnlocalizedName("cigarette").setFull3D().setMaxStackSize(16).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cigarette");
crackpipe = new ItemCigarette().setUnlocalizedName("crackpipe").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":crackpipe");
attachment_mask = new ItemModGasmask().setUnlocalizedName("attachment_mask").setTextureName(RefStrings.MODID + ":attachment_mask");
attachment_mask_mono = new ItemModGasmask().setUnlocalizedName("attachment_mask_mono").setTextureName(RefStrings.MODID + ":attachment_mask_mono");
@ -6310,6 +6281,9 @@ public class ModItems {
GameRegistry.registerItem(plate_armor_fau, plate_armor_fau.getUnlocalizedName());
GameRegistry.registerItem(plate_armor_dnt, plate_armor_dnt.getUnlocalizedName());
//Heavy/Cast Plate
GameRegistry.registerItem(plate_cast, plate_cast.getUnlocalizedName());
//Boards
GameRegistry.registerItem(board_copper, board_copper.getUnlocalizedName());
@ -6644,24 +6618,7 @@ public class ModItems {
GameRegistry.registerItem(antiknock, antiknock.getUnlocalizedName());
GameRegistry.registerItem(canister_empty, canister_empty.getUnlocalizedName());
GameRegistry.registerItem(canister_full, canister_full.getUnlocalizedName());
GameRegistry.registerItem(canister_oil, canister_oil.getUnlocalizedName());
GameRegistry.registerItem(canister_heavyoil, canister_heavyoil.getUnlocalizedName());
GameRegistry.registerItem(canister_bitumen, canister_bitumen.getUnlocalizedName());
GameRegistry.registerItem(canister_smear, canister_smear.getUnlocalizedName());
GameRegistry.registerItem(canister_heatingoil, canister_heatingoil.getUnlocalizedName());
GameRegistry.registerItem(canister_canola, canister_canola.getUnlocalizedName());
GameRegistry.registerItem(canister_naphtha, canister_naphtha.getUnlocalizedName());
GameRegistry.registerItem(canister_fuel, canister_fuel.getUnlocalizedName());
GameRegistry.registerItem(canister_kerosene, canister_kerosene.getUnlocalizedName());
GameRegistry.registerItem(canister_lightoil, canister_lightoil.getUnlocalizedName());
GameRegistry.registerItem(canister_reoil, canister_reoil.getUnlocalizedName());
GameRegistry.registerItem(canister_petroil, canister_petroil.getUnlocalizedName());
GameRegistry.registerItem(canister_biofuel, canister_biofuel.getUnlocalizedName());
GameRegistry.registerItem(canister_ethanol, canister_ethanol.getUnlocalizedName());
GameRegistry.registerItem(canister_napalm, canister_napalm.getUnlocalizedName());
GameRegistry.registerItem(canister_gasoline, canister_gasoline.getUnlocalizedName());
GameRegistry.registerItem(canister_fracksol, canister_fracksol.getUnlocalizedName());
GameRegistry.registerItem(canister_NITAN, canister_NITAN.getUnlocalizedName());
//Gas Tanks
GameRegistry.registerItem(gas_empty, gas_empty.getUnlocalizedName());
@ -6896,7 +6853,7 @@ public class ModItems {
//Generator Stuff
GameRegistry.registerItem(thermo_element, thermo_element.getUnlocalizedName());
//GameRegistry.registerItem(limiter, limiter.getUnlocalizedName());
GameRegistry.registerItem(catalytic_converter, catalytic_converter.getUnlocalizedName());
//AMS Components
GameRegistry.registerItem(ams_focus_blank, ams_focus_blank.getUnlocalizedName());
@ -7974,6 +7931,7 @@ public class ModItems {
GameRegistry.registerItem(chocolate_milk, chocolate_milk.getUnlocalizedName());
GameRegistry.registerItem(cbt_device, cbt_device.getUnlocalizedName());
GameRegistry.registerItem(cigarette, cigarette.getUnlocalizedName());
GameRegistry.registerItem(crackpipe, crackpipe.getUnlocalizedName());
//Armor mods
GameRegistry.registerItem(attachment_mask, attachment_mask.getUnlocalizedName());

View File

@ -47,6 +47,8 @@ public class ItemMold extends Item {
registerMold(new MoldShape( 3, S, "plate", MaterialShapes.PLATE));
registerMold(new MoldWire( 4, S, "wire"));
registerMold(new MoldShape( 19, S, "plate_cast", MaterialShapes.CASTPLATE));
registerMold(new MoldMulti( 5, S, "blade", MaterialShapes.INGOT.q(3),
Mats.MAT_TITANIUM, new ItemStack(ModItems.blade_titanium),
Mats.MAT_TUNGSTEN, new ItemStack(ModItems.blade_tungsten)));
@ -173,7 +175,7 @@ public class ItemMold extends Item {
public ItemStack getOutput(NTMMaterial mat) {
for(String name : mat.names) {
String od = shape.name().toLowerCase() + name;
String od = shape.name() + name;
List<ItemStack> ores = OreDictionary.getOres(od);
if(!ores.isEmpty()) {
ItemStack copy = ores.get(0).copy();
@ -192,7 +194,7 @@ public class ItemMold extends Item {
@Override
public String getTitle() {
return I18nUtil.resolveKey("shape." + shape.name().toLowerCase()) + " x" + amount;
return I18nUtil.resolveKey("shape." + shape.name()) + " x" + amount;
}
}

View File

@ -51,7 +51,7 @@ public class ItemScraps extends Item {
NTMMaterial mat = Mats.matById.get(stack.getItemDamage());
if(mat != null) {
return mat.moltenColor;
return mat.solidColor;
}
return 0xffffff;

View File

@ -3,6 +3,7 @@ package com.hbm.items.special;
import java.util.List;
import com.hbm.extprop.HbmLivingProps;
import com.hbm.items.ModItems;
import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher;
@ -14,6 +15,8 @@ import net.minecraft.item.EnumAction;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
@ -40,9 +43,18 @@ public class ItemCigarette extends Item {
stack.stackSize--;
if(!world.isRemote) {
HbmLivingProps.incrementBlackLung(player, 2000);
HbmLivingProps.incrementAsbestos(player, 2000);
HbmLivingProps.incrementRadiation(player, 100F);
if(this == ModItems.cigarette) {
HbmLivingProps.incrementBlackLung(player, 2000);
HbmLivingProps.incrementAsbestos(player, 2000);
HbmLivingProps.incrementRadiation(player, 100F);
}
if(this == ModItems.crackpipe) {
HbmLivingProps.incrementBlackLung(player, 500);
player.addPotionEffect(new PotionEffect(Potion.confusion.id, 200, 0));
player.heal(10F);
}
world.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:player.cough", 1.0F, 1.0F);
@ -60,9 +72,25 @@ public class ItemCigarette extends Item {
@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
list.add(EnumChatFormatting.RED + "✓ Asbestos filter");
list.add(EnumChatFormatting.RED + "✓ High in tar");
list.add(EnumChatFormatting.RED + "✓ Tobacco contains 100% Polonium-210");
list.add(EnumChatFormatting.RED + "✓ Yum");
if(this == ModItems.cigarette) {
list.add(EnumChatFormatting.RED + "✓ Asbestos filter");
list.add(EnumChatFormatting.RED + "✓ High in tar");
list.add(EnumChatFormatting.RED + "✓ Tobacco contains 100% Polonium-210");
list.add(EnumChatFormatting.RED + "✓ Yum");
} else {
String[] colors = new String[] {
EnumChatFormatting.RED + "",
EnumChatFormatting.GOLD + "",
EnumChatFormatting.YELLOW + "",
EnumChatFormatting.GREEN + "",
EnumChatFormatting.AQUA + "",
EnumChatFormatting.BLUE + "",
EnumChatFormatting.DARK_PURPLE + "",
EnumChatFormatting.LIGHT_PURPLE + "",
};
int len = 2000;
list.add("This can't be good for me, but I feel " + colors[(int)(System.currentTimeMillis() % len * colors.length / len)] + "GREAT");
}
}
}

View File

@ -0,0 +1,84 @@
package com.hbm.items.special;
import java.util.List;
import com.hbm.inventory.material.MaterialShapes;
import com.hbm.inventory.material.Mats;
import com.hbm.inventory.material.NTMMaterial;
import com.hbm.inventory.material.Mats.MaterialStack;
import com.hbm.items.ModItems;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.StatCollector;
public class ItemPlateCast extends Item {
public ItemPlateCast() {
this.setHasSubtypes(true);
}
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs tab, List list) {
list.add(new ItemStack(item, 1, Mats.MAT_IRON.id));
list.add(new ItemStack(item, 1, Mats.MAT_STEEL.id));
list.add(new ItemStack(item, 1, Mats.MAT_COPPER.id));
}
@Override
@SideOnly(Side.CLIENT)
public int getColorFromItemStack(ItemStack stack, int layer) {
NTMMaterial mat = Mats.matById.get(stack.getItemDamage());
if(mat != null) {
return mat.solidColor;
}
return 0xffffff;
}
@Override
public String getItemStackDisplayName(ItemStack stack) {
NTMMaterial mat = Mats.matById.get(stack.getItemDamage());
if(mat == null) {
return "UNDEFINED";
}
String matName = I18nUtil.resolveKey(mat.getUnlocalizedName());
return StatCollector.translateToLocalFormatted(this.getUnlocalizedNameInefficiently(stack) + ".name", matName);
}
public static MaterialStack getMats(ItemStack stack) {
if(stack.getItem() != ModItems.plate_cast) return null;
NTMMaterial mat = Mats.matById.get(stack.getItemDamage());
if(mat == null) return null;
int amount = MaterialShapes.INGOT.q(1);
if(stack.hasTagCompound()) {
amount = stack.getTagCompound().getInteger("amount");
}
return new MaterialStack(mat, amount);
}
public static ItemStack create(MaterialStack stack) {
if(stack.material == null)
return new ItemStack(ModItems.nothing); //why do i bother adding checks for fucking everything when they don't work
ItemStack scrap = new ItemStack(ModItems.plate_cast, 1, stack.material.id);
scrap.stackTagCompound = new NBTTagCompound();
scrap.stackTagCompound.setInteger("amount", stack.amount);
return scrap;
}
}

View File

@ -167,7 +167,6 @@ public class Library {
return true;
if((tileentity != null && (tileentity instanceof IFluidAcceptor ||
tileentity instanceof IFluidSource)) ||
world.getBlock(x, y, z) == ModBlocks.dummy_port_turbofan ||
world.getBlock(x, y, z) == ModBlocks.reactor_hatch ||
world.getBlock(x, y, z) == ModBlocks.reactor_conductor ||
world.getBlock(x, y, z) == ModBlocks.fusion_hatch ||
@ -394,11 +393,6 @@ public class Library {
Block block = worldObj.getBlock(x, y, z);
TileEntity tileentity = worldObj.getTileEntity(x, y, z);
//Turbofan
if(block == ModBlocks.dummy_port_turbofan)
{
tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ);
}
//Large Nuclear Reactor
if(block == ModBlocks.reactor_hatch && worldObj.getBlock(x, y, z + 2) == ModBlocks.reactor_computer)
{

View File

@ -765,6 +765,7 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModBlocks.struct_plasma_core, 1), new Object[] { "CBC", "BHB", "CBC", 'C', ModItems.circuit_gold, 'B', ModBlocks.machine_lithium_battery, 'H', ModBlocks.fusion_heater });
addShapelessAuto(new ItemStack(ModBlocks.fusion_heater), new Object[] { ModBlocks.fusion_hatch });
addShapelessAuto(new ItemStack(ModItems.energy_core), new Object[] { ModItems.fusion_core, ModItems.fuse });
addRecipeAuto(new ItemStack(ModItems.catalytic_converter, 1), new Object[] { "PCP", "PBP", "PCP", 'P', ANY_HARDPLASTIC.ingot(), 'C', CO.dust(), 'B', BI.ingot() });
addRecipeAuto(new ItemStack(ModItems.upgrade_nullifier, 1), new Object[] { "SPS", "PUP", "SPS", 'S', STEEL.plate(), 'P', ModItems.powder_fire, 'U', ModItems.upgrade_template });
addRecipeAuto(new ItemStack(ModItems.upgrade_smelter, 1), new Object[] { "PHP", "CUC", "DTD", 'P', CU.plate(), 'H', Blocks.hopper, 'C', ModItems.coil_tungsten, 'U', ModItems.upgrade_template, 'D', ModItems.coil_copper, 'T', ModBlocks.machine_transformer });
@ -913,24 +914,6 @@ public class CraftingManager {
addShapelessAuto(new ItemStack(ModItems.holotape_image, 1, EnumHoloImage.HOLO_RESTORED.ordinal()), new Object[] { new ItemStack(ModItems.holotape_image, 1, EnumHoloImage.HOLO_DIGAMMA.ordinal()), KEY_TOOL_SCREWDRIVER, ModItems.ducttape, ModItems.armor_polish });
addShapelessAuto(new ItemStack(ModItems.holotape_damaged), new Object[] { DictFrame.fromOne(ModItems.holotape_image, EnumHoloImage.HOLO_RESTORED), ModBlocks.muffler, ModItems.crt_display, ModItems.gem_alexandrite /* placeholder for amplifier */ });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.SMEAR.getID()), new Object[] { ModItems.canister_smear });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.LUBRICANT.getID()), new Object[] { ModItems.canister_canola });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.OIL.getID()), new Object[] { ModItems.canister_oil });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.DIESEL.getID()), new Object[] { ModItems.canister_fuel });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.KEROSENE.getID()), new Object[] { ModItems.canister_kerosene });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.RECLAIMED.getID()), new Object[] { ModItems.canister_reoil });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.PETROIL.getID()), new Object[] { ModItems.canister_petroil });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.GASOLINE_LEADED.getID()), new Object[] { ModItems.canister_gasoline });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.FRACKSOL.getID()), new Object[] { ModItems.canister_fracksol });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.NITAN.getID()), new Object[] { ModItems.canister_NITAN });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.HEAVYOIL.getID()), new Object[] { ModItems.canister_heavyoil });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.BITUMEN.getID()), new Object[] { ModItems.canister_bitumen });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.HEATINGOIL.getID()), new Object[] { ModItems.canister_heatingoil });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.NAPHTHA.getID()), new Object[] { ModItems.canister_naphtha });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.LIGHTOIL.getID()), new Object[] { ModItems.canister_lightoil });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.BIOFUEL.getID()), new Object[] { ModItems.canister_biofuel });
addShapelessAuto(new ItemStack(ModItems.canister_full, 1, Fluids.ETHANOL.getID()), new Object[] { ModItems.canister_ethanol });
addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC, 4), new Object[] { " I ", "CPC", " I ", 'I', IRON.ingot(), 'C', CU.ingot(), 'P', IRON.plate() });
addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_HYDRAULIC, 4), new Object[] { " I ", "CPC", " I ", 'I', STEEL.ingot(), 'C', TI.ingot(), 'P', Fluids.LUBRICANT.getDict(1000) });
addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_ELECTRIC, 4), new Object[] { " I ", "CPC", " I ", 'I', TCALLOY.ingot(), 'C', ANY_PLASTIC.ingot(), 'P', ModItems.motor });

View File

@ -1014,6 +1014,25 @@ public class MainRegistry {
ignoreMappings.add("hbm:item.gun_revolver_iron");
ignoreMappings.add("hbm:item.gun_calamity_dual");
ignoreMappings.add("hbm:item.gun_revolver_lead");
ignoreMappings.add("hbm:tile.dummy_block_turbofan");
ignoreMappings.add("hbm:tile.dummy_port_turbofan");
ignoreMappings.add("hbm:item.canister_smear");
ignoreMappings.add("hbm:item.canister_canola");
ignoreMappings.add("hbm:item.canister_oil");
ignoreMappings.add("hbm:item.canister_fuel");
ignoreMappings.add("hbm:item.canister_kerosene");
ignoreMappings.add("hbm:item.canister_reoil");
ignoreMappings.add("hbm:item.canister_petroil");
ignoreMappings.add("hbm:item.canister_gasoline");
ignoreMappings.add("hbm:item.canister_fracksol");
ignoreMappings.add("hbm:item.canister_NITAN");
ignoreMappings.add("hbm:item.canister_heavyoil");
ignoreMappings.add("hbm:item.canister_bitumen");
ignoreMappings.add("hbm:item.canister_heatingoil");
ignoreMappings.add("hbm:item.canister_naphtha");
ignoreMappings.add("hbm:item.canister_lightoil");
ignoreMappings.add("hbm:item.canister_biofuel");
ignoreMappings.add("hbm:item.canister_ethanol");
/// REMAP ///
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);

View File

@ -100,7 +100,6 @@ public class NEIConfig implements IConfigureNEI {
}
API.hideItem(new ItemStack(ModBlocks.dummy_block_assembler));
API.hideItem(new ItemStack(ModBlocks.dummy_block_drill));
API.hideItem(new ItemStack(ModBlocks.dummy_block_turbofan));
API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_base));
API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_emitter));
API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_limiter));
@ -110,7 +109,6 @@ public class NEIConfig implements IConfigureNEI {
API.hideItem(new ItemStack(ModBlocks.dummy_block_puf6));
API.hideItem(new ItemStack(ModBlocks.dummy_port_assembler));
API.hideItem(new ItemStack(ModBlocks.dummy_port_drill));
API.hideItem(new ItemStack(ModBlocks.dummy_port_turbofan));
API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_base));
API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_emitter));
API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_limiter));
@ -166,5 +164,4 @@ public class NEIConfig implements IConfigureNEI {
public String getVersion() {
return RefStrings.VERSION;
}
}

View File

@ -7,6 +7,7 @@ import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.items.ModItems;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import com.hbm.render.util.HorsePronter;
@ -46,37 +47,39 @@ public class RenderCatalyticReformer extends TileEntitySpecialRenderer implement
ResourceManager.catalytic_reformer.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
/// rapidly spinning dicks ///
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glTranslated(-1.125, 1.375, 1);
double s = 0.125D;
GL11.glScaled(s, s, s);
GL11.glRotated(System.currentTimeMillis() / 5D % 360D, 0, -1, 0);
GL11.glTranslated(0, 0.1, -0.5);
this.bindTexture(extra);
HorsePronter.reset();
double r = 60;
HorsePronter.pose(HorsePronter.id_body, 0, -r, 0);
HorsePronter.pose(HorsePronter.id_tail, 0, 45, 90);
HorsePronter.pose(HorsePronter.id_lbl, 0, -90 + r, 35);
HorsePronter.pose(HorsePronter.id_rbl, 0, -90 + r, -35);
HorsePronter.pose(HorsePronter.id_lfl, 0, r - 10, 5);
HorsePronter.pose(HorsePronter.id_rfl, 0, r - 10, -5);
HorsePronter.pose(HorsePronter.id_head, 0, r, 0);
HorsePronter.enableHorn();
HorsePronter.enableWings();
HorsePronter.pront();
ItemStack stack = new ItemStack(ModItems.cigarette);
double scale = 0.25;
GL11.glTranslated(0.02, 1.13, -0.42);
GL11.glScaled(scale, scale, scale);
GL11.glRotated(90, 0, -1, 0);
GL11.glRotated(60, 0, 0, -1);
bindTexture(TextureMap.locationItemsTexture);
IIcon icon = stack.getIconIndex();
ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
if(MainRegistry.polaroidID == 11) {
/// rapidly spinning dicks ///
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glTranslated(-1.125, 1.375, 1);
double s = 0.125D;
GL11.glScaled(s, s, s);
GL11.glRotated(System.currentTimeMillis() / 5D % 360D, 0, -1, 0);
GL11.glTranslated(0, 0.1, -0.5);
this.bindTexture(extra);
HorsePronter.reset();
double r = 60;
HorsePronter.pose(HorsePronter.id_body, 0, -r, 0);
HorsePronter.pose(HorsePronter.id_tail, 0, 45, 90);
HorsePronter.pose(HorsePronter.id_lbl, 0, -90 + r, 35);
HorsePronter.pose(HorsePronter.id_rbl, 0, -90 + r, -35);
HorsePronter.pose(HorsePronter.id_lfl, 0, r - 10, 5);
HorsePronter.pose(HorsePronter.id_rfl, 0, r - 10, -5);
HorsePronter.pose(HorsePronter.id_head, 0, r, 0);
HorsePronter.enableHorn();
HorsePronter.enableWings();
HorsePronter.pront();
ItemStack stack = new ItemStack(ModItems.cigarette);
double scale = 0.25;
GL11.glTranslated(0.02, 1.13, -0.42);
GL11.glScaled(scale, scale, scale);
GL11.glRotated(90, 0, -1, 0);
GL11.glRotated(60, 0, 0, -1);
bindTexture(TextureMap.locationItemsTexture);
IIcon icon = stack.getIconIndex();
ItemRenderer.renderItemIn2D(Tessellator.instance, icon.getMaxU(), icon.getMinV(), icon.getMinU(), icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
}
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glPopMatrix();

View File

@ -20,10 +20,7 @@ public class RenderTurbofan extends TileEntitySpecialRenderer {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glRotatef(180, 0F, 1F, 0F);
GL11.glRotatef(270, 0F, 1F, 0F);
switch(tileEntity.getBlockMetadata()) {
switch(tileEntity.getBlockMetadata() - 10) {
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;

View File

@ -2,6 +2,9 @@ package com.hbm.tileentity.machine;
import java.util.List;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.handler.MultiblockHandlerXR;
import com.hbm.interfaces.IFluidAcceptor;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.UpgradeManager;
@ -14,6 +17,7 @@ import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade;
import com.hbm.inventory.gui.GUIMachineTurbofan;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType;
import com.hbm.lib.Library;
import com.hbm.lib.ModDamageSource;
import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxParticlePacketNT;
@ -24,7 +28,7 @@ import com.hbm.tileentity.TileEntityMachineBase;
import com.hbm.util.fauxpointtwelve.DirPos;
import api.hbm.energy.IEnergyGenerator;
import api.hbm.fluid.IFluidStandardReceiver;
import api.hbm.fluid.IFluidStandardTransceiver;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -33,7 +37,6 @@ import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
@ -41,14 +44,16 @@ import net.minecraft.util.DamageSource;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityMachineTurbofan extends TileEntityMachineBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider {
public class TileEntityMachineTurbofan extends TileEntityMachineBase implements IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardTransceiver, IGUIProvider {
public long power;
public static final long maxPower = 500_000;
public static final long maxPower = 1_000_000;
public FluidTank tank;
public FluidTank blood;
public int afterburner;
public boolean wasOn;
public boolean showBlood = false;
public float spin;
public float lastSpin;
@ -57,8 +62,9 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements
private AudioWrapper audio;
public TileEntityMachineTurbofan() {
super(3);
tank = new FluidTank(Fluids.KEROSENE, 24000, 0);
super(5);
tank = new FluidTank(Fluids.KEROSENE, 24000);
blood = new FluidTank(Fluids.BLOOD, 24000);
}
@Override
@ -72,6 +78,8 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements
this.power = nbt.getLong("powerTime");
tank.readFromNBT(nbt, "fuel");
blood.readFromNBT(nbt, "blood");
this.showBlood = nbt.getBoolean("showBlood");
}
@Override
@ -80,6 +88,8 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements
nbt.setLong("powerTime", power);
tank.writeToNBT(nbt, "fuel");
blood.writeToNBT(nbt, "blood");
nbt.setBoolean("showBlood", showBlood);
}
public long getPowerScaled(long i) {
@ -88,7 +98,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements
protected DirPos[] getConPos() {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata());
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getRotation(ForgeDirection.UP);
ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN);
return new DirPos[] {
@ -104,12 +114,31 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements
if(!worldObj.isRemote) {
for(DirPos pos : getConPos()) {
this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
//meta below 12 means that it's an old multiblock configuration
if(this.getBlockMetadata() < 12) {
//get old direction
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata());
//remove tile from the world to prevent inventory dropping
worldObj.removeTileEntity(xCoord, yCoord, zCoord);
//use fillspace to create a new multiblock configuration
worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.machine_turbofan, dir.ordinal() + 10, 3);
MultiblockHandlerXR.fillSpace(worldObj, xCoord, yCoord, zCoord, ((BlockDummyable) ModBlocks.machine_turbofan).getDimensions(), ModBlocks.machine_turbofan, dir);
//restore connections
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
((BlockDummyable) ModBlocks.machine_turbofan).makeExtra(worldObj, xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ);
((BlockDummyable) ModBlocks.machine_turbofan).makeExtra(worldObj, xCoord + dir.offsetX - rot.offsetX, yCoord, zCoord + dir.offsetZ - rot.offsetZ);
((BlockDummyable) ModBlocks.machine_turbofan).makeExtra(worldObj, xCoord - dir.offsetX, yCoord, zCoord - dir.offsetZ);
((BlockDummyable) ModBlocks.machine_turbofan).makeExtra(worldObj, xCoord - dir.offsetX - rot.offsetX, yCoord, zCoord - dir.offsetZ - rot.offsetZ);
//load the tile data to restore the old values
NBTTagCompound data = new NBTTagCompound();
this.writeToNBT(data);
worldObj.getTileEntity(xCoord, yCoord, zCoord).readFromNBT(data);
return;
}
tank.setType(4, slots);
tank.loadTank(0, 1, slots);
blood.setTankType(Fluids.BLOOD);
this.wasOn = false;
@ -119,27 +148,32 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements
if(slots[2] != null && slots[2].getItem() == ModItems.flame_pony)
this.afterburner = 100;
long burn = 0;
long burnValue = 0;
int amount = 1 + this.afterburner;
if(tank.getTankType().hasTrait(FT_Combustible.class) && tank.getTankType().getTrait(FT_Combustible.class).getGrade() == FuelGrade.AERO) {
burn = tank.getTankType().getTrait(FT_Combustible.class).getCombustionEnergy() / 1_000;
burnValue = tank.getTankType().getTrait(FT_Combustible.class).getCombustionEnergy() / 1_000;
}
int toBurn = Math.min(amount, this.tank.getFill());
int amountToBurn = Math.min(amount, this.tank.getFill());
if(toBurn > 0) {
if(amountToBurn > 0) {
this.wasOn = true;
this.tank.setFill(this.tank.getFill() - toBurn);
this.power += burn * toBurn;
if(this.power > this.maxPower) {
this.power = this.maxPower;
}
this.tank.setFill(this.tank.getFill() - amountToBurn);
this.power += burnValue * amountToBurn;
}
if(toBurn > 0) {
power = Library.chargeItemsFromTE(slots, 3, power, power);
for(DirPos pos : getConPos()) {
this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
if(this.blood.getFill() > 0) this.sendFluid(blood.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
}
if(burnValue > 0 && amountToBurn > 0) {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata());
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getRotation(ForgeDirection.UP);
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
if(this.afterburner > 0) {
@ -155,10 +189,14 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, this.xCoord + 0.5F - dir.offsetX * (3 - i), this.yCoord + 1.5F, this.zCoord + 0.5F - dir.offsetZ * (3 - i)), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150));
}
/*if(this.afterburner > 90 && worldObj.rand.nextInt(30) == 0) {
/*if(this.afterburner > 90 && worldObj.rand.nextInt(60) == 0) {
worldObj.newExplosion(null, xCoord + 0.5 + dir.offsetX * 3.5, yCoord + 0.5, zCoord + 0.5 + dir.offsetZ * 3.5, 3F, false, false);
}*/
if(this.afterburner > 90 && worldObj.rand.nextInt(30) == 0) {
worldObj.playSoundEffect(xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, "hbm:block.damage", 3.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F);
}
if(this.afterburner > 90) {
NBTTagCompound data = new NBTTagCompound();
data.setString("type", "gasfire");
@ -220,15 +258,27 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(vdat, e.posX, e.posY + e.height * 0.5, e.posZ), new TargetPoint(e.dimension, e.posX, e.posY + e.height * 0.5, e.posZ, 150));
worldObj.playSoundEffect(e.posX, e.posY, e.posZ, "mob.zombie.woodbreak", 2.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F);
blood.setFill(blood.getFill() + 50);
if(blood.getFill() > blood.getMaxFill()) {
blood.setFill(blood.getMaxFill());
}
this.showBlood = true;
}
}
}
if(this.power > this.maxPower) {
this.power = this.maxPower;
}
NBTTagCompound data = new NBTTagCompound();
data.setLong("power", power);
data.setByte("after", (byte) afterburner);
data.setBoolean("wasOn", wasOn);
data.setBoolean("showBlood", showBlood);
tank.writeToNBT(data, "tank");
blood.writeToNBT(data, "blood");
this.networkPack(data, 150);
} else {
@ -326,7 +376,9 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements
this.power = nbt.getLong("power");
this.afterburner = nbt.getByte("after");
this.wasOn = nbt.getBoolean("wasOn");
this.showBlood = nbt.getBoolean("showBlood");
tank.readFromNBT(nbt, "tank");
blood.readFromNBT(nbt, "blood");
}
public AudioWrapper createAudioLoop() {
@ -398,11 +450,10 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements
public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared()
{
public double getMaxRenderDistanceSquared() {
return 65536.0D;
}
@ -411,9 +462,14 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements
return new FluidTank[] { tank };
}
@Override
public FluidTank[] getSendingTanks() {
return new FluidTank[] { blood };
}
@Override
public FluidTank[] getAllTanks() {
return new FluidTank[] { tank };
return new FluidTank[] { tank, blood };
}
@Override

View File

@ -8,6 +8,7 @@ import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUIMachineCatalyticReformer;
import com.hbm.inventory.recipes.ReformingRecipes;
import com.hbm.items.ModItems;
import com.hbm.lib.Library;
import com.hbm.tileentity.IGUIProvider;
import com.hbm.tileentity.IPersistentNBT;
@ -102,6 +103,7 @@ public class TileEntityMachineCatalyticReformer extends TileEntityMachineBase im
if(power < 20_000) return;
if(tanks[0].getFill() < 100) return;
if(slots[10] == null || slots[10].getItem() != ModItems.catalytic_converter) return;
if(tanks[1].getFill() + out.getX().fill > tanks[1].getMaxFill()) return;
if(tanks[2].getFill() + out.getY().fill > tanks[2].getMaxFill()) return;

View File

@ -351,15 +351,19 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece
case "up":
tiltFront = 30;
if(!worldObj.isRemote) posFront += speed;
break;
case "down":
tiltFront = -30;
if(!worldObj.isRemote) posFront -= speed;
break;
case "left":
tiltLeft = 30;
if(!worldObj.isRemote) posLeft += speed;
break;
case "right":
tiltLeft = -30;
if(!worldObj.isRemote) posLeft -= speed;
break;
}
return new Object[] {};

View File

@ -1313,6 +1313,7 @@ item.casing_50.name=Großkaliberhülse (x12)
item.casing_9.name=Kleinkaliberhülse (x32)
item.casing_buckshot.name=Schrothülse (x12)
item.catalyst_clay.name=Tonerde-Katalysator
item.catalytic_converter.name=Katalytischer Konverter
item.cbt_device.name=CBT-Gerät
item.cell_anti_schrabidium.name=Antischrabidiumzelle
item.cell_antimatter.name=Antimaterienzelle
@ -1492,6 +1493,7 @@ item.component_limiter.name=Stabilisatorkomponente
item.containment_box.name=Sicherheitsbehälter
item.cordite.name=Kordit
item.cotton_candy.name=Radioaktive Zuckerwatte
item.crackpipe.name=Gesundheitspfeife
item.crate_caller.name=Nachschub-Requester
item.crayon.black.name=Schwarzer Wachsmalstift
item.crayon.blue.name=Blauer Wachsmalstift
@ -1995,6 +1997,8 @@ item.ingot_neptunium.name=Neptuniumbarren
item.ingot_neptunium_fuel.name=Neptuniumkernbrennstoffbarren
item.ingot_niobium.name=Niobbarren
item.ingot_osmiridium.name=Osmiridiumbarren
item.ingot_pb209.name=Blei-209-Barren
item.ingot_pet.name=Aluminiumverstärkte PET-Tafel
item.ingot_phosphorus.name=Weiße Phosphortafel
item.ingot_plutonium.name=Plutoniumbarren
item.ingot_plutonium_fuel.name=Plutoniumkernbrennstoffbarren
@ -2005,6 +2009,7 @@ item.ingot_pu238.name=Plutonium-238-Barren
item.ingot_pu239.name=Plutonium-239-Barren
item.ingot_pu240.name=Plutonium-240-Barren
item.ingot_pu241.name=Plutonium-241-Barren
item.ingot_pvc.name=PVC-Tafel
item.ingot_red_copper.name=Minecraft-Kupfer
item.ingot_reiium.name=Reiiumbarren
item.ingot_rubber.name=Gummitafel
@ -2544,6 +2549,7 @@ item.plate_armor_fau.name=Fau-Panzerplatte
item.plate_armor_hev.name=Reaktive Panzerplatte
item.plate_armor_lunar.name=Lunare Panzerplatte
item.plate_armor_titanium.name=Titan-Panzerplatte
item.plate_cast.name=Gegossene %splatte
item.plate_combine_steel.name=CMB-Stahlplatte
item.plate_copper.name=Kupferplatte
item.plate_dalekanium.name=Wütendes Metall
@ -3281,6 +3287,7 @@ shape.nugget=Nugget
shape.quantum=Quantum
shape.quart=Viertel Block
shape.plate=Platte
shape.plateTriple=Gussplatte
shape.stamp=Stempel
shape.wire=Draht

View File

@ -1916,6 +1916,7 @@ item.casing_50.name=Large Caliber Casing (x12)
item.casing_9.name=Small Caliber Casing (x32)
item.casing_buckshot.name=Buckshot Casing (x12)
item.catalyst_clay.name=Clay Catalyst
item.catalytic_converter.name=Catalytic Converter
item.cbt_device.name=CBT Device
item.cell_anti_schrabidium.name=Antischrabidium Cell
item.cell_antimatter.name=Antimatter Cell
@ -2097,6 +2098,7 @@ item.component_limiter.name=Stabilizer Component
item.containment_box.name=Containment Box
item.cordite.name=Cordite
item.cotton_candy.name=Radioactive Cotton Candy
item.crackpipe.name=Health Pipe
item.crate_caller.name=Supply Drop Requester
item.crayon.black.name=Black Crayon
item.crayon.blue.name=Blue Crayon
@ -2635,6 +2637,7 @@ item.ingot_neptunium_fuel.name=Neptunium Fuel Ingot
item.ingot_niobium.name=Niobium Ingot
item.ingot_osmiridium.name=Osmiridium Ingot
item.ingot_pb209.name=Lead-209 Ingot
item.ingot_pet.name=Aluminium-Metallized PET Bar
item.ingot_phosphorus.name=Bar of White Phosphorus
item.ingot_plutonium.name=Plutonium Ingot
item.ingot_plutonium_fuel.name=Ingot of Plutonium Fuel
@ -2645,6 +2648,7 @@ item.ingot_pu238.name=Plutonium-238 Ingot
item.ingot_pu239.name=Plutonium-239 Ingot
item.ingot_pu240.name=Plutonium-240 Ingot
item.ingot_pu241.name=Plutonium-241 Ingot
item.ingot_pvc.name=PVC Bar
item.ingot_ra226.name=Radium-226 Ingot
item.ingot_red_copper.name=Minecraft Grade Copper
item.ingot_reiium.name=Reiium Ingot
@ -3247,6 +3251,7 @@ item.plate_armor_lunar.name=Lunar Plating
item.plate_armor_titanium.name=Titanium Armor Plate
item.plate_bismuth.name=Bismuth Compound Plate
item.plate_bismuth.desc=Guys, It's Bismuth's alchemical symbol, I swear.
item.plate_cast.name=Cast %s Plate
item.plate_combine_steel.name=CMB Steel Plate
item.plate_copper.name=Copper Plate
item.plate_dalekanium.name=Angry Metal
@ -4075,6 +4080,7 @@ shape.nugget=Nugget
shape.quantum=Quantum
shape.quart=Quarter Block
shape.plate=Plate
shape.plateTriple=Cast Plate
shape.stamp=Press Stamp
shape.wire=Wire

View File

@ -51,6 +51,7 @@
"block.turbinegasStartup": {"category": "block", "sounds": [{"name": "block/turbinegasStartup", "stream": true}]},
"block.turbinegasRunning": {"category": "block", "sounds": [{"name": "block/turbinegasRunning", "stream": false}]},
"block.turbinegasShutdown": {"category": "block", "sounds": [{"name": "block/turbinegasShutdown", "stream": true}]},
"block.damage": {"category": "block", "sounds": ["block/dam1", "block/dam2", "block/dam3", "block/dam4"]},
"door.TransitionSealOpen": {"category": "block", "sounds": [{"name": "block/door/transition_seal_open", "stream": true}]},
"door.wghStart": {"category": "block", "sounds": [{"name": "block/door/wgh_start", "stream": true}]},

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 603 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 B

After

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 478 B

After

Width:  |  Height:  |  Size: 484 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B