Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Pheonix 2022-03-14 20:34:47 +00:00
commit 3e91094c8f
73 changed files with 20843 additions and 246 deletions

View File

@ -20,7 +20,7 @@ archivesBaseName = "HBM-NTM"
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8'
minecraft { minecraft {
version = "1.7.10-10.13.4.1558-1.7.10" version = "1.7.10-10.13.4.1614-1.7.10"
runDir = "eclipse" runDir = "eclipse"
} }

View File

@ -1,5 +1,7 @@
package api.hbm.energy; package api.hbm.energy;
import net.minecraft.tileentity.TileEntity;
/** /**
* For compatible cables with no buffer, using the IPowertNet. You can make your own cables with IEnergyConnector as well, but they won't join their power network. * For compatible cables with no buffer, using the IPowertNet. You can make your own cables with IEnergyConnector as well, but they won't join their power network.
* @author hbm * @author hbm
@ -9,4 +11,20 @@ public interface IEnergyConductor extends IEnergyConnector {
public IPowerNet getPowerNet(); public IPowerNet getPowerNet();
public void setPowerNet(IPowerNet network); public void setPowerNet(IPowerNet network);
/**
* A unique identifier for every conductor tile. Used to prevent duplicates when loading previously persistent unloaded tiles.
* @return
*/
public default int getIdentity() {
TileEntity te = (TileEntity) this;
final int prime = 31;
int result = 1;
result = prime * result + te.xCoord;
result = prime * result + te.yCoord;
result = prime * result + te.zCoord;
return result;
}
} }

View File

@ -17,7 +17,7 @@ import net.minecraftforge.common.util.ForgeDirection;
public interface IEnergyConnector { public interface IEnergyConnector {
/** /**
* Returns the amount of power that was added * Returns the amount of power that remains in the source after transfer
* @param power * @param power
* @return * @return
*/ */

View File

@ -20,6 +20,14 @@ public interface IPowerNet {
public void destroy(); public void destroy();
/**
* When a link is removed, instead of destroying the network, causing it to be recreated from currently loaded conductors,
* we re-evaluate it, creating new nets based on the previous links.
*
* NYI
*/
public void reevaluate();
public boolean isValid(); public boolean isValid();
public List<IEnergyConductor> getLinks(); public List<IEnergyConductor> getLinks();

View File

@ -128,4 +128,7 @@ public class PowerNet implements IPowerNet {
return power - totalGiven; return power - totalGiven;
} }
@Override
public void reevaluate() { }
} }

View File

@ -0,0 +1,10 @@
package api.hbm.fluid;
import com.hbm.inventory.fluid.FluidType;
public interface IFluidConductor {
public IPipeNet getPipeNet(FluidType type);
public void setPipeNet(FluidType type, FluidType network);
}

View File

@ -0,0 +1,31 @@
package api.hbm.fluid;
import com.hbm.inventory.fluid.FluidType;
import net.minecraftforge.common.util.ForgeDirection;
public interface IFluidConnector {
/**
* Returns the amount of fluid that remains
* @param power
* @return
*/
public int transferFluid(FluidType type, int fluid);
/**
* Whether the given side can be connected to
* @param dir
* @return
*/
public default boolean canConnect(ForgeDirection dir) {
return dir != ForgeDirection.UNKNOWN;
}
/**
* Returns the amount of fluid that this machine is able to receive
* @param type
* @return
*/
public int getDemand(FluidType type);
}

View File

@ -0,0 +1,8 @@
package api.hbm.fluid;
import api.hbm.energy.IPowerNet;
public interface IPipeNet {
public void joinNetworks(IPowerNet network);
}

View File

@ -493,6 +493,8 @@ public class ModBlocks {
public static Block fireworks; public static Block fireworks;
public static Block dynamite; public static Block dynamite;
public static Block tnt; public static Block tnt;
public static Block semtex;
public static Block c4;
public static Block charge_dynamite; public static Block charge_dynamite;
public static Block charge_miner; public static Block charge_miner;
@ -1448,8 +1450,8 @@ public class ModBlocks {
block_ra226 = new BlockHazard().makeBeaconable().setBlockName("block_ra226").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_ra226"); block_ra226 = new BlockHazard().makeBeaconable().setBlockName("block_ra226").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_ra226");
block_actinium = new BlockHazard().makeBeaconable().setBlockName("block_actinium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_actinium"); block_actinium = new BlockHazard().makeBeaconable().setBlockName("block_actinium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_actinium");
block_tritium = new BlockRotatablePillar(Material.glass, RefStrings.MODID + ":block_tritium_top").setBlockName("block_tritium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGlass).setHardness(3.0F).setResistance(2.0F).setBlockTextureName(RefStrings.MODID + ":block_tritium_side"); block_tritium = new BlockRotatablePillar(Material.glass, RefStrings.MODID + ":block_tritium_top").setBlockName("block_tritium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGlass).setHardness(3.0F).setResistance(2.0F).setBlockTextureName(RefStrings.MODID + ":block_tritium_side");
block_semtex = new BlockSemtex(Material.tnt).setBlockName("block_semtex").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(2.0F).setBlockTextureName(RefStrings.MODID + ":block_semtex"); block_semtex = new BlockPlasticExplosive(Material.tnt).setBlockName("block_semtex").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(2.0F).setBlockTextureName(RefStrings.MODID + ":block_semtex");
block_c4 = new BlockSemtex(Material.tnt).setBlockName("block_c4").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(2.0F).setBlockTextureName(RefStrings.MODID + ":block_c4"); block_c4 = new BlockPlasticExplosive(Material.tnt).setBlockName("block_c4").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(2.0F).setResistance(2.0F).setBlockTextureName(RefStrings.MODID + ":block_c4");
block_smore = new BlockPillar(Material.rock, RefStrings.MODID + ":block_smore_top").setBlockName("block_smore").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":block_smore_side"); block_smore = new BlockPillar(Material.rock, RefStrings.MODID + ":block_smore_top").setBlockName("block_smore").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":block_smore_side");
block_australium = new BlockBeaconable(Material.iron).setBlockName("block_australium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_australium"); block_australium = new BlockBeaconable(Material.iron).setBlockName("block_australium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_australium");
@ -1719,6 +1721,8 @@ public class ModBlocks {
mine_fat = new Landmine(Material.iron).setBlockName("mine_fat").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_fat"); mine_fat = new Landmine(Material.iron).setBlockName("mine_fat").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_fat");
dynamite = new BlockDynamite().setBlockName("dynamite").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":dynamite"); dynamite = new BlockDynamite().setBlockName("dynamite").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":dynamite");
tnt = new BlockTNT().setBlockName("tnt_ntm").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":tnt"); tnt = new BlockTNT().setBlockName("tnt_ntm").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":tnt");
semtex = new BlockSemtex().setBlockName("semtex").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":semtex");
c4 = new BlockC4().setBlockName("c4").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":c4");
machine_difurnace_off = new MachineDiFurnace(false).setBlockName("machine_difurnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_difurnace_off = new MachineDiFurnace(false).setBlockName("machine_difurnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
machine_difurnace_on = new MachineDiFurnace(true).setBlockName("machine_difurnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); machine_difurnace_on = new MachineDiFurnace(true).setBlockName("machine_difurnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F);
@ -2695,6 +2699,8 @@ public class ModBlocks {
GameRegistry.registerBlock(fireworks, fireworks.getUnlocalizedName()); GameRegistry.registerBlock(fireworks, fireworks.getUnlocalizedName());
GameRegistry.registerBlock(dynamite, dynamite.getUnlocalizedName()); GameRegistry.registerBlock(dynamite, dynamite.getUnlocalizedName());
GameRegistry.registerBlock(tnt, tnt.getUnlocalizedName()); GameRegistry.registerBlock(tnt, tnt.getUnlocalizedName());
GameRegistry.registerBlock(semtex, semtex.getUnlocalizedName());
GameRegistry.registerBlock(c4, c4.getUnlocalizedName());
//Turrets //Turrets
GameRegistry.registerBlock(turret_light, turret_light.getUnlocalizedName()); GameRegistry.registerBlock(turret_light, turret_light.getUnlocalizedName());

View File

@ -0,0 +1,13 @@
package com.hbm.blocks.bomb;
import com.hbm.entity.item.EntityTNTPrimedBase;
import net.minecraft.world.World;
public class BlockC4 extends BlockTNTBase {
@Override
public void explodeEntity(World world, double x, double y, double z, EntityTNTPrimedBase entity) {
world.createExplosion(entity, x, y, z, 26F, true);
}
}

View File

@ -80,7 +80,7 @@ public abstract class BlockChargeBase extends BlockContainerBase implements IBom
if(!world.isSideSolid(x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ, dir)) { if(!world.isSideSolid(x - dir.offsetX, y - dir.offsetY, z - dir.offsetZ, dir)) {
world.setBlockToAir(x, y, z); world.setBlockToAir(x, y, z);
this.explode(world, x, y, z); //this.explode(world, x, y, z);
} }
} }

View File

