diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index b1b874466..cca1edc95 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -655,6 +655,7 @@ item.assembly_nopip.name=.44er Patronensatz item.assembly_smg.name=9mm Patronensatz item.assembly_uzi.name=.22LR Patronensatz item.assembly_calamity.name=.50 BMG Patronensatz +item.assembly_lacunae.name=5mm Patronensatz item.piston_selenium.name=Sternmotorenkolben @@ -1248,6 +1249,9 @@ item.gun_revolver_nopip.name=Novac item.gun_revolver_blackjack.name=Blackjack Five-Shooter item.gun_revolver_red.name=Roter Schlüssel-Revolver item.gun_calamity.name=Calamity +item.gun_minigun.name=CZ53 Persönliche Minigun +item.gun_avenger.name=CZ57 Avenger-Minigun +item.gun_lacunae.name=CZ33 Abaddon item.gun_calamity_dual.name=Sattelkanone item.gun_fatman.name=M42 Nukleares Katapult "Fat Man" item.gun_proto.name=M42 Nukleares Katapult "Proto MIRV" @@ -1296,6 +1300,7 @@ item.gun_revolver_nightmare2_ammo.name=Laserschrot item.gun_revolver_pip_ammo.name=Verdorbene Patrone item.gun_revolver_nopip_ammo.name=.44 Magnumpatrone item.gun_calamity_ammo.name=.50 BMG Patrone +item.gun_lacunae_ammo.name=5mm Patrone item.gun_fatman_ammo.name=Miniatombombe item.gun_mirv_ammo.name=Achtfaches MIRV item.gun_bf_ammo.name=Mk.V kompaktes AMAT-Artilleriegeschoss - Typ B.F. diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 6cde61941..fff2093f3 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -655,6 +655,7 @@ item.assembly_nopip.name=.44 Magnum Assembly item.assembly_smg.name=9mm Assembly item.assembly_uzi.name=.22LR Assembly item.assembly_calamity.name=.50 BMG Assembly +item.assembly_lacunae.name=.5mm Assembly item.piston_selenium.name=Radial Engine Piston @@ -1249,6 +1250,9 @@ item.gun_revolver_blackjack.name=Blackjack Five-Shooter item.gun_revolver_red.name=Red Key Revolver item.gun_calamity.name=Calamity item.gun_calamity_dual.name=Saddle Gun +item.gun_minigun.name=CZ53 Personal Minigun +item.gun_avenger.name=CZ57 Avenger Minigun +item.gun_lacunae.name=CZ33 Abaddon item.gun_fatman.name=M42 Nuclear Catapult "Fat Man" item.gun_proto.name=M42 Nuclear Catapult "Proto MIRV" item.gun_mirv.name=M42 Nuclear Catapult "Experimental MIRV" @@ -1296,6 +1300,7 @@ item.gun_revolver_nightmare2_ammo.name=Laser Buckshot item.gun_revolver_pip_ammo.name=Tainted Bullet item.gun_revolver_nopip_ammo.name=.44 Magnum Bullet item.gun_calamity_ammo.name=.50 BMG Round +item.gun_lacunae_ammo.name=5mm Round item.gun_fatman_ammo.name=Mini Nuke item.gun_mirv_ammo.name=Eightfold MIRV item.gun_bf_ammo.name=Mk.V Compact AMAT-Artillery Shell - Type B.F. diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index 7159cad42..fe222eda2 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -90,6 +90,9 @@ "weapon.silencerShoot": {"category": "player", "sounds": [{"name": "weapon/silencerShoot", "stream": false}]}, "weapon.gBounce": {"category": "player", "sounds": ["weapon/gBounce1", "weapon/gBounce2", "weapon/gBounce3"]}, "weapon.calShoot": {"category": "player", "sounds": ["weapon/cal1", "weapon/cal2", "weapon/cal3"]}, + "weapon.lacunaeSpinup": {"category": "player", "sounds": [{"name": "weapon/lacunaeSpinup", "stream": false}]}, + "weapon.lacunaeSpindown": {"category": "player", "sounds": [{"name": "weapon/lacunaeSpindown", "stream": false}]}, + "weapon.lacunaeShoot": {"category": "player", "sounds": [{"name": "weapon/lacunaeShoot", "stream": false}]}, "weapon.reloadTurret": {"category": "player", "sounds": [{"name": "weapon/reloadTurret", "stream": false}]}, "weapon.switchmode1": {"category": "player", "sounds": [{"name": "weapon/switchmode1", "stream": false}]}, diff --git a/assets/hbm/sounds/weapon/lacunaeShoot.ogg b/assets/hbm/sounds/weapon/lacunaeShoot.ogg new file mode 100644 index 000000000..5233c54d7 Binary files /dev/null and b/assets/hbm/sounds/weapon/lacunaeShoot.ogg differ diff --git a/assets/hbm/sounds/weapon/lacunaeSpindown.ogg b/assets/hbm/sounds/weapon/lacunaeSpindown.ogg new file mode 100644 index 000000000..ea6d93e2d Binary files /dev/null and b/assets/hbm/sounds/weapon/lacunaeSpindown.ogg differ diff --git a/assets/hbm/sounds/weapon/lacunaeSpinup.ogg b/assets/hbm/sounds/weapon/lacunaeSpinup.ogg new file mode 100644 index 000000000..0ef293aa6 Binary files /dev/null and b/assets/hbm/sounds/weapon/lacunaeSpinup.ogg differ diff --git a/assets/hbm/textures/gui/gui_waste_drum.png b/assets/hbm/textures/gui/gui_waste_drum.png new file mode 100644 index 000000000..e7a1b2fde Binary files /dev/null and b/assets/hbm/textures/gui/gui_waste_drum.png differ diff --git a/assets/hbm/textures/items/assembly_lacunae.png b/assets/hbm/textures/items/assembly_lacunae.png new file mode 100644 index 000000000..fdd2299c6 Binary files /dev/null and b/assets/hbm/textures/items/assembly_lacunae.png differ diff --git a/assets/hbm/textures/items/chlorine_pinwheel.png b/assets/hbm/textures/items/chlorine_pinwheel.png new file mode 100644 index 000000000..1319f90d5 Binary files /dev/null and b/assets/hbm/textures/items/chlorine_pinwheel.png differ diff --git a/assets/hbm/textures/items/clip_revolver_nopip.png b/assets/hbm/textures/items/clip_revolver_nopip.png new file mode 100644 index 000000000..6597e4329 Binary files /dev/null and b/assets/hbm/textures/items/clip_revolver_nopip.png differ diff --git a/assets/hbm/textures/items/gun_avenger.png b/assets/hbm/textures/items/gun_avenger.png new file mode 100644 index 000000000..004f943ed Binary files /dev/null and b/assets/hbm/textures/items/gun_avenger.png differ diff --git a/assets/hbm/textures/items/gun_lacunae.png b/assets/hbm/textures/items/gun_lacunae.png new file mode 100644 index 000000000..56b58d5be Binary files /dev/null and b/assets/hbm/textures/items/gun_lacunae.png differ diff --git a/assets/hbm/textures/items/gun_lacunae_ammo.png b/assets/hbm/textures/items/gun_lacunae_ammo.png new file mode 100644 index 000000000..8a55130cb Binary files /dev/null and b/assets/hbm/textures/items/gun_lacunae_ammo.png differ diff --git a/assets/hbm/textures/items/gun_minigun.png b/assets/hbm/textures/items/gun_minigun.png new file mode 100644 index 000000000..f4db3f240 Binary files /dev/null and b/assets/hbm/textures/items/gun_minigun.png differ diff --git a/assets/hbm/textures/items/rod_dual_mox_fuel_depleted.png b/assets/hbm/textures/items/rod_dual_mox_fuel_depleted.png index e045a4dd6..a48165ba8 100644 Binary files a/assets/hbm/textures/items/rod_dual_mox_fuel_depleted.png and b/assets/hbm/textures/items/rod_dual_mox_fuel_depleted.png differ diff --git a/assets/hbm/textures/items/rod_dual_th232.png b/assets/hbm/textures/items/rod_dual_th232.png new file mode 100644 index 000000000..04ba8b8a3 Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_th232.png differ diff --git a/assets/hbm/textures/items/rod_dual_thorium_fuel.png b/assets/hbm/textures/items/rod_dual_thorium_fuel.png new file mode 100644 index 000000000..0385a8672 Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_thorium_fuel.png differ diff --git a/assets/hbm/textures/items/rod_dual_thorium_fuel_depleted.png b/assets/hbm/textures/items/rod_dual_thorium_fuel_depleted.png new file mode 100644 index 000000000..c6810bf10 Binary files /dev/null and b/assets/hbm/textures/items/rod_dual_thorium_fuel_depleted.png differ diff --git a/assets/hbm/textures/items/rod_quad_th232.png b/assets/hbm/textures/items/rod_quad_th232.png new file mode 100644 index 000000000..f6ccd1ac2 Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_th232.png differ diff --git a/assets/hbm/textures/items/rod_quad_thorium_fuel.png b/assets/hbm/textures/items/rod_quad_thorium_fuel.png new file mode 100644 index 000000000..a6f634998 Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_thorium_fuel.png differ diff --git a/assets/hbm/textures/items/rod_quad_thorium_fuel_depleted.png b/assets/hbm/textures/items/rod_quad_thorium_fuel_depleted.png new file mode 100644 index 000000000..2d8c8b2e2 Binary files /dev/null and b/assets/hbm/textures/items/rod_quad_thorium_fuel_depleted.png differ diff --git a/assets/hbm/textures/items/rod_th232.png b/assets/hbm/textures/items/rod_th232.png new file mode 100644 index 000000000..abd45afbf Binary files /dev/null and b/assets/hbm/textures/items/rod_th232.png differ diff --git a/assets/hbm/textures/items/rod_thorium_fuel.png b/assets/hbm/textures/items/rod_thorium_fuel.png new file mode 100644 index 000000000..829477e5c Binary files /dev/null and b/assets/hbm/textures/items/rod_thorium_fuel.png differ diff --git a/assets/hbm/textures/items/rod_thorium_fuel_depleted.png b/assets/hbm/textures/items/rod_thorium_fuel_depleted.png new file mode 100644 index 000000000..3784ad68d Binary files /dev/null and b/assets/hbm/textures/items/rod_thorium_fuel_depleted.png differ diff --git a/assets/hbm/textures/models/ModelLacunae.png b/assets/hbm/textures/models/ModelLacunae.png new file mode 100644 index 000000000..40981f04b Binary files /dev/null and b/assets/hbm/textures/models/ModelLacunae.png differ diff --git a/assets/hbm/textures/models/ModelLacunaeAvenger.png b/assets/hbm/textures/models/ModelLacunaeAvenger.png new file mode 100644 index 000000000..867efab47 Binary files /dev/null and b/assets/hbm/textures/models/ModelLacunaeAvenger.png differ diff --git a/assets/hbm/textures/models/ModelLacunaeReal.png b/assets/hbm/textures/models/ModelLacunaeReal.png new file mode 100644 index 000000000..05736d980 Binary files /dev/null and b/assets/hbm/textures/models/ModelLacunaeReal.png differ diff --git a/com/hbm/blocks/machine/WasteDrum.java b/com/hbm/blocks/machine/WasteDrum.java index 3b65d0702..eaab86b21 100644 --- a/com/hbm/blocks/machine/WasteDrum.java +++ b/com/hbm/blocks/machine/WasteDrum.java @@ -2,18 +2,32 @@ package com.hbm.blocks.machine; import java.util.Random; +import com.hbm.blocks.ModBlocks; import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.machine.TileEntityMachineCoal; +import com.hbm.tileentity.machine.TileEntityWasteDrum; +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.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; +import net.minecraft.world.World; -public class WasteDrum extends Block { +public class WasteDrum extends BlockContainer { private final Random field_149933_a = new Random(); + @SideOnly(Side.CLIENT) private IIcon iconTop; @@ -38,4 +52,73 @@ public class WasteDrum extends Block { return blockIcon; } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityWasteDrum(); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) + { + return true; + } else if(!player.isSneaking()) + { + TileEntityWasteDrum entity = (TileEntityWasteDrum) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_waste_drum, world, x, y, z); + } + return true; + } else { + return false; + } + } + + @Override + public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) + { + ISidedInventory tileentityfurnace = (ISidedInventory) p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, + p_149749_4_); + + if (tileentityfurnace != null) { + for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) { + ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); + + if (itemstack != null) { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, + p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) { + entityitem.getEntityItem() + .setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (float) this.field_149933_a.nextGaussian() * f3; + entityitem.motionY = (float) this.field_149933_a.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float) this.field_149933_a.nextGaussian() * f3; + p_149749_1_.spawnEntityInWorld(entityitem); + } + } + } + + p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } } diff --git a/com/hbm/handler/BulletConfiguration.java b/com/hbm/handler/BulletConfiguration.java new file mode 100644 index 000000000..5754d8420 --- /dev/null +++ b/com/hbm/handler/BulletConfiguration.java @@ -0,0 +1,9 @@ +package com.hbm.handler; + +import net.minecraft.item.Item; + +public class BulletConfiguration { + + public Item ammo; + +} diff --git a/com/hbm/handler/GUIHandler.java b/com/hbm/handler/GUIHandler.java index ac13024ad..e5b11b2f1 100644 --- a/com/hbm/handler/GUIHandler.java +++ b/com/hbm/handler/GUIHandler.java @@ -702,6 +702,15 @@ public class GUIHandler implements IGuiHandler { } return null; } + + case ModBlocks.guiID_waste_drum: + { + if(entity instanceof TileEntityWasteDrum) + { + return new ContainerWasteDrum(player.inventory, (TileEntityWasteDrum) entity); + } + return null; + } } return null; } @@ -1396,6 +1405,15 @@ public class GUIHandler implements IGuiHandler { } return null; } + + case ModBlocks.guiID_waste_drum: + { + if(entity instanceof TileEntityWasteDrum) + { + return new GUIWasteDrum(player.inventory, (TileEntityWasteDrum) entity); + } + return null; + } } } else { //CLIENTONLY GUIS diff --git a/com/hbm/handler/GunConfiguration.java b/com/hbm/handler/GunConfiguration.java new file mode 100644 index 000000000..8c043d9dd --- /dev/null +++ b/com/hbm/handler/GunConfiguration.java @@ -0,0 +1,39 @@ +package com.hbm.handler; + +import java.util.List; + +public class GunConfiguration { + + //amount of ticks between each bullet + public int rateOfFire; + public int rateOfFireAlt; + //greatest amount of pellets created each shot + public int bulletsMin; + public int bulletsMinAlt; + //least amount of pellets created each shot + public int bulletsMax; + public int bulletsMaxAlt; + //0 = normal, 1 = release, 2 = both + public int gunMode; + //0 = manual, 1 = automatic + public int firingMode; + + //whether or not there is a reload delay animation + public boolean hasReloadAnim; + //whether or not there is a firing delay with animation + public boolean hasFiringAnim; + + //how long the reload animation will play + public int reloadDuration; + //duration of every animation cycle + public int firingDuration; + + //how much ammo the clip can hold, 0 if drawn from inventory + public int ammoCap; + //0 does not allow direct reload, 1 is full clip, 2 is single bullet + public int reloadType; + + public List bConfig; + public List altConfig; + +} diff --git a/com/hbm/interfaces/IHoldableWeapon.java b/com/hbm/interfaces/IHoldableWeapon.java new file mode 100644 index 000000000..8af2e23ef --- /dev/null +++ b/com/hbm/interfaces/IHoldableWeapon.java @@ -0,0 +1,3 @@ +package com.hbm.interfaces; + +public interface IHoldableWeapon { } diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index bd5552d72..4b0469844 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -129,42 +129,22 @@ public class MachineRecipes { 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[] uran1 = new ItemStack[] { new ItemStack(ModItems.nugget_u235, 1), - new ItemStack(ModItems.nugget_u238, 3), new ItemStack(ModItems.nugget_pu239, 2), - new ItemStack(ModItems.nuclear_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.nuclear_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.nuclear_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.nuclear_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_neptunium, 1), - new ItemStack(ModItems.rod_quad_euphemium, 1) }; + ItemStack[] uranF = new ItemStack[] { new ItemStack(ModItems.nugget_u235, 1), + new ItemStack(ModItems.nugget_u238, 2), new ItemStack(ModItems.nugget_pu239, 1), + new ItemStack(ModItems.nuclear_waste_tiny, 2) }; + ItemStack[] plutoniumF = new ItemStack[] { new ItemStack(ModItems.nugget_pu239, 1), + new ItemStack(ModItems.nugget_pu240, 1), new ItemStack(ModItems.nugget_lead, 1), + new ItemStack(ModItems.nuclear_waste_tiny, 3) }; + ItemStack[] moxF = new ItemStack[] { new ItemStack(ModItems.nugget_pu239, 1), + new ItemStack(ModItems.nugget_neptunium, 1), new ItemStack(ModItems.nugget_u238, 2), + new ItemStack(ModItems.nuclear_waste_tiny, 2) }; + ItemStack[] schrabidiumF = new ItemStack[] { new ItemStack(ModItems.nugget_schrabidium_fuel, 1), + new ItemStack(ModItems.nugget_lead, 1), new ItemStack(ModItems.nugget_schrabidium, 1), + new ItemStack(ModItems.nuclear_waste_tiny, 3) }; + ItemStack[] thoriumF = new ItemStack[] { new ItemStack(ModItems.nugget_u238, 1), + new ItemStack(ModItems.nugget_th232, 1), new ItemStack(ModItems.nugget_u233, 3), + new ItemStack(ModItems.nuclear_waste_tiny, 1) }; + ItemStack[] cloud = new ItemStack[] { new ItemStack(ModItems.powder_copper, 1), new ItemStack(ModItems.sulfur, 1), new ItemStack(ModItems.dust, 1), new ItemStack(ModItems.dust, 1) }; @@ -234,7 +214,11 @@ public class MachineRecipes { } if (item.getItem() == ModItems.waste_uranium) { - return uran1; + return uranF; + } + + if (item.getItem() == ModItems.waste_thorium) { + return thoriumF; } /*if (item.getItem() == ModItems.rod_dual_uranium_fuel_depleted) { @@ -246,7 +230,7 @@ public class MachineRecipes { }*/ if (item.getItem() == ModItems.waste_plutonium) { - return plutonium1; + return plutoniumF; } /*if (item.getItem() == ModItems.rod_dual_plutonium_fuel_depleted) { @@ -258,7 +242,7 @@ public class MachineRecipes { }*/ if (item.getItem() == ModItems.waste_mox) { - return mox1; + return moxF; } /*if (item.getItem() == ModItems.rod_dual_mox_fuel_depleted) { @@ -270,7 +254,7 @@ public class MachineRecipes { }*/ if (item.getItem() == ModItems.waste_schrabidium) { - return schrabidium1; + return schrabidiumF; } /*if (item.getItem() == ModItems.rod_dual_schrabidium_fuel_depleted) { @@ -662,6 +646,8 @@ public class MachineRecipes { return new ItemStack(ModItems.gun_uzi_ammo); if(mODE(input, "ingotGold")) return new ItemStack(ModItems.gun_mp_ammo); + if(input.getItem() == ModItems.assembly_lacunae) + return new ItemStack(ModItems.gun_lacunae_ammo); } if(stamp.getItem() == ModItems.stamp_50) { @@ -742,6 +728,7 @@ public class MachineRecipes { recipes.put(new Object[] { i_stamps_9, new ItemStack(ModItems.assembly_smg) }, getPressResultNN(i_stamps_9.get(0).getItem(), ModItems.assembly_smg)); recipes.put(new Object[] { i_stamps_9, new ItemStack(ModItems.assembly_uzi) }, getPressResultNN(i_stamps_9.get(0).getItem(), ModItems.assembly_uzi)); + recipes.put(new Object[] { i_stamps_9, new ItemStack(ModItems.assembly_lacunae) }, getPressResultNN(i_stamps_9.get(0).getItem(), ModItems.assembly_lacunae)); recipes.put(new Object[] { i_stamps_9, new ItemStack(Items.gold_ingot) }, getPressResultNN(i_stamps_9.get(0).getItem(), Items.gold_ingot)); recipes.put(new Object[] { i_stamps_50, new ItemStack(ModItems.assembly_calamity) }, getPressResultNN(i_stamps_50.get(0).getItem(), ModItems.assembly_calamity)); @@ -755,10 +742,18 @@ public class MachineRecipes { public static ItemStack getReactorOutput(Item item) { + if (item == ModItems.rod_th232) { + return new ItemStack(ModItems.rod_u233, 1); + } + if (item == ModItems.rod_uranium) { return new ItemStack(ModItems.rod_plutonium, 1); } + if (item == ModItems.rod_u233) { + return new ItemStack(ModItems.rod_u235, 1); + } + if (item == ModItems.rod_u235) { return new ItemStack(ModItems.rod_neptunium, 1); } @@ -791,10 +786,18 @@ public class MachineRecipes { return new ItemStack(ModItems.rod_solinium, 1); } + if (item == ModItems.rod_dual_th232) { + return new ItemStack(ModItems.rod_dual_u233, 1); + } + if (item == ModItems.rod_dual_uranium) { return new ItemStack(ModItems.rod_dual_plutonium, 1); } + if (item == ModItems.rod_dual_u233) { + return new ItemStack(ModItems.rod_dual_u235, 1); + } + if (item == ModItems.rod_dual_u235) { return new ItemStack(ModItems.rod_dual_neptunium, 1); } @@ -827,10 +830,18 @@ public class MachineRecipes { return new ItemStack(ModItems.rod_dual_solinium, 1); } + if (item == ModItems.rod_quad_th232) { + return new ItemStack(ModItems.rod_quad_u233, 1); + } + if (item == ModItems.rod_quad_uranium) { return new ItemStack(ModItems.rod_quad_plutonium, 1); } + if (item == ModItems.rod_quad_u233) { + return new ItemStack(ModItems.rod_quad_u235, 1); + } + if (item == ModItems.rod_quad_u235) { return new ItemStack(ModItems.rod_quad_neptunium, 1); } @@ -1253,6 +1264,8 @@ public class MachineRecipes { getCentrifugeOutput(new ItemStack(ModBlocks.ore_nether_plutonium))); recipes.put(new ItemStack(ModItems.waste_uranium), getCentrifugeOutput(new ItemStack(ModItems.waste_uranium))); + recipes.put(new ItemStack(ModItems.waste_thorium), + getCentrifugeOutput(new ItemStack(ModItems.waste_thorium))); recipes.put(new ItemStack(ModItems.waste_plutonium), getCentrifugeOutput(new ItemStack(ModItems.waste_plutonium))); recipes.put(new ItemStack(ModItems.waste_mox), @@ -1352,6 +1365,12 @@ public class MachineRecipes { recipes.put(new ItemStack(ModBlocks.sellafield_2), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_2))); recipes.put(new ItemStack(ModBlocks.sellafield_3), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_3))); recipes.put(new ItemStack(ModBlocks.sellafield_4), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_4))); + recipes.put(new ItemStack(ModItems.rod_th232), getReactorOutput(ModItems.rod_th232)); + recipes.put(new ItemStack(ModItems.rod_dual_th232), getReactorOutput(ModItems.rod_dual_th232)); + recipes.put(new ItemStack(ModItems.rod_quad_th232), getReactorOutput(ModItems.rod_quad_th232)); + recipes.put(new ItemStack(ModItems.rod_u233), getReactorOutput(ModItems.rod_u233)); + recipes.put(new ItemStack(ModItems.rod_dual_u233), getReactorOutput(ModItems.rod_dual_u233)); + recipes.put(new ItemStack(ModItems.rod_quad_u233), getReactorOutput(ModItems.rod_quad_u233)); return recipes; } diff --git a/com/hbm/inventory/container/ContainerWasteDrum.java b/com/hbm/inventory/container/ContainerWasteDrum.java new file mode 100644 index 000000000..3c23643b1 --- /dev/null +++ b/com/hbm/inventory/container/ContainerWasteDrum.java @@ -0,0 +1,85 @@ +package com.hbm.inventory.container; + +import com.hbm.tileentity.machine.TileEntityCrateIron; +import com.hbm.tileentity.machine.TileEntityWasteDrum; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerWasteDrum extends Container { + + private TileEntityWasteDrum diFurnace; + + public ContainerWasteDrum(InventoryPlayer invPlayer, TileEntityWasteDrum tedf) { + diFurnace = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 71, 18)); + this.addSlotToContainer(new Slot(tedf, 1, 89, 18)); + this.addSlotToContainer(new Slot(tedf, 2, 53, 36)); + this.addSlotToContainer(new Slot(tedf, 3, 71, 36)); + this.addSlotToContainer(new Slot(tedf, 4, 89, 36)); + this.addSlotToContainer(new Slot(tedf, 5, 107, 36)); + this.addSlotToContainer(new Slot(tedf, 6, 53, 54)); + this.addSlotToContainer(new Slot(tedf, 7, 71, 54)); + this.addSlotToContainer(new Slot(tedf, 8, 89, 54)); + this.addSlotToContainer(new Slot(tedf, 9, 107, 54)); + this.addSlotToContainer(new Slot(tedf, 10, 71, 72)); + this.addSlotToContainer(new Slot(tedf, 11, 89, 72)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 20)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 20)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) + { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(par2); + + if (var4 != null && var4.getHasStack()) + { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if (par2 <= diFurnace.getSizeInventory() - 1) { + if (!this.mergeItemStack(var5, diFurnace.getSizeInventory(), this.inventorySlots.size(), true)) + { + return null; + } + } + else if (!this.mergeItemStack(var5, 0, 0, false)) + { + return null; + } + + if (var5.stackSize == 0) + { + var4.putStack((ItemStack) null); + } + else + { + var4.onSlotChanged(); + } + } + + return var3; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return diFurnace.isUseableByPlayer(player); + } +} diff --git a/com/hbm/inventory/gui/GUIWasteDrum.java b/com/hbm/inventory/gui/GUIWasteDrum.java new file mode 100644 index 000000000..ddc41ff71 --- /dev/null +++ b/com/hbm/inventory/gui/GUIWasteDrum.java @@ -0,0 +1,44 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerCrateIron; +import com.hbm.inventory.container.ContainerWasteDrum; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.TileEntityCrateIron; +import com.hbm.tileentity.machine.TileEntityWasteDrum; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUIWasteDrum extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_waste_drum.png"); + private TileEntityWasteDrum diFurnace; + + public GUIWasteDrum(InventoryPlayer invPlayer, TileEntityWasteDrum tedf) { + super(new ContainerWasteDrum(invPlayer, tedf)); + diFurnace = tedf; + + this.xSize = 176; + this.ySize = 186; + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + } +} diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 8a9dc3572..4a31db0c3 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -315,6 +315,7 @@ public class ModItems { public static Item assembly_smg; public static Item assembly_uzi; public static Item assembly_calamity; + public static Item assembly_lacunae; public static Item circuit_targeting_tier1; public static Item circuit_targeting_tier2; @@ -599,6 +600,7 @@ public class ModItems { public static Item rod_empty; public static Item rod_uranium; + public static Item rod_th232; public static Item rod_u233; public static Item rod_u235; public static Item rod_u238; @@ -620,6 +622,7 @@ public class ModItems { public static Item rod_dual_empty; public static Item rod_dual_uranium; + public static Item rod_dual_th232; public static Item rod_dual_u233; public static Item rod_dual_u235; public static Item rod_dual_u238; @@ -634,6 +637,7 @@ public class ModItems { public static Item rod_quad_empty; public static Item rod_quad_uranium; + public static Item rod_quad_th232; public static Item rod_quad_u233; public static Item rod_quad_u235; public static Item rod_quad_u238; @@ -649,6 +653,9 @@ public class ModItems { public static Item rod_uranium_fuel; public static Item rod_dual_uranium_fuel; public static Item rod_quad_uranium_fuel; + public static Item rod_thorium_fuel; + public static Item rod_dual_thorium_fuel; + public static Item rod_quad_thorium_fuel; public static Item rod_plutonium_fuel; public static Item rod_dual_plutonium_fuel; public static Item rod_quad_plutonium_fuel; @@ -670,9 +677,13 @@ public class ModItems { public static Item scrap; public static Item trinitite; public static Item nuclear_waste; + public static Item nuclear_waste_tiny; public static Item rod_uranium_fuel_depleted; public static Item rod_dual_uranium_fuel_depleted; public static Item rod_quad_uranium_fuel_depleted; + public static Item rod_thorium_fuel_depleted; + public static Item rod_dual_thorium_fuel_depleted; + public static Item rod_quad_thorium_fuel_depleted; public static Item rod_plutonium_fuel_depleted; public static Item rod_dual_plutonium_fuel_depleted; public static Item rod_quad_plutonium_fuel_depleted; @@ -805,6 +816,10 @@ public class ModItems { public static Item gun_calamity; public static Item gun_calamity_dual; public static Item gun_calamity_ammo; + public static Item gun_minigun; + public static Item gun_avenger; + public static Item gun_lacunae; + public static Item gun_lacunae_ammo; public static Item gun_fatman; public static Item gun_proto; public static Item gun_fatman_ammo; @@ -1255,6 +1270,7 @@ public class ModItems { public static Item clip_revolver_nightmare; public static Item clip_revolver_nightmare2; public static Item clip_revolver_pip; + public static Item clip_revolver_nopip; public static Item clip_rpg; public static Item clip_stinger; public static Item clip_fatman; @@ -1802,6 +1818,7 @@ public class ModItems { assembly_smg = new Item().setUnlocalizedName("assembly_smg").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_smg"); assembly_uzi = new Item().setUnlocalizedName("assembly_uzi").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_uzi"); assembly_calamity = new Item().setUnlocalizedName("assembly_calamity").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_calamity"); + assembly_lacunae = new Item().setUnlocalizedName("assembly_lacunae").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_lacunae"); wiring_red_copper = new ItemWiring().setUnlocalizedName("wiring_red_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":wiring_red_copper"); @@ -1977,6 +1994,7 @@ public class ModItems { ring_pull = new Item().setUnlocalizedName("ring_pull").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":ring_pull"); rod_empty = new Item().setUnlocalizedName("rod_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_empty"); + rod_th232 = new ItemCustomLore().setUnlocalizedName("rod_th232").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_th232"); rod_uranium = new ItemCustomLore().setUnlocalizedName("rod_uranium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_uranium"); rod_u233 = new ItemCustomLore().setUnlocalizedName("rod_u233").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_u233"); rod_u235 = new ItemCustomLore().setUnlocalizedName("rod_u235").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_u235"); @@ -1998,6 +2016,7 @@ public class ModItems { rod_verticium = new ItemCustomLore().setUnlocalizedName("rod_verticium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_verticium"); rod_dual_empty = new Item().setUnlocalizedName("rod_dual_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_dual_empty"); + rod_dual_th232 = new ItemCustomLore().setUnlocalizedName("rod_dual_th232").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_th232"); rod_dual_uranium = new ItemCustomLore().setUnlocalizedName("rod_dual_uranium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_uranium"); rod_dual_u233 = new ItemCustomLore().setUnlocalizedName("rod_dual_u233").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_u233"); rod_dual_u235 = new ItemCustomLore().setUnlocalizedName("rod_dual_u235").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_u235"); @@ -2012,6 +2031,7 @@ public class ModItems { rod_dual_solinium = new ItemCustomLore().setUnlocalizedName("rod_dual_solinium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_solinium"); rod_quad_empty = new Item().setUnlocalizedName("rod_quad_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_quad_empty"); + rod_quad_th232 = new ItemCustomLore().setUnlocalizedName("rod_quad_th232").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_th232"); rod_quad_uranium = new ItemCustomLore().setUnlocalizedName("rod_quad_uranium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_uranium"); rod_quad_u233 = new ItemCustomLore().setUnlocalizedName("rod_quad_u233").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_u233"); rod_quad_u235 = new ItemCustomLore().setUnlocalizedName("rod_quad_u235").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_u235"); @@ -2025,6 +2045,9 @@ public class ModItems { rod_quad_schrabidium = new ItemCustomLore().setUnlocalizedName("rod_quad_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_schrabidium"); rod_quad_solinium = new ItemCustomLore().setUnlocalizedName("rod_quad_solinium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_solinium"); + rod_thorium_fuel = new ItemFuelRod(100000, 10).setUnlocalizedName("rod_thorium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_thorium_fuel"); + rod_dual_thorium_fuel = new ItemFuelRod(100000, 20).setUnlocalizedName("rod_dual_thorium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_thorium_fuel"); + rod_quad_thorium_fuel = new ItemFuelRod(100000, 40).setUnlocalizedName("rod_quad_thorium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_thorium_fuel"); rod_uranium_fuel = new ItemFuelRod(100000, 15).setUnlocalizedName("rod_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_uranium_fuel"); rod_dual_uranium_fuel = new ItemFuelRod(100000, 30).setUnlocalizedName("rod_dual_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_uranium_fuel"); rod_quad_uranium_fuel = new ItemFuelRod(100000, 60).setUnlocalizedName("rod_quad_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_uranium_fuel"); @@ -2056,6 +2079,7 @@ public class ModItems { trinitite = new ItemCustomLore().setUnlocalizedName("trinitite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":trinitite_new"); nuclear_waste = new ItemCustomLore().setUnlocalizedName("nuclear_waste").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste"); + nuclear_waste_tiny = new ItemCustomLore().setUnlocalizedName("nuclear_waste_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_tiny"); waste_uranium = new ItemCustomLore().setUnlocalizedName("waste_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_uranium"); waste_thorium = new ItemCustomLore().setUnlocalizedName("waste_thorium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_thorium"); waste_plutonium = new ItemCustomLore().setUnlocalizedName("waste_plutonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plutonium"); @@ -2067,6 +2091,9 @@ public class ModItems { waste_mox_hot = new ItemCustomLore().setUnlocalizedName("waste_mox_hot").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_mox_hot"); waste_schrabidium_hot = new ItemCustomLore().setUnlocalizedName("waste_schrabidium_hot").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_schrabidium_hot"); scrap = new Item().setUnlocalizedName("scrap").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap"); + rod_thorium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_thorium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_thorium_fuel_depleted"); + rod_dual_thorium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_dual_thorium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_thorium_fuel_depleted"); + rod_quad_thorium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_quad_thorium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_thorium_fuel_depleted"); rod_uranium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_uranium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_uranium_fuel_depleted"); rod_dual_uranium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_dual_uranium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_uranium_fuel_depleted"); rod_quad_uranium_fuel_depleted = new ItemCustomLore().setUnlocalizedName("rod_quad_uranium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_uranium_fuel_depleted"); @@ -2169,6 +2196,10 @@ public class ModItems { gun_calamity_ammo = new ItemCustomLore().setUnlocalizedName("gun_calamity_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_calamity_ammo"); gun_calamity = new GunCalamity().setUnlocalizedName("gun_calamity").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_calamity"); gun_calamity_dual = new GunCalamity().setUnlocalizedName("gun_calamity_dual").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_calamity_dual"); + gun_lacunae_ammo = new ItemCustomLore().setUnlocalizedName("gun_lacunae_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lacunae_ammo"); + gun_minigun = new GunLacunae().setUnlocalizedName("gun_minigun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_minigun"); + gun_avenger = new GunLacunae().setUnlocalizedName("gun_avenger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_avenger"); + gun_lacunae = new GunLacunae().setUnlocalizedName("gun_lacunae").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lacunae"); gun_fatman_ammo = new Item().setUnlocalizedName("gun_fatman_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman_ammo"); gun_fatman = new GunFatman().setMaxDamage(2500).setUnlocalizedName("gun_fatman").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman"); gun_proto = new GunProtoMirv().setMaxDamage(2500).setUnlocalizedName("gun_proto").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman"); @@ -2460,6 +2491,7 @@ public class ModItems { clip_revolver_nightmare = new ItemClip().setUnlocalizedName("clip_revolver_nightmare").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_revolver_nightmare"); clip_revolver_nightmare2 = new ItemClip().setUnlocalizedName("clip_revolver_nightmare2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_revolver_nightmare2"); clip_revolver_pip = new ItemClip().setUnlocalizedName("clip_revolver_pip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_revolver_pip"); + clip_revolver_nopip = new ItemClip().setUnlocalizedName("clip_revolver_nopip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_revolver_nopip"); clip_rpg = new ItemClip().setUnlocalizedName("clip_rpg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_rpg_alt"); clip_stinger = new ItemClip().setUnlocalizedName("clip_stinger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_stinger"); clip_fatman = new ItemClip().setUnlocalizedName("clip_fatman").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":clip_fatman"); @@ -3224,6 +3256,7 @@ public class ModItems { GameRegistry.registerItem(assembly_nopip, assembly_nopip.getUnlocalizedName()); GameRegistry.registerItem(assembly_smg, assembly_smg.getUnlocalizedName()); GameRegistry.registerItem(assembly_uzi, assembly_uzi.getUnlocalizedName()); + GameRegistry.registerItem(assembly_lacunae, assembly_lacunae.getUnlocalizedName()); GameRegistry.registerItem(assembly_calamity, assembly_calamity.getUnlocalizedName()); //Wiring @@ -3504,6 +3537,10 @@ public class ModItems { GameRegistry.registerItem(rod_dual_uranium, rod_dual_uranium.getUnlocalizedName()); GameRegistry.registerItem(rod_quad_uranium, rod_quad_uranium.getUnlocalizedName()); + GameRegistry.registerItem(rod_th232, rod_th232.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_th232, rod_dual_th232.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_th232, rod_quad_th232.getUnlocalizedName()); + GameRegistry.registerItem(rod_u235, rod_u235.getUnlocalizedName()); GameRegistry.registerItem(rod_dual_u235, rod_dual_u235.getUnlocalizedName()); GameRegistry.registerItem(rod_quad_u235, rod_quad_u235.getUnlocalizedName()); @@ -3552,6 +3589,10 @@ public class ModItems { GameRegistry.registerItem(rod_dual_uranium_fuel, rod_dual_uranium_fuel.getUnlocalizedName()); GameRegistry.registerItem(rod_quad_uranium_fuel, rod_quad_uranium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(rod_thorium_fuel, rod_thorium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_thorium_fuel, rod_dual_thorium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_thorium_fuel, rod_quad_thorium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(rod_plutonium_fuel, rod_plutonium_fuel.getUnlocalizedName()); GameRegistry.registerItem(rod_dual_plutonium_fuel, rod_dual_plutonium_fuel.getUnlocalizedName()); GameRegistry.registerItem(rod_quad_plutonium_fuel, rod_quad_plutonium_fuel.getUnlocalizedName()); @@ -3592,6 +3633,10 @@ public class ModItems { GameRegistry.registerItem(rod_uranium_fuel_depleted, rod_uranium_fuel_depleted.getUnlocalizedName()); GameRegistry.registerItem(rod_dual_uranium_fuel_depleted, rod_dual_uranium_fuel_depleted.getUnlocalizedName()); GameRegistry.registerItem(rod_quad_uranium_fuel_depleted, rod_quad_uranium_fuel_depleted.getUnlocalizedName()); + + GameRegistry.registerItem(rod_thorium_fuel_depleted, rod_thorium_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_dual_thorium_fuel_depleted, rod_dual_thorium_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_quad_thorium_fuel_depleted, rod_quad_thorium_fuel_depleted.getUnlocalizedName()); GameRegistry.registerItem(rod_plutonium_fuel_depleted, rod_plutonium_fuel_depleted.getUnlocalizedName()); GameRegistry.registerItem(rod_dual_plutonium_fuel_depleted, rod_dual_plutonium_fuel_depleted.getUnlocalizedName()); @@ -3624,6 +3669,7 @@ public class ModItems { GameRegistry.registerItem(waste_schrabidium, waste_schrabidium.getUnlocalizedName()); GameRegistry.registerItem(trinitite, trinitite.getUnlocalizedName()); GameRegistry.registerItem(nuclear_waste, nuclear_waste.getUnlocalizedName()); + GameRegistry.registerItem(nuclear_waste_tiny, nuclear_waste_tiny.getUnlocalizedName()); //Da Chopper GameRegistry.registerItem(chopper, chopper.getUnlocalizedName()); @@ -3704,6 +3750,9 @@ public class ModItems { GameRegistry.registerItem(gun_revolver_red, gun_revolver_red.getUnlocalizedName()); GameRegistry.registerItem(gun_calamity, gun_calamity.getUnlocalizedName()); GameRegistry.registerItem(gun_calamity_dual, gun_calamity_dual.getUnlocalizedName()); + GameRegistry.registerItem(gun_minigun, gun_minigun.getUnlocalizedName()); + GameRegistry.registerItem(gun_avenger, gun_avenger.getUnlocalizedName()); + GameRegistry.registerItem(gun_lacunae, gun_lacunae.getUnlocalizedName()); GameRegistry.registerItem(gun_b92, gun_b92.getUnlocalizedName()); GameRegistry.registerItem(gun_b93, gun_b93.getUnlocalizedName()); GameRegistry.registerItem(gun_rpg, gun_rpg.getUnlocalizedName()); @@ -3757,6 +3806,7 @@ public class ModItems { GameRegistry.registerItem(gun_revolver_pip_ammo, gun_revolver_pip_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_revolver_nopip_ammo, gun_revolver_nopip_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_calamity_ammo, gun_calamity_ammo.getUnlocalizedName()); + GameRegistry.registerItem(gun_lacunae_ammo, gun_lacunae_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_b92_ammo, gun_b92_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_rpg_ammo, gun_rpg_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_stinger_ammo, gun_stinger_ammo.getUnlocalizedName()); @@ -3801,6 +3851,7 @@ public class ModItems { GameRegistry.registerItem(clip_revolver_nightmare, clip_revolver_nightmare.getUnlocalizedName()); GameRegistry.registerItem(clip_revolver_nightmare2, clip_revolver_nightmare2.getUnlocalizedName()); GameRegistry.registerItem(clip_revolver_pip, clip_revolver_pip.getUnlocalizedName()); + GameRegistry.registerItem(clip_revolver_nopip, clip_revolver_nopip.getUnlocalizedName()); GameRegistry.registerItem(clip_rpg, clip_rpg.getUnlocalizedName()); GameRegistry.registerItem(clip_stinger, clip_stinger.getUnlocalizedName()); GameRegistry.registerItem(clip_fatman, clip_fatman.getUnlocalizedName()); diff --git a/com/hbm/items/special/ItemFuelRod.java b/com/hbm/items/special/ItemFuelRod.java index c9e6a6d1d..9511623f8 100644 --- a/com/hbm/items/special/ItemFuelRod.java +++ b/com/hbm/items/special/ItemFuelRod.java @@ -25,77 +25,8 @@ public class ItemFuelRod extends ItemRadioactive { { list.add("Used in nuclear reactor"); - if(this == ModItems.rod_uranium_fuel) - { - list.add("Generates " + heat + " heat per tick"); - list.add("Lasts " + lifeTime + " ticks"); - } - - if(this == ModItems.rod_dual_uranium_fuel) - { - list.add("Generates " + heat + " heat per tick"); - list.add("Lasts " + lifeTime + " ticks"); - } - - if(this == ModItems.rod_quad_uranium_fuel) - { - list.add("Generates " + heat + " heat per tick"); - list.add("Lasts " + lifeTime + " ticks"); - } - - if(this == ModItems.rod_plutonium_fuel) - { - list.add("Generates " + heat + " heat per tick"); - list.add("Lasts " + lifeTime + " ticks"); - } - - if(this == ModItems.rod_dual_plutonium_fuel) - { - list.add("Generates " + heat + " heat per tick"); - list.add("Lasts " + lifeTime + " ticks"); - } - - if(this == ModItems.rod_quad_plutonium_fuel) - { - list.add("Generates " + heat + " heat per tick"); - list.add("Lasts " + lifeTime + " ticks"); - } - - if(this == ModItems.rod_mox_fuel) - { - list.add("Generates " + heat + " heat per tick"); - list.add("Lasts " + lifeTime + " ticks"); - } - - if(this == ModItems.rod_dual_mox_fuel) - { - list.add("Generates " + heat + " heat per tick"); - list.add("Lasts " + lifeTime + " ticks"); - } - - if(this == ModItems.rod_quad_mox_fuel) - { - list.add("Generates " + heat + " heat per tick"); - list.add("Lasts " + lifeTime + " ticks"); - } - - if(this == ModItems.rod_schrabidium_fuel) - { - list.add("Generates " + heat + " heat per tick"); - list.add("Lasts " + lifeTime + " ticks"); - } - - if(this == ModItems.rod_dual_schrabidium_fuel) - { - list.add("Generates " + heat + " heat per tick"); - list.add("Lasts " + lifeTime + " ticks"); - } - - if(this == ModItems.rod_quad_schrabidium_fuel) - { - list.add("Generates " + heat + " heat per tick"); - list.add("Lasts " + lifeTime + " ticks"); - } + list.add("Generates " + heat + " heat per tick"); + list.add("Lasts " + lifeTime + " ticks"); } public static void setLifeTime(ItemStack stack, int time) { diff --git a/com/hbm/items/weapon/GunLacunae.java b/com/hbm/items/weapon/GunLacunae.java new file mode 100644 index 000000000..8e77d3ba4 --- /dev/null +++ b/com/hbm/items/weapon/GunLacunae.java @@ -0,0 +1,129 @@ +package com.hbm.items.weapon; + +import java.util.List; +import java.util.Random; + +import com.google.common.collect.Multimap; +import com.hbm.entity.projectile.EntityBullet; +import com.hbm.interfaces.IHoldableWeapon; +import com.hbm.items.ModItems; + +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.attributes.AttributeModifier; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumAction; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.event.entity.player.ArrowNockEvent; + +public class GunLacunae extends Item implements IHoldableWeapon { + + Random rand = new Random(); + + public GunLacunae() + { + this.maxStackSize = 1; + } + + @Override + public EnumAction getItemUseAction(ItemStack par1ItemStack) { + return EnumAction.bow; + } + + @Override + public int getMaxItemUseDuration(ItemStack p_77626_1_) { + return 72000; + } + + @Override + public ItemStack onItemRightClick(ItemStack p_77659_1_, World world, EntityPlayer player) { + ArrowNockEvent event = new ArrowNockEvent(player, p_77659_1_); + { + player.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); + } + + world.playSoundAtEntity(player, "hbm:weapon.lacunaeSpinup", 1.0F, 1.0F); + + return p_77659_1_; + } + + @Override + public void onUsingTick(ItemStack stack, EntityPlayer player, int count) + { + World world = player.worldObj; + + boolean flag = player.capabilities.isCreativeMode + || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; + + if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_lacunae_ammo)) && count % 1 == 0 && this.getMaxItemUseDuration(stack) - count > 15) { + + world.playSoundAtEntity(player, "hbm:weapon.lacunaeShoot", 1.0F, 1.0F); + + for(int i = 0; i < 3; i++) { + + if((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_lacunae_ammo))) { + EntityBullet entityarrow = new EntityBullet(world, player, 3.0F); + entityarrow.setDamage(5); + + if(!flag) + player.inventory.consumeInventoryItem(ModItems.gun_lacunae_ammo); + + if (!world.isRemote) { + world.spawnEntityInWorld(entityarrow); + } + } + } + } + } + + @Override + public void onPlayerStoppedUsing(ItemStack p_77615_1_, World world, EntityPlayer player, int p_77615_4_) { + int j = this.getMaxItemUseDuration(p_77615_1_) - p_77615_4_; + + if(j > 10) + world.playSoundAtEntity(player, "hbm:weapon.lacunaeSpindown", 1.0F, 1.0F); + } + + @Override + public int getItemEnchantability() { + return 0; + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + + if(this == ModItems.gun_minigun) + list.add("The perfect gift for the man who has everything."); + if(this == ModItems.gun_avenger) + list.add("Interloper! No quarter shall be shown hither, fiend!"); + if(this == ModItems.gun_lacunae) + list.add("Auntie Lacunae to the rescue!"); + + list.add(""); + list.add("Ammo: 5mm Round"); + list.add("Damage: 5"); + } + + @Override + public Multimap getItemAttributeModifiers() { + Multimap multimap = super.getItemAttributeModifiers(); + multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), + new AttributeModifier(field_111210_e, "Weapon modifier", 6, 0)); + + if(this == ModItems.gun_minigun) + multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), + new AttributeModifier(field_111210_e, "Weapon modifier", -0.3, 1)); + if(this == ModItems.gun_avenger) + multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), + new AttributeModifier(field_111210_e, "Weapon modifier", -0.4, 1)); + if(this == ModItems.gun_lacunae) + multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), + new AttributeModifier(field_111210_e, "Weapon modifier", -0.2, 1)); + + return multimap; + } +} diff --git a/com/hbm/items/weapon/GunUZI.java b/com/hbm/items/weapon/GunUZI.java index 21d8ddee2..13fbaaa88 100644 --- a/com/hbm/items/weapon/GunUZI.java +++ b/com/hbm/items/weapon/GunUZI.java @@ -5,6 +5,7 @@ import java.util.Random; import com.google.common.collect.Multimap; import com.hbm.entity.projectile.EntityBullet; +import com.hbm.interfaces.IHoldableWeapon; import com.hbm.items.ModItems; import net.minecraft.enchantment.Enchantment; @@ -19,7 +20,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraftforge.event.entity.player.ArrowNockEvent; -public class GunUZI extends Item { +public class GunUZI extends Item implements IHoldableWeapon { Random rand = new Random(); @@ -30,7 +31,7 @@ public class GunUZI extends Item { @Override public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.bow; + return EnumAction.none; } @Override diff --git a/com/hbm/items/weapon/ItemClip.java b/com/hbm/items/weapon/ItemClip.java index 3258a2b0a..fff20bc56 100644 --- a/com/hbm/items/weapon/ItemClip.java +++ b/com/hbm/items/weapon/ItemClip.java @@ -218,6 +218,14 @@ public class ItemClip extends Item { } } + if(this == ModItems.clip_revolver_nopip) + { + if (!player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_revolver_nopip_ammo, 12))) + { + //player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.gun_mp40_ammo, 32), false); + } + } + if(this == ModItems.clip_stinger) { if (!player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_stinger_ammo, 3))) @@ -286,10 +294,31 @@ public class ItemClip extends Item { player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_revolver_nightmare2_ammo, 3)); if(player.inventory.hasItem(ModItems.gun_revolver_pip)) player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_revolver_pip_ammo, 12)); + if(player.inventory.hasItem(ModItems.gun_revolver_nopip)) + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_revolver_nopip_ammo, 12)); + if(player.inventory.hasItem(ModItems.gun_revolver_blackjack)) + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_revolver_nopip_ammo, 12)); + if(player.inventory.hasItem(ModItems.gun_revolver_red)) + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_revolver_nopip_ammo, 12)); if(player.inventory.hasItem(ModItems.gun_calamity)) player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_calamity_ammo, 16)); if(player.inventory.hasItem(ModItems.gun_calamity_dual)) player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_calamity_ammo, 32)); + if(player.inventory.hasItem(ModItems.gun_minigun)) { + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lacunae_ammo, 64)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lacunae_ammo, 64)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lacunae_ammo, 64)); + } + if(player.inventory.hasItem(ModItems.gun_avenger)) { + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lacunae_ammo, 64)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lacunae_ammo, 64)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lacunae_ammo, 64)); + } + if(player.inventory.hasItem(ModItems.gun_lacunae)) { + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lacunae_ammo, 64)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lacunae_ammo, 64)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lacunae_ammo, 64)); + } if(player.inventory.hasItem(ModItems.gun_rpg)) player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_rpg_ammo, 3)); if(player.inventory.hasItem(ModItems.gun_stinger)) diff --git a/com/hbm/items/weapon/ItemGunBase.java b/com/hbm/items/weapon/ItemGunBase.java new file mode 100644 index 000000000..d43c8c652 --- /dev/null +++ b/com/hbm/items/weapon/ItemGunBase.java @@ -0,0 +1,9 @@ +package com.hbm.items.weapon; + +import com.hbm.interfaces.IHoldableWeapon; + +import net.minecraft.item.Item; + +public class ItemGunBase extends Item implements IHoldableWeapon { + +} diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 1dff35b56..6f10c2529 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -250,6 +250,9 @@ public class ClientProxy extends ServerProxy MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi_saturnite_silencer, new ItemRenderUZI()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_calamity, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_calamity_dual, new ItemRenderOverkill()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_minigun, new ItemRenderOverkill()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_avenger, new ItemRenderOverkill()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_lacunae, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool()); MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool()); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 247f2de1c..f1b73feb0 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -112,7 +112,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_sulfur), 1), new Object[] { "###", "###", "###", '#', ModItems.sulfur }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_titanium), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_titanium }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_tungsten), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_tungsten }); - GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_uranium), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_uranium }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_thorium), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_th232 }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_lead), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_lead }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_trinitite), 1), new Object[] { "###", "###", "###", '#', ModItems.trinitite }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_waste), 1), new Object[] { "###", "###", "###", '#', ModItems.nuclear_waste }); @@ -138,6 +138,9 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_cloth, 1), new Object[] { "#", '#', ModBlocks.hazmat }); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_uranium_fuel, 1), new Object[] { "nuggetUranium235", "nuggetUranium235", "nuggetUranium235", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_uranium_fuel, 1), new Object[] { "nuggetUranium233", "nuggetUranium233", "nuggetUranium233", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238" })); + //GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_thorium_fuel, 1), new Object[] { "nuggetUranium235", "nuggetUranium235", "nuggetUranium235", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_thorium_fuel, 1), new Object[] { "nuggetUranium233", "nuggetUranium233", "nuggetUranium233", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_plutonium_fuel, 1), new Object[] { "nuggetPlutonium238", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium240", "nuggetPlutonium240", "nuggetPlutonium240" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_mox_fuel, 1), new Object[] { "nuggetUranium235", "nuggetUranium235", "nuggetUranium235", "nuggetUranium238", "nuggetUranium238", "nuggetPlutonium238", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_uranium_fuel, 1), new Object[] { "tinyU235", "tinyU235", "tinyU235", "tinyU238", "tinyU238", "tinyU238", "tinyU238", "tinyU238", "tinyU238" })); @@ -157,6 +160,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.ingot_titanium, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_titanium) }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_tungsten, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_tungsten) }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_uranium, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_uranium) }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_th232, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_thorium) }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_lead, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_lead) }); GameRegistry.addRecipe(new ItemStack(ModItems.trinitite, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_trinitite) }); GameRegistry.addRecipe(new ItemStack(ModItems.nuclear_waste, 9), new Object[] { "#", '#', Item.getItemFromBlock(ModBlocks.block_waste) }); @@ -182,8 +186,12 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.nugget_pu239, 9), new Object[] { "#", '#', ModItems.ingot_pu239 }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_pu240, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_pu240 }); GameRegistry.addRecipe(new ItemStack(ModItems.nugget_pu240, 9), new Object[] { "#", '#', ModItems.ingot_pu240 }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_th232, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_th232 }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_th232, 9), new Object[] { "#", '#', ModItems.ingot_th232 }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_uranium, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_uranium }); GameRegistry.addRecipe(new ItemStack(ModItems.nugget_uranium, 9), new Object[] { "#", '#', ModItems.ingot_uranium }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_u233, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_u233 }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_u233, 9), new Object[] { "#", '#', ModItems.ingot_u233 }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_u235, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_u235 }); GameRegistry.addRecipe(new ItemStack(ModItems.nugget_u235, 9), new Object[] { "#", '#', ModItems.ingot_u235 }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_u238, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_u238 }); @@ -198,6 +206,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.nugget_schrabidium, 9), new Object[] { "#", '#', ModItems.ingot_schrabidium }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_uranium_fuel, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_uranium_fuel }); GameRegistry.addRecipe(new ItemStack(ModItems.nugget_uranium_fuel, 9), new Object[] { "#", '#', ModItems.ingot_uranium_fuel }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_thorium_fuel, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_thorium_fuel }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_thorium_fuel, 9), new Object[] { "#", '#', ModItems.ingot_thorium_fuel }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_plutonium_fuel, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_plutonium_fuel }); GameRegistry.addRecipe(new ItemStack(ModItems.nugget_plutonium_fuel, 9), new Object[] { "#", '#', ModItems.ingot_plutonium_fuel }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_mox_fuel, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_mox_fuel }); @@ -238,9 +248,13 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.powder_meteorite_tiny, 9), new Object[] { "#", '#', ModItems.powder_meteorite }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_solinium, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_solinium }); GameRegistry.addRecipe(new ItemStack(ModItems.nugget_solinium, 9), new Object[] { "#", '#', ModItems.ingot_solinium }); + GameRegistry.addRecipe(new ItemStack(ModItems.nuclear_waste, 1), new Object[] { "###", "###", "###", '#', ModItems.nuclear_waste_tiny }); + GameRegistry.addRecipe(new ItemStack(ModItems.nuclear_waste_tiny, 9), new Object[] { "#", '#', ModItems.nuclear_waste }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.rod_empty, 16), new Object[] { "SSS", "L L", "SSS", 'S', "plateSteel", 'L', "plateLead" })); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_th232, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_th232, ModItems.nugget_th232, ModItems.nugget_th232, ModItems.nugget_th232, ModItems.nugget_th232, ModItems.nugget_th232 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_uranium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_u233, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_u233, ModItems.nugget_u233, ModItems.nugget_u233, ModItems.nugget_u233, ModItems.nugget_u233, ModItems.nugget_u233 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_u235, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_u238, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_plutonium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium }); @@ -252,6 +266,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_schrabidium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_solinium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_uranium_fuel, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_thorium_fuel, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_thorium_fuel, ModItems.nugget_thorium_fuel, ModItems.nugget_thorium_fuel, ModItems.nugget_thorium_fuel, ModItems.nugget_thorium_fuel, ModItems.nugget_thorium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_plutonium_fuel, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_mox_fuel, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_schrabidium_fuel, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel }); @@ -265,7 +280,9 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_empty, 2), new Object[] { ModItems.rod_dual_empty }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_empty, 1), new Object[] { ModItems.rod_empty, ModItems.rod_empty }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_th232, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_th232, ModItems.nugget_th232, ModItems.nugget_th232, ModItems.nugget_th232 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_uranium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_u233, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_u233, ModItems.nugget_u233, ModItems.nugget_u233, ModItems.nugget_u233 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_u235, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_u238, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_plutonium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium }); @@ -277,6 +294,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_schrabidium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_solinium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_uranium_fuel, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_thorium_fuel, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_thorium_fuel, ModItems.nugget_thorium_fuel, ModItems.nugget_thorium_fuel, ModItems.nugget_thorium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_plutonium_fuel, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_mox_fuel, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_schrabidium_fuel, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel }); @@ -291,7 +309,9 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_empty, 4), new Object[] { ModItems.rod_quad_empty }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_empty, 1), new Object[] { ModItems.rod_empty, ModItems.rod_empty, ModItems.rod_empty, ModItems.rod_empty }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_empty, 1), new Object[] { ModItems.rod_dual_empty, ModItems.rod_dual_empty }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_th232, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_th232, ModItems.ingot_th232, ModItems.nugget_th232, ModItems.nugget_th232, ModItems.nugget_th232, ModItems.nugget_th232, ModItems.nugget_th232, ModItems.nugget_th232 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_uranium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_uranium, ModItems.ingot_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium, ModItems.nugget_uranium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_u233, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_u233, ModItems.ingot_u233, ModItems.nugget_u233, ModItems.nugget_u233, ModItems.nugget_u233, ModItems.nugget_u233, ModItems.nugget_u233, ModItems.nugget_u233 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_u235, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_u235, ModItems.ingot_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235, ModItems.nugget_u235 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_u238, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_u238, ModItems.ingot_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238, ModItems.nugget_u238 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_plutonium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_plutonium, ModItems.ingot_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium, ModItems.nugget_plutonium }); @@ -303,6 +323,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_schrabidium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_schrabidium, ModItems.ingot_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_solinium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_solinium, ModItems.ingot_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_uranium_fuel, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_uranium_fuel, ModItems.ingot_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_thorium_fuel, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_thorium_fuel, ModItems.ingot_thorium_fuel, ModItems.nugget_thorium_fuel, ModItems.nugget_thorium_fuel, ModItems.nugget_thorium_fuel, ModItems.nugget_thorium_fuel, ModItems.nugget_thorium_fuel, ModItems.nugget_thorium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_plutonium_fuel, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_plutonium_fuel, ModItems.ingot_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_mox_fuel, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_mox_fuel, ModItems.ingot_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_schrabidium_fuel, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_schrabidium_fuel, ModItems.ingot_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel, ModItems.nugget_schrabidium_fuel }); @@ -311,7 +332,9 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_water, 1), new Object[] { ModItems.rod_dual_empty, Items.water_bucket, Items.water_bucket }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_water, 1), new Object[] { ModItems.rod_quad_empty, Items.water_bucket, Items.water_bucket, Items.water_bucket, Items.water_bucket }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_th232, 6), new Object[] { ModItems.rod_th232 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_uranium, 6), new Object[] { ModItems.rod_uranium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_u233, 6), new Object[] { ModItems.rod_u233 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_u235, 6), new Object[] { ModItems.rod_u235 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_u238, 6), new Object[] { ModItems.rod_u238 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_plutonium, 6), new Object[] { ModItems.rod_plutonium }); @@ -334,7 +357,9 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_verticium, 6), new Object[] { ModItems.rod_verticium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_euphemium, 6), new Object[] { ModItems.rod_euphemium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_th232, 12), new Object[] { ModItems.rod_dual_th232 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_uranium, 12), new Object[] { ModItems.rod_dual_uranium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_u233, 12), new Object[] { ModItems.rod_dual_u233 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_u235, 12), new Object[] { ModItems.rod_dual_u235 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_u238, 12), new Object[] { ModItems.rod_dual_u238 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_plutonium, 12), new Object[] { ModItems.rod_dual_plutonium }); @@ -350,7 +375,9 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_mox_fuel, 12), new Object[] { ModItems.rod_dual_mox_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium_fuel, 12), new Object[] { ModItems.rod_dual_schrabidium_fuel }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_th232, 24), new Object[] { ModItems.rod_quad_th232 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_uranium, 24), new Object[] { ModItems.rod_quad_uranium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_u233, 24), new Object[] { ModItems.rod_quad_u233 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_u235, 24), new Object[] { ModItems.rod_quad_u235 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_u238, 24), new Object[] { ModItems.rod_quad_u238 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_plutonium, 24), new Object[] { ModItems.rod_quad_plutonium }); @@ -369,19 +396,22 @@ public class CraftingManager { //GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 2), new Object[] { ModItems.rod_waste }); //GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 4), new Object[] { ModItems.rod_dual_waste }); //GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_quad_waste }); - - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_uranium, 1), new Object[] { ModItems.rod_uranium_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_uranium, 2), new Object[] { ModItems.rod_dual_uranium_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_uranium, 4), new Object[] { ModItems.rod_quad_uranium_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_plutonium, 1), new Object[] { ModItems.rod_plutonium_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_plutonium, 2), new Object[] { ModItems.rod_dual_plutonium_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_plutonium, 4), new Object[] { ModItems.rod_quad_plutonium_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_mox, 1), new Object[] { ModItems.rod_mox_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_mox, 2), new Object[] { ModItems.rod_dual_mox_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_mox, 4), new Object[] { ModItems.rod_quad_mox_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_schrabidium, 1), new Object[] { ModItems.rod_schrabidium_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_schrabidium, 2), new Object[] { ModItems.rod_dual_schrabidium_fuel_depleted }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_schrabidium, 4), new Object[] { ModItems.rod_quad_schrabidium_fuel_depleted }); + + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_uranium_hot, 1), new Object[] { ModItems.rod_uranium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_uranium_hot, 2), new Object[] { ModItems.rod_dual_uranium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_uranium_hot, 4), new Object[] { ModItems.rod_quad_uranium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_thorium_hot, 1), new Object[] { ModItems.rod_thorium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_thorium_hot, 2), new Object[] { ModItems.rod_dual_thorium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_thorium_hot, 4), new Object[] { ModItems.rod_quad_thorium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_plutonium_hot, 1), new Object[] { ModItems.rod_plutonium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_plutonium_hot, 2), new Object[] { ModItems.rod_dual_plutonium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_plutonium_hot, 4), new Object[] { ModItems.rod_quad_plutonium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_mox_hot, 1), new Object[] { ModItems.rod_mox_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_mox_hot, 2), new Object[] { ModItems.rod_dual_mox_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_mox_hot, 4), new Object[] { ModItems.rod_quad_mox_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_schrabidium_hot, 1), new Object[] { ModItems.rod_schrabidium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_schrabidium_hot, 2), new Object[] { ModItems.rod_dual_schrabidium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.waste_schrabidium_hot, 4), new Object[] { ModItems.rod_quad_schrabidium_fuel_depleted }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.melon, Items.melon, Items.melon, Items.melon, Items.melon, Items.melon, Items.melon }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple }); @@ -816,6 +846,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_nightmare, 16), new Object[] { " I", "GC", " P", 'I', "ingotTungsten", 'G', Items.gunpowder, 'C', ModItems.casing_357, 'P', ModItems.primer_357 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_smg, 24), new Object[] { " I", "GC", " P", 'I', "ingotLead", 'G', Items.gunpowder, 'C', ModItems.casing_9, 'P', ModItems.primer_9 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_uzi, 24), new Object[] { " I", "GC", " P", 'I', "ingotIron", 'G', Items.gunpowder, 'C', ModItems.casing_9, 'P', ModItems.primer_9 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_lacunae, 24), new Object[] { " I", "GC", " P", 'I', "ingotCopper", 'G', Items.gunpowder, 'C', ModItems.casing_9, 'P', ModItems.primer_9 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_nopip, 16), new Object[] { " I", "GC", " P", 'I', "ingotLead", 'G', Items.gunpowder, 'C', ModItems.casing_44, 'P', ModItems.primer_44 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_pip, 16), new Object[] { " I ", "GCM", " P ", 'I', "ingotLead", 'G', Items.gunpowder, 'C', ModItems.casing_44, 'P', ModItems.primer_44, 'M', ModItems.powder_magic })); GameRegistry.addRecipe(new ItemStack(ModItems.gun_uboinik_ammo, 8), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_buckshot, 'G', Items.gunpowder, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', ModItems.plate_polymer }); @@ -1427,6 +1458,7 @@ public class CraftingManager { public static void AddSmeltingRec() { + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_thorium), new ItemStack(ModItems.ingot_th232), 3.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_uranium), new ItemStack(ModItems.ingot_uranium), 6.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_nether_uranium), new ItemStack(ModItems.ingot_uranium), 12.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_nether_plutonium), new ItemStack(ModItems.ingot_plutonium), 24.0F); @@ -1464,6 +1496,7 @@ public class CraftingManager { GameRegistry.addSmelting(ModItems.powder_titanium, new ItemStack(ModItems.ingot_titanium), 1.0F); GameRegistry.addSmelting(ModItems.powder_tungsten, new ItemStack(ModItems.ingot_tungsten), 1.0F); GameRegistry.addSmelting(ModItems.powder_uranium, new ItemStack(ModItems.ingot_uranium), 1.0F); + GameRegistry.addSmelting(ModItems.powder_thorium, new ItemStack(ModItems.powder_thorium), 1.0F); GameRegistry.addSmelting(ModItems.powder_plutonium, new ItemStack(ModItems.ingot_plutonium), 1.0F); GameRegistry.addSmelting(ModItems.powder_advanced_alloy, new ItemStack(ModItems.ingot_advanced_alloy), 1.0F); GameRegistry.addSmelting(ModItems.powder_combine_steel, new ItemStack(ModItems.ingot_combine_steel), 1.0F); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 51e420c85..56ae4e33d 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -332,6 +332,7 @@ import com.hbm.tileentity.machine.TileEntitySafe; import com.hbm.tileentity.machine.TileEntityMachineSatLinker; import com.hbm.tileentity.machine.TileEntityStructureMarker; import com.hbm.tileentity.machine.TileEntityVaultDoor; +import com.hbm.tileentity.machine.TileEntityWasteDrum; import com.hbm.tileentity.machine.TileEntityWatzCore; import cpw.mods.fml.common.SidedProxy; @@ -749,6 +750,7 @@ public class MainRegistry GameRegistry.registerTileEntity(TileEntityRFDuct.class, "tileentity_hbm_rfduct"); GameRegistry.registerTileEntity(TileEntityReactorControl.class, "tileentity_reactor_remote_control"); GameRegistry.registerTileEntity(TileEntityMachineReactorLarge.class, "tileentity_large_reactor"); + GameRegistry.registerTileEntity(TileEntityWasteDrum.class, "tileentity_waste_drum"); EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true); EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true); @@ -1231,14 +1233,19 @@ public class MainRegistry })); OreDictionary.registerOre("ingotUranium", ModItems.ingot_uranium); + OreDictionary.registerOre("ingotUranium233", ModItems.ingot_u233); OreDictionary.registerOre("ingotUranium235", ModItems.ingot_u235); OreDictionary.registerOre("ingotUranium238", ModItems.ingot_u238); + OreDictionary.registerOre("ingotThorium", ModItems.ingot_th232); + OreDictionary.registerOre("ingotThorium232", ModItems.ingot_th232); OreDictionary.registerOre("ingotPlutonium", ModItems.ingot_plutonium); OreDictionary.registerOre("ingotPlutonium238", ModItems.ingot_pu238); OreDictionary.registerOre("ingotPlutonium239", ModItems.ingot_pu239); OreDictionary.registerOre("ingotPlutonium240", ModItems.ingot_pu240); + OreDictionary.registerOre("U233", ModItems.ingot_u233); OreDictionary.registerOre("U235", ModItems.ingot_u235); OreDictionary.registerOre("U238", ModItems.ingot_u238); + OreDictionary.registerOre("Th232", ModItems.ingot_th232); OreDictionary.registerOre("Pu238", ModItems.ingot_pu238); OreDictionary.registerOre("Pu39", ModItems.ingot_pu239); OreDictionary.registerOre("Pu240", ModItems.ingot_pu240); @@ -1280,8 +1287,11 @@ public class MainRegistry OreDictionary.registerOre("dustFluorite", ModItems.fluorite); OreDictionary.registerOre("nuggetLead", ModItems.nugget_lead); OreDictionary.registerOre("nuggetUranium", ModItems.nugget_uranium); + OreDictionary.registerOre("nuggetUranium233", ModItems.nugget_u233); OreDictionary.registerOre("nuggetUranium235", ModItems.nugget_u235); OreDictionary.registerOre("nuggetUranium238", ModItems.nugget_u238); + OreDictionary.registerOre("nuggetThorium", ModItems.nugget_th232); + OreDictionary.registerOre("nuggetThorium232", ModItems.nugget_th232); OreDictionary.registerOre("nuggetPlutonium", ModItems.nugget_plutonium); OreDictionary.registerOre("nuggetPlutonium238", ModItems.nugget_pu238); OreDictionary.registerOre("nuggetPlutonium239", ModItems.nugget_pu239); @@ -1293,8 +1303,10 @@ public class MainRegistry OreDictionary.registerOre("nuggetDaffergon", ModItems.nugget_daffergon); OreDictionary.registerOre("nuggetVerticium", ModItems.nugget_verticium); OreDictionary.registerOre("nuggetEuphemium", ModItems.nugget_euphemium); + OreDictionary.registerOre("tinyU233", ModItems.nugget_u233); OreDictionary.registerOre("tinyU235", ModItems.nugget_u235); OreDictionary.registerOre("tinyU238", ModItems.nugget_u238); + OreDictionary.registerOre("tinyTh232", ModItems.nugget_th232); OreDictionary.registerOre("tinyPu238", ModItems.nugget_pu238); OreDictionary.registerOre("tinyPu239", ModItems.nugget_pu239); OreDictionary.registerOre("tinyPu240", ModItems.nugget_pu240); @@ -1319,6 +1331,7 @@ public class MainRegistry OreDictionary.registerOre("dustIron", ModItems.powder_iron); OreDictionary.registerOre("dustGold", ModItems.powder_gold); OreDictionary.registerOre("dustUranium", ModItems.powder_uranium); + OreDictionary.registerOre("dustThorium", ModItems.powder_thorium); OreDictionary.registerOre("dustPlutonium", ModItems.powder_plutonium); OreDictionary.registerOre("dustTitanium", ModItems.powder_titanium); OreDictionary.registerOre("dustTungsten", ModItems.powder_tungsten); @@ -1375,6 +1388,7 @@ public class MainRegistry OreDictionary.registerOre("gemCoal", Items.coal); OreDictionary.registerOre("oreUranium", ModBlocks.ore_uranium); + OreDictionary.registerOre("oreThorium", ModBlocks.ore_thorium); OreDictionary.registerOre("oreTitanium", ModBlocks.ore_titanium); OreDictionary.registerOre("oreSchrabidium", ModBlocks.ore_schrabidium); OreDictionary.registerOre("oreSulfur", ModBlocks.ore_sulfur); @@ -1400,6 +1414,7 @@ public class MainRegistry OreDictionary.registerOre("oreSulfur", ModBlocks.ore_nether_sulfur); OreDictionary.registerOre("oreSchrabidium", ModBlocks.ore_nether_schrabidium); + OreDictionary.registerOre("blockThorium", ModBlocks.block_thorium); OreDictionary.registerOre("blockUranium", ModBlocks.block_uranium); OreDictionary.registerOre("blockTitanium", ModBlocks.block_titanium); OreDictionary.registerOre("blockSulfur", ModBlocks.block_sulfur); @@ -1636,7 +1651,14 @@ public class MainRegistry TileEntityMachineReactorLarge.registerWasteEntry(120, ReactorFuelType.SCHRABIDIUM, ModItems.rod_dual_empty, ModItems.rod_dual_schrabidium_fuel_depleted); TileEntityMachineReactorLarge.registerWasteEntry(240, ReactorFuelType.SCHRABIDIUM, ModItems.rod_quad_empty, ModItems.rod_quad_schrabidium_fuel_depleted); + TileEntityMachineReactorLarge.registerFuelEntry(1, ReactorFuelType.THORIUM, ModItems.nugget_thorium_fuel); TileEntityMachineReactorLarge.registerFuelEntry(9, ReactorFuelType.THORIUM, ModItems.ingot_thorium_fuel); + TileEntityMachineReactorLarge.registerFuelEntry(6, ReactorFuelType.THORIUM, ModItems.rod_thorium_fuel); + TileEntityMachineReactorLarge.registerFuelEntry(12, ReactorFuelType.THORIUM, ModItems.rod_dual_thorium_fuel); + TileEntityMachineReactorLarge.registerFuelEntry(24, ReactorFuelType.THORIUM, ModItems.rod_quad_thorium_fuel); + TileEntityMachineReactorLarge.registerWasteEntry(6, ReactorFuelType.THORIUM, ModItems.rod_empty, ModItems.rod_thorium_fuel_depleted); + TileEntityMachineReactorLarge.registerWasteEntry(12, ReactorFuelType.THORIUM, ModItems.rod_dual_empty, ModItems.rod_dual_thorium_fuel_depleted); + TileEntityMachineReactorLarge.registerWasteEntry(24, ReactorFuelType.THORIUM, ModItems.rod_quad_empty, ModItems.rod_quad_thorium_fuel_depleted); } @EventHandler diff --git a/com/hbm/main/ModEventHandlerClient.java b/com/hbm/main/ModEventHandlerClient.java index e3a0fba16..c053e7355 100644 --- a/com/hbm/main/ModEventHandlerClient.java +++ b/com/hbm/main/ModEventHandlerClient.java @@ -2,6 +2,7 @@ package com.hbm.main; import com.hbm.entity.mob.EntityHunterChopper; import com.hbm.entity.projectile.EntityChopperMine; +import com.hbm.interfaces.IHoldableWeapon; import com.hbm.items.ModItems; import com.hbm.items.tool.ItemGeigerCounter; import com.hbm.lib.Library; @@ -50,15 +51,15 @@ public class ModEventHandlerClient { } } - /*@SubscribeEvent - public void renderGunPull(RenderPlayerEvent.Specials.Post event) { + @SubscribeEvent + public void renderGunPull(RenderPlayerEvent.Pre event) { RenderPlayer renderer = event.renderer; + EntityPlayer player = event.entityPlayer; - //TESTING - renderer.modelBipedMain.bipedLeftArm.rotateAngleX += 90; - - }*/ + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IHoldableWeapon) + renderer.modelBipedMain.aimedBow = true; + } @SubscribeEvent public void onPlaySound(PlaySoundEvent17 e) { diff --git a/com/hbm/render/item/ItemRenderOverkill.java b/com/hbm/render/item/ItemRenderOverkill.java index 6cb876d39..ad4f90c16 100644 --- a/com/hbm/render/item/ItemRenderOverkill.java +++ b/com/hbm/render/item/ItemRenderOverkill.java @@ -14,12 +14,15 @@ import com.hbm.render.model.ModelEuthanasia; import com.hbm.render.model.ModelGun; import com.hbm.render.model.ModelHP; import com.hbm.render.model.ModelJack; +import com.hbm.render.model.ModelLacunae; import com.hbm.render.model.ModelPip; import com.hbm.render.model.ModelSpark; import com.hbm.render.model.ModelTwiGun; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumAction; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.IItemRenderer; @@ -34,6 +37,7 @@ public class ItemRenderOverkill implements IItemRenderer { protected ModelDash dasher; protected ModelTwiGun rgottp; protected ModelPip pip; + protected ModelLacunae lacunae; protected ModelCalBarrel barrel; protected ModelCalStock stock; @@ -51,6 +55,7 @@ public class ItemRenderOverkill implements IItemRenderer { barrel = new ModelCalBarrel(); stock = new ModelCalStock(); saddle = new ModelCalDualStock(); + lacunae = new ModelLacunae(); } @Override @@ -71,6 +76,11 @@ public class ItemRenderOverkill implements IItemRenderer { @Override public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + float f = 0; + + if((Entity)data[1] instanceof EntityPlayer) + f = ((EntityPlayer)data[1]).getItemInUseDuration(); + switch(type) { case EQUIPPED_FIRST_PERSON: GL11.glPushMatrix(); @@ -98,7 +108,13 @@ public class ItemRenderOverkill implements IItemRenderer { Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipGrey.png")); if(item.getItem() == ModItems.gun_revolver_red) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipRed.png")); - + if(item.getItem() == ModItems.gun_minigun) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunae.png")); + if(item.getItem() == ModItems.gun_avenger) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeAvenger.png")); + if(item.getItem() == ModItems.gun_lacunae) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeReal.png")); + GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(-0.5F, 0.0F, -0.2F); //GL11.glScalef(2.0F, 2.0F, 2.0F); @@ -117,6 +133,13 @@ public class ItemRenderOverkill implements IItemRenderer { GL11.glTranslatef(0.0F, 0.3F, 0.2F); } + if(item.getItem() == ModItems.gun_lacunae || + item.getItem() == ModItems.gun_minigun || + item.getItem() == ModItems.gun_avenger) { + GL11.glRotatef(180, 0, 1, 0); + GL11.glTranslatef(0.0F, 0.3F, -0.2F); + } + if(item.getItem() == ModItems.gun_jack) powerJack.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); if(item.getItem() == ModItems.gun_spark) @@ -153,106 +176,222 @@ public class ItemRenderOverkill implements IItemRenderer { GL11.glTranslated(0, 0, -0.7); barrel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); } + if(item.getItem() == ModItems.gun_lacunae || + item.getItem() == ModItems.gun_minigun || + item.getItem() == ModItems.gun_avenger) + lacunae.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, f); GL11.glPopMatrix(); break; case EQUIPPED: + GL11.glPushMatrix(); + GL11.glEnable(GL11.GL_CULL_FACE); + if(item.getItem() == ModItems.gun_jack) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelJack.png")); + if(item.getItem() == ModItems.gun_spark) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelSpark.png")); + if(item.getItem() == ModItems.gun_hp) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelHP.png")); + if(item.getItem() == ModItems.gun_euthanasia) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelEuthanasia.png")); + if(item.getItem() == ModItems.gun_defabricator) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelDefabricator.png")); + if(item.getItem() == ModItems.gun_dash) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelDash.png")); + if(item.getItem() == ModItems.gun_twigun) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelTwiGun.png")); + if(item.getItem() == ModItems.gun_revolver_pip) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPip.png")); + if(item.getItem() == ModItems.gun_revolver_nopip) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipNoScope.png")); + if(item.getItem() == ModItems.gun_revolver_blackjack) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipGrey.png")); + if(item.getItem() == ModItems.gun_revolver_red) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipRed.png")); + if(item.getItem() == ModItems.gun_minigun) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunae.png")); + if(item.getItem() == ModItems.gun_avenger) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeAvenger.png")); + if(item.getItem() == ModItems.gun_lacunae) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeReal.png")); + + GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(0.0F, -0.2F, -0.5F); + GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(0.5F, -0.2F, 0.0F); + //GL11.glScalef(0.75F, 0.75F, 0.75F); + GL11.glTranslatef(-1.4F, 0.0F, 0.0F); + if(item.getItem() == ModItems.gun_jack) + GL11.glTranslatef(0.3F, 0, 0); + if(item.getItem() == ModItems.gun_spark) + GL11.glTranslatef(0.4F, 0, 0); + if(item.getItem() == ModItems.gun_hp) + GL11.glTranslatef(0.5F, 0.2F, 0); + if(item.getItem() == ModItems.gun_defabricator) + GL11.glTranslatef(0.5F, 0.6F, -0.2F); + + if(item.getItem() == ModItems.gun_revolver_pip || + item.getItem() == ModItems.gun_revolver_nopip || + item.getItem() == ModItems.gun_revolver_blackjack || + item.getItem() == ModItems.gun_revolver_red) { + GL11.glScalef(0.60F, 0.60F, 0.60F); + GL11.glTranslatef(0.7F, 0.3F, 0.0F); + } + if(item.getItem() == ModItems.gun_calamity) { + GL11.glScalef(0.75F, 0.75F, 0.75F); + GL11.glTranslatef(0.5F, 0.0F, 0.0F); + } + if(item.getItem() == ModItems.gun_calamity_dual) { + GL11.glScalef(0.75F, 0.75F, 0.75F); + GL11.glTranslatef(0.5F, 0.0F, 0.0F); + } + if(item.getItem() == ModItems.gun_lacunae || + item.getItem() == ModItems.gun_minigun || + item.getItem() == ModItems.gun_avenger) { + GL11.glRotatef(180, 0, 1, 0); + GL11.glTranslatef(0.5F, 0.6F, 0.2F); + } + + if(item.getItem() == ModItems.gun_jack) + powerJack.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_spark) + sparkPlug.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_hp) + hppLaserjet.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_euthanasia) + euthanasia.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_defabricator) + defab.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_dash) + dasher.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_twigun) + rgottp.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_revolver_pip || + item.getItem() == ModItems.gun_revolver_nopip || + item.getItem() == ModItems.gun_revolver_blackjack || + item.getItem() == ModItems.gun_revolver_red) + pip.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + + if(item.getItem() == ModItems.gun_calamity) { + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelCalBarrel.png")); + barrel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelCalStock.png")); + stock.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + } + if(item.getItem() == ModItems.gun_calamity_dual) { + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelCalDualStock.png")); + saddle.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelCalBarrel.png")); + GL11.glTranslated(1D/16D * -2, 0, 0); + GL11.glTranslated(0, 0, 0.35); + barrel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + GL11.glTranslated(0, 0, -0.7); + barrel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + } + if(item.getItem() == ModItems.gun_lacunae || + item.getItem() == ModItems.gun_minigun || + item.getItem() == ModItems.gun_avenger) + lacunae.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, f); + GL11.glPopMatrix(); + break; case ENTITY: GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - if(item.getItem() == ModItems.gun_jack) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelJack.png")); - if(item.getItem() == ModItems.gun_spark) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelSpark.png")); - if(item.getItem() == ModItems.gun_hp) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelHP.png")); - if(item.getItem() == ModItems.gun_euthanasia) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelEuthanasia.png")); - if(item.getItem() == ModItems.gun_defabricator) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelDefabricator.png")); - if(item.getItem() == ModItems.gun_dash) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelDash.png")); - if(item.getItem() == ModItems.gun_twigun) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelTwiGun.png")); - if(item.getItem() == ModItems.gun_revolver_pip) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPip.png")); - if(item.getItem() == ModItems.gun_revolver_nopip) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipNoScope.png")); - if(item.getItem() == ModItems.gun_revolver_blackjack) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipGrey.png")); - if(item.getItem() == ModItems.gun_revolver_red) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipRed.png")); - - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.5F, -0.2F, 0.0F); - //GL11.glScalef(0.75F, 0.75F, 0.75F); - GL11.glTranslatef(-1.4F, 0.0F, 0.0F); - if(item.getItem() == ModItems.gun_jack) - GL11.glTranslatef(0.3F, 0, 0); - if(item.getItem() == ModItems.gun_spark) - GL11.glTranslatef(0.4F, 0, 0); - if(item.getItem() == ModItems.gun_hp) - GL11.glTranslatef(0.5F, 0.2F, 0); - if(item.getItem() == ModItems.gun_defabricator) - GL11.glTranslatef(0.5F, 0.6F, -0.2F); + GL11.glEnable(GL11.GL_CULL_FACE); + if(item.getItem() == ModItems.gun_jack) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelJack.png")); + if(item.getItem() == ModItems.gun_spark) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelSpark.png")); + if(item.getItem() == ModItems.gun_hp) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelHP.png")); + if(item.getItem() == ModItems.gun_euthanasia) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelEuthanasia.png")); + if(item.getItem() == ModItems.gun_defabricator) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelDefabricator.png")); + if(item.getItem() == ModItems.gun_dash) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelDash.png")); + if(item.getItem() == ModItems.gun_twigun) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelTwiGun.png")); + if(item.getItem() == ModItems.gun_revolver_pip) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPip.png")); + if(item.getItem() == ModItems.gun_revolver_nopip) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipNoScope.png")); + if(item.getItem() == ModItems.gun_revolver_blackjack) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipGrey.png")); + if(item.getItem() == ModItems.gun_revolver_red) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipRed.png")); + if(item.getItem() == ModItems.gun_minigun) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunae.png")); + if(item.getItem() == ModItems.gun_avenger) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeAvenger.png")); + if(item.getItem() == ModItems.gun_lacunae) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeReal.png")); - if(item.getItem() == ModItems.gun_revolver_pip || - item.getItem() == ModItems.gun_revolver_nopip || - item.getItem() == ModItems.gun_revolver_blackjack || - item.getItem() == ModItems.gun_revolver_red) { - GL11.glScalef(0.60F, 0.60F, 0.60F); - GL11.glTranslatef(0.7F, 0.3F, 0.0F); - } - if(item.getItem() == ModItems.gun_calamity) { - GL11.glScalef(0.75F, 0.75F, 0.75F); - GL11.glTranslatef(0.5F, 0.0F, 0.0F); - } - if(item.getItem() == ModItems.gun_calamity_dual) { - GL11.glScalef(0.75F, 0.75F, 0.75F); - GL11.glTranslatef(0.5F, 0.0F, 0.0F); - } - - if(item.getItem() == ModItems.gun_jack) - powerJack.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_spark) - sparkPlug.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_hp) - hppLaserjet.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_euthanasia) - euthanasia.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_defabricator) - defab.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_dash) - dasher.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_twigun) - rgottp.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - if(item.getItem() == ModItems.gun_revolver_pip || - item.getItem() == ModItems.gun_revolver_nopip || - item.getItem() == ModItems.gun_revolver_blackjack || - item.getItem() == ModItems.gun_revolver_red) - pip.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - - if(item.getItem() == ModItems.gun_calamity) { - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelCalBarrel.png")); - barrel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelCalStock.png")); - stock.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - } - if(item.getItem() == ModItems.gun_calamity_dual) { - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelCalDualStock.png")); - saddle.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelCalBarrel.png")); - GL11.glTranslated(1D/16D * -2, 0, 0); - GL11.glTranslated(0, 0, 0.35); - barrel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - GL11.glTranslated(0, 0, -0.7); - barrel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - } + + GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); + + if(item.getItem() == ModItems.gun_revolver_pip || + item.getItem() == ModItems.gun_revolver_nopip || + item.getItem() == ModItems.gun_revolver_blackjack || + item.getItem() == ModItems.gun_revolver_red) { + GL11.glScalef(0.60F, 0.60F, 0.60F); + } + if(item.getItem() == ModItems.gun_calamity) { + GL11.glScalef(0.75F, 0.75F, 0.75F); + } + if(item.getItem() == ModItems.gun_calamity_dual) { + GL11.glScalef(0.75F, 0.75F, 0.75F); + } + if(item.getItem() == ModItems.gun_lacunae || + item.getItem() == ModItems.gun_minigun || + item.getItem() == ModItems.gun_avenger) { + GL11.glTranslatef(0, -1, 0); + GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); + } + + if(item.getItem() == ModItems.gun_jack) + powerJack.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_spark) + sparkPlug.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_hp) + hppLaserjet.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_euthanasia) + euthanasia.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_defabricator) + defab.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_dash) + dasher.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_twigun) + rgottp.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_revolver_pip || + item.getItem() == ModItems.gun_revolver_nopip || + item.getItem() == ModItems.gun_revolver_blackjack || + item.getItem() == ModItems.gun_revolver_red) + pip.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + + if(item.getItem() == ModItems.gun_calamity) { + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelCalBarrel.png")); + barrel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelCalStock.png")); + stock.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + } + if(item.getItem() == ModItems.gun_calamity_dual) { + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelCalDualStock.png")); + saddle.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelCalBarrel.png")); + GL11.glTranslated(1D/16D * -2, 0, 0); + GL11.glTranslated(0, 0, 0.35); + barrel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + GL11.glTranslated(0, 0, -0.7); + barrel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + } + if(item.getItem() == ModItems.gun_lacunae || + item.getItem() == ModItems.gun_minigun || + item.getItem() == ModItems.gun_avenger) + lacunae.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, f); GL11.glPopMatrix(); + break; default: break; } } diff --git a/com/hbm/render/model/ModelLacunae.java b/com/hbm/render/model/ModelLacunae.java new file mode 100644 index 000000000..396589f87 --- /dev/null +++ b/com/hbm/render/model/ModelLacunae.java @@ -0,0 +1,571 @@ +// Date: 30.12.2018 13:53:06 +// 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.model; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelLacunae extends ModelBase { + // fields + ModelRenderer FrontP1; + ModelRenderer FrontP2; + ModelRenderer FrontP3; + ModelRenderer Barrel1; + ModelRenderer Barrel2; + ModelRenderer Barrel3; + ModelRenderer Barrel4; + ModelRenderer Barrel5; + ModelRenderer Barrel6; + ModelRenderer Brace1; + ModelRenderer Brace2; + ModelRenderer Brace3; + ModelRenderer Brace4; + ModelRenderer Brace5; + ModelRenderer Brace6; + ModelRenderer Brace7; + ModelRenderer Brace8; + ModelRenderer Brace9; + ModelRenderer Brace10; + ModelRenderer Brace11; + ModelRenderer Brace12; + ModelRenderer Disc1; + ModelRenderer Disc2; + ModelRenderer Disc3; + ModelRenderer Disc4; + ModelRenderer Disc5; + ModelRenderer Disc6; + ModelRenderer Disc7; + ModelRenderer Disc8; + ModelRenderer BodyF1; + ModelRenderer BodyF2; + ModelRenderer BodyF3; + ModelRenderer BodyR1; + ModelRenderer BodyR2; + ModelRenderer BodyL1; + ModelRenderer BodyL2; + ModelRenderer BackP1; + ModelRenderer BackP2; + ModelRenderer BackP3; + ModelRenderer Block; + ModelRenderer AchsleF; + ModelRenderer Drum1; + ModelRenderer Drum2; + ModelRenderer DrumT; + ModelRenderer StickBase; + ModelRenderer Stick; + ModelRenderer AchsleB; + ModelRenderer Motor1; + ModelRenderer Motor2; + ModelRenderer Pipe1; + ModelRenderer Frame1; + ModelRenderer Frame2; + ModelRenderer Frame3; + ModelRenderer Frame4; + ModelRenderer Grip; + ModelRenderer Pipe2; + ModelRenderer PipeT; + ModelRenderer Pipe3; + ModelRenderer Pipe4; + ModelRenderer AmmoFrame; + ModelRenderer ClampB; + ModelRenderer ClampF; + ModelRenderer AmmoBox; + + public ModelLacunae() { + textureWidth = 128; + textureHeight = 128; + + FrontP1 = new ModelRenderer(this, 0, 52); + FrontP1.addBox(0F, 0F, 0F, 3, 8, 4); + FrontP1.setRotationPoint(-2F, 0F, -2F); + FrontP1.setTextureSize(128, 128); + FrontP1.mirror = true; + setRotation(FrontP1, 0F, 0F, 0F); + FrontP2 = new ModelRenderer(this, 14, 52); + FrontP2.addBox(0F, 0F, 0F, 3, 4, 8); + FrontP2.setRotationPoint(-2F, 2F, -4F); + FrontP2.setTextureSize(128, 128); + FrontP2.mirror = true; + setRotation(FrontP2, 0F, 0F, 0F); + FrontP3 = new ModelRenderer(this, 0, 38); + FrontP3.addBox(0F, 0F, 0F, 3, 7, 7); + FrontP3.setRotationPoint(-2F, 0.5F, -3.5F); + FrontP3.setTextureSize(128, 128); + FrontP3.mirror = true; + setRotation(FrontP3, 0F, 0F, 0F); + Barrel1 = new ModelRenderer(this, 64, 62); + Barrel1.addBox(0F, -2.5F, -0.5F, 31, 1, 1); + Barrel1.setRotationPoint(1F, 4F, 0F); + Barrel1.setTextureSize(128, 128); + Barrel1.mirror = true; + setRotation(Barrel1, 0F, 0F, 0F); + Barrel2 = new ModelRenderer(this, 64, 62); + Barrel2.addBox(0F, -2.5F, -0.5F, 31, 1, 1); + Barrel2.setRotationPoint(1F, 4F, 0F); + Barrel2.setTextureSize(128, 128); + Barrel2.mirror = true; + setRotation(Barrel2, 0.6457718F, 0F, 0F); + Barrel3 = new ModelRenderer(this, 64, 62); + Barrel3.addBox(0F, -2.5F, -0.5F, 31, 1, 1); + Barrel3.setRotationPoint(1F, 4F, 0F); + Barrel3.setTextureSize(128, 128); + Barrel3.mirror = true; + setRotation(Barrel3, 2.268928F, 0F, 0F); + Barrel4 = new ModelRenderer(this, 64, 62); + Barrel4.addBox(0F, -2.5F, -0.5F, 31, 1, 1); + Barrel4.setRotationPoint(1F, 4F, 0F); + Barrel4.setTextureSize(128, 128); + Barrel4.mirror = true; + setRotation(Barrel4, 2.9147F, 0F, 0F); + Barrel5 = new ModelRenderer(this, 64, 62); + Barrel5.addBox(0F, -2.5F, -0.5F, 31, 1, 1); + Barrel5.setRotationPoint(1F, 4F, 0F); + Barrel5.setTextureSize(128, 128); + Barrel5.mirror = true; + setRotation(Barrel5, -1.919862F, 0F, 0F); + Barrel6 = new ModelRenderer(this, 64, 62); + Barrel6.addBox(0F, -2.5F, -0.5F, 31, 1, 1); + Barrel6.setRotationPoint(1F, 4F, 0F); + Barrel6.setTextureSize(128, 128); + Barrel6.mirror = true; + setRotation(Barrel6, -1.27409F, 0F, 0F); + Brace1 = new ModelRenderer(this, 20, 48); + Brace1.addBox(0F, -3F, -1F, 5, 2, 2); + Brace1.setRotationPoint(25F, 4F, 0F); + Brace1.setTextureSize(128, 128); + Brace1.mirror = true; + setRotation(Brace1, 0F, 0F, 0F); + Brace2 = new ModelRenderer(this, 20, 48); + Brace2.addBox(0F, -3F, -1F, 5, 2, 2); + Brace2.setRotationPoint(25F, 4F, 0F); + Brace2.setTextureSize(128, 128); + Brace2.mirror = true; + setRotation(Brace2, 0.6457718F, 0F, 0F); + Brace3 = new ModelRenderer(this, 20, 44); + Brace3.addBox(0F, -3F, -1F, 5, 2, 2); + Brace3.setRotationPoint(4F, 4F, 0F); + Brace3.setTextureSize(128, 128); + Brace3.mirror = true; + setRotation(Brace3, 2.268928F, 0F, 0F); + Brace4 = new ModelRenderer(this, 20, 44); + Brace4.addBox(0F, -3F, -1F, 5, 2, 2); + Brace4.setRotationPoint(4F, 4F, 0F); + Brace4.setTextureSize(128, 128); + Brace4.mirror = true; + setRotation(Brace4, 2.9147F, 0F, 0F); + Brace5 = new ModelRenderer(this, 20, 44); + Brace5.addBox(0F, -3F, -1F, 5, 2, 2); + Brace5.setRotationPoint(4F, 4F, 0F); + Brace5.setTextureSize(128, 128); + Brace5.mirror = true; + setRotation(Brace5, -1.919862F, 0F, 0F); + Brace6 = new ModelRenderer(this, 20, 44); + Brace6.addBox(0F, -3F, -1F, 5, 2, 2); + Brace6.setRotationPoint(4F, 4F, 0F); + Brace6.setTextureSize(128, 128); + Brace6.mirror = true; + setRotation(Brace6, -1.27409F, 0F, 0F); + Brace7 = new ModelRenderer(this, 20, 44); + Brace7.addBox(0F, -3F, -1F, 5, 2, 2); + Brace7.setRotationPoint(4F, 4F, 0F); + Brace7.setTextureSize(128, 128); + Brace7.mirror = true; + setRotation(Brace7, 0F, 0F, 0F); + Brace8 = new ModelRenderer(this, 20, 44); + Brace8.addBox(0F, -3F, -1F, 5, 2, 2); + Brace8.setRotationPoint(4F, 4F, 0F); + Brace8.setTextureSize(128, 128); + Brace8.mirror = true; + setRotation(Brace8, 0.6457718F, 0F, 0F); + Brace9 = new ModelRenderer(this, 20, 48); + Brace9.addBox(0F, -3F, -1F, 5, 2, 2); + Brace9.setRotationPoint(25F, 4F, 0F); + Brace9.setTextureSize(128, 128); + Brace9.mirror = true; + setRotation(Brace9, 2.268928F, 0F, 0F); + Brace10 = new ModelRenderer(this, 20, 48); + Brace10.addBox(0F, -3F, -1F, 5, 2, 2); + Brace10.setRotationPoint(25F, 4F, 0F); + Brace10.setTextureSize(128, 128); + Brace10.mirror = true; + setRotation(Brace10, 2.9147F, 0F, 0F); + Brace11 = new ModelRenderer(this, 20, 48); + Brace11.addBox(0F, -3F, -1F, 5, 2, 2); + Brace11.setRotationPoint(25F, 4F, 0F); + Brace11.setTextureSize(128, 128); + Brace11.mirror = true; + setRotation(Brace11, -1.919862F, 0F, 0F); + Brace12 = new ModelRenderer(this, 20, 48); + Brace12.addBox(0F, -3F, -1F, 5, 2, 2); + Brace12.setRotationPoint(25F, 4F, 0F); + Brace12.setTextureSize(128, 128); + Brace12.mirror = true; + setRotation(Brace12, -1.27409F, 0F, 0F); + Disc1 = new ModelRenderer(this, 36, 54); + Disc1.addBox(0F, -3.5F, -1.5F, 2, 7, 3); + Disc1.setRotationPoint(15F, 4F, 0F); + Disc1.setTextureSize(128, 128); + Disc1.mirror = true; + setRotation(Disc1, 0F, 0F, 0F); + Disc2 = new ModelRenderer(this, 46, 54); + Disc2.addBox(0F, -3.5F, -1.5F, 2, 7, 3); + Disc2.setRotationPoint(15F, 4F, 0F); + Disc2.setTextureSize(128, 128); + Disc2.mirror = true; + setRotation(Disc2, 0.7853982F, 0F, 0F); + Disc3 = new ModelRenderer(this, 36, 44); + Disc3.addBox(0F, -3.5F, -1.5F, 2, 7, 3); + Disc3.setRotationPoint(15F, 4F, 0F); + Disc3.setTextureSize(128, 128); + Disc3.mirror = true; + setRotation(Disc3, 1.570796F, 0F, 0F); + Disc4 = new ModelRenderer(this, 46, 44); + Disc4.addBox(0F, -3.5F, -1.5F, 2, 7, 3); + Disc4.setRotationPoint(15F, 4F, 0F); + Disc4.setTextureSize(128, 128); + Disc4.mirror = true; + setRotation(Disc4, 2.356194F, 0F, 0F); + Disc5 = new ModelRenderer(this, 56, 54); + Disc5.addBox(0F, -3.5F, -1.5F, 1, 7, 3); + Disc5.setRotationPoint(2F, 4F, 0F); + Disc5.setTextureSize(128, 128); + Disc5.mirror = true; + setRotation(Disc5, 0F, 0F, 0F); + Disc6 = new ModelRenderer(this, 56, 44); + Disc6.addBox(0F, -3.5F, -1.5F, 1, 7, 3); + Disc6.setRotationPoint(2F, 4F, 0F); + Disc6.setTextureSize(128, 128); + Disc6.mirror = true; + setRotation(Disc6, 1.570796F, 0F, 0F); + Disc7 = new ModelRenderer(this, 64, 52); + Disc7.addBox(0F, -3.5F, -1.5F, 1, 7, 3); + Disc7.setRotationPoint(2F, 4F, 0F); + Disc7.setTextureSize(128, 128); + Disc7.mirror = true; + setRotation(Disc7, 0.7853982F, 0F, 0F); + Disc8 = new ModelRenderer(this, 72, 52); + Disc8.addBox(0F, -3.5F, -1.5F, 1, 7, 3); + Disc8.setRotationPoint(2F, 4F, 0F); + Disc8.setTextureSize(128, 128); + Disc8.mirror = true; + setRotation(Disc8, 2.356194F, 0F, 0F); + BodyF1 = new ModelRenderer(this, 80, 48); + BodyF1.addBox(0F, 0F, 0F, 7, 10, 4); + BodyF1.setRotationPoint(-9F, -1F, -2F); + BodyF1.setTextureSize(128, 128); + BodyF1.mirror = true; + setRotation(BodyF1, 0F, 0F, 0F); + BodyF2 = new ModelRenderer(this, 64, 34); + BodyF2.addBox(0F, 0F, 0F, 7, 4, 10); + BodyF2.setRotationPoint(-9F, 2F, -5F); + BodyF2.setTextureSize(128, 128); + BodyF2.mirror = true; + setRotation(BodyF2, 0F, 0F, 0F); + BodyF3 = new ModelRenderer(this, 98, 32); + BodyF3.addBox(0F, 0F, 0F, 7, 8, 8); + BodyF3.setRotationPoint(-9F, 0F, -4F); + BodyF3.setTextureSize(128, 128); + BodyF3.mirror = true; + setRotation(BodyF3, 0F, 0F, 0F); + BodyR1 = new ModelRenderer(this, 102, 55); + BodyR1.addBox(0F, 0F, 0F, 8, 4, 3); + BodyR1.setRotationPoint(-9.5F, 4.5F, -6F); + BodyR1.setTextureSize(128, 128); + BodyR1.mirror = true; + setRotation(BodyR1, 0F, 0F, 0F); + BodyR2 = new ModelRenderer(this, 102, 48); + BodyR2.addBox(0F, 0F, 0F, 8, 3, 4); + BodyR2.setRotationPoint(-9.5F, 5F, -6.5F); + BodyR2.setTextureSize(128, 128); + BodyR2.mirror = true; + setRotation(BodyR2, 0F, 0F, 0F); + BodyL1 = new ModelRenderer(this, 106, 17); + BodyL1.addBox(0F, 0F, 0F, 8, 4, 3); + BodyL1.setRotationPoint(-9.5F, 4.5F, 3F); + BodyL1.setTextureSize(128, 128); + BodyL1.mirror = true; + setRotation(BodyL1, 0F, 0F, 0F); + BodyL2 = new ModelRenderer(this, 104, 10); + BodyL2.addBox(0F, 0F, 0F, 8, 3, 4); + BodyL2.setRotationPoint(-9.5F, 5F, 2.5F); + BodyL2.setTextureSize(128, 128); + BodyL2.mirror = true; + setRotation(BodyL2, 0F, 0F, 0F); + BackP1 = new ModelRenderer(this, 54, 32); + BackP1.addBox(0F, 0F, 0F, 1, 8, 4); + BackP1.setRotationPoint(-10F, 0F, -2F); + BackP1.setTextureSize(128, 128); + BackP1.mirror = true; + setRotation(BackP1, 0F, 0F, 0F); + BackP2 = new ModelRenderer(this, 36, 32); + BackP2.addBox(0F, 0F, 0F, 1, 4, 8); + BackP2.setRotationPoint(-10F, 2F, -4F); + BackP2.setTextureSize(128, 128); + BackP2.mirror = true; + setRotation(BackP2, 0F, 0F, 0F); + BackP3 = new ModelRenderer(this, 20, 30); + BackP3.addBox(0F, 0F, 0F, 1, 7, 7); + BackP3.setRotationPoint(-10F, 0.5F, -3.5F); + BackP3.setTextureSize(128, 128); + BackP3.mirror = true; + setRotation(BackP3, 0F, 0F, 0F); + Block = new ModelRenderer(this, 98, 64); + Block.addBox(0F, 0F, 0F, 5, 9, 10); + Block.setRotationPoint(-27F, -1F, -5F); + Block.setTextureSize(128, 128); + Block.mirror = true; + setRotation(Block, 0F, 0F, 0F); + AchsleF = new ModelRenderer(this, 0, 34); + AchsleF.addBox(0F, 0F, 0F, 1, 2, 2); + AchsleF.setRotationPoint(-22F, 3F, -1F); + AchsleF.setTextureSize(128, 128); + AchsleF.mirror = true; + setRotation(AchsleF, 0F, 0F, 0F); + Drum1 = new ModelRenderer(this, 100, 24); + Drum1.addBox(0F, 0F, 0F, 11, 5, 3); + Drum1.setRotationPoint(-21F, 1.5F, -1.5F); + Drum1.setTextureSize(128, 128); + Drum1.mirror = true; + setRotation(Drum1, 0F, 0F, 0F); + Drum2 = new ModelRenderer(this, 96, 2); + Drum2.addBox(0F, 0F, 0F, 11, 3, 5); + Drum2.setRotationPoint(-21F, 2.5F, -2.5F); + Drum2.setTextureSize(128, 128); + Drum2.mirror = true; + setRotation(Drum2, 0F, 0F, 0F); + DrumT = new ModelRenderer(this, 34, 26); + DrumT.addBox(0F, 0F, 0F, 12, 1, 5); + DrumT.setRotationPoint(-22F, 0F, -2.5F); + DrumT.setTextureSize(128, 128); + DrumT.mirror = true; + setRotation(DrumT, 0F, 0F, 0F); + StickBase = new ModelRenderer(this, 6, 33); + StickBase.addBox(0F, 0F, 0F, 3, 2, 3); + StickBase.setRotationPoint(-26F, -3F, -1.5F); + StickBase.setTextureSize(128, 128); + StickBase.mirror = true; + setRotation(StickBase, 0F, 0F, 0F); + Stick = new ModelRenderer(this, 28, 72); + Stick.addBox(0F, -7F, 0F, 2, 7, 2); + Stick.setRotationPoint(-25.5F, -3F, -1F); + Stick.setTextureSize(128, 128); + Stick.mirror = true; + setRotation(Stick, 0F, 0F, 0.5235988F); + AchsleB = new ModelRenderer(this, 56, 66); + AchsleB.addBox(0F, 0F, 0F, 3, 2, 2); + AchsleB.setRotationPoint(-30F, 3F, -1F); + AchsleB.setTextureSize(128, 128); + AchsleB.mirror = true; + setRotation(AchsleB, 0F, 0F, 0F); + Motor1 = new ModelRenderer(this, 80, 66); + Motor1.addBox(0F, 0F, 0F, 5, 6, 4); + Motor1.setRotationPoint(-35F, 1F, -2F); + Motor1.setTextureSize(128, 128); + Motor1.mirror = true; + setRotation(Motor1, 0F, 0F, 0F); + Motor2 = new ModelRenderer(this, 76, 76); + Motor2.addBox(0F, 0F, 0F, 5, 4, 6); + Motor2.setRotationPoint(-35F, 2F, -3F); + Motor2.setTextureSize(128, 128); + Motor2.mirror = true; + setRotation(Motor2, 0F, 0F, 0F); + Pipe1 = new ModelRenderer(this, 62, 64); + Pipe1.addBox(0F, 0F, 0F, 16, 1, 1); + Pipe1.setRotationPoint(-23F, -1F, -6F); + Pipe1.setTextureSize(128, 128); + Pipe1.mirror = true; + setRotation(Pipe1, 0F, 0F, 0.2617994F); + Frame1 = new ModelRenderer(this, 0, 103); + Frame1.addBox(0F, 0F, 0F, 1, 1, 11); + Frame1.setRotationPoint(-1F, -2F, -5.5F); + Frame1.setTextureSize(128, 128); + Frame1.mirror = true; + setRotation(Frame1, 0F, 0F, 0F); + Frame2 = new ModelRenderer(this, 24, 73); + Frame2.addBox(0F, 0F, 0F, 1, 5, 1); + Frame2.setRotationPoint(-1F, -1.5F, -6F); + Frame2.setTextureSize(128, 128); + Frame2.mirror = true; + setRotation(Frame2, 0F, 0F, 0F); + Frame3 = new ModelRenderer(this, 28, 70); + Frame3.addBox(0F, 0F, 0F, 6, 1, 1); + Frame3.setRotationPoint(-6.5F, 3F, -6F); + Frame3.setTextureSize(128, 128); + Frame3.mirror = true; + setRotation(Frame3, 0F, 0F, 0F); + Frame4 = new ModelRenderer(this, 52, 66); + Frame4.addBox(0F, 0F, 0F, 1, 3, 1); + Frame4.setRotationPoint(-1F, -1.5F, 5F); + Frame4.setTextureSize(128, 128); + Frame4.mirror = true; + setRotation(Frame4, 0F, 0F, 0F); + Grip = new ModelRenderer(this, 0, 95); + Grip.addBox(0F, 0F, 0F, 2, 2, 6); + Grip.setRotationPoint(-3F, 0F, 5F); + Grip.setTextureSize(128, 128); + Grip.mirror = true; + setRotation(Grip, 0F, 0F, 0F); + Pipe2 = new ModelRenderer(this, 28, 68); + Pipe2.addBox(-11F, 0F, 0F, 11, 1, 1); + Pipe2.setRotationPoint(-26F, -1F, -6F); + Pipe2.setTextureSize(128, 128); + Pipe2.mirror = true; + setRotation(Pipe2, 0F, 0F, -0.6108652F); + PipeT = new ModelRenderer(this, 0, 84); + PipeT.addBox(0F, 0F, 0F, 1, 1, 10); + PipeT.setRotationPoint(-34.5F, 4.5F, -5F); + PipeT.setTextureSize(128, 128); + PipeT.mirror = true; + setRotation(PipeT, 0F, 0F, 0F); + Pipe3 = new ModelRenderer(this, 28, 66); + Pipe3.addBox(-11F, 0F, 0F, 11, 1, 1); + Pipe3.setRotationPoint(-26F, -1F, 5F); + Pipe3.setTextureSize(128, 128); + Pipe3.mirror = true; + setRotation(Pipe3, 0F, 0F, -0.6108652F); + Pipe4 = new ModelRenderer(this, 28, 64); + Pipe4.addBox(0F, 0F, 0F, 16, 1, 1); + Pipe4.setRotationPoint(-23F, -1F, 5F); + Pipe4.setTextureSize(128, 128); + Pipe4.mirror = true; + setRotation(Pipe4, 0F, 0F, 0.2617994F); + AmmoFrame = new ModelRenderer(this, 0, 0); + AmmoFrame.addBox(0F, 0F, 0F, 10, 12, 12); + AmmoFrame.setRotationPoint(-21F, 9F, -6F); + AmmoFrame.setTextureSize(128, 128); + AmmoFrame.mirror = true; + setRotation(AmmoFrame, 0F, 0F, 0F); + ClampB = new ModelRenderer(this, 0, 73); + ClampB.addBox(0F, 0F, 0F, 4, 3, 8); + ClampB.setRotationPoint(-25F, 8F, -4F); + ClampB.setTextureSize(128, 128); + ClampB.mirror = true; + setRotation(ClampB, 0F, 0F, 0F); + ClampF = new ModelRenderer(this, 0, 64); + ClampF.addBox(0F, 0F, 0F, 8, 3, 6); + ClampF.setRotationPoint(-11F, 9F, -3F); + ClampF.setTextureSize(128, 128); + ClampF.mirror = true; + setRotation(ClampF, 0F, 0F, 0F); + AmmoBox = new ModelRenderer(this, 44, 0); + AmmoBox.addBox(0F, 0F, 0F, 9, 11, 11); + AmmoBox.setRotationPoint(-20.5F, 9.5F, -5.5F); + AmmoBox.setTextureSize(128, 128); + AmmoBox.mirror = true; + setRotation(AmmoBox, 0F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, float rot) { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + + rot *= 0.0025F; + + Barrel1.rotateAngleX += rot; + Barrel2.rotateAngleX += rot; + Barrel3.rotateAngleX += rot; + Barrel4.rotateAngleX += rot; + Barrel5.rotateAngleX += rot; + Barrel6.rotateAngleX += rot; + Brace1.rotateAngleX += rot; + Brace2.rotateAngleX += rot; + Brace3.rotateAngleX += rot; + Brace4.rotateAngleX += rot; + Brace5.rotateAngleX += rot; + Brace6.rotateAngleX += rot; + Brace7.rotateAngleX += rot; + Brace8.rotateAngleX += rot; + Brace9.rotateAngleX += rot; + Brace10.rotateAngleX += rot; + Brace11.rotateAngleX += rot; + Brace12.rotateAngleX += rot; + Disc1.rotateAngleX += rot; + Disc2.rotateAngleX += rot; + Disc3.rotateAngleX += rot; + Disc4.rotateAngleX += rot; + Disc5.rotateAngleX += rot; + Disc6.rotateAngleX += rot; + Disc7.rotateAngleX += rot; + Disc8.rotateAngleX += rot; + + FrontP1.render(f5); + FrontP2.render(f5); + FrontP3.render(f5); + Barrel1.render(f5); + Barrel2.render(f5); + Barrel3.render(f5); + Barrel4.render(f5); + Barrel5.render(f5); + Barrel6.render(f5); + Brace1.render(f5); + Brace2.render(f5); + Brace3.render(f5); + Brace4.render(f5); + Brace5.render(f5); + Brace6.render(f5); + Brace7.render(f5); + Brace8.render(f5); + Brace9.render(f5); + Brace10.render(f5); + Brace11.render(f5); + Brace12.render(f5); + Disc1.render(f5); + Disc2.render(f5); + Disc3.render(f5); + Disc4.render(f5); + Disc5.render(f5); + Disc6.render(f5); + Disc7.render(f5); + Disc8.render(f5); + BodyF1.render(f5); + BodyF2.render(f5); + BodyF3.render(f5); + BodyR1.render(f5); + BodyR2.render(f5); + BodyL1.render(f5); + BodyL2.render(f5); + BackP1.render(f5); + BackP2.render(f5); + BackP3.render(f5); + Block.render(f5); + AchsleF.render(f5); + Drum1.render(f5); + Drum2.render(f5); + DrumT.render(f5); + StickBase.render(f5); + Stick.render(f5); + AchsleB.render(f5); + Motor1.render(f5); + Motor2.render(f5); + Pipe1.render(f5); + Frame1.render(f5); + Frame2.render(f5); + Frame3.render(f5); + Frame4.render(f5); + Grip.render(f5); + Pipe2.render(f5); + PipeT.render(f5); + Pipe3.render(f5); + Pipe4.render(f5); + AmmoFrame.render(f5); + ClampB.render(f5); + ClampF.render(f5); + AmmoBox.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); + } + +} diff --git a/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java b/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java index a85f04470..8fcb92c92 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java +++ b/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java @@ -3,6 +3,7 @@ package com.hbm.tileentity.machine; import com.hbm.interfaces.IConsumer; import com.hbm.inventory.MachineRecipes; import com.hbm.items.ModItems; +import com.hbm.items.special.ItemBattery; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; @@ -34,7 +35,7 @@ public class TileEntityMachineCentrifuge extends TileEntity implements ISidedInv private static final int[] slots_top = new int[] {0}; private static final int[] slots_bottom = new int[] {2, 3, 4, 5}; - private static final int[] slots_side = new int[] {1}; + private static final int[] slots_side = new int[] {0, 1}; private String customName; @@ -115,7 +116,11 @@ public class TileEntityMachineCentrifuge extends TileEntity implements ISidedInv return false; } - return true; + if(i == 1) { + return itemStack.getItem() instanceof ItemBattery; + } + + return !(itemStack.getItem() instanceof ItemBattery); } @Override diff --git a/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java b/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java index c6421a930..9f073499f 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java +++ b/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java @@ -573,23 +573,23 @@ public class TileEntityMachineReactorLarge extends TileEntity IInventory chest = (IInventory)te; - Item waste = ModItems.waste_uranium; + Item waste = ModItems.waste_uranium_hot; switch(type) { case PLUTONIUM: - waste = ModItems.waste_plutonium; + waste = ModItems.waste_plutonium_hot; break; case MOX: - waste = ModItems.waste_mox; + waste = ModItems.waste_mox_hot; break; case SCHRABIDIUM: - waste = ModItems.waste_schrabidium; + waste = ModItems.waste_schrabidium_hot; break; case THORIUM: - waste = ModItems.waste_thorium; + waste = ModItems.waste_thorium_hot; break; default: - waste = ModItems.waste_uranium; + waste = ModItems.waste_uranium_hot; break; } diff --git a/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java b/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java index bd2ed9198..a7987049c 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java +++ b/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java @@ -689,7 +689,7 @@ public class TileEntityMachineReactorSmall extends TileEntity worldObj.createExplosion(null, this.xCoord, this.yCoord, this.zCoord, 18.0F, true); ExplosionNukeGeneric.waste(worldObj, this.xCoord, this.yCoord, this.zCoord, 35); - worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord, Blocks.flowing_lava); + worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord, ModBlocks.toxic_block); RadiationSavedData data = RadiationSavedData.getData(worldObj); data.incrementRad(worldObj, xCoord, zCoord, 1000F, 2000F); diff --git a/com/hbm/tileentity/machine/TileEntityWasteDrum.java b/com/hbm/tileentity/machine/TileEntityWasteDrum.java new file mode 100644 index 000000000..c5a90ad1d --- /dev/null +++ b/com/hbm/tileentity/machine/TileEntityWasteDrum.java @@ -0,0 +1,240 @@ +package com.hbm.tileentity.machine; + +import java.util.Arrays; + +import com.hbm.items.ModItems; +import com.hbm.items.tool.ItemCassette.SoundType; +import com.hbm.items.tool.ItemCassette.TrackType; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.TESirenPacket; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; + +public class TileEntityWasteDrum extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + + private static final int[] slots_arr = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; + + public boolean lock = false; + + private String customName; + + public TileEntityWasteDrum() { + slots = new ItemStack[12]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.wasteDrum"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 1; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; + } + } + + //You scrubs aren't needed for anything (right now) + @Override + public void openInventory() {} + @Override + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + + Item item = itemStack.getItem(); + + return item == ModItems.waste_mox_hot || + item == ModItems.waste_plutonium_hot || + item == ModItems.waste_schrabidium_hot || + item == ModItems.waste_thorium_hot || + item == ModItems.waste_uranium_hot; + } + + @Override + public ItemStack decrStackSize(int i, int j) { + if(slots[i] != null) + { + if(slots[i].stackSize <= j) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } + ItemStack itemStack1 = slots[i].splitStack(j); + if (slots[i].stackSize == 0) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte)i); + slots[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("items", list); + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) + { + return slots_arr; + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + + Item item = itemStack.getItem(); + + return item == ModItems.waste_mox || + item == ModItems.waste_plutonium || + item == ModItems.waste_schrabidium || + item == ModItems.waste_thorium || + item == ModItems.waste_uranium; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + int water = 0; + + if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) == Blocks.water || worldObj.getBlock(xCoord + 1, yCoord, zCoord) == Blocks.flowing_water) + water++; + if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) == Blocks.water || worldObj.getBlock(xCoord - 1, yCoord, zCoord) == Blocks.flowing_water) + water++; + if(worldObj.getBlock(xCoord, yCoord + 1, zCoord) == Blocks.water || worldObj.getBlock(xCoord, yCoord + 1, zCoord) == Blocks.flowing_water) + water++; + if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) == Blocks.water || worldObj.getBlock(xCoord, yCoord - 1, zCoord) == Blocks.flowing_water) + water++; + if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) == Blocks.water || worldObj.getBlock(xCoord, yCoord, zCoord + 1) == Blocks.flowing_water) + water++; + if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) == Blocks.water || worldObj.getBlock(xCoord, yCoord, zCoord - 1) == Blocks.flowing_water) + water++; + + if(water > 0) { + + int r = 60 * 60 * 20 / water; + + for(int i = 0; i < 12; i++) { + + if(worldObj.rand.nextInt(r) == 0) { + + if(slots[i] != null) { + + if(slots[i].getItem() == ModItems.waste_uranium_hot) + slots[i] = new ItemStack(ModItems.waste_uranium); + else if(slots[i].getItem() == ModItems.waste_plutonium_hot) + slots[i] = new ItemStack(ModItems.waste_plutonium); + else if(slots[i].getItem() == ModItems.waste_thorium_hot) + slots[i] = new ItemStack(ModItems.waste_thorium); + else if(slots[i].getItem() == ModItems.waste_mox_hot) + slots[i] = new ItemStack(ModItems.waste_mox); + else if(slots[i].getItem() == ModItems.waste_schrabidium_hot) + slots[i] = new ItemStack(ModItems.waste_schrabidium); + } + } + } + } + } + } +}