Hunter chopper + CMB steel

This commit is contained in:
HbmMods 2016-07-24 12:46:41 +02:00
parent d2ca996362
commit 4af9e010a9
71 changed files with 1916 additions and 400 deletions

View File

@ -11,6 +11,7 @@ death.attack.euthanizedSelf=%1$s hat sich selbst eingeschläfert, was für ein V
death.attack.euthanizedSelf2=%1$s gewinnt den Darwin Award.
death.attack.tau=%1$s wurde von %2$s mit negativ geladenen Tauonen durchsiebt.
death.attack.tauBlast=%1$s lud die XVL1456 zu lange auf und wurde in Stücke gerissen.
death.attack.chopperBullet=%1$s wurde von %2$s gerekt.
item.redstone_sword.name=Redstoneschwert
item.big_sword.name=Großes Schwert
@ -185,6 +186,10 @@ item.wire_advanced_alloy.name=Supraleiter
item.coil_advanced_alloy.name=Supraleitende Magnetspule
item.coil_advanced_torus.name=Supraleitende Ringspule
item.lithium.name=Lithiumwürfel
item.ingot_magnetized_tungsten.name=Magnetisierter Wolframbarren
item.ingot_combine_steel.name=CMB-Stahlbarren
item.plate_combine_steel.name=CMB-Stahlplatte
item.wire_magnetized_tungsten.name=4000K Hochtemperaturensupraleiter
item.nugget_u235.name=U235-Nugget
item.nugget_u238.name=U238-Nugget
@ -222,6 +227,8 @@ tile.block_trinitite.name=Trinititblock
tile.block_beryllium.name=Berylliumblock
tile.block_waste.name=Atommüllblock
tile.block_advanced_alloy.name=Fortgeschrittener Legierungsblock
tile.block_magnetized_tungsten.name=Magnetisierter Wolframblock
tile.block_combine_steel.name=CMB-Stahlblock
tile.ore_aluminium.name=Aluminiumerz
tile.ore_copper.name=Kupfererz
@ -414,6 +421,7 @@ item.grenade_electric.name=Blitzbombe
item.grenade_poison.name=Giftgranate
item.grenade_gas.name=Gasgranate
item.grenade_plasma.name=Plasmagranate
item.grenade_tau.name=Taugranate
item.grenade_schrabidium.name=Schrabidiumgranate
item.grenade_nuke.name=Mark VI Bohrgranate
item.grenade_nuclear.name=Nuka-Granate
@ -508,6 +516,7 @@ entity.hbm.entity_bullet.name=Patrone
entity.hbm.entity_rocket.name=Rakete
entity.hbm.entity_schrabnel.name=Schrabnel
entity.entity_mob_nuclear_creeper.name=Nuklearer Creeper
entity.entity_mob_hunter_chopper.name=Jagdschrauber
item.cap_aluminium.name=Aluminiumdeckel
item.hull_small_steel.name=Kleine Stahlhülle

View File

@ -11,6 +11,7 @@ death.attack.euthanizedSelf=%1$s euthanized himself, what a dork.
death.attack.euthanizedSelf2=%1$s wins the Darwin Award.
death.attack.tau=%1$s was riddeled by %2$s using negatively charged tauons.
death.attack.tauBlast=%1$s charged the XVL1456 for too long and was blown into pieces.
death.attack.chopperBullet=%1$s was rekt by %2$s.
item.redstone_sword.name=Redstone Sword
item.big_sword.name=Great Sword
@ -185,6 +186,10 @@ item.wire_advanced_alloy.name=Super Conductor
item.coil_advanced_alloy.name=Super Conducting Coil
item.coil_advanced_torus.name=Super Conducting Ring Coil
item.lithium.name=Lithium Cube
item.ingot_magnetized_tungsten.name=Magnetized Tungsten Ingot
item.ingot_combine_steel.name=CMB Steel Ingot
item.plate_combine_steel.name=CMB Steel Plate
item.wire_magnetized_tungsten.name=4000K High Temperature Super Conductor
item.nugget_u235.name=U235 Nugget
item.nugget_u238.name=U238 Nugget
@ -222,6 +227,8 @@ tile.block_trinitite.name=Block of Trinitite
tile.block_beryllium.name=Block of Beryllium
tile.block_waste.name=Block of Nuclear Waste
tile.block_advanced_alloy.name=Block of Advanced Alloy
tile.block_magnetized_tungsten.name=Block of Magnetized Tungsten
tile.block_combine_steel.name=Block of CMB Steel
tile.ore_aluminium.name=Aluminium Ore
tile.ore_copper.name=Copper Ore
@ -414,6 +421,7 @@ item.grenade_electric.name=Lightning Bomb
item.grenade_poison.name=Poison Grenade
item.grenade_gas.name=Gas Grenade
item.grenade_plasma.name=Plasma Grenade
item.grenade_tau.name=Tau Grenade
item.grenade_schrabidium.name=Schrabidium Grenade
item.grenade_nuke.name=Mark VI Drill Grenade
item.grenade_nuclear.name=Nuka Grenade
@ -508,6 +516,7 @@ entity.hbm.entity_bullet.name=Bullet
entity.hbm.entity_rocket.name=Rocket
entity.hbm.entity_schrabnel.name=Schrabnel
entity.entity_mob_nuclear_creeper.name=Nuclear Creeper
entity.entity_mob_hunter_chopper.name=Hunter Chopper
item.cap_aluminium.name=Aluminium Cap
item.hull_small_steel.name=Small Steel Shell

Binary file not shown.

After

Width:  |  Height:  |  Size: 434 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 517 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 503 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -0,0 +1,45 @@
{
"animation": {
"frametime": 2,
"frames": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
18,
17,
16,
15,
14,
13,
12,
11,
10,
9,
8,
7,
6,
5,
4,
3,
2,
1
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 963 B

View File

@ -0,0 +1,3 @@
{
"animation": { }
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

View File

@ -81,6 +81,16 @@ public class BlockReactor extends Block {
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":watz_conductor_top");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":watz_conductor_side");
}
if(this == ModBlocks.fwatz_conductor)
{
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":block_combine_steel");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_conductor_side");
}
if(this == ModBlocks.fwatz_cooler)
{
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_cooler_top");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_cooler");
}
}
@Override

View File

@ -0,0 +1,19 @@
package com.hbm.blocks;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class FWatzCore extends BlockContainer {
protected FWatzCore(Material p_i45386_1_) {
super(p_i45386_1_);
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return null;
}
}

View File

@ -0,0 +1,111 @@
package com.hbm.blocks;
import java.util.Random;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
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.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
public class FWatzHatch extends Block {
@SideOnly(Side.CLIENT)
private IIcon iconFront;
private IIcon iconTop;
protected FWatzHatch(Material p_i45394_1_) {
super(p_i45394_1_);
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) {
this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_hatch");
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_scaffold");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_scaffold");
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int metadata) {
return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : (metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon)));
}
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
{
return Item.getItemFromBlock(this);
}
@Override
public void onBlockAdded(World world, int x, int y, int z) {
super.onBlockAdded(world, x, y, z);
//this.setDefaultDirection(world, x, y, z);
}
private void setDefaultDirection(World world, int x, int y, int z) {
if(!world.isRemote)
{
Block block1 = world.getBlock(x, y, z - 1);
Block block2 = world.getBlock(x, y, z + 1);
Block block3 = world.getBlock(x - 1, y, z);
Block block4 = world.getBlock(x + 1, y, z);
byte b0 = 3;
if(block1.func_149730_j() && !block2.func_149730_j())
{
b0 = 3;
}
if(block2.func_149730_j() && !block1.func_149730_j())
{
b0 = 2;
}
if(block3.func_149730_j() && !block4.func_149730_j())
{
b0 = 5;
}
if(block4.func_149730_j() && !block3.func_149730_j())
{
b0 = 4;
}
world.setBlockMetadataWithNotify(x, y, z, b0, 2);
}
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
if(i == 0)
{
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
}
if(i == 1)
{
world.setBlockMetadataWithNotify(x, y, z, 5, 2);
}
if(i == 2)
{
world.setBlockMetadataWithNotify(x, y, z, 3, 2);
}
if(i == 3)
{
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
}
}
}

View File