@ -0,0 +1,92 @@
package com.hbm.blocks.bomb;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.explosion.ExplosionNT;
import com.hbm.interfaces.IBomb;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
import net.minecraft.world.Explosion;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class BlockPlasticExplosive extends Block implements IBomb {
@SideOnly(Side.CLIENT)
private IIcon topIcon;
public BlockPlasticExplosive(Material mat) {
super(mat);
}
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister p_149651_1_) {
this.blockIcon = p_149651_1_.registerIcon(this.getTextureName());
this.topIcon = p_149651_1_.registerIcon(this.getTextureName() + "_front");
}
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta) {
int k = getPistonOrientation(meta);
return ForgeDirection.getOrientation(k).getOpposite().ordinal() == side ? this.topIcon : this.blockIcon;
}
public static int getPistonOrientation(int meta) {
return meta & 7;
}
@Override
public void onBlockPlacedBy(World p_149689_1_, int p_149689_2_, int p_149689_3_, int p_149689_4_, EntityLivingBase p_149689_5_, ItemStack p_149689_6_) {
int l = determineOrientation(p_149689_1_, p_149689_2_, p_149689_3_, p_149689_4_, p_149689_5_);
p_149689_1_.setBlockMetadataWithNotify(p_149689_2_, p_149689_3_, p_149689_4_, l, 2);
}
public static int determineOrientation(World world, int x, int y, int z, EntityLivingBase player) {
if(MathHelper.abs((float) player.posX - (float) x) < 2.0F && MathHelper.abs((float) player.posZ - (float) z) < 2.0F) {
double d0 = player.posY + 1.82D - (double) player.yOffset;
if(d0 - (double) y > 2.0D) {
return 0;
}
if((double) y - d0 > 0.0D) {
return 1;
}
}
int l = MathHelper.floor_double((double) (player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
return l == 0 ? 3 : (l == 1 ? 4 : (l == 2 ? 2 : (l == 3 ? 5 : 1)));
}
@Override
public void onBlockDestroyedByExplosion(World world, int x, int y, int z, Explosion explosion) {
this.explode(world, x, y, z);
}
@Override
public void onNeighborBlockChange(World world, int x, int y, int z, Block p_149695_5_) {
if(world.isBlockIndirectlyGettingPowered(x, y, z)) {
this.explode(world, x, y, z);
}
}
@Override
public BombReturnCode explode(World world, int x, int y, int z) {
if(!world.isRemote) {
new ExplosionNT(world, null, x + 0.5, y + 0.5, z + 0.5, 50).overrideResolution(64).explode();
ExplosionLarge.spawnParticles(world, x, y, z, ExplosionLarge.cloudFunction(15));
}
return BombReturnCode.DETONATED;
}
}

View File

@ -1,92 +1,13 @@
package com.hbm.blocks.bomb; package com.hbm.blocks.bomb;
import com.hbm.explosion.ExplosionLarge; import com.hbm.entity.item.EntityTNTPrimedBase;
import com.hbm.explosion.ExplosionNT;
import com.hbm.interfaces.IBomb;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
import net.minecraft.world.Explosion;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class BlockSemtex extends Block implements IBomb { public class BlockSemtex extends BlockTNTBase {
@SideOnly(Side.CLIENT)
private IIcon topIcon;
public BlockSemtex(Material mat) {
super(mat);
}
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister p_149651_1_) {
this.blockIcon = p_149651_1_.registerIcon(this.getTextureName());
this.topIcon = p_149651_1_.registerIcon(this.getTextureName() + "_front");
}
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta) {
int k = getPistonOrientation(meta);
return ForgeDirection.getOrientation(k).getOpposite().ordinal() == side ? this.topIcon : this.blockIcon;
}
public static int getPistonOrientation(int meta) {
return meta & 7;
}
@Override @Override
public void onBlockPlacedBy(World p_149689_1_, int p_149689_2_, int p_149689_3_, int p_149689_4_, EntityLivingBase p_149689_5_, ItemStack p_149689_6_) { public void explodeEntity(World world, double x, double y, double z, EntityTNTPrimedBase entity) {
int l = determineOrientation(p_149689_1_, p_149689_2_, p_149689_3_, p_149689_4_, p_149689_5_); world.createExplosion(entity, x, y, z, 20F, true);
p_149689_1_.setBlockMetadataWithNotify(p_149689_2_, p_149689_3_, p_149689_4_, l, 2);
}
public static int determineOrientation(World world, int x, int y, int z, EntityLivingBase player) {
if(MathHelper.abs((float) player.posX - (float) x) < 2.0F && MathHelper.abs((float) player.posZ - (float) z) < 2.0F) {
double d0 = player.posY + 1.82D - (double) player.yOffset;
if(d0 - (double) y > 2.0D) {
return 0;
}
if((double) y - d0 > 0.0D) {
return 1;
}
}
int l = MathHelper.floor_double((double) (player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
return l == 0 ? 3 : (l == 1 ? 4 : (l == 2 ? 2 : (l == 3 ? 5 : 1)));
}
@Override
public void onBlockDestroyedByExplosion(World world, int x, int y, int z, Explosion explosion) {
this.explode(world, x, y, z);
}
@Override
public void onNeighborBlockChange(World world, int x, int y, int z, Block p_149695_5_) {
if(world.isBlockIndirectlyGettingPowered(x, y, z)) {
this.explode(world, x, y, z);
}
}
@Override
public BombReturnCode explode(World world, int x, int y, int z) {
if(!world.isRemote) {
new ExplosionNT(world, null, x + 0.5, y + 0.5, z + 0.5, 50).overrideResolution(64).explode();
ExplosionLarge.spawnParticles(world, x, y, z, ExplosionLarge.cloudFunction(15));
}
return BombReturnCode.DETONATED;
} }
} }

View File

@ -5,12 +5,12 @@ import java.util.List;
import com.hbm.blocks.IStepTickReceiver; import com.hbm.blocks.IStepTickReceiver;
import com.hbm.blocks.ITooltipProvider; import com.hbm.blocks.ITooltipProvider;
import codechicken.lib.math.MathHelper;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockSpeedy extends Block implements IStepTickReceiver, ITooltipProvider { public class BlockSpeedy extends Block implements IStepTickReceiver, ITooltipProvider {

View File

@ -200,8 +200,8 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge_flechette, 12), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_flechette, 'G', ModItems.ballistite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge_flechette, 12), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_flechette, 'G', ModItems.ballistite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge_explosive, 4), new Object[] { " I ", "GCL", " P ", 'I', Blocks.tnt, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge_explosive, 4), new Object[] { " I ", "GCL", " P ", 'I', Blocks.tnt, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge_explosive, 4), new Object[] { " I ", "GCL", " P ", 'I', Blocks.tnt, 'G', ModItems.ballistite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge_explosive, 4), new Object[] { " I ", "GCL", " P ", 'I', Blocks.tnt, 'G', ModItems.ballistite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge_explosive, 6), new Object[] { " I ", "GCL", " P ", 'I', ModItems.ingot_semtex, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge_explosive, 6), new Object[] { " I ", "GCL", " P ", 'I', ANY_HIGHEXPLOSIVE.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge_explosive, 6), new Object[] { " I ", "GCL", " P ", 'I', ModItems.ingot_semtex, 'G', ModItems.ballistite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge_explosive, 6), new Object[] { " I ", "GCL", " P ", 'I', ANY_HIGHEXPLOSIVE.ingot(), 'G', ModItems.ballistite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge_semtex, 4), new Object[] { " I ", "GCL", " P ", 'I', ModBlocks.det_miner, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge_semtex, 4), new Object[] { " I ", "GCL", " P ", 'I', ModBlocks.det_miner, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge_semtex, 4), new Object[] { " I ", "GCL", " P ", 'I', ModBlocks.det_miner, 'G', ModItems.ballistite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge_semtex, 4), new Object[] { " I ", "GCL", " P ", 'I', ModBlocks.det_miner, 'G', ModItems.ballistite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_4gauge_titan, 1), new Object[] { ModItems.ammo_4gauge, ModItems.nugget_bismuth, ModItems.nugget_tantalium, ModItems.ball_dynamite }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_4gauge_titan, 1), new Object[] { ModItems.ammo_4gauge, ModItems.nugget_bismuth, ModItems.nugget_tantalium, ModItems.ball_dynamite });
@ -216,7 +216,7 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_nightmare2_ammo, 6), new Object[] { "I", "C", "P", 'I', ModItems.powder_power, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_nightmare2_ammo, 6), new Object[] { "I", "C", "P", 'I', ModItems.powder_power, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_calamity, 12), new Object[] { " I ", "GCG", " P ", 'I', PB.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_calamity, 12), new Object[] { " I ", "GCG", " P ", 'I', PB.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50 });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_actionexpress, 12), new Object[] { " I", "GC", " P", 'I', PB.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_actionexpress, 12), new Object[] { " I", "GC", " P", 'I', PB.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50 });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_nuke, 1), new Object[] { " WP", "SEP", " WP", 'W', ModItems.wire_aluminium, 'P', STEEL.plate(), 'S', ModItems.hull_small_steel, 'E', ModItems.ingot_semtex }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_nuke, 1), new Object[] { " WP", "SEP", " WP", 'W', ModItems.wire_aluminium, 'P', STEEL.plate(), 'S', ModItems.hull_small_steel, 'E', ANY_HIGHEXPLOSIVE.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_dart, 16), new Object[] { "IPI", "ICI", "IPI", 'I', ModItems.plate_polymer, 'P', IRON.plate(), 'C', new ItemStack(ModItems.fluid_tank_lead_full, 1, Fluids.WATZ.ordinal()) }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_dart, 16), new Object[] { "IPI", "ICI", "IPI", 'I', ModItems.plate_polymer, 'P', IRON.plate(), 'C', new ItemStack(ModItems.fluid_tank_lead_full, 1, Fluids.WATZ.ordinal()) });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_dart_nerf, 16), new Object[] { "I", "I", 'I', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_dart_nerf, 16), new Object[] { "I", "I", 'I', ModItems.plate_polymer });
@ -231,11 +231,12 @@ public class WeaponRecipes {
//Rockets //Rockets
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket, 1), new Object[] { " T ", "GCG", " P ", 'T', Blocks.tnt, 'G', ModItems.rocket_fuel, 'C', ModItems.casing_50, 'P', ModItems.primer_50 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket, 1), new Object[] { " T ", "GCG", " P ", 'T', Blocks.tnt, 'G', ModItems.rocket_fuel, 'C', ModItems.casing_50, 'P', ModItems.primer_50 });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket, 2), new Object[] { " T ", "GCG", " P ", 'T', ModItems.ingot_semtex, 'G', ModItems.rocket_fuel, 'C', ModItems.casing_50, 'P', ModItems.primer_50 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket, 2), new Object[] { " T ", "GCG", " P ", 'T', ANY_HIGHEXPLOSIVE.ingot(), 'G', ModItems.rocket_fuel, 'C', ModItems.casing_50, 'P', ModItems.primer_50 });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_he, 1), new Object[] { "G", "R", 'G', ModItems.ingot_semtex, 'R', ModItems.ammo_rocket }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket, 3), new Object[] { " T ", "GCG", " P ", 'T', ANY_PLASTICEXPLOSIVE.ingot(), 'G', ModItems.rocket_fuel, 'C', ModItems.casing_50, 'P', ModItems.primer_50 });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_he, 1), new Object[] { "G", "R", 'G', ANY_HIGHEXPLOSIVE.ingot(), 'R', ModItems.ammo_rocket });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_incendiary, 1), new Object[] { "G", "R", 'G', P_RED.dust(), 'R', ModItems.ammo_rocket }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_incendiary, 1), new Object[] { "G", "R", 'G', P_RED.dust(), 'R', ModItems.ammo_rocket });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_phosphorus, 1), new Object[] { "G", "R", 'G', P_WHITE.ingot(), 'R', ModItems.ammo_rocket }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_phosphorus, 1), new Object[] { "G", "R", 'G', P_WHITE.ingot(), 'R', ModItems.ammo_rocket });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_emp, 1), new Object[] { "G", "R", 'G', "dustDiamond", 'R', ModItems.ammo_rocket }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_emp, 1), new Object[] { "G", "R", 'G', DIAMOND.dust(), 'R', ModItems.ammo_rocket });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_shrapnel, 1), new Object[] { "G", "R", 'G', ModItems.pellet_buckshot, 'R', ModItems.ammo_rocket }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_shrapnel, 1), new Object[] { "G", "R", 'G', ModItems.pellet_buckshot, 'R', ModItems.ammo_rocket });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_glare, 1), new Object[] { "GGG", "GRG", "GGG", 'G', REDSTONE.dust(), 'R', ModItems.ammo_rocket }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_glare, 1), new Object[] { "GGG", "GRG", "GGG", 'G', REDSTONE.dust(), 'R', ModItems.ammo_rocket });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_toxic, 1), new Object[] { "G", "R", 'G', ModItems.pellet_gas, 'R', ModItems.ammo_rocket }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_toxic, 1), new Object[] { "G", "R", 'G', ModItems.pellet_gas, 'R', ModItems.ammo_rocket });
@ -250,7 +251,7 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_rpc, 2), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', STEEL.plate(), 'C', Fluids.BIOFUEL.getDict(1000), 'H', ModItems.hull_small_steel, 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket_rpc, 2), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', STEEL.plate(), 'C', Fluids.BIOFUEL.getDict(1000), 'H', ModItems.hull_small_steel, 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket });
//Stinger Rockets //Stinger Rockets
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_stinger_rocket_he, 1), new Object[] { "S", "R", 'S', ModItems.ingot_semtex, 'R', ModItems.ammo_stinger_rocket }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_stinger_rocket_he, 1), new Object[] { "S", "R", 'S', ANY_HIGHEXPLOSIVE.ingot(), 'R', ModItems.ammo_stinger_rocket });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_stinger_rocket_incendiary, 1), new Object[] { "S", "R", 'S', P_RED.dust(), 'R', ModItems.ammo_stinger_rocket }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_stinger_rocket_incendiary, 1), new Object[] { "S", "R", 'S', P_RED.dust(), 'R', ModItems.ammo_stinger_rocket });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_stinger_rocket_nuclear, 1), new Object[] { "RPR", "PSP", "RPR", 'R', ModItems.neutron_reflector, 'P', PU239.nugget(), 'S', ModItems.ammo_stinger_rocket }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_stinger_rocket_nuclear, 1), new Object[] { "RPR", "PSP", "RPR", 'R', ModItems.neutron_reflector, 'P', PU239.nugget(), 'S', ModItems.ammo_stinger_rocket });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_stinger_rocket_bones, 1), new Object[] { " C ", "SKR", " P ", 'C', ModItems.fallout, 'S', SR90.dust(), 'K', ModItems.ammo_stinger_rocket, 'R', RA226.dust(), 'P', PU.dust() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_stinger_rocket_bones, 1), new Object[] { " C ", "SKR", " P ", 'C', ModItems.fallout, 'S', SR90.dust(), 'K', ModItems.ammo_stinger_rocket, 'R', RA226.dust(), 'P', PU.dust() });
@ -260,7 +261,7 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_grenade, 2), new Object[] { " T ", "GCI", " P ", 'T', Items.gunpowder, 'G', ModItems.ballistite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'I', IRON.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_grenade, 2), new Object[] { " T ", "GCI", " P ", 'T', Items.gunpowder, 'G', ModItems.ballistite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'I', IRON.plate() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_grenade_tracer, 2), new Object[] { " T ", "GCI", " P ", 'T', LAPIS.dust(), 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'I', IRON.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_grenade_tracer, 2), new Object[] { " T ", "GCI", " P ", 'T', LAPIS.dust(), 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'I', IRON.plate() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_grenade_tracer, 2), new Object[] { " T ", "GCI", " P ", 'T', LAPIS.dust(), 'G', ModItems.ballistite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'I', IRON.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_grenade_tracer, 2), new Object[] { " T ", "GCI", " P ", 'T', LAPIS.dust(), 'G', ModItems.ballistite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'I', IRON.plate() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_grenade_he, 2), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', ModItems.ingot_semtex }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_grenade_he, 2), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', ANY_HIGHEXPLOSIVE.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_grenade_incendiary, 2), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', P_RED.dust() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_grenade_incendiary, 2), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', P_RED.dust() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_grenade_phosphorus, 2), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', P_WHITE.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_grenade_phosphorus, 2), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', P_WHITE.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_grenade_toxic, 2), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', ModItems.powder_poison }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_grenade_toxic, 2), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', ModItems.powder_poison });
@ -273,9 +274,9 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell, 4), new Object[] { " T ", "GHG", "CCC", 'T', Blocks.tnt, 'G', Items.gunpowder, 'H', ModItems.hull_small_steel, 'C', CU.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell, 4), new Object[] { " T ", "GHG", "CCC", 'T', Blocks.tnt, 'G', Items.gunpowder, 'H', ModItems.hull_small_steel, 'C', CU.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell, 4), new Object[] { " T ", "GHG", "CCC", 'T', Blocks.tnt, 'G', ModItems.ballistite, 'H', ModItems.hull_small_steel, 'C', CU.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell, 4), new Object[] { " T ", "GHG", "CCC", 'T', Blocks.tnt, 'G', ModItems.ballistite, 'H', ModItems.hull_small_steel, 'C', CU.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell, 6), new Object[] { " T ", "GHG", "CCC", 'T', Blocks.tnt, 'G', ModItems.cordite, 'H', ModItems.hull_small_steel, 'C', CU.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell, 6), new Object[] { " T ", "GHG", "CCC", 'T', Blocks.tnt, 'G', ModItems.cordite, 'H', ModItems.hull_small_steel, 'C', CU.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell_explosive, 4), new Object[] { " T ", "GHG", "CCC", 'T', ModItems.ingot_semtex, 'G', Items.gunpowder, 'H', ModItems.hull_small_steel, 'C', CU.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell_explosive, 4), new Object[] { " T ", "GHG", "CCC", 'T', ANY_HIGHEXPLOSIVE.ingot(), 'G', Items.gunpowder, 'H', ModItems.hull_small_steel, 'C', CU.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell_explosive, 4), new Object[] { " T ", "GHG", "CCC", 'T', ModItems.ingot_semtex, 'G', ModItems.ballistite, 'H', ModItems.hull_small_steel, 'C', CU.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell_explosive, 4), new Object[] { " T ", "GHG", "CCC", 'T', ANY_HIGHEXPLOSIVE.ingot(), 'G', ModItems.ballistite, 'H', ModItems.hull_small_steel, 'C', CU.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell_explosive, 6), new Object[] { " T ", "GHG", "CCC", 'T', ModItems.ingot_semtex, 'G', ModItems.cordite, 'H', ModItems.hull_small_steel, 'C', CU.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell_explosive, 6), new Object[] { " T ", "GHG", "CCC", 'T', ANY_HIGHEXPLOSIVE.ingot(), 'G', ModItems.cordite, 'H', ModItems.hull_small_steel, 'C', CU.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell_apfsds_t, 4), new Object[] { " I ", "GIG", "CCC", 'I', W.ingot(), 'G', Items.gunpowder, 'C', CU.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell_apfsds_t, 4), new Object[] { " I ", "GIG", "CCC", 'I', W.ingot(), 'G', Items.gunpowder, 'C', CU.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell_apfsds_t, 4), new Object[] { " I ", "GIG", "CCC", 'I', W.ingot(), 'G', ModItems.ballistite, 'C', CU.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell_apfsds_t, 4), new Object[] { " I ", "GIG", "CCC", 'I', W.ingot(), 'G', ModItems.ballistite, 'C', CU.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell_apfsds_t, 6), new Object[] { " I ", "GIG", "CCC", 'I', W.ingot(), 'G', ModItems.cordite, 'C', CU.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell_apfsds_t, 6), new Object[] { " I ", "GIG", "CCC", 'I', W.ingot(), 'G', ModItems.cordite, 'C', CU.ingot() });
@ -295,6 +296,7 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_nuke_tots, 1), new Object[] { "PPP", "PIP", "PPP", 'P', ModItems.pellet_cluster, 'I', PU239.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_nuke_tots, 1), new Object[] { "PPP", "PIP", "PPP", 'P', ModItems.pellet_cluster, 'I', PU239.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_nuke_safe, 1), new Object[] { "G", "N", 'G', Items.glowstone_dust, 'N', ModItems.ammo_nuke_low }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_nuke_safe, 1), new Object[] { "G", "N", 'G', Items.glowstone_dust, 'N', ModItems.ammo_nuke_low });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_nuke_pumpkin, 1), new Object[] { " T ", "TST", " T ", 'T', Blocks.tnt, 'S', ModItems.assembly_nuke }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_nuke_pumpkin, 1), new Object[] { " T ", "TST", " T ", 'T', Blocks.tnt, 'S', ModItems.assembly_nuke });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_nuke_barrel, 1), new Object[] { ModItems.nuclear_waste_pearl, ModItems.tank_steel });
//MIRV recycling //MIRV recycling
CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_nuke, 6), new Object[] { ModItems.ammo_mirv }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_nuke, 6), new Object[] { ModItems.ammo_mirv });
@ -356,7 +358,7 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_cloud), new Object[] { "SPS", "CAC", "SPS", 'S', S.dust(), 'P', ModItems.powder_poison, 'C', CU.dust(), 'A', new ItemStack(ModItems.fluid_tank_full, 1, Fluids.ACID.getID()) }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_cloud), new Object[] { "SPS", "CAC", "SPS", 'S', S.dust(), 'P', ModItems.powder_poison, 'C', CU.dust(), 'A', new ItemStack(ModItems.fluid_tank_full, 1, Fluids.ACID.getID()) });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_pink_cloud), new Object[] { " S ", "ECE", " E ", 'S', ModItems.powder_spark_mix, 'E', ModItems.powder_magic, 'C', ModItems.grenade_cloud }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_pink_cloud), new Object[] { " S ", "ECE", " E ", 'S', ModItems.powder_spark_mix, 'E', ModItems.powder_magic, 'C', ModItems.grenade_cloud });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.nuclear_waste_pearl), new Object[] { "WWW", "WFW", "WWW", 'W', ModItems.nuclear_waste_tiny, 'F', ModBlocks.block_fallout }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.nuclear_waste_pearl), new Object[] { "WWW", "WFW", "WWW", 'W', ModItems.nuclear_waste_tiny, 'F', ModBlocks.block_fallout });
//CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_nuke), new Object[] { "CGC", "CGC", "PAP", 'C', ModBlocks.det_charge, 'G', ModItems.grenade_mk2, 'P', ALLOY.plate(), 'A', Blocks.anvil }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_kyiv), new Object[] { ModItems.canister_napalm, ModItems.bottle2_empty, ModItems.rag });
//Sticks of explosives //Sticks of explosives
CraftingManager.addRecipeAuto(new ItemStack(ModItems.stick_dynamite, 4), new Object[] { " S ", "PDP", "PDP", 'S', ModItems.safety_fuse, 'P', Items.paper, 'D', ModItems.ball_dynamite }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.stick_dynamite, 4), new Object[] { " S ", "PDP", "PDP", 'S', ModItems.safety_fuse, 'P', Items.paper, 'D', ModItems.ball_dynamite });
@ -367,6 +369,8 @@ public class WeaponRecipes {
//Blocks of explosives //Blocks of explosives
CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.dynamite, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_dynamite, 'S', ModItems.safety_fuse }); CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.dynamite, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_dynamite, 'S', ModItems.safety_fuse });
CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.tnt, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_tnt, 'S', ModItems.safety_fuse }); CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.tnt, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_tnt, 'S', ModItems.safety_fuse });
CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.semtex, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_semtex, 'S', ModItems.safety_fuse });
CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.c4, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_c4, 'S', ModItems.safety_fuse });
//IF Grenades //IF Grenades
@ -385,8 +389,8 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_null, 1), new Object[] { "BAB", "AGA", "BAB", 'G', ModItems.grenade_if_generic, 'A', Blocks.obsidian, 'B', BIGMT.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_if_null, 1), new Object[] { "BAB", "AGA", "BAB", 'G', ModItems.grenade_if_generic, 'A', Blocks.obsidian, 'B', BIGMT.ingot() });
//Mines //Mines
CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_ap, 4), new Object[] { "C", "P", "T", 'C', ModItems.circuit_targeting_tier2, 'P', IRON.plate(), 'T', ModItems.ingot_semtex }); CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_ap, 4), new Object[] { "C", "P", "T", 'C', ModItems.circuit_targeting_tier2, 'P', IRON.plate(), 'T', ANY_PLASTICEXPLOSIVE.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_he, 1), new Object[] { " C ", "PTP", 'C', ModItems.circuit_targeting_tier2, 'P', STEEL.plate(), 'T', ModItems.ingot_semtex }); CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_he, 1), new Object[] { " C ", "PTP", 'C', ModItems.circuit_targeting_tier2, 'P', STEEL.plate(), 'T', ANY_HIGHEXPLOSIVE.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_shrap, 2), new Object[] { "LLL", " C ", "PTP", 'C', ModItems.circuit_targeting_tier2, 'P', STEEL.plate(), 'T', ModBlocks.det_cord, 'L', ModItems.pellet_buckshot }); CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_shrap, 2), new Object[] { "LLL", " C ", "PTP", 'C', ModItems.circuit_targeting_tier2, 'P', STEEL.plate(), 'T', ModBlocks.det_cord, 'L', ModItems.pellet_buckshot });
CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_fat, 1), new Object[] { "CDN", 'C', ModItems.circuit_targeting_tier2, 'D', ModItems.ducttape, 'N', ModItems.ammo_nuke }); CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.mine_fat, 1), new Object[] { "CDN", 'C', ModItems.circuit_targeting_tier2, 'D', ModItems.ducttape, 'N', ModItems.ammo_nuke });
@ -396,7 +400,7 @@ public class WeaponRecipes {
CraftingManager.addRecipeAuto(new ItemStack(ModItems.n2_charge, 1), new Object[] { " D ", "ERE", " D ", 'D', ModItems.ducttape, 'E', ModBlocks.det_charge, 'R', REDSTONE.block() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.n2_charge, 1), new Object[] { " D ", "ERE", " D ", 'D', ModItems.ducttape, 'E', ModBlocks.det_charge, 'R', REDSTONE.block() });
//Custom nuke rods //Custom nuke rods
CraftingManager.addRecipeAuto(new ItemStack(ModItems.custom_tnt, 1), new Object[] { " C ", "TIT", "TIT", 'C', CU.plate(), 'I', IRON.plate(), 'T', Blocks.tnt }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.custom_tnt, 1), new Object[] { " C ", "TIT", "TIT", 'C', CU.plate(), 'I', IRON.plate(), 'T', ANY_HIGHEXPLOSIVE.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.custom_nuke, 1), new Object[] { " C ", "LUL", "LUL", 'C', CU.plate(), 'L', PB.plate(), 'U', U235.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.custom_nuke, 1), new Object[] { " C ", "LUL", "LUL", 'C', CU.plate(), 'L', PB.plate(), 'U', U235.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.custom_hydro, 1), new Object[] { " C ", "LTL", "LIL", 'C', CU.plate(), 'L', PB.plate(), 'I', IRON.plate(), 'T', ModItems.cell_tritium }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.custom_hydro, 1), new Object[] { " C ", "LTL", "LIL", 'C', CU.plate(), 'L', PB.plate(), 'I', IRON.plate(), 'T', ModItems.cell_tritium });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.custom_amat, 1), new Object[] { " C ", "MMM", "AAA", 'C', CU.plate(), 'A', AL.plate(), 'M', ModItems.cell_antimatter }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.custom_amat, 1), new Object[] { " C ", "MMM", "AAA", 'C', CU.plate(), 'A', AL.plate(), 'M', ModItems.cell_antimatter });

View File

@ -0,0 +1,66 @@
package com.hbm.entity.grenade;
import com.hbm.items.weapon.ItemGenericGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class EntityGrenadeBouncyGeneric extends EntityGrenadeBouncyBase implements IGenericGrenade {
public EntityGrenadeBouncyGeneric(World world) {
super(world);
}
public EntityGrenadeBouncyGeneric(World world, EntityLivingBase living) {
super(world, living);
}
public EntityGrenadeBouncyGeneric(World world, double x, double y, double z) {
super(world, x, y, z);
}
public EntityGrenadeBouncyGeneric setType(ItemGenericGrenade grenade) {
this.dataWatcher.updateObject(12, Item.getIdFromItem(grenade));
return this;
}
@Override
public ItemGenericGrenade getGrenade() {
return (ItemGenericGrenade) Item.getItemById(this.dataWatcher.getWatchableObjectInt(12));
}
@Override
protected void entityInit() {
this.dataWatcher.addObject(12, 0);
}
@Override
public void explode() {
getGrenade().explode(worldObj, posX, posY, posZ);
this.setDead();
}
@Override
protected void writeEntityToNBT(NBTTagCompound nbt) {
super.writeEntityToNBT(nbt);
nbt.setInteger("grenade", this.dataWatcher.getWatchableObjectInt(12));
}
@Override
protected void readEntityFromNBT(NBTTagCompound nbt) {
super.readEntityFromNBT(nbt);
this.dataWatcher.updateObject(12, nbt.getInteger("grenade"));
}
@Override
protected int getMaxTimer() {
return getGrenade().getMaxTimer();
}
@Override
protected double getBounceMod() {
return getGrenade().getBounceMod();
}
}

View File

@ -4,31 +4,26 @@ import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.world.World; import net.minecraft.world.World;
public class EntityGrenadeGascan extends EntityGrenadeBase public class EntityGrenadeGascan extends EntityGrenadeBase {
{
public EntityGrenadeGascan(World p_i1773_1_) public EntityGrenadeGascan(World p_i1773_1_) {
{ super(p_i1773_1_);
super(p_i1773_1_); }
}
public EntityGrenadeGascan(World p_i1774_1_, EntityLivingBase p_i1774_2_) public EntityGrenadeGascan(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
{ super(p_i1774_1_, p_i1774_2_);
super(p_i1774_1_, p_i1774_2_); }
}
public EntityGrenadeGascan(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) public EntityGrenadeGascan(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) {
{ super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_);
super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); }
}
@Override @Override
public void explode() { public void explode() {
if (!this.worldObj.isRemote) if(!this.worldObj.isRemote) {
{ this.setDead();
this.setDead(); this.worldObj.newExplosion((Entity) null, (float) this.posX, (float) this.posY, (float) this.posZ, 5.0F, true, false);
this.worldObj.newExplosion((Entity)null, (float)this.posX, (float)this.posY, (float)this.posZ, 5.0F, true, false); }
} }
}
} }

View File

@ -0,0 +1,59 @@
package com.hbm.entity.grenade;
import com.hbm.items.weapon.ItemGenericGrenade;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class EntityGrenadeImpactGeneric extends EntityGrenadeBase implements IGenericGrenade {
public EntityGrenadeImpactGeneric(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityGrenadeImpactGeneric(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeImpactGeneric(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) {
super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_);
}
public EntityGrenadeImpactGeneric setType(ItemGenericGrenade grenade) {
this.dataWatcher.updateObject(12, Item.getIdFromItem(grenade));
return this;
}
@Override
public ItemGenericGrenade getGrenade() {
return (ItemGenericGrenade) Item.getItemById(this.dataWatcher.getWatchableObjectInt(12));
}
@Override
protected void entityInit() {
this.dataWatcher.addObject(12, 0);
}
@Override
public void explode() {
if(!this.worldObj.isRemote) {
getGrenade().explode(worldObj, posX, posY, posZ);
this.setDead();
}
}
@Override
public void writeEntityToNBT(NBTTagCompound nbt) {
super.writeEntityToNBT(nbt);
nbt.setInteger("grenade", this.dataWatcher.getWatchableObjectInt(12));
}
@Override
public void readEntityFromNBT(NBTTagCompound nbt) {
super.readEntityFromNBT(nbt);
this.dataWatcher.updateObject(12, nbt.getInteger("grenade"));
}
}

View File

@ -0,0 +1,8 @@
package com.hbm.entity.grenade;
import com.hbm.items.weapon.ItemGenericGrenade;
public interface IGenericGrenade {
public ItemGenericGrenade getGrenade();
}

View File

@ -6,7 +6,6 @@ import com.hbm.items.ModItems;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.EntityAgeable; import net.minecraft.entity.EntityAgeable;
import net.minecraft.entity.EntityLeashKnot;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.boss.IBossDisplayData; import net.minecraft.entity.boss.IBossDisplayData;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -108,6 +107,8 @@ public class EntityQuackos extends EntityDuck implements IBossDisplayData {
fx.setPositionAndRotation(posX + rand.nextDouble() * 20 - 10, posY + rand.nextDouble() * 25, posZ + rand.nextDouble() * 20 - 10, 0, 0); fx.setPositionAndRotation(posX + rand.nextDouble() * 20 - 10, posY + rand.nextDouble() * 25, posZ + rand.nextDouble() * 20 - 10, 0, 0);
worldObj.spawnEntityInWorld(fx); worldObj.spawnEntityInWorld(fx);
} }
dropItem(ModItems.spawn_duck, 3);
} }
this.isDead = true; this.isDead = true;
} }
@ -156,11 +157,7 @@ public class EntityQuackos extends EntityDuck implements IBossDisplayData {
public void onDeath(DamageSource sourceOrRatherLackThereof) { } public void onDeath(DamageSource sourceOrRatherLackThereof) { }
@Override @Override
protected void updateLeashedState() { public boolean allowLeashing() {
return false;
if(this.getLeashedToEntity() instanceof EntityLeashKnot)
this.getLeashedToEntity().setDead();
super.updateLeashedState();
} }
} }

