Merge remote-tracking branch 'upstream/master'
@ -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"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -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();
|
||||||
|
|||||||
@ -128,4 +128,7 @@ public class PowerNet implements IPowerNet {
|
|||||||
|
|
||||||
return power - totalGiven;
|
return power - totalGiven;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void reevaluate() { }
|
||||||
}
|
}
|
||||||
|
|||||||
10
src/main/java/api/hbm/fluid/IFluidConductor.java
Normal 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);
|
||||||
|
}
|
||||||
31
src/main/java/api/hbm/fluid/IFluidConnector.java
Normal 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);
|
||||||
|
}
|
||||||
8
src/main/java/api/hbm/fluid/IPipeNet.java
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
package api.hbm.fluid;
|
||||||
|
|
||||||
|
import api.hbm.energy.IPowerNet;
|
||||||
|
|
||||||
|
public interface IPipeNet {
|
||||||
|
|
||||||
|
public void joinNetworks(IPowerNet network);
|
||||||
|
}
|
||||||
@ -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());
|
||||||
|
|||||||
13
src/main/java/com/hbm/blocks/bomb/BlockC4.java
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
92
src/main/java/com/hbm/blocks/bomb/BlockPlasticExplosive.java
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
@ -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 });
|
||||||
|
|||||||
@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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);
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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"));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
package com.hbm.entity.grenade;
|
||||||
|
|
||||||
|
import com.hbm.items.weapon.ItemGenericGrenade;
|
||||||
|
|
||||||
|
public interface IGenericGrenade {
|
||||||
|
|
||||||
|
public ItemGenericGrenade getGrenade();
|
||||||
|
}
|
||||||
@ -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();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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) {
|
||||||
|
|||||||
@ -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());
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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";
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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));
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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},
|
||||||
|
|||||||
@ -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());
|
||||||
|
|||||||
@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
45
src/main/java/com/hbm/items/weapon/ItemGenericGrenade.java
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
14
src/main/java/com/hbm/items/weapon/ItemGrenadeKyiv.java
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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) {
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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());
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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");
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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);
|
||||||
|
|
||||||
|
|||||||
@ -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) {
|
||||||
|
|||||||
@ -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();
|
||||||
|
|||||||
@ -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);
|
||||||
|
|
||||||
|
|||||||
@ -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) {
|
||||||
|
|||||||
@ -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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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();
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
9112
src/main/resources/assets/hbm/models/weapons/rem700poly.obj
Normal file
10780
src/main/resources/assets/hbm/models/weapons/rem700sat.obj
Normal file
|
Before Width: | Height: | Size: 442 B After Width: | Height: | Size: 450 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 498 B After Width: | Height: | Size: 524 B |
BIN
src/main/resources/assets/hbm/textures/blocks/c4_bottom.png
Normal file
|
After Width: | Height: | Size: 174 B |
BIN
src/main/resources/assets/hbm/textures/blocks/c4_side.png
Normal file
|
After Width: | Height: | Size: 244 B |
BIN
src/main/resources/assets/hbm/textures/blocks/c4_top.png
Normal file
|
After Width: | Height: | Size: 465 B |
BIN
src/main/resources/assets/hbm/textures/blocks/semtex_bottom.png
Normal file
|
After Width: | Height: | Size: 166 B |
BIN
src/main/resources/assets/hbm/textures/blocks/semtex_side.png
Normal file
|
After Width: | Height: | Size: 241 B |
BIN
src/main/resources/assets/hbm/textures/blocks/semtex_top.png
Normal file
|
After Width: | Height: | Size: 439 B |
|
Before Width: | Height: | Size: 549 B After Width: | Height: | Size: 516 B |
BIN
src/main/resources/assets/hbm/textures/items/spawn_duck.png
Normal file
|
After Width: | Height: | Size: 317 B |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 240 B |
|
After Width: | Height: | Size: 252 B |
@ -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": "",
|
||||||
|
|||||||