diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 6e09105aa..8ea52e93e 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -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 diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index a2b12e133..db71ee205 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -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 diff --git a/assets/hbm/textures/blocks/block_combine_steel.png b/assets/hbm/textures/blocks/block_combine_steel.png new file mode 100644 index 000000000..6bb9df624 Binary files /dev/null and b/assets/hbm/textures/blocks/block_combine_steel.png differ diff --git a/assets/hbm/textures/blocks/block_magnetized_tungsten.png b/assets/hbm/textures/blocks/block_magnetized_tungsten.png new file mode 100644 index 000000000..1f121b0cc Binary files /dev/null and b/assets/hbm/textures/blocks/block_magnetized_tungsten.png differ diff --git a/assets/hbm/textures/blocks/fwatz_computer.png b/assets/hbm/textures/blocks/fwatz_computer.png new file mode 100644 index 000000000..1a00908d6 Binary files /dev/null and b/assets/hbm/textures/blocks/fwatz_computer.png differ diff --git a/assets/hbm/textures/blocks/fwatz_conductor_side.png b/assets/hbm/textures/blocks/fwatz_conductor_side.png new file mode 100644 index 000000000..822c86ba4 Binary files /dev/null and b/assets/hbm/textures/blocks/fwatz_conductor_side.png differ diff --git a/assets/hbm/textures/blocks/fwatz_cooler.png b/assets/hbm/textures/blocks/fwatz_cooler.png new file mode 100644 index 000000000..a4346b0df Binary files /dev/null and b/assets/hbm/textures/blocks/fwatz_cooler.png differ diff --git a/assets/hbm/textures/blocks/fwatz_cooler_top.png b/assets/hbm/textures/blocks/fwatz_cooler_top.png new file mode 100644 index 000000000..c4eb67842 Binary files /dev/null and b/assets/hbm/textures/blocks/fwatz_cooler_top.png differ diff --git a/assets/hbm/textures/blocks/fwatz_core.png b/assets/hbm/textures/blocks/fwatz_core.png new file mode 100644 index 000000000..b7deb184e Binary files /dev/null and b/assets/hbm/textures/blocks/fwatz_core.png differ diff --git a/assets/hbm/textures/blocks/fwatz_hatch.png b/assets/hbm/textures/blocks/fwatz_hatch.png new file mode 100644 index 000000000..1937b966f Binary files /dev/null and b/assets/hbm/textures/blocks/fwatz_hatch.png differ diff --git a/assets/hbm/textures/blocks/fwatz_plasma.png b/assets/hbm/textures/blocks/fwatz_plasma.png new file mode 100644 index 000000000..536f3cfef Binary files /dev/null and b/assets/hbm/textures/blocks/fwatz_plasma.png differ diff --git a/assets/hbm/textures/blocks/fwatz_plasma.png.mcmeta b/assets/hbm/textures/blocks/fwatz_plasma.png.mcmeta new file mode 100644 index 000000000..7ceb36394 --- /dev/null +++ b/assets/hbm/textures/blocks/fwatz_plasma.png.mcmeta @@ -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 + ] + } +} \ No newline at end of file diff --git a/assets/hbm/textures/blocks/fwatz_scaffold.png b/assets/hbm/textures/blocks/fwatz_scaffold.png new file mode 100644 index 000000000..7064b031b Binary files /dev/null and b/assets/hbm/textures/blocks/fwatz_scaffold.png differ diff --git a/assets/hbm/textures/blocks/fwatz_tank.png b/assets/hbm/textures/blocks/fwatz_tank.png new file mode 100644 index 000000000..248ae197d Binary files /dev/null and b/assets/hbm/textures/blocks/fwatz_tank.png differ diff --git a/assets/hbm/textures/blocks/reix_bottom.png b/assets/hbm/textures/blocks/reix_bottom.png new file mode 100644 index 000000000..c467cbb02 Binary files /dev/null and b/assets/hbm/textures/blocks/reix_bottom.png differ diff --git a/assets/hbm/textures/blocks/reix_side.png b/assets/hbm/textures/blocks/reix_side.png new file mode 100644 index 000000000..91e155c8b Binary files /dev/null and b/assets/hbm/textures/blocks/reix_side.png differ diff --git a/assets/hbm/textures/blocks/reix_side.png.mcmeta b/assets/hbm/textures/blocks/reix_side.png.mcmeta new file mode 100644 index 000000000..d7b41bbd3 --- /dev/null +++ b/assets/hbm/textures/blocks/reix_side.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": { } +} diff --git a/assets/hbm/textures/blocks/reix_top.png b/assets/hbm/textures/blocks/reix_top.png new file mode 100644 index 000000000..6d8fc88b7 Binary files /dev/null and b/assets/hbm/textures/blocks/reix_top.png differ diff --git a/assets/hbm/textures/blocks/white_cable.png b/assets/hbm/textures/blocks/white_cable.png new file mode 100644 index 000000000..c59723c58 Binary files /dev/null and b/assets/hbm/textures/blocks/white_cable.png differ diff --git a/assets/hbm/textures/blocks/white_cable_icon.png b/assets/hbm/textures/blocks/white_cable_icon.png new file mode 100644 index 000000000..1a4ff072c Binary files /dev/null and b/assets/hbm/textures/blocks/white_cable_icon.png differ diff --git a/assets/hbm/textures/blocks/white_wire_coated.png b/assets/hbm/textures/blocks/white_wire_coated.png new file mode 100644 index 000000000..be4a5f129 Binary files /dev/null and b/assets/hbm/textures/blocks/white_wire_coated.png differ diff --git a/assets/hbm/textures/gui/gui_cmb_manufactory.png b/assets/hbm/textures/gui/gui_cmb_manufactory.png new file mode 100644 index 000000000..8d77bdea2 Binary files /dev/null and b/assets/hbm/textures/gui/gui_cmb_manufactory.png differ diff --git a/assets/hbm/textures/items/chopper_blades.png b/assets/hbm/textures/items/chopper_blades.png new file mode 100644 index 000000000..9907016d9 Binary files /dev/null and b/assets/hbm/textures/items/chopper_blades.png differ diff --git a/assets/hbm/textures/items/chopper_gun.png b/assets/hbm/textures/items/chopper_gun.png new file mode 100644 index 000000000..acc106818 Binary files /dev/null and b/assets/hbm/textures/items/chopper_gun.png differ diff --git a/assets/hbm/textures/items/chopper_head.png b/assets/hbm/textures/items/chopper_head.png new file mode 100644 index 000000000..6d6bbdfab Binary files /dev/null and b/assets/hbm/textures/items/chopper_head.png differ diff --git a/assets/hbm/textures/items/chopper_tail.png b/assets/hbm/textures/items/chopper_tail.png new file mode 100644 index 000000000..be8d4ca15 Binary files /dev/null and b/assets/hbm/textures/items/chopper_tail.png differ diff --git a/assets/hbm/textures/items/chopper_torso.png b/assets/hbm/textures/items/chopper_torso.png new file mode 100644 index 000000000..78ecfac23 Binary files /dev/null and b/assets/hbm/textures/items/chopper_torso.png differ diff --git a/assets/hbm/textures/items/chopper_wing.png b/assets/hbm/textures/items/chopper_wing.png new file mode 100644 index 000000000..1a0c1ee44 Binary files /dev/null and b/assets/hbm/textures/items/chopper_wing.png differ diff --git a/assets/hbm/textures/items/combine_scrap.png b/assets/hbm/textures/items/combine_scrap.png new file mode 100644 index 000000000..1f5b8f373 Binary files /dev/null and b/assets/hbm/textures/items/combine_scrap.png differ diff --git a/assets/hbm/textures/items/grenade_tau.png b/assets/hbm/textures/items/grenade_tau.png new file mode 100644 index 000000000..64f6311cd Binary files /dev/null and b/assets/hbm/textures/items/grenade_tau.png differ diff --git a/assets/hbm/textures/items/ingot_combine_steel.png b/assets/hbm/textures/items/ingot_combine_steel.png new file mode 100644 index 000000000..f2067374b Binary files /dev/null and b/assets/hbm/textures/items/ingot_combine_steel.png differ diff --git a/assets/hbm/textures/items/ingot_magnetized_tungsten.png b/assets/hbm/textures/items/ingot_magnetized_tungsten.png new file mode 100644 index 000000000..edea1b776 Binary files /dev/null and b/assets/hbm/textures/items/ingot_magnetized_tungsten.png differ diff --git a/assets/hbm/textures/items/plate_combine_steel.png b/assets/hbm/textures/items/plate_combine_steel.png new file mode 100644 index 000000000..1757528c0 Binary files /dev/null and b/assets/hbm/textures/items/plate_combine_steel.png differ diff --git a/assets/hbm/textures/items/wand_d.png b/assets/hbm/textures/items/wand_d.png new file mode 100644 index 000000000..3524021be Binary files /dev/null and b/assets/hbm/textures/items/wand_d.png differ diff --git a/assets/hbm/textures/items/wire_magnetized_tungsten.png b/assets/hbm/textures/items/wire_magnetized_tungsten.png new file mode 100644 index 000000000..d9b66cdda Binary files /dev/null and b/assets/hbm/textures/items/wire_magnetized_tungsten.png differ diff --git a/assets/hbm/textures/models/bullet.png b/assets/hbm/textures/models/bullet.png new file mode 100644 index 000000000..2c6c09f0d Binary files /dev/null and b/assets/hbm/textures/models/bullet.png differ diff --git a/assets/hbm/textures/models/chopperBomb.png b/assets/hbm/textures/models/chopperBomb.png new file mode 100644 index 000000000..eafaceffa Binary files /dev/null and b/assets/hbm/textures/models/chopperBomb.png differ diff --git a/assets/hbm/textures/models/emplacer.png b/assets/hbm/textures/models/emplacer.png new file mode 100644 index 000000000..38883bb85 Binary files /dev/null and b/assets/hbm/textures/models/emplacer.png differ diff --git a/assets/hbm/textures/models/tau.png b/assets/hbm/textures/models/tau.png new file mode 100644 index 000000000..e2d48cf66 Binary files /dev/null and b/assets/hbm/textures/models/tau.png differ diff --git a/com/hbm/blocks/BlockReactor.java b/com/hbm/blocks/BlockReactor.java index 5a7c00e61..e503a5f7a 100644 --- a/com/hbm/blocks/BlockReactor.java +++ b/com/hbm/blocks/BlockReactor.java @@ -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 diff --git a/com/hbm/blocks/FWatzCore.java b/com/hbm/blocks/FWatzCore.java new file mode 100644 index 000000000..4c246cc7e --- /dev/null +++ b/com/hbm/blocks/FWatzCore.java @@ -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; + } + +} diff --git a/com/hbm/blocks/FWatzHatch.java b/com/hbm/blocks/FWatzHatch.java new file mode 100644 index 000000000..841adbae0 --- /dev/null +++ b/com/hbm/blocks/FWatzHatch.java @@ -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); + } + } +} diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 73007a3ca..ac0bcc208 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -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()); @@ -633,6 +658,15 @@ public class ModBlocks { GameRegistry.registerBlock(watz_hatch, watz_hatch.getUnlocalizedName()); 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()); diff --git a/com/hbm/blocks/MudBlock.java b/com/hbm/blocks/MudBlock.java index 7851d1259..007fa4e57 100644 --- a/com/hbm/blocks/MudBlock.java +++ b/com/hbm/blocks/MudBlock.java @@ -44,6 +44,7 @@ public class MudBlock extends BlockFluidClassic { damageSource = damage; setQuantaPerBlock(4); setCreativeTab(null); + displacements.put(this, false); } @SideOnly(Side.CLIENT) @@ -57,57 +58,63 @@ 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) - //{ - // 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);*/ - - } 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) - world.spawnEntityInWorld(creep); - entity.setDead(); - } 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) - world.spawnEntityInWorld(creep); - } else if(entity instanceof EntityLivingBase && !(entity instanceof EntityNuclearCreeper) && !(entity instanceof EntityMooshroom) && !(entity instanceof EntityZombie)) - { - entity.attackEntityFrom(ModDamageSource.mudPoisoning, 8); - } + entity.setInWeb(); + // 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); + */ + + } 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) + world.spawnEntityInWorld(creep); + entity.setDead(); + } 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) + world.spawnEntityInWorld(creep); + } else if (entity instanceof EntityLivingBase && !(entity instanceof EntityNuclearCreeper) + && !(entity instanceof EntityMooshroom) && !(entity instanceof EntityZombie)) { + entity.attackEntityFrom(ModDamageSource.mudPoisoning, 8); + } } public void updateTick(World world, int x, int y, int z, Random rand) { super.updateTick(world, x, y, z, rand); } - - public int tickRate(World p_149738_1_) - { - return 15; - } + + public int tickRate(World p_149738_1_) { + return 15; + } } diff --git a/com/hbm/blocks/ReinforcedBlock.java b/com/hbm/blocks/ReinforcedBlock.java index e2ebff5cf..4c7b9714a 100644 --- a/com/hbm/blocks/ReinforcedBlock.java +++ b/com/hbm/blocks/ReinforcedBlock.java @@ -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_])) { diff --git a/com/hbm/entity/EntityBullet.java b/com/hbm/entity/EntityBullet.java index cb92d5110..b291029e4 100644 --- a/com/hbm/entity/EntityBullet.java +++ b/com/hbm/entity/EntityBullet.java @@ -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_); + } } diff --git a/com/hbm/entity/EntityChopperMine.java b/com/hbm/entity/EntityChopperMine.java new file mode 100644 index 000000000..1f3288369 --- /dev/null +++ b/com/hbm/entity/EntityChopperMine.java @@ -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++; + } + +} diff --git a/com/hbm/entity/EntityGrenadeTau.java b/com/hbm/entity/EntityGrenadeTau.java new file mode 100644 index 000000000..970990ca2 --- /dev/null +++ b/com/hbm/entity/EntityGrenadeTau.java @@ -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); + } + } +} diff --git a/com/hbm/entity/EntityHunterChopper.java b/com/hbm/entity/EntityHunterChopper.java new file mode 100644 index 000000000..3b295eca1 --- /dev/null +++ b/com/hbm/entity/EntityHunterChopper.java @@ -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); + } +} diff --git a/com/hbm/entity/EntityRocket.java b/com/hbm/entity/EntityRocket.java index 1a8aefcdb..3c43c1eb4 100644 --- a/com/hbm/entity/EntityRocket.java +++ b/com/hbm/entity/EntityRocket.java @@ -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 diff --git a/com/hbm/explosion/ExplosionChaos.java b/com/hbm/explosion/ExplosionChaos.java index 2bb90863b..9776d5641 100644 --- a/com/hbm/explosion/ExplosionChaos.java +++ b/com/hbm/explosion/ExplosionChaos.java @@ -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); + } + } + } diff --git a/com/hbm/gui/MachineRecipes.java b/com/hbm/gui/MachineRecipes.java index 77e2c3deb..2acac51bd 100644 --- a/com/hbm/gui/MachineRecipes.java +++ b/com/hbm/gui/MachineRecipes.java @@ -14,363 +14,366 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; public class MachineRecipes { - + public MachineRecipes() { - + } - + public static MachineRecipes instance() { return new 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) { - return new ItemStack(ModBlocks.test_render, 1); + 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) { - return new ItemStack(ModItems.neutron_reflector, 2); + 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) { - return new ItemStack(ModItems.neutron_reflector, 2); + 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) { - return new ItemStack(ModItems.neutron_reflector, 1); + 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) { - return new ItemStack(ModItems.ingot_steel, 2); + 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) { - return new ItemStack(ModItems.ingot_red_copper, 2); + 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) { - return new ItemStack(ModItems.canister_fuel, 1); + 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) { - return new ItemStack(ModItems.ingot_advanced_alloy, 2); + 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); } - - 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[] 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) - { + 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[] 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) { 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; } - + return null; } - + public static ItemStack getReactorProcessingResult(Item item) { return getReactorOutput(item); } - + 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); } - + return null; } - + public Map getAlloyRecipes() { Map recipes = new HashMap(); - 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; } - + public ArrayList getAlloyFuels() { ArrayList fuels = new ArrayList(); fuels.add(new ItemStack(Items.coal)); @@ -383,37 +386,54 @@ public class MachineRecipes { fuels.add(new ItemStack(Items.blaze_powder)); return fuels; } - + public Map getCentrifugeRecipes() { Map recipes = new HashMap(); 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; } - + public ArrayList getCentrifugeFuels() { ArrayList fuels = new ArrayList(); fuels.add(new ItemStack(Items.coal)); @@ -426,7 +446,7 @@ public class MachineRecipes { fuels.add(new ItemStack(Items.blaze_powder)); return fuels; } - + public Map getReactorRecipes() { Map recipes = new HashMap(); recipes.put(new ItemStack(ModItems.rod_uranium), getReactorOutput(ModItems.rod_uranium)); @@ -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)); diff --git a/com/hbm/items/GunXVL1456.java b/com/hbm/items/GunXVL1456.java index 548b336ba..98e9a8386 100644 --- a/com/hbm/items/GunXVL1456.java +++ b/com/hbm/items/GunXVL1456.java @@ -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 diff --git a/com/hbm/items/ItemDrop.java b/com/hbm/items/ItemDrop.java new file mode 100644 index 000000000..3b00a4d76 --- /dev/null +++ b/com/hbm/items/ItemDrop.java @@ -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; + } + +} diff --git a/com/hbm/items/ItemGrenade.java b/com/hbm/items/ItemGrenade.java index fd68b01db..e18eb8f05 100644 --- a/com/hbm/items/ItemGrenade.java +++ b/com/hbm/items/ItemGrenade.java @@ -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; } diff --git a/com/hbm/items/ItemStarterKit.java b/com/hbm/items/ItemStarterKit.java index 65427e6e8..7990598ce 100644 --- a/com/hbm/items/ItemStarterKit.java +++ b/com/hbm/items/ItemStarterKit.java @@ -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)); diff --git a/com/hbm/items/ItemWandD.java b/com/hbm/items/ItemWandD.java new file mode 100644 index 000000000..afa7872f3 --- /dev/null +++ b/com/hbm/items/ItemWandD.java @@ -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; + } + +} diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 6f3ae0a6f..37c578b0d 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -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"); @@ -681,6 +699,14 @@ public class ModItems { thruster_small = new Item().setUnlocalizedName("thruster_small").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":thruster_small"); 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"); @@ -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 diff --git a/com/hbm/lib/HbmChestContents.java b/com/hbm/lib/HbmChestContents.java index 19b9f6f15..34a3497ce 100644 --- a/com/hbm/lib/HbmChestContents.java +++ b/com/hbm/lib/HbmChestContents.java @@ -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), diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index f10b81c48..bbee13261 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -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; + } } diff --git a/com/hbm/lib/ModDamageSource.java b/com/hbm/lib/ModDamageSource.java index 7d27475ce..0c4ee09c4 100644 --- a/com/hbm/lib/ModDamageSource.java +++ b/com/hbm/lib/ModDamageSource.java @@ -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(); @@ -30,5 +34,37 @@ 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; + } } diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 6df796eb2..2e943f366 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -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)); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index d07ec41d4..443be7e4a 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -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 }); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 777ebe649..d56fa5716 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -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; @@ -197,6 +201,10 @@ public class MainRegistry public static int factoryStructure = 1000; 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"; diff --git a/com/hbm/render/ModelBullet.java b/com/hbm/render/ModelBullet.java new file mode 100644 index 000000000..edf824414 --- /dev/null +++ b/com/hbm/render/ModelBullet.java @@ -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); + } + +} \ No newline at end of file diff --git a/com/hbm/render/ModelChopperMine.java b/com/hbm/render/ModelChopperMine.java new file mode 100644 index 000000000..c3d5bfd16 --- /dev/null +++ b/com/hbm/render/ModelChopperMine.java @@ -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); + } + +} \ No newline at end of file diff --git a/com/hbm/render/ModelRocket.java b/com/hbm/render/ModelRocket.java index 0666df9ea..bf5296f72 100644 --- a/com/hbm/render/ModelRocket.java +++ b/com/hbm/render/ModelRocket.java @@ -4,70 +4,60 @@ // 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 - ModelRenderer Shape7; - ModelRenderer Shape8; - ModelRenderer Shape9; - - public ModelRocket() - { - textureWidth = 64; - textureHeight = 32; - - Shape7 = new ModelRenderer(this, 10, 0); - Shape7.addBox(0F, 0F, 0F, 1, 2, 2); - Shape7.setRotationPoint(-3F, -2F, -0.5F); - Shape7.setTextureSize(64, 32); - Shape7.mirror = true; - setRotation(Shape7, 0F, 0F, 0F); - Shape8 = new ModelRenderer(this, 0, 4); - Shape8.addBox(0F, 0F, 0F, 10, 1, 1); - Shape8.setRotationPoint(-8F, -1.5F, 0F); - Shape8.setTextureSize(64, 32); - Shape8.mirror = true; - setRotation(Shape8, 0F, 0F, 0F); - Shape9 = new ModelRenderer(this, 0, 0); - Shape9.addBox(0F, 0F, 0F, 3, 2, 2); - Shape9.setRotationPoint(-6.5F, -2F, -0.5F); - Shape9.setTextureSize(64, 32); - Shape9.mirror = true; - setRotation(Shape9, 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); - Shape7.render(f5); - Shape8.render(f5); - Shape9.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 class ModelRocket extends ModelBase { + // fields + ModelRenderer Shape7; + ModelRenderer Shape8; + ModelRenderer Shape9; + + public ModelRocket() { + textureWidth = 64; + textureHeight = 32; + + Shape7 = new ModelRenderer(this, 10, 0); + Shape7.addBox(0F, 0F, 0F, 1, 2, 2); + Shape7.setRotationPoint(-3F, -2F, -0.5F); + Shape7.setTextureSize(64, 32); + Shape7.mirror = true; + setRotation(Shape7, 0F, 0F, 0F); + Shape8 = new ModelRenderer(this, 0, 4); + Shape8.addBox(0F, 0F, 0F, 10, 1, 1); + Shape8.setRotationPoint(-8F, -1.5F, 0F); + Shape8.setTextureSize(64, 32); + Shape8.mirror = true; + setRotation(Shape8, 0F, 0F, 0F); + Shape9 = new ModelRenderer(this, 0, 0); + Shape9.addBox(0F, 0F, 0F, 3, 2, 2); + Shape9.setRotationPoint(-6.5F, -2F, -0.5F); + Shape9.setTextureSize(64, 32); + Shape9.mirror = true; + setRotation(Shape9, 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); + Shape7.render(f5); + Shape8.render(f5); + Shape9.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); + } } diff --git a/com/hbm/render/ProtoCopter.java b/com/hbm/render/ProtoCopter.java new file mode 100644 index 000000000..c508bcc3f --- /dev/null +++ b/com/hbm/render/ProtoCopter.java @@ -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); + } + +} diff --git a/com/hbm/render/RenderChopperMine.java b/com/hbm/render/RenderChopperMine.java new file mode 100644 index 000000000..591cc1dea --- /dev/null +++ b/com/hbm/render/RenderChopperMine.java @@ -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"); + } +} diff --git a/com/hbm/render/RenderHunterChopper.java b/com/hbm/render/RenderHunterChopper.java new file mode 100644 index 000000000..bb29bbc53 --- /dev/null +++ b/com/hbm/render/RenderHunterChopper.java @@ -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"); + } +} diff --git a/com/hbm/render/RenderRocket.java b/com/hbm/render/RenderRocket.java index beae15fd6..70d9677c7 100644 --- a/com/hbm/render/RenderRocket.java +++ b/com/hbm/render/RenderRocket.java @@ -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 static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/ModelRocket.png"); - ModelRocket md; + private ModelBullet miniNuke; - 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); - 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(); - } - - protected ResourceLocation getEntityTexture(EntityRocket p_110775_1_) { - return texture; + 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_ + 180, + 0.0F, 0.0F, 1.0F); + GL11.glScalef(1.5F, 1.5F, 1.5F); + + 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; } - + } \ No newline at end of file