View File

@ -62,7 +62,7 @@ public class BlockProcessorStandard implements IBlockProcessor {
block.dropBlockAsItemWithChance(world, blockX, blockY, blockZ, world.getBlockMetadata(blockX, blockY, blockZ), dropChance, dropFortune); block.dropBlockAsItemWithChance(world, blockX, blockY, blockZ, world.getBlockMetadata(blockX, blockY, blockZ), dropChance, dropFortune);
} }
block.onBlockExploded(world, blockX, blockY, blockZ, null); block.onBlockExploded(world, blockX, blockY, blockZ, explosion.compat);
} }
} }

View File

@ -289,6 +289,8 @@ public class BobmazonOfferFactory {
new ItemStack(ModItems.ammo_5mm_star, 64), new ItemStack(ModItems.ammo_5mm_star, 64),
new ItemStack(ModItems.ammo_5mm_star, 64) new ItemStack(ModItems.ammo_5mm_star, 64)
).setStackDisplayName("Frenchman's Reward"), Requirement.HIDDEN, 32)); ).setStackDisplayName("Frenchman's Reward"), Requirement.HIDDEN, 32));
special.add(new Offer(new ItemStack(ModItems.gun_detonator, 1), Requirement.HIDDEN, 32));
} }
public static List<Offer> getOffers(ItemStack stack) { public static List<Offer> getOffers(ItemStack stack) {

View File

@ -226,6 +226,7 @@ public class BulletConfigSyncingUtil {
public static int NUKE_AMAT = i++; public static int NUKE_AMAT = i++;
public static int ZOMG_BOLT = i++; public static int ZOMG_BOLT = i++;
public static int DET_BOLT = i++;
public static int TURBINE = i++; public static int TURBINE = i++;
@ -468,6 +469,7 @@ public class BulletConfigSyncingUtil {
configSet.put(NUKE_AMAT, GunFatmanFactory.getBalefireConfig()); configSet.put(NUKE_AMAT, GunFatmanFactory.getBalefireConfig());
configSet.put(ZOMG_BOLT, GunEnergyFactory.getZOMGBoltConfig()); configSet.put(ZOMG_BOLT, GunEnergyFactory.getZOMGBoltConfig());
configSet.put(DET_BOLT, GunDetonatorFactory.getLaserConfig());
configSet.put(TURBINE, GunEnergyFactory.getTurbineConfig()); configSet.put(TURBINE, GunEnergyFactory.getTurbineConfig());

View File

@ -110,6 +110,11 @@ public class HazmatRegistry {
HazmatRegistry.registerHazmat(ModItems.bj_legs, bj * legs); HazmatRegistry.registerHazmat(ModItems.bj_legs, bj * legs);
HazmatRegistry.registerHazmat(ModItems.bj_boots, bj * boots); HazmatRegistry.registerHazmat(ModItems.bj_boots, bj * boots);
HazmatRegistry.registerHazmat(ModItems.steamsuit_helmet, 1.3 * helmet);
HazmatRegistry.registerHazmat(ModItems.steamsuit_plate, 1.3 * chest);
HazmatRegistry.registerHazmat(ModItems.steamsuit_legs, 1.3 * legs);
HazmatRegistry.registerHazmat(ModItems.steamsuit_boots, 1.3 * boots);
HazmatRegistry.registerHazmat(ModItems.hev_helmet, hev * helmet); HazmatRegistry.registerHazmat(ModItems.hev_helmet, hev * helmet);
HazmatRegistry.registerHazmat(ModItems.hev_plate, hev * chest); HazmatRegistry.registerHazmat(ModItems.hev_plate, hev * chest);
HazmatRegistry.registerHazmat(ModItems.hev_legs, hev * legs); HazmatRegistry.registerHazmat(ModItems.hev_legs, hev * legs);

View File

@ -173,6 +173,24 @@ public class Gun20GaugeFactory {
config.firingSound = "hbm:weapon.revolverShoot"; config.firingSound = "hbm:weapon.revolverShoot";
config.firingPitch = 0.75F; config.firingPitch = 0.75F;
config.animations.put(AnimType.CYCLE, new BusAnimation()
.addBus("RECOIL", new BusAnimationSequence()
.addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25))
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75))
)
.addBus("LEVER_PULL", new BusAnimationSequence()
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //wait out recoil and lever flick
.addKeyframe(new BusAnimationKeyframe(-1, 0, 0, 375)) //pull back bolt
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //release bolt
)
.addBus("LEVER_ROTATE", new BusAnimationSequence()
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 250)) //wait out recoil
.addKeyframe(new BusAnimationKeyframe(1, 0, 0, 125)) //flick up lever in 125ms
.addKeyframe(new BusAnimationKeyframe(1, 0, 0, 750)) //pull action
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 125)) //flick down lever again
)
);
config.name = "Winchester Model 20 Polymer"; config.name = "Winchester Model 20 Polymer";
config.manufacturer = "Winchester Repeating Arms Company"; config.manufacturer = "Winchester Repeating Arms Company";
@ -201,6 +219,24 @@ public class Gun20GaugeFactory {
config.firingSound = "hbm:weapon.revolverShoot"; config.firingSound = "hbm:weapon.revolverShoot";
config.firingPitch = 0.75F; config.firingPitch = 0.75F;
config.animations.put(AnimType.CYCLE, new BusAnimation()
.addBus("RECOIL", new BusAnimationSequence()
.addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25))
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75))
)
.addBus("LEVER_PULL", new BusAnimationSequence()
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //wait out recoil and lever flick
.addKeyframe(new BusAnimationKeyframe(-1, 0, 0, 375)) //pull back bolt
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //release bolt
)
.addBus("LEVER_ROTATE", new BusAnimationSequence()
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 250)) //wait out recoil
.addKeyframe(new BusAnimationKeyframe(1, 0, 0, 125)) //flick up lever in 125ms
.addKeyframe(new BusAnimationKeyframe(1, 0, 0, 750)) //pull action
.addKeyframe(new BusAnimationKeyframe(0, 0, 0, 125)) //flick down lever again
)
);
config.name = "Winchester Model 20 D-25A"; config.name = "Winchester Model 20 D-25A";
config.manufacturer = "Winchester Repeating Arms Company / Big MT"; config.manufacturer = "Winchester Repeating Arms Company / Big MT";

View File

@ -2,9 +2,23 @@ package com.hbm.handler.guncfg;
import java.util.ArrayList; import java.util.ArrayList;
import com.hbm.entity.projectile.EntityBulletBase;
import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfigSyncingUtil;
import com.hbm.handler.BulletConfiguration;
import com.hbm.handler.GunConfiguration; import com.hbm.handler.GunConfiguration;
import com.hbm.interfaces.IBomb;
import com.hbm.interfaces.IBomb.BombReturnCode;
import com.hbm.interfaces.IBulletImpactBehavior;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.PlayerInformPacket;
import com.hbm.render.util.RenderScreenOverlay.Crosshair; import com.hbm.render.util.RenderScreenOverlay.Crosshair;
import com.hbm.util.ChatBuilder;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.Items;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
public class GunDetonatorFactory { public class GunDetonatorFactory {
@ -33,6 +47,7 @@ public class GunDetonatorFactory {
config.manufacturer = "WestTek"; config.manufacturer = "WestTek";
config.config = new ArrayList(); config.config = new ArrayList();
config.config.add(BulletConfigSyncingUtil.DET_BOLT);
config.config.add(BulletConfigSyncingUtil.R5_NORMAL_BOLT); config.config.add(BulletConfigSyncingUtil.R5_NORMAL_BOLT);
config.config.add(BulletConfigSyncingUtil.R5_EXPLOSIVE_BOLT); config.config.add(BulletConfigSyncingUtil.R5_EXPLOSIVE_BOLT);
config.config.add(BulletConfigSyncingUtil.R5_DU_BOLT); config.config.add(BulletConfigSyncingUtil.R5_DU_BOLT);
@ -48,6 +63,9 @@ public class GunDetonatorFactory {
config.config.add(BulletConfigSyncingUtil.NUKE_LOW); config.config.add(BulletConfigSyncingUtil.NUKE_LOW);
config.config.add(BulletConfigSyncingUtil.NUKE_SAFE); config.config.add(BulletConfigSyncingUtil.NUKE_SAFE);
config.config.add(BulletConfigSyncingUtil.NUKE_HIGH); config.config.add(BulletConfigSyncingUtil.NUKE_HIGH);
config.config.add(BulletConfigSyncingUtil.NUKE_TOTS);
config.config.add(BulletConfigSyncingUtil.NUKE_PUMPKIN);
config.config.add(BulletConfigSyncingUtil.NUKE_BARREL);
config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_NORMAL); config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_NORMAL);
config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_LOW); config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_LOW);
config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_SAFE); config.config.add(BulletConfigSyncingUtil.NUKE_MIRV_SAFE);
@ -55,4 +73,41 @@ public class GunDetonatorFactory {
return config; return config;
} }
public static BulletConfiguration getLaserConfig() {
BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig();
bullet.ammo = Items.redstone;
bullet.spread = 0.0F;
bullet.maxAge = 100;
bullet.dmgMin = 0;
bullet.dmgMax = 0;
bullet.leadChance = 0;
bullet.doesRicochet = false;
bullet.setToBolt(BulletConfiguration.BOLT_LASER);
bullet.bImpact = new IBulletImpactBehavior() {
@Override
public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) {
World world = bullet.worldObj;
if(!world.isRemote && y > 0) {
Block b = world.getBlock(x, y, z);
if(b instanceof IBomb) {
BombReturnCode ret = ((IBomb)b).explode(world, x, y, z);
if(ret.wasSuccessful() && bullet.shooter instanceof EntityPlayerMP) {
EntityPlayerMP player = (EntityPlayerMP) bullet.shooter;
world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("").nextTranslation(ret.getUnlocalizedMessage()).color(EnumChatFormatting.YELLOW).flush()), (EntityPlayerMP) player);
}
}
}
}
};
return bullet;
}
} }

View File