@ -64,6 +64,8 @@ public class ModBlocks {
public static Block block_beryllium;
public static Block block_schrabidium;
public static Block block_advanced_alloy;
public static Block block_magnetized_tungsten;
public static Block block_combine_steel;
public static Block reinforced_brick;
public static Block reinforced_glass;
@ -220,6 +222,16 @@ public class ModBlocks {
public static Block watz_core;
public static final int guiID_watz_multiblock = 32;
public static Block fwatz_conductor;
public static Block fwatz_cooler;
public static Block fwatz_tank;
public static Block fwatz_scaffold;
public static Block fwatz_hatch;
public static Block fwatz_computer;
public static Block fwatz_core;
public static Block fwatz_plasma;
public static final int guiID_fwatz_multiblock = 33;
public static Block machine_converter_he_rf;
public static final int guiID_converter_he_rf = 28;
@ -308,6 +320,8 @@ public class ModBlocks {
block_beryllium = new BlockGeneric(Material.iron).setBlockName("block_beryllium").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_beryllium");
block_schrabidium = new BlockGeneric(Material.iron).setBlockName("block_schrabidium").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium");
block_advanced_alloy = new BlockGeneric(Material.iron).setBlockName("block_advanced_alloy").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_advanced_alloy");
block_magnetized_tungsten = new BlockGeneric(Material.iron).setBlockName("block_magnetized_tungsten").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(35.0F).setBlockTextureName(RefStrings.MODID + ":block_magnetized_tungsten");
block_combine_steel = new BlockGeneric(Material.iron).setBlockName("block_combine_steel").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_combine_steel");
reinforced_brick = new BlockGeneric(Material.rock).setBlockName("reinforced_brick").setCreativeTab(MainRegistry.tabBlock).setLightOpacity(15).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_brick");
reinforced_glass = new ReinforcedBlock(Material.glass).setBlockName("reinforced_glass").setCreativeTab(MainRegistry.tabBlock).setLightOpacity(0).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_glass");
@ -432,6 +446,15 @@ public class ModBlocks {
watz_conductor = new BlockReactor(Material.iron).setBlockName("watz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":watz_conductor");
watz_core = new WatzCore(Material.iron).setBlockName("watz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":watz_computer");
fwatz_conductor = new BlockReactor(Material.iron).setBlockName("fwatz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":fwatz_conductor");
fwatz_cooler = new BlockReactor(Material.iron).setBlockName("fwatz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":fwatz_cooler");
fwatz_tank = new ReinforcedBlock(Material.iron).setBlockName("fwatz_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":fwatz_tank");
fwatz_scaffold = new BlockGeneric(Material.iron).setBlockName("fwatz_scaffold").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":fwatz_scaffold");
fwatz_hatch = new FWatzHatch(Material.iron).setBlockName("fwatz_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":fwatz_computer");
fwatz_computer = new BlockGeneric(Material.iron).setBlockName("fwatz_computer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":fwatz_computer");
fwatz_core = new FWatzCore(Material.iron).setBlockName("fwatz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":fwatz_core");
fwatz_plasma = new BlockPlasma(Material.iron).setBlockName("fwatz_plasma").setHardness(5.0F).setResistance(6000.0F).setLightLevel(1.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":fwatz_plasma");
machine_converter_he_rf = new BlockConverterHeRf(Material.iron).setBlockName("machine_converter_he_rf").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_converter_he_rf");
machine_converter_rf_he = new BlockConverterRfHe(Material.iron).setBlockName("machine_converter_rf_he").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_converter_rf_he");
@ -512,6 +535,8 @@ public class ModBlocks {
GameRegistry.registerBlock(block_trinitite, block_trinitite.getUnlocalizedName());
GameRegistry.registerBlock(block_waste, block_waste.getUnlocalizedName());
GameRegistry.registerBlock(block_schrabidium, ItemSchrabidiumBlock.class, block_schrabidium.getUnlocalizedName());
GameRegistry.registerBlock(block_magnetized_tungsten, block_magnetized_tungsten.getUnlocalizedName());
GameRegistry.registerBlock(block_combine_steel, block_combine_steel.getUnlocalizedName());
//Reinforced Blocks
GameRegistry.registerBlock(reinforced_brick, reinforced_brick.getUnlocalizedName());
@ -634,6 +659,15 @@ public class ModBlocks {
GameRegistry.registerBlock(watz_conductor, watz_conductor.getUnlocalizedName());
GameRegistry.registerBlock(watz_core, watz_core.getUnlocalizedName());
GameRegistry.registerBlock(fwatz_conductor, fwatz_conductor.getUnlocalizedName());
GameRegistry.registerBlock(fwatz_scaffold, fwatz_scaffold.getUnlocalizedName());
GameRegistry.registerBlock(fwatz_hatch, fwatz_hatch.getUnlocalizedName());
GameRegistry.registerBlock(fwatz_computer, fwatz_computer.getUnlocalizedName());
GameRegistry.registerBlock(fwatz_core, fwatz_core.getUnlocalizedName());
GameRegistry.registerBlock(fwatz_cooler, fwatz_cooler.getUnlocalizedName());
GameRegistry.registerBlock(fwatz_tank, fwatz_tank.getUnlocalizedName());
GameRegistry.registerBlock(fwatz_plasma, fwatz_plasma.getUnlocalizedName());
//Launch Pads
GameRegistry.registerBlock(launch_pad, launch_pad.getUnlocalizedName());
GameRegistry.registerBlock(launch_pad_generic, launch_pad_generic.getUnlocalizedName());

View File

@ -44,6 +44,7 @@ public class MudBlock extends BlockFluidClassic {
damageSource = damage;
setQuantaPerBlock(4);
setCreativeTab(null);
displacements.put(this, false);
}
@SideOnly(Side.CLIENT)
@ -57,46 +58,53 @@ public class MudBlock extends BlockFluidClassic {
flowingIcon = register.registerIcon(RefStrings.MODID + ":mud_flowing");
}
@Override
public boolean canDisplace(IBlockAccess world, int x, int y, int z) {
if (world.getBlock(x, y, z).getMaterial().isLiquid())
if (world.getBlock(x, y, z).getMaterial().isLiquid()) {
return false;
}
return super.canDisplace(world, x, y, z);
}
@Override
public boolean displaceIfPossible(World world, int x, int y, int z) {
if (world.getBlock(x, y, z).getMaterial().isLiquid())
if (world.getBlock(x, y, z).getMaterial().isLiquid()) {
return false;
}
return super.displaceIfPossible(world, x, y, z);
}
public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) {
entity.setInWeb();
//if(entity instanceof EntityLivingBase)
//{
// if(entity instanceof EntityLivingBase)
// {
// entity.attackEntityFrom(ModDamageSource.mudPoisoning, 8);
//}
if(entity instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer)entity))
{
/*Library.damageSuit(((EntityPlayer)entity), 0);
Library.damageSuit(((EntityPlayer)entity), 1);
Library.damageSuit(((EntityPlayer)entity), 2);
Library.damageSuit(((EntityPlayer)entity), 3);*/
// }
if (entity instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer) entity)) {
/*
* Library.damageSuit(((EntityPlayer)entity), 0);
* Library.damageSuit(((EntityPlayer)entity), 1);
* Library.damageSuit(((EntityPlayer)entity), 2);
* Library.damageSuit(((EntityPlayer)entity), 3);
*/
} else if(entity instanceof EntityCreeper) {
} else if (entity instanceof EntityCreeper) {
EntityNuclearCreeper creep = new EntityNuclearCreeper(world);
creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch);
if(!entity.isDead)
if(!world.isRemote)
if (!entity.isDead)
if (!world.isRemote)
world.spawnEntityInWorld(creep);
entity.setDead();
} else if(entity instanceof EntityVillager) {
} else if (entity instanceof EntityVillager) {
EntityZombie creep = new EntityZombie(world);
creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch);
entity.setDead();
if(!world.isRemote)
if (!world.isRemote)
world.spawnEntityInWorld(creep);
} else if(entity instanceof EntityLivingBase && !(entity instanceof EntityNuclearCreeper) && !(entity instanceof EntityMooshroom) && !(entity instanceof EntityZombie))
{
} else if (entity instanceof EntityLivingBase && !(entity instanceof EntityNuclearCreeper)
&& !(entity instanceof EntityMooshroom) && !(entity instanceof EntityZombie)) {
entity.attackEntityFrom(ModDamageSource.mudPoisoning, 8);
}
}
@ -105,8 +113,7 @@ public class MudBlock extends BlockFluidClassic {
super.updateTick(world, x, y, z, rand);
}
public int tickRate(World p_149738_1_)
{
public int tickRate(World p_149738_1_) {
return 15;
}

View File

@ -27,7 +27,7 @@ public class ReinforcedBlock extends Block {
{
Block block = p_149646_1_.getBlock(p_149646_2_, p_149646_3_, p_149646_4_);
if (this == ModBlocks.reinforced_glass)
if (this == ModBlocks.reinforced_glass || this == ModBlocks.fwatz_tank)
{
if (p_149646_1_.getBlockMetadata(p_149646_2_, p_149646_3_, p_149646_4_) != p_149646_1_.getBlockMetadata(p_149646_2_ - Facing.offsetsXForSide[p_149646_5_], p_149646_3_ - Facing.offsetsYForSide[p_149646_5_], p_149646_4_ - Facing.offsetsZForSide[p_149646_5_]))
{

View File

@ -154,6 +154,31 @@ public class EntityBullet extends Entity implements IProjectile {
this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI));
this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, p_i1756_3_ * 1.5F, 1.0F);
this.setTau(isTau == "tauDay");
this.setChopper(isTau == "chopper");
this.setIsCritical(isTau != "chopper");
}
public EntityBullet(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_, int dmgMin, int dmgMax,
boolean instakill, String isTau, EntityGrenadeTau grenade) {
super(p_i1756_1_);
this.renderDistanceWeight = 10.0D;
this.shootingEntity = p_i1756_2_;
this.setSize(0.5F, 0.5F);
this.setLocationAndAngles(grenade.posX, grenade.posY + grenade.getEyeHeight(), grenade.posZ,
grenade.rotationYaw, grenade.rotationPitch);
this.posX -= MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F;
this.posY -= 0.10000000149011612D;
this.posZ -= MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F;
this.setPosition(this.posX, this.posY, this.posZ);
this.yOffset = 0.0F;
this.motionX = -MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI)
* MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI);
this.motionZ = MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI)
* MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI);
this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI));
this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, p_i1756_3_ * 1.5F, 1.0F);
this.setTau(isTau == "tauDay");
this.setIsCritical(true);
}
@ -174,6 +199,7 @@ public class EntityBullet extends Entity implements IProjectile {
protected void entityInit() {
this.dataWatcher.addObject(16, Byte.valueOf((byte) 0));
this.dataWatcher.addObject(17, Byte.valueOf((byte) 0));
this.dataWatcher.addObject(18, Byte.valueOf((byte) 0));
}
/**
@ -241,7 +267,6 @@ public class EntityBullet extends Entity implements IProjectile {
/**
* Called to update the entity's position/logic.
*/
// @Override
@Override
public void onUpdate() {
super.onUpdate();
@ -364,18 +389,35 @@ public class EntityBullet extends Entity implements IProjectile {
DamageSource damagesource = null;
if (!this.getIsCritical()) {
//L: Crit
//R: Chop
//X: NOT
//O: Direct
// X X Bullet
// \ |
// O-X Tau
// | /
// X-O Displacer
if (!this.getIsCritical() && !this.getIsChopper()) {
if (this.shootingEntity == null) {
damagesource = ModDamageSource.causeBulletDamage(this, this);
} else {
damagesource = ModDamageSource.causeBulletDamage(this, shootingEntity);
}
} else {
} else if(!this.getIsChopper()) {
if (this.shootingEntity == null) {
damagesource = ModDamageSource.causeTauDamage(this, this);
} else {
damagesource = ModDamageSource.causeTauDamage(this, shootingEntity);
}
} else if(!this.getIsCritical()) {
if (this.shootingEntity == null) {
damagesource = ModDamageSource.causeDisplacementDamage(this, this);
} else {
damagesource = ModDamageSource.causeDisplacementDamage(this, shootingEntity);
}
}
if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) {
@ -426,12 +468,13 @@ public class EntityBullet extends Entity implements IProjectile {
this.setDead();
}
} else if (!this.getIsCritical()) {
this.motionX *= -0.10000000149011612D;
/*this.motionX *= -0.10000000149011612D;
this.motionY *= -0.10000000149011612D;
this.motionZ *= -0.10000000149011612D;
this.rotationYaw += 180.0F;
this.prevRotationYaw += 180.0F;
this.ticksInAir = 0;
this.ticksInAir = 0;*/
this.setDead();
}
}
} else if (!this.getIsCritical()) {
@ -657,6 +700,16 @@ public class EntityBullet extends Entity implements IProjectile {
}
}
public void setChopper(boolean p_70243_1_) {
byte b0 = this.dataWatcher.getWatchableObjectByte(18);
if (p_70243_1_) {
this.dataWatcher.updateObject(18, Byte.valueOf((byte) (b0 | 1)));
} else {
this.dataWatcher.updateObject(18, Byte.valueOf((byte) (b0 & -2)));
}
}
/**
* Whether the arrow has a stream of critical hit particles flying behind
* it.
@ -670,4 +723,28 @@ public class EntityBullet extends Entity implements IProjectile {
byte b0 = this.dataWatcher.getWatchableObjectByte(17);
return (b0 & 1) != 0;
}
public boolean getIsChopper() {
byte b0 = this.dataWatcher.getWatchableObjectByte(18);
return (b0 & 1) != 0;
}
@Override
@SideOnly(Side.CLIENT)
public int getBrightnessForRender(float p_70070_1_)
{
if(this.getIsCritical() || this.getIsChopper())
return 15728880;
else
return super.getBrightnessForRender(p_70070_1_);
}
@Override
public float getBrightness(float p_70013_1_)
{
if(this.getIsCritical() || this.getIsChopper())
return 1.0F;
else
return super.getBrightness(p_70013_1_);
}
}

View File

@ -0,0 +1,146 @@
package com.hbm.entity;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
import net.minecraft.entity.IProjectile;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class EntityChopperMine extends Entity implements IProjectile {
public int timer = 0;
public Entity shooter;
private int field_145791_d = -1;
private int field_145792_e = -1;
private int field_145789_f = -1;
private boolean inGround;
public EntityChopperMine(World p_i1582_1_) {
super(p_i1582_1_);
}
public EntityChopperMine(World p_i1582_1_, double x, double y, double z, double moX, double moY, double moZ, Entity shooter) {
super(p_i1582_1_);
this.posX = x;
this.posY = y;
this.posZ = z;
this.motionX = moX;
this.motionY = moY;
this.motionZ = moZ;
this.shooter = shooter;
this.setSize(12, 12);
this.isImmuneToFire = true;
}
@Override
public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_,
float p_70186_8_) {
}
@Override
protected void entityInit() {
}
@Override
protected void readEntityFromNBT(NBTTagCompound p_70037_1_) {
}
@Override
protected void writeEntityToNBT(NBTTagCompound p_70014_1_) {
}
@Override
public void onUpdate() {
super.onUpdate();
Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ);
Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY,
this.posZ + this.motionZ);
MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false);
vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ);
vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY,
this.posZ + this.motionZ);
if (movingobjectposition != null) {
vec3 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord,
movingobjectposition.hitVec.zCoord);
}
Entity entity = null;
List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this,
this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D));
double d0 = 0.0D;
int i;
float f1;
for (i = 0; i < list.size(); ++i) {
Entity entity1 = (Entity) list.get(i);
if (entity1.canBeCollidedWith() && (entity1 != this.shooter)) {
f1 = 0.3F;
AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand(f1, f1, f1);
MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec31, vec3);
if (movingobjectposition1 != null) {
double d1 = vec31.distanceTo(movingobjectposition1.hitVec);
if (d1 < d0 || d0 == 0.0D) {
entity = entity1;
d0 = d1;
}
}
}
}
if (entity != null) {
movingobjectposition = new MovingObjectPosition(entity);
}
if (movingobjectposition != null && movingobjectposition.entityHit != null
&& movingobjectposition.entityHit instanceof EntityPlayer) {
worldObj.createExplosion(shooter, this.posX, this.posY, this.posZ, 5F, false);
this.setDead();
}
if(timer % 10 == 0 && timer % 20 != 0)
worldObj.playSoundAtEntity(this, "random.click", 10.0F, 1F);
if(timer % 20 == 0)
worldObj.playSoundAtEntity(this, "random.click", 10.0F, 1.5F);
if(timer >= 100 || worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ).getMaterial() != Material.air)
{
worldObj.createExplosion(shooter, this.posX, this.posY, this.posZ, 5F, false);
this.setDead();
}
if(motionY > -0.85)
this.motionY -= 0.05;
this.motionX *= 0.9;
this.motionZ *= 0.9;
this.posX += this.motionX;
this.posY += this.motionY;
this.posZ += this.motionZ;
timer++;
}
}

View File

@ -0,0 +1,55 @@
package com.hbm.entity;
import com.hbm.explosion.ExplosionChaos;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.monster.EntityBlaze;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
public class EntityGrenadeTau extends EntityThrowable
{
private static final String __OBFID = "CL_00001722";
public EntityGrenadeTau(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeTau(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
public EntityGrenadeTau(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_);
}
@Override
protected void onImpact(MovingObjectPosition p_70184_1_)
{
if (p_70184_1_.entityHit != null)
{
byte b0 = 0;
if (p_70184_1_.entityHit instanceof EntityBlaze)
{
b0 = 3;
}
p_70184_1_.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), b0);
}
if (!this.worldObj.isRemote)
{
this.setDead();
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.0F, true);
ExplosionChaos.tauMeSinPi(this.worldObj, this.posX, this.posY, this.posZ, 100, this.getThrower(), this);
}
}
}

View File

@ -0,0 +1,396 @@
package com.hbm.entity;
import com.hbm.items.ModItems;
import com.hbm.lib.Library;
import com.hbm.lib.ModDamageSource;
import com.hbm.particles.EntitySmokeFX;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityFlying;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
import net.minecraft.entity.boss.IBossDisplayData;
import net.minecraft.entity.monster.IMob;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityLargeFireball;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.stats.AchievementList;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.util.Vec3;
import net.minecraft.world.EnumDifficulty;
import net.minecraft.world.World;
public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisplayData {
public int courseChangeCooldown;
public double waypointX;
public double waypointY;
public double waypointZ;
private Entity targetedEntity;
/** Cooldown time between target loss and new target aquirement. */
private int aggroCooldown;
public int prevAttackCounter;
public int attackCounter;
public int mineDropCounter;
/** The explosion radius of spawned fireballs. */
private int explosionStrength = 1;
private static final String __OBFID = "CL_00001689";
public boolean isDying = false;
public EntityHunterChopper(World p_i1735_1_) {
super(p_i1735_1_);
this.setSize(8.25F, 3.0F);
this.isImmuneToFire = true;
this.experienceValue = 500;
}
@SideOnly(Side.CLIENT)
public boolean func_110182_bF() {
return this.dataWatcher.getWatchableObjectByte(16) != 0;
}
/**
* Called when the entity is attacked.
*/
public boolean attackEntityFrom(DamageSource source, float amount) {
if (this.isEntityInvulnerable() || !(source.isExplosion() || ModDamageSource.getIsTau(source) || (ModDamageSource.getIsEmplacer(source) && source.getEntity() != this))) {
return false;
} else if(amount >= this.getHealth()) {
this.initDeath();
return false;
}
if(rand.nextInt(20) == 0)
{
if(!worldObj.isRemote)
{
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true);
this.dropDamageItem();
}
}
for (int j = 0; j < 3; j++) {
double d0 = rand.nextDouble() / 20 * rand.nextInt(2) == 0 ? -1 : 1;
double d1 = rand.nextDouble() / 20 * rand.nextInt(2) == 0 ? -1 : 1;
double d2 = rand.nextDouble() / 20 * rand.nextInt(2) == 0 ? -1 : 1;
for (int i = 0; i < 8; i++)
if(this.worldObj.isRemote)
worldObj.spawnParticle("fireworksSpark", this.posX, this.posY, this.posZ, d0 * i, d1 * i, d2 * i);
}
return super.attackEntityFrom(source, amount);
}
protected void entityInit() {
super.entityInit();
this.dataWatcher.addObject(16, Byte.valueOf((byte) 0));
}
protected void applyEntityAttributes() {
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(1000.0D);
}
protected void updateEntityActionState() {
if (!this.worldObj.isRemote && this.worldObj.difficultySetting == EnumDifficulty.PEACEFUL) {
this.setDead();
}
if (!isDying) {
if (this.ticksExisted % 2 == 0)
this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "fireworks.blast", 10.0F, 0.5F);
this.despawnEntity();
this.prevAttackCounter = this.attackCounter;
double d0 = this.waypointX - this.posX;
double d1 = this.waypointY - this.posY;
double d2 = this.waypointZ - this.posZ;
double d3 = d0 * d0 + d1 * d1 + d2 * d2;
if (d3 < 1.0D || d3 > 3600.0D) {
if (this.targetedEntity != null) {
this.waypointX = targetedEntity.posX + (double) ((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F);
this.waypointZ = targetedEntity.posZ + (double) ((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F);
this.waypointY = this.worldObj.getHeightValue((int) waypointX, (int) waypointZ) + 10
+ rand.nextInt(15);
} else {
this.waypointX = this.posX + (double) ((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F);
this.waypointZ = this.posZ + (double) ((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F);
this.waypointY = this.worldObj.getHeightValue((int) waypointX, (int) waypointZ) + 10
+ rand.nextInt(15);
}
}
if (this.courseChangeCooldown-- <= 0) {
this.courseChangeCooldown += this.rand.nextInt(5) + 2;
d3 = (double) MathHelper.sqrt_double(d3);
if (this.isCourseTraversable(this.waypointX, this.waypointY, this.waypointZ, d3)) {
this.motionX += d0 / d3 * 0.1D;
this.motionY += d1 / d3 * 0.1D;
this.motionZ += d2 / d3 * 0.1D;
} else {
this.waypointX = this.posX + (double) ((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F);
this.waypointZ = this.posZ + (double) ((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F);
this.waypointY = this.worldObj.getHeightValue((int) waypointX, (int) waypointZ) + 10
+ rand.nextInt(15);
}
}
if (this.targetedEntity != null && this.targetedEntity.isDead) {
this.targetedEntity = null;
}
if (this.targetedEntity == null || this.attackCounter <= 0) {
// this.targetedEntity =
// this.worldObj.getClosestVulnerablePlayerToEntity(this,
// 100.0D);
this.targetedEntity = Library.getClosestEntityForChopper(worldObj, this.posX, this.posY, this.posZ,
250);
if (this.targetedEntity != null) {
this.aggroCooldown = 20;
}
}
double d4 = 64.0D;
if (this.targetedEntity != null && this.targetedEntity.getDistanceSqToEntity(this) < d4 * d4) {
double d8 = 2.0D;
Vec3 vec3 = this.getLook(1.0F);
double xStart = this.posX + vec3.xCoord * d8;
double yStart = this.posY - 0.5;
double zStart = this.posZ + vec3.zCoord * d8;
double d5 = this.targetedEntity.posX - xStart;
double d6 = this.targetedEntity.boundingBox.minY + (double) (this.targetedEntity.height / 2.0F)
- yStart;
double d7 = this.targetedEntity.posZ - zStart;
++this.attackCounter;
if (attackCounter >= 200) {
attackCounter -= 200;
System.out.println(this.targetedEntity.toString());
}
if (this.attackCounter % 2 == 0 && attackCounter >= 120) {
worldObj.playSoundAtEntity(this, "random.explode", 10.0F, 3.0F);
// EntityLargeFireball entitylargefireball = new
// EntityLargeFireball(this.worldObj, this, d5, d6, d7);
EntityBullet entityarrow = new EntityBullet(this.worldObj, this, 3.0F, 35, 45, false, "chopper");
Vec3 vec2 = Vec3.createVectorHelper(d5 - 1 + rand.nextInt(3), d6 - 1 + rand.nextInt(3),
d7 - 1 + rand.nextInt(3)).normalize();
double motion = 3;
entityarrow.motionX = vec2.xCoord * motion;
entityarrow.motionY = vec2.yCoord * motion;
entityarrow.motionZ = vec2.zCoord * motion;
// entitylargefireball.field_92057_e =
// this.explosionStrength;
entityarrow.setDamage(3 + rand.nextInt(5));
// entitylargefireball.posX = this.posX + vec3.xCoord * d8;
// entitylargefireball.posY = this.posY +
// (double)(this.height /
// 2.0F) + 0.5D;
// entitylargefireball.posZ = this.posZ + vec3.zCoord * d8;
entityarrow.posX = xStart;
entityarrow.posY = yStart;
entityarrow.posZ = zStart;
// this.worldObj.spawnEntityInWorld(entitylargefireball);
this.worldObj.spawnEntityInWorld(entityarrow);
}
if (this.attackCounter >= 80 && this.attackCounter < 120) {
worldObj.playSoundAtEntity(this, "random.click", 10.0F, 0.5F + ((attackCounter / 100) - 0.8F));
}
this.mineDropCounter++;
if (mineDropCounter > 100 && rand.nextInt(15) == 0) {
EntityChopperMine mine = new EntityChopperMine(worldObj, this.posX, this.posY - 0.5, this.posZ, 0, -0.3, 0, this);
this.mineDropCounter = 0;
this.worldObj.spawnEntityInWorld(mine);
if(rand.nextInt(3) == 0)
{
EntityChopperMine mine1 = new EntityChopperMine(worldObj, this.posX, this.posY - 0.5, this.posZ, 1, -0.3, 0, this);
EntityChopperMine mine2 = new EntityChopperMine(worldObj, this.posX, this.posY - 0.5, this.posZ, 0, -0.3, 1, this);
EntityChopperMine mine3 = new EntityChopperMine(worldObj, this.posX, this.posY - 0.5, this.posZ, -1, -0.3, 0, this);
EntityChopperMine mine4 = new EntityChopperMine(worldObj, this.posX, this.posY - 0.5, this.posZ, 0, -0.3, -1, this);
this.worldObj.spawnEntityInWorld(mine1);
this.worldObj.spawnEntityInWorld(mine2);
this.worldObj.spawnEntityInWorld(mine3);
this.worldObj.spawnEntityInWorld(mine4);
}
}
} else {
if (this.attackCounter > 0) {
this.attackCounter = 0;
}
}
if (!this.worldObj.isRemote) {
byte b1 = this.dataWatcher.getWatchableObjectByte(16);
byte b0 = (byte) (this.attackCounter > 10 ? 1 : 0);
if (b1 != b0) {
this.dataWatcher.updateObject(16, Byte.valueOf(b0));
}
}
} else {
motionY -= 0.08;
if(Math.sqrt(Math.pow(this.motionX, 2) + Math.pow(this.motionZ, 2)) * 1.2 < 1.8)
{
this.motionX *= 1.2;
this.motionZ *= 1.2;
}
if(rand.nextInt(30) == 0)
{
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true);
}
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(worldObj, this.posX, this.posY, this.posZ, 0, 0, 0));
if(this.onGround)
{
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15F, true);
this.dropItems();
this.setDead();
}
}
float f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
if(this.rotationYaw - (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI) >= 10)
this.prevRotationYaw = this.rotationYaw -= 10;
if(this.rotationYaw - (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI) <= -10)
this.prevRotationYaw = this.rotationYaw += 10;
if(this.rotationYaw - (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI) < 10 && this.rotationYaw - (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI) > 10)
this.prevRotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);
this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, f3) * 180.0D / Math.PI);
}
/**
* True if the ghast has an unobstructed line of travel to the waypoint.
*/
private boolean isCourseTraversable(double p_70790_1_, double p_70790_3_, double p_70790_5_, double p_70790_7_) {
double d4 = (this.waypointX - this.posX) / p_70790_7_;
double d5 = (this.waypointY - this.posY) / p_70790_7_;
double d6 = (this.waypointZ - this.posZ) / p_70790_7_;
AxisAlignedBB axisalignedbb = this.boundingBox.copy();
for (int i = 1; (double) i < p_70790_7_; ++i) {
axisalignedbb.offset(d4, d5, d6);
if (!this.worldObj.getCollidingBoundingBoxes(this, axisalignedbb).isEmpty()) {
return false;
}
}
return true;
}
protected String getHurtSound() {
return "none";
}
protected String getDeathSound() {
return "none";
}
/**
* Drop 0-2 items of this living's type. @param par1 - Whether this entity
* has recently been hit by a player. @param par2 - Level of Looting used to
* kill this mob.
*/
protected void dropItems() {
if(rand.nextInt(2) == 0)
this.dropItem(ModItems.chopper_head, 1);
if(rand.nextInt(2) == 0)
this.dropItem(ModItems.chopper_torso, 1);
if(rand.nextInt(2) == 0)
this.dropItem(ModItems.chopper_wing, 1);
if(rand.nextInt(3) == 0)
this.dropItem(ModItems.chopper_tail, 1);
if(rand.nextInt(3) == 0)
this.dropItem(ModItems.chopper_gun, 1);
if(rand.nextInt(3) == 0)
this.dropItem(ModItems.chopper_blades, 1);
this.dropItem(ModItems.combine_scrap, rand.nextInt(8) + 1);
this.dropItem(ModItems.plate_combine_steel, rand.nextInt(5) + 1);
this.dropItem(ModItems.wire_magnetized_tungsten, rand.nextInt(3) + 1);
}
/**
* Returns the volume for the sounds this mob makes.
*/
protected float getSoundVolume() {
return 10.0F;
}
/**
* Checks if the entity's current position is a valid location to spawn this
* entity.
*/
public boolean getCanSpawnHere() {
return this.rand.nextInt(20) == 0 && super.getCanSpawnHere()
&& this.worldObj.difficultySetting != EnumDifficulty.PEACEFUL;
}
/**
* Will return how many at most can spawn in a chunk at once.
*/
public int getMaxSpawnedInChunk() {
return 1;
}
/**
* (abstract) Protected helper method to write subclass entity data to NBT.
*/
public void writeEntityToNBT(NBTTagCompound p_70014_1_) {
super.writeEntityToNBT(p_70014_1_);
p_70014_1_.setInteger("ExplosionPower", this.explosionStrength);
}
/**
* (abstract) Protected helper method to read subclass entity data from NBT.
*/
public void readEntityFromNBT(NBTTagCompound p_70037_1_) {
super.readEntityFromNBT(p_70037_1_);
if (p_70037_1_.hasKey("ExplosionPower", 99)) {
this.explosionStrength = p_70037_1_.getInteger("ExplosionPower");
}
}
@Override
@SideOnly(Side.CLIENT)
public boolean isInRangeToRenderDist(double distance)
{
return distance < 25000;
}
public void initDeath() {
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10F, true);
isDying = true;
}
public void dropDamageItem() {
int i = rand.nextInt(10);
if(i < 6)
this.dropItem(ModItems.combine_scrap, 1);
else if(i > 7)
this.dropItem(ModItems.plate_combine_steel, 1);
else
this.dropItem(ModItems.wire_magnetized_tungsten, 1);
}
}

