mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
gunbase framework, gun and bullet config classes
This commit is contained in:
parent
ed767ef578
commit
6cc0003312
@ -489,6 +489,9 @@ tile.machine_rtg_cyan.name=Schrabidium-Zerfallsenergie-Generator (WIP)
|
||||
tile.machine_rtg_blue.name=Konvektionsgenerator
|
||||
tile.machine_rtg_purple.name=Paarvernichtungsgenerator
|
||||
|
||||
tile.machine_waste_drum.name=Abklingbecken-Trommel
|
||||
container.wasteDrum=Abklingbecken-Trommel
|
||||
|
||||
tile.machine_spp_bottom.name=NPE-Potentialgenerator (Unterteil)
|
||||
tile.machine_spp_top.name=NPE-Potentialgenerator (Oberteil)
|
||||
|
||||
@ -598,6 +601,8 @@ item.plate_saturnite.name=Saturnitplatte
|
||||
|
||||
item.solid_fuel.name=Festbrennstoff
|
||||
|
||||
item.nugget_th232.name=Th232-Nugget
|
||||
item.nugget_u233.name=U233-Nugget
|
||||
item.nugget_u235.name=U235-Nugget
|
||||
item.nugget_u238.name=U238-Nugget
|
||||
item.nugget_pu238.name=Pu238-Nugget
|
||||
@ -669,6 +674,7 @@ tile.block_sulfur.name=Schwefelblock
|
||||
tile.block_titanium.name=Titanblock
|
||||
tile.block_tungsten.name=Wolframblock
|
||||
tile.block_uranium.name=Uranblock
|
||||
tile.block_thorium.name=Thoriumblock
|
||||
tile.block_trinitite.name=Trinititblock
|
||||
tile.block_beryllium.name=Berylliumblock
|
||||
tile.block_waste.name=Atommüllblock
|
||||
@ -694,6 +700,7 @@ tile.ore_sulfur.name=Schwefelerz
|
||||
tile.ore_titanium.name=Titanerz
|
||||
tile.ore_tungsten.name=Wolframerz
|
||||
tile.ore_uranium.name=Uranerz
|
||||
tile.ore_thorium.name=Thoriumerz
|
||||
tile.ore_schrabidium.name=Schrabidiumerz
|
||||
tile.ore_beryllium.name=Berylliumerz
|
||||
|
||||
@ -995,7 +1002,9 @@ item.fluid_barrel_full.name=Flüssigkeitsfass:
|
||||
item.fluid_barrel_infinite.name=Unendliches Fass
|
||||
|
||||
item.rod_empty.name=Leerer Brennstab
|
||||
item.rod_th232.name=Th232-Brennstab
|
||||
item.rod_uranium.name=Uranbrennstab
|
||||
item.rod_u233.name=U233-Brennstab
|
||||
item.rod_u235.name=U235-Brennstab
|
||||
item.rod_u238.name=U238-Brennstab
|
||||
item.rod_plutonium.name=Plutoniumbrennstab
|
||||
@ -1015,7 +1024,9 @@ item.rod_daffergon.name=Daffergonbrennstab
|
||||
item.rod_verticium.name=Verticiumbrennstab
|
||||
|
||||
item.rod_dual_empty.name=Leerer Doppelbrennstab
|
||||
item.rod_dual_th232.name=Th232-Doppelbrennstab
|
||||
item.rod_dual_uranium.name=Urandoppelbrennstab
|
||||
item.rod_dual_u233.name=U233-Doppelbrennstab
|
||||
item.rod_dual_u235.name=U235-Doppelbrennstab
|
||||
item.rod_dual_u238.name=U238-Doppelbrennstab
|
||||
item.rod_dual_plutonium.name=Plutoniumdoppelbrennstab
|
||||
@ -1028,7 +1039,9 @@ item.rod_dual_schrabidium.name=Sa326-Doppelbrennstab
|
||||
item.rod_dual_solinium.name=Sa327-Doppelbrennstab
|
||||
|
||||
item.rod_quad_empty.name=Leerer Vierfachbrennstab
|
||||
item.rod_quad_th232.name=Th232-Vierfachbrennstab
|
||||
item.rod_quad_uranium.name=Uranvierfachbrennstab
|
||||
item.rod_quad_u233.name=U233-Vierfachbrennstab
|
||||
item.rod_quad_u235.name=U235-Vierfachbrennstab
|
||||
item.rod_quad_u238.name=U238-Vierfachbrennstab
|
||||
item.rod_quad_plutonium.name=Plutoniumvierfachbrennstab
|
||||
@ -1043,6 +1056,9 @@ item.rod_quad_solinium.name=Sa327-Vierfachbrennstab
|
||||
item.rod_uranium_fuel_depleted.name=Erschöpfte Urankernbrennstoffzelle
|
||||
item.rod_dual_uranium_fuel_depleted.name=Erschöpfte Urandoppelkernbrennstoffzelle
|
||||
item.rod_quad_uranium_fuel_depleted.name=Erschöpfte Uranvierfachkernbrennstoffzelle
|
||||
item.rod_thorium_fuel_depleted.name=Erschöpfte Thoriumkernbrennstoffzelle
|
||||
item.rod_dual_thorium_fuel_depleted.name=Erschöpfte Thoriumdoppelkernbrennstoffzelle
|
||||
item.rod_quad_thorium_fuel_depleted.name=Erschöpfte Thoriumvierfachkernbrennstoffzelle
|
||||
item.rod_plutonium_fuel_depleted.name=Erschöpfte Plutoniumkernbrennstoffzelle
|
||||
item.rod_dual_plutonium_fuel_depleted.name=Erschöpfte Plutoniumdoppelkernbrennstoffzelle
|
||||
item.rod_quad_plutonium_fuel_depleted.name=Erschöpfte Plutoniumvierfachkernbrennstoffzelle
|
||||
@ -1107,6 +1123,7 @@ tile.waste_planks.name=Verkohlte Holzbretter
|
||||
|
||||
item.trinitite.name=Trinitit
|
||||
item.nuclear_waste.name=Atommüll
|
||||
item.nuclear_waste_tiny.name=Kleiner Haufen Atommüll
|
||||
item.waste_uranium.name=Erschöpfter Urankernbrennstoff
|
||||
item.waste_thorium.name=Erschöpfter Thoriumkernbrennstoff
|
||||
item.waste_plutonium.name=Erschöpfter Plutoniumkernbrennstoff
|
||||
@ -1126,6 +1143,7 @@ item.ingot_mox_fuel.name=MOX-Kernbrennstoffbarren
|
||||
item.ingot_schrabidium_fuel.name=Schrabidiumkernbrennstoffbarren
|
||||
|
||||
item.nugget_uranium_fuel.name=Urankernbrennstoffnugget
|
||||
item.nugget_thorium_fuel.name=Thoriumkernbrennstoffnugget
|
||||
item.nugget_plutonium_fuel.name=Plutoniumkernbrennstoffnugget
|
||||
item.nugget_mox_fuel.name=MOX-Kernbrennstoffnugget
|
||||
item.nugget_schrabidium_fuel.name=Schrabidiumkernbrennstoffnugget
|
||||
@ -1177,6 +1195,9 @@ item.grenade_if_null.name=IF - Null-Granate
|
||||
item.rod_uranium_fuel.name=Urankernbrennstoffzelle
|
||||
item.rod_dual_uranium_fuel.name=Doppelte Urankernbrennstoffzelle
|
||||
item.rod_quad_uranium_fuel.name=Vierfache Urankernbrennstoffzelle
|
||||
item.rod_thorium_fuel.name=Thoriumkernbrennstoffzelle
|
||||
item.rod_dual_thorium_fuel.name=Doppelte Thoriumkernbrennstoffzelle
|
||||
item.rod_quad_thorium_fuel.name=Vierfache Thoriumkernbrennstoffzelle
|
||||
item.rod_plutonium_fuel.name=Plutoniumkernbrennstoffzelle
|
||||
item.rod_dual_plutonium_fuel.name=Doppelte Plutoniumkernbrennstoffzelle
|
||||
item.rod_quad_plutonium_fuel.name=Vierfache Plutoniumkernbrennstoffzelle
|
||||
@ -1358,6 +1379,7 @@ item.clip_emp.name=Magnetsteifen mit Energiezellen
|
||||
item.clip_revolver_nightmare.name=Sack voll Kugeln
|
||||
item.clip_revolver_nightmare2.name=Munitionsgürtel mit Laserschrot
|
||||
item.clip_revolver_pip.name=Speedloader mit verdorbenen Patronen
|
||||
item.clip_revolver_nopip.name=.44 Magnum Patronen
|
||||
item.clip_stinger.name=Dreierpack Stinger-Raketen
|
||||
item.clip_jack.name=12x70 Vierfache Schrotpatronenbox
|
||||
item.clip_spark.name=Große Elektromagnetische Katusche
|
||||
@ -1679,6 +1701,11 @@ tile.vent_chlorine.name=Chlorgas-Auslass
|
||||
tile.vent_cloud.name=Wolken-Auslass
|
||||
tile.vent_pink_cloud.name=Pinker Wolken-Auslass
|
||||
|
||||
tile.absorber.name=Strahlungs-Absorber
|
||||
tile.absorber_red.name=Verbesserter Strahlungs-Absorber
|
||||
tile.absorber_green.name=Fortgeschrittener Strahlungs-Absorber
|
||||
tile.absorber_pink.name=Elite Strahlungs-Absorber
|
||||
|
||||
item.schrabidium_hammer.name=Schrabidiumhammer
|
||||
item.shimmer_sledge.name=Shimmer Sledge
|
||||
item.shimmer_axe.name=Shimmer Axe
|
||||
|
||||
@ -489,6 +489,9 @@ tile.machine_rtg_cyan.name=Schrabidium Decay Generator (WIP)
|
||||
tile.machine_rtg_blue.name=Convection Generator
|
||||
tile.machine_rtg_purple.name=Antimatter Annihilation Generator
|
||||
|
||||
tile.machine_waste_drum.name=Spent Fuel Pool Drum
|
||||
container.wasteDrum=Spent Fuel Pool Drum
|
||||
|
||||
tile.machine_spp_bottom.name=ZPE Potential Generator (Bottom)
|
||||
tile.machine_spp_top.name=ZPE Potential Generator (Top)
|
||||
|
||||
@ -598,6 +601,8 @@ item.plate_saturnite.name=Saturnite Plate
|
||||
|
||||
item.solid_fuel.name=Solid Fuel
|
||||
|
||||
item.nugget_th232.name=Th232 Nugget
|
||||
item.nugget_u233.name=U233 Nugget
|
||||
item.nugget_u235.name=U235 Nugget
|
||||
item.nugget_u238.name=U238 Nugget
|
||||
item.nugget_pu238.name=Pu238 Nugget
|
||||
@ -669,6 +674,7 @@ tile.block_sulfur.name=Block of Sulfur
|
||||
tile.block_titanium.name=Block of Titanium
|
||||
tile.block_tungsten.name=Block of Tungsten
|
||||
tile.block_uranium.name=Block of Uranium
|
||||
tile.block_thorium.name=Block of Thorium
|
||||
tile.block_trinitite.name=Block of Trinitite
|
||||
tile.block_beryllium.name=Block of Beryllium
|
||||
tile.block_waste.name=Block of Nuclear Waste
|
||||
@ -694,6 +700,7 @@ tile.ore_sulfur.name=Sulfur Ore
|
||||
tile.ore_titanium.name=Titanium Ore
|
||||
tile.ore_tungsten.name=Tungsten Ore
|
||||
tile.ore_uranium.name=Uranium Ore
|
||||
tile.ore_thorium.name=Thorium Ore
|
||||
tile.ore_schrabidium.name=Schrabidium Ore
|
||||
tile.ore_beryllium.name=Beryllium Ore
|
||||
|
||||
@ -995,7 +1002,9 @@ item.fluid_barrel_full.name=Fluid Barrel:
|
||||
item.fluid_barrel_infinite.name=Infinite Fluid Barrel
|
||||
|
||||
item.rod_empty.name=Empty Rod
|
||||
item.rod_th232.name=Th232 Rod
|
||||
item.rod_uranium.name=Uranium Rod
|
||||
item.rod_u233.name=U233 Rod
|
||||
item.rod_u235.name=U235 Rod
|
||||
item.rod_u238.name=U238 Rod
|
||||
item.rod_plutonium.name=Plutonium Rod
|
||||
@ -1015,7 +1024,9 @@ item.rod_daffergon.name=Daffergon Rod
|
||||
item.rod_verticium.name=Verticium Rod
|
||||
|
||||
item.rod_dual_empty.name=Empty Dual Rod
|
||||
item.rod_dual_th232.name=Th232 Dual Rod
|
||||
item.rod_dual_uranium.name=Uranium Dual Fuel Rod
|
||||
item.rod_dual_u233.name=U233 Dual Rod
|
||||
item.rod_dual_u235.name=U235 Dual Rod
|
||||
item.rod_dual_u238.name=U238 Dual Rod
|
||||
item.rod_dual_plutonium.name=Plutonium Dual Rod
|
||||
@ -1028,7 +1039,9 @@ item.rod_dual_schrabidium.name=Sa326 Dual Rod
|
||||
item.rod_dual_solinium.name=Sa327 Dual Rod
|
||||
|
||||
item.rod_quad_empty.name=Empty Quad Rod
|
||||
item.rod_quad_th232.name=Th232 Quad Rod
|
||||
item.rod_quad_uranium.name=Uranium Quad Rod
|
||||
item.rod_quad_u233.name=U233 Quad Rod
|
||||
item.rod_quad_u235.name=U235 Quad Rod
|
||||
item.rod_quad_u238.name=U238 Quad Rod
|
||||
item.rod_quad_plutonium.name=Plutonium Quad Rod
|
||||
@ -1043,6 +1056,9 @@ item.rod_quad_solinium.name=Sa327 Quad Rod
|
||||
item.rod_uranium_fuel_depleted.name=Depleted Uranium Fuel Rod
|
||||
item.rod_dual_uranium_fuel_depleted.name=Depleted Uranium Dual Fuel Rod
|
||||
item.rod_quad_uranium_fuel_depleted.name=Depleted Uranium Quad Fuel Rod
|
||||
item.rod_thorium_fuel_depleted.name=Depleted Thorium Fuel Rod
|
||||
item.rod_dual_thorium_fuel_depleted.name=Depleted Thorium Dual Fuel Rod
|
||||
item.rod_quad_thorium_fuel_depleted.name=Depleted Thorium Quad Fuel Rod
|
||||
item.rod_plutonium_fuel_depleted.name=Depleted Plutonium Fuel Rod
|
||||
item.rod_dual_plutonium_fuel_depleted.name=Depleted Plutonium Dual Fuel Rod
|
||||
item.rod_quad_plutonium_fuel_depleted.name=Depleted Plutonium Quad Fuel Rod
|
||||
@ -1107,6 +1123,7 @@ tile.waste_planks.name=Charred Wooden Planks
|
||||
|
||||
item.trinitite.name=Trinitite
|
||||
item.nuclear_waste.name=Nuclear Waste
|
||||
item.nuclear_waste_tiny.name=Tiny Pile of Nuclear Waste
|
||||
item.waste_uranium.name=Depleted Uranium Fuel
|
||||
item.waste_thorium.name=Depleted Thorium Fuel
|
||||
item.waste_plutonium.name=Depleted Plutonium Fuel
|
||||
@ -1126,6 +1143,7 @@ item.ingot_mox_fuel.name=Ingot of MOX Fuel
|
||||
item.ingot_schrabidium_fuel.name=Ingot of Schrabidium Fuel
|
||||
|
||||
item.nugget_uranium_fuel.name=Nugget of Uranium Fuel
|
||||
item.nugget_thorium_fuel.name=Nugget of Thorium Fuel
|
||||
item.nugget_plutonium_fuel.name=Nugget of Plutonium Fuel
|
||||
item.nugget_mox_fuel.name=Nugget of MOX Fuel
|
||||
item.nugget_schrabidium_fuel.name=Nugget of Schrabidium Fuel
|
||||
@ -1177,6 +1195,9 @@ item.grenade_if_null.name=IF - Null Grenade
|
||||
item.rod_uranium_fuel.name=Uranium Fuel Rod
|
||||
item.rod_dual_uranium_fuel.name=Uranium Dual Fuel Rod
|
||||
item.rod_quad_uranium_fuel.name=Uranium Quad Fuel Rod
|
||||
item.rod_thorium_fuel.name=Thorium Fuel Rod
|
||||
item.rod_dual_thorium_fuel.name=Thorium Dual Fuel Rod
|
||||
item.rod_quad_thorium_fuel.name=Thorium Quad Fuel Rod
|
||||
item.rod_plutonium_fuel.name=Plutonium Fuel Rod
|
||||
item.rod_dual_plutonium_fuel.name=Plutonium Dual Fuel Rod
|
||||
item.rod_quad_plutonium_fuel.name=Plutonium Quad Fuel Rod
|
||||
@ -1358,6 +1379,7 @@ item.clip_emp.name=Small Pack of Energy Cells
|
||||
item.clip_revolver_nightmare.name=Bag of Bullets
|
||||
item.clip_revolver_nightmare2.name=Belt with Laser Buckshot
|
||||
item.clip_revolver_pip.name=Speedloader with Tainted Bullets
|
||||
item.clip_revolver_nopip.name=Box of .44 Rounds
|
||||
item.clip_stinger.name=Pack of Stinger Rockets
|
||||
item.clip_jack.name=Box of Quadruple 12x70 Buckshot Rounds
|
||||
item.clip_spark.name=Large Electromagnetic Cartridge
|
||||
@ -1679,6 +1701,11 @@ tile.vent_chlorine.name=Chlorine Vent
|
||||
tile.vent_cloud.name=Cloud Vent
|
||||
tile.vent_pink_cloud.name=Pink Cloud Vent
|
||||
|
||||
tile.absorber.name=Radiation Absorber
|
||||
tile.absorber_red.name=Enhanced Radiation Absorber
|
||||
tile.absorber_green.name=Advanced Radiation Absorber
|
||||
tile.absorber_pink.name=Elite Radiation Absorber
|
||||
|
||||
item.schrabidium_hammer.name=Schrabidium Hammer
|
||||
item.shimmer_sledge.name=Shimmer Sledge
|
||||
item.shimmer_axe.name=Shimmer Axe
|
||||
|
||||
BIN
assets/hbm/textures/items/folly_bullet.png
Normal file
BIN
assets/hbm/textures/items/folly_bullet.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 162 B |
BIN
assets/hbm/textures/items/folly_shell.png
Normal file
BIN
assets/hbm/textures/items/folly_shell.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 210 B |
BIN
assets/hbm/textures/items/gun_folly_ammo.png
Normal file
BIN
assets/hbm/textures/items/gun_folly_ammo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 296 B |
Binary file not shown.
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
@ -120,17 +120,17 @@ public class ToxicBlock extends BlockFluidClassic {
|
||||
super.onNeighborBlockChange(world, x, y, z, block);
|
||||
|
||||
if(reactToBlocks(world, x + 1, y, z))
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_0);
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_slaked);
|
||||
if(reactToBlocks(world, x - 1, y, z))
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_0);
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_slaked);
|
||||
if(reactToBlocks(world, x, y + 1, z))
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_0);
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_slaked);
|
||||
if(reactToBlocks(world, x, y - 1, z))
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_0);
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_slaked);
|
||||
if(reactToBlocks(world, x, y, z + 1))
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_0);
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_slaked);
|
||||
if(reactToBlocks(world, x, y, z - 1))
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_0);
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_slaked);
|
||||
}
|
||||
|
||||
public boolean reactToBlocks(World world, int x, int y, int z) {
|
||||
|
||||
39
com/hbm/entity/projectile/EntityBulletBase.java
Normal file
39
com/hbm/entity/projectile/EntityBulletBase.java
Normal file
@ -0,0 +1,39 @@
|
||||
package com.hbm.entity.projectile;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.IProjectile;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityBulletBase extends Entity implements IProjectile {
|
||||
|
||||
public EntityBulletBase(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_,
|
||||
float p_70186_8_) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void entityInit() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void readEntityFromNBT(NBTTagCompound p_70037_1_) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void writeEntityToNBT(NBTTagCompound p_70014_1_) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -4,6 +4,21 @@ import net.minecraft.item.Item;
|
||||
|
||||
public class BulletConfiguration {
|
||||
|
||||
//what item this specific configuration consumes
|
||||
public Item ammo;
|
||||
|
||||
//damage bounds
|
||||
public float dmgMin;
|
||||
public float dmgMax;
|
||||
|
||||
//whether the projectile should be able to bounce off of blocks
|
||||
public boolean doesRicochet;
|
||||
//the maximum angle at which the projectile should bounce
|
||||
public double ricochetAngle;
|
||||
|
||||
//whether or not the bullet should penetrate mobs
|
||||
public boolean doesPenetrate;
|
||||
//whether or not the bullet should break glass
|
||||
public boolean doesBreakGlass;
|
||||
|
||||
}
|
||||
|
||||
@ -6,22 +6,25 @@ 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;
|
||||
//spread of bullets in gaussian range
|
||||
public float spread;
|
||||
|
||||
//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;
|
||||
//whether there is a warmup duration for spinup
|
||||
public boolean hasSpinup;
|
||||
//whether there is a cooldown duration for spindown
|
||||
public boolean hasSpindown;
|
||||
|
||||
//how long the reload animation will play
|
||||
public int reloadDuration;
|
||||
@ -32,8 +35,10 @@ public class GunConfiguration {
|
||||
public int ammoCap;
|
||||
//0 does not allow direct reload, 1 is full clip, 2 is single bullet
|
||||
public int reloadType;
|
||||
//whether or not the infinity enchantment should work
|
||||
public boolean allowsInfinity;
|
||||
|
||||
public List<BulletConfiguration> bConfig;
|
||||
public List<BulletConfiguration> altConfig;
|
||||
//bullet configs for main and alt fire
|
||||
public List<BulletConfiguration> config;
|
||||
|
||||
}
|
||||
|
||||
@ -74,7 +74,7 @@ public class ItemBattery extends Item {
|
||||
return EnumRarity.common;
|
||||
}
|
||||
|
||||
public void chargeBattery(ItemStack stack, int i) {
|
||||
public void chargeBattery(ItemStack stack, long i) {
|
||||
if(stack.getItem() instanceof ItemBattery) {
|
||||
if(stack.hasTagCompound()) {
|
||||
stack.stackTagCompound.setLong("charge", stack.stackTagCompound.getLong("charge") + i);
|
||||
@ -85,7 +85,7 @@ public class ItemBattery extends Item {
|
||||
}
|
||||
}
|
||||
|
||||
public void setCharge(ItemStack stack, int i) {
|
||||
public void setCharge(ItemStack stack, long i) {
|
||||
if(stack.getItem() instanceof ItemBattery) {
|
||||
if(stack.hasTagCompound()) {
|
||||
stack.stackTagCompound.setLong("charge", i);
|
||||
@ -96,7 +96,7 @@ public class ItemBattery extends Item {
|
||||
}
|
||||
}
|
||||
|
||||
public void dischargeBattery(ItemStack stack, int i) {
|
||||
public void dischargeBattery(ItemStack stack, long i) {
|
||||
if(stack.getItem() instanceof ItemBattery) {
|
||||
if(stack.hasTagCompound()) {
|
||||
stack.stackTagCompound.setLong("charge", stack.stackTagCompound.getLong("charge") - i);
|
||||
|
||||
@ -674,19 +674,6 @@ public class ItemCustomLore extends ItemRadioactive {
|
||||
if(this == ModItems.key_red)
|
||||
{
|
||||
if(MainRegistry.polaroidID == 11) {
|
||||
list.add("ard lock is ~10%5Success ra");
|
||||
list.add("Antimatter +15");
|
||||
list.add("ced resource scanner.27Production x4 / Co");
|
||||
list.add("this == ModItems.watch || this == ModI");
|
||||
list.add("list.add(\"Woo, scary!\");");
|
||||
list.add(EnumChatFormatting.OBFUSCATED + "//list.add(\"Blue horse beats yellow horse, look it up!\");");
|
||||
list.add("ion -60 / Delay +1019All hail");
|
||||
list.add("bank angle bank angle bank angle");
|
||||
list.add("'M");
|
||||
list.add("");
|
||||
list.add("bank angle bank angle bank angle");
|
||||
list.add("bank angle bank angle bank angle");
|
||||
list.add("");
|
||||
list.add(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "e");
|
||||
} else {
|
||||
list.add("Explore the other side.");
|
||||
|
||||
@ -7,6 +7,7 @@ import com.google.common.collect.Multimap;
|
||||
import com.hbm.entity.projectile.EntityBullet;
|
||||
import com.hbm.interfaces.IHoldableWeapon;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.enchantment.EnchantmentHelper;
|
||||
@ -17,6 +18,7 @@ import net.minecraft.item.EnumAction;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.event.entity.player.ArrowNockEvent;
|
||||
|
||||
@ -31,7 +33,7 @@ public class GunLacunae extends Item implements IHoldableWeapon {
|
||||
|
||||
@Override
|
||||
public EnumAction getItemUseAction(ItemStack par1ItemStack) {
|
||||
return EnumAction.bow;
|
||||
return EnumAction.none;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -100,14 +102,28 @@ public class GunLacunae extends Item implements IHoldableWeapon {
|
||||
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!");
|
||||
|
||||
if(this == ModItems.gun_lacunae) {
|
||||
list.add("Whoa, wait, what's that sound? Do you hear that?");
|
||||
list.add("I think that's silence! That's the sound people make");
|
||||
list.add("when everyone trying to kill me is dead!");
|
||||
list.add("And I have a minigun!");
|
||||
}
|
||||
|
||||
list.add("");
|
||||
list.add("Ammo: 5mm Round");
|
||||
list.add("Damage: 5");
|
||||
}
|
||||
|
||||
public String getItemStackDisplayName(ItemStack stack)
|
||||
{
|
||||
|
||||
if(this == ModItems.gun_lacunae && MainRegistry.polaroidID == 11)
|
||||
return "CZ97 Lacunae";
|
||||
|
||||
return super.getItemStackDisplayName(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Multimap getItemAttributeModifiers() {
|
||||
Multimap multimap = super.getItemAttributeModifiers();
|
||||
|
||||
@ -278,7 +278,9 @@ public class GunRevolver extends Item {
|
||||
list.add("Damage: 25 - 35");
|
||||
}
|
||||
if (this == ModItems.gun_revolver_blackjack) {
|
||||
list.add("Hol on-");
|
||||
list.add("Contents under pressure.");
|
||||
list.add("Extremely volatile.");
|
||||
list.add("Handle with care!");
|
||||
list.add("");
|
||||
list.add("Ammo: .44 Magnum");
|
||||
list.add("Damage: 35 - 45");
|
||||
|
||||
@ -1,9 +1,193 @@
|
||||
package com.hbm.items.weapon;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import org.lwjgl.input.Mouse;
|
||||
|
||||
import com.hbm.handler.GunConfiguration;
|
||||
import com.hbm.interfaces.IHoldableWeapon;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ItemGunBase extends Item implements IHoldableWeapon {
|
||||
|
||||
private GunConfiguration mainConfig;
|
||||
private GunConfiguration altConfig;
|
||||
|
||||
@Override
|
||||
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
|
||||
return stack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean isCurrentItem) {
|
||||
|
||||
if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) {
|
||||
|
||||
boolean left = getIsMouseDown(stack);
|
||||
boolean right = getIsAltDown(stack);
|
||||
|
||||
if(left && right) {
|
||||
//TODO: stop both with packet
|
||||
setIsMouseDown(stack, false);
|
||||
setIsAltDown(stack, false);
|
||||
}
|
||||
|
||||
if(!left && !right) {
|
||||
if(Mouse.isButtonDown(0)) {
|
||||
//TODO: start with packet
|
||||
setIsMouseDown(stack, true);
|
||||
} else if(Mouse.isButtonDown(0)) {
|
||||
//TODO: start with packet
|
||||
setIsAltDown(stack, true);
|
||||
}
|
||||
}
|
||||
|
||||
if(left && !Mouse.isButtonDown(0)) {
|
||||
//TODO: stop with packet
|
||||
setIsMouseDown(stack, false);
|
||||
}
|
||||
|
||||
if(right && !Mouse.isButtonDown(1)) {
|
||||
//TODO: stop with packet
|
||||
setIsAltDown(stack, false);
|
||||
}
|
||||
|
||||
if(mainConfig.reloadType != 0 || (altConfig != null && altConfig.reloadType != 0)) {
|
||||
|
||||
if(Keyboard.isKeyDown(Keyboard.KEY_R)) {
|
||||
|
||||
}
|
||||
//TODO: reload with packet
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//called every time the gun shoots
|
||||
private void fire(ItemStack stack, World world, EntityPlayer player) {
|
||||
|
||||
}
|
||||
|
||||
//called on right click
|
||||
private void startAction(ItemStack stack, World world, EntityPlayer player, boolean main) {
|
||||
|
||||
}
|
||||
|
||||
//called on right click release
|
||||
private void endAction(ItemStack stack, World world, EntityPlayer player, boolean main) {
|
||||
|
||||
}
|
||||
|
||||
//reload action, if existent
|
||||
private void reload(ItemStack stack, World world, EntityPlayer player) {
|
||||
|
||||
}
|
||||
|
||||
//item mouseover text
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
|
||||
|
||||
}
|
||||
|
||||
/// if reloading routine is active ///
|
||||
public static void setIsReloading(ItemStack stack, boolean b) {
|
||||
writeNBT(stack, "isReloading", b ? 1 : 0);
|
||||
}
|
||||
|
||||
public static boolean getIsReloading(ItemStack stack) {
|
||||
return readNBT(stack, "isReloading") == 1;
|
||||
}
|
||||
|
||||
/// if left mouse button is down ///
|
||||
public static void setIsMouseDown(ItemStack stack, boolean b) {
|
||||
writeNBT(stack, "isMouseDown", b ? 1 : 0);
|
||||
}
|
||||
|
||||
public static boolean getIsMouseDown(ItemStack stack) {
|
||||
return readNBT(stack, "isMouseDown") == 1;
|
||||
}
|
||||
|
||||
/// if alt mouse button is down ///
|
||||
public static void setIsAltDown(ItemStack stack, boolean b) {
|
||||
writeNBT(stack, "isMouseDown", b ? 1 : 0);
|
||||
}
|
||||
|
||||
public static boolean getIsAltDown(ItemStack stack) {
|
||||
return readNBT(stack, "isMouseDown") == 1;
|
||||
}
|
||||
|
||||
/// RoF cooldown ///
|
||||
public static void setDelay(ItemStack stack, int i) {
|
||||
writeNBT(stack, "dlay", i);
|
||||
}
|
||||
|
||||
public static int getDelay(ItemStack stack) {
|
||||
return readNBT(stack, "dlay");
|
||||
}
|
||||
|
||||
/// R/W cycle animation timer ///
|
||||
public static void setCycleAnim(ItemStack stack, int i) {
|
||||
writeNBT(stack, "cycle", i);
|
||||
}
|
||||
|
||||
public static int getCycleAnim(ItemStack stack) {
|
||||
return readNBT(stack, "cycle");
|
||||
}
|
||||
|
||||
/// R/W reload animation timer ///
|
||||
public static void setReloadAnim(ItemStack stack, int i) {
|
||||
writeNBT(stack, "reload", i);
|
||||
}
|
||||
|
||||
public static int getReloadAnim(ItemStack stack) {
|
||||
return readNBT(stack, "reload");
|
||||
}
|
||||
|
||||
/// magazine capacity ///
|
||||
public static void setMag(ItemStack stack, int i) {
|
||||
writeNBT(stack, "magazine", i);
|
||||
}
|
||||
|
||||
public static int getMag(ItemStack stack) {
|
||||
return readNBT(stack, "magazine");
|
||||
}
|
||||
|
||||
/// magazine type (int specified by index in bullet config list) ///
|
||||
public static void setMagType(ItemStack stack, int i) {
|
||||
writeNBT(stack, "magazineType", i);
|
||||
}
|
||||
|
||||
public static int getMagType(ItemStack stack) {
|
||||
return readNBT(stack, "magazineType");
|
||||
}
|
||||
|
||||
/// NBT utility ///
|
||||
private static void writeNBT(ItemStack stack, String key, int value) {
|
||||
|
||||
if(!stack.hasTagCompound())
|
||||
stack.stackTagCompound = new NBTTagCompound();
|
||||
|
||||
stack.stackTagCompound.setInteger(key, value);
|
||||
}
|
||||
|
||||
private static int readNBT(ItemStack stack, String key) {
|
||||
|
||||
if(!stack.hasTagCompound())
|
||||
return 0;
|
||||
|
||||
return stack.stackTagCompound.getInteger(key);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -656,13 +656,15 @@ public class Library {
|
||||
if(slots[index] != null && slots[index].getItem() instanceof ItemBattery) {
|
||||
|
||||
long dR = ((ItemBattery)slots[index].getItem()).getChargeRate();
|
||||
|
||||
System.out.println(dR + "");
|
||||
|
||||
while(dR >= 1000000000000L) {
|
||||
if(power - 100000000000000L >= 0 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge())
|
||||
{
|
||||
power -= 100000000000000L;
|
||||
dR -= 1000000000000L;
|
||||
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
|
||||
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1000000000000L);
|
||||
} else break;
|
||||
}
|
||||
while(dR >= 1000000000) {
|
||||
@ -670,7 +672,7 @@ public class Library {
|
||||
{
|
||||
power -= 100000000000L;
|
||||
dR -= 1000000000;
|
||||
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
|
||||
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1000000000);
|
||||
} else break;
|
||||
}
|
||||
while(dR >= 1000000) {
|
||||
@ -678,7 +680,7 @@ public class Library {
|
||||
{
|
||||
power -= 100000000;
|
||||
dR -= 1000000;
|
||||
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
|
||||
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1000000);
|
||||
} else break;
|
||||
}
|
||||
while(dR >= 1000) {
|
||||
@ -686,7 +688,7 @@ public class Library {
|
||||
{
|
||||
power -= 100000;
|
||||
dR -= 1000;
|
||||
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
|
||||
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1000);
|
||||
} else break;
|
||||
}
|
||||
while(dR >= 1) {
|
||||
@ -768,7 +770,7 @@ public class Library {
|
||||
{
|
||||
power += 100000000000000L;
|
||||
dR -= 1000000000000L;
|
||||
((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1);
|
||||
((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1000000000000L);
|
||||
} else break;
|
||||
}
|
||||
while(dR >= 1000000000) {
|
||||
@ -776,7 +778,7 @@ public class Library {
|
||||
{
|
||||
power += 100000000000L;
|
||||
dR -= 1000000000L;
|
||||
((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1);
|
||||
((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1000000000);
|
||||
} else break;
|
||||
}
|
||||
while(dR >= 1000000) {
|
||||
@ -784,7 +786,7 @@ public class Library {
|
||||
{
|
||||
power += 100000000L;
|
||||
dR -= 1000000;
|
||||
((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1);
|
||||
((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1000000);
|
||||
} else break;
|
||||
}
|
||||
while(dR >= 1000) {
|
||||
@ -792,7 +794,7 @@ public class Library {
|
||||
{
|
||||
power += 100000L;
|
||||
dR -= 1000;
|
||||
((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1);
|
||||
((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1000);
|
||||
} else break;
|
||||
}
|
||||
while(dR >= 1) {
|
||||
|
||||
@ -605,9 +605,10 @@ public class CraftingManager {
|
||||
//GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_well), 1), new Object[] { "TPM", "GPG", "GDG", 'T', ModItems.tank_steel, 'P', ModItems.pipes_steel, 'M', ModItems.motor, 'G', ModBlocks.steel_scaffold, 'D', ModItems.drill_titanium });
|
||||
//GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_flare), 1), new Object[] { "UHU", "GPG", "GTG", 'U', ModItems.thermo_element, 'H', ModItems.hull_small_steel, 'G', ModBlocks.steel_scaffold, 'P', ModItems.pipes_steel, 'T', ModItems.tank_steel });
|
||||
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_refinery), 1), new Object[] { "PTP", "CTC", "WFW", 'P', "plateTitanium", 'T', ModItems.tank_steel, 'C', ModItems.coil_tungsten, 'W', ModBlocks.red_wire_coated, 'F', ModBlocks.machine_electric_furnace_off }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.crate_iron), 1), new Object[] { "PPP", "I I", "III", 'P', "plateIron", 'I', "ingotIron" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.crate_steel), 1), new Object[] { "PPP", "I I", "III", 'P', "plateSteel", 'I', "ingotSteel" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.safe), 1), new Object[] { "LAL", "ACA", "LAL", 'L', "plateLead", 'A', "plateAdvanced", 'C', ModBlocks.crate_steel }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.crate_iron, 1), new Object[] { "PPP", "I I", "III", 'P', "plateIron", 'I', "ingotIron" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.crate_steel, 1), new Object[] { "PPP", "I I", "III", 'P', "plateSteel", 'I', "ingotSteel" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.safe, 1), new Object[] { "LAL", "ACA", "LAL", 'L', "plateLead", 'A', "plateAdvanced", 'C', ModBlocks.crate_steel }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_waste_drum, 1), new Object[] { "LRL", "BRB", "LRL", 'L', "ingotLead", 'B', Blocks.iron_bars, 'R', ModItems.rod_quad_empty }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_press, 1), new Object[] { "IRI", "IPI", "IBI", 'I', "ingotIron", 'R', Blocks.furnace, 'B', "blockIron", 'P', Blocks.piston }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_siren, 1), new Object[] { "SIS", "ICI", "SRS", 'S', "plateSteel", 'I', ModItems.plate_polymer, 'C', ModItems.circuit_copper, 'R', "dustRedstone" }));
|
||||
|
||||
@ -840,7 +841,7 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_lead, 16), new Object[] { " I", "GC", " P", 'I', ModItems.ingot_u235, 'G', Items.gunpowder, 'C', "paneGlassColorless", 'P', ModItems.primer_357 }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_lead, 16), new Object[] { " I", "GC", " P", 'I', ModItems.ingot_pu239, 'G', Items.gunpowder, 'C', "paneGlassColorless", 'P', ModItems.primer_357 }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_lead, 16), new Object[] { " I", "GC", " P", 'I', ModItems.trinitite, 'G', Items.gunpowder, 'C', "paneGlassColorless", 'P', ModItems.primer_357 }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_lead, 16), new Object[] { " I", "GC", " P", 'I', ModItems.nuclear_waste, 'G', Items.gunpowder, 'C', "paneGlassColorless", 'P', ModItems.primer_357 }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_lead, 16), new Object[] { " I", "GC", " P", 'I', ModItems.nuclear_waste_tiny, 'G', Items.gunpowder, 'C', "paneGlassColorless", 'P', ModItems.primer_357 }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_gold, 16), new Object[] { " I", "GC", " P", 'I', "ingotGold", 'G', Items.gunpowder, 'C', ModItems.casing_357, 'P', ModItems.primer_357 }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_schrabidium, 16), new Object[] { " I ", "GCN", " P ", 'I', "ingotSchrabidium", 'G', Items.gunpowder, 'C', ModItems.casing_357, 'P', ModItems.primer_357, 'N', Items.nether_star }));
|
||||
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 }));
|
||||
@ -1430,6 +1431,14 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.custom_fall, 1), new Object[] { "IIP", "CHW", "IIP", 'I', ModItems.plate_polymer, 'P', "plateSaturnite", 'C', ModItems.circuit_red_copper, 'H', ModItems.hull_small_steel, 'W', ModItems.coil_copper }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.reactor_sensor, 1), new Object[] { "WPW", "CMC", "PPP", 'W', ModItems.wire_tungsten, 'P', "plateLead", 'C', ModItems.circuit_targeting_tier3, 'M', ModItems.magnetron }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_controller, 1), new Object[] { "PGP", "ICI", "PRP", 'P', "plateDesh", 'G', "paneGlass", 'I', "ingotPolymer", 'R', "blockRedstone", 'C', ModItems.circuit_targeting_tier4 }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_minigun, 1), new Object[] { "PIB", "PCM", "PIB", 'P', ModItems.pipes_steel, 'B', "blockSteel", 'I', "ingotPolymer", 'C', ModItems.mechanism_rifle_2, 'M', ModItems.motor }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_avenger, 1), new Object[] { "PIB", "PCM", "PIB", 'P', ModItems.pipes_steel, 'B', "blockBeryllium", 'I', "ingotDesh", 'C', ModItems.mechanism_rifle_2, 'M', ModItems.motor }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.gun_lacunae, 1), new Object[] { "TIT", "ILI", "PRP", 'T', ModItems.syringe_taint, 'I', ModItems.ingot_starmetal, 'L', ModItems.gun_minigun, 'P', ModItems.pellet_rtg, 'R', ModBlocks.machine_rtg_grey });
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.absorber, 1), new Object[] { "ICI", "CPC", "ICI", 'I', "ingotCopper", 'C', "dustCoal", 'P', "dustLead" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.absorber_red, 1), new Object[] { "ICI", "CPC", "ICI", 'I', "ingotTitanium", 'C', "dustCoal", 'P', ModBlocks.absorber }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.absorber_green, 1), new Object[] { "ICI", "CPC", "ICI", 'I', "ingotPolymer", 'C', ModItems.powder_desh_mix, 'P', ModBlocks.absorber_red }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.absorber_pink, 1), new Object[] { "ICI", "CPC", "ICI", 'I', ModItems.ingot_saturnite, 'C', ModItems.powder_nitan_mix, 'P', ModBlocks.absorber_green });
|
||||
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.assembly_template, 1, OreDictionary.WILDCARD_VALUE) });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.chemistry_template, 1, OreDictionary.WILDCARD_VALUE) });
|
||||
|
||||
@ -128,49 +128,75 @@ public class AuxButtonPacket implements IMessage {
|
||||
if(m.id == 1)
|
||||
control.auto = m.value == 1;
|
||||
|
||||
TileEntity reac = p.worldObj.getTileEntity(control.linkX, control.linkY, control.linkZ);
|
||||
if(control.linkY > -1) {
|
||||
TileEntity reac = p.worldObj.getTileEntity(control.linkX, control.linkY, control.linkZ);
|
||||
|
||||
if (reac instanceof TileEntityMachineReactorSmall) {
|
||||
TileEntityMachineReactorSmall reactor = (TileEntityMachineReactorSmall)reac;
|
||||
|
||||
System.out.println(m.id + "/" + m.value);
|
||||
|
||||
if(m.id == 0)
|
||||
reactor.retracting = m.value == 0;
|
||||
|
||||
if(m.id == 2) {
|
||||
FluidType type = FluidType.STEAM;
|
||||
int fill = reactor.tanks[2].getFill();
|
||||
|
||||
switch(m.value) {
|
||||
case 0: type = FluidType.STEAM; fill = (int)Math.floor(fill * 100); break;
|
||||
case 1: type = FluidType.HOTSTEAM; fill = (int)Math.floor(fill / 10D); break;
|
||||
case 2: type = FluidType.SUPERHOTSTEAM; fill = (int)Math.floor(fill / 10D); break;
|
||||
}
|
||||
|
||||
if(fill > reactor.tanks[2].getMaxFill())
|
||||
fill = reactor.tanks[2].getMaxFill();
|
||||
|
||||
reactor.tanks[2].setTankType(type);
|
||||
reactor.tanks[2].setFill(fill);
|
||||
}
|
||||
}
|
||||
|
||||
if (reac instanceof TileEntityMachineReactorLarge) {
|
||||
TileEntityMachineReactorLarge reactor = (TileEntityMachineReactorLarge)reac;
|
||||
|
||||
if(m.id == 0) {
|
||||
reactor.rods = m.value;
|
||||
}
|
||||
|
||||
if(m.id == 2) {
|
||||
FluidType type = FluidType.STEAM;
|
||||
int fill = reactor.tanks[2].getFill();
|
||||
|
||||
switch(m.value) {
|
||||
case 0: type = FluidType.STEAM; fill = (int)Math.floor(fill * 100); break;
|
||||
case 1: type = FluidType.HOTSTEAM; fill = (int)Math.floor(fill / 10D); break;
|
||||
case 2: type = FluidType.SUPERHOTSTEAM; fill = (int)Math.floor(fill / 10D); break;
|
||||
}
|
||||
|
||||
if(fill > reactor.tanks[2].getMaxFill())
|
||||
fill = reactor.tanks[2].getMaxFill();
|
||||
|
||||
reactor.tanks[2].setTankType(type);
|
||||
reactor.tanks[2].setFill(fill);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (reac instanceof TileEntityMachineReactorSmall) {
|
||||
TileEntityMachineReactorSmall reactor = (TileEntityMachineReactorSmall)reac;
|
||||
|
||||
System.out.println(m.id + "/" + m.value);
|
||||
if (te instanceof TileEntityMachineReactorLarge) {
|
||||
TileEntityMachineReactorLarge reactor = (TileEntityMachineReactorLarge)te;
|
||||
|
||||
if(m.id == 0)
|
||||
reactor.retracting = m.value == 0;
|
||||
|
||||
if(m.id == 2) {
|
||||
FluidType type = FluidType.STEAM;
|
||||
int fill = reactor.tanks[2].getFill();
|
||||
|
||||
switch(m.value) {
|
||||
case 0: type = FluidType.STEAM; fill = (int)Math.floor(fill * 100); break;
|
||||
case 1: type = FluidType.HOTSTEAM; fill = (int)Math.floor(fill / 10D); break;
|
||||
case 2: type = FluidType.SUPERHOTSTEAM; fill = (int)Math.floor(fill / 10D); break;
|
||||
}
|
||||
|
||||
if(fill > reactor.tanks[2].getMaxFill())
|
||||
fill = reactor.tanks[2].getMaxFill();
|
||||
|
||||
reactor.tanks[2].setTankType(type);
|
||||
reactor.tanks[2].setFill(fill);
|
||||
}
|
||||
}
|
||||
|
||||
if (reac instanceof TileEntityMachineReactorLarge) {
|
||||
TileEntityMachineReactorLarge reactor = (TileEntityMachineReactorLarge)reac;
|
||||
|
||||
if(m.id == 0) {
|
||||
reactor.rods = m.value;
|
||||
}
|
||||
|
||||
if(m.id == 2) {
|
||||
if(m.id == 1) {
|
||||
FluidType type = FluidType.STEAM;
|
||||
int fill = reactor.tanks[2].getFill();
|
||||
|
||||
switch(m.value) {
|
||||
case 0: type = FluidType.STEAM; fill = (int)Math.floor(fill * 100); break;
|
||||
case 1: type = FluidType.HOTSTEAM; fill = (int)Math.floor(fill / 10D); break;
|
||||
case 2: type = FluidType.SUPERHOTSTEAM; fill = (int)Math.floor(fill / 10D); break;
|
||||
case 0: type = FluidType.HOTSTEAM; fill = (int)Math.floor(fill / 10D); break;
|
||||
case 1: type = FluidType.SUPERHOTSTEAM; fill = (int)Math.floor(fill / 10D); break;
|
||||
case 2: type = FluidType.STEAM; fill = (int)Math.floor(fill * 100); break;
|
||||
}
|
||||
|
||||
if(fill > reactor.tanks[2].getMaxFill())
|
||||
@ -182,30 +208,6 @@ public class AuxButtonPacket implements IMessage {
|
||||
}
|
||||
}
|
||||
|
||||
if (te instanceof TileEntityMachineReactorLarge) {
|
||||
TileEntityMachineReactorLarge reactor = (TileEntityMachineReactorLarge)te;
|
||||
|
||||
if(m.id == 0)
|
||||
reactor.rods = m.value;
|
||||
|
||||
if(m.id == 1) {
|
||||
FluidType type = FluidType.STEAM;
|
||||
int fill = reactor.tanks[2].getFill();
|
||||
|
||||
switch(m.value) {
|
||||
case 0: type = FluidType.HOTSTEAM; fill = (int)Math.floor(fill / 10D); break;
|
||||
case 1: type = FluidType.SUPERHOTSTEAM; fill = (int)Math.floor(fill / 10D); break;
|
||||
case 2: type = FluidType.STEAM; fill = (int)Math.floor(fill * 100); break;
|
||||
}
|
||||
|
||||
if(fill > reactor.tanks[2].getMaxFill())
|
||||
fill = reactor.tanks[2].getMaxFill();
|
||||
|
||||
reactor.tanks[2].setTankType(type);
|
||||
reactor.tanks[2].setFill(fill);
|
||||
}
|
||||
}
|
||||
|
||||
//} catch (Exception x) { }
|
||||
|
||||
return null;
|
||||
|
||||
@ -136,8 +136,9 @@ public class ItemRenderOverkill implements IItemRenderer {
|
||||
if(item.getItem() == ModItems.gun_lacunae ||
|
||||
item.getItem() == ModItems.gun_minigun ||
|
||||
item.getItem() == ModItems.gun_avenger) {
|
||||
GL11.glRotatef(-15.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glRotatef(180, 0, 1, 0);
|
||||
GL11.glTranslatef(0.0F, 0.3F, -0.2F);
|
||||
GL11.glTranslatef(0.5F, 0.3F, -0.2F);
|
||||
}
|
||||
|
||||
if(item.getItem() == ModItems.gun_jack)
|
||||
@ -250,7 +251,8 @@ public class ItemRenderOverkill implements IItemRenderer {
|
||||
if(item.getItem() == ModItems.gun_lacunae ||
|
||||
item.getItem() == ModItems.gun_minigun ||
|
||||
item.getItem() == ModItems.gun_avenger) {
|
||||
GL11.glRotatef(180, 0, 1, 0);
|
||||
GL11.glRotatef(5.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glRotatef(185, 0, 1, 0);
|
||||
GL11.glTranslatef(0.5F, 0.6F, 0.2F);
|
||||
}
|
||||
|
||||
|
||||
@ -53,7 +53,9 @@ public class ItemRenderUZI implements IItemRenderer {
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glScalef(0.25F, 0.25F, 0.25F);
|
||||
GL11.glTranslatef(-2.2F, -0.2F, -0.9F);
|
||||
GL11.glTranslatef(-2.5F, -0.5F, -0.9F);
|
||||
|
||||
GL11.glRotatef(-15.0F, 0.0F, 0.0F, 1.0F);
|
||||
|
||||
if(item.getItem() == ModItems.gun_uzi || item.getItem() == ModItems.gun_uzi_silencer)
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUzi.png"));
|
||||
@ -75,17 +77,43 @@ public class ItemRenderUZI implements IItemRenderer {
|
||||
GL11.glPopMatrix();
|
||||
break;
|
||||
case EQUIPPED:
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
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.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F);
|
||||
|
||||
GL11.glScalef(0.5F, 0.5F, 0.5F);
|
||||
|
||||
GL11.glTranslatef(0.2F, -0.8F, -1.0F);
|
||||
|
||||
if(item.getItem() == ModItems.gun_uzi || item.getItem() == ModItems.gun_uzi_silencer)
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUzi.png"));
|
||||
if(item.getItem() == ModItems.gun_uzi_saturnite || item.getItem() == ModItems.gun_uzi_saturnite_silencer)
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUziSaturnite.png"));
|
||||
uzi.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
|
||||
|
||||
if(item.getItem() == ModItems.gun_uzi || item.getItem() == ModItems.gun_uzi_saturnite) {
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUziBarrel.png"));
|
||||
barrel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
|
||||
}
|
||||
|
||||
if(item.getItem() == ModItems.gun_uzi_silencer || item.getItem() == ModItems.gun_uzi_saturnite_silencer) {
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUziSilencer.png"));
|
||||
silencer.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
|
||||
}
|
||||
|
||||
GL11.glPopMatrix();
|
||||
break;
|
||||
case ENTITY:
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
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.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
|
||||
|
||||
GL11.glScalef(0.5F, 0.5F, 0.5F);
|
||||
|
||||
GL11.glTranslatef(0.2F, -0.8F, -1.0F);
|
||||
GL11.glTranslatef(0.0F, -1.0F, 0.0F);
|
||||
|
||||
if(item.getItem() == ModItems.gun_uzi || item.getItem() == ModItems.gun_uzi_silencer)
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelUzi.png"));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user