@ -53,6 +53,7 @@ public class GunFatmanFactory {
config.config.add(BulletConfigSyncingUtil.NUKE_TOTS); config.config.add(BulletConfigSyncingUtil.NUKE_TOTS);
config.config.add(BulletConfigSyncingUtil.NUKE_SAFE); config.config.add(BulletConfigSyncingUtil.NUKE_SAFE);
config.config.add(BulletConfigSyncingUtil.NUKE_PUMPKIN); config.config.add(BulletConfigSyncingUtil.NUKE_PUMPKIN);
config.config.add(BulletConfigSyncingUtil.NUKE_BARREL);
config.durability = 1000; config.durability = 1000;
return config; return config;
@ -117,6 +118,7 @@ public class GunFatmanFactory {
config.config.add(BulletConfigSyncingUtil.NUKE_PROTO_TOTS); config.config.add(BulletConfigSyncingUtil.NUKE_PROTO_TOTS);
config.config.add(BulletConfigSyncingUtil.NUKE_PROTO_SAFE); config.config.add(BulletConfigSyncingUtil.NUKE_PROTO_SAFE);
config.config.add(BulletConfigSyncingUtil.NUKE_PROTO_PUMPKIN); config.config.add(BulletConfigSyncingUtil.NUKE_PROTO_PUMPKIN);
config.config.add(BulletConfigSyncingUtil.NUKE_BARREL);
config.durability = 1000; config.durability = 1000;
return config; return config;
@ -240,7 +242,7 @@ public class GunFatmanFactory {
public static BulletConfiguration getNukeBarrelConfig() { public static BulletConfiguration getNukeBarrelConfig() {
BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig(); BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig();
bullet.ammo = ModItems.ammo_nuke_pumpkin; bullet.ammo = ModItems.ammo_nuke_barrel;
bullet.explosive = 3F; bullet.explosive = 3F;
bullet.style = bullet.STYLE_BARREL; bullet.style = bullet.STYLE_BARREL;

View File

@ -160,8 +160,6 @@ public class HazardRegistry {
HazardSystem.register(stick_tnt, makeData(EXPLOSIVE, 1.5F)); HazardSystem.register(stick_tnt, makeData(EXPLOSIVE, 1.5F));
HazardSystem.register(stick_semtex, makeData(EXPLOSIVE, 2.5F)); HazardSystem.register(stick_semtex, makeData(EXPLOSIVE, 2.5F));
HazardSystem.register(stick_c4, makeData(EXPLOSIVE, 2.5F)); HazardSystem.register(stick_c4, makeData(EXPLOSIVE, 2.5F));
HazardSystem.register(dynamite, makeData(EXPLOSIVE, 6F));
HazardSystem.register(tnt, makeData(EXPLOSIVE, 8F));
HazardSystem.register("dustCoal", makeData(COAL, powder)); HazardSystem.register("dustCoal", makeData(COAL, powder));
HazardSystem.register("dustTinyCoal", makeData(COAL, powder_tiny)); HazardSystem.register("dustTinyCoal", makeData(COAL, powder_tiny));

View File

@ -12,6 +12,7 @@ import com.hbm.inventory.fluid.FluidType.FluidTrait;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.gui.GuiInfoContainer; import com.hbm.inventory.gui.GuiInfoContainer;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.armor.ItemArmorMod;
import com.hbm.items.machine.ItemFluidIdentifier; import com.hbm.items.machine.ItemFluidIdentifier;
import com.hbm.lib.RefStrings; import com.hbm.lib.RefStrings;
import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PacketDispatcher;
@ -161,7 +162,7 @@ public class FluidTank {
partial = ArmorModHandler.pryMods(partial)[ArmorModHandler.plate_only]; partial = ArmorModHandler.pryMods(partial)[ArmorModHandler.plate_only];
if(partial == null) if(partial == null)
return; partial = slots[in];
} }
if(partial.getItem() instanceof IPartiallyFillable) { if(partial.getItem() instanceof IPartiallyFillable) {
@ -180,7 +181,7 @@ public class FluidTank {
} }
} }
if(slots[in].getItem() instanceof ItemArmor) { if(slots[in].getItem() instanceof ItemArmor && partial.getItem() instanceof ItemArmorMod) {
ArmorModHandler.applyMod(slots[in], partial); ArmorModHandler.applyMod(slots[in], partial);
} }

View File

@ -165,9 +165,9 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModItems.dysfunctional_reactor, 1), new AStack[] {new OreDictStack(STEEL.plate(), 15), new OreDictStack(PB.ingot(), 5), new ComparableStack(ModItems.rod_quad_empty, 10), new OreDictStack("dyeBrown", 3), },200); makeRecipe(new ComparableStack(ModItems.dysfunctional_reactor, 1), new AStack[] {new OreDictStack(STEEL.plate(), 15), new OreDictStack(PB.ingot(), 5), new ComparableStack(ModItems.rod_quad_empty, 10), new OreDictStack("dyeBrown", 3), },200);
makeRecipe(new ComparableStack(ModItems.missile_assembly, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 1), new ComparableStack(ModItems.hull_small_aluminium, 4), new OreDictStack(STEEL.ingot(), 2), new OreDictStack(TI.plate(), 6), new ComparableStack(ModItems.wire_aluminium, 6), new ComparableStack(ModItems.canister_full, 3, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.circuit_targeting_tier1, 1), },200); makeRecipe(new ComparableStack(ModItems.missile_assembly, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 1), new ComparableStack(ModItems.hull_small_aluminium, 4), new OreDictStack(STEEL.ingot(), 2), new OreDictStack(TI.plate(), 6), new ComparableStack(ModItems.wire_aluminium, 6), new ComparableStack(ModItems.canister_full, 3, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.circuit_targeting_tier1, 1), },200);
makeRecipe(new ComparableStack(ModItems.missile_carrier, 1), new AStack[] {new ComparableStack(ModItems.fluid_barrel_full, 16, Fluids.KEROSENE.ordinal()), new ComparableStack(ModItems.thruster_medium, 4), new ComparableStack(ModItems.thruster_large, 1), new ComparableStack(ModItems.hull_big_titanium, 6), new ComparableStack(ModItems.hull_big_steel, 2), new ComparableStack(ModItems.hull_small_aluminium, 12), new OreDictStack(TI.plate(), 24), new ComparableStack(ModItems.plate_polymer, 128), new ComparableStack(ModBlocks.det_cord, 8), new ComparableStack(ModItems.circuit_targeting_tier3, 12), new ComparableStack(ModItems.circuit_targeting_tier4, 3), },4800); makeRecipe(new ComparableStack(ModItems.missile_carrier, 1), new AStack[] {new ComparableStack(ModItems.fluid_barrel_full, 16, Fluids.KEROSENE.ordinal()), new ComparableStack(ModItems.thruster_medium, 4), new ComparableStack(ModItems.thruster_large, 1), new ComparableStack(ModItems.hull_big_titanium, 6), new ComparableStack(ModItems.hull_big_steel, 2), new ComparableStack(ModItems.hull_small_aluminium, 12), new OreDictStack(TI.plate(), 24), new ComparableStack(ModItems.plate_polymer, 128), new ComparableStack(ModBlocks.det_cord, 8), new ComparableStack(ModItems.circuit_targeting_tier3, 12), new ComparableStack(ModItems.circuit_targeting_tier4, 3), },4800);
makeRecipe(new ComparableStack(ModItems.warhead_generic_small, 1), new AStack[] {new OreDictStack(TI.plate(), 5), new OreDictStack(STEEL.plate(), 3), new ComparableStack(Blocks.tnt, 2), },100); makeRecipe(new ComparableStack(ModItems.warhead_generic_small, 1), new AStack[] {new OreDictStack(TI.plate(), 5), new OreDictStack(STEEL.plate(), 3), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 2), },100);
makeRecipe(new ComparableStack(ModItems.warhead_generic_medium, 1), new AStack[] {new OreDictStack(TI.plate(), 8), new OreDictStack(STEEL.plate(), 5), new ComparableStack(Blocks.tnt, 4), },150); makeRecipe(new ComparableStack(ModItems.warhead_generic_medium, 1), new AStack[] {new OreDictStack(TI.plate(), 8), new OreDictStack(STEEL.plate(), 5), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 4), },150);
makeRecipe(new ComparableStack(ModItems.warhead_generic_large, 1), new AStack[] {new OreDictStack(TI.plate(), 15), new OreDictStack(STEEL.plate(), 8), new ComparableStack(Blocks.tnt, 8), },200); makeRecipe(new ComparableStack(ModItems.warhead_generic_large, 1), new AStack[] {new OreDictStack(TI.plate(), 15), new OreDictStack(STEEL.plate(), 8), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 8), },200);
makeRecipe(new ComparableStack(ModItems.warhead_incendiary_small, 1), new AStack[] {new ComparableStack(ModItems.warhead_generic_small, 1), new OreDictStack(P_RED.dust(), 4), },100); makeRecipe(new ComparableStack(ModItems.warhead_incendiary_small, 1), new AStack[] {new ComparableStack(ModItems.warhead_generic_small, 1), new OreDictStack(P_RED.dust(), 4), },100);
makeRecipe(new ComparableStack(ModItems.warhead_incendiary_medium, 1), new AStack[] {new ComparableStack(ModItems.warhead_generic_medium, 1), new OreDictStack(P_RED.dust(), 8), },150); makeRecipe(new ComparableStack(ModItems.warhead_incendiary_medium, 1), new AStack[] {new ComparableStack(ModItems.warhead_generic_medium, 1), new OreDictStack(P_RED.dust(), 8), },150);
makeRecipe(new ComparableStack(ModItems.warhead_incendiary_large, 1), new AStack[] {new ComparableStack(ModItems.warhead_generic_large, 1), new OreDictStack(P_RED.dust(), 16), },200); makeRecipe(new ComparableStack(ModItems.warhead_incendiary_large, 1), new AStack[] {new ComparableStack(ModItems.warhead_generic_large, 1), new OreDictStack(P_RED.dust(), 16), },200);
@ -178,8 +178,6 @@ 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_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_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 OreDictStack(TI.plate(), 20), new OreDictStack(STEEL.plate(), 12), },300); 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 OreDictStack(TI.plate(), 20), new OreDictStack(STEEL.plate(), 12), },300);
makeRecipe(new ComparableStack(ModItems.warhead_mirvlet, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 5), new OreDictStack(STEEL.plate(), 18), new OreDictStack(PU239.ingot(), 1), new ComparableStack(Blocks.tnt, 2), },250);
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(Blocks.tnt, 8), new OreDictStack(OreDictManager.getReflector(), 6), 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_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_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); 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);
@ -362,15 +360,15 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModItems.grenade_nuclear, 1), new AStack[] {new OreDictStack(IRON.plate(), 1), new OreDictStack(STEEL.plate(), 1), new OreDictStack(PU239.nugget(), 2), new ComparableStack(ModItems.wire_red_copper, 2), },200); makeRecipe(new ComparableStack(ModItems.grenade_nuclear, 1), new AStack[] {new OreDictStack(IRON.plate(), 1), new OreDictStack(STEEL.plate(), 1), new OreDictStack(PU239.nugget(), 2), new ComparableStack(ModItems.wire_red_copper, 2), },200);
makeRecipe(new ComparableStack(ModItems.grenade_zomg, 1), new AStack[] {new ComparableStack(ModItems.plate_paa, 3), new OreDictStack(OreDictManager.getReflector(), 1), new ComparableStack(ModItems.coil_magnetized_tungsten, 3), new ComparableStack(ModItems.powder_power, 3), },300); makeRecipe(new ComparableStack(ModItems.grenade_zomg, 1), new AStack[] {new ComparableStack(ModItems.plate_paa, 3), new OreDictStack(OreDictManager.getReflector(), 1), new ComparableStack(ModItems.coil_magnetized_tungsten, 3), new ComparableStack(ModItems.powder_power, 3), },300);
makeRecipe(new ComparableStack(ModItems.grenade_black_hole, 1), new AStack[] {new OreDictStack(ANY_PLASTIC.ingot(), 6), new OreDictStack(OreDictManager.getReflector(), 3), new ComparableStack(ModItems.coil_magnetized_tungsten, 2), new ComparableStack(ModItems.black_hole, 1), },500); makeRecipe(new ComparableStack(ModItems.grenade_black_hole, 1), new AStack[] {new OreDictStack(ANY_PLASTIC.ingot(), 6), new OreDictStack(OreDictManager.getReflector(), 3), new ComparableStack(ModItems.coil_magnetized_tungsten, 2), new ComparableStack(ModItems.black_hole, 1), },500);
makeRecipe(new ComparableStack(ModItems.gadget_explosive, 1), new AStack[] {new ComparableStack(Blocks.tnt, 3), new OreDictStack(STEEL.plate(), 2), new OreDictStack(AL.plate(), 4), new ComparableStack(ModItems.wire_gold, 3), },200); makeRecipe(new ComparableStack(ModItems.gadget_explosive, 1), new AStack[] {new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 4), new OreDictStack(STEEL.plate(), 2), new OreDictStack(AL.plate(), 4), new ComparableStack(ModItems.wire_gold, 3), },200);
makeRecipe(new ComparableStack(ModItems.gadget_wireing, 1), new AStack[] {new OreDictStack(IRON.plate(), 1), new ComparableStack(ModItems.wire_gold, 12), },100); makeRecipe(new ComparableStack(ModItems.gadget_wireing, 1), new AStack[] {new OreDictStack(IRON.plate(), 1), new ComparableStack(ModItems.wire_gold, 12), },100);
makeRecipe(new ComparableStack(ModItems.gadget_core, 1), new AStack[] {new OreDictStack(PU239.nugget(), 7), new OreDictStack(U238.nugget(), 3), },200); makeRecipe(new ComparableStack(ModItems.gadget_core, 1), new AStack[] {new OreDictStack(PU239.nugget(), 7), new OreDictStack(U238.nugget(), 3), },200);
makeRecipe(new ComparableStack(ModItems.boy_shielding, 1), new AStack[] {new OreDictStack(OreDictManager.getReflector(), 12), new OreDictStack(STEEL.plate(), 4), },150); makeRecipe(new ComparableStack(ModItems.boy_shielding, 1), new AStack[] {new OreDictStack(OreDictManager.getReflector(), 12), new OreDictStack(STEEL.plate(), 4), },150);
makeRecipe(new ComparableStack(ModItems.boy_target, 1), new AStack[] {new OreDictStack(U235.nugget(), 7), },200); makeRecipe(new ComparableStack(ModItems.boy_target, 1), new AStack[] {new OreDictStack(U235.nugget(), 7), },200);
makeRecipe(new ComparableStack(ModItems.boy_bullet, 1), new AStack[] {new OreDictStack(U235.nugget(), 3), },100); makeRecipe(new ComparableStack(ModItems.boy_bullet, 1), new AStack[] {new OreDictStack(U235.nugget(), 3), },100);
makeRecipe(new ComparableStack(ModItems.boy_propellant, 1), new AStack[] {new ComparableStack(Blocks.tnt, 3), new OreDictStack(IRON.plate(), 8), new OreDictStack(AL.plate(), 4), new ComparableStack(ModItems.wire_red_copper, 4), },100); makeRecipe(new ComparableStack(ModItems.boy_propellant, 1), new AStack[] {new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 3), new OreDictStack(IRON.plate(), 8), new OreDictStack(AL.plate(), 4), new ComparableStack(ModItems.wire_red_copper, 4), },100);
makeRecipe(new ComparableStack(ModItems.boy_igniter, 1), new AStack[] {new OreDictStack(AL.plate(), 6), new OreDictStack(STEEL.plate(), 1), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.wire_red_copper, 3), },150); makeRecipe(new ComparableStack(ModItems.boy_igniter, 1), new AStack[] {new OreDictStack(AL.plate(), 6), new OreDictStack(STEEL.plate(), 1), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.wire_red_copper, 3), },150);
makeRecipe(new ComparableStack(ModItems.man_explosive, 1), new AStack[] {new ComparableStack(Blocks.tnt, 2), new ComparableStack(ModItems.ball_tnt, 3), new OreDictStack(STEEL.plate(), 2), new OreDictStack(TI.plate(), 4), new ComparableStack(ModItems.wire_red_copper, 3), },200); makeRecipe(new ComparableStack(ModItems.man_explosive, 1), new AStack[] {new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 3), new OreDictStack(ANY_PLASTICEXPLOSIVE.ingot(), 2), new OreDictStack(STEEL.plate(), 2), new OreDictStack(TI.plate(), 4), new ComparableStack(ModItems.wire_red_copper, 3), },200);
makeRecipe(new ComparableStack(ModItems.man_igniter, 1), new AStack[] {new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.wire_red_copper, 9), },150); makeRecipe(new ComparableStack(ModItems.man_igniter, 1), new AStack[] {new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.wire_red_copper, 9), },150);
makeRecipe(new ComparableStack(ModItems.man_core, 1), new AStack[] {new OreDictStack(PU239.nugget(), 8), new OreDictStack(BE.nugget(), 2), },250); makeRecipe(new ComparableStack(ModItems.man_core, 1), new AStack[] {new OreDictStack(PU239.nugget(), 8), new OreDictStack(BE.nugget(), 2), },250);
makeRecipe(new ComparableStack(ModItems.mike_core, 1), new AStack[] {new OreDictStack(U238.nugget(), 24), new OreDictStack(PB.ingot(), 6), },250); makeRecipe(new ComparableStack(ModItems.mike_core, 1), new AStack[] {new OreDictStack(U238.nugget(), 24), new OreDictStack(PB.ingot(), 6), },250);
@ -378,10 +376,10 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModItems.mike_cooling_unit, 1), new AStack[] {new OreDictStack(IRON.plate(), 8), new ComparableStack(ModItems.coil_copper, 5), new ComparableStack(ModItems.coil_tungsten, 5), new ComparableStack(ModItems.motor, 2), },200); makeRecipe(new ComparableStack(ModItems.mike_cooling_unit, 1), new AStack[] {new OreDictStack(IRON.plate(), 8), new ComparableStack(ModItems.coil_copper, 5), new ComparableStack(ModItems.coil_tungsten, 5), new ComparableStack(ModItems.motor, 2), },200);
makeRecipe(new ComparableStack(ModItems.fleija_igniter, 1), new AStack[] {new OreDictStack(TI.plate(), 6), new ComparableStack(ModItems.wire_schrabidium, 2), new ComparableStack(ModItems.circuit_schrabidium, 1), },300); makeRecipe(new ComparableStack(ModItems.fleija_igniter, 1), new AStack[] {new OreDictStack(TI.plate(), 6), new ComparableStack(ModItems.wire_schrabidium, 2), new ComparableStack(ModItems.circuit_schrabidium, 1), },300);
makeRecipe(new ComparableStack(ModItems.fleija_core, 1), new AStack[] {new OreDictStack(U235.nugget(), 8), new OreDictStack(NP237.nugget(), 2), new OreDictStack(BE.nugget(), 4), new ComparableStack(ModItems.coil_copper, 2), },500); makeRecipe(new ComparableStack(ModItems.fleija_core, 1), new AStack[] {new OreDictStack(U235.nugget(), 8), new OreDictStack(NP237.nugget(), 2), new OreDictStack(BE.nugget(), 4), new ComparableStack(ModItems.coil_copper, 2), },500);
makeRecipe(new ComparableStack(ModItems.fleija_propellant, 1), new AStack[] {new ComparableStack(Blocks.tnt, 3), new OreDictStack(SA326.plate(), 8), },400); makeRecipe(new ComparableStack(ModItems.fleija_propellant, 1), new AStack[] {new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 3), new OreDictStack(SA326.plate(), 8), },400);
makeRecipe(new ComparableStack(ModItems.solinium_igniter, 1), new AStack[] {new OreDictStack(TI.plate(), 4), new ComparableStack(ModItems.wire_advanced_alloy, 2), new ComparableStack(ModItems.circuit_schrabidium, 1), new ComparableStack(ModItems.coil_gold, 1), },400); makeRecipe(new ComparableStack(ModItems.solinium_igniter, 1), new AStack[] {new OreDictStack(TI.plate(), 4), new ComparableStack(ModItems.wire_advanced_alloy, 2), new ComparableStack(ModItems.circuit_schrabidium, 1), new ComparableStack(ModItems.coil_gold, 1), },400);
makeRecipe(new ComparableStack(ModItems.solinium_core, 1), new AStack[] {new OreDictStack(SA327.nugget(), 9), new OreDictStack(EUPH.nugget(), 1), },400); makeRecipe(new ComparableStack(ModItems.solinium_core, 1), new AStack[] {new OreDictStack(SA327.nugget(), 9), new OreDictStack(EUPH.nugget(), 1), },400);
makeRecipe(new ComparableStack(ModItems.solinium_propellant, 1), new AStack[] {new ComparableStack(Blocks.tnt, 3), new OreDictStack(OreDictManager.getReflector(), 2), new ComparableStack(ModItems.plate_polymer, 6), new ComparableStack(ModItems.wire_tungsten, 6), new ComparableStack(ModItems.biomass_compressed, 4), },350); makeRecipe(new ComparableStack(ModItems.solinium_propellant, 1), new AStack[] {new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 3), new OreDictStack(OreDictManager.getReflector(), 2), new ComparableStack(ModItems.plate_polymer, 6), new ComparableStack(ModItems.wire_tungsten, 6), new ComparableStack(ModItems.biomass_compressed, 4), },350);
makeRecipe(new ComparableStack(ModItems.schrabidium_hammer, 1), new AStack[] {new OreDictStack(SA326.block(), 35), new ComparableStack(ModItems.billet_yharonite, 128), new ComparableStack(Items.nether_star, 3), new ComparableStack(ModItems.fragment_meteorite, 512), },1000); makeRecipe(new ComparableStack(ModItems.schrabidium_hammer, 1), new AStack[] {new OreDictStack(SA326.block(), 35), new ComparableStack(ModItems.billet_yharonite, 128), new ComparableStack(Items.nether_star, 3), new ComparableStack(ModItems.fragment_meteorite, 512), },1000);
makeRecipe(new ComparableStack(ModItems.component_limiter, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 2), new OreDictStack(STEEL.plate(), 32), new OreDictStack(TI.plate(), 18), new ComparableStack(ModItems.plate_desh, 12), new ComparableStack(ModItems.pipes_steel, 4), new ComparableStack(ModItems.circuit_gold, 8), new ComparableStack(ModItems.circuit_schrabidium, 4), new OreDictStack(STAR.ingot(), 14), new ComparableStack(ModItems.plate_dalekanium, 5), new ComparableStack(ModItems.powder_magic, 16), new ComparableStack(ModBlocks.fwatz_computer, 3), },2500); makeRecipe(new ComparableStack(ModItems.component_limiter, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 2), new OreDictStack(STEEL.plate(), 32), new OreDictStack(TI.plate(), 18), new ComparableStack(ModItems.plate_desh, 12), new ComparableStack(ModItems.pipes_steel, 4), new ComparableStack(ModItems.circuit_gold, 8), new ComparableStack(ModItems.circuit_schrabidium, 4), new OreDictStack(STAR.ingot(), 14), new ComparableStack(ModItems.plate_dalekanium, 5), new ComparableStack(ModItems.powder_magic, 16), new ComparableStack(ModBlocks.fwatz_computer, 3), },2500);
makeRecipe(new ComparableStack(ModItems.component_emitter, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 3), new ComparableStack(ModItems.hull_big_titanium, 2), new OreDictStack(STEEL.plate(), 32), new OreDictStack(PB.plate(), 24), new ComparableStack(ModItems.plate_desh, 24), new ComparableStack(ModItems.pipes_steel, 8), new ComparableStack(ModItems.circuit_gold, 12), new ComparableStack(ModItems.circuit_schrabidium, 8), new OreDictStack(STAR.ingot(), 26), new ComparableStack(ModItems.powder_magic, 48), new ComparableStack(ModBlocks.fwatz_computer, 2), new ComparableStack(ModItems.crystal_xen, 1), },2500); makeRecipe(new ComparableStack(ModItems.component_emitter, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 3), new ComparableStack(ModItems.hull_big_titanium, 2), new OreDictStack(STEEL.plate(), 32), new OreDictStack(PB.plate(), 24), new ComparableStack(ModItems.plate_desh, 24), new ComparableStack(ModItems.pipes_steel, 8), new ComparableStack(ModItems.circuit_gold, 12), new ComparableStack(ModItems.circuit_schrabidium, 8), new OreDictStack(STAR.ingot(), 26), new ComparableStack(ModItems.powder_magic, 48), new ComparableStack(ModBlocks.fwatz_computer, 2), new ComparableStack(ModItems.crystal_xen, 1), },2500);
@ -424,10 +422,10 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModItems.mp_fuselage_10_15_balefire, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModBlocks.steel_scaffold, 9), new OreDictStack(TI.plate(), 36), new OreDictStack(BIGMT.plate(), 9), },500); makeRecipe(new ComparableStack(ModItems.mp_fuselage_10_15_balefire, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModBlocks.steel_scaffold, 9), new OreDictStack(TI.plate(), 36), new OreDictStack(BIGMT.plate(), 9), },500);
makeRecipe(new ComparableStack(ModItems.mp_fuselage_15_20_kerosene, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.seg_20, 1), new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(TI.plate(), 64), new OreDictStack(STEEL.plate(), 16), },600); makeRecipe(new ComparableStack(ModItems.mp_fuselage_15_20_kerosene, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.seg_20, 1), new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(TI.plate(), 64), new OreDictStack(STEEL.plate(), 16), },600);
makeRecipe(new ComparableStack(ModItems.mp_fuselage_15_20_solid, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.seg_20, 1), new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(TI.plate(), 64), new OreDictStack(AL.plate(), 16), },600); makeRecipe(new ComparableStack(ModItems.mp_fuselage_15_20_solid, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.seg_20, 1), new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(TI.plate(), 64), new OreDictStack(AL.plate(), 16), },600);
makeRecipe(new ComparableStack(ModItems.mp_warhead_10_he, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 6), new ComparableStack(Blocks.tnt, 3), new ComparableStack(ModItems.circuit_targeting_tier2, 1), },100); makeRecipe(new ComparableStack(ModItems.mp_warhead_10_he, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 6), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 3), new ComparableStack(ModItems.circuit_targeting_tier2, 1), },100);
makeRecipe(new ComparableStack(ModItems.mp_warhead_10_incendiary, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(TI.plate(), 4), new OreDictStack(P_RED.dust(), 3), new ComparableStack(Blocks.tnt, 2), new ComparableStack(ModItems.circuit_targeting_tier2, 1), },100); makeRecipe(new ComparableStack(ModItems.mp_warhead_10_incendiary, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(TI.plate(), 4), new OreDictStack(P_RED.dust(), 3), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 2), new ComparableStack(ModItems.circuit_targeting_tier2, 1), },100);
makeRecipe(new ComparableStack(ModItems.mp_warhead_10_buster, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(TI.plate(), 4), new ComparableStack(ModBlocks.det_charge, 1), new ComparableStack(ModBlocks.det_cord, 4), new ComparableStack(ModItems.board_copper, 4), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },100); makeRecipe(new ComparableStack(ModItems.mp_warhead_10_buster, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(TI.plate(), 4), new ComparableStack(ModBlocks.det_charge, 1), new ComparableStack(ModBlocks.det_cord, 4), new ComparableStack(ModItems.board_copper, 4), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },100);
makeRecipe(new ComparableStack(ModItems.mp_warhead_10_nuclear, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 6), new OreDictStack(PU239.ingot(), 1), new ComparableStack(Blocks.tnt, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },200); makeRecipe(new ComparableStack(ModItems.mp_warhead_10_nuclear, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 6), new OreDictStack(PU239.ingot(), 1), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 2), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },200);
makeRecipe(new ComparableStack(ModItems.mp_warhead_10_nuclear_large, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 8), new OreDictStack(AL.plate(), 4), new OreDictStack(PU239.ingot(), 2), new ComparableStack(ModBlocks.det_charge, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },300); makeRecipe(new ComparableStack(ModItems.mp_warhead_10_nuclear_large, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 8), new OreDictStack(AL.plate(), 4), new OreDictStack(PU239.ingot(), 2), new ComparableStack(ModBlocks.det_charge, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },300);
makeRecipe(new ComparableStack(ModItems.mp_warhead_10_taint, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModBlocks.det_cord, 2), new ComparableStack(ModItems.powder_magic, 12), new ComparableStack(ModItems.bucket_mud, 1), },100); makeRecipe(new ComparableStack(ModItems.mp_warhead_10_taint, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModBlocks.det_cord, 2), new ComparableStack(ModItems.powder_magic, 12), new ComparableStack(ModItems.bucket_mud, 1), },100);
makeRecipe(new ComparableStack(ModItems.mp_warhead_10_cloud, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModBlocks.det_cord, 2), new ComparableStack(ModItems.grenade_pink_cloud, 2), },100); makeRecipe(new ComparableStack(ModItems.mp_warhead_10_cloud, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModBlocks.det_cord, 2), new ComparableStack(ModItems.grenade_pink_cloud, 2), },100);
@ -435,7 +433,7 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModItems.mp_warhead_15_incendiary, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 16), new ComparableStack(ModBlocks.det_charge, 2), new OreDictStack(P_RED.dust(), 8), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },200); makeRecipe(new ComparableStack(ModItems.mp_warhead_15_incendiary, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 16), new ComparableStack(ModBlocks.det_charge, 2), new OreDictStack(P_RED.dust(), 8), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },200);
makeRecipe(new ComparableStack(ModItems.mp_warhead_15_nuclear, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 24), new OreDictStack(TI.plate(), 12), new OreDictStack(PU239.ingot(), 3), new ComparableStack(ModBlocks.det_charge, 4), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },500); makeRecipe(new ComparableStack(ModItems.mp_warhead_15_nuclear, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 24), new OreDictStack(TI.plate(), 12), new OreDictStack(PU239.ingot(), 3), new ComparableStack(ModBlocks.det_charge, 4), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },500);
makeRecipe(new ComparableStack(ModItems.mp_warhead_15_n2, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 8), new OreDictStack(TI.plate(), 20), new ComparableStack(ModBlocks.det_charge, 24), new ComparableStack(Blocks.redstone_block, 12), new OreDictStack(MAGTUNG.dust(), 6), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },400); makeRecipe(new ComparableStack(ModItems.mp_warhead_15_n2, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 8), new OreDictStack(TI.plate(), 20), new ComparableStack(ModBlocks.det_charge, 24), new ComparableStack(Blocks.redstone_block, 12), new OreDictStack(MAGTUNG.dust(), 6), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },400);
makeRecipe(new ComparableStack(ModItems.mp_warhead_15_balefire, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(OreDictManager.getReflector(), 16), new ComparableStack(ModItems.powder_magic, 6), new ComparableStack(ModItems.egg_balefire_shard, 4), new ComparableStack(ModItems.ball_tnt, 8), new ComparableStack(ModItems.circuit_targeting_tier4, 1), }, 60); makeRecipe(new ComparableStack(ModItems.mp_warhead_15_balefire, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(OreDictManager.getReflector(), 16), new ComparableStack(ModItems.powder_magic, 6), new ComparableStack(ModItems.egg_balefire_shard, 4), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 8), new ComparableStack(ModItems.circuit_targeting_tier4, 1), }, 60);
makeRecipe(new ComparableStack(ModItems.missile_soyuz, 1), new AStack[] {new ComparableStack(ModItems.rocket_fuel, 40), new ComparableStack(ModBlocks.det_cord, 20), new ComparableStack(ModItems.thruster_medium, 12), new ComparableStack(ModItems.thruster_small, 12), new ComparableStack(ModItems.tank_steel, 10), new ComparableStack(ModItems.circuit_targeting_tier4, 4), new ComparableStack(ModItems.circuit_targeting_tier3, 8), new ComparableStack(ModItems.plate_polymer, 64), new ComparableStack(ModItems.fins_small_steel, 4), new ComparableStack(ModItems.hull_big_titanium, 40), new ComparableStack(ModItems.hull_big_steel, 24), new OreDictStack(FIBER.ingot(), 64), },600); makeRecipe(new ComparableStack(ModItems.missile_soyuz, 1), new AStack[] {new ComparableStack(ModItems.rocket_fuel, 40), new ComparableStack(ModBlocks.det_cord, 20), new ComparableStack(ModItems.thruster_medium, 12), new ComparableStack(ModItems.thruster_small, 12), new ComparableStack(ModItems.tank_steel, 10), new ComparableStack(ModItems.circuit_targeting_tier4, 4), new ComparableStack(ModItems.circuit_targeting_tier3, 8), new ComparableStack(ModItems.plate_polymer, 64), new ComparableStack(ModItems.fins_small_steel, 4), new ComparableStack(ModItems.hull_big_titanium, 40), new ComparableStack(ModItems.hull_big_steel, 24), new OreDictStack(FIBER.ingot(), 64), },600);
makeRecipe(new ComparableStack(ModItems.missile_soyuz_lander, 1), new AStack[] {new ComparableStack(ModItems.rocket_fuel, 10), new ComparableStack(ModItems.thruster_small, 3), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 4), new ComparableStack(ModItems.plate_polymer, 32), new ComparableStack(ModItems.hull_big_aluminium, 2), new ComparableStack(ModItems.sphere_steel, 1), new OreDictStack(FIBER.ingot(), 12), },600); makeRecipe(new ComparableStack(ModItems.missile_soyuz_lander, 1), new AStack[] {new ComparableStack(ModItems.rocket_fuel, 10), new ComparableStack(ModItems.thruster_small, 3), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 4), new ComparableStack(ModItems.plate_polymer, 32), new ComparableStack(ModItems.hull_big_aluminium, 2), new ComparableStack(ModItems.sphere_steel, 1), new OreDictStack(FIBER.ingot(), 12), },600);
makeRecipe(new ComparableStack(ModItems.fusion_shield_tungsten, 1), new AStack[] {new OreDictStack(W.block(), 32), new OreDictStack(OreDictManager.getReflector(), 96)}, 600); makeRecipe(new ComparableStack(ModItems.fusion_shield_tungsten, 1), new AStack[] {new OreDictStack(W.block(), 32), new OreDictStack(OreDictManager.getReflector(), 96)}, 600);
@ -558,7 +556,7 @@ public class AssemblerRecipes {
new OreDictStack(CU.plate(), 1), new OreDictStack(CU.plate(), 1),
new ComparableStack(ModItems.primer_50, 5), new ComparableStack(ModItems.primer_50, 5),
new ComparableStack(ModItems.casing_50, 5), new ComparableStack(ModItems.casing_50, 5),
new ComparableStack(ModItems.ingot_semtex, 2), new OreDictStack(ANY_PLASTICEXPLOSIVE.ingot(), 2),
new ComparableStack(ModItems.cordite, 3), new ComparableStack(ModItems.cordite, 3),
new OreDictStack(U238.ingot(), 1) new OreDictStack(U238.ingot(), 1)
}, 60); }, 60);
@ -568,7 +566,7 @@ public class AssemblerRecipes {
new OreDictStack(CU.plate(), 1), new OreDictStack(CU.plate(), 1),
new ComparableStack(ModItems.primer_50, 5), new ComparableStack(ModItems.primer_50, 5),
new ComparableStack(ModItems.casing_50, 5), new ComparableStack(ModItems.casing_50, 5),
new ComparableStack(ModItems.ingot_semtex, 3), new OreDictStack(ANY_PLASTICEXPLOSIVE.ingot(), 3),
new ComparableStack(ModItems.cordite, 3), new ComparableStack(ModItems.cordite, 3),
new OreDictStack(P_WHITE.ingot(), 3) new OreDictStack(P_WHITE.ingot(), 3)
}, 60); }, 60);
@ -578,7 +576,7 @@ public class AssemblerRecipes {
new OreDictStack(CU.plate(), 1), new OreDictStack(CU.plate(), 1),
new ComparableStack(ModItems.primer_50, 5), new ComparableStack(ModItems.primer_50, 5),
new ComparableStack(ModItems.casing_50, 5), new ComparableStack(ModItems.casing_50, 5),
new ComparableStack(ModItems.ball_tnt, 5), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 5),
new ComparableStack(ModItems.cordite, 5), new ComparableStack(ModItems.cordite, 5),
new OreDictStack(REDSTONE.dust(), 3) new OreDictStack(REDSTONE.dust(), 3)
}, 60); }, 60);
@ -779,7 +777,7 @@ public class AssemblerRecipes {
new OreDictStack(TCALLOY.ingot(), 8), new OreDictStack(TCALLOY.ingot(), 8),
new OreDictStack(NB.ingot(), 4), new OreDictStack(NB.ingot(), 4),
new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(RUBBER.ingot(), 16),
new ComparableStack(ModItems.hull_big_steel, 6), new ComparableStack(ModItems.hull_big_steel, 12),
new ComparableStack(ModItems.tank_steel, 8), new ComparableStack(ModItems.tank_steel, 8),
new ComparableStack(ModItems.motor_desh, 4), new ComparableStack(ModItems.motor_desh, 4),
new ComparableStack(ModItems.coil_tungsten, 24), new ComparableStack(ModItems.coil_tungsten, 24),
@ -794,7 +792,7 @@ public class AssemblerRecipes {
new ComparableStack(ModItems.canister_full, 24, Fluids.GASOLINE_LEADED.getID()), new ComparableStack(ModItems.canister_full, 24, Fluids.GASOLINE_LEADED.getID()),
new OreDictStack(FIBER.ingot(), 12), new OreDictStack(FIBER.ingot(), 12),
new ComparableStack(ModItems.circuit_copper, 2), new ComparableStack(ModItems.circuit_copper, 2),
new ComparableStack(ModItems.ingot_semtex, 8), new OreDictStack(ANY_PLASTICEXPLOSIVE.ingot(), 8),
new OreDictStack(KEY_ANYPANE, 6), new OreDictStack(KEY_ANYPANE, 6),
new OreDictStack(STEEL.plate(), 4), new OreDictStack(STEEL.plate(), 4),
}, 100); }, 100);