View File

@ -403,12 +403,11 @@ public class EntityRocket extends Entity implements IProjectile
}
else
{
this.motionX *= -0.10000000149011612D;
this.motionY *= -0.10000000149011612D;
this.motionZ *= -0.10000000149011612D;
this.rotationYaw += 180.0F;
this.prevRotationYaw += 180.0F;
this.ticksInAir = 0;
if (!this.worldObj.isRemote)
{
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 2.5F, true);
}
this.setDead();
}
}
else

View File

@ -5,6 +5,8 @@ import java.util.List;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.entity.EntityBullet;
import com.hbm.entity.EntityGrenadeTau;
import com.hbm.entity.EntityMirv;
import com.hbm.entity.EntityMissileBase;
import com.hbm.entity.EntityRocket;
@ -758,4 +760,48 @@ public class ExplosionChaos {
}
}
public static void tauMeSinPi(World world, double x, double y, double z, int count, Entity shooter, EntityGrenadeTau tau) {
double d1 = 0;
double d2 = 0;
double d3 = 0;
EntityBullet fragment;
if (shooter != null && shooter instanceof EntityPlayer)
for (int i = 0; i < count; i++) {
d1 = rand.nextDouble();
d2 = rand.nextDouble();
d3 = rand.nextDouble();
if (rand.nextInt(2) == 0) {
d1 *= -1;
}
if (rand.nextInt(2) == 0) {
d2 *= -1;
}
if (rand.nextInt(2) == 0) {
d3 *= -1;
}
if (rand.nextInt(5) == 0) {
fragment = new EntityBullet(world, (EntityPlayer)shooter, 3.0F, 35, 45, false, "tauDay", tau);
fragment.setDamage(rand.nextInt(301) + 100);
} else {
fragment = new EntityBullet(world, (EntityPlayer)shooter, 3.0F, 35, 45, false, "eyyOk", tau);
fragment.setDamage(rand.nextInt(11) + 35);
}
fragment.motionX = d1 * 5;
fragment.motionY = d2 * 5;
fragment.motionZ = d3 * 5;
fragment.shootingEntity = shooter;
fragment.setIsCritical(true);
world.spawnEntityInWorld(fragment);
}
}
}

View File