View File

@ -12,14 +12,12 @@ import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.inventory.recipes.AssemblerRecipes; import com.hbm.inventory.recipes.AssemblerRecipes;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.init.Items; import net.minecraft.init.Items;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
public class AnvilRecipes { public class AnvilRecipes {
@ -337,7 +335,7 @@ public class AnvilRecipes {
{ModItems.ammo_44_du, STAR.ingot(), ModItems.ammo_44_star, 10, 3}, {ModItems.ammo_44_du, STAR.ingot(), ModItems.ammo_44_star, 10, 3},
{ModItems.ammo_44, ModItems.pellet_chlorophyte, ModItems.ammo_44_chlorophyte, 10, 3}, {ModItems.ammo_44, ModItems.pellet_chlorophyte, ModItems.ammo_44_chlorophyte, 10, 3},
{ModItems.ammo_5mm, ModItems.ingot_semtex, ModItems.ammo_5mm_explosive, 20, 2}, {ModItems.ammo_5mm, ANY_HIGHEXPLOSIVE.ingot(), ModItems.ammo_5mm_explosive, 20, 2},
{ModItems.ammo_5mm, U238.ingot(), ModItems.ammo_5mm_du, 20, 2}, {ModItems.ammo_5mm, U238.ingot(), ModItems.ammo_5mm_du, 20, 2},
{ModItems.ammo_5mm, STAR.ingot(), ModItems.ammo_5mm_star, 10, 3}, {ModItems.ammo_5mm, STAR.ingot(), ModItems.ammo_5mm_star, 10, 3},
{ModItems.ammo_5mm, ModItems.pellet_chlorophyte, ModItems.ammo_5mm_chlorophyte, 10, 3}, {ModItems.ammo_5mm, ModItems.pellet_chlorophyte, ModItems.ammo_5mm_chlorophyte, 10, 3},
@ -351,7 +349,7 @@ public class AnvilRecipes {
{ModItems.ammo_50bmg, P_RED.dust(), ModItems.ammo_50bmg_incendiary, 20, 2}, {ModItems.ammo_50bmg, P_RED.dust(), ModItems.ammo_50bmg_incendiary, 20, 2},
{ModItems.ammo_50bmg, P_WHITE.ingot(), ModItems.ammo_50bmg_phosphorus, 20, 2}, {ModItems.ammo_50bmg, P_WHITE.ingot(), ModItems.ammo_50bmg_phosphorus, 20, 2},
{ModItems.ammo_50bmg, ModItems.ingot_semtex, ModItems.ammo_50bmg_explosive, 20, 2}, {ModItems.ammo_50bmg, ANY_HIGHEXPLOSIVE.ingot(), ModItems.ammo_50bmg_explosive, 20, 2},
{ModItems.ammo_50bmg, DURA.ingot(), ModItems.ammo_50bmg_ap, 20, 2}, {ModItems.ammo_50bmg, DURA.ingot(), ModItems.ammo_50bmg_ap, 20, 2},
{ModItems.ammo_50bmg, U238.ingot(), ModItems.ammo_50bmg_du, 20, 2}, {ModItems.ammo_50bmg, U238.ingot(), ModItems.ammo_50bmg_du, 20, 2},
{ModItems.ammo_50bmg_du, STAR.ingot(), ModItems.ammo_50bmg_star, 10, 3}, {ModItems.ammo_50bmg_du, STAR.ingot(), ModItems.ammo_50bmg_star, 10, 3},

View File

@ -1717,6 +1717,7 @@ public class ModItems {
public static Item grenade_schrabidium; public static Item grenade_schrabidium;
public static Item grenade_lemon; public static Item grenade_lemon;
public static Item grenade_gascan; public static Item grenade_gascan;
public static Item grenade_kyiv;
public static Item grenade_mk2; public static Item grenade_mk2;
public static Item grenade_aschrab; public static Item grenade_aschrab;
public static Item grenade_nuke; public static Item grenade_nuke;
@ -2357,6 +2358,7 @@ public class ModItems {
public static Item spawn_chopper; public static Item spawn_chopper;
public static Item spawn_worm; public static Item spawn_worm;
public static Item spawn_ufo; public static Item spawn_ufo;
public static Item spawn_duck;
public static Item key; public static Item key;
public static Item key_red; public static Item key_red;
@ -4365,7 +4367,7 @@ public class ModItems {
gun_moist_nugget = new ItemNugget(3, false).setUnlocalizedName("gun_moist_nugget").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_moist_nugget"); gun_moist_nugget = new ItemNugget(3, false).setUnlocalizedName("gun_moist_nugget").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_moist_nugget");
gun_dampfmaschine = new GunDampfmaschine().setUnlocalizedName("gun_dampfmaschine").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_dampfmaschine"); gun_dampfmaschine = new GunDampfmaschine().setUnlocalizedName("gun_dampfmaschine").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_dampfmaschine");
gun_darter = new ItemGunDart(GunDartFactory.getDarterConfig()).setFull3D().setUnlocalizedName("gun_darter").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_darter"); gun_darter = new ItemGunDart(GunDartFactory.getDarterConfig()).setFull3D().setUnlocalizedName("gun_darter").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_darter");
gun_detonator = new ItemGunDetonator(GunDetonatorFactory.getDetonatorConfig()).setUnlocalizedName("gun_detonator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_darter"); gun_detonator = new ItemGunDetonator(GunDetonatorFactory.getDetonatorConfig()).setFull3D().setUnlocalizedName("gun_detonator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_darter");
ToolMaterial matCrucible = EnumHelper.addToolMaterial("CRUCIBLE", 10, 3, 50.0F, 100.0F, 0); ToolMaterial matCrucible = EnumHelper.addToolMaterial("CRUCIBLE", 10, 3, 50.0F, 100.0F, 0);
crucible = new ItemCrucible(5000, 1F, matCrucible).setUnlocalizedName("crucible").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":crucible"); crucible = new ItemCrucible(5000, 1F, matCrucible).setUnlocalizedName("crucible").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":crucible");
@ -4391,6 +4393,7 @@ public class ModItems {
grenade_schrabidium = new ItemGrenade(7).setUnlocalizedName("grenade_schrabidium").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_schrabidium_alt"); grenade_schrabidium = new ItemGrenade(7).setUnlocalizedName("grenade_schrabidium").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_schrabidium_alt");
grenade_lemon = new ItemGrenade(4).setUnlocalizedName("grenade_lemon").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_lemon"); grenade_lemon = new ItemGrenade(4).setUnlocalizedName("grenade_lemon").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_lemon");
grenade_gascan = new ItemGrenade(-1).setUnlocalizedName("grenade_gascan").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_gascan"); grenade_gascan = new ItemGrenade(-1).setUnlocalizedName("grenade_gascan").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_gascan");
grenade_kyiv = new ItemGrenadeKyiv(-1).setUnlocalizedName("grenade_kyiv").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_kyiv");
grenade_mk2 = new ItemGrenade(5).setUnlocalizedName("grenade_mk2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_mk2_alt"); grenade_mk2 = new ItemGrenade(5).setUnlocalizedName("grenade_mk2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_mk2_alt");
grenade_aschrab = new ItemGrenade(-1).setUnlocalizedName("grenade_aschrab").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_aschrab"); grenade_aschrab = new ItemGrenade(-1).setUnlocalizedName("grenade_aschrab").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_aschrab");
grenade_nuke = new ItemGrenade(-1).setUnlocalizedName("grenade_nuke").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_nuke_alt"); grenade_nuke = new ItemGrenade(-1).setUnlocalizedName("grenade_nuke").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_nuke_alt");
@ -4711,6 +4714,7 @@ public class ModItems {
spawn_chopper = new ItemChopper().setUnlocalizedName("chopper").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":chopper"); spawn_chopper = new ItemChopper().setUnlocalizedName("chopper").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":chopper");
spawn_worm = new ItemChopper().setUnlocalizedName("spawn_worm").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":spawn_worm"); spawn_worm = new ItemChopper().setUnlocalizedName("spawn_worm").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":spawn_worm");
spawn_ufo = new ItemChopper().setUnlocalizedName("spawn_ufo").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":spawn_ufo"); spawn_ufo = new ItemChopper().setUnlocalizedName("spawn_ufo").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":spawn_ufo");
spawn_duck = new ItemChopper().setUnlocalizedName("spawn_duck").setMaxStackSize(16).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":spawn_duck");
linker = new ItemTeleLink().setUnlocalizedName("linker").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":linker"); linker = new ItemTeleLink().setUnlocalizedName("linker").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":linker");
reactor_sensor = new ItemReactorSensor().setUnlocalizedName("reactor_sensor").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":reactor_sensor"); reactor_sensor = new ItemReactorSensor().setUnlocalizedName("reactor_sensor").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":reactor_sensor");
oil_detector = new ItemOilDetector().setUnlocalizedName("oil_detector").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":oil_detector"); oil_detector = new ItemOilDetector().setUnlocalizedName("oil_detector").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":oil_detector");
@ -4893,17 +4897,17 @@ public class ModItems {
ArmorMaterial aMatDesh = EnumHelper.addArmorMaterial("HBM_DESH", 150, new int[] { 3, 8, 6, 3 }, 0); ArmorMaterial aMatDesh = EnumHelper.addArmorMaterial("HBM_DESH", 150, new int[] { 3, 8, 6, 3 }, 0);
aMatDesh.customCraftingMaterial = ModItems.ingot_desh; aMatDesh.customCraftingMaterial = ModItems.ingot_desh;
steamsuit_helmet = new ArmorDesh(aMatDesh, 2, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 216000, 500, 1, 50).setCap(15F).setMod(0.5F) steamsuit_helmet = new ArmorDesh(aMatDesh, 2, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 360000, 500, 50, 1).setThreshold(5F).setMod(0.8F)
.setFireproof(true) .setFireproof(true)
.setHasHardLanding(true) .setHasHardLanding(true)
.addEffect(new PotionEffect(Potion.digSpeed.id, 20, 2)) .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 4))
.setBlastProtection(0.5F) .setBlastProtection(0.5F)
.addResistance("monoxide", 0F) .addResistance("monoxide", 0F)
.addResistance("fall", 0) .addResistance("fall", 0)
.setUnlocalizedName("steamsuit_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_helmet"); .setUnlocalizedName("steamsuit_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_helmet");
steamsuit_plate = new ArmorDesh(aMatDesh, 2, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 216000, 500, 1, 50).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_plate"); steamsuit_plate = new ArmorDesh(aMatDesh, 2, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 360000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_plate");
steamsuit_legs = new ArmorDesh(aMatDesh, 2, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", Fluids.STEAM, 216000, 500, 1, 50).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_legs"); steamsuit_legs = new ArmorDesh(aMatDesh, 2, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", Fluids.STEAM, 360000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_legs");
steamsuit_boots = new ArmorDesh(aMatDesh, 2, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 216000, 500, 1, 50).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_boots"); steamsuit_boots = new ArmorDesh(aMatDesh, 2, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 360000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_boots");
ArmorMaterial aMatAJR = EnumHelper.addArmorMaterial("HBM_T45AJR", 150, new int[] { 3, 8, 6, 3 }, 100); ArmorMaterial aMatAJR = EnumHelper.addArmorMaterial("HBM_T45AJR", 150, new int[] { 3, 8, 6, 3 }, 100);
aMatAJR.customCraftingMaterial = ModItems.plate_armor_ajr; aMatAJR.customCraftingMaterial = ModItems.plate_armor_ajr;
@ -6800,6 +6804,7 @@ public class ModItems {
GameRegistry.registerItem(spawn_chopper, spawn_chopper.getUnlocalizedName()); GameRegistry.registerItem(spawn_chopper, spawn_chopper.getUnlocalizedName());
GameRegistry.registerItem(spawn_worm, spawn_worm.getUnlocalizedName()); GameRegistry.registerItem(spawn_worm, spawn_worm.getUnlocalizedName());
GameRegistry.registerItem(spawn_ufo, spawn_ufo.getUnlocalizedName()); GameRegistry.registerItem(spawn_ufo, spawn_ufo.getUnlocalizedName());
GameRegistry.registerItem(spawn_duck, spawn_duck.getUnlocalizedName());
//Computer Tools //Computer Tools
GameRegistry.registerItem(designator, designator.getUnlocalizedName()); GameRegistry.registerItem(designator, designator.getUnlocalizedName());
@ -7360,6 +7365,7 @@ public class ModItems {
GameRegistry.registerItem(grenade_nuke, grenade_nuke.getUnlocalizedName()); GameRegistry.registerItem(grenade_nuke, grenade_nuke.getUnlocalizedName());
GameRegistry.registerItem(grenade_lemon, grenade_lemon.getUnlocalizedName()); GameRegistry.registerItem(grenade_lemon, grenade_lemon.getUnlocalizedName());
GameRegistry.registerItem(grenade_gascan, grenade_gascan.getUnlocalizedName()); GameRegistry.registerItem(grenade_gascan, grenade_gascan.getUnlocalizedName());
GameRegistry.registerItem(grenade_kyiv, grenade_kyiv.getUnlocalizedName());
GameRegistry.registerItem(grenade_mk2, grenade_mk2.getUnlocalizedName()); GameRegistry.registerItem(grenade_mk2, grenade_mk2.getUnlocalizedName());
GameRegistry.registerItem(grenade_aschrab, grenade_aschrab.getUnlocalizedName()); GameRegistry.registerItem(grenade_aschrab, grenade_aschrab.getUnlocalizedName());
GameRegistry.registerItem(grenade_nuclear, grenade_nuclear.getUnlocalizedName()); GameRegistry.registerItem(grenade_nuclear, grenade_nuclear.getUnlocalizedName());

View File

@ -1,8 +1,14 @@
package com.hbm.items.armor; package com.hbm.items.armor;
import java.util.List;
import com.hbm.interfaces.IPartiallyFillable; import com.hbm.interfaces.IPartiallyFillable;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.util.BobMathUtil;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
@ -22,6 +28,7 @@ public class ArmorFSBFueled extends ArmorFSB implements IPartiallyFillable {
this.fillRate = fillRate; this.fillRate = fillRate;
this.consumption = consumption; this.consumption = consumption;
this.drain = drain; this.drain = drain;
this.maxFuel = maxFuel;
} }
@Override @Override
@ -33,7 +40,8 @@ public class ArmorFSBFueled extends ArmorFSB implements IPartiallyFillable {
public int getFill(ItemStack stack) { public int getFill(ItemStack stack) {
if(stack.stackTagCompound == null) { if(stack.stackTagCompound == null) {
stack.stackTagCompound = new NBTTagCompound(); stack.stackTagCompound = new NBTTagCompound();
return 0; setFill(stack, maxFuel);
return maxFuel;
} }
return stack.stackTagCompound.getInteger("fuel"); return stack.stackTagCompound.getInteger("fuel");
@ -68,6 +76,11 @@ public class ArmorFSBFueled extends ArmorFSB implements IPartiallyFillable {
this.setFill(stack, Math.max(this.getFill(stack) - (damage * consumption), 0)); this.setFill(stack, Math.max(this.getFill(stack) - (damage * consumption), 0));
} }
@Override
public boolean isArmorEnabled(ItemStack stack) {
return getFill(stack) > 0;
}
@Override @Override
public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { public void onArmorTick(World world, EntityPlayer player, ItemStack stack) {
@ -77,4 +90,20 @@ public class ArmorFSBFueled extends ArmorFSB implements IPartiallyFillable {
this.setFill(stack, Math.max(this.getFill(stack) - this.drain, 0)); this.setFill(stack, Math.max(this.getFill(stack) - this.drain, 0));
} }
} }
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
list.add(I18nUtil.resolveKey(this.fuelType.getUnlocalizedName()) + ": " + BobMathUtil.getShortNumber(getFill(stack)) + " / " + BobMathUtil.getShortNumber(getMaxFill(stack)));
super.addInformation(stack, player, list, ext);
}
@Override
public boolean showDurabilityBar(ItemStack stack) {
return getFill(stack) < getMaxFill(stack);
}
@Override
public double getDurabilityForDisplay(ItemStack stack) {
return 1 - (double) getFill(stack) / (double) getMaxFill(stack);
}
} }

View File

@ -2,6 +2,7 @@ package com.hbm.items.special;
import java.util.List; import java.util.List;
import com.hbm.entity.mob.EntityDuck;
import com.hbm.entity.mob.EntityHunterChopper; import com.hbm.entity.mob.EntityHunterChopper;
import com.hbm.entity.mob.EntityUFO; import com.hbm.entity.mob.EntityUFO;
import com.hbm.entity.mob.botprime.EntityBOTPrimeHead; import com.hbm.entity.mob.botprime.EntityBOTPrimeHead;
@ -116,6 +117,9 @@ public class ItemChopper extends Item {
y += 35; y += 35;
} }
if(this == ModItems.spawn_duck)
entity = new EntityDuck(world);
if(entity != null) { if(entity != null) {
EntityLiving entityliving = (EntityLiving) entity; EntityLiving entityliving = (EntityLiving) entity;

View File

@ -0,0 +1,45 @@
package com.hbm.items.weapon;
import com.hbm.entity.grenade.EntityGrenadeBouncyGeneric;
import com.hbm.entity.grenade.EntityGrenadeImpactGeneric;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class ItemGenericGrenade extends ItemGrenade {
public ItemGenericGrenade(int fuse) {
super(fuse);
}
@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
if(!player.capabilities.isCreativeMode) {
--stack.stackSize;
}
world.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F));
if(!world.isRemote) {
if(fuse == -1)
world.spawnEntityInWorld(new EntityGrenadeImpactGeneric(world, player).setType(this));
else
world.spawnEntityInWorld(new EntityGrenadeBouncyGeneric(world, player).setType(this));
}
return stack;
}
public void explode(World world, double x, double y, double z) { }
public int getMaxTimer() {
return this.fuse * 20;
}
public double getBounceMod() {
return 0.5D;
}
}

View File

@ -316,5 +316,4 @@ public class ItemGrenade extends Item {
public static int getFuseTicks(Item grenade) { public static int getFuseTicks(Item grenade) {
return ((ItemGrenade)grenade).fuse * 20; return ((ItemGrenade)grenade).fuse * 20;
} }
} }

View File

@ -0,0 +1,14 @@
package com.hbm.items.weapon;
import net.minecraft.world.World;
public class ItemGrenadeKyiv extends ItemGenericGrenade {
public ItemGrenadeKyiv(int fuse) {
super(fuse);
}
public void explode(World world, double x, double y, double z) {
world.newExplosion(null, x, y, z, 5F, true, true);
}
}

View File

@ -2,7 +2,6 @@ package com.hbm.items.weapon;
import java.util.List; import java.util.List;
import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse; import org.lwjgl.input.Mouse;
import com.hbm.config.GeneralConfig; import com.hbm.config.GeneralConfig;
@ -26,6 +25,7 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
import net.minecraft.client.settings.GameSettings;
import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
@ -107,7 +107,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD {
if(mainConfig.reloadType != mainConfig.RELOAD_NONE || (altConfig != null && altConfig.reloadType != 0)) { if(mainConfig.reloadType != mainConfig.RELOAD_NONE || (altConfig != null && altConfig.reloadType != 0)) {
if(Keyboard.isKeyDown(HbmKeybinds.reloadKey.getKeyCode()) && (getMag(stack) < mainConfig.ammoCap || hasInfinity(stack, mainConfig))) { if(GameSettings.isKeyDown(HbmKeybinds.reloadKey) && (getMag(stack) < mainConfig.ammoCap || hasInfinity(stack, mainConfig))) {
PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(true, (byte) 2)); PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(true, (byte) 2));
setIsReloading(stack, true); setIsReloading(stack, true);
resetReloadCycle(stack); resetReloadCycle(stack);
@ -218,7 +218,9 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD {
if(altConfig == null) if(altConfig == null)
return; return;
BulletConfiguration config = getBeltCfg(player, stack, false); BulletConfiguration config = altConfig.reloadType == altConfig.RELOAD_NONE ? getBeltCfg(player, stack, false) : BulletConfigSyncingUtil.pullConfig(altConfig.config.get(getMagType(stack)));
//System.out.println(config.ammo.getUnlocalizedName());
int bullets = config.bulletsMin; int bullets = config.bulletsMin;
@ -445,13 +447,13 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD {
//initiates a reload //initiates a reload
public void startReloadAction(ItemStack stack, World world, EntityPlayer player) { public void startReloadAction(ItemStack stack, World world, EntityPlayer player) {
if(player.isSneaking() && hasInfinity(stack, mainConfig)) { if(player.isSneaking() && hasInfinity(stack, mainConfig)) {
if(this.getMag(stack) == mainConfig.ammoCap) { if(this.getMag(stack) == mainConfig.ammoCap) {
this.setMag(stack, 0); this.setMag(stack, 0);
this.resetAmmoType(stack, world, player); this.resetAmmoType(stack, world, player);
player.playSound("block.pistonOut", 1.0F, 1.0F); world.playSoundAtEntity(player, "tile.piston.out", 1.0F, 1.0F);
} }
return; return;
@ -474,6 +476,9 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD {
} }
public boolean canReload(ItemStack stack, World world, EntityPlayer player) { public boolean canReload(ItemStack stack, World world, EntityPlayer player) {
if(getMag(stack) == mainConfig.ammoCap && hasInfinity(stack, mainConfig))
return true;
if(getMag(stack) == 0) { if(getMag(stack) == 0) {

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
public class RefStrings { public class RefStrings {
public static final String MODID = "hbm"; public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod"; public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (4158)"; public static final String VERSION = "1.0.27 BETA (4172)";
//HBM's Beta Naming Convention: //HBM's Beta Naming Convention:
//V T (X) //V T (X)
//V -> next release version //V -> next release version

View File

@ -388,11 +388,12 @@ public class ClientProxy extends ServerProxy {
MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_red, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_red, new ItemRenderOverkill());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_dampfmaschine, new ItemRenderBullshit()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_dampfmaschine, new ItemRenderBullshit());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action, new ItemRenderWeaponFFMaresLeg(ResourceManager.ff_gun_bright, ResourceManager.ff_wood)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action, new ItemRenderWeaponFFMaresLeg(ResourceManager.ff_gun_bright, ResourceManager.ff_wood));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action, new ItemRenderWeaponFFBolt(ResourceManager.rem700_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action, new ItemRenderWeaponFFBolt(ResourceManager.rem700, ResourceManager.rem700_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action_dark, new ItemRenderWeaponFFMaresLeg(ResourceManager.ff_gun_normal, ResourceManager.ff_wood_red)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action_dark, new ItemRenderWeaponFFMaresLeg(ResourceManager.ff_gun_normal, ResourceManager.ff_wood_red));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_green, new ItemRenderGunAnim()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_green, new ItemRenderWeaponFFBolt(ResourceManager.rem700poly, ResourceManager.rem700poly_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action_sonata, new ItemRenderGunAnim()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action_sonata, new ItemRenderGunAnim());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_saturnite, new ItemRenderGunAnim()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_saturnite, new ItemRenderGunAnim());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_saturnite, new ItemRenderWeaponFFBolt(ResourceManager.rem700sat, ResourceManager.rem700sat_tex));
MinecraftForgeClient.registerItemRenderer(ModItems.gun_b92, new ItemRenderGunAnim()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_b92, new ItemRenderGunAnim());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_b93, new ItemRenderGunAnim()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_b93, new ItemRenderGunAnim());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi, new ItemRenderUZI()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi, new ItemRenderUZI());
@ -529,6 +530,8 @@ public class ClientProxy extends ServerProxy {
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFNull.class, new RenderSnowball(ModItems.grenade_if_null)); RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeIFNull.class, new RenderSnowball(ModItems.grenade_if_null));
RenderingRegistry.registerEntityRenderingHandler(EntityWastePearl.class, new RenderSnowball(ModItems.nuclear_waste_pearl)); RenderingRegistry.registerEntityRenderingHandler(EntityWastePearl.class, new RenderSnowball(ModItems.nuclear_waste_pearl));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeDynamite.class, new RenderSnowball(ModItems.stick_dynamite)); RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeDynamite.class, new RenderSnowball(ModItems.stick_dynamite));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBouncyGeneric.class, new RenderGenericGrenade());
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeImpactGeneric.class, new RenderGenericGrenade());
//missiles //missiles
RenderingRegistry.registerEntityRenderingHandler(EntityTestMissile.class, new RenderTestMissile()); RenderingRegistry.registerEntityRenderingHandler(EntityTestMissile.class, new RenderTestMissile());
RenderingRegistry.registerEntityRenderingHandler(EntityMissileCustom.class, new RenderMissileCustom()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileCustom.class, new RenderMissileCustom());

View File

@ -483,6 +483,8 @@ public class MainRegistry {
EntityRegistry.registerModEntity(EntitySiegeLaser.class, "entity_ntm_siege_laser", 164, this, 1000, 1, true); EntityRegistry.registerModEntity(EntitySiegeLaser.class, "entity_ntm_siege_laser", 164, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntitySiegeDropship.class, "entity_ntm_siege_dropship", 165, this, 1000, 1, true); EntityRegistry.registerModEntity(EntitySiegeDropship.class, "entity_ntm_siege_dropship", 165, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityTNTPrimedBase.class, "entity_ntm_tnt_primed", 166, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityTNTPrimedBase.class, "entity_ntm_tnt_primed", 166, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityGrenadeBouncyGeneric.class, "entity_grenade_generic", 168, this, 250, 1, true);
EntityRegistry.registerModEntity(EntityGrenadeImpactGeneric.class, "entity_grenade_generic", 169, this, 250, 1, true);
EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00); EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00);
EntityRegistry.registerGlobalEntityID(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x813b9b, 0xd71fdd); EntityRegistry.registerGlobalEntityID(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x813b9b, 0xd71fdd);

View File

@ -625,6 +625,8 @@ public class ResourceManager {
public static final IModelCustom stinger = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/stinger.obj")); public static final IModelCustom stinger = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/stinger.obj"));
public static final IModelCustom mg42 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/mg42.obj")); public static final IModelCustom mg42 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/mg42.obj"));
public static final IModelCustom rem700 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/rem700.obj")); public static final IModelCustom rem700 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/rem700.obj"));
public static final IModelCustom rem700poly = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/rem700poly.obj"));
public static final IModelCustom rem700sat = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/rem700sat.obj"));
public static final IModelCustom cursed_revolver = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cursed.obj")); public static final IModelCustom cursed_revolver = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cursed.obj"));
public static final IModelCustom detonator_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/detonator_laser.obj")); public static final IModelCustom detonator_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/detonator_laser.obj"));
public static final IModelCustom spas_12 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/spas-12.obj")); public static final IModelCustom spas_12 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/spas-12.obj"));
@ -697,6 +699,8 @@ public class ResourceManager {
public static final ResourceLocation sky_stinger_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/sky_stinger.png"); public static final ResourceLocation sky_stinger_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/sky_stinger.png");
public static final ResourceLocation mg42_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/mg42.png"); public static final ResourceLocation mg42_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/mg42.png");
public static final ResourceLocation rem700_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/rem700.png"); public static final ResourceLocation rem700_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/rem700.png");
public static final ResourceLocation rem700poly_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/rem700poly.png");
public static final ResourceLocation rem700sat_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/rem700sat.png");
public static final ResourceLocation detonator_laser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/detonator_laser.png"); public static final ResourceLocation detonator_laser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/detonator_laser.png");
public static final ResourceLocation spas_12_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/spas-12.png"); public static final ResourceLocation spas_12_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/spas-12.png");

View File

@ -219,9 +219,9 @@ public class RenderBullet extends Render {
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/BaleFlare.png")); bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/BaleFlare.png"));
bf.renderAll(0.0625F); break; bf.renderAll(0.0625F); break;
case 3: case 3:
GL11.glScaled(0.5, 0.5, 0.5);
GL11.glRotated(90, 0, 0, 1); GL11.glRotated(90, 0, 0, 1);
GL11.glRotated(90, 0, 1, 0); GL11.glRotated(90, 0, 1, 0);
GL11.glTranslated(0, -0.5, 0);
bindTexture(ResourceManager.waste_drum_tex); bindTexture(ResourceManager.waste_drum_tex);
ResourceManager.waste_drum.renderAll(); ResourceManager.waste_drum.renderAll();
break; break;

View File

@ -0,0 +1,63 @@
package com.hbm.render.entity.projectile;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import com.hbm.entity.grenade.IGenericGrenade;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.entity.Entity;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
public class RenderGenericGrenade extends Render {
@Override
public void doRender(Entity entity, double x, double y, double z, float f0, float f1) {
IGenericGrenade grenade = (IGenericGrenade) entity;
IIcon iicon = grenade.getGrenade().getIconFromDamage(0);
if(iicon != null) {
GL11.glPushMatrix();
GL11.glTranslatef((float) x, (float) y, (float) z);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glScalef(0.5F, 0.5F, 0.5F);
this.bindEntityTexture(entity);
Tessellator tessellator = Tessellator.instance;
this.renderItem(tessellator, iicon);
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
GL11.glPopMatrix();
}
}
@Override
protected ResourceLocation getEntityTexture(Entity entity) {
return TextureMap.locationItemsTexture;
}
private void renderItem(Tessellator tess, IIcon icon) {
float minU = icon.getMinU();
float maxU = icon.getMaxU();
float minV = icon.getMinV();
float maxV = icon.getMaxV();
float max = 1.0F;
float offX = 0.5F;
float offY = 0.25F;
GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
tess.startDrawingQuads();
tess.setNormal(0.0F, 1.0F, 0.0F);
tess.addVertexWithUV((double) (0.0F - offX), (double) (0.0F - offY), 0.0D, (double) minU, (double) maxV);
tess.addVertexWithUV((double) (max - offX), (double) (0.0F - offY), 0.0D, (double) maxU, (double) maxV);
tess.addVertexWithUV((double) (max - offX), (double) (max - offY), 0.0D, (double) maxU, (double) minV);
tess.addVertexWithUV((double) (0.0F - offX), (double) (max - offY), 0.0D, (double) minU, (double) minV);
tess.draw();
}
}

View File

@ -1,10 +1,15 @@
package com.hbm.render.item; package com.hbm.render.item;
import java.util.Random;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager; import com.hbm.main.ResourceManager;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer; import net.minecraftforge.client.IItemRenderer;
@ -83,13 +88,74 @@ public class ItemRenderDetonatorLaser implements IItemRenderer {
} }
ResourceManager.detonator_laser.renderPart("Main"); ResourceManager.detonator_laser.renderPart("Main");
GL11.glPushMatrix();
GL11.glPushAttrib(GL11.GL_LIGHTING_BIT);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F);
GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glColor3f(1F, 0F, 0F); GL11.glColor3f(1F, 0F, 0F);
ResourceManager.detonator_laser.renderPart("Lights"); ResourceManager.detonator_laser.renderPart("Lights");
GL11.glColor3f(1F, 1F, 1F); GL11.glColor3f(1F, 1F, 1F);
GL11.glPushMatrix();
float px = 0.0625F;
GL11.glTranslatef(0.5626F, px * 18, -px * 14);
Tessellator tess = Tessellator.instance;
tess.startDrawing(GL11.GL_QUADS);
int sub = 32;
double width = px * 8;
double len = width / sub;
double time = System.currentTimeMillis() / -100D;
double amplitude = 0.075;
tess.setColorOpaque_I(0xffff00);
for(int i = 0; i < sub; i++) {
double h0 = Math.sin(i * 0.5 + time) * amplitude;
double h1 = Math.sin((i + 1) * 0.5 + time) * amplitude;
tess.addVertex(0, -px * 0.25 + h1, len * (i + 1));
tess.addVertex(0, px * 0.25 + h1, len * (i + 1));
tess.addVertex(0, px * 0.25 + h0, len * i);
tess.addVertex(0, -px * 0.25 + h0, len * i);
}
tess.setColorOpaque_F(1F, 1F, 1F);
tess.draw();
GL11.glPopMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glPushMatrix();
String s;
Random rand = new Random(System.currentTimeMillis() / 500);
FontRenderer font = Minecraft.getMinecraft().fontRenderer;
float f3 = 0.01F;
GL11.glTranslatef(0.5625F, 1.3125F, 0.875F);
GL11.glScalef(f3, -f3, f3);
GL11.glRotatef(90, 0, 1, 0);
GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3);
GL11.glTranslatef(3F, -2F, 0.2F);
for(int i = 0; i < 3; i++) {
s = (rand.nextInt(900000) + 100000) + "";
font.drawString(s, 0, 0, 0xff0000);
GL11.glTranslatef(0F, 12.5F, 0F);
}
GL11.glPopMatrix();
GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_LIGHTING);
GL11.glPopAttrib();
GL11.glPopMatrix();
GL11.glShadeModel(GL11.GL_FLAT); GL11.glShadeModel(GL11.GL_FLAT);

View File