@ -24,54 +24,60 @@ public class MachineRecipes {
}
public static ItemStack getFurnaceProcessingResult(Item item, Item item2) {
return getFurnaceOutput(item ,item2);
return getFurnaceOutput(item, item2);
}
public static ItemStack getFurnaceOutput(Item item, Item item2) {
if(MainRegistry.enableDebugMode) {
if(item == Items.iron_ingot && item2 == Items.quartz || item == Items.quartz && item2 == Items.iron_ingot) {
if (MainRegistry.enableDebugMode) {
if (item == Items.iron_ingot && item2 == Items.quartz
|| item == Items.quartz && item2 == Items.iron_ingot) {
return new ItemStack(ModBlocks.test_render, 1);
}
}
if(item == ModItems.ingot_tungsten && item2 == Items.coal || item == Items.coal && item2 == ModItems.ingot_tungsten) {
if (item == ModItems.ingot_tungsten && item2 == Items.coal
|| item == Items.coal && item2 == ModItems.ingot_tungsten) {
return new ItemStack(ModItems.neutron_reflector, 2);
}
if(item == ModItems.ingot_lead && item2 == ModItems.ingot_copper || item == ModItems.ingot_copper && item2 == ModItems.ingot_lead) {
if (item == ModItems.ingot_lead && item2 == ModItems.ingot_copper
|| item == ModItems.ingot_copper && item2 == ModItems.ingot_lead) {
return new ItemStack(ModItems.neutron_reflector, 2);
}
if(item == ModItems.plate_lead && item2 == ModItems.plate_copper || item == ModItems.plate_copper && item2 == ModItems.plate_lead) {
if (item == ModItems.plate_lead && item2 == ModItems.plate_copper
|| item == ModItems.plate_copper && item2 == ModItems.plate_lead) {
return new ItemStack(ModItems.neutron_reflector, 1);
}
if(item == Items.iron_ingot && item2 == Items.coal || item == Items.coal && item2 == Items.iron_ingot) {
if (item == Items.iron_ingot && item2 == Items.coal || item == Items.coal && item2 == Items.iron_ingot) {
return new ItemStack(ModItems.ingot_steel, 2);
}
if(item == ModItems.ingot_copper && item2 == Items.redstone || item == Items.redstone && item2 == ModItems.ingot_copper) {
if (item == ModItems.ingot_copper && item2 == Items.redstone
|| item == Items.redstone && item2 == ModItems.ingot_copper) {
return new ItemStack(ModItems.ingot_red_copper, 2);
}
if(item == ModItems.canister_empty && item2 == Items.coal || item == Items.coal && item2 == ModItems.canister_empty) {
if (item == ModItems.canister_empty && item2 == Items.coal
|| item == Items.coal && item2 == ModItems.canister_empty) {
return new ItemStack(ModItems.canister_fuel, 1);
}
if(item == ModItems.ingot_red_copper && item2 == ModItems.ingot_steel || item == ModItems.ingot_steel && item2 == ModItems.ingot_red_copper) {
if (item == ModItems.ingot_red_copper && item2 == ModItems.ingot_steel
|| item == ModItems.ingot_steel && item2 == ModItems.ingot_red_copper) {
return new ItemStack(ModItems.ingot_advanced_alloy, 2);
}
if (item == ModItems.ingot_tungsten && item2 == ModItems.nugget_schrabidium
|| item == ModItems.nugget_schrabidium && item2 == ModItems.ingot_tungsten) {
return new ItemStack(ModItems.ingot_magnetized_tungsten, 1);
}
return null;
}
//Arrays!
// Arrays!
public static ItemStack[] getCentrifugeProcessingResult(Item item) {
return getCentrifugeOutput(item);
@ -79,128 +85,143 @@ public class MachineRecipes {
public static ItemStack[] getCentrifugeOutput(Item item) {
ItemStack[] uranium = new ItemStack[] {new ItemStack(ModItems.nugget_u238, 4), new ItemStack(ModItems.nugget_u238, 4), new ItemStack(ModItems.nugget_u235, 1), new ItemStack(ModItems.cell_empty, 1)};
ItemStack[] plutonium = new ItemStack[] {new ItemStack(ModItems.nugget_pu238, 3), new ItemStack(ModItems.nugget_pu239, 1), new ItemStack(ModItems.nugget_pu240, 5), new ItemStack(ModItems.cell_empty, 1)};
ItemStack[] test = new ItemStack[] {new ItemStack(Items.apple, 3), new ItemStack(Items.leather, 1), new ItemStack(Items.sugar, 3), new ItemStack(Items.blaze_powder, 2)};
ItemStack[] euphemium = new ItemStack[] {new ItemStack(ModItems.nugget_euphemium, 1), new ItemStack(ModItems.nugget_euphemium, 1), new ItemStack(ModItems.nugget_euphemium, 1), new ItemStack(ModItems.rod_quad_empty, 1)};
ItemStack[] schrabidium = new ItemStack[] {new ItemStack(ModItems.ingot_schrabidium, 1), new ItemStack(ModItems.sulfur, 1), new ItemStack(ModItems.sulfur, 1), new ItemStack(ModItems.cell_empty, 1)};
ItemStack[] lithium = new ItemStack[] {new ItemStack(ModItems.lithium, 1), new ItemStack(ModItems.lithium, 1), new ItemStack(ModItems.lithium, 1), new ItemStack(Item.getItemFromBlock(Blocks.gravel))};
ItemStack[] lithium2 = new ItemStack[] {new ItemStack(ModItems.lithium, 1), new ItemStack(ModItems.lithium, 1), new ItemStack(ModItems.lithium, 1), new ItemStack(ModItems.lithium, 1)};
ItemStack[] lithium3 = new ItemStack[] {new ItemStack(ModItems.lithium, 4), new ItemStack(ModItems.lithium, 4), new ItemStack(ModItems.lithium, 4), new ItemStack(ModItems.lithium, 4)};
ItemStack[] uranium = new ItemStack[] { new ItemStack(ModItems.nugget_u238, 4),
new ItemStack(ModItems.nugget_u238, 4), new ItemStack(ModItems.nugget_u235, 1),
new ItemStack(ModItems.cell_empty, 1) };
ItemStack[] plutonium = new ItemStack[] { new ItemStack(ModItems.nugget_pu238, 3),
new ItemStack(ModItems.nugget_pu239, 1), new ItemStack(ModItems.nugget_pu240, 5),
new ItemStack(ModItems.cell_empty, 1) };
ItemStack[] test = new ItemStack[] { new ItemStack(Items.apple, 3), new ItemStack(Items.leather, 1),
new ItemStack(Items.sugar, 3), new ItemStack(Items.blaze_powder, 2) };
ItemStack[] euphemium = new ItemStack[] { new ItemStack(ModItems.nugget_euphemium, 1),
new ItemStack(ModItems.nugget_euphemium, 1), new ItemStack(ModItems.nugget_euphemium, 1),
new ItemStack(ModItems.rod_quad_empty, 1) };
ItemStack[] schrabidium = new ItemStack[] { new ItemStack(ModItems.ingot_schrabidium, 1),
new ItemStack(ModItems.sulfur, 1), new ItemStack(ModItems.sulfur, 1),
new ItemStack(ModItems.cell_empty, 1) };
ItemStack[] lithium = new ItemStack[] { new ItemStack(ModItems.lithium, 1), new ItemStack(ModItems.lithium, 1),
new ItemStack(ModItems.lithium, 1), new ItemStack(Item.getItemFromBlock(Blocks.gravel)) };
ItemStack[] lithium2 = new ItemStack[] { new ItemStack(ModItems.lithium, 1), new ItemStack(ModItems.lithium, 1),
new ItemStack(ModItems.lithium, 1), new ItemStack(ModItems.lithium, 1) };
ItemStack[] lithium3 = new ItemStack[] { new ItemStack(ModItems.lithium, 4), new ItemStack(ModItems.lithium, 4),
new ItemStack(ModItems.lithium, 4), new ItemStack(ModItems.lithium, 4) };
ItemStack[] uran1 = new ItemStack[] {new ItemStack(ModItems.nugget_u235, 1), new ItemStack(ModItems.nugget_u238, 3), new ItemStack(ModItems.nugget_pu239, 2), new ItemStack(ModItems.rod_waste, 1)};
ItemStack[] uran2 = new ItemStack[] {new ItemStack(ModItems.nugget_u235, 2), new ItemStack(ModItems.nugget_u238, 6), new ItemStack(ModItems.nugget_pu239, 4), new ItemStack(ModItems.rod_dual_waste, 1)};
ItemStack[] uran3 = new ItemStack[] {new ItemStack(ModItems.nugget_u235, 4), new ItemStack(ModItems.nugget_u238, 12), new ItemStack(ModItems.nugget_pu239, 8), new ItemStack(ModItems.rod_quad_waste, 1)};
ItemStack[] plutonium1 = new ItemStack[] {new ItemStack(ModItems.nugget_pu239, 1), new ItemStack(ModItems.nugget_pu240, 3), new ItemStack(ModItems.nugget_lead, 2), new ItemStack(ModItems.rod_waste, 1)};
ItemStack[] plutonium2 = new ItemStack[] {new ItemStack(ModItems.nugget_pu239, 2), new ItemStack(ModItems.nugget_pu240, 6), new ItemStack(ModItems.nugget_lead, 4), new ItemStack(ModItems.rod_dual_waste, 1)};
ItemStack[] plutonium3 = new ItemStack[] {new ItemStack(ModItems.nugget_pu239, 4), new ItemStack(ModItems.nugget_pu240, 12), new ItemStack(ModItems.nugget_lead, 8), new ItemStack(ModItems.rod_quad_waste, 1)};
ItemStack[] mox1 = new ItemStack[] {new ItemStack(ModItems.nugget_mox_fuel, 1), new ItemStack(ModItems.nugget_neptunium, 3), new ItemStack(ModItems.nugget_u238, 2), new ItemStack(ModItems.rod_waste, 1)};
ItemStack[] mox2 = new ItemStack[] {new ItemStack(ModItems.nugget_mox_fuel, 2), new ItemStack(ModItems.nugget_neptunium, 6), new ItemStack(ModItems.nugget_u238, 4), new ItemStack(ModItems.rod_dual_waste, 1)};
ItemStack[] mox3 = new ItemStack[] {new ItemStack(ModItems.nugget_mox_fuel, 4), new ItemStack(ModItems.nugget_neptunium, 12), new ItemStack(ModItems.nugget_u238, 8), new ItemStack(ModItems.rod_quad_waste, 1)};
ItemStack[] schrabidium1 = new ItemStack[] {new ItemStack(ModItems.nugget_schrabidium_fuel, 1), new ItemStack(ModItems.nugget_lead, 3), new ItemStack(ModItems.nugget_schrabidium, 2), new ItemStack(ModItems.rod_waste, 1)};
ItemStack[] schrabidium2 = new ItemStack[] {new ItemStack(ModItems.nugget_schrabidium_fuel, 2), new ItemStack(ModItems.nugget_lead, 6), new ItemStack(ModItems.nugget_schrabidium, 4), new ItemStack(ModItems.rod_dual_waste, 1)};
ItemStack[] schrabidium3 = new ItemStack[] {new ItemStack(ModItems.nugget_schrabidium_fuel, 4), new ItemStack(ModItems.nugget_lead, 19), new ItemStack(ModItems.nugget_euphemium, 1), new ItemStack(ModItems.rod_quad_waste, 1)};
ItemStack[] uran1 = new ItemStack[] { new ItemStack(ModItems.nugget_u235, 1),
new ItemStack(ModItems.nugget_u238, 3), new ItemStack(ModItems.nugget_pu239, 2),
new ItemStack(ModItems.rod_waste, 1) };
ItemStack[] uran2 = new ItemStack[] { new ItemStack(ModItems.nugget_u235, 2),
new ItemStack(ModItems.nugget_u238, 6), new ItemStack(ModItems.nugget_pu239, 4),
new ItemStack(ModItems.rod_dual_waste, 1) };
ItemStack[] uran3 = new ItemStack[] { new ItemStack(ModItems.nugget_u235, 4),
new ItemStack(ModItems.nugget_u238, 12), new ItemStack(ModItems.nugget_pu239, 8),
new ItemStack(ModItems.rod_quad_waste, 1) };
ItemStack[] plutonium1 = new ItemStack[] { new ItemStack(ModItems.nugget_pu239, 1),
new ItemStack(ModItems.nugget_pu240, 3), new ItemStack(ModItems.nugget_lead, 2),
new ItemStack(ModItems.rod_waste, 1) };
ItemStack[] plutonium2 = new ItemStack[] { new ItemStack(ModItems.nugget_pu239, 2),
new ItemStack(ModItems.nugget_pu240, 6), new ItemStack(ModItems.nugget_lead, 4),
new ItemStack(ModItems.rod_dual_waste, 1) };
ItemStack[] plutonium3 = new ItemStack[] { new ItemStack(ModItems.nugget_pu239, 4),
new ItemStack(ModItems.nugget_pu240, 12), new ItemStack(ModItems.nugget_lead, 8),
new ItemStack(ModItems.rod_quad_waste, 1) };
ItemStack[] mox1 = new ItemStack[] { new ItemStack(ModItems.nugget_mox_fuel, 1),
new ItemStack(ModItems.nugget_neptunium, 3), new ItemStack(ModItems.nugget_u238, 2),
new ItemStack(ModItems.rod_waste, 1) };
ItemStack[] mox2 = new ItemStack[] { new ItemStack(ModItems.nugget_mox_fuel, 2),
new ItemStack(ModItems.nugget_neptunium, 6), new ItemStack(ModItems.nugget_u238, 4),
new ItemStack(ModItems.rod_dual_waste, 1) };
ItemStack[] mox3 = new ItemStack[] { new ItemStack(ModItems.nugget_mox_fuel, 4),
new ItemStack(ModItems.nugget_neptunium, 12), new ItemStack(ModItems.nugget_u238, 8),
new ItemStack(ModItems.rod_quad_waste, 1) };
ItemStack[] schrabidium1 = new ItemStack[] { new ItemStack(ModItems.nugget_schrabidium_fuel, 1),
new ItemStack(ModItems.nugget_lead, 3), new ItemStack(ModItems.nugget_schrabidium, 2),
new ItemStack(ModItems.rod_waste, 1) };
ItemStack[] schrabidium2 = new ItemStack[] { new ItemStack(ModItems.nugget_schrabidium_fuel, 2),
new ItemStack(ModItems.nugget_lead, 6), new ItemStack(ModItems.nugget_schrabidium, 4),
new ItemStack(ModItems.rod_dual_waste, 1) };
ItemStack[] schrabidium3 = new ItemStack[] { new ItemStack(ModItems.nugget_schrabidium_fuel, 4),
new ItemStack(ModItems.nugget_lead, 19), new ItemStack(ModItems.nugget_euphemium, 1),
new ItemStack(ModItems.rod_quad_waste, 1) };
if(item == ModItems.cell_uf6)
{
if (item == ModItems.cell_uf6) {
return uranium;
}
if(item == ModItems.cell_puf6)
{
if (item == ModItems.cell_puf6) {
return plutonium;
}
if(MainRegistry.enableDebugMode) {
if(item == Item.getItemFromBlock(ModBlocks.test_render))
{
if (MainRegistry.enableDebugMode) {
if (item == Item.getItemFromBlock(ModBlocks.test_render)) {
return test;
}
}
if(item == ModItems.rod_quad_euphemium)
{
if (item == ModItems.rod_quad_euphemium) {
return euphemium;
}
if(item == ModItems.cell_sas3)
{
if (item == ModItems.cell_sas3) {
return schrabidium;
}
if(item == ModItems.rod_uranium_fuel_depleted)
{
if (item == ModItems.rod_uranium_fuel_depleted) {
return uran1;
}
if(item == ModItems.rod_dual_uranium_fuel_depleted)
{
if (item == ModItems.rod_dual_uranium_fuel_depleted) {
return uran2;
}
if(item == ModItems.rod_quad_uranium_fuel_depleted)
{
if (item == ModItems.rod_quad_uranium_fuel_depleted) {
return uran3;
}
if(item == ModItems.rod_plutonium_fuel_depleted)
{
if (item == ModItems.rod_plutonium_fuel_depleted) {
return plutonium1;
}
if(item == ModItems.rod_dual_plutonium_fuel_depleted)
{
if (item == ModItems.rod_dual_plutonium_fuel_depleted) {
return plutonium2;
}
if(item == ModItems.rod_quad_plutonium_fuel_depleted)
{
if (item == ModItems.rod_quad_plutonium_fuel_depleted) {
return plutonium3;
}
if(item == ModItems.rod_mox_fuel_depleted)
{
if (item == ModItems.rod_mox_fuel_depleted) {
return mox1;
}
if(item == ModItems.rod_dual_mox_fuel_depleted)
{
if (item == ModItems.rod_dual_mox_fuel_depleted) {
return mox2;
}
if(item == ModItems.rod_quad_mox_fuel_depleted)
{
if (item == ModItems.rod_quad_mox_fuel_depleted) {
return mox3;
}
if(item == ModItems.rod_schrabidium_fuel_depleted)
{
if (item == ModItems.rod_schrabidium_fuel_depleted) {
return schrabidium1;
}
if(item == ModItems.rod_dual_schrabidium_fuel_depleted)
{
if (item == ModItems.rod_dual_schrabidium_fuel_depleted) {
return schrabidium2;
}
if(item == ModItems.rod_quad_schrabidium_fuel_depleted)
{
if (item == ModItems.rod_quad_schrabidium_fuel_depleted) {
return schrabidium3;
}
if(item == item.getItemFromBlock(Blocks.cobblestone) || item == item.getItemFromBlock(Blocks.stone))
{
if (item == item.getItemFromBlock(Blocks.cobblestone) || item == item.getItemFromBlock(Blocks.stone)) {
return lithium;
}
if(item == item.getItemFromBlock(Blocks.quartz_block) || item == item.getItemFromBlock(Blocks.quartz_stairs))
{
if (item == item.getItemFromBlock(Blocks.quartz_block) || item == item.getItemFromBlock(Blocks.quartz_stairs)) {
return lithium3;
}
if(item == Items.quartz)
{
if (item == Items.quartz) {
return lithium2;
}
@ -213,143 +234,115 @@ public class MachineRecipes {
public static ItemStack getReactorOutput(Item item) {
if(item == ModItems.rod_uranium)
{
if (item == ModItems.rod_uranium) {
return new ItemStack(ModItems.rod_plutonium, 1);
}
if(item == ModItems.rod_u235)
{
if (item == ModItems.rod_u235) {
return new ItemStack(ModItems.rod_neptunium, 1);
}
if(item == ModItems.rod_u238)
{
if (item == ModItems.rod_u238) {
return new ItemStack(ModItems.rod_pu239, 1);
}
if(item == ModItems.rod_neptunium)
{
if (item == ModItems.rod_neptunium) {
return new ItemStack(ModItems.rod_pu238, 1);
}
if(item == ModItems.rod_plutonium)
{
if (item == ModItems.rod_plutonium) {
return new ItemStack(ModItems.rod_lead, 1);
}
if(item == ModItems.rod_pu238)
{
if (item == ModItems.rod_pu238) {
return new ItemStack(ModItems.rod_pu239, 1);
}
if(item == ModItems.rod_pu239)
{
if (item == ModItems.rod_pu239) {
return new ItemStack(ModItems.rod_pu240, 1);
}
if(item == ModItems.rod_pu240)
{
if (item == ModItems.rod_pu240) {
return new ItemStack(ModItems.rod_lead, 1);
}
if(item == ModItems.rod_dual_uranium)
{
if (item == ModItems.rod_dual_uranium) {
return new ItemStack(ModItems.rod_dual_plutonium, 1);
}
if(item == ModItems.rod_dual_u235)
{
if (item == ModItems.rod_dual_u235) {
return new ItemStack(ModItems.rod_dual_neptunium, 1);
}
if(item == ModItems.rod_dual_u238)
{
if (item == ModItems.rod_dual_u238) {
return new ItemStack(ModItems.rod_dual_pu239, 1);
}
if(item == ModItems.rod_dual_neptunium)
{
if (item == ModItems.rod_dual_neptunium) {
return new ItemStack(ModItems.rod_dual_pu238, 1);
}
if(item == ModItems.rod_dual_plutonium)
{
if (item == ModItems.rod_dual_plutonium) {
return new ItemStack(ModItems.rod_dual_lead, 1);
}
if(item == ModItems.rod_dual_pu238)
{
if (item == ModItems.rod_dual_pu238) {
return new ItemStack(ModItems.rod_dual_pu239, 1);
}
if(item == ModItems.rod_dual_pu239)
{
if (item == ModItems.rod_dual_pu239) {
return new ItemStack(ModItems.rod_dual_pu240, 1);
}
if(item == ModItems.rod_dual_pu240)
{
if (item == ModItems.rod_dual_pu240) {
return new ItemStack(ModItems.rod_dual_lead, 1);
}
if(item == ModItems.rod_quad_uranium)
{
if (item == ModItems.rod_quad_uranium) {
return new ItemStack(ModItems.rod_quad_plutonium, 1);
}
if(item == ModItems.rod_quad_u235)
{
if (item == ModItems.rod_quad_u235) {
return new ItemStack(ModItems.rod_quad_neptunium, 1);
}
if(item == ModItems.rod_quad_u238)
{
if (item == ModItems.rod_quad_u238) {
return new ItemStack(ModItems.rod_quad_pu239, 1);
}
if(item == ModItems.rod_quad_neptunium)
{
if (item == ModItems.rod_quad_neptunium) {
return new ItemStack(ModItems.rod_quad_pu238, 1);
}
if(item == ModItems.rod_quad_plutonium)
{
if (item == ModItems.rod_quad_plutonium) {
return new ItemStack(ModItems.rod_quad_lead, 1);
}
if(item == ModItems.rod_quad_pu238)
{
if (item == ModItems.rod_quad_pu238) {
return new ItemStack(ModItems.rod_quad_pu239, 1);
}
if(item == ModItems.rod_quad_pu239)
{
if (item == ModItems.rod_quad_pu239) {
return new ItemStack(ModItems.rod_quad_pu240, 1);
}
if(item == ModItems.rod_quad_pu240)
{
if (item == ModItems.rod_quad_pu240) {
return new ItemStack(ModItems.rod_quad_lead, 1);
}
if(item == ModItems.rod_quad_schrabidium)
{
if (item == ModItems.rod_quad_schrabidium) {
return new ItemStack(ModItems.rod_quad_euphemium, 1);
}
if(item == ModItems.rod_lithium)
{
if (item == ModItems.rod_lithium) {
return new ItemStack(ModItems.rod_tritium, 1);
}
if(item == ModItems.rod_dual_lithium)
{
if (item == ModItems.rod_dual_lithium) {
return new ItemStack(ModItems.rod_dual_tritium, 1);
}
if(item == ModItems.rod_quad_lithium)
{
if (item == ModItems.rod_quad_lithium) {
return new ItemStack(ModItems.rod_quad_tritium, 1);
}
@ -358,16 +351,26 @@ public class MachineRecipes {
public Map<Object[], Object> getAlloyRecipes() {
Map<Object[], Object> recipes = new HashMap<Object[], Object>();
if(MainRegistry.enableDebugMode) {
recipes.put(new ItemStack[] {new ItemStack(Items.iron_ingot), new ItemStack(Items.quartz)}, new ItemStack(Item.getItemFromBlock(ModBlocks.test_render)));
if (MainRegistry.enableDebugMode) {
recipes.put(new ItemStack[] { new ItemStack(Items.iron_ingot), new ItemStack(Items.quartz) },
new ItemStack(Item.getItemFromBlock(ModBlocks.test_render)));
}
recipes.put(new ItemStack[] {new ItemStack(Items.iron_ingot), new ItemStack(Items.coal)}, new ItemStack(ModItems.ingot_steel));
recipes.put(new ItemStack[] {new ItemStack(ModItems.ingot_lead), new ItemStack(ModItems.ingot_copper)}, new ItemStack(ModItems.neutron_reflector, 2));
recipes.put(new ItemStack[] {new ItemStack(ModItems.plate_lead), new ItemStack(ModItems.plate_copper)}, new ItemStack(ModItems.neutron_reflector));
recipes.put(new ItemStack[] {new ItemStack(ModItems.ingot_tungsten), new ItemStack(Items.coal)}, new ItemStack(ModItems.neutron_reflector, 2));
recipes.put(new ItemStack[] {new ItemStack(ModItems.ingot_copper), new ItemStack(Items.redstone)}, new ItemStack(ModItems.ingot_red_copper, 2));
recipes.put(new ItemStack[] {new ItemStack(ModItems.ingot_red_copper), new ItemStack(ModItems.ingot_steel)}, new ItemStack(ModItems.ingot_advanced_alloy, 2));
recipes.put(new ItemStack[] {new ItemStack(ModItems.canister_empty), new ItemStack(Items.coal)}, new ItemStack(ModItems.canister_fuel, 1));
recipes.put(new ItemStack[] { new ItemStack(Items.iron_ingot), new ItemStack(Items.coal) },
new ItemStack(ModItems.ingot_steel));
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_lead), new ItemStack(ModItems.ingot_copper) },
new ItemStack(ModItems.neutron_reflector, 2));
recipes.put(new ItemStack[] { new ItemStack(ModItems.plate_lead), new ItemStack(ModItems.plate_copper) },
new ItemStack(ModItems.neutron_reflector));
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_tungsten), new ItemStack(Items.coal) },
new ItemStack(ModItems.neutron_reflector, 2));
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_copper), new ItemStack(Items.redstone) },
new ItemStack(ModItems.ingot_red_copper, 2));
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_red_copper), new ItemStack(ModItems.ingot_steel) },
new ItemStack(ModItems.ingot_advanced_alloy, 2));
recipes.put(new ItemStack[] { new ItemStack(ModItems.canister_empty), new ItemStack(Items.coal) },
new ItemStack(ModItems.canister_fuel, 1));
recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_tungsten), new ItemStack(ModItems.nugget_schrabidium) },
new ItemStack(ModItems.ingot_magnetized_tungsten, 1));
return recipes;
}
@ -388,28 +391,45 @@ public class MachineRecipes {
Map<Object, Object[]> recipes = new HashMap<Object, Object[]>();
recipes.put(new ItemStack(ModItems.cell_uf6), getCentrifugeOutput(ModItems.cell_uf6));
recipes.put(new ItemStack(ModItems.cell_puf6), getCentrifugeOutput(ModItems.cell_puf6));
if(MainRegistry.enableDebugMode) {
recipes.put(new ItemStack(Item.getItemFromBlock(ModBlocks.test_render)), getCentrifugeOutput(Item.getItemFromBlock(ModBlocks.test_render)));
if (MainRegistry.enableDebugMode) {
recipes.put(new ItemStack(Item.getItemFromBlock(ModBlocks.test_render)),
getCentrifugeOutput(Item.getItemFromBlock(ModBlocks.test_render)));
}
//[REDACTED]
//recipes.put(new ItemStack(ModItems.rod_quad_euphemium), getCentrifugeOutput(ModItems.rod_quad_euphemium));
// [REDACTED]
// recipes.put(new ItemStack(ModItems.rod_quad_euphemium),
// getCentrifugeOutput(ModItems.rod_quad_euphemium));
recipes.put(new ItemStack(ModItems.cell_sas3), getCentrifugeOutput(ModItems.cell_sas3));
recipes.put(new ItemStack(Item.getItemFromBlock(Blocks.stone)), getCentrifugeOutput(Item.getItemFromBlock(Blocks.stone)));
recipes.put(new ItemStack(Item.getItemFromBlock(Blocks.cobblestone)), getCentrifugeOutput(Item.getItemFromBlock(Blocks.cobblestone)));
recipes.put(new ItemStack(ModItems.rod_uranium_fuel_depleted), getCentrifugeOutput(ModItems.rod_uranium_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_dual_uranium_fuel_depleted), getCentrifugeOutput(ModItems.rod_dual_uranium_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_quad_uranium_fuel_depleted), getCentrifugeOutput(ModItems.rod_quad_uranium_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_plutonium_fuel_depleted), getCentrifugeOutput(ModItems.rod_plutonium_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_dual_plutonium_fuel_depleted), getCentrifugeOutput(ModItems.rod_dual_plutonium_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_quad_plutonium_fuel_depleted), getCentrifugeOutput(ModItems.rod_quad_plutonium_fuel_depleted));
recipes.put(new ItemStack(Item.getItemFromBlock(Blocks.stone)),
getCentrifugeOutput(Item.getItemFromBlock(Blocks.stone)));
recipes.put(new ItemStack(Item.getItemFromBlock(Blocks.cobblestone)),
getCentrifugeOutput(Item.getItemFromBlock(Blocks.cobblestone)));
recipes.put(new ItemStack(ModItems.rod_uranium_fuel_depleted),
getCentrifugeOutput(ModItems.rod_uranium_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_dual_uranium_fuel_depleted),
getCentrifugeOutput(ModItems.rod_dual_uranium_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_quad_uranium_fuel_depleted),
getCentrifugeOutput(ModItems.rod_quad_uranium_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_plutonium_fuel_depleted),
getCentrifugeOutput(ModItems.rod_plutonium_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_dual_plutonium_fuel_depleted),
getCentrifugeOutput(ModItems.rod_dual_plutonium_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_quad_plutonium_fuel_depleted),
getCentrifugeOutput(ModItems.rod_quad_plutonium_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_mox_fuel_depleted), getCentrifugeOutput(ModItems.rod_mox_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_dual_mox_fuel_depleted), getCentrifugeOutput(ModItems.rod_dual_mox_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_quad_mox_fuel_depleted), getCentrifugeOutput(ModItems.rod_quad_mox_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_schrabidium_fuel_depleted), getCentrifugeOutput(ModItems.rod_schrabidium_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_dual_schrabidium_fuel_depleted), getCentrifugeOutput(ModItems.rod_dual_schrabidium_fuel_depleted));
//[REDACTED]
//recipes.put(new ItemStack(ModItems.rod_quad_schrabidium_fuel_depleted), getCentrifugeOutput(ModItems.rod_quad_schrabidium_fuel_depleted));
recipes.put(new ItemStack(Item.getItemFromBlock(Blocks.quartz_block)), getCentrifugeOutput(Item.getItemFromBlock(Blocks.quartz_block)));
recipes.put(new ItemStack(ModItems.rod_dual_mox_fuel_depleted),
getCentrifugeOutput(ModItems.rod_dual_mox_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_quad_mox_fuel_depleted),
getCentrifugeOutput(ModItems.rod_quad_mox_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_schrabidium_fuel_depleted),
getCentrifugeOutput(ModItems.rod_schrabidium_fuel_depleted));
recipes.put(new ItemStack(ModItems.rod_dual_schrabidium_fuel_depleted),
getCentrifugeOutput(ModItems.rod_dual_schrabidium_fuel_depleted));
// [REDACTED]
// recipes.put(new
// ItemStack(ModItems.rod_quad_schrabidium_fuel_depleted),
// getCentrifugeOutput(ModItems.rod_quad_schrabidium_fuel_depleted));
recipes.put(new ItemStack(Item.getItemFromBlock(Blocks.quartz_block)),
getCentrifugeOutput(Item.getItemFromBlock(Blocks.quartz_block)));
recipes.put(new ItemStack(Items.quartz), getCentrifugeOutput(Items.quartz));
return recipes;
}
@ -453,8 +473,9 @@ public class MachineRecipes {
recipes.put(new ItemStack(ModItems.rod_neptunium), getReactorOutput(ModItems.rod_neptunium));
recipes.put(new ItemStack(ModItems.rod_dual_neptunium), getReactorOutput(ModItems.rod_dual_neptunium));
recipes.put(new ItemStack(ModItems.rod_quad_neptunium), getReactorOutput(ModItems.rod_quad_neptunium));
//[REDACTED]
//recipes.put(new ItemStack(ModItems.rod_quad_schrabidium), getReactorOutput(ModItems.rod_quad_schrabidium));
// [REDACTED]
// recipes.put(new ItemStack(ModItems.rod_quad_schrabidium),
// getReactorOutput(ModItems.rod_quad_schrabidium));
recipes.put(new ItemStack(ModItems.rod_lithium), getReactorOutput(ModItems.rod_lithium));
recipes.put(new ItemStack(ModItems.rod_dual_lithium), getReactorOutput(ModItems.rod_dual_lithium));
recipes.put(new ItemStack(ModItems.rod_quad_lithium), getReactorOutput(ModItems.rod_quad_lithium));

View File

@ -95,24 +95,6 @@ public class GunXVL1456 extends Item {
return p_77659_1_;
}
public void onUpdate(ItemStack p_77663_1_, World p_77663_2_, Entity p_77663_3_, int p_77663_4_,
boolean p_77663_5_) {
if(p_77663_3_ instanceof EntityPlayer)
{
if(((EntityPlayer)p_77663_3_).getItemInUseCount() < getMaxItemUseDuration(p_77663_1_) - 200 && p_77663_3_.isSneaking() && ((EntityPlayer)p_77663_3_).getItemInUseCount() != 0)
{
if(!p_77663_2_.isRemote)
{
p_77663_1_.damageItem(1250, (EntityLivingBase) p_77663_3_);
p_77663_2_.createExplosion(p_77663_3_, p_77663_3_.posX, p_77663_3_.posY, p_77663_3_.posZ, 10.0F, true);
p_77663_3_.attackEntityFrom(ModDamageSource.tauBlast, 1000F);
((EntityPlayer)p_77663_3_).dropOneItem(false);
}
}
}
}
public void onUsingTick(ItemStack stack, EntityPlayer player, int count)
{
World world = player.worldObj;
@ -154,6 +136,21 @@ public class GunXVL1456 extends Item {
world.playSoundAtEntity(player, "random.click", 1.0F, (this.getMaxItemUseDuration(stack) - count) * 0.01F);
}
}
if(player instanceof EntityPlayer)
{
if(((EntityPlayer)player).getItemInUseCount() < getMaxItemUseDuration(stack) - 200 && player.isSneaking() && ((EntityPlayer)player).getItemInUseCount() != 0)
{
if(!world.isRemote)
{
stack.damageItem(1250, (EntityLivingBase) player);
world.createExplosion(player, player.posX, player.posY, player.posZ, 10.0F, true);
player.attackEntityFrom(ModDamageSource.tauBlast, 1000F);
((EntityPlayer)player).dropOneItem(false);
}
}
}
}
@Override

View File

@ -0,0 +1,49 @@
package com.hbm.items;
import com.hbm.entity.EntityNukeExplosionAdvanced;
import com.hbm.main.MainRegistry;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class ItemDrop extends Item {
public boolean onEntityItemUpdate(EntityItem entityItem) {
if (entityItem != null) {
if (entityItem.onGround) {
ItemStack stack = entityItem.getEntityItem();
if (stack.getItem() != null && stack.getItem() == ModItems.cell_antimatter) {
if (!entityItem.worldObj.isRemote) {
entityItem.worldObj.createExplosion(entityItem, entityItem.posX, entityItem.posY,
entityItem.posZ, 10.0F, true);
}
}
if (stack.getItem() != null && stack.getItem() == ModItems.cell_anti_schrabidium) {
if (!entityItem.worldObj.isRemote) {
entityItem.worldObj.playSoundEffect(entityItem.posX, entityItem.posY, entityItem.posZ,
"random.explode", 1.0f, entityItem.worldObj.rand.nextFloat() * 0.1F + 0.9F);
EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(entityItem.worldObj);
entity.posX = entityItem.posX;
entity.posY = entityItem.posY;
entity.posZ = entityItem.posZ;
entity.destructionRange = MainRegistry.aSchrabRadius;
entity.speed = 25;
entity.coefficient = 1.0F;
entity.waste = false;
entityItem.worldObj.spawnEntityInWorld(entity);
}
}
entityItem.setDead();
return true;
}
}
return false;
}
}

View File

@ -13,6 +13,7 @@ import com.hbm.entity.EntityGrenadePlasma;
import com.hbm.entity.EntityGrenadePoison;
import com.hbm.entity.EntityGrenadeSchrabidium;
import com.hbm.entity.EntityGrenadeStrong;
import com.hbm.entity.EntityGrenadeTau;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity;
@ -95,6 +96,10 @@ public class ItemGrenade extends Item {
{
p_77659_2_.spawnEntityInWorld(new EntityGrenadePlasma(p_77659_2_, p_77659_3_));
}
if(this == ModItems.grenade_tau)
{
p_77659_2_.spawnEntityInWorld(new EntityGrenadeTau(p_77659_2_, p_77659_3_));
}
}
return p_77659_1_;
@ -113,7 +118,7 @@ public class ItemGrenade extends Item {
return EnumRarity.epic;
}
if(this == ModItems.grenade_nuke || this == ModItems.grenade_nuclear)
if(this == ModItems.grenade_nuke || this == ModItems.grenade_nuclear || this == ModItems.grenade_tau)
{
return EnumRarity.uncommon;
}

View File

@ -239,6 +239,8 @@ public class ItemStarterKit extends Item {
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_electric, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_poison, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_gas, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_plasma, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_tau, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_schrabidium, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_nuke, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_nuclear, 16));

View File

@ -0,0 +1,48 @@
package com.hbm.items;
import com.hbm.blocks.ModBlocks;
import com.hbm.main.MainRegistry;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ChatComponentText;
import net.minecraft.world.World;
public class ItemWandD extends Item {
@Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_)
{
Block b = world.getBlock(x, y, z);
if(b == ModBlocks.ore_aluminium)
MainRegistry.x++;
if(b == ModBlocks.block_aluminium)
MainRegistry.x--;
if(b == ModBlocks.ore_beryllium)
MainRegistry.y++;
if(b == ModBlocks.block_beryllium)
MainRegistry.y--;
if(b == ModBlocks.ore_copper)
MainRegistry.z++;
if(b == ModBlocks.block_copper)
MainRegistry.z--;
return false;
}
@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
if(player.isSneaking())
{
if(world.isRemote)
player.addChatMessage(new ChatComponentText(MainRegistry.x + " " + MainRegistry.y + " " + MainRegistry.z));
}
return stack;
}
}

View File

@ -66,6 +66,8 @@ public class ModItems {
public static Item ingot_les;
public static Item nugget_hes;
public static Item nugget_les;
public static Item ingot_magnetized_tungsten;
public static Item ingot_combine_steel;
public static Item nugget_uranium;
public static Item nugget_u235;
@ -93,6 +95,7 @@ public class ModItems {
public static Item plate_gold;
public static Item hazmat_cloth;
public static Item plate_advanced_alloy;
public static Item plate_combine_steel;
public static Item powder_lead;
public static Item powder_neptunium;
@ -118,6 +121,7 @@ public class ModItems {
public static Item wire_advanced_alloy;
public static Item coil_advanced_alloy;
public static Item coil_advanced_torus;
public static Item wire_magnetized_tungsten;
public static Item circuit_aluminium;
public static Item circuit_copper;
@ -166,6 +170,14 @@ public class ModItems {
public static Item thruster_medium;
public static Item thruster_large;
public static Item chopper_head;
public static Item chopper_gun;
public static Item chopper_torso;
public static Item chopper_tail;
public static Item chopper_wing;
public static Item chopper_blades;
public static Item combine_scrap;
public static Item pellet_rtg;
public static Item tritium_deuterium_cake;
@ -357,6 +369,7 @@ public class ModItems {
public static Item grenade_poison;
public static Item grenade_gas;
public static Item grenade_plasma;
public static Item grenade_tau;
public static Item grenade_schrabidium;
public static Item grenade_nuke;
public static Item grenade_nuclear;
@ -487,6 +500,7 @@ public class ModItems {
public static Item wand;
public static Item wand_s;
public static Item wand_d;
public static Item cape_test;
public static Item cape_radiation;
@ -596,6 +610,8 @@ public class ModItems {
wire_advanced_alloy = new Item().setUnlocalizedName("wire_advanced_alloy").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":wire_advanced_alloy");
coil_advanced_alloy = new Item().setUnlocalizedName("coil_advanced_alloy").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":coil_advanced_alloy");
coil_advanced_torus = new Item().setUnlocalizedName("coil_advanced_torus").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":coil_advanced_torus");
ingot_magnetized_tungsten = new Item().setUnlocalizedName("ingot_magnetized_tungsten").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_magnetized_tungsten");
ingot_combine_steel = new Item().setUnlocalizedName("ingot_combine_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_combine_steel");
nugget_uranium = new Item().setUnlocalizedName("nugget_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium");
nugget_u235 = new Item().setUnlocalizedName("nugget_u235").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium");
@ -618,6 +634,7 @@ public class ModItems {
ingot_les = new Item().setUnlocalizedName("ingot_les").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_les");
nugget_hes = new Item().setUnlocalizedName("nugget_hes").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_hes");
nugget_les = new Item().setUnlocalizedName("nugget_les").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_les");
plate_combine_steel = new Item().setUnlocalizedName("plate_combine_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_combine_steel");
powder_lead = new Item().setUnlocalizedName("powder_lead").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_lead");
powder_neptunium = new Item().setUnlocalizedName("powder_neptunium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_neptunium");
@ -640,6 +657,7 @@ public class ModItems {
wire_copper = new Item().setUnlocalizedName("wire_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":wire_copper");
wire_gold = new Item().setUnlocalizedName("wire_gold").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":wire_gold");
wire_schrabidium = new ItemCustomLore().setUnlocalizedName("wire_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":wire_schrabidium");
wire_magnetized_tungsten = new Item().setUnlocalizedName("wire_magnetized_tungsten").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":wire_magnetized_tungsten");
cap_aluminium = new Item().setUnlocalizedName("cap_aluminium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":cap_aluminium");
hull_small_steel = new Item().setUnlocalizedName("hull_small_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":hull_small_steel");
@ -682,6 +700,14 @@ public class ModItems {
thruster_medium = new Item().setUnlocalizedName("thruster_medium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":thruster_medium");
thruster_large = new Item().setUnlocalizedName("thruster_large").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":thruster_large");
chopper_head = new Item().setUnlocalizedName("chopper_head").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":chopper_head");
chopper_gun = new Item().setUnlocalizedName("chopper_gun").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":chopper_gun");
chopper_torso = new Item().setUnlocalizedName("chopper_torso").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":chopper_torso");
chopper_tail = new Item().setUnlocalizedName("chopper_tail").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":chopper_tail");
chopper_wing = new Item().setUnlocalizedName("chopper_wing").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":chopper_wing");
chopper_blades = new Item().setUnlocalizedName("chopper_blades").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":chopper_blades");
combine_scrap = new Item().setUnlocalizedName("combine_scrap").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":combine_scrap");
circuit_aluminium = new Item().setUnlocalizedName("circuit_aluminium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":circuit_aluminium");
circuit_copper = new Item().setUnlocalizedName("circuit_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":circuit_copper");
circuit_red_copper = new Item().setUnlocalizedName("circuit_red_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":circuit_red_copper");
@ -694,11 +720,11 @@ public class ModItems {
cell_empty = new ItemCell().setUnlocalizedName("cell_empty").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":cell_empty");
cell_uf6 = new Item().setUnlocalizedName("cell_uf6").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_uf6");
cell_puf6 = new Item().setUnlocalizedName("cell_puf6").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_puf6");
cell_antimatter = new Item().setUnlocalizedName("cell_antimatter").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_antimatter");
cell_antimatter = new ItemDrop().setUnlocalizedName("cell_antimatter").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_antimatter");
cell_deuterium = new Item().setUnlocalizedName("cell_deuterium").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_deuterium");
cell_tritium = new Item().setUnlocalizedName("cell_tritium").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_tritium");
cell_sas3 = new ItemCustomLore().setUnlocalizedName("cell_sas3").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_sas3");
cell_anti_schrabidium = new Item().setUnlocalizedName("cell_anti_schrabidium").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_anti_schrabidium");
cell_anti_schrabidium = new ItemDrop().setUnlocalizedName("cell_anti_schrabidium").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_anti_schrabidium");
inf_water = new Item().setUnlocalizedName("inf_water").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_water");
inf_coolant = new Item().setUnlocalizedName("inf_coolant").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_coolant");
inf_deuterium = new Item().setUnlocalizedName("inf_deuterium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_deuterium");
@ -871,6 +897,7 @@ public class ModItems {
grenade_poison = new ItemGrenade().setUnlocalizedName("grenade_poison").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_poison");
grenade_gas = new ItemGrenade().setUnlocalizedName("grenade_gas").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_gas");
grenade_plasma = new ItemGrenade().setUnlocalizedName("grenade_plasma").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_plasma");
grenade_tau = new ItemGrenade().setUnlocalizedName("grenade_tau").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_tau");
grenade_schrabidium = new ItemGrenade().setUnlocalizedName("grenade_schrabidium").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_schrabidium");
grenade_nuke = new ItemGrenade().setUnlocalizedName("grenade_nuke").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_nuke");
grenade_nuclear = new ItemGrenade().setUnlocalizedName("grenade_nuclear").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_nuclear");
@ -929,6 +956,7 @@ public class ModItems {
wand = new ItemWand().setUnlocalizedName("wand_k").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setFull3D().setTextureName(RefStrings.MODID + ":wand");
wand_s = new ItemWandS().setUnlocalizedName("wand_s").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setFull3D().setTextureName(RefStrings.MODID + ":wand_s");
wand_d = new ItemWandD().setUnlocalizedName("wand_d").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setFull3D().setTextureName(RefStrings.MODID + ":wand_d");
nuke_starter_kit = new ItemStarterKit().setUnlocalizedName("nuke_starter_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":nuke_starter_kit");
nuke_advanced_kit = new ItemStarterKit().setUnlocalizedName("nuke_advanced_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":nuke_advanced_kit");
@ -1093,6 +1121,8 @@ public class ModItems {
GameRegistry.registerItem(ingot_lead, ingot_lead.getUnlocalizedName());
GameRegistry.registerItem(ingot_beryllium, ingot_beryllium.getUnlocalizedName());
GameRegistry.registerItem(ingot_schrabidium, ingot_schrabidium.getUnlocalizedName());
GameRegistry.registerItem(ingot_magnetized_tungsten, ingot_magnetized_tungsten.getUnlocalizedName());
GameRegistry.registerItem(ingot_combine_steel, ingot_combine_steel.getUnlocalizedName());
GameRegistry.registerItem(ingot_uranium_fuel, ingot_uranium_fuel.getUnlocalizedName());
GameRegistry.registerItem(ingot_plutonium_fuel, ingot_plutonium_fuel.getUnlocalizedName());
GameRegistry.registerItem(ingot_mox_fuel, ingot_mox_fuel.getUnlocalizedName());
@ -1133,16 +1163,17 @@ public class ModItems {
GameRegistry.registerItem(nugget_les, nugget_les.getUnlocalizedName());
//Plates
GameRegistry.registerItem(plate_iron, plate_iron.getUnlocalizedName());
GameRegistry.registerItem(plate_gold, plate_gold.getUnlocalizedName());
GameRegistry.registerItem(plate_titanium, plate_titanium.getUnlocalizedName());
GameRegistry.registerItem(plate_aluminium, plate_aluminium.getUnlocalizedName());
GameRegistry.registerItem(plate_iron, plate_iron.getUnlocalizedName());
GameRegistry.registerItem(plate_steel, plate_steel.getUnlocalizedName());
GameRegistry.registerItem(plate_lead, plate_lead.getUnlocalizedName());
GameRegistry.registerItem(neutron_reflector, neutron_reflector.getUnlocalizedName());
GameRegistry.registerItem(plate_schrabidium, plate_schrabidium.getUnlocalizedName());
GameRegistry.registerItem(plate_copper, plate_copper.getUnlocalizedName());
GameRegistry.registerItem(plate_advanced_alloy, plate_advanced_alloy.getUnlocalizedName());
GameRegistry.registerItem(plate_gold, plate_gold.getUnlocalizedName());
GameRegistry.registerItem(neutron_reflector, neutron_reflector.getUnlocalizedName());
GameRegistry.registerItem(plate_schrabidium, plate_schrabidium.getUnlocalizedName());
GameRegistry.registerItem(plate_combine_steel, plate_combine_steel.getUnlocalizedName());
GameRegistry.registerItem(hazmat_cloth, hazmat_cloth.getUnlocalizedName());
//Wires
@ -1153,6 +1184,7 @@ public class ModItems {
GameRegistry.registerItem(wire_advanced_alloy, wire_advanced_alloy.getUnlocalizedName());
GameRegistry.registerItem(wire_gold, wire_gold.getUnlocalizedName());
GameRegistry.registerItem(wire_schrabidium, wire_schrabidium.getUnlocalizedName());
GameRegistry.registerItem(wire_magnetized_tungsten, wire_magnetized_tungsten.getUnlocalizedName());
//Parts
GameRegistry.registerItem(coil_copper, coil_copper.getUnlocalizedName());
@ -1210,6 +1242,15 @@ public class ModItems {
GameRegistry.registerItem(thruster_medium, thruster_medium.getUnlocalizedName());
GameRegistry.registerItem(thruster_large, thruster_large.getUnlocalizedName());
//Chopper parts
GameRegistry.registerItem(chopper_head, chopper_head.getUnlocalizedName());
GameRegistry.registerItem(chopper_gun, chopper_gun.getUnlocalizedName());
GameRegistry.registerItem(chopper_torso, chopper_torso.getUnlocalizedName());
GameRegistry.registerItem(chopper_tail, chopper_tail.getUnlocalizedName());
GameRegistry.registerItem(chopper_wing, chopper_wing.getUnlocalizedName());
GameRegistry.registerItem(chopper_blades, chopper_blades.getUnlocalizedName());
GameRegistry.registerItem(combine_scrap, combine_scrap.getUnlocalizedName());
//Circuits
GameRegistry.registerItem(circuit_aluminium, circuit_aluminium.getUnlocalizedName());
GameRegistry.registerItem(circuit_copper, circuit_copper.getUnlocalizedName());
@ -1428,6 +1469,7 @@ public class ModItems {
GameRegistry.registerItem(grenade_poison, grenade_poison.getUnlocalizedName());
GameRegistry.registerItem(grenade_gas, grenade_gas.getUnlocalizedName());
GameRegistry.registerItem(grenade_plasma, grenade_plasma.getUnlocalizedName());
GameRegistry.registerItem(grenade_tau, grenade_tau.getUnlocalizedName());
GameRegistry.registerItem(grenade_schrabidium, grenade_schrabidium.getUnlocalizedName());
GameRegistry.registerItem(grenade_nuke, grenade_nuke.getUnlocalizedName());
GameRegistry.registerItem(grenade_nuclear, grenade_nuclear.getUnlocalizedName());
@ -1571,6 +1613,7 @@ public class ModItems {
//OP Tools
GameRegistry.registerItem(wand, wand.getUnlocalizedName());
GameRegistry.registerItem(wand_s, wand_s.getUnlocalizedName());
GameRegistry.registerItem(wand_d, wand_d.getUnlocalizedName());
GameRegistry.registerItem(euphemium_stopper, euphemium_stopper.getUnlocalizedName());
//Kits

View File

@ -52,7 +52,7 @@ public class HbmChestContents {
new WeightedRandomChestContent(ModItems.gun_fatman, 0, 1, 1, 1),
new WeightedRandomChestContent(ModItems.gun_fatman_ammo, 0, 1, 8, 2),
new WeightedRandomChestContent(ModItems.gun_xvl1456, 0, 1, 1, 1),
new WeightedRandomChestContent(ModItems.gun_xvl1456_ammo, 0, 1, 8, 2),
new WeightedRandomChestContent(ModItems.gun_xvl1456_ammo, 0, 16, 64, 2),
new WeightedRandomChestContent(ModItems.grenade_nuclear, 0, 1, 1, 2),
new WeightedRandomChestContent(ModItems.stealth_boy, 0, 1, 1, 2),
new WeightedRandomChestContent(ModItems.battery_advanced, 200, 1, 1, 3),

View File

@ -10,11 +10,13 @@ import com.hbm.blocks.TileEntityMachineDeuterium;
import com.hbm.blocks.TileEntityMachineElectricFurnace;
import com.hbm.blocks.TileEntityWireCoated;
import com.hbm.calc.UnionOfTileEntitiesAndBooleans;
import com.hbm.entity.EntityHunterChopper;
import com.hbm.interfaces.IConductor;
import com.hbm.interfaces.IConsumer;
import com.hbm.interfaces.ISource;
import com.hbm.items.ModItems;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
@ -213,4 +215,31 @@ public class Library {
return false;
}
public static EntityLivingBase getClosestEntityForChopper(World world, double x, double y, double z, double radius) {
double d4 = -1.0D;
EntityLivingBase entityplayer = null;
for (int i = 0; i < world.loadedEntityList.size(); ++i) {
if (world.loadedEntityList.get(i) instanceof EntityLivingBase && !(world.loadedEntityList.get(i) instanceof EntityHunterChopper)) {
EntityLivingBase entityplayer1 = (EntityLivingBase) world.loadedEntityList.get(i);
if (entityplayer1.isEntityAlive() && !(entityplayer1 instanceof EntityPlayer && ((EntityPlayer)entityplayer1).capabilities.disableDamage)) {
double d5 = entityplayer1.getDistanceSq(x, y, z);
double d6 = radius;
if (entityplayer1.isSneaking()) {
d6 = radius * 0.800000011920929D;
}
if ((radius < 0.0D || d5 < d6 * d6) && (d4 == -1.0D || d5 < d4)) {
d4 = d5;
entityplayer = entityplayer1;
}
}
}
}
return entityplayer;
}
}

View File

@ -22,6 +22,10 @@ public class ModDamageSource extends DamageSource {
{
return (new EntityDamageSourceIndirect("revolverBullet", p_76353_0_, p_76353_1_)).setProjectile();
}
public static DamageSource causeDisplacementDamage(EntityBullet p_76353_0_, Entity p_76353_1_)
{
return (new EntityDamageSourceIndirect("chopperBullet", p_76353_0_, p_76353_1_)).setProjectile();
}
public static DamageSource causeTauDamage(EntityBullet p_76353_0_, Entity p_76353_1_)
{
return (new EntityDamageSourceIndirect("tau", p_76353_0_, p_76353_1_)).setProjectile().setDamageBypassesArmor();
@ -31,4 +35,36 @@ public class ModDamageSource extends DamageSource {
return (new EntityDamageSourceIndirect("euthanized", p_76353_0_, p_76353_1_)).setDamageBypassesArmor();
}
public static boolean getIsBullet(DamageSource source) {
if(source instanceof EntityDamageSourceIndirect)
{
return ((EntityDamageSourceIndirect)source).damageType.equals("revolverBullet");
}
return false;
}
public static boolean getIsEmplacer(DamageSource source) {
if(source instanceof EntityDamageSourceIndirect)
{
return ((EntityDamageSourceIndirect)source).damageType.equals("chopperBullet");
}
return false;
}
public static boolean getIsTau(DamageSource source) {
if(source instanceof EntityDamageSourceIndirect)
{
return ((EntityDamageSourceIndirect)source).damageType.equals("tau");
}
return false;
}
public static boolean getIsPoison(DamageSource source) {
if(source instanceof EntityDamageSourceIndirect)
{
return ((EntityDamageSourceIndirect)source).damageType.equals("euthanized");
}
return false;
}
}

View File

@ -36,6 +36,7 @@ import com.hbm.blocks.TileEntityTestContainer;
import com.hbm.blocks.TileEntityTestRender;
import com.hbm.blocks.TileEntityYellowBarrel;
import com.hbm.entity.EntityBullet;
import com.hbm.entity.EntityChopperMine;
import com.hbm.entity.EntityGrenadeCluster;
import com.hbm.entity.EntityGrenadeElectric;
import com.hbm.entity.EntityGrenadeFire;
@ -49,6 +50,8 @@ import com.hbm.entity.EntityGrenadePlasma;
import com.hbm.entity.EntityGrenadePoison;
import com.hbm.entity.EntityGrenadeSchrabidium;
import com.hbm.entity.EntityGrenadeStrong;
import com.hbm.entity.EntityGrenadeTau;
import com.hbm.entity.EntityHunterChopper;
import com.hbm.entity.EntityMiniNuke;
import com.hbm.entity.EntityMirv;
import com.hbm.entity.EntityMissileAntiBallistic;
@ -102,10 +105,12 @@ import com.hbm.render.RenderBigNuke;
import com.hbm.render.RenderBombMulti;
import com.hbm.render.RenderCable;
import com.hbm.render.RenderCentrifuge;
import com.hbm.render.RenderChopperMine;
import com.hbm.render.RenderCrashedBomb;
import com.hbm.render.RenderDecoBlock;
import com.hbm.render.RenderDecoBlockAlt;
import com.hbm.render.RenderFlare;
import com.hbm.render.RenderHunterChopper;
import com.hbm.render.RenderLaunchPadTier1;
import com.hbm.render.RenderMiniNuke;
import com.hbm.render.RenderMirv;
@ -194,6 +199,7 @@ public class ClientProxy extends ServerProxy
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeNuke.class, new RenderSnowball(ModItems.grenade_nuke));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeNuclear.class, new RenderSnowball(ModItems.grenade_nuclear));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadePlasma.class, new RenderSnowball(ModItems.grenade_plasma));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeTau.class, new RenderSnowball(ModItems.grenade_tau));
RenderingRegistry.registerEntityRenderingHandler(EntitySchrab.class, new RenderFlare());
@ -273,6 +279,9 @@ public class ClientProxy extends ServerProxy
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_scaffold), new ItemRenderDecoBlock());
RenderingRegistry.registerEntityRenderingHandler(EntityNuclearCreeper.class, new RenderNuclearCreeper());
RenderingRegistry.registerEntityRenderingHandler(EntityHunterChopper.class, new RenderHunterChopper());
RenderingRegistry.registerEntityRenderingHandler(EntityChopperMine.class, new RenderChopperMine());
RenderingRegistry.registerEntityRenderingHandler(EntitySmokeFX.class, new ModEffectRenderer(ModItems.nuclear_waste));
RenderingRegistry.registerEntityRenderingHandler(EntityBSmokeFX.class, new BSmokeRenderer(ModItems.nuclear_waste));

View File

@ -471,8 +471,9 @@ public class CraftingManager {
GameRegistry.addRecipe(new ItemStack(ModItems.grenade_poison, 2), new Object[] { " G ", "PGP", " P ", 'G', ModItems.grenade_generic, 'P', ModItems.powder_poison });
GameRegistry.addRecipe(new ItemStack(ModItems.grenade_gas, 2), new Object[] { " G ", "CGC", " C ", 'G', ModItems.grenade_generic, 'C', ModItems.pellet_gas });
GameRegistry.addRecipe(new ItemStack(ModItems.grenade_schrabidium, 2), new Object[] { " G ", "CFC", " C ", 'G', ModItems.grenade_generic, 'C', ModItems.ingot_schrabidium, 'F', ModItems.grenade_flare });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_nuclear, 1), new Object[] {"RS ", "ITI", " I ", 'I', "plateIron", 'R', ModItems.wire_red_copper, 'S', ModItems.plate_steel, 'T', ModItems.gun_fatman_ammo }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_nuclear, 1), new Object[] {"RS ", "ITI", " I ", 'I', "plateIron", 'R', ModItems.wire_red_copper, 'S', "plateSteel", 'T', ModItems.gun_fatman_ammo }));
GameRegistry.addRecipe(new ItemStack(ModItems.grenade_plasma, 2), new Object[] { " G ", "SGS", " S ", 'G', ModItems.grenade_generic, 'S', ModItems.wire_advanced_alloy });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_tau, 1), new Object[] {"RS ", "ITI", "UIU", 'I', "plateLead", 'R', ModItems.wire_red_copper, 'S', "plateAdvanced", 'T', ModItems.coil_advanced_torus, 'U', ModItems.gun_xvl1456_ammo }));
GameRegistry.addRecipe(new ItemStack(ModItems.bomb_waffle, 1), new Object[] { "WEW", "MPM", "WEW", 'W', Items.wheat, 'E', Items.egg, 'M', Items.milk_bucket, 'P', ModItems.man_core });
GameRegistry.addRecipe(new ItemStack(ModItems.schnitzel_vegan, 3), new Object[] { "RWR", "WPW", "RWR", 'W', ModItems.nuclear_waste, 'R', Items.reeds, 'P', Items.pumpkin_seeds });

View File

@ -69,6 +69,7 @@ import com.hbm.creativetabs.NukeTab;
import com.hbm.creativetabs.PartsTab;
import com.hbm.creativetabs.TestTab;
import com.hbm.entity.EntityBullet;
import com.hbm.entity.EntityChopperMine;
import com.hbm.entity.EntityGrenadeCluster;
import com.hbm.entity.EntityGrenadeElectric;
import com.hbm.entity.EntityGrenadeFire;
@ -82,6 +83,8 @@ import com.hbm.entity.EntityGrenadePlasma;
import com.hbm.entity.EntityGrenadePoison;
import com.hbm.entity.EntityGrenadeSchrabidium;
import com.hbm.entity.EntityGrenadeStrong;
import com.hbm.entity.EntityGrenadeTau;
import com.hbm.entity.EntityHunterChopper;
import com.hbm.entity.EntityMiniNuke;
import com.hbm.entity.EntityMirv;
import com.hbm.entity.EntityMissileAntiBallistic;
@ -185,6 +188,7 @@ public class MainRegistry
public static int mirvRadius = 100;
public static int fatmanRadius = 35;
public static int nukaRadius = 25;
public static int aSchrabRadius = 20;
public static int radioStructure = 500;
public static int antennaStructure = 250;
public static int atomStructure = 500;
@ -198,6 +202,10 @@ public class MainRegistry
public static int dudStructure = 500;
public static int spaceshipStructure = 1000;
public static int x;
public static int y;
public static int z;
@EventHandler
public void PreLoad(FMLPreInitializationEvent PreEvent)
{
@ -310,8 +318,11 @@ public class MainRegistry
EntityRegistry.registerModEntity(EntityGrenadeNuclear.class, "entity_grenade_nuclear", 39, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityBSmokeFX.class, "entity_b_smoke_fx", 40, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityGrenadePlasma.class, "entity_grenade_plasma", 41, this, 500, 1, true);
EntityRegistry.registerModEntity(EntityGrenadeTau.class, "entity_grenade_tau", 42, this, 500, 1, true);
EntityRegistry.registerModEntity(EntityChopperMine.class, "entity_chopper_mine", 43, this, 1000, 1, true);
EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00);
EntityRegistry.registerGlobalEntityID(EntityHunterChopper.class, "entity_mob_hunter_chopper", EntityRegistry.findGlobalUniqueEntityId(), 0xffffff, 0xffffff);
}
@EventHandler
@ -486,6 +497,9 @@ public class MainRegistry
Property propNuka = config.get(Configuration.CATEGORY_GENERAL, "3.91_nukaRadius", 25);
propNuka.comment = "Radius of the nuka grenade";
nukaRadius = propNuka.getInt();
Property propASchrab = config.get(Configuration.CATEGORY_GENERAL, "3.92_aSchrabRadius", 20);
propASchrab.comment = "Radius of dropped anti schrabidium";
aSchrabRadius = propASchrab.getInt();
Property propRadio = config.get(Configuration.CATEGORY_GENERAL, "4.0_radioSpawn", 500);
propRadio.comment = "Spawn radio station on every nTH chunk";

View File

@ -0,0 +1,45 @@
package com.hbm.render;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
public class ModelBullet extends ModelBase {
ModelRenderer bullet;
public ModelBullet() {
textureWidth = 8;
textureHeight = 4;
bullet = new ModelRenderer(this, 0, 0);
bullet.addBox(0F, 0F, 0F, 2, 1, 1);
bullet.setRotationPoint(1F, -0.5F, -0.5F);
bullet.setTextureSize(8, 4);
bullet.mirror = true;
setRotation(bullet, 0F, 0F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
super.render(entity, f, f1, f2, f3, f4, f5);
setRotationAngles(f, f1, f2, f3, f4, f5, entity);
bullet.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z) {
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
@Override
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) {
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
}
public void renderAll(float f5) {
bullet.render(f5);
}
}

View File

@ -0,0 +1,45 @@
package com.hbm.render;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
public class ModelChopperMine extends ModelBase {
ModelRenderer bullet;
public ModelChopperMine() {
textureWidth = 32;
textureHeight = 16;
bullet = new ModelRenderer(this, 0, 0);
bullet.addBox(0F, 0F, 0F, 8, 8, 8);
bullet.setRotationPoint(-4F, -4F, -4F);
bullet.setTextureSize(32, 16);
bullet.mirror = true;
setRotation(bullet, 0F, 0F, 0F);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
super.render(entity, f, f1, f2, f3, f4, f5);
setRotationAngles(f, f1, f2, f3, f4, f5, entity);
bullet.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z) {
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
@Override
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) {
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
}
public void renderAll(float f5) {
bullet.render(f5);
}
}

View File

@ -4,26 +4,19 @@
// Keep in mind that you still need to fill in some blanks
// - ZeuX
package com.hbm.render;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
public class ModelRocket extends ModelBase
{
//fields
public class ModelRocket extends ModelBase {
// fields
ModelRenderer Shape7;
ModelRenderer Shape8;
ModelRenderer Shape9;
public ModelRocket()
{
public ModelRocket() {
textureWidth = 64;
textureHeight = 32;
@ -48,8 +41,7 @@ public class ModelRocket extends ModelBase
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
super.render(entity, f, f1, f2, f3, f4, f5);
setRotationAngles(f, f1, f2, f3, f4, f5, entity);
Shape7.render(f5);
@ -57,16 +49,14 @@ public void render(Entity entity, float f, float f1, float f2, float f3, float f
Shape9.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
private void setRotation(ModelRenderer model, float x, float y, float z) {
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
@Override
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
{
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) {
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
}

View File

@ -0,0 +1,128 @@
// Date: 23.07.2016 18:06:22
// Template version 1.1
// Java generated by Techne
// Keep in mind that you still need to fill in some blanks
// - ZeuX
package com.hbm.render;
import com.hbm.main.MainRegistry;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
public class ProtoCopter extends ModelBase
{
//fields
ModelRenderer Shape1;
ModelRenderer Shape2;
ModelRenderer Shape3;
ModelRenderer Shape4;
ModelRenderer Shape5;
ModelRenderer Shape6;
ModelRenderer Shape7;
ModelRenderer Shape8;
public ProtoCopter()
{
textureWidth = 128;
textureHeight = 64;
int x = 0;
int z = -2;
Shape1 = new ModelRenderer(this, 0, 0);
Shape1.addBox(0F, 0F, 0F, 16, 4, 4);
Shape1.setRotationPoint(-8F + x, 0F, 0F + z);
Shape1.setTextureSize(128, 64);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
Shape2 = new ModelRenderer(this, 0, 0);
Shape2.addBox(0F, 0F, 0F, 4, 8, 4);
Shape2.setRotationPoint(-12F + x, 0F, 0F + z);
Shape2.setTextureSize(128, 64);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0F, 0F);
Shape3 = new ModelRenderer(this, 0, 0);
Shape3.addBox(0F, 0F, 0F, 7, 3, 2);
Shape3.setRotationPoint(8F + x, 0F, 1F + z);
Shape3.setTextureSize(128, 64);
Shape3.mirror = true;
setRotation(Shape3, 0F, 0F, 0F);
Shape4 = new ModelRenderer(this, 0, 0);
Shape4.addBox(0F, 0F, 0F, 6, 6, 2);
Shape4.setRotationPoint(15F + x, 0F, 1F + z);
Shape4.setTextureSize(128, 64);
Shape4.mirror = true;
setRotation(Shape4, 0F, 0F, 0F);
Shape5 = new ModelRenderer(this, 0, 0);
Shape5.addBox(0F, 0F, 0F, 5, 5, 2);
Shape5.setRotationPoint(-8F + x, 3F, 1F + z);
Shape5.setTextureSize(128, 64);
Shape5.mirror = true;
setRotation(Shape5, 0F, 0F, 0F);
Shape6 = new ModelRenderer(this, 0, 0);
Shape6.addBox(0F, 0F, 0F, 4, 2, 14);
Shape6.setRotationPoint(-3F + x, 4F, -5F + z);
Shape6.setTextureSize(128, 64);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 0F);
Shape7 = new ModelRenderer(this, 0, 0);
Shape7.addBox(0F, 0F, 0F, 2, 4, 2);
Shape7.setRotationPoint(-1F + x, -4F, 1F + z);
Shape7.setTextureSize(128, 64);
Shape7.mirror = true;
setRotation(Shape7, 0F, 0F, 0F);
Shape8 = new ModelRenderer(this, 0, 0);
Shape8.addBox(-14F, 0F, -14F, 28, 1, 28);
Shape8.setRotationPoint(0F + x, -3F, 2F + z);
Shape8.setTextureSize(128, 64);
Shape8.mirror = true;
setRotation(Shape8, 0F, 0F, 0F);
}
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
setRotationAngles(f, f1, f2, f3, f4, f5, entity);
Shape1.render(f5);
Shape2.render(f5);
Shape3.render(f5);
Shape4.render(f5);
Shape5.render(f5);
Shape6.render(f5);
Shape7.render(f5);
Shape8.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
{
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
}
public void renderAll(float f5)
{
Shape1.render(f5);
Shape2.render(f5);
Shape3.render(f5);
Shape4.render(f5);
Shape5.render(f5);
Shape6.render(f5);
Shape7.render(f5);
Shape8.render(f5);
}
}

View File

@ -0,0 +1,38 @@
package com.hbm.render;
import org.lwjgl.opengl.GL11;
import com.hbm.entity.EntityBullet;
import com.hbm.lib.RefStrings;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
public class RenderChopperMine extends Render {
ModelChopperMine mine;
public RenderChopperMine() {
mine = new ModelChopperMine();
}
@Override
public void doRender(Entity rocket, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_,
float p_76986_9_) {
GL11.glPushMatrix();
GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_);
GL11.glScalef(1.5F, 1.5F, 1.5F);
GL11.glRotatef(180, 1, 0, 0);
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/chopperBomb.png"));
mine.renderAll(0.0625F);
GL11.glPopMatrix();
}
@Override
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
return new ResourceLocation(RefStrings.MODID + ":textures/models/chopperBomb.png");
}
}

View File

@ -0,0 +1,41 @@
package com.hbm.render;
import org.lwjgl.opengl.GL11;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
public class RenderHunterChopper extends Render {
ProtoCopter mine;
public RenderHunterChopper() {
mine = new ProtoCopter();
}
@Override
public void doRender(Entity rocket, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_,
float p_76986_9_) {
GL11.glPushMatrix();
GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_);
GL11.glTranslatef(0.0625F * 0, 0.0625F * 32, 0.0625F * 0);
GL11.glScalef(4F, 4F, 4F);
GL11.glRotatef(180, 1, 0, 0);
GL11.glRotatef(rocket.prevRotationYaw + (rocket.rotationYaw - rocket.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(rocket.prevRotationPitch + (rocket.rotationPitch - rocket.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F);
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/TheGadget3_.png"));
mine.renderAll(0.0625F);
GL11.glPopMatrix();
}
@Override
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
return new ResourceLocation(RefStrings.MODID + ":textures/models/TheGadget3_.png");
}
}

View File

@ -9,43 +9,52 @@ import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import com.hbm.entity.EntityBullet;
import com.hbm.entity.EntityRocket;
import com.hbm.lib.RefStrings;
@SideOnly(Side.CLIENT)
public class RenderRocket extends Render {
private ModelBullet miniNuke;
private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/ModelRocket.png");
ModelRocket md;
public RenderRocket()
{
this.md = new ModelRocket();
public RenderRocket() {
miniNuke = new ModelBullet();
}
@Override
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) {
}
public void render(Entity rocket, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) {
GL11.glEnable(2896);
public void doRender(Entity rocket, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_,
float p_76986_9_) {
GL11.glPushMatrix();
GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_);
GL11.glRotatef(rocket.prevRotationYaw + (rocket.rotationYaw - rocket.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(rocket.prevRotationPitch + (rocket.rotationPitch - rocket.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
this.md.render(rocket, p_76986_9_, p_76986_9_, p_76986_9_, p_76986_9_, p_76986_9_, p_76986_9_);
GL11.glPopMatrix();
}
GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_);
GL11.glRotatef(rocket.prevRotationYaw + (rocket.rotationYaw - rocket.prevRotationYaw) * p_76986_9_ - 90.0F,
0.0F, 1.0F, 0.0F);
GL11.glRotatef(rocket.prevRotationPitch + (rocket.rotationPitch - rocket.prevRotationPitch) * p_76986_9_ + 180,
0.0F, 0.0F, 1.0F);
GL11.glScalef(1.5F, 1.5F, 1.5F);
protected ResourceLocation getEntityTexture(EntityRocket p_110775_1_) {
return texture;
if (rocket instanceof EntityBullet && ((EntityBullet) rocket).getIsChopper()) {
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/emplacer.png"));
} else if (rocket instanceof EntityBullet && ((EntityBullet) rocket).getIsCritical()) {
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/tau.png"));
} else if (rocket instanceof EntityBullet) {
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/bullet.png"));
}
miniNuke.renderAll(0.0625F);
GL11.glPopMatrix();
}
@Override
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
return this.getEntityTexture((EntityRocket) p_110775_1_);
if (p_110775_1_ instanceof EntityBullet && ((EntityBullet) p_110775_1_).getIsChopper()) {
return new ResourceLocation(RefStrings.MODID + ":textures/models/emplacer.png");
} else if (p_110775_1_ instanceof EntityBullet && ((EntityBullet) p_110775_1_).getIsCritical()) {
return new ResourceLocation(RefStrings.MODID + ":textures/models/tau.png");
} else if (p_110775_1_ instanceof EntityBullet) {
return new ResourceLocation(RefStrings.MODID + ":textures/models/bullet.png");
}
return null;
}
}