@ -1206,16 +1206,27 @@ public class ItemRenderLibrary {
GL11.glShadeModel(GL11.GL_FLAT); GL11.glShadeModel(GL11.GL_FLAT);
}}); }});
renderers.put(Item.getItemFromBlock(ModBlocks.machine_radiolysis), new ItemRenderBase( ) { renderers.put(Item.getItemFromBlock(ModBlocks.machine_radiolysis), new ItemRenderBase( ) {
public void renderInventory() { public void renderInventory() {
GL11.glTranslated(0, -2.5, 0); GL11.glTranslated(0, -2.5, 0);
GL11.glScaled(3, 3, 3); GL11.glScaled(3, 3, 3);
} }
public void renderCommon() { public void renderCommon() {
GL11.glShadeModel(GL11.GL_SMOOTH); GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.radiolysis_tex); ResourceManager.radiolysis.renderAll(); bindTexture(ResourceManager.radiolysis_tex); ResourceManager.radiolysis.renderAll();
GL11.glShadeModel(GL11.GL_FLAT); GL11.glShadeModel(GL11.GL_FLAT);
}}); }});
renderers.put(Item.getItemFromBlock(ModBlocks.machine_chemfac), new ItemRenderBase( ) {
public void renderInventory() {
GL11.glScaled(2.5, 2.5, 2.5);
}
public void renderCommon() {
GL11.glScaled(0.5, 0.5, 0.5);
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.chemfac_tex); ResourceManager.chemfac.renderPart("Main");
GL11.glShadeModel(GL11.GL_FLAT);
}});
} }
private static void bindTexture(ResourceLocation res) { private static void bindTexture(ResourceLocation res) {

View File

@ -10,7 +10,6 @@ import com.hbm.render.anim.HbmAnimations;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer; import net.minecraftforge.client.IItemRenderer;
@ -131,24 +130,23 @@ public class ItemRenderWeaponBolter implements IItemRenderer {
GL11.glShadeModel(GL11.GL_FLAT); GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPushMatrix(); GL11.glPushMatrix();
GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); GL11.glPushAttrib(GL11.GL_LIGHTING_BIT);
GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE); GL11.glDisable(GL11.GL_CULL_FACE);
OpenGlHelper.glBlendFunc(770, 771, 1, 0); OpenGlHelper.glBlendFunc(770, 771, 1, 0);
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F);
FontRenderer font = Minecraft.getMinecraft().fontRenderer;
String s = ((ItemGunBase)item.getItem()).getMag(item) + "";
float f3 = 0.04F;
GL11.glTranslatef(0.025F -(font.getStringWidth(s) / 2) * 0.04F, 2.11F, 2.91F);
GL11.glScalef(f3, -f3, f3);
GL11.glRotatef(45, 1, 0, 0);
GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3);
font.drawString(s, 0, 0, 0xff0000);
GL11.glEnable(GL11.GL_LIGHTING); FontRenderer font = Minecraft.getMinecraft().fontRenderer;
GL11.glPopAttrib(); String s = ((ItemGunBase) item.getItem()).getMag(item) + "";
RenderHelper.enableGUIStandardItemLighting(); float f3 = 0.04F;
GL11.glTranslatef(0.025F - (font.getStringWidth(s) / 2) * 0.04F, 2.11F, 2.91F);
GL11.glScalef(f3, -f3, f3);
GL11.glRotatef(45, 1, 0, 0);
GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3);
font.drawString(s, 0, 0, 0xff0000);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glPopAttrib();
GL11.glPopMatrix(); GL11.glPopMatrix();
GL11.glPopMatrix(); GL11.glPopMatrix();

View File

@ -2,19 +2,23 @@ package com.hbm.render.item.weapon;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager; import com.hbm.items.ModItems;
import com.hbm.render.anim.HbmAnimations; import com.hbm.render.anim.HbmAnimations;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer; import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.IModelCustom;
public class ItemRenderWeaponFFBolt implements IItemRenderer { public class ItemRenderWeaponFFBolt implements IItemRenderer {
ResourceLocation texture; ResourceLocation texture;
IModelCustom model;
public ItemRenderWeaponFFBolt(ResourceLocation texture) { public ItemRenderWeaponFFBolt(IModelCustom model, ResourceLocation texture) {
this.model = model;
this.texture = texture; this.texture = texture;
} }
@ -51,10 +55,10 @@ public class ItemRenderWeaponFFBolt implements IItemRenderer {
case EQUIPPED_FIRST_PERSON: case EQUIPPED_FIRST_PERSON:
double s0 = 0.5D; double s0 = 0.5D;
GL11.glTranslated(0.5, 0.25, 0); GL11.glTranslated(0.5, 0.25, -0.2);
GL11.glScaled(s0, s0, s0); GL11.glScaled(s0, s0, s0);
GL11.glRotated(20, 0, -1, 0);
GL11.glRotated(15, 0, 0, 1); GL11.glRotated(15, 0, 0, 1);
GL11.glRotated(20, 0, -1, 0);
double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL");
GL11.glTranslated(recoil[0] * -0.5, 0, 0); GL11.glTranslated(recoil[0] * -0.5, 0, 0);
@ -68,10 +72,29 @@ public class ItemRenderWeaponFFBolt implements IItemRenderer {
GL11.glTranslated(0, heightOffset, 0); GL11.glTranslated(0, heightOffset, 0);
GL11.glRotated(rotate[0] * 35, -1, 0, 0); GL11.glRotated(rotate[0] * 35, -1, 0, 0);
GL11.glTranslated(0, -heightOffset, 0); GL11.glTranslated(0, -heightOffset, 0);
ResourceManager.rem700.renderPart("Bolt"); model.renderPart("Bolt");
GL11.glPopMatrix(); GL11.glPopMatrix();
renderBolt = false; renderBolt = false;
/*if(item.getItem() == ModItems.gun_bolt_action_saturnite) {
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_LIGHTING);
Tessellator tessellator = Tessellator.instance;
int color = 0x00FF00;
tessellator.startDrawing(3);
tessellator.setColorOpaque_I(color);
tessellator.addVertex(5, 0, 0);
tessellator.addVertex(150, 0, 0);
tessellator.draw();
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glPopMatrix();
}*/
break; break;
@ -108,9 +131,9 @@ public class ItemRenderWeaponFFBolt implements IItemRenderer {
default: break; default: break;
} }
ResourceManager.rem700.renderPart("Gun"); model.renderPart("Gun");
if(renderBolt) if(renderBolt)
ResourceManager.rem700.renderPart("Bolt"); model.renderPart("Bolt");
GL11.glShadeModel(GL11.GL_FLAT); GL11.glShadeModel(GL11.GL_FLAT);

View File

@ -43,6 +43,10 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase {
if(!worldObj.isRemote) { if(!worldObj.isRemote) {
if(worldObj.getTotalWorldTime() % 20 == 0) {
this.updateConnections();
}
this.speed = 100; this.speed = 100;
this.consumption = 100; this.consumption = 100;
@ -150,6 +154,22 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase {
public long getMaxPower() { public long getMaxPower() {
return 10_000_000; return 10_000_000;
} }
private void updateConnections() {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite();
ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN);
for(int i = 0; i < 6; i++) {
this.trySubscribe(worldObj, xCoord + dir.offsetX * (2 - i) + rot.offsetX * 3, yCoord + 4, zCoord + dir.offsetZ * (2 - i) + rot.offsetZ * 3, rot);
this.trySubscribe(worldObj, xCoord + dir.offsetX * (2 - i) - rot.offsetX * 2, yCoord + 4, zCoord + dir.offsetZ * (2 - i) - rot.offsetZ * 2, rot.getOpposite());
for(int j = 0; j < 2; j++) {
this.trySubscribe(worldObj, xCoord + dir.offsetX * (2 - i) + rot.offsetX * 5, yCoord + 1 + j, zCoord + dir.offsetZ * (2 - i) + rot.offsetZ * 5, rot);
this.trySubscribe(worldObj, xCoord + dir.offsetX * (2 - i) - rot.offsetX * 4, yCoord + 1 + j, zCoord + dir.offsetZ * (2 - i) - rot.offsetZ * 4, rot.getOpposite());
}
}
}
@Override @Override
public void fillFluidInit(FluidType type) { public void fillFluidInit(FluidType type) {

View File

@ -17,8 +17,7 @@ import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType;
import com.hbm.lib.Library; import com.hbm.lib.Library;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.sound.nt.ISoundSourceTE; import com.hbm.sound.AudioWrapper;
import com.hbm.sound.nt.SoundWrapper;
import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.TileEntityMachineBase;
import com.hbm.util.InventoryUtil; import com.hbm.util.InventoryUtil;
@ -32,7 +31,7 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.AxisAlignedBB;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityMachineChemplant extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidAcceptor, ISoundSourceTE { public class TileEntityMachineChemplant extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidAcceptor {
public long power; public long power;
public static final long maxPower = 100000; public static final long maxPower = 100000;
@ -40,7 +39,7 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements
public int maxProgress = 100; public int maxProgress = 100;
public boolean isProgressing; public boolean isProgressing;
private SoundWrapper audio; private AudioWrapper audio;
public FluidTank[] tanks; public FluidTank[] tanks;
@ -144,11 +143,22 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements
worldObj.spawnParticle("cloud", x, y, z, 0.0, 0.1, 0.0); worldObj.spawnParticle("cloud", x, y, z, 0.0, 0.1, 0.0);
} }
if(this.audio == null) { float volume = this.getVolume(2);
this.audio = MainRegistry.proxy.getTileSound("hbm:block.chemplantOperate", this);
}
this.audio.updateSound(); if(isProgressing && volume > 0) {
if(audio == null) {
audio = MainRegistry.proxy.getLoopedSound("hbm:block.chemplantOperate", xCoord, yCoord, zCoord, volume, 1.0F);
audio.startSound();
}
} else {
if(audio != null) {
audio.stopSound();
audio = null;
}
}
} }
} }
@ -163,6 +173,26 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements
tanks[i].readFromNBT(nbt, "t" + i); tanks[i].readFromNBT(nbt, "t" + i);
} }
} }
@Override
public void onChunkUnload() {
if(audio != null) {
audio.stopSound();
audio = null;
}
}
@Override
public void invalidate() {
super.invalidate();
if(audio != null) {
audio.stopSound();
audio = null;
}
}
private void updateConnections() { private void updateConnections() {
@ -534,9 +564,4 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements
public double getMaxRenderDistanceSquared() { public double getMaxRenderDistanceSquared() {
return 65536.0D; return 65536.0D;
} }
@Override
public boolean isPlaying() {
return !this.isInvalid() && this.isProgressing;
}
} }

View File

@ -22,6 +22,7 @@ import api.hbm.energy.IEnergyUser;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.INpc; import net.minecraft.entity.INpc;
import net.minecraft.entity.boss.EntityDragon; import net.minecraft.entity.boss.EntityDragon;
@ -549,6 +550,22 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple
if(e.isDead || !e.isEntityAlive()) if(e.isDead || !e.isEntityAlive())
return false; return false;
List<String> wl = getWhitelist();
if(wl != null) {
if(e instanceof EntityPlayer) {
if(wl.contains(((EntityPlayer)e).getDisplayName())) {
return false;
}
} else if(e instanceof EntityLiving) {
if(wl.contains(((EntityLiving)e).getCustomNameTag())) {
return false;
}
}
}
if(targetAnimals) { if(targetAnimals) {
@ -578,12 +595,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple
if(e instanceof FakePlayer) if(e instanceof FakePlayer)
return false; return false;
List<String> wl = getWhitelist(); return true;
if(wl == null || wl.isEmpty())
return true;
return !wl.contains(((EntityPlayer)e).getDisplayName());
} }
return false; return false;

View File

@ -54,6 +54,7 @@ public class ArmorUtil {
ArmorRegistry.registerHazard(ModItems.t45_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.t45_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND);
ArmorRegistry.registerHazard(ModItems.ajr_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.ajr_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND);
ArmorRegistry.registerHazard(ModItems.ajro_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.ajro_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND);
ArmorRegistry.registerHazard(ModItems.steamsuit_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND);
ArmorRegistry.registerHazard(ModItems.hev_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.hev_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND);
ArmorRegistry.registerHazard(ModItems.fau_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.fau_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND);
ArmorRegistry.registerHazard(ModItems.dns_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.dns_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND);

View File

@ -35,7 +35,7 @@ public class SoundUtil {
//ReflectionHelper.setPrivateValue(SoundCategory.class, null, nameMapping, "field_147168_j"); //ReflectionHelper.setPrivateValue(SoundCategory.class, null, nameMapping, "field_147168_j");
//ReflectionHelper.setPrivateValue(SoundCategory.class, null, idMapping, "field_147169_k"); //ReflectionHelper.setPrivateValue(SoundCategory.class, null, idMapping, "field_147169_k");
ReflectionHelper.setPrivateValue(GameSettings.class, Minecraft.getMinecraft().gameSettings, mapSoundLevels, "mapSoundLevels"); ReflectionHelper.setPrivateValue(GameSettings.class, Minecraft.getMinecraft().gameSettings, mapSoundLevels, "mapSoundLevels", "field_151446_aD");
} catch(Exception e) { } catch(Exception e) {
e.printStackTrace(); e.printStackTrace();

View File

@ -208,7 +208,7 @@ container.bat9000=Big-Ass Tank 9000
container.battery=Energiespeicher container.battery=Energiespeicher
container.bombMulti=Mehrzweckbombe container.bombMulti=Mehrzweckbombe
container.centrifuge=Zentrifuge container.centrifuge=Zentrifuge
container.chemplant=Chemiefabrik container.chemplant=Chemiewerk
container.compactLauncher=Kompakt-Startrampe container.compactLauncher=Kompakt-Startrampe
container.crateIron=Eisenkiste container.crateIron=Eisenkiste
container.crateSteel=Stahlkiste container.crateSteel=Stahlkiste
@ -687,6 +687,7 @@ item.ammo_mirv_low.name=Mini-MIRV (Schwach)
item.ammo_mirv_safe.name=Mini-MIRV (Sicher) item.ammo_mirv_safe.name=Mini-MIRV (Sicher)
item.ammo_mirv_special.name=Mini-MILV item.ammo_mirv_special.name=Mini-MILV
item.ammo_nuke.name=Miniatombombe item.ammo_nuke.name=Miniatombombe
item.ammo_nuke_barrel.name=Mini-Atommüllfass
item.ammo_nuke_high.name=Miniatombombe (Stark) item.ammo_nuke_high.name=Miniatombombe (Stark)
item.ammo_nuke_low.name=Miniatombombe (Schwach) item.ammo_nuke_low.name=Miniatombombe (Schwach)
item.ammo_nuke_pumpkin.name=Kürbisbombe item.ammo_nuke_pumpkin.name=Kürbisbombe
@ -1416,6 +1417,7 @@ item.grenade_if_spark.name=IF - S.-Granate
item.grenade_if_sticky.name=IF - Klebrige Granate item.grenade_if_sticky.name=IF - Klebrige Granate
item.grenade_if_toxic.name=IF - Toxische Granate item.grenade_if_toxic.name=IF - Toxische Granate
item.grenade_kit.name=Granaten Kit item.grenade_kit.name=Granaten Kit
item.grenade_kyiv.name=Das Kiew Spezial
item.grenade_lemon.name=Zitronengranate item.grenade_lemon.name=Zitronengranate
item.grenade_mirv.name=MIRV-Granate item.grenade_mirv.name=MIRV-Granate
item.grenade_mk2.name=Mk 2 Granate "Botschafter Ananas" item.grenade_mk2.name=Mk 2 Granate "Botschafter Ananas"
@ -1454,6 +1456,7 @@ item.gun_darter.name=Dartgewehr
item.gun_deagle.name=Großes Eisen item.gun_deagle.name=Großes Eisen
item.gun_defabricator.name=Defabrikator item.gun_defabricator.name=Defabrikator
item.gun_defabricator_ammo.name=Defabrikator-Energiezelle item.gun_defabricator_ammo.name=Defabrikator-Energiezelle
item.gun_detonator.name=Laserzünder
item.gun_emp.name=EMP-Waffe item.gun_emp.name=EMP-Waffe
item.gun_emp_ammo.name=Energiezelle item.gun_emp_ammo.name=Energiezelle
item.gun_euthanasia.name=Euthanasia item.gun_euthanasia.name=Euthanasia
@ -1576,6 +1579,7 @@ item.hev_boots.name=HEV Mark IV Stiefel
item.hev_plate.name=HEV Mark IV Brustpanzer item.hev_plate.name=HEV Mark IV Brustpanzer
item.hev_helmet.name=HEV Mark IV Helm item.hev_helmet.name=HEV Mark IV Helm
item.hev_legs.name=HEV Mark IV Beinschutz item.hev_legs.name=HEV Mark IV Beinschutz
item.holotape_damaged.name=Beschädigtes Holoband
item.holotape_image.name=Holoband item.holotape_image.name=Holoband
item.horseshoe_magnet.name=Hufeisenmagnet item.horseshoe_magnet.name=Hufeisenmagnet
item.hull_big_aluminium.name=Große Aluminiumhülle item.hull_big_aluminium.name=Große Aluminiumhülle
@ -2564,6 +2568,7 @@ item.solinium_igniter.name=SOL-Impulszünder
item.solinium_kit.name=Solinium Kit item.solinium_kit.name=Solinium Kit
item.solinium_propellant.name=SOL-Verdichtungsladung item.solinium_propellant.name=SOL-Verdichtungsladung
item.sopsign.name=Sopschild-Streitaxt item.sopsign.name=Sopschild-Streitaxt
item.spawn_duck.name=Goldenes Ei
item.spawn_ufo.name=Marsianisches Invasionsschiff item.spawn_ufo.name=Marsianisches Invasionsschiff
item.spawn_worm.name=Balls-O-Tron Prime item.spawn_worm.name=Balls-O-Tron Prime
item.sphere_steel.name=Stahlhohlkugel item.sphere_steel.name=Stahlhohlkugel
@ -2612,6 +2617,10 @@ item.starmetal_shovel.name=Sternenmetallschaufel
item.starmetal_sword.name=Sternenmetallschwert item.starmetal_sword.name=Sternenmetallschwert
item.static_sandwich.name=Sandwich mit Fernsehrauschen garniert item.static_sandwich.name=Sandwich mit Fernsehrauschen garniert
item.stealth_boy.name=Mobile Tarnkappe item.stealth_boy.name=Mobile Tarnkappe
item.steamsuit_boots.name=Steam Suit Stiefel
item.steamsuit_helmet.name=Steam Suit Atemmaske
item.steamsuit_legs.name=Steam Suit Beinschutz
item.steamsuit_plate.name=Steam Suit Brustpanzer
item.steel_axe.name=Stahlaxt item.steel_axe.name=Stahlaxt
item.steel_boots.name=Stahlstiefel item.steel_boots.name=Stahlstiefel
item.steel_helmet.name=Stahlhelm item.steel_helmet.name=Stahlhelm
@ -3013,6 +3022,7 @@ tile.brick_light.name=Helle Ziegel
tile.brick_obsidian.name=Obsidianziegel tile.brick_obsidian.name=Obsidianziegel
tile.broadcaster_pc.name=Korrupter Sender tile.broadcaster_pc.name=Korrupter Sender
tile.burning_earth.name=Brennendes Gras tile.burning_earth.name=Brennendes Gras
tile.c4.name=C4
tile.cable_detector.name=Redstone-Stromschalter tile.cable_detector.name=Redstone-Stromschalter
tile.cable_switch.name=Stromschalter tile.cable_switch.name=Stromschalter
tile.charge_c4.name=Abrissladung tile.charge_c4.name=Abrissladung
@ -3252,7 +3262,8 @@ tile.machine_boiler_off.name=Dampfkessel
tile.machine_boiler_on.name=Dampfkessel tile.machine_boiler_on.name=Dampfkessel
tile.machine_catalytic_cracker.name=Katalytischer Cracking-Turm tile.machine_catalytic_cracker.name=Katalytischer Cracking-Turm
tile.machine_centrifuge.name=Zentrifuge tile.machine_centrifuge.name=Zentrifuge
tile.machine_chemplant.name=Chemiefabrik tile.machine_chemfac.name=Chemiefabrik
tile.machine_chemplant.name=Chemiewerk
tile.machine_chungus.name=Leviathan-Dampfturbine tile.machine_chungus.name=Leviathan-Dampfturbine
tile.machine_coal_off.name=Verbrennungsgenerator tile.machine_coal_off.name=Verbrennungsgenerator
tile.machine_coal_on.name=Verbrennungsgenerator tile.machine_coal_on.name=Verbrennungsgenerator
@ -3535,6 +3546,7 @@ tile.sellafield_3.name=Flammendes Sellafit
tile.sellafield_4.name=Infernales Sellafit tile.sellafield_4.name=Infernales Sellafit
tile.sellafield_core.name=Sellafit-Corium tile.sellafield_core.name=Sellafit-Corium
tile.sellafield_slaked.name=Gelöschtes Sellafit tile.sellafield_slaked.name=Gelöschtes Sellafit
tile.semtex.name=Semtex
tile.solar_mirror.name=Heliostatspiegel tile.solar_mirror.name=Heliostatspiegel
tile.soyuz_capsule.name=Landekapsel tile.soyuz_capsule.name=Landekapsel
tile.soyuz_launcher.name=Soyuz-Startplatform tile.soyuz_launcher.name=Soyuz-Startplatform

View File

@ -880,6 +880,7 @@ item.ammo_mirv_low.name=Mini MIRV (Low Yield)
item.ammo_mirv_safe.name=Mini MIRV (Safe) item.ammo_mirv_safe.name=Mini MIRV (Safe)
item.ammo_mirv_special.name=Mini MILV item.ammo_mirv_special.name=Mini MILV
item.ammo_nuke.name=Mini Nuke item.ammo_nuke.name=Mini Nuke
item.ammo_nuke_barrel.name=Mini Nuclear Waste Barrel
item.ammo_nuke_high.name=Mini Nuke (High Yield) item.ammo_nuke_high.name=Mini Nuke (High Yield)
item.ammo_nuke_low.name=Mini Nuke (Low Yield) item.ammo_nuke_low.name=Mini Nuke (Low Yield)
item.ammo_nuke_pumpkin.name=Pumpkin Bomb item.ammo_nuke_pumpkin.name=Pumpkin Bomb
@ -1644,6 +1645,7 @@ item.grenade_if_spark.name=IF - S.-Grenade
item.grenade_if_sticky.name=IF - Sticky Grenade item.grenade_if_sticky.name=IF - Sticky Grenade
item.grenade_if_toxic.name=IF - Toxic Grenade item.grenade_if_toxic.name=IF - Toxic Grenade
item.grenade_kit.name=Grenade Kit item.grenade_kit.name=Grenade Kit
item.grenade_kyiv.name=The Kyiv Special
item.grenade_lemon.name=Combustible Lemon item.grenade_lemon.name=Combustible Lemon
item.grenade_mirv.name=MIRV Grenade item.grenade_mirv.name=MIRV Grenade
item.grenade_mk2.name=Mk 2 Grenade "Ambassador Pineapple" item.grenade_mk2.name=Mk 2 Grenade "Ambassador Pineapple"
@ -1682,6 +1684,7 @@ item.gun_darter.name=Dart Gun
item.gun_deagle.name=Big Iron item.gun_deagle.name=Big Iron
item.gun_defabricator.name=Defabricator item.gun_defabricator.name=Defabricator
item.gun_defabricator_ammo.name=Defabricator Energy Cell item.gun_defabricator_ammo.name=Defabricator Energy Cell
item.gun_detonator.name=Laser Detonator
item.gun_emp.name=EMP Gun item.gun_emp.name=EMP Gun
item.gun_emp_ammo.name=Energy Cell item.gun_emp_ammo.name=Energy Cell
item.gun_euthanasia.name=Euthanasia item.gun_euthanasia.name=Euthanasia
@ -1806,6 +1809,7 @@ item.hev_boots.name=HEV Mark IV Boots
item.hev_plate.name=HEV Mark IV Chestplate item.hev_plate.name=HEV Mark IV Chestplate
item.hev_helmet.name=HEV Mark IV Helmet item.hev_helmet.name=HEV Mark IV Helmet
item.hev_legs.name=HEV Mark IV Leggings item.hev_legs.name=HEV Mark IV Leggings
item.holotape_damaged.name=Damaged Holotape
item.holotape_image.name=Holotape item.holotape_image.name=Holotape
item.horseshoe_magnet.name=Horseshoe Magnet item.horseshoe_magnet.name=Horseshoe Magnet
item.hull_big_aluminium.name=Big Aluminium Shell item.hull_big_aluminium.name=Big Aluminium Shell
@ -2925,6 +2929,7 @@ item.solinium_igniter.name=SOL Pulse Igniter
item.solinium_kit.name=Solinium Kit item.solinium_kit.name=Solinium Kit
item.solinium_propellant.name=SOL Compression Charge item.solinium_propellant.name=SOL Compression Charge
item.sopsign.name=Sop Sign Battle Axe item.sopsign.name=Sop Sign Battle Axe
item.spawn_duck.name=Golden Egg
item.spawn_ufo.name=Martian Invasion Ship item.spawn_ufo.name=Martian Invasion Ship
item.spawn_worm.name=Balls-O-Tron Prime item.spawn_worm.name=Balls-O-Tron Prime
item.sphere_steel.name=Steel Sphere item.sphere_steel.name=Steel Sphere
@ -2973,6 +2978,10 @@ item.starmetal_shovel.name=Starmetal Shovel
item.starmetal_sword.name=Starmetal Sword item.starmetal_sword.name=Starmetal Sword
item.static_sandwich.name=Sandwich Garnished with TV Static item.static_sandwich.name=Sandwich Garnished with TV Static
item.stealth_boy.name=Stealth Device item.stealth_boy.name=Stealth Device
item.steamsuit_boots.name=Steam Suit Boots
item.steamsuit_helmet.name=Steam Suit Respirator Helmet
item.steamsuit_legs.name=Steam Suit Leggings
item.steamsuit_plate.name=Steam Suit Chestplate
item.steel_axe.name=Steel Axe item.steel_axe.name=Steel Axe
item.steel_boots.name=Steel Boots item.steel_boots.name=Steel Boots
item.steel_helmet.name=Steel Helmet item.steel_helmet.name=Steel Helmet
@ -3385,6 +3394,7 @@ tile.brick_light.name=Light Bricks
tile.brick_obsidian.name=Obsidian Bricks tile.brick_obsidian.name=Obsidian Bricks
tile.broadcaster_pc.name=Corrupted Broadcaster tile.broadcaster_pc.name=Corrupted Broadcaster
tile.burning_earth.name=Burning Grass tile.burning_earth.name=Burning Grass
tile.c4.name=C-4
tile.cable_detector.name=Redstone Power Switch tile.cable_detector.name=Redstone Power Switch
tile.cable_switch.name=Power Switch tile.cable_switch.name=Power Switch
tile.charge_c4.name=Demolition Charge tile.charge_c4.name=Demolition Charge
@ -3624,6 +3634,7 @@ tile.machine_boiler_off.name=Boiler
tile.machine_boiler_on.name=Boiler tile.machine_boiler_on.name=Boiler
tile.machine_catalytic_cracker.name=Catalytic Cracking Tower tile.machine_catalytic_cracker.name=Catalytic Cracking Tower
tile.machine_centrifuge.name=Centrifuge tile.machine_centrifuge.name=Centrifuge
tile.machine_chemfac.name=Chemical Factory
tile.machine_chemplant.name=Chemical Plant tile.machine_chemplant.name=Chemical Plant
tile.machine_chungus.name=Leviathan Steam Turbine tile.machine_chungus.name=Leviathan Steam Turbine
tile.machine_coal_off.name=Combustion Generator tile.machine_coal_off.name=Combustion Generator
@ -3908,6 +3919,7 @@ tile.sellafield_3.name=Blazing Sellafite
tile.sellafield_4.name=Infernal Sellafite tile.sellafield_4.name=Infernal Sellafite
tile.sellafield_core.name=Sellafite-Corium tile.sellafield_core.name=Sellafite-Corium
tile.sellafield_slaked.name=Slaked Sellafite tile.sellafield_slaked.name=Slaked Sellafite
tile.semtex.name=Semtex
tile.solar_mirror.name=Heliostat Mirror tile.solar_mirror.name=Heliostat Mirror
tile.soyuz_capsule.name=Cargo Landing Capsule tile.soyuz_capsule.name=Cargo Landing Capsule
tile.soyuz_launcher.name=Soyuz Launch Platform tile.soyuz_launcher.name=Soyuz Launch Platform

View File

@ -8,6 +8,7 @@ itemGroup.tabNuke=Бомбы NTM
itemGroup.tabMissile=Ракеты и спутники NTM itemGroup.tabMissile=Ракеты и спутники NTM
itemGroup.tabWeapon=Оружие и турели NTM itemGroup.tabWeapon=Оружие и турели NTM
itemGroup.tabConsumable=Расходные материалы и снаряжение NTM itemGroup.tabConsumable=Расходные материалы и снаряжение NTM
soundCategory.ntmMachines=Механизмы NTM
achievement.acidizer.desc=уфф ай моя кожа achievement.acidizer.desc=уфф ай моя кожа
achievement.acidizer=Кислюка achievement.acidizer=Кислюка
@ -203,7 +204,7 @@ armor.explosionImmune=Не может получить никакого урон
armor.fastFall=Быстрое падение armor.fastFall=Быстрое падение
armor.ignoreLimit=Сопротивление не зависит от предела сопротивления armor.ignoreLimit=Сопротивление не зависит от предела сопротивления
armor.rocketBoots=Ракетные ботинки armor.rocketBoots=Ракетные ботинки
armor.sprintBoost=Ускоренный спринт armor.sprintBoost=Ускоренный бег
armor.projectileProtection=Модификатор урона %s от снарядов armor.projectileProtection=Модификатор урона %s от снарядов
hazard.prot=Защищает от: hazard.prot=Защищает от:
@ -1108,6 +1109,7 @@ death.attack.twr1=%1$s обнаружил, что выхода нет.
death.attack.twr2=%2$s разбил %1$s на миллион осколков света. death.attack.twr2=%2$s разбил %1$s на миллион осколков света.
death.attack.twr3=%2$s показал %1$s, что здесь нету выхода. death.attack.twr3=%2$s показал %1$s, что здесь нету выхода.
death.attack.overdose=%1$s умер от передоза метамфетамином. death.attack.overdose=%1$s умер от передоза метамфетамином.
death.attack.microwave=%1$s взорвался от микроволнового излучения.
item.redstone_sword.name=Меч из красного камня item.redstone_sword.name=Меч из красного камня
item.big_sword.name=Большой меч item.big_sword.name=Большой меч
@ -1157,6 +1159,7 @@ item.n2_charge.name=Крупный взрывной заряд
item.egg_balefire_shard.name=Жар-осколок item.egg_balefire_shard.name=Жар-осколок
item.egg_balefire.name=Жар-яйцо item.egg_balefire.name=Жар-яйцо
item.egg_balefire.desc=Какая птица откладывает радиоактивные яйца? item.egg_balefire.desc=Какая птица откладывает радиоактивные яйца?
item.spawn_duck.name=Золотое яйцо
item.custom_tnt.name=Взрывной заряд кастомной бомбы item.custom_tnt.name=Взрывной заряд кастомной бомбы
item.custom_nuke.name=Ядерный заряд кастомной бомбы item.custom_nuke.name=Ядерный заряд кастомной бомбы
@ -1382,6 +1385,7 @@ tile.machine_assembler.name=Сборочная машина
container.assembler=Сборочная машина container.assembler=Сборочная машина
tile.machine_chemplant.name=Химическая установка tile.machine_chemplant.name=Химическая установка
container.chemplant=Химическая установка container.chemplant=Химическая установка
tile.machine_chemfac.name=Химический завод
tile.fluid_duct.name=Универсальная жидкостная труба tile.fluid_duct.name=Универсальная жидкостная труба
tile.fluid_duct_solid.name=Покрытая универсальная жидкостная труба tile.fluid_duct_solid.name=Покрытая универсальная жидкостная труба
tile.machine_fluidtank.name=Цистерна tile.machine_fluidtank.name=Цистерна
@ -1492,6 +1496,8 @@ tile.substation.name=Подстанция
tile.red_pylon_large.name=ЛЭП tile.red_pylon_large.name=ЛЭП
tile.charge_dynamite.name=Бомба с таймером tile.charge_dynamite.name=Бомба с таймером
tile.charge_miner.name=Шахтёрский заряд с таймером tile.charge_miner.name=Шахтёрский заряд с таймером
tile.charge_c4.name=Подрывной заряд
tile.charge_semtex.name=Шахтёрский заряд с семтексом
container.machineLiquefactor=Разжижитель container.machineLiquefactor=Разжижитель
tile.machine_liquefactor.name=Промышленный разжижитель tile.machine_liquefactor.name=Промышленный разжижитель
container.machineSolidifier=Отвердитель container.machineSolidifier=Отвердитель
@ -1826,6 +1832,7 @@ item.injector_5htp.name=Автоинъектор 5-гидрокситрипто
item.injector_knife.name=Автоинъектор 8 дюймового лезвия item.injector_knife.name=Автоинъектор 8 дюймового лезвия
item.v1.name=V1 item.v1.name=V1
item.holotape_image.name=Голодиск item.holotape_image.name=Голодиск
item.holotape_damaged.name=Повреждённый голодиск
item.wire_magnetized_tungsten.name=4000K Высокотемпературный проводник item.wire_magnetized_tungsten.name=4000K Высокотемпературный проводник
item.coil_magnetized_tungsten.name=4000K Высокотемпературная сверхпроводящая катушка item.coil_magnetized_tungsten.name=4000K Высокотемпературная сверхпроводящая катушка
@ -2125,7 +2132,9 @@ tile.block_bismuth.name=Блок висмута
tile.block_coltan.name=Блок колтана tile.block_coltan.name=Блок колтана
tile.block_tantalium.name=Блок тантала tile.block_tantalium.name=Блок тантала
tile.block_semtex.name=Блок семтекса tile.block_semtex.name=Блок семтекса
tile.semtex.name=Семтекс
tile.block_c4.name=Блок C-4 tile.block_c4.name=Блок C-4
tile.c4.name=C-4
tile.block_smore.name=Блок с'мора tile.block_smore.name=Блок с'мора
tile.block_niobium.name=Блок ниобия tile.block_niobium.name=Блок ниобия
tile.block_bakelite.name=Блок бакелита tile.block_bakelite.name=Блок бакелита
@ -2920,6 +2929,7 @@ item.ammo_stinger_rocket_bones.name=Ракета-Стингер (Поиск мо
item.gun_hk69.name=Гранатомет item.gun_hk69.name=Гранатомет
item.gun_quadro.name="Четыре Сыра" item.gun_quadro.name="Четыре Сыра"
item.gun_sauer.name=Дробовик Стэна Зауэра item.gun_sauer.name=Дробовик Стэна Зауэра
item.gun_spas12.name=Дробовик SPAS-12
item.gun_thompson.name=Пистолет-пулемёт Томпсона item.gun_thompson.name=Пистолет-пулемёт Томпсона
item.flame_pony.name=Картинка цветной лошади item.flame_pony.name=Картинка цветной лошади
@ -3175,7 +3185,7 @@ item.loop_stew.name=Завтрак IT-шника
item.fooditem.name=пищевой продукт item.fooditem.name=пищевой продукт
item.twinkie.name=Твинки item.twinkie.name=Твинки
item.static_sandwich.name=Сэндвич с помехами item.static_sandwich.name=Сэндвич с помехами
item.pancake.name=Блинчики из металлолома, гвоздей и драгоценной пыли item.pancake.name=Блинчики с металлоломом, гвоздями и самоцветной пылью
item.peas.name=Горошек item.peas.name=Горошек
item.bio_wafer.name=Вафля из водорослей item.bio_wafer.name=Вафля из водорослей
@ -3280,6 +3290,7 @@ item.ammo_mirv_special.name=МИЛВ-минизаряд
item.ammo_mirv_high.name=МИРВ-минизаряд (Высокомощный) item.ammo_mirv_high.name=МИРВ-минизаряд (Высокомощный)
item.ammo_mirv_low.name=МИРВ-минизаряд (Маломощный) item.ammo_mirv_low.name=МИРВ-минизаряд (Маломощный)
item.ammo_mirv_safe.name=МИРВ-минизаряд (Безопасный) item.ammo_mirv_safe.name=МИРВ-минизаряд (Безопасный)
item.ammo_nuke_barrel.name=Мини-бочка с ядерными отходами
item.ammo_nuke.name=Ядерный минизаряд item.ammo_nuke.name=Ядерный минизаряд
item.ammo_nuke_high.name=Ядерный минизаряд (Высокомощный) item.ammo_nuke_high.name=Ядерный минизаряд (Высокомощный)
item.ammo_nuke_low.name=Ядерный минизаряд (Маломощный) item.ammo_nuke_low.name=Ядерный минизаряд (Маломощный)
@ -3975,13 +3986,15 @@ item.rpa_boots.name=Ботинки силовой брони Оставшихс
item.rpa_helmet.name=Шлем силовой брони Оставшихся item.rpa_helmet.name=Шлем силовой брони Оставшихся
item.rpa_legs.name=Поножи силовой брони Оставшихся item.rpa_legs.name=Поножи силовой брони Оставшихся
item.rpa_plate.name=Нагрудник силовой брони Оставшихся item.rpa_plate.name=Нагрудник силовой брони Оставшихся
item.steamsuit_boots.name=Ботинки парового костюма
item.steamsuit_helmet.name=Респираторный шлем парового костюма
item.steamsuit_legs.name=Поножи парового костюма
item.steamsuit_plate.name=Нагрудник парового костюма
item.bj_boots.name=Лунные шипованные ботинки item.bj_boots.name=Лунные шипованные ботинки
item.bj_helmet.name=Повязка с тепловым сенсором item.bj_helmet.name=Повязка с тепловым сенсором
item.bj_legs.name=Лунные кибернетические замены ног item.bj_legs.name=Лунные кибернетические замены ног
item.bj_plate.name=Лунная кибернетическая обшивка item.bj_plate.name=Лунная кибернетическая обшивка
item.bj_plate_jetpack.name=Лунная кибернетическая обшивка (с крыльями) item.bj_plate_jetpack.name=Лунная кибернетическая обшивка (с крыльями)
item.hev_boots.name=Ботинки H.E.V Модели IV item.hev_boots.name=Ботинки H.E.V Модели IV
item.hev_plate.name=Нагрудник H.E.V Модели IV item.hev_plate.name=Нагрудник H.E.V Модели IV
item.hev_helmet.name=Шлем H.E.V Модели IV item.hev_helmet.name=Шлем H.E.V Модели IV
@ -4072,10 +4085,10 @@ item.dnt_boots.name=даенайтриевые ботинки
item.dnt_legs.name=динейтроновые поножи item.dnt_legs.name=динейтроновые поножи
item.dnt_helmet.name=динотрониму шлем item.dnt_helmet.name=динотрониму шлем
item.dnt_plate.name=динейтромы нагрудник item.dnt_plate.name=динейтромы нагрудник
item.dns_boots.name=Ботинки DNT Нанокостюма item.dns_boots.name=Ботинки DNT-Нанокостюма
item.dns_legs.name=Поножи DNT Нанокостюма item.dns_legs.name=Поножи DNT-Нанокостюма
item.dns_helmet.name=Шлем DNT Нанокостюма item.dns_helmet.name=Шлем DNT-Нанокостюма
item.dns_plate.name=Нагрудник DNT Нанокостюма item.dns_plate.name=Нагрудник DNT-Нанокостюма
item.zirconium_legs.name=Циркониевые штаны item.zirconium_legs.name=Циркониевые штаны
item.robes_boots.name=Полевые ботинки item.robes_boots.name=Полевые ботинки
item.robes_helmet.name=Повседневная толстовка с капюшоном item.robes_helmet.name=Повседневная толстовка с капюшоном
@ -4658,6 +4671,7 @@ item.grenade_if_spark.desc.11=§o"31-31-31-31-31-31-31-31-31-31-31-31-31"
item.grenade_if_spark.desc=§o"We can't rewind, we've gone too far." item.grenade_if_spark.desc=§o"We can't rewind, we've gone too far."
item.grenade_if_sticky.desc=§o"This one is the booger grenade." item.grenade_if_sticky.desc=§o"This one is the booger grenade."
item.grenade_if_toxic.desc=§o"TOXIC SHOCK" item.grenade_if_toxic.desc=§o"TOXIC SHOCK"
item.grenade_kyiv.name=The Kyiv Special
item.grenade_lunatic.desc.11=§c§o"The Moon dams collapse, flooding you with Lunar light" item.grenade_lunatic.desc.11=§c§o"The Moon dams collapse, flooding you with Lunar light"
item.grenade_lunatic.desc=§o"Here, have some Xanax, you're not you under the influence of DRX." item.grenade_lunatic.desc=§o"Here, have some Xanax, you're not you under the influence of DRX."
item.grenade_lunatic.name=Lunatic Grenade item.grenade_lunatic.name=Lunatic Grenade
@ -4694,6 +4708,7 @@ item.gun_uac_dmr.name=UAC DMR
item.gun_uac_lmg.name=UAC LMG item.gun_uac_lmg.name=UAC LMG
item.gun_uac_pistol.name=UAC .45 Pistol item.gun_uac_pistol.name=UAC .45 Pistol
item.gun_uac_smg.name=UAC SMG item.gun_uac_smg.name=UAC SMG
item.gun_detonator.name=Лазерный детонатор
item.ingot_bk247.name=Berkelium-247 Ingot item.ingot_bk247.name=Berkelium-247 Ingot
item.ingot_bk248.name=Berkelium-248 Ingot item.ingot_bk248.name=Berkelium-248 Ingot
item.ingot_bk249.name=Berkelium-249 Ingot item.ingot_bk249.name=Berkelium-249 Ingot

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 442 B

After

Width:  |  Height:  |  Size: 450 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 498 B

After

Width:  |  Height:  |  Size: 524 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 549 B

After

Width:  |  Height:  |  Size: 516 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 B

View File

@ -3,7 +3,7 @@
"modid": "hbm", "modid": "hbm",
"name": "Hbm's Nuclear Tech", "name": "Hbm's Nuclear Tech",
"description": "A mod that adds weapons, nuclear themed stuff and machines", "description": "A mod that adds weapons, nuclear themed stuff and machines",
"version":"1.0.27_X4158", "version":"1.0.27_X4172",
"mcversion": "1.7.10", "mcversion": "1.7.10",
"url": "", "url": "",
"updateUrl": "", "updateUrl": "",